summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorH.J. Lu <hjl.tools@gmail.com>2015-07-06 10:29:14 -0700
committerH.J. Lu <hjl.tools@gmail.com>2015-07-06 10:29:14 -0700
commite20a38c9e67e588fedbf220036a8750266cb5b2b (patch)
tree87d7c3add5d352b11765fc3257b73b87095e3cdb
parent5970313314836bc8535412e4c7616fd81f2ed3b8 (diff)
parent0d0214fa7bbd83e751eff2955f26388de70672ef (diff)
downloadbinutils-gdb-e20a38c9e67e588fedbf220036a8750266cb5b2b.tar.gz
Merge remote-tracking branch 'origin/users/hjl/linux/master' into users/hjl/linux/applied
-rw-r--r--ChangeLog7
-rw-r--r--Makefile.in140
-rw-r--r--Makefile.tpl20
-rw-r--r--bfd/ChangeLog374
-rw-r--r--bfd/bfd-in.h5
-rw-r--r--bfd/bfd-in2.h26
-rw-r--r--bfd/bfd.c9
-rw-r--r--bfd/cofflink.c22
-rwxr-xr-xbfd/configure20
-rw-r--r--bfd/doc/ChangeLog5
-rw-r--r--bfd/doc/Makefile.am44
-rw-r--r--bfd/doc/Makefile.in44
-rw-r--r--bfd/elf-bfd.h87
-rw-r--r--bfd/elf-eh-frame.c672
-rw-r--r--bfd/elf.c136
-rw-r--r--bfd/elf32-arm.c2
-rw-r--r--bfd/elf32-i386.c51
-rw-r--r--bfd/elf32-msp430.c71
-rw-r--r--bfd/elf32-ppc.c53
-rw-r--r--bfd/elf32-rl78.c3
-rw-r--r--bfd/elf64-x86-64.c225
-rw-r--r--bfd/elflink.c371
-rw-r--r--bfd/elfnn-aarch64.c197
-rw-r--r--bfd/elfxx-aarch64.c93
-rw-r--r--bfd/elfxx-mips.c53
-rw-r--r--bfd/elfxx-mips.h5
-rw-r--r--bfd/elfxx-target.h10
-rw-r--r--bfd/libbfd.h4
-rw-r--r--bfd/libpei.h4
-rw-r--r--bfd/peXXigen.c2
-rw-r--r--bfd/peicode.h100
-rw-r--r--bfd/reloc.c15
-rw-r--r--bfd/section.c1
-rw-r--r--bfd/version.h2
-rw-r--r--bfd/version.m42
-rw-r--r--binutils/ChangeLog39
-rwxr-xr-xbinutils/configure20
-rw-r--r--binutils/dlltool.c4
-rw-r--r--binutils/doc/binutils.texi9
-rw-r--r--binutils/dwarf.c18
-rw-r--r--binutils/objdump.c25
-rw-r--r--binutils/readelf.c21
-rw-r--r--binutils/testsuite/ChangeLog10
-rw-r--r--binutils/testsuite/binutils-all/dw2-3.S2
-rw-r--r--binutils/testsuite/lib/binutils-common.exp7
-rw-r--r--binutils/unwind-ia64.c90
-rw-r--r--binutils/unwind-ia64.h2
-rw-r--r--config/ChangeLog15
-rw-r--r--config/mh-darwin31
-rw-r--r--config/picflag.m412
-rw-r--r--gas/ChangeLog217
-rw-r--r--gas/NEWS8
-rw-r--r--gas/as.c10
-rw-r--r--gas/as.h3
-rw-r--r--gas/config/obj-elf.c21
-rw-r--r--gas/config/rl78-parse.y52
-rw-r--r--gas/config/tc-aarch64.c95
-rw-r--r--gas/config/tc-alpha.c5
-rw-r--r--gas/config/tc-arm.c389
-rw-r--r--gas/config/tc-h8300.c2
-rw-r--r--gas/config/tc-hppa.c70
-rw-r--r--gas/config/tc-i386.c2
-rw-r--r--gas/config/tc-mips.c20
-rw-r--r--gas/config/tc-mips.h13
-rw-r--r--gas/config/tc-ppc.c8
-rw-r--r--gas/config/tc-rl78.c5
-rw-r--r--gas/config/tc-rx.c51
-rw-r--r--gas/config/tc-xtensa.c10
-rwxr-xr-xgas/configure20
-rw-r--r--gas/doc/as.texinfo85
-rw-r--r--gas/doc/c-aarch64.texi9
-rw-r--r--gas/doc/c-arm.texi7
-rw-r--r--gas/doc/internals.texi6
-rw-r--r--gas/dw2gencfi.c719
-rw-r--r--gas/dw2gencfi.h54
-rw-r--r--gas/dwarf2dbg.c12
-rw-r--r--gas/read.c2
-rw-r--r--gas/testsuite/ChangeLog170
-rw-r--r--gas/testsuite/gas/aarch64/dwarf.d27
-rw-r--r--gas/testsuite/gas/aarch64/dwarf.s6
-rw-r--r--gas/testsuite/gas/aarch64/ilp32-basic.d2
-rw-r--r--gas/testsuite/gas/aarch64/ilp32-basic.s1
-rw-r--r--gas/testsuite/gas/aarch64/lor-directive.d25
-rw-r--r--gas/testsuite/gas/aarch64/lor.d23
-rw-r--r--gas/testsuite/gas/aarch64/lor.s43
-rw-r--r--gas/testsuite/gas/aarch64/pan-directive.d13
-rw-r--r--gas/testsuite/gas/aarch64/pan.d12
-rw-r--r--gas/testsuite/gas/aarch64/pan.s34
-rw-r--r--gas/testsuite/gas/aarch64/rdma-directive.d70
-rw-r--r--gas/testsuite/gas/aarch64/rdma.d69
-rw-r--r--gas/testsuite/gas/aarch64/rdma.s78
-rw-r--r--gas/testsuite/gas/aarch64/reloc-insn.d34
-rw-r--r--gas/testsuite/gas/aarch64/reloc-insn.s5
-rw-r--r--gas/testsuite/gas/aarch64/sysreg.d23
-rw-r--r--gas/testsuite/gas/aarch64/sysreg.s1
-rw-r--r--gas/testsuite/gas/arm/armv8-a+pan.d11
-rw-r--r--gas/testsuite/gas/arm/armv8-a+pan.s14
-rw-r--r--gas/testsuite/gas/arm/armv8-a+rdma.d77
-rw-r--r--gas/testsuite/gas/arm/armv8-a+rdma.s60
-rw-r--r--gas/testsuite/gas/arm/backslash-at.d18
-rw-r--r--gas/testsuite/gas/arm/backslash-at.s7
-rw-r--r--gas/testsuite/gas/arm/thumb-eabi.d5
-rw-r--r--gas/testsuite/gas/arm/thumb.d5
-rw-r--r--gas/testsuite/gas/arm/thumb.s10
-rw-r--r--gas/testsuite/gas/arm/thumb2_ldr_immediate_armv6.d21
-rw-r--r--gas/testsuite/gas/arm/thumb2_ldr_immediate_armv6.s12
-rw-r--r--gas/testsuite/gas/arm/thumb2_ldr_immediate_armv6t2.d15
-rw-r--r--gas/testsuite/gas/arm/thumb2_ldr_immediate_armv6t2.s12
-rw-r--r--gas/testsuite/gas/arm/tls.d18
-rw-r--r--gas/testsuite/gas/arm/tls.s23
-rw-r--r--gas/testsuite/gas/arm/vfpv2-ldr_immediate.d50
-rw-r--r--gas/testsuite/gas/arm/vfpv2-ldr_immediate.s48
-rw-r--r--gas/testsuite/gas/arm/vfpv3-ldr_immediate.d35
-rw-r--r--gas/testsuite/gas/arm/vfpv3-ldr_immediate.s46
-rw-r--r--gas/testsuite/gas/arm/vfpv3xd-ldr_immediate.d42
-rw-r--r--gas/testsuite/gas/arm/vfpv3xd-ldr_immediate.s47
-rw-r--r--gas/testsuite/gas/elf/elf.exp2
-rw-r--r--gas/testsuite/gas/elf/strtab.d7
-rw-r--r--gas/testsuite/gas/elf/strtab.s8
-rw-r--r--gas/testsuite/gas/i386/avx512f-intel.d64
-rw-r--r--gas/testsuite/gas/i386/avx512f.s32
-rw-r--r--gas/testsuite/gas/i386/evex-lig256-intel.d64
-rw-r--r--gas/testsuite/gas/i386/evex-lig512-intel.d64
-rw-r--r--gas/testsuite/gas/i386/ilp32/x86-64-opcode-inval-intel.d12
-rw-r--r--gas/testsuite/gas/i386/ilp32/x86-64-opcode-inval.d12
-rw-r--r--gas/testsuite/gas/i386/x86-64-avx512f-intel.d224
-rw-r--r--gas/testsuite/gas/i386/x86-64-avx512f.s112
-rw-r--r--gas/testsuite/gas/i386/x86-64-evex-lig256-intel.d224
-rw-r--r--gas/testsuite/gas/i386/x86-64-evex-lig512-intel.d224
-rw-r--r--gas/testsuite/gas/i386/x86-64-opcode-inval-intel.d12
-rw-r--r--gas/testsuite/gas/i386/x86-64-opcode-inval.d12
-rw-r--r--gas/testsuite/gas/ia64/psn.d2
-rw-r--r--gas/testsuite/gas/ia64/xdata-ilp32.d2
-rw-r--r--gas/testsuite/gas/mips/compact-eh-1.s19
-rw-r--r--gas/testsuite/gas/mips/compact-eh-2.s28
-rw-r--r--gas/testsuite/gas/mips/compact-eh-3.s19
-rw-r--r--gas/testsuite/gas/mips/compact-eh-4.s47
-rw-r--r--gas/testsuite/gas/mips/compact-eh-5.s56
-rw-r--r--gas/testsuite/gas/mips/compact-eh-6.s47
-rw-r--r--gas/testsuite/gas/mips/compact-eh-7.s22
-rw-r--r--gas/testsuite/gas/mips/compact-eh-eb-1.d25
-rw-r--r--gas/testsuite/gas/mips/compact-eh-eb-2.d42
-rw-r--r--gas/testsuite/gas/mips/compact-eh-eb-3.d28
-rw-r--r--gas/testsuite/gas/mips/compact-eh-eb-4.d29
-rw-r--r--gas/testsuite/gas/mips/compact-eh-eb-5.d44
-rw-r--r--gas/testsuite/gas/mips/compact-eh-eb-6.d30
-rw-r--r--gas/testsuite/gas/mips/compact-eh-eb-7.d35
-rw-r--r--gas/testsuite/gas/mips/compact-eh-el-1.d25
-rw-r--r--gas/testsuite/gas/mips/compact-eh-el-2.d42
-rw-r--r--gas/testsuite/gas/mips/compact-eh-el-3.d28
-rw-r--r--gas/testsuite/gas/mips/compact-eh-el-4.d29
-rw-r--r--gas/testsuite/gas/mips/compact-eh-el-5.d43
-rw-r--r--gas/testsuite/gas/mips/compact-eh-el-6.d30
-rw-r--r--gas/testsuite/gas/mips/compact-eh-el-7.d35
-rw-r--r--gas/testsuite/gas/mips/compact-eh-err1.l2
-rw-r--r--gas/testsuite/gas/mips/compact-eh-err1.s20
-rw-r--r--gas/testsuite/gas/mips/compact-eh-err2.l2
-rw-r--r--gas/testsuite/gas/mips/compact-eh-err2.s7
-rw-r--r--gas/testsuite/gas/mips/mips.exp18
-rw-r--r--gas/testsuite/gas/mmix/loc-3.d2
-rw-r--r--gas/testsuite/gas/mmix/loc-5.d2
-rw-r--r--gas/testsuite/gas/ppc/a2.d8
-rw-r--r--gas/testsuite/gas/ppc/a2.s2
-rw-r--r--gas/testsuite/gas/ppc/e6500.d2
-rw-r--r--gas/testsuite/gas/ppc/e6500.s6
-rw-r--r--gas/testsuite/gas/ppc/power4.d9
-rw-r--r--gas/testsuite/gas/ppc/power4.s7
-rw-r--r--gas/testsuite/gas/ppc/power8.d6
-rw-r--r--gas/write.c11
-rw-r--r--gdb/ChangeLog1187
-rw-r--r--gdb/MAINTAINERS4
-rw-r--r--gdb/Makefile.in7
-rw-r--r--gdb/NEWS75
-rw-r--r--gdb/aarch64-linux-tdep.c740
-rw-r--r--gdb/aarch64-tdep.c973
-rw-r--r--gdb/aarch64-tdep.h6
-rw-r--r--gdb/ada-lang.c140
-rw-r--r--gdb/amd64-linux-nat.c5
-rw-r--r--gdb/amd64-linux-tdep.c2
-rw-r--r--gdb/amd64-tdep.c10
-rw-r--r--gdb/arch-utils.c17
-rw-r--r--gdb/arch-utils.h6
-rw-r--r--gdb/arm-linux-nat.c288
-rw-r--r--gdb/arm-linux-tdep.c4
-rw-r--r--gdb/arm-tdep.c38
-rw-r--r--gdb/arm-tdep.h5
-rw-r--r--gdb/block.c76
-rw-r--r--gdb/block.h34
-rw-r--r--gdb/breakpoint.c88
-rw-r--r--gdb/breakpoint.h2
-rw-r--r--gdb/build-id.c25
-rw-r--r--gdb/build-id.h2
-rw-r--r--gdb/c-exp.y3
-rw-r--r--gdb/cli/cli-script.c3
-rw-r--r--gdb/cli/cli-utils.c36
-rw-r--r--gdb/cli/cli-utils.h18
-rw-r--r--gdb/coffread.c6
-rw-r--r--gdb/common/buffer.c2
-rw-r--r--gdb/common/common-defs.h2
-rw-r--r--gdb/common/common-utils.c137
-rw-r--r--gdb/common/common-utils.h20
-rw-r--r--gdb/common/fileio.c51
-rw-r--r--gdb/common/fileio.h5
-rw-r--r--gdb/common/filestuff.c21
-rw-r--r--gdb/common/filestuff.h4
-rw-r--r--gdb/common/host-defs.h21
-rw-r--r--gdb/common/print-utils.c2
-rw-r--r--gdb/common/rsp-low.c71
-rw-r--r--gdb/common/rsp-low.h18
-rw-r--r--gdb/compile/compile-c-support.c56
-rw-r--r--gdb/compile/compile-c-symbols.c13
-rw-r--r--gdb/compile/compile-c-types.c2
-rw-r--r--gdb/compile/compile-internal.h4
-rw-r--r--gdb/compile/compile-loc2c.c22
-rw-r--r--gdb/compile/compile-object-load.c313
-rw-r--r--gdb/compile/compile-object-load.h29
-rw-r--r--gdb/compile/compile-object-run.c88
-rw-r--r--gdb/compile/compile.c109
-rw-r--r--gdb/compile/compile.h5
-rw-r--r--gdb/completer.c81
-rw-r--r--gdb/completer.h3
-rw-r--r--gdb/config.in3
-rw-r--r--gdb/config/aarch64/linux.mh2
-rw-r--r--gdb/config/alpha/alpha-linux.mh2
-rw-r--r--gdb/config/arm/linux.mh2
-rw-r--r--gdb/config/i386/linux.mh2
-rw-r--r--gdb/config/i386/linux64.mh2
-rw-r--r--gdb/config/ia64/linux.mh3
-rw-r--r--gdb/config/m32r/linux.mh2
-rw-r--r--gdb/config/m68k/linux.mh2
-rw-r--r--gdb/config/mips/linux.mh2
-rw-r--r--gdb/config/pa/linux.mh2
-rw-r--r--gdb/config/powerpc/linux.mh2
-rw-r--r--gdb/config/powerpc/ppc64-linux.mh3
-rw-r--r--gdb/config/powerpc/spu-linux.mh4
-rw-r--r--gdb/config/s390/linux.mh2
-rw-r--r--gdb/config/sparc/linux.mh2
-rw-r--r--gdb/config/sparc/linux64.mh2
-rw-r--r--gdb/config/tilegx/linux.mh2
-rw-r--r--gdb/config/xtensa/linux.mh2
-rwxr-xr-xgdb/configure2
-rw-r--r--gdb/configure.ac2
-rw-r--r--gdb/configure.tgt2
-rw-r--r--gdb/corefile.c4
-rw-r--r--gdb/cp-namespace.c40
-rw-r--r--gdb/cp-support.c6
-rw-r--r--gdb/cp-support.h3
-rw-r--r--gdb/data-directory/Makefile.in2
-rw-r--r--gdb/dbxread.c35
-rw-r--r--gdb/defs.h29
-rw-r--r--gdb/doc/ChangeLog94
-rw-r--r--gdb/doc/gdb.texinfo268
-rw-r--r--gdb/doc/guile.texi12
-rw-r--r--gdb/doc/python.texi5
-rw-r--r--gdb/doc/stabs.texinfo7
-rw-r--r--gdb/dwarf2-frame-tailcall.c2
-rw-r--r--gdb/dwarf2loc.c11
-rw-r--r--gdb/dwarf2read.c665
-rw-r--r--gdb/elfread.c184
-rw-r--r--gdb/exec.c3
-rw-r--r--gdb/ft32-tdep.c2
-rw-r--r--gdb/gdb-stabs.h17
-rw-r--r--gdb/gdb_bfd.c25
-rw-r--r--gdb/gdbarch.c72
-rw-r--r--gdb/gdbarch.h23
-rwxr-xr-xgdb/gdbarch.sh14
-rw-r--r--gdb/gdbcore.h6
-rw-r--r--gdb/gdbserver/ChangeLog83
-rw-r--r--gdb/gdbserver/Makefile.in5
-rw-r--r--gdb/gdbserver/config.in3
-rwxr-xr-xgdb/gdbserver/configure2
-rw-r--r--gdb/gdbserver/configure.ac2
-rw-r--r--gdb/gdbserver/configure.srv2
-rw-r--r--gdb/gdbserver/gdbreplay.c6
-rw-r--r--gdb/gdbserver/hostio.c78
-rw-r--r--gdb/gdbserver/hostio.h3
-rw-r--r--gdb/gdbserver/linux-aarch64-low.c16
-rw-r--r--gdb/gdbserver/linux-i386-ipa.c1
-rw-r--r--gdb/gdbserver/linux-low.c10
-rw-r--r--gdb/gdbserver/linux-s390-low.c8
-rw-r--r--gdb/gdbserver/linux-x86-low.c9
-rw-r--r--gdb/gdbserver/lynx-i386-low.c2
-rw-r--r--gdb/gdbserver/lynx-ppc-low.c2
-rw-r--r--gdb/gdbserver/mem-break.c2
-rw-r--r--gdb/gdbserver/server.c9
-rw-r--r--gdb/gdbserver/target.h21
-rw-r--r--gdb/gdbserver/thread-db.c2
-rw-r--r--gdb/gdbserver/tracepoint.c2
-rw-r--r--gdb/gdbserver/win32-low.c2
-rw-r--r--gdb/gdbthread.h4
-rw-r--r--gdb/gdbtypes.c39
-rw-r--r--gdb/gdbtypes.h2
-rw-r--r--gdb/go32-nat.c6
-rw-r--r--gdb/guile/scm-ports.c176
-rw-r--r--gdb/guile/scm-utils.c1
-rw-r--r--gdb/hppa-tdep.c11
-rw-r--r--gdb/i386-linux-nat.c6
-rw-r--r--gdb/i386-linux-tdep.c4
-rw-r--r--gdb/i386-tdep.c288
-rw-r--r--gdb/inf-child.c47
-rw-r--r--gdb/infcall.c28
-rw-r--r--gdb/inferior.c2
-rw-r--r--gdb/inferior.h16
-rw-r--r--gdb/infrun.c76
-rw-r--r--gdb/linespec.c22
-rw-r--r--gdb/linux-nat.c117
-rw-r--r--gdb/linux-nat.h4
-rw-r--r--gdb/linux-record.h1
-rw-r--r--gdb/linux-tdep.c70
-rw-r--r--gdb/linux-tdep.h2
-rw-r--r--gdb/linux-thread-db.c12
-rw-r--r--gdb/m68klinux-tdep.c2
-rw-r--r--gdb/mdebugread.c16
-rw-r--r--gdb/mi/mi-main.c56
-rw-r--r--gdb/microblaze-tdep.c26
-rw-r--r--gdb/mips-tdep.c35
-rw-r--r--gdb/monitor.c16
-rw-r--r--gdb/nat/linux-btrace.c2
-rw-r--r--gdb/nat/linux-btrace.h2
-rw-r--r--gdb/nat/linux-namespaces.c1057
-rw-r--r--gdb/nat/linux-namespaces.h76
-rw-r--r--gdb/nat/linux-procfs.c19
-rw-r--r--gdb/nat/linux-procfs.h6
-rw-r--r--gdb/nat/linux-ptrace.c2
-rw-r--r--gdb/nat/linux-ptrace.h8
-rw-r--r--gdb/nat/mips-linux-watch.h2
-rw-r--r--gdb/nios2-tdep.c6
-rw-r--r--gdb/osabi.c84
-rw-r--r--gdb/ppc-linux-nat.c2
-rw-r--r--gdb/ppc-linux-tdep.c2
-rw-r--r--gdb/ppc-sysv-tdep.c31
-rw-r--r--gdb/printcmd.c178
-rw-r--r--gdb/psympriv.h7
-rw-r--r--gdb/psymtab.c36
-rw-r--r--gdb/python/py-lazy-string.c4
-rw-r--r--gdb/python/py-objfile.c7
-rw-r--r--gdb/python/python-internal.h2
-rw-r--r--gdb/reggroups.c29
-rw-r--r--gdb/reggroups.h9
-rw-r--r--gdb/remote-sim.c10
-rw-r--r--gdb/remote.c342
-rw-r--r--gdb/rs6000-tdep.c6
-rw-r--r--gdb/rx-tdep.c25
-rw-r--r--gdb/s390-linux-nat.c9
-rw-r--r--gdb/s390-linux-tdep.c13
-rw-r--r--gdb/score-tdep.c16
-rw-r--r--gdb/sh-tdep.c9
-rw-r--r--gdb/solib-target.c18
-rw-r--r--gdb/solib.c45
-rw-r--r--gdb/sparc-tdep.c4
-rw-r--r--gdb/sparc-tdep.h2
-rw-r--r--gdb/sparc64-tdep.c2
-rw-r--r--gdb/spu-tdep.c7
-rw-r--r--gdb/stabsread.h2
-rw-r--r--gdb/stub-termcap.c2
-rw-r--r--gdb/symtab.c73
-rw-r--r--gdb/syscalls/s390-linux.xml11
-rw-r--r--gdb/syscalls/s390x-linux.xml11
-rw-r--r--gdb/target.c213
-rw-r--r--gdb/target.h145
-rw-r--r--gdb/target/target.h2
-rw-r--r--gdb/testsuite/ChangeLog257
-rw-r--r--gdb/testsuite/boards/remote-gdbserver-on-localhost.exp3
-rw-r--r--gdb/testsuite/gdb.ada/byte_packed_arr.exp32
-rw-r--r--gdb/testsuite/gdb.ada/byte_packed_arr/array_list_g.ads27
-rw-r--r--gdb/testsuite/gdb.ada/byte_packed_arr/reprod.adb22
-rw-r--r--gdb/testsuite/gdb.ada/byte_packed_arr/reprod.ads35
-rw-r--r--gdb/testsuite/gdb.ada/byte_packed_arr/reprod_main.adb23
-rw-r--r--gdb/testsuite/gdb.arch/amd64-prologue-skip.S28
-rw-r--r--gdb/testsuite/gdb.arch/amd64-prologue-skip.exp35
-rw-r--r--gdb/testsuite/gdb.arch/amd64-tailcall-self.S614
-rw-r--r--gdb/testsuite/gdb.arch/amd64-tailcall-self.c40
-rw-r--r--gdb/testsuite/gdb.arch/amd64-tailcall-self.exp31
-rw-r--r--gdb/testsuite/gdb.arch/i386-avx512.c2
-rw-r--r--gdb/testsuite/gdb.arch/i386-avx512.exp2
-rw-r--r--gdb/testsuite/gdb.arch/i386-mpx-map.c93
-rw-r--r--gdb/testsuite/gdb.arch/i386-mpx-map.exp76
-rw-r--r--gdb/testsuite/gdb.arch/i386-mpx.c21
-rw-r--r--gdb/testsuite/gdb.arch/i386-mpx.exp35
-rw-r--r--gdb/testsuite/gdb.arch/powerpc-power.exp4
-rw-r--r--gdb/testsuite/gdb.arch/powerpc-power.s2
-rw-r--r--gdb/testsuite/gdb.base/completion.exp37
-rw-r--r--gdb/testsuite/gdb.base/foll-vfork.exp29
-rw-r--r--gdb/testsuite/gdb.base/gdbhistsize-history.exp70
-rw-r--r--gdb/testsuite/gdb.base/gdbinit-history.exp107
-rw-r--r--gdb/testsuite/gdb.base/gnu_vector.c105
-rw-r--r--gdb/testsuite/gdb.base/gnu_vector.exp52
-rw-r--r--gdb/testsuite/gdb.base/history-duplicates.exp117
-rw-r--r--gdb/testsuite/gdb.base/readline.exp12
-rw-r--r--gdb/testsuite/gdb.base/sepdebug.exp12
-rw-r--r--gdb/testsuite/gdb.base/siginfo-obj.exp4
-rw-r--r--gdb/testsuite/gdb.base/siginfo-thread.exp4
-rw-r--r--gdb/testsuite/gdb.base/tui-layout.exp7
-rw-r--r--gdb/testsuite/gdb.compile/compile-ops.exp2
-rw-r--r--gdb/testsuite/gdb.compile/compile-print.c32
-rw-r--r--gdb/testsuite/gdb.compile/compile-print.exp58
-rw-r--r--gdb/testsuite/gdb.compile/compile.exp22
-rw-r--r--gdb/testsuite/gdb.cp/iostream.cc27
-rw-r--r--gdb/testsuite/gdb.cp/iostream.exp44
-rw-r--r--gdb/testsuite/gdb.cp/var-tag-2.cc22
-rw-r--r--gdb/testsuite/gdb.cp/var-tag-3.cc22
-rw-r--r--gdb/testsuite/gdb.cp/var-tag-4.cc22
-rw-r--r--gdb/testsuite/gdb.cp/var-tag.cc44
-rw-r--r--gdb/testsuite/gdb.cp/var-tag.exp105
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw2-op-call.exp2
-rw-r--r--gdb/testsuite/gdb.dwarf2/dw4-sig-types.exp2
-rw-r--r--gdb/testsuite/gdb.dwarf2/implptr.exp2
-rw-r--r--gdb/testsuite/gdb.dwarf2/opaque-type-lookup-2.c24
-rw-r--r--gdb/testsuite/gdb.dwarf2/opaque-type-lookup.c23
-rw-r--r--gdb/testsuite/gdb.dwarf2/opaque-type-lookup.exp200
-rw-r--r--gdb/testsuite/gdb.guile/scm-ports.c22
-rw-r--r--gdb/testsuite/gdb.guile/scm-ports.exp136
-rw-r--r--gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp6
-rw-r--r--gdb/testsuite/gdb.mi/mi-detach.exp35
-rw-r--r--gdb/testsuite/gdb.mi/mi-dprintf-pending.c25
-rw-r--r--gdb/testsuite/gdb.mi/mi-dprintf-pending.exp79
-rw-r--r--gdb/testsuite/gdb.mi/mi-dprintf-pendshr.c27
-rw-r--r--gdb/testsuite/gdb.python/py-lazy-string.c24
-rw-r--r--gdb/testsuite/gdb.python/py-lazy-string.exp42
-rw-r--r--gdb/testsuite/gdb.python/py-prettyprint.c11
-rw-r--r--gdb/testsuite/gdb.python/py-prettyprint.exp4
-rw-r--r--gdb/testsuite/gdb.python/py-prettyprint.py14
-rw-r--r--gdb/testsuite/gdb.reverse/aarch64.c99
-rw-r--r--gdb/testsuite/gdb.reverse/aarch64.exp115
-rw-r--r--gdb/testsuite/gdb.threads/hand-call-new-thread.c50
-rw-r--r--gdb/testsuite/gdb.threads/hand-call-new-thread.exp48
-rw-r--r--gdb/testsuite/lib/future.exp11
-rw-r--r--gdb/testsuite/lib/gdb.exp86
-rw-r--r--gdb/tic6x-tdep.c6
-rw-r--r--gdb/tilegx-linux-tdep.c2
-rw-r--r--gdb/tilegx-tdep.c7
-rw-r--r--gdb/top.c117
-rw-r--r--gdb/tui/tui-data.c10
-rw-r--r--gdb/tui/tui-data.h23
-rw-r--r--gdb/tui/tui-hooks.c6
-rw-r--r--gdb/tui/tui-layout.c287
-rw-r--r--gdb/tui/tui-layout.h3
-rw-r--r--gdb/tui/tui-regs.c165
-rw-r--r--gdb/tui/tui-win.c69
-rw-r--r--gdb/tui/tui.c42
-rw-r--r--gdb/tui/tui.h2
-rw-r--r--gdb/utils.c116
-rw-r--r--gdb/utils.h4
-rw-r--r--gdb/valprint.c29
-rw-r--r--gdb/valprint.h15
-rw-r--r--gdb/windows-nat.c19
-rw-r--r--gdb/x86-linux-nat.c13
-rw-r--r--gdb/x86-linux-nat.h10
-rw-r--r--gdb/xcoffread.c3
-rw-r--r--gdb/xstormy16-tdep.c11
-rw-r--r--gdb/xtensa-linux-nat.c2
-rw-r--r--gdb/xtensa-tdep.c8
-rw-r--r--gold/ChangeLog227
-rw-r--r--gold/Makefile.am2
-rw-r--r--gold/Makefile.in6
-rw-r--r--gold/aarch64.cc1121
-rw-r--r--gold/compressed_output.cc6
-rw-r--r--gold/dynobj.h10
-rw-r--r--gold/gold.cc29
-rw-r--r--gold/gold.h4
-rw-r--r--gold/layout.cc170
-rw-r--r--gold/layout.h51
-rw-r--r--gold/merge.cc31
-rw-r--r--gold/merge.h16
-rw-r--r--gold/nacl.h2
-rw-r--r--gold/object.cc50
-rw-r--r--gold/object.h6
-rw-r--r--gold/options.cc24
-rw-r--r--gold/options.h46
-rw-r--r--gold/plugin.h10
-rw-r--r--gold/po/fr.po3406
-rw-r--r--gold/powerpc.cc122
-rw-r--r--gold/reloc.cc16
-rw-r--r--gold/resolve.cc30
-rw-r--r--gold/script-sections.cc59
-rw-r--r--gold/script-sections.h2
-rw-r--r--gold/symtab.h2
-rw-r--r--gold/testsuite/Makefile.am22
-rw-r--r--gold/testsuite/Makefile.in77
-rw-r--r--gold/testsuite/script_test_12.t63
-rw-r--r--gold/testsuite/script_test_12a.c75
-rw-r--r--gold/testsuite/script_test_12b.c3
-rw-r--r--gold/testsuite/script_test_12i.t63
-rwxr-xr-xgprof/configure20
-rw-r--r--include/ChangeLog18
-rw-r--r--include/bfdlink.h6
-rw-r--r--include/dis-asm.h8
-rw-r--r--include/elf/ChangeLog5
-rw-r--r--include/elf/common.h2
-rw-r--r--include/elf/mips.h3
-rw-r--r--include/gdb/ChangeLog7
-rw-r--r--include/gdb/callback.h9
-rw-r--r--include/libiberty.h2
-rw-r--r--include/opcode/ChangeLog41
-rw-r--r--include/opcode/aarch64.h16
-rw-r--r--include/opcode/arm.h26
-rw-r--r--include/opcode/ppc.h13
-rw-r--r--ld/ChangeLog49
-rw-r--r--ld/NEWS2
-rwxr-xr-xld/configure159
-rw-r--r--ld/configure.ac12
-rw-r--r--ld/emulparams/elf_iamcu.sh1
-rw-r--r--ld/emultempl/elf32.em65
-rw-r--r--ld/emultempl/pe.em11
-rw-r--r--ld/emultempl/pep.em11
-rw-r--r--ld/ld.h3
-rw-r--r--ld/ld.texinfo15
-rw-r--r--ld/ldlang.c38
-rw-r--r--ld/ldlang.h3
-rw-r--r--ld/ldlex.h1
-rw-r--r--ld/ldmain.c2
-rw-r--r--ld/lexsup.c6
-rw-r--r--ld/po/fr.po438
-rw-r--r--ld/scripttempl/elf.sc8
-rw-r--r--ld/testsuite/ChangeLog157
-rw-r--r--ld/testsuite/ld-aarch64/aarch64-elf.exp13
-rw-r--r--ld/testsuite/ld-aarch64/dt_textrel.d7
-rw-r--r--ld/testsuite/ld-aarch64/dt_textrel.s9
-rw-r--r--ld/testsuite/ld-aarch64/emit-relocs-28.d19
-rw-r--r--ld/testsuite/ld-aarch64/emit-relocs-28.s5
-rw-r--r--ld/testsuite/ld-aarch64/emit-relocs-313.d18
-rw-r--r--ld/testsuite/ld-aarch64/emit-relocs-313.s5
-rw-r--r--ld/testsuite/ld-aarch64/tprel_add_lo12_overflow.d6
-rw-r--r--ld/testsuite/ld-aarch64/tprel_add_lo12_overflow.s23
-rw-r--r--ld/testsuite/ld-elf/compressed1d.d2
-rw-r--r--ld/testsuite/ld-elf/pr18458a.c6
-rw-r--r--ld/testsuite/ld-elf/pr18458b.c6
-rw-r--r--ld/testsuite/ld-elf/pr18458c.c18
-rw-r--r--ld/testsuite/ld-elf/shared.exp9
-rw-r--r--ld/testsuite/ld-elf/strtab.d8
-rw-r--r--ld/testsuite/ld-elf/strtab.s8
-rw-r--r--ld/testsuite/ld-i386/i386.exp25
-rw-r--r--ld/testsuite/ld-i386/pltgot-1.d5
-rw-r--r--ld/testsuite/ld-i386/pltgot-2.d9
-rw-r--r--ld/testsuite/ld-i386/pr17689now.rd4
-rw-r--r--ld/testsuite/ld-mips-elf/compact-eh.ld15
-rw-r--r--ld/testsuite/ld-mips-elf/compact-eh1.d15
-rw-r--r--ld/testsuite/ld-mips-elf/compact-eh1.s37
-rw-r--r--ld/testsuite/ld-mips-elf/compact-eh1a.s11
-rw-r--r--ld/testsuite/ld-mips-elf/compact-eh1b.s21
-rw-r--r--ld/testsuite/ld-mips-elf/compact-eh2.d11
-rw-r--r--ld/testsuite/ld-mips-elf/compact-eh2.s34
-rw-r--r--ld/testsuite/ld-mips-elf/compact-eh3.d13
-rw-r--r--ld/testsuite/ld-mips-elf/compact-eh3.s36
-rw-r--r--ld/testsuite/ld-mips-elf/compact-eh3a.s19
-rw-r--r--ld/testsuite/ld-mips-elf/compact-eh4.d13
-rw-r--r--ld/testsuite/ld-mips-elf/compact-eh5.d10
-rw-r--r--ld/testsuite/ld-mips-elf/compact-eh6.d13
-rw-r--r--ld/testsuite/ld-mips-elf/mips-elf.exp21
-rw-r--r--ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.ad1
-rw-r--r--ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.ad1
-rw-r--r--ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.ad1
-rw-r--r--ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.ad1
-rw-r--r--ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.ad1
-rw-r--r--ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.ad1
-rw-r--r--ld/testsuite/ld-mips-elf/pie-n32.d23
-rw-r--r--ld/testsuite/ld-mips-elf/pie-n64.d23
-rw-r--r--ld/testsuite/ld-mips-elf/pie-o32.d23
-rw-r--r--ld/testsuite/ld-mips-elf/pie.s6
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d4
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got2
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d4
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got2
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d4
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got2
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32.d2
-rw-r--r--ld/testsuite/ld-mips-elf/tlsdyn-o32.got2
-rw-r--r--ld/testsuite/ld-mmix/bspec1.d2
-rw-r--r--ld/testsuite/ld-mmix/bspec2.d2
-rw-r--r--ld/testsuite/ld-mmix/undef-3.d2
-rw-r--r--ld/testsuite/ld-pe/pe-run2.exp8
-rw-r--r--ld/testsuite/ld-powerpc/powerpc.exp3
-rw-r--r--ld/testsuite/ld-powerpc/ppc476-shared.d48
-rw-r--r--ld/testsuite/ld-powerpc/ppc476-shared.lnk6
-rw-r--r--ld/testsuite/ld-powerpc/ppc476-shared.s19
-rw-r--r--ld/testsuite/ld-powerpc/ppc476-shared2.d16
-rw-r--r--ld/testsuite/ld-scripts/print-memory-usage-1.l3
-rw-r--r--ld/testsuite/ld-scripts/print-memory-usage-1.s8
-rw-r--r--ld/testsuite/ld-scripts/print-memory-usage-1.t5
-rw-r--r--ld/testsuite/ld-scripts/print-memory-usage-2.l1
-rw-r--r--ld/testsuite/ld-scripts/print-memory-usage-2.t14
-rw-r--r--ld/testsuite/ld-scripts/print-memory-usage-3.l3
-rw-r--r--ld/testsuite/ld-scripts/print-memory-usage-3.s8
-rw-r--r--ld/testsuite/ld-scripts/print-memory-usage-3.t5
-rw-r--r--ld/testsuite/ld-scripts/print-memory-usage.exp69
-rw-r--r--ld/testsuite/ld-scripts/print-memory-usage.t14
-rw-r--r--ld/testsuite/ld-x86-64/pltgot-1.d5
-rw-r--r--ld/testsuite/ld-x86-64/pltgot-2.d9
-rw-r--r--ld/testsuite/ld-x86-64/pr17689now.rd4
-rw-r--r--ld/testsuite/ld-x86-64/x86-64.exp25
-rw-r--r--ld/testsuite/ld-xtensa/tlsbin.rd16
-rw-r--r--ld/testsuite/ld-xtensa/tlspic.rd44
-rw-r--r--libiberty/ChangeLog98
-rw-r--r--libiberty/Makefile.in5
-rw-r--r--libiberty/config.in32
-rwxr-xr-xlibiberty/configure990
-rw-r--r--libiberty/configure.ac1
-rw-r--r--libiberty/cp-demangle.c3
-rw-r--r--libiberty/d-demangle.c469
-rw-r--r--libiberty/floatformat.c4
-rw-r--r--libiberty/testsuite/Makefile.in2
-rw-r--r--libiberty/testsuite/d-demangle-expected168
-rw-r--r--libiberty/testsuite/demangle-expected3
-rw-r--r--opcodes/ChangeLog106
-rw-r--r--opcodes/aarch64-asm-2.c380
-rw-r--r--opcodes/aarch64-dis-2.c2185
-rw-r--r--opcodes/aarch64-opc-2.c108
-rw-r--r--opcodes/aarch64-opc.c39
-rw-r--r--opcodes/aarch64-tbl.h23
-rw-r--r--opcodes/arm-dis.c81
-rw-r--r--opcodes/bfin-dis.c2
-rwxr-xr-xopcodes/configure20
-rw-r--r--opcodes/dis-buf.c4
-rw-r--r--opcodes/i386-dis.c7
-rw-r--r--opcodes/i386-opc.tbl10
-rw-r--r--opcodes/i386-tbl.h136
-rw-r--r--opcodes/mcore-dis.c11
-rw-r--r--opcodes/msp430-dis.c2
-rw-r--r--opcodes/ppc-dis.c3
-rw-r--r--opcodes/ppc-opc.c105
-rw-r--r--opcodes/sh-dis.c2
-rw-r--r--opcodes/tic6x-dis.c3
-rw-r--r--opcodes/vax-dis.c3
-rw-r--r--patches/binutils-pr18321.patch177
-rw-r--r--patches/binutils-pr18322.patch87
-rw-r--r--sim/ChangeLog9
-rw-r--r--sim/README-HACKING4
-rw-r--r--sim/arm/ChangeLog62
-rw-r--r--sim/arm/Makefile.in2
-rw-r--r--sim/arm/armdefs.h35
-rw-r--r--sim/arm/armemu.c988
-rw-r--r--sim/arm/armemu.h2
-rw-r--r--sim/arm/armos.c3
-rw-r--r--sim/arm/armsupp.c903
-rwxr-xr-xsim/arm/configure45
-rw-r--r--sim/arm/dbg_hif.h6
-rw-r--r--sim/arm/thumbemu.c2028
-rw-r--r--sim/arm/wrapper.c16
-rw-r--r--sim/avr/ChangeLog12
-rwxr-xr-xsim/avr/configure45
-rw-r--r--sim/bfin/ChangeLog54
-rw-r--r--sim/bfin/bfin-sim.c20
-rw-r--r--sim/bfin/bfin-sim.h4
-rwxr-xr-xsim/bfin/configure48
-rw-r--r--sim/bfin/dv-bfin_cec.c10
-rw-r--r--sim/bfin/interp.c51
-rw-r--r--sim/bfin/linux-targ-map.h992
-rw-r--r--sim/bfin/sim-main.h38
-rw-r--r--sim/common/ChangeLog241
-rw-r--r--sim/common/Make-common.in1
-rw-r--r--sim/common/acinclude.m477
-rw-r--r--sim/common/callback.c94
-rw-r--r--sim/common/cgen-run.c2
-rw-r--r--sim/common/cgen-trace.c29
-rw-r--r--sim/common/cgen-trace.h39
-rwxr-xr-xsim/common/configure26
-rwxr-xr-xsim/common/genmloop.sh8
-rw-r--r--sim/common/gentmap.c13
-rw-r--r--sim/common/sim-alu.h4
-rw-r--r--sim/common/sim-assert.h29
-rw-r--r--sim/common/sim-basics.h6
-rw-r--r--sim/common/sim-bits.h6
-rw-r--r--sim/common/sim-config.h6
-rw-r--r--sim/common/sim-endian.h6
-rw-r--r--sim/common/sim-events.c18
-rw-r--r--sim/common/sim-events.h1
-rw-r--r--sim/common/sim-model.c1
-rw-r--r--sim/common/sim-module.c2
-rw-r--r--sim/common/sim-syscall.c123
-rw-r--r--sim/common/sim-syscall.h45
-rw-r--r--sim/common/sim-trace.c169
-rw-r--r--sim/common/sim-trace.h135
-rw-r--r--sim/common/sim-types.h103
-rw-r--r--sim/common/syscall.c2
-rwxr-xr-xsim/configure2
-rw-r--r--sim/configure.ac2
-rw-r--r--sim/cr16/ChangeLog12
-rwxr-xr-xsim/cr16/configure45
-rw-r--r--sim/cris/ChangeLog34
-rwxr-xr-xsim/cris/configure50
-rw-r--r--sim/cris/decodev10.c226
-rw-r--r--sim/cris/decodev32.c216
-rw-r--r--sim/cris/mloop.in6
-rw-r--r--sim/cris/semcrisv10f-switch.c2466
-rw-r--r--sim/cris/semcrisv32f-switch.c2476
-rw-r--r--sim/cris/traps.c355
-rw-r--r--sim/d10v/ChangeLog12
-rwxr-xr-xsim/d10v/configure45
-rw-r--r--sim/erc32/ChangeLog17
-rwxr-xr-xsim/erc32/configure31
-rw-r--r--sim/erc32/erc32.c5
-rw-r--r--sim/erc32/exec.c5
-rw-r--r--sim/erc32/float.c5
-rw-r--r--sim/erc32/func.c5
-rw-r--r--sim/erc32/help.c5
-rw-r--r--sim/erc32/interf.c5
-rw-r--r--sim/erc32/sis.c5
-rw-r--r--sim/frv/ChangeLog24
-rwxr-xr-xsim/frv/configure52
-rw-r--r--sim/frv/configure.ac3
-rw-r--r--sim/frv/decode.c546
-rw-r--r--sim/frv/mloop.in6
-rw-r--r--sim/frv/sem.c2770
-rw-r--r--sim/frv/sim-main.h5
-rw-r--r--sim/ft32/ChangeLog12
-rwxr-xr-xsim/ft32/configure45
-rw-r--r--sim/h8300/ChangeLog12
-rwxr-xr-xsim/h8300/configure28
-rw-r--r--sim/igen/ChangeLog4
-rwxr-xr-xsim/igen/configure2
-rw-r--r--sim/iq2000/ChangeLog20
-rwxr-xr-xsim/iq2000/configure53
-rw-r--r--sim/iq2000/decode.c60
-rw-r--r--sim/iq2000/mloop.in6
-rw-r--r--sim/iq2000/sem-switch.c176
-rw-r--r--sim/iq2000/sem.c174
-rw-r--r--sim/lm32/ChangeLog32
-rwxr-xr-xsim/lm32/configure50
-rw-r--r--sim/lm32/decode.c46
-rw-r--r--sim/lm32/mloop.in6
-rw-r--r--sim/lm32/sem-switch.c132
-rw-r--r--sim/lm32/sem.c130
-rw-r--r--sim/lm32/traps.c53
-rw-r--r--sim/m32c/ChangeLog12
-rwxr-xr-xsim/m32c/configure28
-rw-r--r--sim/m32r/ChangeLog41
-rwxr-xr-xsim/m32r/configure53
-rw-r--r--sim/m32r/decode.c118
-rw-r--r--sim/m32r/decode2.c144
-rw-r--r--sim/m32r/decodex.c144
-rw-r--r--sim/m32r/mloop.in6
-rw-r--r--sim/m32r/sem-switch.c254
-rw-r--r--sim/m32r/sem.c252
-rw-r--r--sim/m32r/sem2-switch.c522
-rw-r--r--sim/m32r/semx-switch.c508
-rw-r--r--sim/m32r/traps-linux.c64
-rw-r--r--sim/m32r/traps.c58
-rw-r--r--sim/m68hc11/ChangeLog25
-rw-r--r--sim/m68hc11/Makefile.in3
-rwxr-xr-xsim/m68hc11/configure38
-rw-r--r--sim/m68hc11/interp.c92
-rw-r--r--sim/mcore/ChangeLog24
-rwxr-xr-xsim/mcore/configure45
-rw-r--r--sim/mcore/interp.c45
-rw-r--r--sim/microblaze/ChangeLog22
-rw-r--r--sim/microblaze/Makefile.in1
-rwxr-xr-xsim/microblaze/configure45
-rw-r--r--sim/microblaze/interp.c43
-rw-r--r--sim/microblaze/sim-main.h1
-rw-r--r--sim/mips/ChangeLog26
-rwxr-xr-xsim/mips/configure59
-rw-r--r--sim/mips/configure.ac6
-rw-r--r--sim/mips/interp.c45
-rw-r--r--sim/mips/sim-main.c4
-rw-r--r--sim/mips/sim-main.h4
-rw-r--r--sim/mn10300/ChangeLog60
-rwxr-xr-xsim/mn10300/configure47
-rw-r--r--sim/mn10300/interp.c68
-rw-r--r--sim/mn10300/mn10300_sim.h77
-rw-r--r--sim/mn10300/op_utils.c89
-rw-r--r--sim/moxie/ChangeLog23
-rwxr-xr-xsim/moxie/configure45
-rw-r--r--sim/moxie/interp.c157
-rw-r--r--sim/msp430/ChangeLog49
-rwxr-xr-xsim/msp430/configure38
-rw-r--r--sim/msp430/msp430-sim.c247
-rw-r--r--sim/msp430/sim-main.h48
-rw-r--r--sim/ppc/ChangeLog4
-rwxr-xr-xsim/ppc/configure2
-rw-r--r--sim/rl78/ChangeLog12
-rwxr-xr-xsim/rl78/configure28
-rw-r--r--sim/rx/ChangeLog14
-rwxr-xr-xsim/rx/configure31
-rw-r--r--sim/rx/configure.ac6
-rw-r--r--sim/sh/ChangeLog12
-rwxr-xr-xsim/sh/configure45
-rw-r--r--sim/sh64/ChangeLog28
-rwxr-xr-xsim/sh64/configure53
-rw-r--r--sim/sh64/decode-compact.c274
-rw-r--r--sim/sh64/decode-media.c170
-rw-r--r--sim/sh64/mloop-compact.c14
-rw-r--r--sim/sh64/mloop-media.c14
-rw-r--r--sim/sh64/sem-compact-switch.c600
-rw-r--r--sim/sh64/sem-compact.c598
-rw-r--r--sim/sh64/sem-media-switch.c476
-rw-r--r--sim/sh64/sem-media.c474
-rw-r--r--sim/v850/ChangeLog16
-rwxr-xr-xsim/v850/configure44
-rw-r--r--sim/v850/interp.c8
789 files changed, 43000 insertions, 16651 deletions
diff --git a/ChangeLog b/ChangeLog
index 583b822c95f..615e266e4f5 100644
--- a/ChangeLog
+++ b/ChangeLog
@@ -21,6 +21,13 @@
(sim_release): Pass gdb as fifth parameter to tar_compress.
(SIM_SUPPORT_DIRS): Add gdb/common/create-version.sh.
+2015-04-14 Max Ostapenko <m.ostapenko@partner.samsung.com>
+
+ * Makefile.tpl (EXTRA_HOST_EXPORTS): New variables.
+ (EXTRA_BOOTSTRAP_FLAGS): Likewise.
+ (check-[+module+]): Add EXTRA_HOST_EXPORTS and EXTRA_BOOTSTRAP_FLAGS.
+ * Makefile.in: Regenerate.
+
2015-04-01 H.J. Lu <hongjiu.lu@intel.com>
* configure.ac: Add --with-system-zlib.
diff --git a/Makefile.in b/Makefile.in
index 8ae261fd459..61e0ab62c5a 100644
--- a/Makefile.in
+++ b/Makefile.in
@@ -833,6 +833,14 @@ POSTSTAGE1_FLAGS_TO_PASS = \
$(LTO_FLAGS_TO_PASS) \
"`echo 'ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
+@if gcc-bootstrap
+EXTRA_HOST_EXPORTS = if [ $(current_stage) != stage1 ]; then \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ fi ;
+
+EXTRA_BOOTSTRAP_FLAGS = CC="$$CC" CXX="$$CXX" LDFLAGS="$$LDFLAGS"
+@endif gcc-bootstrap
+
# Flags to pass down to makes which are built with the target environment.
# The double $ decreases the length of the command line; those variables
# are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them. The
@@ -3651,9 +3659,9 @@ check-bfd:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/bfd && \
- $(MAKE) $(FLAGS_TO_PASS) check)
+ $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif bfd
@@ -4525,9 +4533,9 @@ check-opcodes:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/opcodes && \
- $(MAKE) $(FLAGS_TO_PASS) check)
+ $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif opcodes
@@ -5399,9 +5407,9 @@ check-binutils:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/binutils && \
- $(MAKE) $(FLAGS_TO_PASS) check)
+ $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif binutils
@@ -5829,9 +5837,9 @@ check-bison:
@if [ '$(host)' = '$(target)' ] ; then \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/bison && \
- $(MAKE) $(FLAGS_TO_PASS) check); \
+ $(MAKE) $(FLAGS_TO_PASS) check)
fi
@endif bison
@@ -6271,7 +6279,7 @@ check-cgen:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/cgen && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -6712,7 +6720,7 @@ check-dejagnu:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/dejagnu && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -7153,7 +7161,7 @@ check-etc:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/etc && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -7596,9 +7604,9 @@ check-fastjar:
@if [ '$(host)' = '$(target)' ] ; then \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/fastjar && \
- $(MAKE) $(FLAGS_TO_PASS) check); \
+ $(MAKE) $(FLAGS_TO_PASS) check)
fi
@endif fastjar
@@ -8484,9 +8492,9 @@ check-fixincludes:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/fixincludes && \
- $(MAKE) $(FLAGS_TO_PASS) check)
+ $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif fixincludes
@@ -8899,9 +8907,9 @@ check-flex:
@if [ '$(host)' = '$(target)' ] ; then \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/flex && \
- $(MAKE) $(FLAGS_TO_PASS) check); \
+ $(MAKE) $(FLAGS_TO_PASS) check)
fi
@endif flex
@@ -9787,9 +9795,9 @@ check-gas:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/gas && \
- $(MAKE) $(FLAGS_TO_PASS) check)
+ $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif gas
@@ -10661,9 +10669,9 @@ check-gcc:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/gcc && \
- $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) check)
+ $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_GCC_FLAGS) $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif gcc
@@ -11541,9 +11549,9 @@ check-gmp:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/gmp && \
- $(MAKE) $(FLAGS_TO_PASS) check)
+ $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif gmp
@@ -12409,9 +12417,9 @@ check-mpfr:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/mpfr && \
- $(MAKE) $(FLAGS_TO_PASS) check)
+ $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif mpfr
@@ -13277,9 +13285,9 @@ check-mpc:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/mpc && \
- $(MAKE) $(FLAGS_TO_PASS) check)
+ $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif mpc
@@ -14145,9 +14153,9 @@ check-isl:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/isl && \
- $(MAKE) $(FLAGS_TO_PASS) V=1 check)
+ $(MAKE) $(FLAGS_TO_PASS) V=1 $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif isl
@@ -15013,9 +15021,9 @@ check-libelf:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/libelf && \
- $(MAKE) $(FLAGS_TO_PASS) check)
+ $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif libelf
@@ -15875,9 +15883,9 @@ check-gold:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/gold && \
- $(MAKE) $(FLAGS_TO_PASS) check)
+ $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif gold
@@ -16303,7 +16311,7 @@ check-gprof:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/gprof && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -17190,9 +17198,9 @@ check-intl:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/intl && \
- $(MAKE) $(FLAGS_TO_PASS) check)
+ $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif intl
@@ -17618,7 +17626,7 @@ check-tcl:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/tcl && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -18044,7 +18052,7 @@ check-itcl:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/itcl && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -18931,9 +18939,9 @@ check-ld:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/ld && \
- $(MAKE) $(FLAGS_TO_PASS) check)
+ $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif ld
@@ -19805,9 +19813,9 @@ check-libbacktrace:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/libbacktrace && \
- $(MAKE) $(FLAGS_TO_PASS) check)
+ $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif libbacktrace
@@ -20679,9 +20687,9 @@ check-libcpp:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/libcpp && \
- $(MAKE) $(FLAGS_TO_PASS) check)
+ $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif libcpp
@@ -21553,9 +21561,9 @@ check-libdecnumber:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/libdecnumber && \
- $(MAKE) $(FLAGS_TO_PASS) check)
+ $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif libdecnumber
@@ -21981,7 +21989,7 @@ check-libgui:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/libgui && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -22874,9 +22882,9 @@ check-libiberty:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/libiberty && \
- $(MAKE) $(FLAGS_TO_PASS) check)
+ $(MAKE) $(FLAGS_TO_PASS) $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif libiberty
@@ -23754,9 +23762,9 @@ check-libiberty-linker-plugin:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/libiberty-linker-plugin && \
- $(MAKE) $(FLAGS_TO_PASS) @extra_linker_plugin_flags@ check)
+ $(MAKE) $(FLAGS_TO_PASS) @extra_linker_plugin_flags@ $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif libiberty-linker-plugin
@@ -24182,7 +24190,7 @@ check-libiconv:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/libiconv && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -24560,7 +24568,7 @@ check-m4:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/m4 && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -25001,7 +25009,7 @@ check-readline:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/readline && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -25442,7 +25450,7 @@ check-sid:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/sid && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -25883,7 +25891,7 @@ check-sim:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/sim && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -26324,7 +26332,7 @@ check-texinfo:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/texinfo && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -27615,7 +27623,7 @@ check-gdb:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/gdb && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -28056,7 +28064,7 @@ check-expect:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/expect && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -28497,7 +28505,7 @@ check-guile:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/guile && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -28938,7 +28946,7 @@ check-tk:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/tk && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -30189,7 +30197,7 @@ check-gnattools:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/gnattools && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -31082,9 +31090,9 @@ check-lto-plugin:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) $(EXTRA_HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/lto-plugin && \
- $(MAKE) $(FLAGS_TO_PASS) @extra_linker_plugin_flags@ check)
+ $(MAKE) $(FLAGS_TO_PASS) @extra_linker_plugin_flags@ $(EXTRA_BOOTSTRAP_FLAGS) check)
@endif lto-plugin
@@ -31510,7 +31518,7 @@ check-libcc1:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/libcc1 && \
$(MAKE) $(FLAGS_TO_PASS) check)
@@ -31951,7 +31959,7 @@ check-gotools:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) \
(cd $(HOST_SUBDIR)/gotools && \
$(MAKE) $(FLAGS_TO_PASS) check)
diff --git a/Makefile.tpl b/Makefile.tpl
index f737cfca6c9..5d2cea230b8 100644
--- a/Makefile.tpl
+++ b/Makefile.tpl
@@ -634,6 +634,14 @@ POSTSTAGE1_FLAGS_TO_PASS = \
$(LTO_FLAGS_TO_PASS) \
"`echo 'ADAFLAGS=$(BOOT_ADAFLAGS)' | sed -e s'/[^=][^=]*=$$/XFOO=/'`"
+@if gcc-bootstrap
+EXTRA_HOST_EXPORTS = if [ $(current_stage) != stage1 ]; then \
+ $(POSTSTAGE1_HOST_EXPORTS) \
+ fi ;
+
+EXTRA_BOOTSTRAP_FLAGS = CC="$$CC" CXX="$$CXX" LDFLAGS="$$LDFLAGS"
+@endif gcc-bootstrap
+
# Flags to pass down to makes which are built with the target environment.
# The double $ decreases the length of the command line; those variables
# are set in BASE_FLAGS_TO_PASS, and the sub-make will expand them. The
@@ -1203,18 +1211,22 @@ check-[+module+]:
@if [ '$(host)' = '$(target)' ] ; then \
r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) [+ IF bootstrap +]$(EXTRA_HOST_EXPORTS)[+
+ ENDIF bootstrap +] \
(cd $(HOST_SUBDIR)/[+module+] && \
- $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+] check); \
+ $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+][+
+ IF bootstrap +] $(EXTRA_BOOTSTRAP_FLAGS)[+ ENDIF bootstrap +] check)
fi
[+ ELSE check +]
check-[+module+]:
@: $(MAKE); $(unstage)
@r=`${PWD_COMMAND}`; export r; \
s=`cd $(srcdir); ${PWD_COMMAND}`; export s; \
- $(HOST_EXPORTS) \
+ $(HOST_EXPORTS) [+ IF bootstrap +]$(EXTRA_HOST_EXPORTS)[+
+ ENDIF bootstrap +] \
(cd $(HOST_SUBDIR)/[+module+] && \
- $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+] check)
+ $(MAKE) $(FLAGS_TO_PASS) [+extra_make_flags+][+
+ IF bootstrap +] $(EXTRA_BOOTSTRAP_FLAGS)[+ ENDIF bootstrap +] check)
[+ ENDIF no_check +]
@endif [+module+]
diff --git a/bfd/ChangeLog b/bfd/ChangeLog
index 3cc88398082..d8d28afabbf 100644
--- a/bfd/ChangeLog
+++ b/bfd/ChangeLog
@@ -1,3 +1,306 @@
+2015-06-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * bfd-in.h (compressed_debug_section_type): Remove
+ COMPRESS_DEBUG_ZLIB.
+ * bfd-in2.h : Regenerated.
+
+2015-06-26 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * elfxx-mips.c (_bfd_mips_elf_create_dynamic_sections): Use executable
+ instead of !shared to indicate an application vs shared library.
+ (_bfd_mips_elf_size_dynamic_sections): Likewise.
+ (_bfd_mips_elf_finish_dynamic_sections): Handle DT_MIPS_RLD_MAP_REL.
+ (_bfd_mips_elf_get_target_dtag): Likewise.
+
+2015-06-25 DJ Delorie <dj@redhat.com>
+
+ * elf32-msp430.c (msp430_final_link_relocate): Fix comments. Fix
+ REL loads to match RELA stores.
+
+2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf.c (_bfd_elf_compute_section_file_positions): Don't
+ initialize sh_size for .shstrtab here.
+
+2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/18451
+ * elf-bfd.h (elf_sym_strtab): New.
+ (elf_link_hash_table): Add strtabcount, strtabsize and
+ strtab.
+ (_bfd_elf_stringtab_init): Removed.
+ * elf.c (_bfd_elf_stringtab_init): Removed.
+ (_bfd_elf_compute_section_file_positions): Replace
+ bfd_strtab_hash/_bfd_elf_stringtab_init/_bfd_stringtab_free/
+ _bfd_stringtab_size with
+ elf_strtab_hash/_bfd_elf_strtab_init/_bfd_elf_strtab_free/
+ _bfd_elf_strtab_size. Use _bfd_elf_strtab_add,
+ _bfd_elf_strtab_finalize and _bfd_elf_strtab_offset to get
+ st_name.
+ (swap_out_syms): Likewise.
+ * elflink.c (elf_final_link_info): Replace bfd_strtab_hash
+ with elf_strtab_hash. Remove symbuf, symbuf_count,
+ symbuf_size and shndxbuf_size.
+ (elf_link_flush_output_syms): Removed.
+ (elf_link_output_sym): Renamed to ...
+ (elf_link_output_symstrtab): This. Replace _bfd_stringtab_add
+ with _bfd_elf_strtab_add. Don't flush symbols to the file nor
+ swap out symbols.
+ (elf_link_swap_symbols_out): New.
+ (elf_link_output_extsym): Replace elf_link_output_sym with
+ elf_link_output_symstrtab.
+ (elf_link_input_bfd): Likewise.
+ (elf_final_link_free): Replace _bfd_stringtab_free with
+ _bfd_elf_strtab_free. Remove symbuf.
+ (bfd_elf_final_link): Replace _bfd_elf_stringtab_init with
+ _bfd_elf_strtab_init. Don't set symbuf, symbuf_count,
+ symbuf_size nor shndxbuf_size. Initialize strtabsize and
+ strtab. Initialize symshndxbuf to -1 when number of sections
+ >= 64K. Replace elf_link_output_sym/elf_link_output_sym with
+ elf_link_output_symstrtab/elf_link_output_symstrtab. Don't
+ call elf_link_flush_output_syms. Call _bfd_elf_strtab_finalize
+ and elf_link_swap_symbols_out. Replace _bfd_stringtab_size
+ and _bfd_stringtab_emit with _bfd_elf_strtab_size and
+ _bfd_elf_strtab_emit.
+
+2015-06-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Silence older
+ GCC warning.
+
+2015-06-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Silence older
+ GCC warning.
+
+2015-06-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_allocate_dynrelocs): Always allocate
+ space for the first .plt entry.
+ (elf_i386_size_dynamic_sections): Always add DT_PLTGOT for .plt
+ section. Add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL only if
+ there are PLT relocations.
+ * elf64-x86-64.c (elf_x86_64_allocate_dynrelocs): Always
+ allocate space for the first .plt entry.
+ (elf_x86_64_size_dynamic_sections): Always add DT_PLTGOT for
+ .plt section. Add DT_PLTRELSZ, DT_PLTREL and DT_JMPREL only if
+ there are PLT relocations.
+
+2015-06-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR ld/18591
+ * elf64-x86-64.c (elf_x86_64_convert_mov_to_lea): Don't convert
+ R_X86_64_GOTPCREL to R_X86_64_PC32 if it will cause relocation
+ overflow.
+
+2015-06-23 Jiong Wang <jiong.wang@arm.com>
+
+ * elfnn-aarch64.c (aarch64_readonly_dynrelocs): New function.
+ (elfNN_aarch64_size_dynamic_sections): Traverse hash table to check
+ relocations against read-only sections.
+
+2015-06-18 Nick Clifton <nickc@redhat.com>
+
+ PR 18481
+ * elf32-arm.c (R_ARM_TLS_LE32): Set the special function to NULL.
+
+2015-06-15 Jon Turney <jon.turney@dronecode.org.uk>
+
+ * bfd.c: Change struct bfd_build_id to use bfd_size_type.
+ * bfd-in2.h : Regenerate.
+
+2015-06-16 Alan Modra <amodra@gmail.com>
+
+ * elf32-ppc.c (ppc_elf_relocate_section): Correct binary search of
+ dynamic relocs.
+
+2015-06-10 Jon Turney <jon.turney@dronecode.org.uk>
+
+ * elf-bfd.h : Remove struct elf_build_id.
+ * bfd.c : Add struct bfd_build_id.
+ * bfd-in2.h: Regenerate.
+ * elf.c (elfobj_grok_gnu_build_id): Update to use bfd_build_id.
+ * libpei.h: Add protoype and macros for
+ bfd_XXi_slurp_codeview_record.
+ * peXXigen.c (_bfd_XXi_slurp_codeview_record): Make public
+ * peicode.h (pe_bfd_read_buildid): Add.
+ (pe_bfd_object_p): Use pe_bfd_read_buildid().
+
+2015-06-15 Renlin Li <renlin.li@arm.com>
+
+ * reloc.c (BFD_RELOC_AARCH64_LD64_GOTOFF_LO15): New entry.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
+ BFD_RELOC_AARCH64_LD64_GOTOFF_LO15.
+
+2015-06-15 Alan Modra <amodra@gmail.com>
+
+ * cofflink.c (_bfd_coff_generic_relocate_section): Revert
+ 2014-03-26 change. Call _bfd_clear_contents for relocs against
+ local and global symbols defined in discarded input sections.
+
+2015-06-05 Nick Clifton <nickc@redhat.com>
+
+ * elf32-msp430.c (rl78_sym_diff_handler): New function.
+ (msp430_howto_table): Use the new function for the SYM_DIFF reloc.
+ (msp430x_howto_table): Likewise.
+
+2015-06-05 Alan Modra <amodra@gmail.com>
+
+ * elf64-ppc.c (ppc_elf_relocate_section): Move dynamic text
+ relocs with insns moved by --ppc476-workaround. Correct
+ output of REL16 relocs.
+
+2015-06-01 Jiong Wang <jiong.wang@arm.com>
+
+ * elfnn-aarch64.c (aarch64_reloc_got_type): Support
+ BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14.
+ (elfNN_aarch64_final_link_relocate): Ditto.
+ (elfNN_aarch64_gc_swap_hook): Ditto.
+ (elfNN_aarch64_check_relocs): Ditto.
+ * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
+
+2015-06-01 Jiong Wang <jiong.wang@arm.com>
+
+ * reloc.c (BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14): New entry.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
+ BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14.
+
+2015-06-01 Jiong Wang <jiong.wang@arm.com>
+
+ * elfnn-aarch64.c (elfNN_aarch64_howto_table): Set overflow type to
+ complain_overflow_unsigned for BFD_RELOC_AARCH64_TLSLE_ADD_LO12.
+ * elfxx-aarch64.c (_bfd_aarch64_elf_resolve_relocation): Don't use
+ PGOFF for BFD_RELOC_AARCH64_TLSLE_ADD_LO12.
+
+2015-06-01 Jiong Wang <jiong.wang@arm.com>
+
+ * elfnn-aarch64.c (aarch64_reloc_got_type): Support
+ BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15.
+ (elfNN_aarch64_final_link_relocate): Ditto.
+ (elfNN_aarch64_gc_swap_hook): Ditto.
+ (elfNN_aarch64_check_relocs): Ditto.
+ * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
+
+2015-06-01 Jiong Wang <jiong.wang@arm.com>
+
+ * reloc.c (BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15): New entry.
+ * bfd-in2.h: Regenerate.
+ * libbfd.h: Regenerate.
+ * elfnn-aarch64.c (elfNN_aarch64_howto_table): New entry for
+ BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15.
+
+2015-05-28 Catherine Moore <clm@codesourcery.com>
+ Bernd Schmidt <bernds@codesourcery.com>
+ Paul Brook <paul@codesourcery.com>
+
+ bfd/
+ * bfd-in2.h: Regenerated.
+ * elf-bfd.h (DWARF2_EH_HDR, COMPACT_EH_HDR): Define.
+ (COMPACT_EH_CANT_UNWIND_OPCODE): Define.
+ (dwarf_eh_frame_hdr_info): Move dwarf-specific fields from
+ eh_frame_hdr_info.
+ (compact_eh_frame_hdr_info): Declare.
+ (eh_frame_hdr_info): Redeclare with union for dwarf-specific
+ fields and compact-eh fields.
+ (elf_backend_data): Add cant_unwind_opcode and compact_eh_encoding.
+ (bfd_elf_section_data): Add eh_frame_entry_field.
+ (elf_section_eh_frame_entry): Define.
+ (bfd_elf_parse_eh_frame_entries): Declare.
+ (_bfd_elf_parse_eh_frame_entry): Declare.
+ (_bfd_elf_end_eh_frame_parsing): Declare.
+ (_bfd_elf_write_section_eh_frame_entry): Declare.
+ (_bfd_elf_eh_frame_entry_present): Declare.
+ (_bfd_elf_section_for_symbol): Declare.
+ * elf-eh-frame.c (bfd_elf_discard_eh_frame_entry): New function.
+ (bfd_elf_record_eh_frame_entry): New function.
+ (_bfd_elf_parse_eh_frame_entry): New function.
+ (_bfd_elf_parse_eh_frame): Update hdr_info field references.
+ (cmp_eh_frame_hdr): New function.
+ (add_eh_frame_hdr_terminator): New function.
+ (_bfd_elf_end_eh_frame_parsing): New function.
+ (find_merged_cie): Update hdr_info field references.
+ (_bfd_elf_discard_section_eh_frame): Likewise.
+ (_bfd_elf_discard_section_eh_frame_hdr): Add Compact EH support.
+ (_bfd_elf_eh_frame_entry_present): New function.
+ (_bfd_elf_maybe_strip_eh_frame_hdr): Add Compact EH support.
+ (_bfd_elf_write_section_eh_frame_entry): New function.
+ (_bfd_elf_write_section_eh_frame): Update hdr_info field references.
+ (_bfd_elf_fixup_eh_frame_hdr): New function.
+ (write_compact_eh_frame_hdr): New function.
+ (write_dwarf_eh_frame_hdr): New function.
+ (_bfd_elf_write_section_eh_frame_hdr): Add Compact EH support.
+ * elflink.c (_bfd_elf_section_for_symbol): New function.
+ (elf_section_ignore_discarded_relocs): Add Compact EH support.
+ (elf_link_input_bfd): Likewise.
+ (bfd_elf_final_link): Likewise.
+ (_bfd_elf_gc_mark): Likewise.
+ (bfd_elf_parse_eh_frame_entries): New function.
+ (bfd_elf_gc_sections): Add Compact EH support.
+ (bfd_elf_discard_info): Likewise.
+ * elfxx-mips.c: Include dwarf2.h.
+ (_bfd_mips_elf_compact_eh_encoding): New function.
+ (_bfd_mips_elf_cant_unwind_opcode): New function.
+ * elfxx-mips.h (_bfd_mips_elf_compact_eh_encoding): Declare.
+ (_bfd_mips_elf_cant_unwind_opcode): Declare.
+ (elf_backend_compact_eh_encoding): Define.
+ (elf_backend_cant_unwind_opcode): Define.
+ * elfxx-target.h (elf_backend_compact_eh_encoding): Provide default.
+ (elf_backend_cant_unwind_opcode): Provide default.
+ (elf_backend_data elfNN_bed): Add elf_backend_compact_eh_encoding and
+ elf_backend_cant_unwind_opcode.
+ * section.c (SEC_INFO_TYPE_EH_FRAME_ENTRY): Add definition.
+
+2015-05-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/18458
+ * elf32-i386.c (elf_i386_check_relocs): Create .plt.got section
+ for now binding only if pointer equality isn't needed.
+ (elf_i386_allocate_dynrelocs): Use .plt.got section for now
+ binding only if pointer equality isn't needed.
+ * elf64-x86-64.c (elf_x86_64_check_relocs): Create .plt.got
+ section for now binding only if pointer equality isn't needed.
+ (elf_x86_64_allocate_dynrelocs): Use .plt.got section for now
+ binding only if pointer equality isn't needed.
+
+2015-05-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/18437
+ * elf32-i386.c (elf_i386_get_plt_sym_val): Skip extra relocations
+ in .rel.plt/.rela.plt.
+ * elf64-x86-64.c (elf_x86_64_get_plt_sym_val): Likewise.
+
+2015-05-19 Jiong Wang <jiong.wang@arm.com>
+
+ * elfnn-aarch64.c (aarch64_tls_transition_without_check): Sort
+ relocation case labels alphabetically.
+ (elfNN_aarch64_final_link_relocate): Ditto.
+ (elfNN_aarch64_tls_relax): Ditto.
+ (elfNN_aarch64_relocate_section): Ditto.
+ (elfNN_aarch64_gc_sweep_hook): Ditto.
+ (elfNN_aarch64_check_relocs): Ditto.
+ * elfxx-aarch64.c (_bfd_aarch64_elf_put_addend): Ditto.
+ (_bfd_aarch64_elf_resolve_relocation): Ditto.
+
+2015-05-18 Jiong Wang <jiong.wang@arm.com>
+
+ * elfnn-aarch64.c (elfNN_aarch64_adjust_dynamic_symbol): Rewrite
+ comments.
+
+2015-05-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * elf32-i386.c (elf_i386_check_relocs): Create .plt.got section
+ for now binding.
+ (elf_i386_allocate_dynrelocs): Use .plt.got section for now
+ binding.
+ * elf64-x86-64.c (elf_x86_64_check_relocs): Create .plt.got
+ section for now binding.
+ (elf_x86_64_allocate_dynrelocs): Use .plt.got section for now
+ binding.
+
2015-05-14 H.J. Lu <hongjiu.lu@intel.com>
* bfd.c (bfd_update_compression_header): Also write the zlib
@@ -182,6 +485,77 @@
* elf64-ppc.c (TOC_BASE_ALIGN): Define.
(ppc64_elf_next_toc_section): Align multi-got toc base.
(ppc64_elf_set_toc): Likewise initial toc base and .TOC. symbol.
+=======
+2015-05-04 Catherine Moore <clm@codesourcery.com>
+
+ * elfxx-target.h: Add missing #endif.
+
+2015-04-22 Catherine Moore <clm@codesourcery.com>
+
+ * elf-eh-frame.c (_bfd_elf_write_section_eh_frame_entry): Don't write
+ the .eh_frame_entry section if the corresponding text section is marked
+ with SEC_EXCLUDE.
+
+2015-04-22 Catherine Moore <clm@codesourcery.com>
+ Bernd Schmidt <bernds@codesourcery.com>
+ Paul Brook <paul@codesourcery.com>
+
+ * bfd-in2.h (SEC_INFO_TYPE_EH_FRAME_ENTRY): Define.
+ * elf-bfd.h (DWARF2_EH_HDR, COMPACT_EH_HDR): Define.
+ (COMPACT_EH_CANT_UNWIND_OPCODE): Define.
+ (dwarf_eh_frame_hdr_info): New struct.
+ (compact_eh_frame_hdr_info): New struct.
+ (eh_frame_hdr_info): Separate dwarf and compact fields.
+ (elf_backend_data): Add compact_eh_encoding and cant_unwind_opcode
+ fields.
+ (bfd_elf_section_data): Add eh_frame_entry field.
+ (elf_section_eh_frame_entry): Define.
+ (bfd_elf_parse_eh_frame_entries): Declare.
+ (_bfd_elf_parse_eh_frame_entry): Declare.
+ (_bfd_elf_end_eh_frame_parsing): Declare.
+ (_bfd_elf_write_section_eh_frame_entry): Declare.
+ (_bfd_elf_fixup_eh_frame_hdr): Declare.
+ (_bfd_elf_eh_frame_entry_present): Declare.
+ (_bfd_elf_section_for_symbol): Declare.
+ * elf-eh-frame.c (bfd_elf_discard_eh_frame_entry): New function.
+ (bfd_elf_record_eh_frame_entry): New function.
+ (_bfd_elf_parse_eh_frame_entry): New function.
+ (_bfd_elf_parse_eh_frame): Update hdr_info field references.
+ (cmp_eh_frame_hdr): New function.
+ (add_eh_frame_hdr_terminator): New function.
+ (_bfd_elf_end_eh_frame_parsing): New function.
+ (find_merged_cie): Update hdr_info field references.
+ (_bfd_elf_discard_section_eh_frame): Likewise.
+ (_bfd_elf_discard_section_eh_frame_hdr): Likewise.
+ Add Compact EH support.
+ (_bfd_elf_eh_frame_entry_present): New function.
+ (_bfd_elf_maybe_strip_eh_frame_hdr): Add Compact EH support.
+ (_bfd_elf_write_section_eh_frame_entry): New function.
+ (_bfd_elf_write_section_eh_frame): Update hdr_info field references.
+ (_bfd_elf_write_section_eh_frame): Likewise.
+ (_bfd_elf_fixup_eh_frame_hdr): New function.
+ (write_compact_eh_frame_hdr): New function.
+ (_bfd_elf_write_section_eh_frame_hdr): Compact EH support. Update
+ hdr_info field references.
+ * elflink.c (_bfd_elf_section_for_symbol): New function.
+ (elf_section_ignore_discarded_relocs, elf_link_input_bfd):
+ Handle SEC_INFO_TYPE_EH_FRAME_ENTRY.
+ (bfd_elf_final_link): Call _bfd_elf_fixup_eh_frame_hdr.
+ (_bfd_elf_gc_mark): Support Compact EH.
+ (bfd_elf_parse_eh_frame_entries): New function.
+ (bfd_elf_gc_sections): Support Compact EH.
+ (bfd_elf_discard_info): Likewise.
+ * elfxx-mips.c (_bfd_mips_elf_compact_eh_encoding): New function.
+ (_bfd_mips_elf_cant_unwind_opcode): New function.
+ * elfxx-mips.h (_bfd_mips_elf_compact_eh_encoding): Declare.
+ (_bfd_mips_elf_cant_unwind_opcode): Declare.
+ (elf_backend_compact_eh_encoding): Define.
+ (elf_backend_cant_unwind_opcode): Define.
+ * elfxx-target.h (elf_backend_compact_eh_encoding):
+ Provide default definition.
+ (elf_backend_cant_unwind_opcode): Provide default definition.
+ * section.c (SEC_INFO_TYPE_EH_FRAME_ENTRY): Define.
+>>>>>>> 2015-05-04 Catherine Moore <clm@codesourcery.com>
2015-04-22 H.J. Lu <hongjiu.lu@intel.com>
diff --git a/bfd/bfd-in.h b/bfd/bfd-in.h
index 2e324cdc9e9..ae99d1e3561 100644
--- a/bfd/bfd-in.h
+++ b/bfd/bfd-in.h
@@ -443,9 +443,8 @@ enum compressed_debug_section_type
{
COMPRESS_DEBUG_NONE = 0,
COMPRESS_DEBUG = 1 << 0,
- COMPRESS_DEBUG_ZLIB = COMPRESS_DEBUG | 1 << 1,
- COMPRESS_DEBUG_GNU_ZLIB = COMPRESS_DEBUG | 1 << 2,
- COMPRESS_DEBUG_GABI_ZLIB = COMPRESS_DEBUG | 1 << 3
+ COMPRESS_DEBUG_GNU_ZLIB = COMPRESS_DEBUG | 1 << 1,
+ COMPRESS_DEBUG_GABI_ZLIB = COMPRESS_DEBUG | 1 << 2
};
/* This structure is used to keep track of stabs in sections
diff --git a/bfd/bfd-in2.h b/bfd/bfd-in2.h
index b8f6db97ac9..aad4a2d3a2c 100644
--- a/bfd/bfd-in2.h
+++ b/bfd/bfd-in2.h
@@ -450,9 +450,8 @@ enum compressed_debug_section_type
{
COMPRESS_DEBUG_NONE = 0,
COMPRESS_DEBUG = 1 << 0,
- COMPRESS_DEBUG_ZLIB = COMPRESS_DEBUG | 1 << 1,
- COMPRESS_DEBUG_GNU_ZLIB = COMPRESS_DEBUG | 1 << 2,
- COMPRESS_DEBUG_GABI_ZLIB = COMPRESS_DEBUG | 1 << 3
+ COMPRESS_DEBUG_GNU_ZLIB = COMPRESS_DEBUG | 1 << 1,
+ COMPRESS_DEBUG_GABI_ZLIB = COMPRESS_DEBUG | 1 << 2
};
/* This structure is used to keep track of stabs in sections
@@ -1455,6 +1454,7 @@ typedef struct bfd_section
#define SEC_INFO_TYPE_EH_FRAME 3
#define SEC_INFO_TYPE_JUST_SYMS 4
#define SEC_INFO_TYPE_TARGET 5
+#define SEC_INFO_TYPE_EH_FRAME_ENTRY 6
/* Nonzero if this section uses RELA relocations, rather than REL. */
unsigned int use_rela_p:1;
@@ -4590,6 +4590,7 @@ number for the SBIC, SBIS, SBI and CBI instructions */
BFD_RELOC_RL78_HI8,
BFD_RELOC_RL78_LO16,
BFD_RELOC_RL78_CODE,
+ BFD_RELOC_RL78_SADDR,
/* Renesas RX Relocations. */
BFD_RELOC_RX_NEG8,
@@ -5742,6 +5743,16 @@ the GOT entry for this symbol. Used in conjunction with
BFD_RELOC_AARCH64_ADR_GOTPAGE. Valid in ILP32 ABI only. */
BFD_RELOC_AARCH64_LD32_GOT_LO12_NC,
+/* Unsigned 15 bit byte offset for 64 bit load/store from the page of
+the GOT entry for this symbol. Valid in ILP64 ABI only. */
+ BFD_RELOC_AARCH64_LD64_GOTOFF_LO15,
+
+/* Scaled 14 bit byte offset to the page base of the global offset table. */
+ BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14,
+
+/* Scaled 15 bit byte offset to the page base of the global offset table. */
+ BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15,
+
/* Get to the page base of the global offset table entry for a symbols
tls_index structure as part of an adrp instruction using a 21 bit PC
relative value. Used in conjunction with
@@ -6325,6 +6336,12 @@ enum bfd_plugin_format
bfd_plugin_no = 2
};
+struct bfd_build_id
+ {
+ bfd_size_type size;
+ bfd_byte data[1];
+ };
+
enum bfd_lto_object_type
{
lto_non_object,
@@ -6623,6 +6640,9 @@ struct bfd
struct objalloc *, but we use void * to avoid requiring the inclusion
of objalloc.h. */
void *memory;
+
+ /* For input BFDs, the build ID, if the object has one. */
+ const struct bfd_build_id *build_id;
};
/* See note beside bfd_set_section_userdata. */
diff --git a/bfd/bfd.c b/bfd/bfd.c
index bd9cc387897..ca9b58166d9 100644
--- a/bfd/bfd.c
+++ b/bfd/bfd.c
@@ -51,6 +51,12 @@ CODE_FRAGMENT
. bfd_plugin_no = 2
. };
.
+.struct bfd_build_id
+. {
+. bfd_size_type size;
+. bfd_byte data[1];
+. };
+.
.enum bfd_lto_object_type
. {
. lto_non_object,
@@ -349,6 +355,9 @@ CODE_FRAGMENT
. struct objalloc *, but we use void * to avoid requiring the inclusion
. of objalloc.h. *}
. void *memory;
+.
+. {* For input BFDs, the build ID, if the object has one. *}
+. const struct bfd_build_id *build_id;
.};
.
.{* See note beside bfd_set_section_userdata. *}
diff --git a/bfd/cofflink.c b/bfd/cofflink.c
index 0ac10de8819..c1541d1bd85 100644
--- a/bfd/cofflink.c
+++ b/bfd/cofflink.c
@@ -2915,6 +2915,7 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
struct internal_syment *sym;
bfd_vma addend;
bfd_vma val;
+ asection *sec;
reloc_howto_type *howto;
bfd_reloc_status_type rstat;
@@ -2965,11 +2966,9 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
}
val = 0;
-
+ sec = NULL;
if (h == NULL)
{
- asection *sec;
-
if (symndx == -1)
{
sec = bfd_abs_section_ptr;
@@ -2978,11 +2977,6 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
else
{
sec = sections[symndx];
-
- /* If the output section has been discarded then ignore this reloc. */
- if (sec->output_section->vma == 0)
- continue;
-
val = (sec->output_section->vma
+ sec->output_offset
+ sym->n_value);
@@ -2996,8 +2990,6 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
|| h->root.type == bfd_link_hash_defweak)
{
/* Defined weak symbols are a GNU extension. */
- asection *sec;
-
sec = h->root.u.def.section;
val = (h->root.u.def.value
+ sec->output_section->vma
@@ -3018,7 +3010,6 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
will resolve a weak external only if a normal
external causes the library member to be linked.
See also linker.c: generic_link_check_archive_element. */
- asection *sec;
struct coff_link_hash_entry *h2 =
h->auxbfd->tdata.coff_obj_data->sym_hashes[
h->aux->x_sym.x_tagndx.l];
@@ -3049,6 +3040,15 @@ _bfd_coff_generic_relocate_section (bfd *output_bfd,
}
}
+ /* If the input section defining the symbol has been discarded
+ then zero this reloc field. */
+ if (sec != NULL && discarded_section (sec))
+ {
+ _bfd_clear_contents (howto, input_bfd, input_section,
+ contents + (rel->r_vaddr - input_section->vma));
+ continue;
+ }
+
if (info->base_file)
{
/* Emit a reloc if the backend thinks it needs it. */
diff --git a/bfd/configure b/bfd/configure
index 04af73a1dc6..d668401c38b 100755
--- a/bfd/configure
+++ b/bfd/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for bfd 2.25.51.0.2.
+# Generated by GNU Autoconf 2.64 for bfd 2.25.51.0.3.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
@@ -556,8 +556,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='bfd'
PACKAGE_TARNAME='bfd'
-PACKAGE_VERSION='2.25.51.0.2'
-PACKAGE_STRING='bfd 2.25.51.0.2'
+PACKAGE_VERSION='2.25.51.0.3'
+PACKAGE_STRING='bfd 2.25.51.0.3'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1351,7 +1351,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures bfd 2.25.51.0.2 to adapt to many kinds of systems.
+\`configure' configures bfd 2.25.51.0.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1422,7 +1422,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of bfd 2.25.51.0.2:";;
+ short | recursive ) echo "Configuration of bfd 2.25.51.0.3:";;
esac
cat <<\_ACEOF
@@ -1543,7 +1543,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-bfd configure 2.25.51.0.2
+bfd configure 2.25.51.0.3
generated by GNU Autoconf 2.64
Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2185,7 +2185,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by bfd $as_me 2.25.51.0.2, which was
+It was created by bfd $as_me 2.25.51.0.3, which was
generated by GNU Autoconf 2.64. Invocation command line was
$ $0 $@
@@ -3993,7 +3993,7 @@ fi
# Define the identity of the package.
PACKAGE='bfd'
- VERSION='2.25.51.0.2'
+ VERSION='2.25.51.0.3'
cat >>confdefs.h <<_ACEOF
@@ -16508,7 +16508,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by bfd $as_me 2.25.51.0.2, which was
+This file was extended by bfd $as_me 2.25.51.0.3, which was
generated by GNU Autoconf 2.64. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -16572,7 +16572,7 @@ Report bugs to the package provider."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-bfd config.status 2.25.51.0.2
+bfd config.status 2.25.51.0.3
configured by $0, generated by GNU Autoconf 2.64,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/bfd/doc/ChangeLog b/bfd/doc/ChangeLog
index 07682dae3c3..8bf88807125 100644
--- a/bfd/doc/ChangeLog
+++ b/bfd/doc/ChangeLog
@@ -1,3 +1,8 @@
+2015-06-21 Alan Modra <amodra@gmail.com>
+
+ * Makefile.am: Expand $<.
+ * Makefile.in: Regenerate.
+
2015-02-11 Pedro Alves <palves@redhat.com>
* Makefile.am (libbfd.h, libcoff.h): Close extern "C" scope.
diff --git a/bfd/doc/Makefile.am b/bfd/doc/Makefile.am
index 52da14e2a50..b6e83358e27 100644
--- a/bfd/doc/Makefile.am
+++ b/bfd/doc/Makefile.am
@@ -96,21 +96,21 @@ protos: libbfd.h libcoff.h bfd.h
aoutx.texi: aoutx.stamp ; @true
aoutx.stamp: $(srcdir)/../aoutx.h $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >aoutx.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../aoutx.h >aoutx.tmp
test -e aoutx.texi || test ! -f $(srcdir)/aoutx.texi || cp -p $(srcdir)/aoutx.texi .
$(SHELL) $(srcdir)/../../move-if-change aoutx.tmp aoutx.texi
touch $@
archive.texi: archive.stamp ; @true
archive.stamp: $(srcdir)/../archive.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >archive.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archive.c >archive.tmp
test -e archive.texi || test ! -f $(srcdir)/archive.texi || cp -p $(srcdir)/archive.texi .
$(SHELL) $(srcdir)/../../move-if-change archive.tmp archive.texi
touch $@
archures.texi: archures.stamp ; @true
archures.stamp: $(srcdir)/../archures.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >archures.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archures.c >archures.tmp
test -e archures.texi || test ! -f $(srcdir)/archures.texi || cp -p $(srcdir)/archures.texi .
$(SHELL) $(srcdir)/../../move-if-change archures.tmp archures.texi
touch $@
@@ -119,133 +119,133 @@ archures.stamp: $(srcdir)/../archures.c $(srcdir)/doc.str $(MKDOC)
# bfd.texinfo on an 8.3 filesystem.
bfdt.texi: bfdt.stamp ; @true
bfdt.stamp: $(srcdir)/../bfd.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >bfd.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfd.c >bfd.tmp
test -e bfdt.texi || test ! -f $(srcdir)/bfdt.texi || cp -p $(srcdir)/bfdt.texi .
$(SHELL) $(srcdir)/../../move-if-change bfd.tmp bfdt.texi
touch $@
cache.texi: cache.stamp ; @true
cache.stamp: $(srcdir)/../cache.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >cache.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../cache.c >cache.tmp
test -e cache.texi || test ! -f $(srcdir)/cache.texi || cp -p $(srcdir)/cache.texi .
$(SHELL) $(srcdir)/../../move-if-change cache.tmp cache.texi
touch $@
coffcode.texi: coffcode.stamp ; @true
coffcode.stamp: $(srcdir)/../coffcode.h $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >coffcode.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../coffcode.h >coffcode.tmp
test -e coffcode.texi || test ! -f $(srcdir)/coffcode.texi || cp -p $(srcdir)/coffcode.texi .
$(SHELL) $(srcdir)/../../move-if-change coffcode.tmp coffcode.texi
touch $@
core.texi: core.stamp ; @true
core.stamp: $(srcdir)/../corefile.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >core.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../corefile.c >core.tmp
test -e core.texi || test ! -f $(srcdir)/core.texi || cp -p $(srcdir)/core.texi .
$(SHELL) $(srcdir)/../../move-if-change core.tmp core.texi
touch $@
elf.texi: elf.stamp ; @true
elf.stamp: $(srcdir)/../elf.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >elf.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../elf.c >elf.tmp
test -e elf.texi || test ! -f $(srcdir)/elf.texi || cp -p $(srcdir)/elf.texi .
$(SHELL) $(srcdir)/../../move-if-change elf.tmp elf.texi
touch $@
elfcode.texi: elfcode.stamp ; @true
elfcode.stamp: $(srcdir)/../elfcode.h $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >elfcode.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../elfcode.h >elfcode.tmp
test -e elfcode.texi || test ! -f $(srcdir)/elfcode.texi || cp -p $(srcdir)/elfcode.texi .
$(SHELL) $(srcdir)/../../move-if-change elfcode.tmp elfcode.texi
touch $@
mmo.texi: mmo.stamp ; @true
mmo.stamp: $(srcdir)/../mmo.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >mmo.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../mmo.c >mmo.tmp
test -e mmo.texi || test ! -f $(srcdir)/mmo.texi || cp -p $(srcdir)/mmo.texi .
$(SHELL) $(srcdir)/../../move-if-change mmo.tmp mmo.texi
touch $@
format.texi: format.stamp ; @true
format.stamp: $(srcdir)/../format.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >format.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../format.c >format.tmp
test -e format.texi || test ! -f $(srcdir)/format.texi || cp -p $(srcdir)/format.texi .
$(SHELL) $(srcdir)/../../move-if-change format.tmp format.texi
touch $@
libbfd.texi: libbfd.stamp ; @true
libbfd.stamp: $(srcdir)/../libbfd.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >libbfd.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../libbfd.c >libbfd.tmp
test -e libbfd.texi || test ! -f $(srcdir)/libbfd.texi || cp -p $(srcdir)/libbfd.texi .
$(SHELL) $(srcdir)/../../move-if-change libbfd.tmp libbfd.texi
touch $@
bfdio.texi: bfdio.stamp ; @true
bfdio.stamp: $(srcdir)/../bfdio.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >bfdio.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdio.c >bfdio.tmp
test -e bfdio.texi || test ! -f $(srcdir)/bfdio.texi || cp -p $(srcdir)/bfdio.texi .
$(SHELL) $(srcdir)/../../move-if-change bfdio.tmp bfdio.texi
touch $@
bfdwin.texi: bfdwin.stamp ; @true
bfdwin.stamp: $(srcdir)/../bfdwin.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >bfdwin.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdwin.c >bfdwin.tmp
test -e bfdwin.texi || test ! -f $(srcdir)/bfdwin.texi || cp -p $(srcdir)/bfdwin.texi .
$(SHELL) $(srcdir)/../../move-if-change bfdwin.tmp bfdwin.texi
touch $@
opncls.texi: opncls.stamp ; @true
opncls.stamp: $(srcdir)/../opncls.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >opncls.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../opncls.c >opncls.tmp
test -e opncls.texi || test ! -f $(srcdir)/opncls.texi || cp -p $(srcdir)/opncls.texi .
$(SHELL) $(srcdir)/../../move-if-change opncls.tmp opncls.texi
touch $@
reloc.texi: reloc.stamp ; @true
reloc.stamp: $(srcdir)/../reloc.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >reloc.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../reloc.c >reloc.tmp
test -e reloc.texi || test ! -f $(srcdir)/reloc.texi || cp -p $(srcdir)/reloc.texi .
$(SHELL) $(srcdir)/../../move-if-change reloc.tmp reloc.texi
touch $@
section.texi: section.stamp ; @true
section.stamp: $(srcdir)/../section.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >section.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../section.c >section.tmp
test -e section.texi || test ! -f $(srcdir)/section.texi || cp -p $(srcdir)/section.texi .
$(SHELL) $(srcdir)/../../move-if-change section.tmp section.texi
touch $@
syms.texi: syms.stamp ; @true
syms.stamp: $(srcdir)/../syms.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >syms.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../syms.c >syms.tmp
test -e syms.texi || test ! -f $(srcdir)/syms.texi || cp -p $(srcdir)/syms.texi .
$(SHELL) $(srcdir)/../../move-if-change syms.tmp syms.texi
touch $@
targets.texi: targets.stamp ; @true
targets.stamp: $(srcdir)/../targets.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >targets.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../targets.c >targets.tmp
test -e targets.texi || test ! -f $(srcdir)/targets.texi || cp -p $(srcdir)/targets.texi .
$(SHELL) $(srcdir)/../../move-if-change targets.tmp targets.texi
touch $@
init.texi: init.stamp ; @true
init.stamp: $(srcdir)/../init.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >init.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../init.c >init.tmp
test -e init.texi || test ! -f $(srcdir)/init.texi || cp -p $(srcdir)/init.texi .
$(SHELL) $(srcdir)/../../move-if-change init.tmp init.texi
touch $@
hash.texi: hash.stamp ; @true
hash.stamp: $(srcdir)/../hash.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >hash.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../hash.c >hash.tmp
test -e hash.texi || test ! -f $(srcdir)/hash.texi || cp -p $(srcdir)/hash.texi .
$(SHELL) $(srcdir)/../../move-if-change hash.tmp hash.texi
touch $@
linker.texi: linker.stamp ; @true
linker.stamp: $(srcdir)/../linker.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >linker.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../linker.c >linker.tmp
test -e linker.texi || test ! -f $(srcdir)/linker.texi || cp -p $(srcdir)/linker.texi .
$(SHELL) $(srcdir)/../../move-if-change linker.tmp linker.texi
touch $@
diff --git a/bfd/doc/Makefile.in b/bfd/doc/Makefile.in
index cb9a214e5b9..74be3cbe87f 100644
--- a/bfd/doc/Makefile.in
+++ b/bfd/doc/Makefile.in
@@ -798,21 +798,21 @@ protos: libbfd.h libcoff.h bfd.h
aoutx.texi: aoutx.stamp ; @true
aoutx.stamp: $(srcdir)/../aoutx.h $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >aoutx.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../aoutx.h >aoutx.tmp
test -e aoutx.texi || test ! -f $(srcdir)/aoutx.texi || cp -p $(srcdir)/aoutx.texi .
$(SHELL) $(srcdir)/../../move-if-change aoutx.tmp aoutx.texi
touch $@
archive.texi: archive.stamp ; @true
archive.stamp: $(srcdir)/../archive.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >archive.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archive.c >archive.tmp
test -e archive.texi || test ! -f $(srcdir)/archive.texi || cp -p $(srcdir)/archive.texi .
$(SHELL) $(srcdir)/../../move-if-change archive.tmp archive.texi
touch $@
archures.texi: archures.stamp ; @true
archures.stamp: $(srcdir)/../archures.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >archures.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../archures.c >archures.tmp
test -e archures.texi || test ! -f $(srcdir)/archures.texi || cp -p $(srcdir)/archures.texi .
$(SHELL) $(srcdir)/../../move-if-change archures.tmp archures.texi
touch $@
@@ -821,133 +821,133 @@ archures.stamp: $(srcdir)/../archures.c $(srcdir)/doc.str $(MKDOC)
# bfd.texinfo on an 8.3 filesystem.
bfdt.texi: bfdt.stamp ; @true
bfdt.stamp: $(srcdir)/../bfd.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >bfd.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfd.c >bfd.tmp
test -e bfdt.texi || test ! -f $(srcdir)/bfdt.texi || cp -p $(srcdir)/bfdt.texi .
$(SHELL) $(srcdir)/../../move-if-change bfd.tmp bfdt.texi
touch $@
cache.texi: cache.stamp ; @true
cache.stamp: $(srcdir)/../cache.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >cache.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../cache.c >cache.tmp
test -e cache.texi || test ! -f $(srcdir)/cache.texi || cp -p $(srcdir)/cache.texi .
$(SHELL) $(srcdir)/../../move-if-change cache.tmp cache.texi
touch $@
coffcode.texi: coffcode.stamp ; @true
coffcode.stamp: $(srcdir)/../coffcode.h $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >coffcode.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../coffcode.h >coffcode.tmp
test -e coffcode.texi || test ! -f $(srcdir)/coffcode.texi || cp -p $(srcdir)/coffcode.texi .
$(SHELL) $(srcdir)/../../move-if-change coffcode.tmp coffcode.texi
touch $@
core.texi: core.stamp ; @true
core.stamp: $(srcdir)/../corefile.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >core.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../corefile.c >core.tmp
test -e core.texi || test ! -f $(srcdir)/core.texi || cp -p $(srcdir)/core.texi .
$(SHELL) $(srcdir)/../../move-if-change core.tmp core.texi
touch $@
elf.texi: elf.stamp ; @true
elf.stamp: $(srcdir)/../elf.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >elf.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../elf.c >elf.tmp
test -e elf.texi || test ! -f $(srcdir)/elf.texi || cp -p $(srcdir)/elf.texi .
$(SHELL) $(srcdir)/../../move-if-change elf.tmp elf.texi
touch $@
elfcode.texi: elfcode.stamp ; @true
elfcode.stamp: $(srcdir)/../elfcode.h $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >elfcode.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../elfcode.h >elfcode.tmp
test -e elfcode.texi || test ! -f $(srcdir)/elfcode.texi || cp -p $(srcdir)/elfcode.texi .
$(SHELL) $(srcdir)/../../move-if-change elfcode.tmp elfcode.texi
touch $@
mmo.texi: mmo.stamp ; @true
mmo.stamp: $(srcdir)/../mmo.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >mmo.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../mmo.c >mmo.tmp
test -e mmo.texi || test ! -f $(srcdir)/mmo.texi || cp -p $(srcdir)/mmo.texi .
$(SHELL) $(srcdir)/../../move-if-change mmo.tmp mmo.texi
touch $@
format.texi: format.stamp ; @true
format.stamp: $(srcdir)/../format.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >format.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../format.c >format.tmp
test -e format.texi || test ! -f $(srcdir)/format.texi || cp -p $(srcdir)/format.texi .
$(SHELL) $(srcdir)/../../move-if-change format.tmp format.texi
touch $@
libbfd.texi: libbfd.stamp ; @true
libbfd.stamp: $(srcdir)/../libbfd.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >libbfd.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../libbfd.c >libbfd.tmp
test -e libbfd.texi || test ! -f $(srcdir)/libbfd.texi || cp -p $(srcdir)/libbfd.texi .
$(SHELL) $(srcdir)/../../move-if-change libbfd.tmp libbfd.texi
touch $@
bfdio.texi: bfdio.stamp ; @true
bfdio.stamp: $(srcdir)/../bfdio.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >bfdio.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdio.c >bfdio.tmp
test -e bfdio.texi || test ! -f $(srcdir)/bfdio.texi || cp -p $(srcdir)/bfdio.texi .
$(SHELL) $(srcdir)/../../move-if-change bfdio.tmp bfdio.texi
touch $@
bfdwin.texi: bfdwin.stamp ; @true
bfdwin.stamp: $(srcdir)/../bfdwin.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >bfdwin.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../bfdwin.c >bfdwin.tmp
test -e bfdwin.texi || test ! -f $(srcdir)/bfdwin.texi || cp -p $(srcdir)/bfdwin.texi .
$(SHELL) $(srcdir)/../../move-if-change bfdwin.tmp bfdwin.texi
touch $@
opncls.texi: opncls.stamp ; @true
opncls.stamp: $(srcdir)/../opncls.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >opncls.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../opncls.c >opncls.tmp
test -e opncls.texi || test ! -f $(srcdir)/opncls.texi || cp -p $(srcdir)/opncls.texi .
$(SHELL) $(srcdir)/../../move-if-change opncls.tmp opncls.texi
touch $@
reloc.texi: reloc.stamp ; @true
reloc.stamp: $(srcdir)/../reloc.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >reloc.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../reloc.c >reloc.tmp
test -e reloc.texi || test ! -f $(srcdir)/reloc.texi || cp -p $(srcdir)/reloc.texi .
$(SHELL) $(srcdir)/../../move-if-change reloc.tmp reloc.texi
touch $@
section.texi: section.stamp ; @true
section.stamp: $(srcdir)/../section.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >section.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../section.c >section.tmp
test -e section.texi || test ! -f $(srcdir)/section.texi || cp -p $(srcdir)/section.texi .
$(SHELL) $(srcdir)/../../move-if-change section.tmp section.texi
touch $@
syms.texi: syms.stamp ; @true
syms.stamp: $(srcdir)/../syms.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >syms.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../syms.c >syms.tmp
test -e syms.texi || test ! -f $(srcdir)/syms.texi || cp -p $(srcdir)/syms.texi .
$(SHELL) $(srcdir)/../../move-if-change syms.tmp syms.texi
touch $@
targets.texi: targets.stamp ; @true
targets.stamp: $(srcdir)/../targets.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >targets.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../targets.c >targets.tmp
test -e targets.texi || test ! -f $(srcdir)/targets.texi || cp -p $(srcdir)/targets.texi .
$(SHELL) $(srcdir)/../../move-if-change targets.tmp targets.texi
touch $@
init.texi: init.stamp ; @true
init.stamp: $(srcdir)/../init.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >init.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../init.c >init.tmp
test -e init.texi || test ! -f $(srcdir)/init.texi || cp -p $(srcdir)/init.texi .
$(SHELL) $(srcdir)/../../move-if-change init.tmp init.texi
touch $@
hash.texi: hash.stamp ; @true
hash.stamp: $(srcdir)/../hash.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >hash.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../hash.c >hash.tmp
test -e hash.texi || test ! -f $(srcdir)/hash.texi || cp -p $(srcdir)/hash.texi .
$(SHELL) $(srcdir)/../../move-if-change hash.tmp hash.texi
touch $@
linker.texi: linker.stamp ; @true
linker.stamp: $(srcdir)/../linker.c $(srcdir)/doc.str $(MKDOC)
- ./$(MKDOC) -f $(srcdir)/doc.str < $< >linker.tmp
+ ./$(MKDOC) -f $(srcdir)/doc.str < $(srcdir)/../linker.c >linker.tmp
test -e linker.texi || test ! -f $(srcdir)/linker.texi || cp -p $(srcdir)/linker.texi .
$(SHELL) $(srcdir)/../../move-if-change linker.tmp linker.texi
touch $@
diff --git a/bfd/elf-bfd.h b/bfd/elf-bfd.h
index db77706c217..b65956e7374 100644
--- a/bfd/elf-bfd.h
+++ b/bfd/elf-bfd.h
@@ -388,16 +388,41 @@ struct eh_frame_array_ent
struct htab;
-struct eh_frame_hdr_info
+#define DWARF2_EH_HDR 1
+#define COMPACT_EH_HDR 2
+
+/* Endian-neutral code indicating that a function cannot be unwound. */
+#define COMPACT_EH_CANT_UNWIND_OPCODE 0x015d5d01
+
+struct dwarf_eh_frame_hdr_info
{
struct htab *cies;
- asection *hdr_sec;
- unsigned int fde_count, array_count;
- struct eh_frame_array_ent *array;
+ unsigned int fde_count;
/* TRUE if .eh_frame_hdr should contain the sorted search table.
We build it if we successfully read all .eh_frame input sections
and recognize them. */
bfd_boolean table;
+ struct eh_frame_array_ent *array;
+};
+
+struct compact_eh_frame_hdr_info
+{
+ unsigned int allocated_entries;
+ /* eh_frame_entry fragments. */
+ asection **entries;
+};
+
+struct eh_frame_hdr_info
+{
+ asection *hdr_sec;
+ unsigned int array_count;
+ bfd_boolean frame_hdr_is_compact;
+ union
+ {
+ struct dwarf_eh_frame_hdr_info dwarf;
+ struct compact_eh_frame_hdr_info compact;
+ }
+ u;
};
/* Enum used to identify target specific extensions to the elf_obj_tdata
@@ -444,6 +469,13 @@ enum elf_target_id
GENERIC_ELF_DATA
};
+struct elf_sym_strtab
+{
+ Elf_Internal_Sym sym;
+ unsigned long dest_index;
+ unsigned long destshndx_index;
+};
+
/* ELF linker hash table. */
struct elf_link_hash_table
@@ -487,6 +519,17 @@ struct elf_link_hash_table
section. */
struct elf_strtab_hash *dynstr;
+ /* The number of symbol strings found in the link which must be put
+ into the .strtab section. */
+ bfd_size_type strtabcount;
+
+ /* The array size of the symbol string table, which becomes the
+ .strtab section. */
+ bfd_size_type strtabsize;
+
+ /* The array of strings, which becomes the .strtab section. */
+ struct elf_sym_strtab *strtab;
+
/* The number of buckets in the hash table in the .hash section.
This is based on the number of dynamic symbols. */
bfd_size_type bucketcount;
@@ -1292,6 +1335,12 @@ struct elf_backend_data
or give an error and return FALSE. */
bfd_boolean (*obj_attrs_handle_unknown) (bfd *, int);
+ /* Encoding used for compact EH tables. */
+ int (*compact_eh_encoding) (struct bfd_link_info *);
+
+ /* Opcode representing no unwind. */
+ int (*cant_unwind_opcode) (struct bfd_link_info *);
+
/* This is non-zero if static TLS segments require a special alignment. */
unsigned static_tls_alignment;
@@ -1446,6 +1495,9 @@ struct bfd_elf_section_data
field acts as a chain pointer. */
struct eh_cie_fde *fde_list;
+ /* Link from a text section to its .eh_frame_entry section. */
+ asection *eh_frame_entry;
+
/* A pointer used for various section optimizations. */
void *sec_info;
};
@@ -1459,6 +1511,7 @@ struct bfd_elf_section_data
#define elf_next_in_group(sec) (elf_section_data(sec)->next_in_group)
#define elf_fde_list(sec) (elf_section_data(sec)->fde_list)
#define elf_sec_group(sec) (elf_section_data(sec)->sec_group)
+#define elf_section_eh_frame_entry(sec) (elf_section_data(sec)->eh_frame_entry)
#define xvec_get_elf_backend_data(xvec) \
((const struct elf_backend_data *) (xvec)->backend_data)
@@ -1529,13 +1582,6 @@ struct sdt_note
bfd_byte data[1];
};
-/* NT_GNU_BUILD_ID note type info for input BFDs. */
-struct elf_build_id
-{
- size_t size;
- bfd_byte data[1];
-};
-
/* tdata information grabbed from an elf core file. */
struct core_elf_obj_tdata
{
@@ -1670,9 +1716,6 @@ struct elf_obj_tdata
obj_attribute known_obj_attributes[2][NUM_KNOWN_OBJ_ATTRIBUTES];
obj_attribute_list *other_obj_attributes[2];
- /* NT_GNU_BUILD_ID note type. */
- struct elf_build_id *build_id;
-
/* Linked-list containing information about every Systemtap section
found in the object file. Each section corresponds to one entry
in the list. */
@@ -1956,8 +1999,6 @@ extern Elf_Internal_Sym *bfd_sym_from_r_symndx
(struct sym_cache *, bfd *, unsigned long);
extern asection *bfd_section_from_elf_index
(bfd *, unsigned int);
-extern struct bfd_strtab_hash *_bfd_elf_stringtab_init
- (void);
extern struct elf_strtab_hash * _bfd_elf_strtab_init
(void);
@@ -1984,8 +2025,15 @@ extern bfd_boolean _bfd_elf_strtab_emit
extern void _bfd_elf_strtab_finalize
(struct elf_strtab_hash *);
+extern bfd_boolean bfd_elf_parse_eh_frame_entries
+ (bfd *, struct bfd_link_info *);
+extern bfd_boolean _bfd_elf_parse_eh_frame_entry
+ (struct bfd_link_info *, asection *, struct elf_reloc_cookie *);
extern void _bfd_elf_parse_eh_frame
(bfd *, struct bfd_link_info *, asection *, struct elf_reloc_cookie *);
+extern bfd_boolean _bfd_elf_end_eh_frame_parsing
+ (struct bfd_link_info *info);
+
extern bfd_boolean _bfd_elf_discard_section_eh_frame
(bfd *, struct bfd_link_info *, asection *,
bfd_boolean (*) (bfd_vma, void *), struct elf_reloc_cookie *);
@@ -1995,10 +2043,15 @@ extern bfd_vma _bfd_elf_eh_frame_section_offset
(bfd *, struct bfd_link_info *, asection *, bfd_vma);
extern bfd_boolean _bfd_elf_write_section_eh_frame
(bfd *, struct bfd_link_info *, asection *, bfd_byte *);
+bfd_boolean _bfd_elf_write_section_eh_frame_entry
+ (bfd *, struct bfd_link_info *, asection *, bfd_byte *);
+extern bfd_boolean _bfd_elf_fixup_eh_frame_hdr (struct bfd_link_info *);
extern bfd_boolean _bfd_elf_write_section_eh_frame_hdr
(bfd *, struct bfd_link_info *);
extern bfd_boolean _bfd_elf_eh_frame_present
(struct bfd_link_info *);
+extern bfd_boolean _bfd_elf_eh_frame_entry_present
+ (struct bfd_link_info *);
extern bfd_boolean _bfd_elf_maybe_strip_eh_frame_hdr
(struct bfd_link_info *);
@@ -2022,6 +2075,8 @@ extern bfd_boolean _bfd_elf_create_dynamic_sections
(bfd *, struct bfd_link_info *);
extern bfd_boolean _bfd_elf_create_got_section
(bfd *, struct bfd_link_info *);
+extern asection *_bfd_elf_section_for_symbol
+ (struct elf_reloc_cookie *, unsigned long, bfd_boolean);
extern struct elf_link_hash_entry *_bfd_elf_define_linkage_sym
(bfd *, struct bfd_link_info *, asection *, const char *);
extern void _bfd_elf_init_1_index_section
diff --git a/bfd/elf-eh-frame.c b/bfd/elf-eh-frame.c
index faa04617ee8..22068ab3b9d 100644
--- a/bfd/elf-eh-frame.c
+++ b/bfd/elf-eh-frame.c
@@ -452,6 +452,111 @@ make_pc_relative (unsigned char encoding, unsigned int ptr_size)
return encoding | DW_EH_PE_pcrel;
}
+/* Examine each .eh_frame_entry section and discard those
+ those that are marked SEC_EXCLUDE. */
+
+static void
+bfd_elf_discard_eh_frame_entry (struct eh_frame_hdr_info *hdr_info)
+{
+ unsigned int i;
+ for (i = 0; i < hdr_info->array_count; i++)
+ {
+ if (hdr_info->u.compact.entries[i]->flags & SEC_EXCLUDE)
+ {
+ unsigned int j;
+ for (j = i + 1; j < hdr_info->array_count; j++)
+ hdr_info->u.compact.entries[j-1] = hdr_info->u.compact.entries[j];
+
+ hdr_info->array_count--;
+ hdr_info->u.compact.entries[hdr_info->array_count] = NULL;
+ i--;
+ }
+ }
+}
+
+/* Add a .eh_frame_entry section. */
+
+static void
+bfd_elf_record_eh_frame_entry (struct eh_frame_hdr_info *hdr_info,
+ asection *sec)
+{
+ if (hdr_info->array_count == hdr_info->u.compact.allocated_entries)
+ {
+ if (hdr_info->u.compact.allocated_entries == 0)
+ {
+ hdr_info->frame_hdr_is_compact = TRUE;
+ hdr_info->u.compact.allocated_entries = 2;
+ hdr_info->u.compact.entries =
+ bfd_malloc (hdr_info->u.compact.allocated_entries
+ * sizeof (hdr_info->u.compact.entries[0]));
+ }
+ else
+ {
+ hdr_info->u.compact.allocated_entries *= 2;
+ hdr_info->u.compact.entries =
+ bfd_realloc (hdr_info->u.compact.entries,
+ hdr_info->u.compact.allocated_entries
+ * sizeof (hdr_info->u.compact.entries[0]));
+ }
+
+ BFD_ASSERT (hdr_info->u.compact.entries);
+ }
+
+ hdr_info->u.compact.entries[hdr_info->array_count++] = sec;
+}
+
+/* Parse a .eh_frame_entry section. Figure out which text section it
+ references. */
+
+bfd_boolean
+_bfd_elf_parse_eh_frame_entry (struct bfd_link_info *info,
+ asection *sec, struct elf_reloc_cookie *cookie)
+{
+ struct elf_link_hash_table *htab;
+ struct eh_frame_hdr_info *hdr_info;
+ unsigned long r_symndx;
+ asection *text_sec;
+
+ htab = elf_hash_table (info);
+ hdr_info = &htab->eh_info;
+
+ if (sec->size == 0
+ || sec->sec_info_type != SEC_INFO_TYPE_NONE)
+ {
+ return TRUE;
+ }
+
+ if (sec->output_section && bfd_is_abs_section (sec->output_section))
+ {
+ /* At least one of the sections is being discarded from the
+ link, so we should just ignore them. */
+ return TRUE;
+ }
+
+ if (cookie->rel == cookie->relend)
+ return FALSE;
+
+ /* The first relocation is the function start. */
+ r_symndx = cookie->rel->r_info >> cookie->r_sym_shift;
+ if (r_symndx == STN_UNDEF)
+ return FALSE;
+
+ text_sec = _bfd_elf_section_for_symbol (cookie, r_symndx, FALSE);
+
+ if (text_sec == NULL)
+ return FALSE;
+
+ elf_section_eh_frame_entry (text_sec) = sec;
+ if (text_sec->output_section
+ && bfd_is_abs_section (text_sec->output_section))
+ sec->flags |= SEC_EXCLUDE;
+
+ sec->sec_info_type = SEC_INFO_TYPE_EH_FRAME_ENTRY;
+ elf_section_data (sec)->sec_info = text_sec;
+ bfd_elf_record_eh_frame_entry (hdr_info, sec);
+ return TRUE;
+}
+
/* Try to parse .eh_frame section SEC, which belongs to ABFD. Store the
information in the section's sec_info field on success. COOKIE
describes the relocations in SEC. */
@@ -925,7 +1030,7 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
(*info->callbacks->einfo)
(_("%P: error in %B(%A); no .eh_frame_hdr table will be created.\n"),
abfd, sec);
- hdr_info->table = FALSE;
+ hdr_info->u.dwarf.table = FALSE;
if (sec_info)
free (sec_info);
success:
@@ -936,6 +1041,89 @@ _bfd_elf_parse_eh_frame (bfd *abfd, struct bfd_link_info *info,
#undef REQUIRE
}
+/* Order eh_frame_hdr entries by the VMA of their text section. */
+
+static int
+cmp_eh_frame_hdr (const void *a, const void *b)
+{
+ bfd_vma text_a;
+ bfd_vma text_b;
+ asection *sec;
+
+ sec = *(asection *const *)a;
+ sec = (asection *) elf_section_data (sec)->sec_info;
+ text_a = sec->output_section->vma + sec->output_offset;
+ sec = *(asection *const *)b;
+ sec = (asection *) elf_section_data (sec)->sec_info;
+ text_b = sec->output_section->vma + sec->output_offset;
+
+ if (text_a < text_b)
+ return -1;
+ return text_a > text_b;
+
+}
+
+/* Add space for a CANTUNWIND terminator to SEC if the text sections
+ referenced by it and NEXT are not contiguous, or NEXT is NULL. */
+
+static void
+add_eh_frame_hdr_terminator (asection *sec,
+ asection *next)
+{
+ bfd_vma end;
+ bfd_vma next_start;
+ asection *text_sec;
+
+ if (next)
+ {
+ /* See if there is a gap (presumably a text section without unwind info)
+ between these two entries. */
+ text_sec = (asection *) elf_section_data (sec)->sec_info;
+ end = text_sec->output_section->vma + text_sec->output_offset
+ + text_sec->size;
+ text_sec = (asection *) elf_section_data (next)->sec_info;
+ next_start = text_sec->output_section->vma + text_sec->output_offset;
+ if (end == next_start)
+ return;
+ }
+
+ /* Add space for a CANTUNWIND terminator. */
+ if (!sec->rawsize)
+ sec->rawsize = sec->size;
+
+ bfd_set_section_size (sec->owner, sec, sec->size + 8);
+}
+
+/* Finish a pass over all .eh_frame_entry sections. */
+
+bfd_boolean
+_bfd_elf_end_eh_frame_parsing (struct bfd_link_info *info)
+{
+ struct eh_frame_hdr_info *hdr_info;
+ unsigned int i;
+
+ hdr_info = &elf_hash_table (info)->eh_info;
+
+ if (info->eh_frame_hdr_type != COMPACT_EH_HDR
+ || hdr_info->array_count == 0)
+ return FALSE;
+
+ bfd_elf_discard_eh_frame_entry (hdr_info);
+
+ qsort (hdr_info->u.compact.entries, hdr_info->array_count,
+ sizeof (asection *), cmp_eh_frame_hdr);
+
+ for (i = 0; i < hdr_info->array_count - 1; i++)
+ {
+ add_eh_frame_hdr_terminator (hdr_info->u.compact.entries[i],
+ hdr_info->u.compact.entries[i + 1]);
+ }
+
+ /* Add a CANTUNWIND terminator after the last entry. */
+ add_eh_frame_hdr_terminator (hdr_info->u.compact.entries[i], NULL);
+ return TRUE;
+}
+
/* Mark all relocations against CIE or FDE ENT, which occurs in
.eh_frame section SEC. COOKIE describes the relocations in SEC;
its "rel" field can be changed freely. */
@@ -1089,13 +1277,14 @@ find_merged_cie (bfd *abfd, struct bfd_link_info *info, asection *sec,
/* See if we can merge this CIE with an earlier one. */
cie_compute_hash (cie);
- if (hdr_info->cies == NULL)
+ if (hdr_info->u.dwarf.cies == NULL)
{
- hdr_info->cies = htab_try_create (1, cie_hash, cie_eq, free);
- if (hdr_info->cies == NULL)
+ hdr_info->u.dwarf.cies = htab_try_create (1, cie_hash, cie_eq, free);
+ if (hdr_info->u.dwarf.cies == NULL)
return cie_inf;
}
- loc = htab_find_slot_with_hash (hdr_info->cies, cie, cie->hash, INSERT);
+ loc = htab_find_slot_with_hash (hdr_info->u.dwarf.cies, cie,
+ cie->hash, INSERT);
if (loc == NULL)
return cie_inf;
@@ -1185,13 +1374,13 @@ _bfd_elf_discard_section_eh_frame
which we cannot turn into PC relative,
don't create the binary search table,
since it is affected by runtime relocations. */
- hdr_info->table = FALSE;
+ hdr_info->u.dwarf.table = FALSE;
(*info->callbacks->einfo)
(_("%P: FDE encoding in %B(%A) prevents .eh_frame_hdr"
" table being created.\n"), abfd, sec);
}
ent->removed = 0;
- hdr_info->fde_count++;
+ hdr_info->u.dwarf.fde_count++;
ent->u.fde.cie_inf = find_merged_cie (abfd, info, sec, hdr_info,
cookie, ent->u.fde.cie_inf);
}
@@ -1230,19 +1419,28 @@ _bfd_elf_discard_section_eh_frame_hdr (bfd *abfd, struct bfd_link_info *info)
htab = elf_hash_table (info);
hdr_info = &htab->eh_info;
- if (hdr_info->cies != NULL)
+ if (!hdr_info->frame_hdr_is_compact && hdr_info->u.dwarf.cies != NULL)
{
- htab_delete (hdr_info->cies);
- hdr_info->cies = NULL;
+ htab_delete (hdr_info->u.dwarf.cies);
+ hdr_info->u.dwarf.cies = NULL;
}
sec = hdr_info->hdr_sec;
if (sec == NULL)
return FALSE;
- sec->size = EH_FRAME_HDR_SIZE;
- if (hdr_info->table)
- sec->size += 4 + hdr_info->fde_count * 8;
+ if (info->eh_frame_hdr_type == COMPACT_EH_HDR)
+ {
+ /* For compact frames we only add the header. The actual table comes
+ from the .eh_frame_entry sections. */
+ sec->size = 8;
+ }
+ else
+ {
+ sec->size = EH_FRAME_HDR_SIZE;
+ if (hdr_info->u.dwarf.table)
+ sec->size += 4 + hdr_info->u.dwarf.fde_count * 8;
+ }
elf_eh_frame_hdr (abfd) = sec;
return TRUE;
@@ -1251,6 +1449,7 @@ _bfd_elf_discard_section_eh_frame_hdr (bfd *abfd, struct bfd_link_info *info)
/* Return true if there is at least one non-empty .eh_frame section in
input files. Can only be called after ld has mapped input to
output sections, and before sections are stripped. */
+
bfd_boolean
_bfd_elf_eh_frame_present (struct bfd_link_info *info)
{
@@ -1268,6 +1467,29 @@ _bfd_elf_eh_frame_present (struct bfd_link_info *info)
return FALSE;
}
+/* Return true if there is at least one .eh_frame_entry section in
+ input files. */
+
+bfd_boolean
+_bfd_elf_eh_frame_entry_present (struct bfd_link_info *info)
+{
+ asection *o;
+ bfd *abfd;
+
+ for (abfd = info->input_bfds; abfd != NULL; abfd = abfd->link.next)
+ {
+ for (o = abfd->sections; o; o = o->next)
+ {
+ const char *name = bfd_get_section_name (abfd, o);
+
+ if (strcmp (name, ".eh_frame_entry")
+ && !bfd_is_abs_section (o->output_section))
+ return TRUE;
+ }
+ }
+ return FALSE;
+}
+
/* This function is called from size_dynamic_sections.
It needs to decide whether .eh_frame_hdr should be output or not,
because when the dynamic symbol table has been sized it is too late
@@ -1278,6 +1500,8 @@ _bfd_elf_maybe_strip_eh_frame_hdr (struct bfd_link_info *info)
{
struct elf_link_hash_table *htab;
struct eh_frame_hdr_info *hdr_info;
+ struct bfd_link_hash_entry *bh = NULL;
+ struct elf_link_hash_entry *h;
htab = elf_hash_table (info);
hdr_info = &htab->eh_info;
@@ -1285,15 +1509,32 @@ _bfd_elf_maybe_strip_eh_frame_hdr (struct bfd_link_info *info)
return TRUE;
if (bfd_is_abs_section (hdr_info->hdr_sec->output_section)
- || !info->eh_frame_hdr
- || !_bfd_elf_eh_frame_present (info))
+ || info->eh_frame_hdr_type == 0
+ || (info->eh_frame_hdr_type == DWARF2_EH_HDR
+ && !_bfd_elf_eh_frame_present (info))
+ || (info->eh_frame_hdr_type == COMPACT_EH_HDR
+ && !_bfd_elf_eh_frame_entry_present (info)))
{
hdr_info->hdr_sec->flags |= SEC_EXCLUDE;
hdr_info->hdr_sec = NULL;
return TRUE;
}
- hdr_info->table = TRUE;
+ /* Add a hidden symbol so that systems without access to PHDRs can
+ find the table. */
+ if (! (_bfd_generic_link_add_one_symbol
+ (info, info->output_bfd, "__GNU_EH_FRAME_HDR", BSF_LOCAL,
+ hdr_info->hdr_sec, 0, NULL, FALSE, FALSE, &bh)))
+ return FALSE;
+
+ h = (struct elf_link_hash_entry *) bh;
+ h->def_regular = 1;
+ h->other = STV_HIDDEN;
+ get_elf_backend_data
+ (info->output_bfd)->elf_backend_hide_symbol (info, h, TRUE);
+
+ if (!hdr_info->frame_hdr_is_compact)
+ hdr_info->u.dwarf.table = TRUE;
return TRUE;
}
@@ -1384,6 +1625,83 @@ _bfd_elf_eh_frame_section_offset (bfd *output_bfd ATTRIBUTE_UNUSED,
+ extra_augmentation_data_bytes (sec_info->entry + mid));
}
+/* Write out .eh_frame_entry section. Add CANTUNWIND terminator if needed.
+ Also check that the contents look sane. */
+
+bfd_boolean
+_bfd_elf_write_section_eh_frame_entry (bfd *abfd, struct bfd_link_info *info,
+ asection *sec, bfd_byte *contents)
+{
+ const struct elf_backend_data *bed;
+ bfd_byte cantunwind[8];
+ bfd_vma addr;
+ bfd_vma last_addr;
+ bfd_vma offset;
+ asection *text_sec = (asection *) elf_section_data (sec)->sec_info;
+
+ if (!sec->rawsize)
+ sec->rawsize = sec->size;
+
+ BFD_ASSERT (sec->sec_info_type == SEC_INFO_TYPE_EH_FRAME_ENTRY);
+
+ /* Check to make sure that the text section corresponding to this eh_frame_entry
+ section has not been excluded. In particular, mips16 stub entries will be
+ excluded outside of the normal process. */
+ if (sec->flags & SEC_EXCLUDE
+ || text_sec->flags & SEC_EXCLUDE)
+ return TRUE;
+
+ if (!bfd_set_section_contents (abfd, sec->output_section, contents,
+ sec->output_offset, sec->rawsize))
+ return FALSE;
+
+ last_addr = bfd_get_signed_32 (abfd, contents);
+ /* Check that all the entries are in order. */
+ for (offset = 8; offset < sec->rawsize; offset += 8)
+ {
+ addr = bfd_get_signed_32 (abfd, contents + offset) + offset;
+ if (addr <= last_addr)
+ {
+ (*_bfd_error_handler) (_("%B: %s not in order"), sec->owner, sec->name);
+ return FALSE;
+ }
+
+ last_addr = addr;
+ }
+
+ addr = text_sec->output_section->vma + text_sec->output_offset
+ + text_sec->size;
+ addr &= ~1;
+ addr -= (sec->output_section->vma + sec->output_offset + sec->rawsize);
+ if (addr & 1)
+ {
+ (*_bfd_error_handler) (_("%B: %s invalid input section size"),
+ sec->owner, sec->name);
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+ if (last_addr >= addr + sec->rawsize)
+ {
+ (*_bfd_error_handler) (_("%B: %s points past end of text section"),
+ sec->owner, sec->name);
+ bfd_set_error (bfd_error_bad_value);
+ return FALSE;
+ }
+
+ if (sec->size == sec->rawsize)
+ return TRUE;
+
+ bed = get_elf_backend_data (abfd);
+ BFD_ASSERT (sec->size == sec->rawsize + 8);
+ BFD_ASSERT ((addr & 1) == 0);
+ BFD_ASSERT (bed->cant_unwind_opcode);
+
+ bfd_put_32 (abfd, addr, cantunwind);
+ bfd_put_32 (abfd, (*bed->cant_unwind_opcode) (info), cantunwind + 4);
+ return bfd_set_section_contents (abfd, sec->output_section, cantunwind,
+ sec->output_offset + sec->rawsize, 8);
+}
+
/* Write out .eh_frame section. This is called with the relocated
contents. */
@@ -1413,10 +1731,14 @@ _bfd_elf_write_section_eh_frame (bfd *abfd,
htab = elf_hash_table (info);
hdr_info = &htab->eh_info;
- if (hdr_info->table && hdr_info->array == NULL)
- hdr_info->array = (struct eh_frame_array_ent *)
- bfd_malloc (hdr_info->fde_count * sizeof(*hdr_info->array));
- if (hdr_info->array == NULL)
+ if (hdr_info->u.dwarf.table && hdr_info->u.dwarf.array == NULL)
+ {
+ hdr_info->frame_hdr_is_compact = FALSE;
+ hdr_info->u.dwarf.array = (struct eh_frame_array_ent *)
+ bfd_malloc (hdr_info->u.dwarf.fde_count
+ * sizeof (*hdr_info->u.dwarf.array));
+ }
+ if (hdr_info->u.dwarf.array == NULL)
hdr_info = NULL;
/* The new offsets can be bigger or smaller than the original offsets.
@@ -1651,10 +1973,11 @@ _bfd_elf_write_section_eh_frame (bfd *abfd,
dwarf_vma is 64-bit. */
if (sizeof (address) > 4 && ptr_size == 4)
address &= 0xffffffff;
- hdr_info->array[hdr_info->array_count].initial_loc = address;
- hdr_info->array[hdr_info->array_count].range
+ hdr_info->u.dwarf.array[hdr_info->array_count].initial_loc
+ = address;
+ hdr_info->u.dwarf.array[hdr_info->array_count].range
= read_value (abfd, buf + width, width, FALSE);
- hdr_info->array[hdr_info->array_count++].fde
+ hdr_info->u.dwarf.array[hdr_info->array_count++].fde
= (sec->output_section->vma
+ sec->output_offset
+ ent->new_offset);
@@ -1756,10 +2079,111 @@ vma_compare (const void *a, const void *b)
return 0;
}
-/* Write out .eh_frame_hdr section. This must be called after
- _bfd_elf_write_section_eh_frame has been called on all input
- .eh_frame sections.
- .eh_frame_hdr format:
+/* Reorder .eh_frame_entry sections to match the associated text sections.
+ This routine is called during the final linking step, just before writing
+ the contents. At this stage, sections in the eh_frame_hdr_info are already
+ sorted in order of increasing text section address and so we simply need
+ to make the .eh_frame_entrys follow that same order. Note that it is
+ invalid for a linker script to try to force a particular order of
+ .eh_frame_entry sections. */
+
+bfd_boolean
+_bfd_elf_fixup_eh_frame_hdr (struct bfd_link_info *info)
+{
+ asection *sec = NULL;
+ asection *osec;
+ struct eh_frame_hdr_info *hdr_info;
+ unsigned int i;
+ bfd_vma offset;
+ struct bfd_link_order *p;
+
+ hdr_info = &elf_hash_table (info)->eh_info;
+
+ if (hdr_info->hdr_sec == NULL
+ || info->eh_frame_hdr_type != COMPACT_EH_HDR
+ || hdr_info->array_count == 0)
+ return TRUE;
+
+ /* Change section output offsets to be in text section order. */
+ offset = 8;
+ osec = hdr_info->u.compact.entries[0]->output_section;
+ for (i = 0; i < hdr_info->array_count; i++)
+ {
+ sec = hdr_info->u.compact.entries[i];
+ if (sec->output_section != osec)
+ {
+ (*_bfd_error_handler)
+ (_("Invalid output section for .eh_frame_entry: %s"),
+ sec->output_section->name);
+ return FALSE;
+ }
+ sec->output_offset = offset;
+ offset += sec->size;
+ }
+
+
+ /* Fix the link_order to match. */
+ for (p = sec->output_section->map_head.link_order; p != NULL; p = p->next)
+ {
+ if (p->type != bfd_indirect_link_order)
+ abort();
+
+ p->offset = p->u.indirect.section->output_offset;
+ if (p->next != NULL)
+ i--;
+ }
+
+ if (i != 0)
+ {
+ (*_bfd_error_handler)
+ (_("Invalid contents in %s section"), osec->name);
+ return FALSE;
+ }
+
+ return TRUE;
+}
+
+/* The .eh_frame_hdr format for Compact EH frames:
+ ubyte version (2)
+ ubyte eh_ref_enc (DW_EH_PE_* encoding of typinfo references)
+ uint32_t count (Number of entries in table)
+ [array from .eh_frame_entry sections] */
+
+static bfd_boolean
+write_compact_eh_frame_hdr (bfd *abfd, struct bfd_link_info *info)
+{
+ struct elf_link_hash_table *htab;
+ struct eh_frame_hdr_info *hdr_info;
+ asection *sec;
+ const struct elf_backend_data *bed;
+ bfd_vma count;
+ bfd_byte contents[8];
+ unsigned int i;
+
+ htab = elf_hash_table (info);
+ hdr_info = &htab->eh_info;
+ sec = hdr_info->hdr_sec;
+
+ if (sec->size != 8)
+ abort();
+
+ for (i = 0; i < sizeof (contents); i++)
+ contents[i] = 0;
+
+ contents[0] = COMPACT_EH_HDR;
+ bed = get_elf_backend_data (abfd);
+
+ BFD_ASSERT (bed->compact_eh_encoding);
+ contents[1] = (*bed->compact_eh_encoding) (info);
+
+ count = (sec->output_section->size - 8) / 8;
+ bfd_put_32 (abfd, count, contents + 4);
+ return bfd_set_section_contents (abfd, sec->output_section, contents,
+ (file_ptr) sec->output_offset, sec->size);
+}
+
+/* The .eh_frame_hdr format for DWARF frames:
+
ubyte version (currently 1)
ubyte eh_frame_ptr_enc (DW_EH_PE_* encoding of pointer to start of
.eh_frame section)
@@ -1778,8 +2202,8 @@ vma_compare (const void *a, const void *b)
FDE initial_location field and FDE address,
sorted by increasing initial_loc). */
-bfd_boolean
-_bfd_elf_write_section_eh_frame_hdr (bfd *abfd, struct bfd_link_info *info)
+static bfd_boolean
+write_dwarf_eh_frame_hdr (bfd *abfd, struct bfd_link_info *info)
{
struct elf_link_hash_table *htab;
struct eh_frame_hdr_info *hdr_info;
@@ -1789,100 +2213,130 @@ _bfd_elf_write_section_eh_frame_hdr (bfd *abfd, struct bfd_link_info *info)
htab = elf_hash_table (info);
hdr_info = &htab->eh_info;
sec = hdr_info->hdr_sec;
+ bfd_byte *contents;
+ asection *eh_frame_sec;
+ bfd_size_type size;
+ bfd_vma encoded_eh_frame;
+
+ size = EH_FRAME_HDR_SIZE;
+ if (hdr_info->u.dwarf.array
+ && hdr_info->array_count == hdr_info->u.dwarf.fde_count)
+ size += 4 + hdr_info->u.dwarf.fde_count * 8;
+ contents = (bfd_byte *) bfd_malloc (size);
+ if (contents == NULL)
+ return FALSE;
- if (info->eh_frame_hdr && sec != NULL)
+ eh_frame_sec = bfd_get_section_by_name (abfd, ".eh_frame");
+ if (eh_frame_sec == NULL)
{
- bfd_byte *contents;
- asection *eh_frame_sec;
- bfd_size_type size;
- bfd_vma encoded_eh_frame;
-
- size = EH_FRAME_HDR_SIZE;
- if (hdr_info->array && hdr_info->array_count == hdr_info->fde_count)
- size += 4 + hdr_info->fde_count * 8;
- contents = (bfd_byte *) bfd_malloc (size);
- if (contents == NULL)
- return FALSE;
+ free (contents);
+ return FALSE;
+ }
- eh_frame_sec = bfd_get_section_by_name (abfd, ".eh_frame");
- if (eh_frame_sec == NULL)
- {
- free (contents);
- return FALSE;
- }
+ memset (contents, 0, EH_FRAME_HDR_SIZE);
+ /* Version. */
+ contents[0] = 1;
+ /* .eh_frame offset. */
+ contents[1] = get_elf_backend_data (abfd)->elf_backend_encode_eh_address
+ (abfd, info, eh_frame_sec, 0, sec, 4, &encoded_eh_frame);
- memset (contents, 0, EH_FRAME_HDR_SIZE);
- /* Version. */
- contents[0] = 1;
- /* .eh_frame offset. */
- contents[1] = get_elf_backend_data (abfd)->elf_backend_encode_eh_address
- (abfd, info, eh_frame_sec, 0, sec, 4, &encoded_eh_frame);
+ if (hdr_info->u.dwarf.array
+ && hdr_info->array_count == hdr_info->u.dwarf.fde_count)
+ {
+ /* FDE count encoding. */
+ contents[2] = DW_EH_PE_udata4;
+ /* Search table encoding. */
+ contents[3] = DW_EH_PE_datarel | DW_EH_PE_sdata4;
+ }
+ else
+ {
+ contents[2] = DW_EH_PE_omit;
+ contents[3] = DW_EH_PE_omit;
+ }
+ bfd_put_32 (abfd, encoded_eh_frame, contents + 4);
- if (hdr_info->array && hdr_info->array_count == hdr_info->fde_count)
+ if (contents[2] != DW_EH_PE_omit)
+ {
+ unsigned int i;
+ bfd_boolean overlap, overflow;
+
+ bfd_put_32 (abfd, hdr_info->u.dwarf.fde_count,
+ contents + EH_FRAME_HDR_SIZE);
+ qsort (hdr_info->u.dwarf.array, hdr_info->u.dwarf.fde_count,
+ sizeof (*hdr_info->u.dwarf.array), vma_compare);
+ overlap = FALSE;
+ overflow = FALSE;
+ for (i = 0; i < hdr_info->u.dwarf.fde_count; i++)
{
- /* FDE count encoding. */
- contents[2] = DW_EH_PE_udata4;
- /* Search table encoding. */
- contents[3] = DW_EH_PE_datarel | DW_EH_PE_sdata4;
+ bfd_vma val;
+
+ val = hdr_info->u.dwarf.array[i].initial_loc
+ - sec->output_section->vma;
+ val = ((val & 0xffffffff) ^ 0x80000000) - 0x80000000;
+ if (elf_elfheader (abfd)->e_ident[EI_CLASS] == ELFCLASS64
+ && (hdr_info->u.dwarf.array[i].initial_loc
+ != sec->output_section->vma + val))
+ overflow = TRUE;
+ bfd_put_32 (abfd, val, contents + EH_FRAME_HDR_SIZE + i * 8 + 4);
+ val = hdr_info->u.dwarf.array[i].fde - sec->output_section->vma;
+ val = ((val & 0xffffffff) ^ 0x80000000) - 0x80000000;
+ if (elf_elfheader (abfd)->e_ident[EI_CLASS] == ELFCLASS64
+ && (hdr_info->u.dwarf.array[i].fde
+ != sec->output_section->vma + val))
+ overflow = TRUE;
+ bfd_put_32 (abfd, val, contents + EH_FRAME_HDR_SIZE + i * 8 + 8);
+ if (i != 0
+ && (hdr_info->u.dwarf.array[i].initial_loc
+ < (hdr_info->u.dwarf.array[i - 1].initial_loc
+ + hdr_info->u.dwarf.array[i - 1].range)))
+ overlap = TRUE;
}
- else
+ if (overflow)
+ (*info->callbacks->einfo) (_("%P: .eh_frame_hdr entry overflow.\n"));
+ if (overlap)
+ (*info->callbacks->einfo)
+ (_("%P: .eh_frame_hdr refers to overlapping FDEs.\n"));
+ if (overflow || overlap)
{
- contents[2] = DW_EH_PE_omit;
- contents[3] = DW_EH_PE_omit;
+ bfd_set_error (bfd_error_bad_value);
+ retval = FALSE;
}
- bfd_put_32 (abfd, encoded_eh_frame, contents + 4);
+ }
- if (contents[2] != DW_EH_PE_omit)
- {
- unsigned int i;
+ /* FIXME: octets_per_byte. */
+ if (!bfd_set_section_contents (abfd, sec->output_section, contents,
+ (file_ptr) sec->output_offset,
+ sec->size))
+ retval = FALSE;
+ free (contents);
+
+ if (hdr_info->u.dwarf.array != NULL)
+ free (hdr_info->u.dwarf.array);
+ return retval;
+}
- bfd_put_32 (abfd, hdr_info->fde_count, contents + EH_FRAME_HDR_SIZE);
- qsort (hdr_info->array, hdr_info->fde_count,
- sizeof (*hdr_info->array), vma_compare);
- for (i = 0; i < hdr_info->fde_count; i++)
- {
- bfd_vma val;
+/* Write out .eh_frame_hdr section. This must be called after
+ _bfd_elf_write_section_eh_frame has been called on all input
+ .eh_frame sections. */
- val = hdr_info->array[i].initial_loc - sec->output_section->vma;
- val = ((val & 0xffffffff) ^ 0x80000000) - 0x80000000;
- if (elf_elfheader (abfd)->e_ident[EI_CLASS] == ELFCLASS64
- && (hdr_info->array[i].initial_loc
- != sec->output_section->vma + val))
- (*info->callbacks->einfo)
- (_("%X%P: .eh_frame_hdr table[%u] PC overflow.\n"), i);
- bfd_put_32 (abfd, val, contents + EH_FRAME_HDR_SIZE + i * 8 + 4);
-
- val = hdr_info->array[i].fde - sec->output_section->vma;
- val = ((val & 0xffffffff) ^ 0x80000000) - 0x80000000;
- if (elf_elfheader (abfd)->e_ident[EI_CLASS] == ELFCLASS64
- && (hdr_info->array[i].fde
- != sec->output_section->vma + val))
- (*info->callbacks->einfo)
- (_("%X%P: .eh_frame_hdr table[%u] FDE overflow.\n"), i);
- bfd_put_32 (abfd, val, contents + EH_FRAME_HDR_SIZE + i * 8 + 8);
+bfd_boolean
+_bfd_elf_write_section_eh_frame_hdr (bfd *abfd, struct bfd_link_info *info)
+{
+ struct elf_link_hash_table *htab;
+ struct eh_frame_hdr_info *hdr_info;
+ asection *sec;
- if (i != 0
- && (hdr_info->array[i].initial_loc
- < (hdr_info->array[i - 1].initial_loc
- + hdr_info->array[i - 1].range)))
- (*info->callbacks->einfo)
- (_("%X%P: .eh_frame_hdr table[%u] FDE at %V overlaps "
- "table[%u] FDE at %V.\n"),
- i - 1, hdr_info->array[i - 1].fde,
- i, hdr_info->array[i].fde);
- }
- }
+ htab = elf_hash_table (info);
+ hdr_info = &htab->eh_info;
+ sec = hdr_info->hdr_sec;
- /* FIXME: octets_per_byte. */
- if (!bfd_set_section_contents (abfd, sec->output_section, contents,
- (file_ptr) sec->output_offset,
- sec->size))
- retval = FALSE;
- free (contents);
- }
- if (hdr_info->array != NULL)
- free (hdr_info->array);
- return retval;
+ if (info->eh_frame_hdr_type == 0 || sec == NULL)
+ return TRUE;
+
+ if (info->eh_frame_hdr_type == COMPACT_EH_HDR)
+ return write_compact_eh_frame_hdr (abfd, info);
+ else
+ return write_dwarf_eh_frame_hdr (abfd, info);
}
/* Return the width of FDE addresses. This is the default implementation. */
diff --git a/bfd/elf.c b/bfd/elf.c
index 3cd4d90c3e6..b3e84add23a 100644
--- a/bfd/elf.c
+++ b/bfd/elf.c
@@ -51,7 +51,7 @@ SECTION
static int elf_sort_sections (const void *, const void *);
static bfd_boolean assign_file_positions_except_relocs (bfd *, struct bfd_link_info *);
static bfd_boolean prep_headers (bfd *);
-static bfd_boolean swap_out_syms (bfd *, struct bfd_strtab_hash **, int) ;
+static bfd_boolean swap_out_syms (bfd *, struct elf_strtab_hash **, int) ;
static bfd_boolean elf_read_notes (bfd *, file_ptr, bfd_size_type) ;
static bfd_boolean elf_parse_notes (bfd *abfd, char *buf, size_t size,
file_ptr offset);
@@ -1610,29 +1610,6 @@ bfd_elf_print_symbol (bfd *abfd,
break;
}
}
-
-/* Allocate an ELF string table--force the first byte to be zero. */
-
-struct bfd_strtab_hash *
-_bfd_elf_stringtab_init (void)
-{
- struct bfd_strtab_hash *ret;
-
- ret = _bfd_stringtab_init ();
- if (ret != NULL)
- {
- bfd_size_type loc;
-
- loc = _bfd_stringtab_add (ret, "", TRUE, FALSE);
- BFD_ASSERT (loc == 0 || loc == (bfd_size_type) -1);
- if (loc == (bfd_size_type) -1)
- {
- _bfd_stringtab_free (ret);
- ret = NULL;
- }
- }
- return ret;
-}
/* ELF .o/exec file reading */
@@ -3750,7 +3727,7 @@ _bfd_elf_compute_section_file_positions (bfd *abfd,
const struct elf_backend_data *bed = get_elf_backend_data (abfd);
struct fake_section_arg fsargs;
bfd_boolean failed;
- struct bfd_strtab_hash *strtab = NULL;
+ struct elf_strtab_hash *strtab = NULL;
Elf_Internal_Shdr *shstrtab_hdr;
bfd_boolean need_symtab;
@@ -3803,7 +3780,7 @@ _bfd_elf_compute_section_file_positions (bfd *abfd,
shstrtab_hdr->sh_type = SHT_STRTAB;
shstrtab_hdr->sh_flags = 0;
shstrtab_hdr->sh_addr = 0;
- shstrtab_hdr->sh_size = _bfd_elf_strtab_size (elf_shstrtab (abfd));
+ /* sh_size is set in _bfd_elf_assign_file_positions_for_non_load. */
shstrtab_hdr->sh_entsize = 0;
shstrtab_hdr->sh_link = 0;
shstrtab_hdr->sh_info = 0;
@@ -3835,9 +3812,9 @@ _bfd_elf_compute_section_file_positions (bfd *abfd,
/* Now that we know where the .strtab section goes, write it
out. */
if (bfd_seek (abfd, hdr->sh_offset, SEEK_SET) != 0
- || ! _bfd_stringtab_emit (abfd, strtab))
+ || ! _bfd_elf_strtab_emit (abfd, strtab))
return FALSE;
- _bfd_stringtab_free (strtab);
+ _bfd_elf_strtab_free (strtab);
}
abfd->output_has_begun = TRUE;
@@ -7172,18 +7149,21 @@ _bfd_elf_copy_private_symbol_data (bfd *ibfd,
static bfd_boolean
swap_out_syms (bfd *abfd,
- struct bfd_strtab_hash **sttp,
+ struct elf_strtab_hash **sttp,
int relocatable_p)
{
const struct elf_backend_data *bed;
int symcount;
asymbol **syms;
- struct bfd_strtab_hash *stt;
+ struct elf_strtab_hash *stt;
Elf_Internal_Shdr *symtab_hdr;
Elf_Internal_Shdr *symtab_shndx_hdr;
Elf_Internal_Shdr *symstrtab_hdr;
+ struct elf_sym_strtab *symstrtab;
bfd_byte *outbound_syms;
bfd_byte *outbound_shndx;
+ unsigned long outbound_syms_index;
+ unsigned long outbound_shndx_index;
int idx;
unsigned int num_locals;
bfd_size_type amt;
@@ -7193,7 +7173,7 @@ swap_out_syms (bfd *abfd,
return FALSE;
/* Dump out the symtabs. */
- stt = _bfd_elf_stringtab_init ();
+ stt = _bfd_elf_strtab_init ();
if (stt == NULL)
return FALSE;
@@ -7209,16 +7189,29 @@ swap_out_syms (bfd *abfd,
symstrtab_hdr = &elf_tdata (abfd)->strtab_hdr;
symstrtab_hdr->sh_type = SHT_STRTAB;
+ /* Allocate buffer to swap out the .strtab section. */
+ symstrtab = (struct elf_sym_strtab *) bfd_malloc ((symcount + 1)
+ * sizeof (*symstrtab));
+ if (symstrtab == NULL)
+ {
+ _bfd_elf_strtab_free (stt);
+ return FALSE;
+ }
+
outbound_syms = (bfd_byte *) bfd_alloc2 (abfd, 1 + symcount,
bed->s->sizeof_sym);
if (outbound_syms == NULL)
{
- _bfd_stringtab_free (stt);
+error_return:
+ _bfd_elf_strtab_free (stt);
+ free (symstrtab);
return FALSE;
}
symtab_hdr->contents = outbound_syms;
+ outbound_syms_index = 0;
outbound_shndx = NULL;
+ outbound_shndx_index = 0;
symtab_shndx_hdr = &elf_tdata (abfd)->symtab_shndx_hdr;
if (symtab_shndx_hdr->sh_name != 0)
{
@@ -7226,10 +7219,7 @@ swap_out_syms (bfd *abfd,
outbound_shndx = (bfd_byte *)
bfd_zalloc2 (abfd, 1 + symcount, sizeof (Elf_External_Sym_Shndx));
if (outbound_shndx == NULL)
- {
- _bfd_stringtab_free (stt);
- return FALSE;
- }
+ goto error_return;
symtab_shndx_hdr->contents = outbound_shndx;
symtab_shndx_hdr->sh_type = SHT_SYMTAB_SHNDX;
@@ -7249,10 +7239,12 @@ swap_out_syms (bfd *abfd,
sym.st_other = 0;
sym.st_shndx = SHN_UNDEF;
sym.st_target_internal = 0;
- bed->s->swap_symbol_out (abfd, &sym, outbound_syms, outbound_shndx);
- outbound_syms += bed->s->sizeof_sym;
+ symstrtab[0].sym = sym;
+ symstrtab[0].dest_index = outbound_syms_index;
+ symstrtab[0].destshndx_index = outbound_shndx_index;
+ outbound_syms_index++;
if (outbound_shndx != NULL)
- outbound_shndx += sizeof (Elf_External_Sym_Shndx);
+ outbound_shndx_index++;
}
name_local_sections
@@ -7260,7 +7252,7 @@ swap_out_syms (bfd *abfd,
&& bed->elf_backend_name_local_section_symbols (abfd));
syms = bfd_get_outsymbols (abfd);
- for (idx = 0; idx < symcount; idx++)
+ for (idx = 0; idx < symcount;)
{
Elf_Internal_Sym sym;
bfd_vma value = syms[idx]->value;
@@ -7272,18 +7264,17 @@ swap_out_syms (bfd *abfd,
&& (flags & (BSF_SECTION_SYM | BSF_GLOBAL)) == BSF_SECTION_SYM)
{
/* Local section symbols have no name. */
- sym.st_name = 0;
+ sym.st_name = (unsigned long) -1;
}
else
{
- sym.st_name = (unsigned long) _bfd_stringtab_add (stt,
- syms[idx]->name,
- TRUE, FALSE);
+ /* Call _bfd_elf_strtab_offset after _bfd_elf_strtab_finalize
+ to get the final offset for st_name. */
+ sym.st_name
+ = (unsigned long) _bfd_elf_strtab_add (stt, syms[idx]->name,
+ FALSE);
if (sym.st_name == (unsigned long) -1)
- {
- _bfd_stringtab_free (stt);
- return FALSE;
- }
+ goto error_return;
}
type_ptr = elf_symbol_from (abfd, syms[idx]);
@@ -7373,8 +7364,7 @@ Unable to find equivalent output section for symbol '%s' from section '%s'"),
syms[idx]->name ? syms[idx]->name : "<Local sym>",
sec->name);
bfd_set_error (bfd_error_invalid_operation);
- _bfd_stringtab_free (stt);
- return FALSE;
+ goto error_return;
}
shndx = _bfd_elf_section_from_bfd_section (abfd, sec2);
@@ -7463,14 +7453,40 @@ Unable to find equivalent output section for symbol '%s' from section '%s'"),
sym.st_target_internal = 0;
}
- bed->s->swap_symbol_out (abfd, &sym, outbound_syms, outbound_shndx);
- outbound_syms += bed->s->sizeof_sym;
+ idx++;
+ symstrtab[idx].sym = sym;
+ symstrtab[idx].dest_index = outbound_syms_index;
+ symstrtab[idx].destshndx_index = outbound_shndx_index;
+
+ outbound_syms_index++;
if (outbound_shndx != NULL)
- outbound_shndx += sizeof (Elf_External_Sym_Shndx);
+ outbound_shndx_index++;
}
+ /* Finalize the .strtab section. */
+ _bfd_elf_strtab_finalize (stt);
+
+ /* Swap out the .strtab section. */
+ for (idx = 0; idx <= symcount; idx++)
+ {
+ struct elf_sym_strtab *elfsym = &symstrtab[idx];
+ if (elfsym->sym.st_name == (unsigned long) -1)
+ elfsym->sym.st_name = 0;
+ else
+ elfsym->sym.st_name = _bfd_elf_strtab_offset (stt,
+ elfsym->sym.st_name);
+ bed->s->swap_symbol_out (abfd, &elfsym->sym,
+ (outbound_syms
+ + (elfsym->dest_index
+ * bed->s->sizeof_sym)),
+ (outbound_shndx
+ + (elfsym->destshndx_index
+ * sizeof (Elf_External_Sym_Shndx))));
+ }
+ free (symstrtab);
+
*sttp = stt;
- symstrtab_hdr->sh_size = _bfd_stringtab_size (stt);
+ symstrtab_hdr->sh_size = _bfd_elf_strtab_size (stt);
symstrtab_hdr->sh_type = SHT_STRTAB;
symstrtab_hdr->sh_flags = 0;
@@ -9226,18 +9242,18 @@ elfcore_grok_note (bfd *abfd, Elf_Internal_Note *note)
static bfd_boolean
elfobj_grok_gnu_build_id (bfd *abfd, Elf_Internal_Note *note)
{
- struct elf_obj_tdata *t;
+ struct bfd_build_id* build_id;
if (note->descsz == 0)
return FALSE;
- t = elf_tdata (abfd);
- t->build_id = bfd_alloc (abfd, sizeof (*t->build_id) - 1 + note->descsz);
- if (t->build_id == NULL)
+ build_id = bfd_alloc (abfd, sizeof (struct bfd_build_id) - 1 + note->descsz);
+ if (build_id == NULL)
return FALSE;
- t->build_id->size = note->descsz;
- memcpy (t->build_id->data, note->descdata, note->descsz);
+ build_id->size = note->descsz;
+ memcpy (build_id->data, note->descdata, note->descsz);
+ abfd->build_id = build_id;
return TRUE;
}
diff --git a/bfd/elf32-arm.c b/bfd/elf32-arm.c
index 113f4ebe84e..919df176eb4 100644
--- a/bfd/elf32-arm.c
+++ b/bfd/elf32-arm.c
@@ -1606,7 +1606,7 @@ static reloc_howto_type elf32_arm_howto_table_1[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_bitfield,/* complain_on_overflow */
- bfd_elf_generic_reloc, /* special_function */
+ NULL, /* special_function */
"R_ARM_TLS_LE32", /* name */
TRUE, /* partial_inplace */
0xffffffff, /* src_mask */
diff --git a/bfd/elf32-i386.c b/bfd/elf32-i386.c
index 75df61a5af2..19cd397281a 100644
--- a/bfd/elf32-i386.c
+++ b/bfd/elf32-i386.c
@@ -1914,7 +1914,8 @@ do_size:
if (use_plt_got
&& h != NULL
&& h->plt.refcount > 0
- && h->got.refcount > 0
+ && (((info->flags & DF_BIND_NOW) && !h->pointer_equality_needed)
+ || h->got.refcount > 0)
&& htab->plt_got == NULL)
{
/* Create the GOT procedure linkage table. */
@@ -2356,7 +2357,19 @@ elf_i386_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
else if (htab->elf.dynamic_sections_created
&& (h->plt.refcount > 0 || eh->plt_got.refcount > 0))
{
- bfd_boolean use_plt_got = eh->plt_got.refcount > 0;
+ bfd_boolean use_plt_got;
+
+ if ((info->flags & DF_BIND_NOW) && !h->pointer_equality_needed)
+ {
+ /* Don't use the regular PLT for DF_BIND_NOW. */
+ h->plt.offset = (bfd_vma) -1;
+
+ /* Use the GOT PLT. */
+ h->got.refcount = 1;
+ eh->plt_got.refcount = 1;
+ }
+
+ use_plt_got = eh->plt_got.refcount > 0;
/* Make sure this symbol is output as a dynamic symbol.
Undefined weak syms won't yet be marked as dynamic. */
@@ -2373,16 +2386,16 @@ elf_i386_allocate_dynrelocs (struct elf_link_hash_entry *h, void *inf)
asection *s = htab->elf.splt;
asection *got_s = htab->plt_got;
+ /* If this is the first .plt entry, make room for the special
+ first entry. The .plt section is used by prelink to undo
+ prelinking for dynamic relocations. */
+ if (s->size == 0)
+ s->size = plt_entry_size;
+
if (use_plt_got)
eh->plt_got.offset = got_s->size;
else
- {
- /* If this is the first .plt entry, make room for the
- special first entry. */
- if (s->size == 0)
- s->size = plt_entry_size;
- h->plt.offset = s->size;
- }
+ h->plt.offset = s->size;
/* If this symbol is not defined in a regular file, and we are
not generating a shared library, then set the symbol to this
@@ -3142,11 +3155,18 @@ elf_i386_size_dynamic_sections (bfd *output_bfd, struct bfd_link_info *info)
if (htab->elf.splt->size != 0)
{
- if (!add_dynamic_entry (DT_PLTGOT, 0)
- || !add_dynamic_entry (DT_PLTRELSZ, 0)
- || !add_dynamic_entry (DT_PLTREL, DT_REL)
- || !add_dynamic_entry (DT_JMPREL, 0))
+ /* DT_PLTGOT is used by prelink even if there is no PLT
+ relocation. */
+ if (!add_dynamic_entry (DT_PLTGOT, 0))
return FALSE;
+
+ if (htab->elf.srelplt->size != 0)
+ {
+ if (!add_dynamic_entry (DT_PLTRELSZ, 0)
+ || !add_dynamic_entry (DT_PLTREL, DT_REL)
+ || !add_dynamic_entry (DT_JMPREL, 0))
+ return FALSE;
+ }
}
if (relocs)
@@ -5290,6 +5310,11 @@ bad_return:
abort ();
plt_sym_val[reloc_index] = plt->vma + plt_offset;
plt_offset += bed->plt->plt_entry_size;
+
+ /* PR binutils/18437: Skip extra relocations in the .rel.plt
+ section. */
+ if (plt_offset >= plt->size)
+ break;
}
free (plt_contents);
diff --git a/bfd/elf32-msp430.c b/bfd/elf32-msp430.c
index fdab3d3ee5e..9e6979123f2 100644
--- a/bfd/elf32-msp430.c
+++ b/bfd/elf32-msp430.c
@@ -26,6 +26,31 @@
#include "elf-bfd.h"
#include "elf/msp430.h"
+static bfd_reloc_status_type
+rl78_sym_diff_handler (bfd * abfd,
+ arelent * reloc,
+ asymbol * sym ATTRIBUTE_UNUSED,
+ void * addr ATTRIBUTE_UNUSED,
+ asection * input_sec,
+ bfd * out_bfd ATTRIBUTE_UNUSED,
+ char ** error_message ATTRIBUTE_UNUSED)
+{
+ bfd_size_type octets;
+ octets = reloc->address * bfd_octets_per_byte (abfd);
+
+ /* Catch the case where bfd_install_relocation would return
+ bfd_reloc_outofrange because the SYM_DIFF reloc is being used in a very
+ small section. It does not actually matter if this happens because all
+ that SYM_DIFF does is compute a (4-byte) value. A second reloc then uses
+ this value, and it is that reloc that must fit into the section.
+
+ This happens in eg, gcc/testsuite/gcc.c-torture/compile/labels-3.c. */
+ if ((octets + bfd_get_reloc_size (reloc->howto))
+ > bfd_get_section_limit_octets (abfd, input_sec))
+ return bfd_reloc_ok;
+ return bfd_reloc_continue;
+}
+
static reloc_howto_type elf_msp430_howto_table[] =
{
HOWTO (R_MSP430_NONE, /* type */
@@ -185,7 +210,7 @@ static reloc_howto_type elf_msp430_howto_table[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont,/* complain_on_overflow */
- NULL, /* special handler. */
+ rl78_sym_diff_handler, /* special handler. */
"R_MSP430_SYM_DIFF", /* name */
FALSE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -488,7 +513,7 @@ static reloc_howto_type elf_msp430x_howto_table[] =
FALSE, /* pc_relative */
0, /* bitpos */
complain_overflow_dont,/* complain_on_overflow */
- NULL, /* special handler. */
+ rl78_sym_diff_handler, /* special handler. */
"R_MSP430X_SYM_DIFF", /* name */
FALSE, /* partial_inplace */
0xffffffff, /* src_mask */
@@ -820,14 +845,14 @@ msp430_final_link_relocate (reloc_howto_type * howto,
break;
case R_MSP430X_PCR20_EXT_ODST:
- /* [0,4]+[48,16] = ---F ---- FFFF */
+ /* [0,4]+[48,16] = ---F ---- ---- FFFF */
contents += rel->r_offset;
srel = (bfd_signed_vma) relocation;
if (is_rel_reloc)
{
bfd_vma addend;
addend = (bfd_get_16 (input_bfd, contents) & 0xf) << 16;
- addend |= bfd_get_16 (input_bfd, contents+4);
+ addend |= bfd_get_16 (input_bfd, contents + 6);
srel += addend;
}
@@ -843,14 +868,14 @@ msp430_final_link_relocate (reloc_howto_type * howto,
break;
case R_MSP430X_ABS20_EXT_SRC:
- /* [7,4]+[32,16] = -78- FFFF */
+ /* [7,4]+[32,16] = -78- ---- FFFF */
contents += rel->r_offset;
srel = (bfd_signed_vma) relocation;
if (is_rel_reloc)
{
bfd_vma addend;
addend = (bfd_get_16 (input_bfd, contents) & 0x0780) << 9;
- addend |= bfd_get_16 (input_bfd, contents+2);
+ addend |= bfd_get_16 (input_bfd, contents + 4);
srel += addend;
}
else
@@ -879,14 +904,14 @@ msp430_final_link_relocate (reloc_howto_type * howto,
break;
case R_MSP430X_PCR20_EXT_DST:
- /* [0,4]+[32,16] = ---F FFFF */
+ /* [0,4]+[32,16] = ---F ---- FFFF */
contents += rel->r_offset;
srel = (bfd_signed_vma) relocation;
if (is_rel_reloc)
{
bfd_vma addend;
addend = (bfd_get_16 (input_bfd, contents) & 0xf) << 16;
- addend |= bfd_get_16 (input_bfd, contents+2);
+ addend |= bfd_get_16 (input_bfd, contents + 4);
srel += addend;
}
else
@@ -902,14 +927,14 @@ msp430_final_link_relocate (reloc_howto_type * howto,
break;
case R_MSP430X_PCR20_EXT_SRC:
- /* [7,4]+32,16] = -78- FFFF */
+ /* [7,4]+[32,16] = -78- ---- FFFF */
contents += rel->r_offset;
srel = (bfd_signed_vma) relocation;
if (is_rel_reloc)
{
bfd_vma addend;
addend = ((bfd_get_16 (input_bfd, contents) & 0x0780) << 9);
- addend |= bfd_get_16 (input_bfd, contents+2);
+ addend |= bfd_get_16 (input_bfd, contents + 4);
srel += addend;;
}
else
@@ -936,10 +961,16 @@ msp430_final_link_relocate (reloc_howto_type * howto,
break;
case R_MSP430X_ABS20_EXT_DST:
+ /* [0,4]+[32,16] = ---F ---- FFFF */
contents += rel->r_offset;
srel = (bfd_signed_vma) relocation;
if (is_rel_reloc)
- srel += bfd_get_16 (input_bfd, contents) & 0xf;
+ {
+ bfd_vma addend;
+ addend = (bfd_get_16 (input_bfd, contents) & 0xf) << 16;
+ addend |= bfd_get_16 (input_bfd, contents + 4);
+ srel += addend;
+ }
else
srel += rel->r_addend;
bfd_put_16 (input_bfd, (srel & 0xffff), contents + 4);
@@ -950,14 +981,14 @@ msp430_final_link_relocate (reloc_howto_type * howto,
break;
case R_MSP430X_ABS20_EXT_ODST:
- /* [0,4]+[48,16] = ---F ---- FFFF */
+ /* [0,4]+[48,16] = ---F ---- ---- FFFF */
contents += rel->r_offset;
srel = (bfd_signed_vma) relocation;
if (is_rel_reloc)
{
bfd_vma addend;
addend = (bfd_get_16 (input_bfd, contents) & 0xf) << 16;
- addend |= bfd_get_16 (input_bfd, contents+4);
+ addend |= bfd_get_16 (input_bfd, contents + 6);
srel += addend;
}
else
@@ -970,7 +1001,7 @@ msp430_final_link_relocate (reloc_howto_type * howto,
break;
case R_MSP430X_ABS20_ADR_SRC:
- /* [8,4]+[32,16] = -F-- FFFF */
+ /* [8,4]+[16,16] = -F-- FFFF */
contents += rel->r_offset;
srel = (bfd_signed_vma) relocation;
if (is_rel_reloc)
@@ -978,7 +1009,7 @@ msp430_final_link_relocate (reloc_howto_type * howto,
bfd_vma addend;
addend = ((bfd_get_16 (input_bfd, contents) & 0xf00) << 8);
- addend |= bfd_get_16 (input_bfd, contents+2);
+ addend |= bfd_get_16 (input_bfd, contents + 2);
srel += addend;
}
else
@@ -991,14 +1022,14 @@ msp430_final_link_relocate (reloc_howto_type * howto,
break;
case R_MSP430X_ABS20_ADR_DST:
- /* [0,4]+[32,16] = ---F FFFF */
+ /* [0,4]+[16,16] = ---F FFFF */
contents += rel->r_offset;
srel = (bfd_signed_vma) relocation;
if (is_rel_reloc)
{
bfd_vma addend;
addend = ((bfd_get_16 (input_bfd, contents) & 0xf) << 16);
- addend |= bfd_get_16 (input_bfd, contents+2);
+ addend |= bfd_get_16 (input_bfd, contents + 2);
srel += addend;
}
else
@@ -1033,14 +1064,14 @@ msp430_final_link_relocate (reloc_howto_type * howto,
break;
case R_MSP430X_PCR20_CALL:
- /* [0,4]+[32,16] = ---F FFFF*/
+ /* [0,4]+[16,16] = ---F FFFF*/
contents += rel->r_offset;
srel = (bfd_signed_vma) relocation;
if (is_rel_reloc)
{
bfd_vma addend;
addend = (bfd_get_16 (input_bfd, contents) & 0xf) << 16;
- addend |= bfd_get_16 (input_bfd, contents+2);
+ addend |= bfd_get_16 (input_bfd, contents + 2);
srel += addend;
}
else
@@ -1596,7 +1627,7 @@ msp430_elf_relax_adjust_locals (bfd * abfd, asection * sec, bfd_vma addr,
unsigned int sidx = ELF32_R_SYM(irel->r_info);
Elf_Internal_Sym *lsym = isym + sidx;
- /* Adjust symbols referenced by .sec+0xXX */
+ /* Adjust symbols referenced by .sec+0xXX. */
if (irel->r_addend > addr && irel->r_addend < toaddr
&& sidx < symtab_hdr->sh_info
&& lsym->st_shndx == sec_shndx)
diff --git a/bfd/elf32-ppc.c b/bfd/elf32-ppc.c
index 663a8713a72..f1fbc662268 100644
--- a/bfd/elf32-ppc.c
+++ b/bfd/elf32-ppc.c
@@ -9608,6 +9608,8 @@ ppc_elf_relocate_section (bfd *output_bfd,
&& rel->r_offset >= offset
&& rel->r_offset < offset + 4)
{
+ asection *sreloc;
+
/* If the insn we are patching had a reloc, adjust the
reloc r_offset so that the reloc applies to the moved
location. This matters for -r and --emit-relocs. */
@@ -9620,6 +9622,57 @@ ppc_elf_relocate_section (bfd *output_bfd,
relend[-1] = tmp;
}
relend[-1].r_offset += patch_off - offset;
+
+ /* Adjust REL16 addends too. */
+ switch (ELF32_R_TYPE (relend[-1].r_info))
+ {
+ case R_PPC_REL16:
+ case R_PPC_REL16_LO:
+ case R_PPC_REL16_HI:
+ case R_PPC_REL16_HA:
+ relend[-1].r_addend += patch_off - offset;
+ break;
+ default:
+ break;
+ }
+
+ /* If we are building a PIE or shared library with
+ non-PIC objects, perhaps we had a dynamic reloc too?
+ If so, the dynamic reloc must move with the insn. */
+ sreloc = elf_section_data (input_section)->sreloc;
+ if (sreloc != NULL)
+ {
+ Elf32_External_Rela *slo, *shi, *srelend;
+ bfd_vma soffset;
+
+ slo = (Elf32_External_Rela *) sreloc->contents;
+ shi = srelend = slo + sreloc->reloc_count;
+ soffset = (offset + input_section->output_section->vma
+ + input_section->output_offset);
+ while (slo < shi)
+ {
+ Elf32_External_Rela *srel = slo + (shi - slo) / 2;
+ bfd_elf32_swap_reloca_in (output_bfd, (bfd_byte *) srel,
+ &outrel);
+ if (outrel.r_offset < soffset)
+ slo = srel + 1;
+ else if (outrel.r_offset > soffset + 3)
+ shi = srel;
+ else
+ {
+ if (srel + 1 != srelend)
+ {
+ memmove (srel, srel + 1,
+ (srelend - (srel + 1)) * sizeof (*srel));
+ srel = srelend - 1;
+ }
+ outrel.r_offset += patch_off - offset;
+ bfd_elf32_swap_reloca_out (output_bfd, &outrel,
+ (bfd_byte *) srel);
+ break;
+ }
+ }
+ }
}
else
rel = NULL;
diff --git a/bfd/elf32-rl78.c b/bfd/elf32-rl78.c
index ff3af7b3362..add3336ee7b 100644
--- a/bfd/elf32-rl78.c
+++ b/bfd/elf32-rl78.c
@@ -95,7 +95,7 @@ static reloc_howto_type rl78_elf_howto_table [] =
RL78REL (RH_RELAX, 0, 0, 0, dont, FALSE),
EMPTY_HOWTO (0x2e),
- EMPTY_HOWTO (0x2f),
+ RL78REL (RH_SADDR, 0, 0, 0, dont, FALSE),
EMPTY_HOWTO (0x30),
EMPTY_HOWTO (0x31),
EMPTY_HOWTO (0x32),
@@ -242,6 +242,7 @@ static const struct rl78_reloc_map rl78_reloc_map [] =
{ BFD_RELOC_RL78_ABS16UL, R_RL78_ABS16UL },
{ BFD_RELOC_RL78_ABS16UW, R_RL78_ABS16UW },
{ BFD_RELOC_RL78_ABS16U, R_RL78_ABS16U },
+ { BFD_RELOC_RL78_SADDR, R_RL78_RH_SADDR },
{ BFD_RELOC_RL78_RELAX, R_RL78_RH_RELAX }
};
diff --git a/bfd/elf64-x86-64.c b/bfd/elf64-x86-64.c
index 7c1e72171aa..7bae6670a7f 100644
--- a/bfd/elf64-x86-64.c
+++ b/bfd/elf64-x86-64.c
@@ -2109,7 +2109,8 @@ do_size:
if (use_plt_got
&& h != NULL
&& h->plt.refcount > 0
- && h->got.refcount > 0
+ && (((info->flags & DF_BIND_NOW) && !h->pointer_equality_needed)
+ || h->got.refcount > 0)
&& htab->plt_got == NULL)
{
/* Create the GOT procedure linkage table. */
@@ -2575,7 +2576,19 @@ elf_x86_64_allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf)
else if (htab->elf.dynamic_sections_created
&& (h->plt.refcount > 0 || eh->plt_got.refcount > 0))
{
- bfd_boolean use_plt_got = eh->plt_got.refcount > 0;
+ bfd_boolean use_plt_got;
+
+ if ((info->flags & DF_BIND_NOW) && !h->pointer_equality_needed)
+ {
+ /* Don't use the regular PLT for DF_BIND_NOW. */
+ h->plt.offset = (bfd_vma) -1;
+
+ /* Use the GOT PLT. */
+ h->got.refcount = 1;
+ eh->plt_got.refcount = 1;
+ }
+
+ use_plt_got = eh->plt_got.refcount > 0;
/* Make sure this symbol is output as a dynamic symbol.
Undefined weak syms won't yet be marked as dynamic. */
@@ -2593,14 +2606,16 @@ elf_x86_64_allocate_dynrelocs (struct elf_link_hash_entry *h, void * inf)
asection *bnd_s = htab->plt_bnd;
asection *got_s = htab->plt_got;
+ /* If this is the first .plt entry, make room for the special
+ first entry. The .plt section is used by prelink to undo
+ prelinking for dynamic relocations. */
+ if (s->size == 0)
+ s->size = plt_entry_size;
+
if (use_plt_got)
eh->plt_got.offset = got_s->size;
else
{
- /* If this is the first .plt entry, make room for the
- special first entry. */
- if (s->size == 0)
- s->size = plt_entry_size;
h->plt.offset = s->size;
if (bnd_s)
eh->plt_bnd.offset = bnd_s->size;
@@ -2923,6 +2938,7 @@ elf_x86_64_convert_mov_to_lea (bfd *abfd, asection *sec,
bfd_boolean changed_contents;
bfd_boolean changed_relocs;
bfd_signed_vma *local_got_refcounts;
+ bfd_vma maxpagesize;
/* Don't even try to convert non-ELF outputs. */
if (!is_elf_hash_table (link_info->hash))
@@ -2947,6 +2963,7 @@ elf_x86_64_convert_mov_to_lea (bfd *abfd, asection *sec,
changed_contents = FALSE;
changed_relocs = FALSE;
local_got_refcounts = elf_local_got_refcounts (abfd);
+ maxpagesize = get_elf_backend_data (abfd)->maxpagesize;
/* Get the section contents. */
if (elf_section_data (sec)->this_hdr.contents != NULL)
@@ -2964,58 +2981,172 @@ elf_x86_64_convert_mov_to_lea (bfd *abfd, asection *sec,
unsigned int r_symndx = htab->r_sym (irel->r_info);
unsigned int indx;
struct elf_link_hash_entry *h;
+ asection *tsec;
+ char symtype;
+ bfd_vma toff, roff;
+ enum {
+ none, local, global
+ } convert_mov_to_lea;
if (r_type != R_X86_64_GOTPCREL)
continue;
+ roff = irel->r_offset;
+
+ /* Don't convert R_X86_64_GOTPCREL relocation if it isn't for mov
+ instruction. */
+ if (roff < 2
+ || bfd_get_8 (abfd, contents + roff - 2) != 0x8b)
+ continue;
+
+ tsec = NULL;
+ convert_mov_to_lea = none;
+
/* Get the symbol referred to by the reloc. */
if (r_symndx < symtab_hdr->sh_info)
{
Elf_Internal_Sym *isym;
+ /* Silence older GCC warning. */
+ h = NULL;
+
isym = bfd_sym_from_r_symndx (&htab->sym_cache,
abfd, r_symndx);
- /* STT_GNU_IFUNC must keep R_X86_64_GOTPCREL relocation. */
- if (ELF_ST_TYPE (isym->st_info) != STT_GNU_IFUNC
- && irel->r_offset >= 2
- && bfd_get_8 (abfd, contents + irel->r_offset - 2) == 0x8b)
+ symtype = ELF_ST_TYPE (isym->st_info);
+
+ /* STT_GNU_IFUNC must keep R_X86_64_GOTPCREL relocation and
+ skip relocation against undefined symbols. */
+ if (symtype != STT_GNU_IFUNC && isym->st_shndx != SHN_UNDEF)
{
- bfd_put_8 (abfd, 0x8d, contents + irel->r_offset - 2);
- irel->r_info = htab->r_info (r_symndx, R_X86_64_PC32);
- if (local_got_refcounts != NULL
- && local_got_refcounts[r_symndx] > 0)
- local_got_refcounts[r_symndx] -= 1;
- changed_contents = TRUE;
- changed_relocs = TRUE;
+ if (isym->st_shndx == SHN_ABS)
+ tsec = bfd_abs_section_ptr;
+ else if (isym->st_shndx == SHN_COMMON)
+ tsec = bfd_com_section_ptr;
+ else if (isym->st_shndx == SHN_X86_64_LCOMMON)
+ tsec = &_bfd_elf_large_com_section;
+ else
+ tsec = bfd_section_from_elf_index (abfd, isym->st_shndx);
+
+ toff = isym->st_value;
+ convert_mov_to_lea = local;
}
- continue;
}
+ else
+ {
+ indx = r_symndx - symtab_hdr->sh_info;
+ h = elf_sym_hashes (abfd)[indx];
+ BFD_ASSERT (h != NULL);
+
+ while (h->root.type == bfd_link_hash_indirect
+ || h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
- indx = r_symndx - symtab_hdr->sh_info;
- h = elf_sym_hashes (abfd)[indx];
- BFD_ASSERT (h != NULL);
+ /* STT_GNU_IFUNC must keep R_X86_64_GOTPCREL relocation. We also
+ avoid optimizing _DYNAMIC since ld.so may use its link-time
+ address. */
+ if (h->def_regular
+ && h->type != STT_GNU_IFUNC
+ && h != htab->elf.hdynamic
+ && SYMBOL_REFERENCES_LOCAL (link_info, h))
+ {
+ tsec = h->root.u.def.section;
+ toff = h->root.u.def.value;
+ symtype = h->type;
+ convert_mov_to_lea = global;
+ }
+ }
- while (h->root.type == bfd_link_hash_indirect
- || h->root.type == bfd_link_hash_warning)
- h = (struct elf_link_hash_entry *) h->root.u.i.link;
+ if (convert_mov_to_lea == none)
+ continue;
- /* STT_GNU_IFUNC must keep R_X86_64_GOTPCREL relocation. We also
- avoid optimizing _DYNAMIC since ld.so may use its link-time
- address. */
- if (h->def_regular
- && h->type != STT_GNU_IFUNC
- && h != htab->elf.hdynamic
- && SYMBOL_REFERENCES_LOCAL (link_info, h)
- && irel->r_offset >= 2
- && bfd_get_8 (abfd, contents + irel->r_offset - 2) == 0x8b)
+ if (tsec->sec_info_type == SEC_INFO_TYPE_MERGE)
+ {
+ /* At this stage in linking, no SEC_MERGE symbol has been
+ adjusted, so all references to such symbols need to be
+ passed through _bfd_merged_section_offset. (Later, in
+ relocate_section, all SEC_MERGE symbols *except* for
+ section symbols have been adjusted.)
+
+ gas may reduce relocations against symbols in SEC_MERGE
+ sections to a relocation against the section symbol when
+ the original addend was zero. When the reloc is against
+ a section symbol we should include the addend in the
+ offset passed to _bfd_merged_section_offset, since the
+ location of interest is the original symbol. On the
+ other hand, an access to "sym+addend" where "sym" is not
+ a section symbol should not include the addend; Such an
+ access is presumed to be an offset from "sym"; The
+ location of interest is just "sym". */
+ if (symtype == STT_SECTION)
+ toff += irel->r_addend;
+
+ toff = _bfd_merged_section_offset (abfd, &tsec,
+ elf_section_data (tsec)->sec_info,
+ toff);
+
+ if (symtype != STT_SECTION)
+ toff += irel->r_addend;
+ }
+ else
+ toff += irel->r_addend;
+
+ /* Don't convert if R_X86_64_PC32 relocation overflows. */
+ if (tsec->output_section == sec->output_section)
+ {
+ if ((toff - roff + 0x80000000) > 0xffffffff)
+ continue;
+ }
+ else
+ {
+ asection *asect;
+ bfd_size_type size;
+
+ /* At this point, we don't know the load addresses of TSEC
+ section nor SEC section. We estimate the distrance between
+ SEC and TSEC. */
+ size = 0;
+ for (asect = sec->output_section;
+ asect != NULL && asect != tsec->output_section;
+ asect = asect->next)
+ {
+ asection *i;
+ for (i = asect->output_section->map_head.s;
+ i != NULL;
+ i = i->map_head.s)
+ {
+ size = align_power (size, i->alignment_power);
+ size += i->size;
+ }
+ }
+
+ /* Don't convert R_X86_64_GOTPCREL if TSEC isn't placed after
+ SEC. */
+ if (asect == NULL)
+ continue;
+
+ /* Take PT_GNU_RELRO segment into account by adding
+ maxpagesize. */
+ if ((toff + size + maxpagesize - roff + 0x80000000)
+ > 0xffffffff)
+ continue;
+ }
+
+ bfd_put_8 (abfd, 0x8d, contents + roff - 2);
+ irel->r_info = htab->r_info (r_symndx, R_X86_64_PC32);
+ changed_contents = TRUE;
+ changed_relocs = TRUE;
+
+ if (convert_mov_to_lea == local)
+ {
+ if (local_got_refcounts != NULL
+ && local_got_refcounts[r_symndx] > 0)
+ local_got_refcounts[r_symndx] -= 1;
+ }
+ else
{
- bfd_put_8 (abfd, 0x8d, contents + irel->r_offset - 2);
- irel->r_info = htab->r_info (r_symndx, R_X86_64_PC32);
if (h->got.refcount > 0)
h->got.refcount -= 1;
- changed_contents = TRUE;
- changed_relocs = TRUE;
}
}
@@ -3374,12 +3505,19 @@ elf_x86_64_size_dynamic_sections (bfd *output_bfd,
if (htab->elf.splt->size != 0)
{
- if (!add_dynamic_entry (DT_PLTGOT, 0)
- || !add_dynamic_entry (DT_PLTRELSZ, 0)
- || !add_dynamic_entry (DT_PLTREL, DT_RELA)
- || !add_dynamic_entry (DT_JMPREL, 0))
+ /* DT_PLTGOT is used by prelink even if there is no PLT
+ relocation. */
+ if (!add_dynamic_entry (DT_PLTGOT, 0))
return FALSE;
+ if (htab->elf.srelplt->size != 0)
+ {
+ if (!add_dynamic_entry (DT_PLTRELSZ, 0)
+ || !add_dynamic_entry (DT_PLTREL, DT_RELA)
+ || !add_dynamic_entry (DT_JMPREL, 0))
+ return FALSE;
+ }
+
if (htab->tlsdesc_plt
&& (!add_dynamic_entry (DT_TLSDESC_PLT, 0)
|| !add_dynamic_entry (DT_TLSDESC_GOT, 0)))
@@ -5679,6 +5817,11 @@ bad_return:
else
plt_sym_val[reloc_index] = plt->vma + plt_offset;
plt_offset += bed->plt_entry_size;
+
+ /* PR binutils/18437: Skip extra relocations in the .rela.plt
+ section. */
+ if (plt_offset >= plt->size)
+ break;
}
free (plt_contents);
diff --git a/bfd/elflink.c b/bfd/elflink.c
index 0645f441466..e5ccd7f56b0 100644
--- a/bfd/elflink.c
+++ b/bfd/elflink.c
@@ -54,6 +54,47 @@ struct elf_find_verdep_info
static bfd_boolean _bfd_elf_fix_symbol_flags
(struct elf_link_hash_entry *, struct elf_info_failed *);
+asection *
+_bfd_elf_section_for_symbol (struct elf_reloc_cookie *cookie,
+ unsigned long r_symndx,
+ bfd_boolean discard)
+{
+ if (r_symndx >= cookie->locsymcount
+ || ELF_ST_BIND (cookie->locsyms[r_symndx].st_info) != STB_LOCAL)
+ {
+ struct elf_link_hash_entry *h;
+
+ h = cookie->sym_hashes[r_symndx - cookie->extsymoff];
+
+ while (h->root.type == bfd_link_hash_indirect
+ || h->root.type == bfd_link_hash_warning)
+ h = (struct elf_link_hash_entry *) h->root.u.i.link;
+
+ if ((h->root.type == bfd_link_hash_defined
+ || h->root.type == bfd_link_hash_defweak)
+ && discarded_section (h->root.u.def.section))
+ return h->root.u.def.section;
+ else
+ return NULL;
+ }
+ else
+ {
+ /* It's not a relocation against a global symbol,
+ but it could be a relocation against a local
+ symbol for a discarded section. */
+ asection *isec;
+ Elf_Internal_Sym *isym;
+
+ /* Need to: get the symbol; get the section. */
+ isym = &cookie->locsyms[r_symndx];
+ isec = bfd_section_from_elf_index (cookie->abfd, isym->st_shndx);
+ if (isec != NULL
+ && discard ? discarded_section (isec) : 1)
+ return isec;
+ }
+ return NULL;
+}
+
/* Define a symbol in a dynamic linkage section. */
struct elf_link_hash_entry *
@@ -7491,7 +7532,7 @@ struct elf_final_link_info
/* Output BFD. */
bfd *output_bfd;
/* Symbol string table. */
- struct bfd_strtab_hash *symstrtab;
+ struct elf_strtab_hash *symstrtab;
/* .dynsym section. */
asection *dynsym_sec;
/* .hash section. */
@@ -7518,16 +7559,8 @@ struct elf_final_link_info
/* Array large enough to hold a section pointer for each local
symbol of any input BFD. */
asection **sections;
- /* Buffer to hold swapped out symbols. */
- bfd_byte *symbuf;
- /* And one for symbol section indices. */
+ /* Buffer for SHT_SYMTAB_SHNDX section. */
Elf_External_Sym_Shndx *symshndxbuf;
- /* Number of swapped out symbols in buffer. */
- size_t symbuf_count;
- /* Number of symbols which fit in symbuf. */
- size_t symbuf_size;
- /* And same for symshndxbuf. */
- size_t shndxbuf_size;
/* Number of STT_FILE syms seen. */
size_t filesym_count;
};
@@ -8617,47 +8650,21 @@ elf_link_sort_relocs (bfd *abfd, struct bfd_link_info *info, asection **psec)
return ret;
}
-/* Flush the output symbols to the file. */
-
-static bfd_boolean
-elf_link_flush_output_syms (struct elf_final_link_info *flinfo,
- const struct elf_backend_data *bed)
-{
- if (flinfo->symbuf_count > 0)
- {
- Elf_Internal_Shdr *hdr;
- file_ptr pos;
- bfd_size_type amt;
-
- hdr = &elf_tdata (flinfo->output_bfd)->symtab_hdr;
- pos = hdr->sh_offset + hdr->sh_size;
- amt = flinfo->symbuf_count * bed->s->sizeof_sym;
- if (bfd_seek (flinfo->output_bfd, pos, SEEK_SET) != 0
- || bfd_bwrite (flinfo->symbuf, amt, flinfo->output_bfd) != amt)
- return FALSE;
-
- hdr->sh_size += amt;
- flinfo->symbuf_count = 0;
- }
-
- return TRUE;
-}
-
-/* Add a symbol to the output symbol table. */
+/* Add a symbol to the output symbol string table. */
static int
-elf_link_output_sym (struct elf_final_link_info *flinfo,
- const char *name,
- Elf_Internal_Sym *elfsym,
- asection *input_sec,
- struct elf_link_hash_entry *h)
-{
- bfd_byte *dest;
- Elf_External_Sym_Shndx *destshndx;
+elf_link_output_symstrtab (struct elf_final_link_info *flinfo,
+ const char *name,
+ Elf_Internal_Sym *elfsym,
+ asection *input_sec,
+ struct elf_link_hash_entry *h)
+{
int (*output_symbol_hook)
(struct bfd_link_info *, const char *, Elf_Internal_Sym *, asection *,
struct elf_link_hash_entry *);
+ struct elf_link_hash_table *hash_table;
const struct elf_backend_data *bed;
+ bfd_size_type strtabsize;
BFD_ASSERT (elf_onesymtab (flinfo->output_bfd));
@@ -8670,49 +8677,119 @@ elf_link_output_sym (struct elf_final_link_info *flinfo,
return ret;
}
- if (name == NULL || *name == '\0')
- elfsym->st_name = 0;
- else if (input_sec->flags & SEC_EXCLUDE)
- elfsym->st_name = 0;
+ if (name == NULL
+ || *name == '\0'
+ || (input_sec->flags & SEC_EXCLUDE))
+ elfsym->st_name = (unsigned long) -1;
else
{
- elfsym->st_name = (unsigned long) _bfd_stringtab_add (flinfo->symstrtab,
- name, TRUE, FALSE);
+ /* Call _bfd_elf_strtab_offset after _bfd_elf_strtab_finalize
+ to get the final offset for st_name. */
+ elfsym->st_name
+ = (unsigned long) _bfd_elf_strtab_add (flinfo->symstrtab,
+ name, FALSE);
if (elfsym->st_name == (unsigned long) -1)
return 0;
}
- if (flinfo->symbuf_count >= flinfo->symbuf_size)
+ hash_table = elf_hash_table (flinfo->info);
+ strtabsize = hash_table->strtabsize;
+ if (strtabsize <= hash_table->strtabcount)
{
- if (! elf_link_flush_output_syms (flinfo, bed))
+ strtabsize += strtabsize;
+ hash_table->strtabsize = strtabsize;
+ strtabsize *= sizeof (*hash_table->strtab);
+ hash_table->strtab
+ = (struct elf_sym_strtab *) bfd_realloc (hash_table->strtab,
+ strtabsize);
+ if (hash_table->strtab == NULL)
return 0;
}
+ hash_table->strtab[hash_table->strtabcount].sym = *elfsym;
+ hash_table->strtab[hash_table->strtabcount].dest_index
+ = hash_table->strtabcount;
+ hash_table->strtab[hash_table->strtabcount].destshndx_index
+ = flinfo->symshndxbuf ? bfd_get_symcount (flinfo->output_bfd) : 0;
+
+ bfd_get_symcount (flinfo->output_bfd) += 1;
+ hash_table->strtabcount += 1;
+
+ return 1;
+}
+
+/* Swap symbols out to the symbol table and flush the output symbols to
+ the file. */
+
+static bfd_boolean
+elf_link_swap_symbols_out (struct elf_final_link_info *flinfo)
+{
+ struct elf_link_hash_table *hash_table = elf_hash_table (flinfo->info);
+ bfd_size_type amt, i;
+ const struct elf_backend_data *bed;
+ bfd_byte *symbuf;
+ Elf_Internal_Shdr *hdr;
+ file_ptr pos;
+ bfd_boolean ret;
- dest = flinfo->symbuf + flinfo->symbuf_count * bed->s->sizeof_sym;
- destshndx = flinfo->symshndxbuf;
- if (destshndx != NULL)
+ if (!hash_table->strtabcount)
+ return TRUE;
+
+ BFD_ASSERT (elf_onesymtab (flinfo->output_bfd));
+
+ bed = get_elf_backend_data (flinfo->output_bfd);
+
+ amt = bed->s->sizeof_sym * hash_table->strtabcount;
+ symbuf = (bfd_byte *) bfd_malloc (amt);
+ if (symbuf == NULL)
+ return FALSE;
+
+ if (flinfo->symshndxbuf)
{
- if (bfd_get_symcount (flinfo->output_bfd) >= flinfo->shndxbuf_size)
+ amt = (sizeof (Elf_External_Sym_Shndx)
+ * (bfd_get_symcount (flinfo->output_bfd)));
+ flinfo->symshndxbuf = (Elf_External_Sym_Shndx *) bfd_zmalloc (amt);
+ if (flinfo->symshndxbuf == NULL)
{
- bfd_size_type amt;
-
- amt = flinfo->shndxbuf_size * sizeof (Elf_External_Sym_Shndx);
- destshndx = (Elf_External_Sym_Shndx *) bfd_realloc (destshndx,
- amt * 2);
- if (destshndx == NULL)
- return 0;
- flinfo->symshndxbuf = destshndx;
- memset ((char *) destshndx + amt, 0, amt);
- flinfo->shndxbuf_size *= 2;
+ free (symbuf);
+ return FALSE;
}
- destshndx += bfd_get_symcount (flinfo->output_bfd);
}
- bed->s->swap_symbol_out (flinfo->output_bfd, elfsym, dest, destshndx);
- flinfo->symbuf_count += 1;
- bfd_get_symcount (flinfo->output_bfd) += 1;
+ for (i = 0; i < hash_table->strtabcount; i++)
+ {
+ struct elf_sym_strtab *elfsym = &hash_table->strtab[i];
+ if (elfsym->sym.st_name == (unsigned long) -1)
+ elfsym->sym.st_name = 0;
+ else
+ elfsym->sym.st_name
+ = (unsigned long) _bfd_elf_strtab_offset (flinfo->symstrtab,
+ elfsym->sym.st_name);
+ bed->s->swap_symbol_out (flinfo->output_bfd, &elfsym->sym,
+ ((bfd_byte *) symbuf
+ + (elfsym->dest_index
+ * bed->s->sizeof_sym)),
+ (flinfo->symshndxbuf
+ + elfsym->destshndx_index));
+ }
+
+ hdr = &elf_tdata (flinfo->output_bfd)->symtab_hdr;
+ pos = hdr->sh_offset + hdr->sh_size;
+ amt = hash_table->strtabcount * bed->s->sizeof_sym;
+ if (bfd_seek (flinfo->output_bfd, pos, SEEK_SET) == 0
+ && bfd_bwrite (symbuf, amt, flinfo->output_bfd) == amt)
+ {
+ hdr->sh_size += amt;
+ ret = TRUE;
+ }
+ else
+ ret = FALSE;
- return 1;
+ free (symbuf);
+
+ free (hash_table->strtab);
+ hash_table->strtab = NULL;
+
+ return ret;
}
/* Return TRUE if the dynamic symbol SYM in ABFD is supported. */
@@ -9355,15 +9432,16 @@ elf_link_output_extsym (struct bfd_hash_entry *bh, void *data)
memset (&fsym, 0, sizeof (fsym));
fsym.st_info = ELF_ST_INFO (STB_LOCAL, STT_FILE);
fsym.st_shndx = SHN_ABS;
- if (!elf_link_output_sym (eoinfo->flinfo, NULL, &fsym,
- bfd_und_section_ptr, NULL))
+ if (!elf_link_output_symstrtab (eoinfo->flinfo, NULL, &fsym,
+ bfd_und_section_ptr, NULL))
return FALSE;
eoinfo->file_sym_done = TRUE;
}
indx = bfd_get_symcount (flinfo->output_bfd);
- ret = elf_link_output_sym (flinfo, h->root.root.string, &sym, input_sec, h);
+ ret = elf_link_output_symstrtab (flinfo, h->root.root.string, &sym,
+ input_sec, h);
if (ret == 0)
{
eoinfo->failed = TRUE;
@@ -9389,6 +9467,7 @@ elf_section_ignore_discarded_relocs (asection *sec)
{
case SEC_INFO_TYPE_STABS:
case SEC_INFO_TYPE_EH_FRAME:
+ case SEC_INFO_TYPE_EH_FRAME_ENTRY:
return TRUE;
default:
break;
@@ -9656,10 +9735,11 @@ elf_link_input_bfd (struct elf_final_link_info *flinfo, bfd *input_bfd)
memset (&osym, 0, sizeof (osym));
osym.st_info = ELF_ST_INFO (STB_LOCAL, STT_FILE);
osym.st_shndx = SHN_ABS;
- if (!elf_link_output_sym (flinfo,
- (input_bfd->lto_output ? NULL
- : input_bfd->filename),
- &osym, bfd_abs_section_ptr, NULL))
+ if (!elf_link_output_symstrtab (flinfo,
+ (input_bfd->lto_output ? NULL
+ : input_bfd->filename),
+ &osym, bfd_abs_section_ptr,
+ NULL))
return FALSE;
}
@@ -9691,7 +9771,7 @@ elf_link_input_bfd (struct elf_final_link_info *flinfo, bfd *input_bfd)
}
indx = bfd_get_symcount (output_bfd);
- ret = elf_link_output_sym (flinfo, name, &osym, isec, NULL);
+ ret = elf_link_output_symstrtab (flinfo, name, &osym, isec, NULL);
if (ret == 0)
return FALSE;
else if (ret == 1)
@@ -9774,7 +9854,8 @@ elf_link_input_bfd (struct elf_final_link_info *flinfo, bfd *input_bfd)
sym.st_value += o->output_offset;
indx = bfd_get_symcount (output_bfd);
- ret = elf_link_output_sym (flinfo, name, &sym, o, NULL);
+ ret = elf_link_output_symstrtab (flinfo, name, &sym, o,
+ NULL);
if (ret == 0)
return FALSE;
else if (ret == 1)
@@ -10249,8 +10330,9 @@ elf_link_input_bfd (struct elf_final_link_info *flinfo, bfd *input_bfd)
}
indx = bfd_get_symcount (output_bfd);
- ret = elf_link_output_sym (flinfo, name, &sym, sec,
- NULL);
+ ret = elf_link_output_symstrtab (flinfo, name,
+ &sym, sec,
+ NULL);
if (ret == 0)
return FALSE;
else if (ret == 1)
@@ -10320,6 +10402,14 @@ elf_link_input_bfd (struct elf_final_link_info *flinfo, bfd *input_bfd)
return FALSE;
}
break;
+ case SEC_INFO_TYPE_EH_FRAME_ENTRY:
+ {
+ if (! _bfd_elf_write_section_eh_frame_entry (output_bfd,
+ flinfo->info,
+ o, contents))
+ return FALSE;
+ }
+ break;
default:
{
/* FIXME: octets_per_byte. */
@@ -10689,7 +10779,7 @@ elf_final_link_free (bfd *obfd, struct elf_final_link_info *flinfo)
asection *o;
if (flinfo->symstrtab != NULL)
- _bfd_stringtab_free (flinfo->symstrtab);
+ _bfd_elf_strtab_free (flinfo->symstrtab);
if (flinfo->contents != NULL)
free (flinfo->contents);
if (flinfo->external_relocs != NULL)
@@ -10706,8 +10796,6 @@ elf_final_link_free (bfd *obfd, struct elf_final_link_info *flinfo)
free (flinfo->indices);
if (flinfo->sections != NULL)
free (flinfo->sections);
- if (flinfo->symbuf != NULL)
- free (flinfo->symbuf);
if (flinfo->symshndxbuf != NULL)
free (flinfo->symshndxbuf);
for (o = obfd->sections; o != NULL; o = o->next)
@@ -10765,7 +10853,7 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
flinfo.info = info;
flinfo.output_bfd = abfd;
- flinfo.symstrtab = _bfd_elf_stringtab_init ();
+ flinfo.symstrtab = _bfd_elf_strtab_init ();
if (flinfo.symstrtab == NULL)
return FALSE;
@@ -10792,10 +10880,7 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
flinfo.internal_syms = NULL;
flinfo.indices = NULL;
flinfo.sections = NULL;
- flinfo.symbuf = NULL;
flinfo.symshndxbuf = NULL;
- flinfo.symbuf_count = 0;
- flinfo.shndxbuf_size = 0;
flinfo.filesym_count = 0;
/* The object attributes have been merged. Remove the input
@@ -11027,27 +11112,18 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
/* sh_offset is set just below. */
symtab_hdr->sh_addralign = (bfd_vma) 1 << bed->s->log_file_align;
- /* Allocate a buffer to hold swapped out symbols. This is to avoid
- continuously seeking to the right position in the file. */
- if (! info->keep_memory || max_sym_count < 20)
- flinfo.symbuf_size = 20;
- else
- flinfo.symbuf_size = max_sym_count;
- amt = flinfo.symbuf_size;
- amt *= bed->s->sizeof_sym;
- flinfo.symbuf = (bfd_byte *) bfd_malloc (amt);
- if (flinfo.symbuf == NULL)
+ if (max_sym_count < 20)
+ max_sym_count = 20;
+ elf_hash_table (info)->strtabsize = max_sym_count;
+ amt = max_sym_count * sizeof (struct elf_sym_strtab);
+ elf_hash_table (info)->strtab
+ = (struct elf_sym_strtab *) bfd_malloc (amt);
+ if (elf_hash_table (info)->strtab == NULL)
goto error_return;
- if (elf_numsections (abfd) > (SHN_LORESERVE & 0xFFFF))
- {
- /* Wild guess at number of output symbols. realloc'd as needed. */
- amt = 2 * max_sym_count + elf_numsections (abfd) + 1000;
- flinfo.shndxbuf_size = amt;
- amt *= sizeof (Elf_External_Sym_Shndx);
- flinfo.symshndxbuf = (Elf_External_Sym_Shndx *) bfd_zmalloc (amt);
- if (flinfo.symshndxbuf == NULL)
- goto error_return;
- }
+ /* The real buffer will be allocated in elf_link_swap_symbols_out. */
+ flinfo.symshndxbuf
+ = (elf_numsections (abfd) > (SHN_LORESERVE & 0xFFFF)
+ ? (Elf_External_Sym_Shndx *) -1 : NULL);
if (info->strip != strip_all || emit_relocs)
{
@@ -11067,8 +11143,8 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
elfsym.st_other = 0;
elfsym.st_shndx = SHN_UNDEF;
elfsym.st_target_internal = 0;
- if (elf_link_output_sym (&flinfo, NULL, &elfsym, bfd_und_section_ptr,
- NULL) != 1)
+ if (elf_link_output_symstrtab (&flinfo, NULL, &elfsym,
+ bfd_und_section_ptr, NULL) != 1)
goto error_return;
/* Output a symbol for each section. We output these even if we are
@@ -11091,7 +11167,8 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
elfsym.st_shndx = i;
if (!info->relocatable)
elfsym.st_value = o->vma;
- if (elf_link_output_sym (&flinfo, NULL, &elfsym, o, NULL) != 1)
+ if (elf_link_output_symstrtab (&flinfo, NULL, &elfsym, o,
+ NULL) != 1)
goto error_return;
}
}
@@ -11190,6 +11267,9 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
return FALSE;
}
+ if (!_bfd_elf_fixup_eh_frame_hdr (info))
+ return FALSE;
+
/* Since ELF permits relocations to be against local symbols, we
must have the local symbols available when we do the relocations.
Since we would rather only read the local symbols once, and we
@@ -11305,7 +11385,8 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
struct elf_link_hash_entry *);
if (! ((*bed->elf_backend_output_arch_local_syms)
- (abfd, info, &flinfo, (out_sym_func) elf_link_output_sym)))
+ (abfd, info, &flinfo,
+ (out_sym_func) elf_link_output_symstrtab)))
return FALSE;
}
@@ -11416,12 +11497,16 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
struct elf_link_hash_entry *);
if (! ((*bed->elf_backend_output_arch_syms)
- (abfd, info, &flinfo, (out_sym_func) elf_link_output_sym)))
+ (abfd, info, &flinfo,
+ (out_sym_func) elf_link_output_symstrtab)))
return FALSE;
}
- /* Flush all symbols to the file. */
- if (! elf_link_flush_output_syms (&flinfo, bed))
+ /* Finalize the .strtab section. */
+ _bfd_elf_strtab_finalize (flinfo.symstrtab);
+
+ /* Swap out the .strtab section. */
+ if (!elf_link_swap_symbols_out (&flinfo))
return FALSE;
/* Now we know the size of the symtab section. */
@@ -11454,7 +11539,7 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
symstrtab_hdr->sh_type = SHT_STRTAB;
symstrtab_hdr->sh_flags = 0;
symstrtab_hdr->sh_addr = 0;
- symstrtab_hdr->sh_size = _bfd_stringtab_size (flinfo.symstrtab);
+ symstrtab_hdr->sh_size = _bfd_elf_strtab_size (flinfo.symstrtab);
symstrtab_hdr->sh_entsize = 0;
symstrtab_hdr->sh_link = 0;
symstrtab_hdr->sh_info = 0;
@@ -11466,7 +11551,7 @@ bfd_elf_final_link (bfd *abfd, struct bfd_link_info *info)
elf_next_file_pos (abfd) = off;
if (bfd_seek (abfd, symstrtab_hdr->sh_offset, SEEK_SET) != 0
- || ! _bfd_stringtab_emit (abfd, flinfo.symstrtab))
+ || ! _bfd_elf_strtab_emit (abfd, flinfo.symstrtab))
return FALSE;
}
@@ -12099,6 +12184,11 @@ _bfd_elf_gc_mark (struct bfd_link_info *info,
}
}
+ eh_frame = elf_section_eh_frame_entry (sec);
+ if (ret && eh_frame && !eh_frame->gc_mark)
+ if (!_bfd_elf_gc_mark (info, eh_frame, gc_mark_hook))
+ ret = FALSE;
+
return ret;
}
@@ -12514,6 +12604,36 @@ _bfd_elf_gc_keep (struct bfd_link_info *info)
}
}
+bfd_boolean
+bfd_elf_parse_eh_frame_entries (bfd *abfd ATTRIBUTE_UNUSED,
+ struct bfd_link_info *info)
+{
+ bfd *ibfd = info->input_bfds;
+
+ for (ibfd = info->input_bfds; ibfd != NULL; ibfd = ibfd->link.next)
+ {
+ asection *sec;
+ struct elf_reloc_cookie cookie;
+
+ if (bfd_get_flavour (ibfd) != bfd_target_elf_flavour)
+ continue;
+
+ if (!init_reloc_cookie (&cookie, info, ibfd))
+ return FALSE;
+
+ for (sec = ibfd->sections; sec; sec = sec->next)
+ {
+ if (CONST_STRNEQ (bfd_section_name (ibfd, sec), ".eh_frame_entry")
+ && init_reloc_cookie_rels (&cookie, info, ibfd, sec))
+ {
+ _bfd_elf_parse_eh_frame_entry (info, sec, &cookie);
+ fini_reloc_cookie_rels (&cookie, sec);
+ }
+ }
+ }
+ return TRUE;
+}
+
/* Do mark and sweep of unused sections. */
bfd_boolean
@@ -12537,7 +12657,9 @@ bfd_elf_gc_sections (bfd *abfd, struct bfd_link_info *info)
/* Try to parse each bfd's .eh_frame section. Point elf_eh_frame_section
at the .eh_frame section if we can mark the FDEs individually. */
- for (sub = info->input_bfds; sub != NULL; sub = sub->link.next)
+ for (sub = info->input_bfds;
+ info->eh_frame_hdr_type != COMPACT_EH_HDR && sub != NULL;
+ sub = sub->link.next)
{
asection *sec;
struct elf_reloc_cookie cookie;
@@ -13041,7 +13163,9 @@ bfd_elf_discard_info (bfd *output_bfd, struct bfd_link_info *info)
}
}
- o = bfd_get_section_by_name (output_bfd, ".eh_frame");
+ o = NULL;
+ if (info->eh_frame_hdr_type != COMPACT_EH_HDR)
+ o = bfd_get_section_by_name (output_bfd, ".eh_frame");
if (o != NULL)
{
asection *i;
@@ -13089,7 +13213,10 @@ bfd_elf_discard_info (bfd *output_bfd, struct bfd_link_info *info)
}
}
- if (info->eh_frame_hdr
+ if (info->eh_frame_hdr_type == COMPACT_EH_HDR)
+ _bfd_elf_end_eh_frame_parsing (info);
+
+ if (info->eh_frame_hdr_type
&& !info->relocatable
&& _bfd_elf_discard_section_eh_frame_hdr (output_bfd, info))
changed = 1;
diff --git a/bfd/elfnn-aarch64.c b/bfd/elfnn-aarch64.c
index ddca5dd483f..b13f5db610e 100644
--- a/bfd/elfnn-aarch64.c
+++ b/bfd/elfnn-aarch64.c
@@ -848,6 +848,53 @@ static reloc_howto_type elfNN_aarch64_howto_table[] =
0xffc, /* dst_mask */
FALSE), /* pcrel_offset */
+ /* LD64: GOT offset for the symbol. */
+ HOWTO64 (AARCH64_R (LD64_GOTOFF_LO15), /* type */
+ 3, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 12, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_unsigned, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ AARCH64_R_STR (LD64_GOTOFF_LO15), /* name */
+ FALSE, /* partial_inplace */
+ 0x7ff8, /* src_mask */
+ 0x7ff8, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* LD32: GOT offset to the page address of GOT table.
+ (G(S) - PAGE (_GLOBAL_OFFSET_TABLE_)) & 0x5ffc. */
+ HOWTO32 (AARCH64_R (LD32_GOTPAGE_LO14), /* type */
+ 2, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 12, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_unsigned, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ AARCH64_R_STR (LD32_GOTPAGE_LO14), /* name */
+ FALSE, /* partial_inplace */
+ 0x5ffc, /* src_mask */
+ 0x5ffc, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
+ /* LD64: GOT offset to the page address of GOT table.
+ (G(S) - PAGE (_GLOBAL_OFFSET_TABLE_)) & 0x7ff8. */
+ HOWTO64 (AARCH64_R (LD64_GOTPAGE_LO15), /* type */
+ 3, /* rightshift */
+ 2, /* size (0 = byte, 1 = short, 2 = long) */
+ 12, /* bitsize */
+ FALSE, /* pc_relative */
+ 0, /* bitpos */
+ complain_overflow_unsigned, /* complain_on_overflow */
+ bfd_elf_generic_reloc, /* special_function */
+ AARCH64_R_STR (LD64_GOTPAGE_LO15), /* name */
+ FALSE, /* partial_inplace */
+ 0x7ff8, /* src_mask */
+ 0x7ff8, /* dst_mask */
+ FALSE), /* pcrel_offset */
+
/* Get to the page for the GOT entry for the symbol
(G(S) - P) using an ADRP instruction. */
HOWTO (AARCH64_R (TLSGD_ADR_PAGE21), /* type */
@@ -1067,7 +1114,7 @@ static reloc_howto_type elfNN_aarch64_howto_table[] =
12, /* bitsize */
FALSE, /* pc_relative */
0, /* bitpos */
- complain_overflow_dont, /* complain_on_overflow */
+ complain_overflow_unsigned, /* complain_on_overflow */
bfd_elf_generic_reloc, /* special_function */
AARCH64_R_STR (TLSLE_ADD_TPREL_LO12), /* name */
FALSE, /* partial_inplace */
@@ -3980,8 +4027,8 @@ aarch64_tls_transition_without_check (bfd_reloc_code_real_type r_type,
switch (r_type)
{
- case BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21:
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
+ case BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21:
return (is_local
? BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1
: BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21);
@@ -3996,8 +4043,8 @@ aarch64_tls_transition_without_check (bfd_reloc_code_real_type r_type,
? BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1
: BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19);
- case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
case BFD_RELOC_AARCH64_TLSDESC_LDNN_LO12_NC:
+ case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
return (is_local
? BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC
: BFD_RELOC_AARCH64_TLSIE_LDNN_GOTTPREL_LO12_NC);
@@ -4033,29 +4080,31 @@ aarch64_reloc_got_type (bfd_reloc_code_real_type r_type)
{
switch (r_type)
{
- case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
- case BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:
case BFD_RELOC_AARCH64_ADR_GOT_PAGE:
case BFD_RELOC_AARCH64_GOT_LD_PREL19:
+ case BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14:
+ case BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:
+ case BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15:
+ case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
return GOT_NORMAL;
+ case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
case BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21:
case BFD_RELOC_AARCH64_TLSGD_ADR_PREL21:
- case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
return GOT_TLS_GD;
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
case BFD_RELOC_AARCH64_TLSDESC_CALL:
- case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC:
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
+ case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC:
case BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:
return GOT_TLSDESC_GD;
case BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21:
- case BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
case BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC:
+ case BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
case BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19:
return GOT_TLS_IE;
@@ -4491,6 +4540,7 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
{
asection *plt;
const char *name;
+ bfd_vma addend = 0;
if ((input_section->flags & SEC_ALLOC) == 0
|| h->plt.offset == (bfd_vma) -1)
@@ -4578,17 +4628,19 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
return bfd_reloc_ok;
}
/* FALLTHROUGH */
- case BFD_RELOC_AARCH64_JUMP26:
case BFD_RELOC_AARCH64_CALL26:
+ case BFD_RELOC_AARCH64_JUMP26:
value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value,
signed_addend,
weak_undef_p);
return _bfd_aarch64_elf_put_addend (input_bfd, hit_data, bfd_r_type,
howto, value);
- case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
- case BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:
case BFD_RELOC_AARCH64_ADR_GOT_PAGE:
case BFD_RELOC_AARCH64_GOT_LD_PREL19:
+ case BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14:
+ case BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:
+ case BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15:
+ case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
base_got = globals->root.sgot;
off = h->got.offset;
@@ -4647,11 +4699,15 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
value = aarch64_calculate_got_entry_vma (h, globals, info,
value, output_bfd,
unresolved_reloc_p);
+ if (bfd_r_type == BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15
+ || bfd_r_type == BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14)
+ addend = (globals->root.sgot->output_section->vma
+ + globals->root.sgot->output_offset);
value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value,
- 0, weak_undef_p);
+ addend, weak_undef_p);
return _bfd_aarch64_elf_put_addend (input_bfd, hit_data, bfd_r_type, howto, value);
- case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
case BFD_RELOC_AARCH64_ADD_LO12:
+ case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
break;
}
}
@@ -4746,8 +4802,8 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
value += signed_addend;
break;
- case BFD_RELOC_AARCH64_JUMP26:
case BFD_RELOC_AARCH64_CALL26:
+ case BFD_RELOC_AARCH64_JUMP26:
{
asection *splt = globals->root.splt;
bfd_boolean via_plt_p =
@@ -4800,13 +4856,13 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
signed_addend, weak_undef_p);
break;
- case BFD_RELOC_AARCH64_ADR_LO21_PCREL:
- case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
- case BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL:
- case BFD_RELOC_AARCH64_LD_LO19_PCREL:
case BFD_RELOC_AARCH64_16_PCREL:
case BFD_RELOC_AARCH64_32_PCREL:
case BFD_RELOC_AARCH64_64_PCREL:
+ case BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL:
+ case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
+ case BFD_RELOC_AARCH64_ADR_LO21_PCREL:
+ case BFD_RELOC_AARCH64_LD_LO19_PCREL:
if (info->shared
&& (input_section->flags & SEC_ALLOC) != 0
&& (input_section->flags & SEC_READONLY) != 0
@@ -4830,43 +4886,51 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
#endif
case BFD_RELOC_AARCH64_ADD_LO12:
case BFD_RELOC_AARCH64_BRANCH19:
- case BFD_RELOC_AARCH64_LDST8_LO12:
+ case BFD_RELOC_AARCH64_LDST128_LO12:
case BFD_RELOC_AARCH64_LDST16_LO12:
case BFD_RELOC_AARCH64_LDST32_LO12:
case BFD_RELOC_AARCH64_LDST64_LO12:
- case BFD_RELOC_AARCH64_LDST128_LO12:
- case BFD_RELOC_AARCH64_MOVW_G0_S:
- case BFD_RELOC_AARCH64_MOVW_G1_S:
- case BFD_RELOC_AARCH64_MOVW_G2_S:
+ case BFD_RELOC_AARCH64_LDST8_LO12:
case BFD_RELOC_AARCH64_MOVW_G0:
case BFD_RELOC_AARCH64_MOVW_G0_NC:
+ case BFD_RELOC_AARCH64_MOVW_G0_S:
case BFD_RELOC_AARCH64_MOVW_G1:
case BFD_RELOC_AARCH64_MOVW_G1_NC:
+ case BFD_RELOC_AARCH64_MOVW_G1_S:
case BFD_RELOC_AARCH64_MOVW_G2:
case BFD_RELOC_AARCH64_MOVW_G2_NC:
+ case BFD_RELOC_AARCH64_MOVW_G2_S:
case BFD_RELOC_AARCH64_MOVW_G3:
case BFD_RELOC_AARCH64_TSTBR14:
value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value,
signed_addend, weak_undef_p);
break;
- case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
- case BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:
case BFD_RELOC_AARCH64_ADR_GOT_PAGE:
case BFD_RELOC_AARCH64_GOT_LD_PREL19:
+ case BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14:
+ case BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:
+ case BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15:
+ case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
if (globals->root.sgot == NULL)
BFD_ASSERT (h != NULL);
if (h != NULL)
{
+ bfd_vma addend = 0;
value = aarch64_calculate_got_entry_vma (h, globals, info, value,
output_bfd,
unresolved_reloc_p);
+ if (bfd_r_type == BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15
+ || bfd_r_type == BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14)
+ addend = (globals->root.sgot->output_section->vma
+ + globals->root.sgot->output_offset);
value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value,
- 0, weak_undef_p);
+ addend, weak_undef_p);
}
else
{
+ bfd_vma addend = 0;
struct elf_aarch64_local_symbol *locals
= elf_aarch64_locals (input_bfd);
@@ -4915,16 +4979,23 @@ elfNN_aarch64_final_link_relocate (reloc_howto_type *howto,
/* Update the relocation value to GOT entry addr as we have transformed
the direct data access into indirect data access through GOT. */
value = got_entry_addr;
+
+ if (bfd_r_type == BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15
+ || bfd_r_type == BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14)
+ addend = base_got->output_section->vma + base_got->output_offset;
+
+ value = _bfd_aarch64_elf_resolve_relocation (bfd_r_type, place, value,
+ addend, weak_undef_p);
}
break;
+ case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
case BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21:
case BFD_RELOC_AARCH64_TLSGD_ADR_PREL21:
- case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
case BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21:
- case BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
case BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC:
+ case BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
case BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19:
if (globals->root.sgot == NULL)
return bfd_reloc_notsupported;
@@ -5008,8 +5079,8 @@ elfNN_aarch64_tls_relax (struct elf_aarch64_link_hash_table *globals,
switch (elfNN_aarch64_bfd_reloc_from_type (r_type))
{
- case BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21:
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
+ case BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21:
if (is_local)
{
/* GD->LE relaxation:
@@ -5407,9 +5478,9 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
switch (elfNN_aarch64_bfd_reloc_from_type (r_type))
{
+ case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
case BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21:
case BFD_RELOC_AARCH64_TLSGD_ADR_PREL21:
- case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
if (! symbol_got_offset_mark_p (input_bfd, h, r_symndx))
{
bfd_boolean need_relocs = FALSE;
@@ -5537,14 +5608,14 @@ elfNN_aarch64_relocate_section (bfd *output_bfd,
}
break;
- case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12:
case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12:
+ case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12:
case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
- case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2:
- case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1:
- case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC:
case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0:
case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC:
+ case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1:
+ case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC:
+ case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2:
break;
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
@@ -5909,7 +5980,9 @@ elfNN_aarch64_gc_sweep_hook (bfd *abfd,
{
case BFD_RELOC_AARCH64_ADR_GOT_PAGE:
case BFD_RELOC_AARCH64_GOT_LD_PREL19:
+ case BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14:
case BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:
+ case BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15:
case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
@@ -5961,13 +6034,13 @@ elfNN_aarch64_gc_sweep_hook (bfd *abfd,
h->plt.refcount -= 1;
break;
+ case BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL:
+ case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
+ case BFD_RELOC_AARCH64_ADR_LO21_PCREL:
case BFD_RELOC_AARCH64_MOVW_G0_NC:
case BFD_RELOC_AARCH64_MOVW_G1_NC:
case BFD_RELOC_AARCH64_MOVW_G2_NC:
case BFD_RELOC_AARCH64_MOVW_G3:
- case BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL:
- case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
- case BFD_RELOC_AARCH64_ADR_LO21_PCREL:
case BFD_RELOC_AARCH64_NN:
if (h != NULL && info->executable)
{
@@ -6020,11 +6093,7 @@ elfNN_aarch64_adjust_dynamic_symbol (struct bfd_link_info *info,
return TRUE;
}
else
- /* It's possible that we incorrectly decided a .plt reloc was
- needed for an R_X86_64_PC32 reloc to a non-function sym in
- check_relocs. We can't decide accurately between function and
- non-function syms in check-relocs; Objects loaded later in
- the link may change h->type. So fix it now. */
+ /* Otherwise, reset to -1. */
h->plt.offset = (bfd_vma) - 1;
@@ -6264,15 +6333,17 @@ elfNN_aarch64_check_relocs (bfd *abfd, struct bfd_link_info *info,
default:
break;
- case BFD_RELOC_AARCH64_NN:
+ case BFD_RELOC_AARCH64_ADD_LO12:
+ case BFD_RELOC_AARCH64_ADR_GOT_PAGE:
+ case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
case BFD_RELOC_AARCH64_CALL26:
+ case BFD_RELOC_AARCH64_GOT_LD_PREL19:
case BFD_RELOC_AARCH64_JUMP26:
+ case BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14:
case BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:
+ case BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15:
case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
- case BFD_RELOC_AARCH64_ADR_GOT_PAGE:
- case BFD_RELOC_AARCH64_GOT_LD_PREL19:
- case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
- case BFD_RELOC_AARCH64_ADD_LO12:
+ case BFD_RELOC_AARCH64_NN:
if (htab->root.dynobj == NULL)
htab->root.dynobj = abfd;
if (!_bfd_elf_create_ifunc_sections (htab->root.dynobj, info))
@@ -6381,7 +6452,9 @@ elfNN_aarch64_check_relocs (bfd *abfd, struct bfd_link_info *info,
there are no dangling GOT_PAGE relocs. */
case BFD_RELOC_AARCH64_ADR_GOT_PAGE:
case BFD_RELOC_AARCH64_GOT_LD_PREL19:
+ case BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14:
case BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:
+ case BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15:
case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
@@ -7472,6 +7545,32 @@ elfNN_aarch64_allocate_local_ifunc_dynrelocs (void **slot, void *inf)
return elfNN_aarch64_allocate_ifunc_dynrelocs (h, inf);
}
+/* Find any dynamic relocs that apply to read-only sections. */
+
+static bfd_boolean
+aarch64_readonly_dynrelocs (struct elf_link_hash_entry * h, void * inf)
+{
+ struct elf_aarch64_link_hash_entry * eh;
+ struct elf_dyn_relocs * p;
+
+ eh = (struct elf_aarch64_link_hash_entry *) h;
+ for (p = eh->dyn_relocs; p != NULL; p = p->next)
+ {
+ asection *s = p->sec;
+
+ if (s != NULL && (s->flags & SEC_READONLY) != 0)
+ {
+ struct bfd_link_info *info = (struct bfd_link_info *) inf;
+
+ info->flags |= DF_TEXTREL;
+
+ /* Not an error, just cut short the traversal. */
+ return FALSE;
+ }
+ }
+ return TRUE;
+}
+
/* This is the most important function of all . Innocuosly named
though ! */
static bfd_boolean
@@ -7759,6 +7858,10 @@ elfNN_aarch64_size_dynamic_sections (bfd *output_bfd ATTRIBUTE_UNUSED,
/* If any dynamic relocs apply to a read-only section,
then we need a DT_TEXTREL entry. */
+ if ((info->flags & DF_TEXTREL) == 0)
+ elf_link_hash_traverse (& htab->root, aarch64_readonly_dynrelocs,
+ info);
+
if ((info->flags & DF_TEXTREL) != 0)
{
if (!add_dynamic_entry (DT_TEXTREL, 0))
diff --git a/bfd/elfxx-aarch64.c b/bfd/elfxx-aarch64.c
index db9d4fa0192..7b1a3946c49 100644
--- a/bfd/elfxx-aarch64.c
+++ b/bfd/elfxx-aarch64.c
@@ -207,8 +207,8 @@ _bfd_aarch64_elf_put_addend (bfd *abfd,
switch (r_type)
{
- case BFD_RELOC_AARCH64_JUMP26:
case BFD_RELOC_AARCH64_CALL26:
+ case BFD_RELOC_AARCH64_JUMP26:
contents = reencode_branch_ofs_26 (contents, addend);
break;
@@ -220,9 +220,9 @@ _bfd_aarch64_elf_put_addend (bfd *abfd,
contents = reencode_tst_branch_ofs_14 (contents, addend);
break;
- case BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:
- case BFD_RELOC_AARCH64_LD_LO19_PCREL:
case BFD_RELOC_AARCH64_GOT_LD_PREL19:
+ case BFD_RELOC_AARCH64_LD_LO19_PCREL:
+ case BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:
case BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19:
if (old_addend & ((1 << howto->rightshift) - 1))
return bfd_reloc_overflow;
@@ -232,24 +232,24 @@ _bfd_aarch64_elf_put_addend (bfd *abfd,
case BFD_RELOC_AARCH64_TLSDESC_CALL:
break;
+ case BFD_RELOC_AARCH64_ADR_GOT_PAGE:
+ case BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL:
+ case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
+ case BFD_RELOC_AARCH64_ADR_LO21_PCREL:
+ case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
- case BFD_RELOC_AARCH64_TLSGD_ADR_PREL21:
case BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21:
+ case BFD_RELOC_AARCH64_TLSGD_ADR_PREL21:
case BFD_RELOC_AARCH64_TLSIE_ADR_GOTTPREL_PAGE21:
- case BFD_RELOC_AARCH64_TLSDESC_ADR_PAGE21:
- case BFD_RELOC_AARCH64_ADR_GOT_PAGE:
- case BFD_RELOC_AARCH64_ADR_LO21_PCREL:
- case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
- case BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL:
contents = _bfd_aarch64_reencode_adr_imm (contents, addend);
break;
+ case BFD_RELOC_AARCH64_ADD_LO12:
+ case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
- case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12:
case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_HI12:
+ case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12:
case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
- case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
- case BFD_RELOC_AARCH64_ADD_LO12:
/* Corresponds to: add rd, rn, #uimm12 to provide the low order
12 bits of the page offset following
BFD_RELOC_AARCH64_ADR_HI21_PCREL which computes the
@@ -257,17 +257,19 @@ _bfd_aarch64_elf_put_addend (bfd *abfd,
contents = reencode_add_imm (contents, addend);
break;
- case BFD_RELOC_AARCH64_LDST8_LO12:
+ case BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14:
+ case BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:
+ case BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15:
+ case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
+ case BFD_RELOC_AARCH64_LDST128_LO12:
case BFD_RELOC_AARCH64_LDST16_LO12:
case BFD_RELOC_AARCH64_LDST32_LO12:
case BFD_RELOC_AARCH64_LDST64_LO12:
- case BFD_RELOC_AARCH64_LDST128_LO12:
- case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC:
+ case BFD_RELOC_AARCH64_LDST8_LO12:
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
- case BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
+ case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC:
case BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC:
- case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
- case BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:
+ case BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
if (old_addend & ((1 << howto->rightshift) - 1))
return bfd_reloc_overflow;
/* Used for ldr*|str* rt, [rn, #uimm12] to provide the low order
@@ -281,12 +283,12 @@ _bfd_aarch64_elf_put_addend (bfd *abfd,
instruction to MOVN or MOVZ depending on sign of calculated
value. */
- case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2:
- case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1:
- case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0:
case BFD_RELOC_AARCH64_MOVW_G0_S:
case BFD_RELOC_AARCH64_MOVW_G1_S:
case BFD_RELOC_AARCH64_MOVW_G2_S:
+ case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0:
+ case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1:
+ case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2:
/* NOTE: We can only come here with movz or movn. */
if (addend < 0)
{
@@ -304,8 +306,6 @@ _bfd_aarch64_elf_put_addend (bfd *abfd,
/* Group relocations to create a 16, 32, 48 or 64 bit unsigned
data or abs address inline. */
- case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC:
- case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC:
case BFD_RELOC_AARCH64_MOVW_G0:
case BFD_RELOC_AARCH64_MOVW_G0_NC:
case BFD_RELOC_AARCH64_MOVW_G1:
@@ -313,6 +313,8 @@ _bfd_aarch64_elf_put_addend (bfd *abfd,
case BFD_RELOC_AARCH64_MOVW_G2:
case BFD_RELOC_AARCH64_MOVW_G2_NC:
case BFD_RELOC_AARCH64_MOVW_G3:
+ case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC:
+ case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC:
contents = reencode_movw_imm (contents, addend);
break;
@@ -355,20 +357,20 @@ _bfd_aarch64_elf_resolve_relocation (bfd_reloc_code_real_type r_type,
{
switch (r_type)
{
- case BFD_RELOC_AARCH64_TLSDESC_CALL:
case BFD_RELOC_AARCH64_NONE:
+ case BFD_RELOC_AARCH64_TLSDESC_CALL:
break;
+ case BFD_RELOC_AARCH64_16_PCREL:
+ case BFD_RELOC_AARCH64_32_PCREL:
+ case BFD_RELOC_AARCH64_64_PCREL:
+ case BFD_RELOC_AARCH64_ADR_LO21_PCREL:
+ case BFD_RELOC_AARCH64_BRANCH19:
+ case BFD_RELOC_AARCH64_LD_LO19_PCREL:
case BFD_RELOC_AARCH64_TLSDESC_ADR_PREL21:
case BFD_RELOC_AARCH64_TLSDESC_LD_PREL19:
case BFD_RELOC_AARCH64_TLSGD_ADR_PREL21:
case BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_PREL19:
- case BFD_RELOC_AARCH64_ADR_LO21_PCREL:
- case BFD_RELOC_AARCH64_BRANCH19:
- case BFD_RELOC_AARCH64_LD_LO19_PCREL:
- case BFD_RELOC_AARCH64_16_PCREL:
- case BFD_RELOC_AARCH64_32_PCREL:
- case BFD_RELOC_AARCH64_64_PCREL:
case BFD_RELOC_AARCH64_TSTBR14:
if (weak_undef_p)
value = place;
@@ -382,21 +384,21 @@ _bfd_aarch64_elf_resolve_relocation (bfd_reloc_code_real_type r_type,
case BFD_RELOC_AARCH64_16:
case BFD_RELOC_AARCH64_32:
- case BFD_RELOC_AARCH64_MOVW_G0_S:
- case BFD_RELOC_AARCH64_MOVW_G1_S:
- case BFD_RELOC_AARCH64_MOVW_G2_S:
case BFD_RELOC_AARCH64_MOVW_G0:
case BFD_RELOC_AARCH64_MOVW_G0_NC:
+ case BFD_RELOC_AARCH64_MOVW_G0_S:
case BFD_RELOC_AARCH64_MOVW_G1:
case BFD_RELOC_AARCH64_MOVW_G1_NC:
+ case BFD_RELOC_AARCH64_MOVW_G1_S:
case BFD_RELOC_AARCH64_MOVW_G2:
case BFD_RELOC_AARCH64_MOVW_G2_NC:
+ case BFD_RELOC_AARCH64_MOVW_G2_S:
case BFD_RELOC_AARCH64_MOVW_G3:
value = value + addend;
break;
- case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
case BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL:
+ case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
if (weak_undef_p)
value = PG (place);
value = PG (value + addend) - PG (place);
@@ -413,27 +415,36 @@ _bfd_aarch64_elf_resolve_relocation (bfd_reloc_code_real_type r_type,
value = PG (value + addend) - PG (place);
break;
+ case BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14:
+ case BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15:
+ /* Caller must make sure addend is the base address of .got section. */
+ value = value - PG (addend);
+ break;
+
case BFD_RELOC_AARCH64_ADD_LO12:
- case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
case BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:
- case BFD_RELOC_AARCH64_LDST8_LO12:
+ case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
+ case BFD_RELOC_AARCH64_LDST128_LO12:
case BFD_RELOC_AARCH64_LDST16_LO12:
case BFD_RELOC_AARCH64_LDST32_LO12:
case BFD_RELOC_AARCH64_LDST64_LO12:
- case BFD_RELOC_AARCH64_LDST128_LO12:
- case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
+ case BFD_RELOC_AARCH64_LDST8_LO12:
case BFD_RELOC_AARCH64_TLSDESC_ADD:
- case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC:
+ case BFD_RELOC_AARCH64_TLSDESC_ADD_LO12_NC:
case BFD_RELOC_AARCH64_TLSDESC_LD32_LO12_NC:
+ case BFD_RELOC_AARCH64_TLSDESC_LD64_LO12_NC:
case BFD_RELOC_AARCH64_TLSDESC_LDR:
case BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC:
- case BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
case BFD_RELOC_AARCH64_TLSIE_LD32_GOTTPREL_LO12_NC:
- case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12:
+ case BFD_RELOC_AARCH64_TLSIE_LD64_GOTTPREL_LO12_NC:
case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12_NC:
value = PG_OFFSET (value + addend);
break;
+ case BFD_RELOC_AARCH64_TLSLE_ADD_TPREL_LO12:
+ value = value + addend;
+ break;
+
case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1:
case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC:
value = (value + addend) & (bfd_vma) 0xffff0000;
diff --git a/bfd/elfxx-mips.c b/bfd/elfxx-mips.c
index 50ee9ad4ac5..9932453658b 100644
--- a/bfd/elfxx-mips.c
+++ b/bfd/elfxx-mips.c
@@ -36,6 +36,7 @@
#include "elfxx-mips.h"
#include "elf/mips.h"
#include "elf-vxworks.h"
+#include "dwarf2.h"
/* Get the ECOFF swapping routines. */
#include "coff/sym.h"
@@ -7613,7 +7614,7 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
htab->sstubs = s;
if (!mips_elf_hash_table (info)->use_rld_obj_head
- && !info->shared
+ && info->executable
&& bfd_get_linker_section (abfd, ".rld_map") == NULL)
{
s = bfd_make_section_anyway_with_flags (abfd, ".rld_map",
@@ -7677,7 +7678,7 @@ _bfd_mips_elf_create_dynamic_sections (bfd *abfd, struct bfd_link_info *info)
(void) bfd_set_section_alignment (abfd, s, MIPS_ELF_LOG_FILE_ALIGN (abfd));
}
- if (!info->shared)
+ if (info->executable)
{
const char *name;
@@ -9718,7 +9719,7 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd,
info->combreloc = 0;
}
}
- else if (! info->shared
+ else if (info->executable
&& ! mips_elf_hash_table (info)->use_rld_obj_head
&& CONST_STRNEQ (name, ".rld_map"))
{
@@ -9781,6 +9782,10 @@ _bfd_mips_elf_size_dynamic_sections (bfd *output_bfd,
&& !MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_RLD_MAP, 0))
return FALSE;
+ if (info->executable
+ && !MIPS_ELF_ADD_DYNAMIC_ENTRY (info, DT_MIPS_RLD_MAP_REL, 0))
+ return FALSE;
+
/* The DT_DEBUG entry may be filled in by the dynamic linker and
used by the debugger. */
if (info->executable
@@ -11486,11 +11491,37 @@ _bfd_mips_elf_finish_dynamic_sections (bfd *output_bfd,
break;
}
s = h->root.u.def.section;
+
+ /* The MIPS_RLD_MAP tag stores the absolute address of the
+ debug pointer. */
dyn.d_un.d_ptr = (s->output_section->vma + s->output_offset
+ h->root.u.def.value);
}
break;
+ case DT_MIPS_RLD_MAP_REL:
+ {
+ struct elf_link_hash_entry *h;
+ bfd_vma dt_addr, rld_addr;
+ h = mips_elf_hash_table (info)->rld_symbol;
+ if (!h)
+ {
+ dyn_to_skip = MIPS_ELF_DYN_SIZE (dynobj);
+ swap_out_p = FALSE;
+ break;
+ }
+ s = h->root.u.def.section;
+
+ /* The MIPS_RLD_MAP_REL tag stores the offset to the debug
+ pointer, relative to the address of the tag. */
+ dt_addr = (sdyn->output_section->vma + sdyn->output_offset
+ + b - sdyn->contents);
+ rld_addr = (s->output_section->vma + s->output_offset
+ + h->root.u.def.value);
+ dyn.d_un.d_ptr = rld_addr - dt_addr;
+ }
+ break;
+
case DT_MIPS_OPTIONS:
s = (bfd_get_section_by_name
(output_bfd, MIPS_ELF_OPTIONS_SECTION_NAME (output_bfd)));
@@ -15420,6 +15451,8 @@ _bfd_mips_elf_get_target_dtag (bfd_vma dtag)
return "MIPS_HIPAGENO";
case DT_MIPS_RLD_MAP:
return "MIPS_RLD_MAP";
+ case DT_MIPS_RLD_MAP_REL:
+ return "MIPS_RLD_MAP_REL";
case DT_MIPS_DELTA_CLASS:
return "MIPS_DELTA_CLASS";
case DT_MIPS_DELTA_CLASS_NO:
@@ -16109,3 +16142,17 @@ _bfd_mips_post_process_headers (bfd *abfd, struct bfd_link_info *link_info)
|| mips_elf_tdata (abfd)->abiflags.fp_abi == Val_GNU_MIPS_ABI_FP_64A)
i_ehdrp->e_ident[EI_ABIVERSION] = 3;
}
+
+int
+_bfd_mips_elf_compact_eh_encoding (struct bfd_link_info *link_info ATTRIBUTE_UNUSED)
+{
+ return DW_EH_PE_pcrel | DW_EH_PE_sdata4;
+}
+
+/* Return the opcode for can't unwind. */
+
+int
+_bfd_mips_elf_cant_unwind_opcode (struct bfd_link_info *link_info ATTRIBUTE_UNUSED)
+{
+ return COMPACT_EH_CANT_UNWIND_OPCODE;
+}
diff --git a/bfd/elfxx-mips.h b/bfd/elfxx-mips.h
index 8151d3bf0ae..03ff4fbd1eb 100644
--- a/bfd/elfxx-mips.h
+++ b/bfd/elfxx-mips.h
@@ -168,6 +168,9 @@ extern const struct bfd_elf_special_section _bfd_mips_elf_special_sections [];
extern bfd_boolean _bfd_mips_elf_common_definition (Elf_Internal_Sym *);
+extern int _bfd_mips_elf_compact_eh_encoding (struct bfd_link_info *);
+extern int _bfd_mips_elf_cant_unwind_opcode (struct bfd_link_info *);
+
static inline bfd_boolean
gprel16_reloc_p (unsigned int r_type)
{
@@ -191,3 +194,5 @@ literal_reloc_p (int r_type)
#define elf_backend_merge_symbol_attribute _bfd_mips_elf_merge_symbol_attribute
#define elf_backend_ignore_undef_symbol _bfd_mips_elf_ignore_undef_symbol
#define elf_backend_post_process_headers _bfd_mips_post_process_headers
+#define elf_backend_compact_eh_encoding _bfd_mips_elf_compact_eh_encoding
+#define elf_backend_cant_unwind_opcode _bfd_mips_elf_cant_unwind_opcode
diff --git a/bfd/elfxx-target.h b/bfd/elfxx-target.h
index 0085d6ccc27..0acecafcb29 100644
--- a/bfd/elfxx-target.h
+++ b/bfd/elfxx-target.h
@@ -676,6 +676,14 @@
#define elf_backend_get_reloc_section _bfd_elf_get_reloc_section
#endif
+#ifndef elf_backend_compact_eh_encoding
+#define elf_backend_compact_eh_encoding NULL
+#endif
+
+#ifndef elf_backend_cant_unwind_opcode
+#define elf_backend_cant_unwind_opcode 0
+#endif
+
#ifndef elf_match_priority
#define elf_match_priority \
(ELF_ARCH == bfd_arch_unknown ? 2 : ELF_OSABI == ELFOSABI_NONE ? 1 : 0)
@@ -788,6 +796,8 @@ static struct elf_backend_data elfNN_bed =
elf_backend_obj_attrs_section_type,
elf_backend_obj_attrs_order,
elf_backend_obj_attrs_handle_unknown,
+ elf_backend_compact_eh_encoding,
+ elf_backend_cant_unwind_opcode,
elf_backend_static_tls_alignment,
elf_backend_stack_align,
elf_backend_collect,
diff --git a/bfd/libbfd.h b/bfd/libbfd.h
index 14600aa1aa0..cc195523fc3 100644
--- a/bfd/libbfd.h
+++ b/bfd/libbfd.h
@@ -2114,6 +2114,7 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_RL78_HI8",
"BFD_RELOC_RL78_LO16",
"BFD_RELOC_RL78_CODE",
+ "BFD_RELOC_RL78_SADDR",
"BFD_RELOC_RX_NEG8",
"BFD_RELOC_RX_NEG16",
"BFD_RELOC_RX_NEG24",
@@ -2733,6 +2734,9 @@ static const char *const bfd_reloc_code_real_names[] = { "@@uninitialized@@",
"BFD_RELOC_AARCH64_ADR_GOT_PAGE",
"BFD_RELOC_AARCH64_LD64_GOT_LO12_NC",
"BFD_RELOC_AARCH64_LD32_GOT_LO12_NC",
+ "BFD_RELOC_AARCH64_LD64_GOTOFF_LO15",
+ "BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14",
+ "BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15",
"BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21",
"BFD_RELOC_AARCH64_TLSGD_ADR_PREL21",
"BFD_RELOC_AARCH64_TLSGD_ADD_LO12_NC",
diff --git a/bfd/libpei.h b/bfd/libpei.h
index d19a3b2547e..a6f3da0445b 100644
--- a/bfd/libpei.h
+++ b/bfd/libpei.h
@@ -238,6 +238,7 @@
#define _bfd_XXi_swap_debugdir_in _bfd_pex64i_swap_debugdir_in
#define _bfd_XXi_swap_debugdir_out _bfd_pex64i_swap_debugdir_out
#define _bfd_XXi_write_codeview_record _bfd_pex64i_write_codeview_record
+#define _bfd_XXi_slurp_codeview_record _bfd_pex64i_slurp_codeview_record
#elif defined COFF_WITH_pep
@@ -272,6 +273,7 @@
#define _bfd_XXi_swap_debugdir_in _bfd_pepi_swap_debugdir_in
#define _bfd_XXi_swap_debugdir_out _bfd_pepi_swap_debugdir_out
#define _bfd_XXi_write_codeview_record _bfd_pepi_write_codeview_record
+#define _bfd_XXi_slurp_codeview_record _bfd_pepi_slurp_codeview_record
#else /* !COFF_WITH_pep */
@@ -306,6 +308,7 @@
#define _bfd_XXi_swap_debugdir_in _bfd_pei_swap_debugdir_in
#define _bfd_XXi_swap_debugdir_out _bfd_pei_swap_debugdir_out
#define _bfd_XXi_write_codeview_record _bfd_pei_write_codeview_record
+#define _bfd_XXi_slurp_codeview_record _bfd_pei_slurp_codeview_record
#endif /* !COFF_WITH_pep */
@@ -351,6 +354,7 @@ bfd_boolean _bfd_XXi_final_link_postscript (bfd *, struct coff_final_link_info *
void _bfd_XXi_swap_debugdir_in (bfd *, void *, void *);
unsigned _bfd_XXi_swap_debugdir_out (bfd *, void *, void *);
unsigned _bfd_XXi_write_codeview_record (bfd *, file_ptr, CODEVIEW_INFO *);
+CODEVIEW_INFO * _bfd_XXi_slurp_codeview_record (bfd * abfd, file_ptr where, unsigned long length, CODEVIEW_INFO *cvinfo);
/* The following are needed only for ONE of pe or pei, but don't
otherwise vary; peicode.h fixes up ifdefs but we provide the
diff --git a/bfd/peXXigen.c b/bfd/peXXigen.c
index c897c649671..d209b503a41 100644
--- a/bfd/peXXigen.c
+++ b/bfd/peXXigen.c
@@ -1140,7 +1140,7 @@ _bfd_XXi_swap_debugdir_out (bfd * abfd, void * inp, void * extp)
return sizeof (struct external_IMAGE_DEBUG_DIRECTORY);
}
-static CODEVIEW_INFO *
+CODEVIEW_INFO *
_bfd_XXi_slurp_codeview_record (bfd * abfd, file_ptr where, unsigned long length, CODEVIEW_INFO *cvinfo)
{
char buffer[256+1];
diff --git a/bfd/peicode.h b/bfd/peicode.h
index 200ef5e8847..06bcaa9272f 100644
--- a/bfd/peicode.h
+++ b/bfd/peicode.h
@@ -1255,6 +1255,87 @@ pe_ILF_object_p (bfd * abfd)
return abfd->xvec;
}
+static void
+pe_bfd_read_buildid(bfd *abfd)
+{
+ pe_data_type *pe = pe_data (abfd);
+ struct internal_extra_pe_aouthdr *extra = &pe->pe_opthdr;
+ asection *section;
+ bfd_byte *data = 0;
+ bfd_size_type dataoff;
+ unsigned int i;
+
+ bfd_vma addr = extra->DataDirectory[PE_DEBUG_DATA].VirtualAddress;
+ bfd_size_type size = extra->DataDirectory[PE_DEBUG_DATA].Size;
+
+ if (size == 0)
+ return;
+
+ addr += extra->ImageBase;
+
+ /* Search for the section containing the DebugDirectory */
+ for (section = abfd->sections; section != NULL; section = section->next)
+ {
+ if ((addr >= section->vma) && (addr < (section->vma + section->size)))
+ break;
+ }
+
+ if (section == NULL)
+ {
+ return;
+ }
+ else if (!(section->flags & SEC_HAS_CONTENTS))
+ {
+ return;
+ }
+
+ dataoff = addr - section->vma;
+
+ /* Read the whole section. */
+ if (!bfd_malloc_and_get_section (abfd, section, &data))
+ {
+ if (data != NULL)
+ free (data);
+ return;
+ }
+
+ /* Search for a CodeView entry in the DebugDirectory */
+ for (i = 0; i < size / sizeof (struct external_IMAGE_DEBUG_DIRECTORY); i++)
+ {
+ struct external_IMAGE_DEBUG_DIRECTORY *ext
+ = &((struct external_IMAGE_DEBUG_DIRECTORY *)(data + dataoff))[i];
+ struct internal_IMAGE_DEBUG_DIRECTORY idd;
+
+ _bfd_XXi_swap_debugdir_in (abfd, ext, &idd);
+
+ if (idd.Type == PE_IMAGE_DEBUG_TYPE_CODEVIEW)
+ {
+ char buffer[256 + 1];
+ CODEVIEW_INFO *cvinfo = (CODEVIEW_INFO *) buffer;
+
+ /*
+ The debug entry doesn't have to have to be in a section, in which
+ case AddressOfRawData is 0, so always use PointerToRawData.
+ */
+ if (_bfd_XXi_slurp_codeview_record (abfd,
+ (file_ptr) idd.PointerToRawData,
+ idd.SizeOfData, cvinfo))
+ {
+ struct bfd_build_id* build_id = bfd_alloc(abfd,
+ sizeof(struct bfd_build_id) + cvinfo->SignatureLength);
+ if (build_id)
+ {
+ build_id->size = cvinfo->SignatureLength;
+ memcpy(build_id->data, cvinfo->Signature,
+ cvinfo->SignatureLength);
+ abfd->build_id = build_id;
+ }
+ }
+ break;
+ }
+ }
+}
+
static const bfd_target *
pe_bfd_object_p (bfd * abfd)
{
@@ -1265,6 +1346,7 @@ pe_bfd_object_p (bfd * abfd)
struct internal_aouthdr internal_a;
file_ptr opt_hdr_size;
file_ptr offset;
+ const bfd_target *result;
/* Detect if this a Microsoft Import Library Format element. */
/* First read the beginning of the header. */
@@ -1358,10 +1440,20 @@ pe_bfd_object_p (bfd * abfd)
return NULL;
}
- return coff_real_object_p (abfd, internal_f.f_nscns, &internal_f,
- (opt_hdr_size != 0
- ? &internal_a
- : (struct internal_aouthdr *) NULL));
+
+ result = coff_real_object_p (abfd, internal_f.f_nscns, &internal_f,
+ (opt_hdr_size != 0
+ ? &internal_a
+ : (struct internal_aouthdr *) NULL));
+
+
+ if (result)
+ {
+ /* Now the whole header has been processed, see if there is a build-id */
+ pe_bfd_read_buildid(abfd);
+ }
+
+ return result;
}
#define coff_object_p pe_bfd_object_p
diff --git a/bfd/reloc.c b/bfd/reloc.c
index 8c4a88a33e2..9a0687815d7 100644
--- a/bfd/reloc.c
+++ b/bfd/reloc.c
@@ -4956,6 +4956,8 @@ ENUMX
BFD_RELOC_RL78_LO16
ENUMX
BFD_RELOC_RL78_CODE
+ENUMX
+ BFD_RELOC_RL78_SADDR
ENUMDOC
Renesas RL78 Relocations.
@@ -6762,6 +6764,19 @@ ENUMDOC
the GOT entry for this symbol. Used in conjunction with
BFD_RELOC_AARCH64_ADR_GOTPAGE. Valid in ILP32 ABI only.
ENUM
+ BFD_RELOC_AARCH64_LD64_GOTOFF_LO15
+ENUMDOC
+ Unsigned 15 bit byte offset for 64 bit load/store from the page of
+ the GOT entry for this symbol. Valid in ILP64 ABI only.
+ENUM
+ BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14
+ENUMDOC
+ Scaled 14 bit byte offset to the page base of the global offset table.
+ENUM
+ BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15
+ENUMDOC
+ Scaled 15 bit byte offset to the page base of the global offset table.
+ENUM
BFD_RELOC_AARCH64_TLSGD_ADR_PAGE21
ENUMDOC
Get to the page base of the global offset table entry for a symbols
diff --git a/bfd/section.c b/bfd/section.c
index 33016ffd189..00466a5483c 100644
--- a/bfd/section.c
+++ b/bfd/section.c
@@ -397,6 +397,7 @@ CODE_FRAGMENT
.#define SEC_INFO_TYPE_EH_FRAME 3
.#define SEC_INFO_TYPE_JUST_SYMS 4
.#define SEC_INFO_TYPE_TARGET 5
+.#define SEC_INFO_TYPE_EH_FRAME_ENTRY 6
.
. {* Nonzero if this section uses RELA relocations, rather than REL. *}
. unsigned int use_rela_p:1;
diff --git a/bfd/version.h b/bfd/version.h
index 819ca301c23..1ca214f68a0 100644
--- a/bfd/version.h
+++ b/bfd/version.h
@@ -1,4 +1,4 @@
-#define BFD_VERSION_DATE 20150515
+#define BFD_VERSION_DATE 20150630
#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/bfd/version.m4 b/bfd/version.m4
index 9223a2f0e51..6389f37fb61 100644
--- a/bfd/version.m4
+++ b/bfd/version.m4
@@ -1 +1 @@
-m4_define([BFD_VERSION], [2.25.51.0.2])
+m4_define([BFD_VERSION], [2.25.51.0.3])
diff --git a/binutils/ChangeLog b/binutils/ChangeLog
index 4813a893483..ab36fd93c8a 100644
--- a/binutils/ChangeLog
+++ b/binutils/ChangeLog
@@ -1,3 +1,42 @@
+2015-06-26 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * readelf.c (get_mips_dynamic_type): Handle DT_MIPS_RLD_MAP_REL.
+
+2015-06-22 Nick Clifton <nickc@redhat.com>
+
+ * objdump.c (disassemble_bytes): Set the stop_vma field in the
+ disassemble_info structure when disassembling code sections with
+ -d.
+ * doc/binutils.texi (objdump): Document the discrepancy between -d
+ and -D.
+
+2015-06-05 Nick Clifton <nickc@redhat.com>
+
+ * dwarf.c (read_debug_line_header): Use reloc_at to detect
+ incomplete .debug_line headers
+
+2015-05-29 Roland McGrath <mcgrathr@google.com>
+
+ * readelf.c (print_gnu_note: NT_GNU_ABI_TAG): Recognize
+ GNU_ABI_TAG_SYLLABLE and GNU_ABI_TAG_NACL.
+
+2015-05-29 Stephen Kitt <steve@sk2.org>
+
+ * dlltool.c (make_one_lib_file): Clear .idata$6 before use.
+ (main): Fail if the output file specified by the -z option cannot
+ be opened.
+
+2015-05-18 Nick Clifton <nickc@redhat.com>
+
+ PR binutils/18420
+ * ia64-unwind.c (unw_decode): Add end parameter. Pass parameter
+ on to decode functions.
+ (unw_devode_p2_p5): Pass end paraemter to UNW_DEC_SPILL_MASK.
+ (UNW_DEC_SPILL_MASK): Add end parameter. Check that unw_rlen does
+ not take us beyond the end of the buffer.
+ * ia64-unwind.h (unw_decode): Update prototype.
+ * readelf.c (dump_ia64_unwind): Pass end pointer to unw_decode.
+
2015-05-15 H.J. Lu <hongjiu.lu@intel.com>
* readelf.c (dump_section_as_strings): Change pointers from
diff --git a/binutils/configure b/binutils/configure
index bc7ae5f2b48..e37a03bb44b 100755
--- a/binutils/configure
+++ b/binutils/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for binutils 2.25.51.0.2.
+# Generated by GNU Autoconf 2.64 for binutils 2.25.51.0.3.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
@@ -556,8 +556,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='binutils'
PACKAGE_TARNAME='binutils'
-PACKAGE_VERSION='2.25.51.0.2'
-PACKAGE_STRING='binutils 2.25.51.0.2'
+PACKAGE_VERSION='2.25.51.0.3'
+PACKAGE_STRING='binutils 2.25.51.0.3'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1335,7 +1335,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures binutils 2.25.51.0.2 to adapt to many kinds of systems.
+\`configure' configures binutils 2.25.51.0.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1406,7 +1406,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of binutils 2.25.51.0.2:";;
+ short | recursive ) echo "Configuration of binutils 2.25.51.0.3:";;
esac
cat <<\_ACEOF
@@ -1527,7 +1527,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-binutils configure 2.25.51.0.2
+binutils configure 2.25.51.0.3
generated by GNU Autoconf 2.64
Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2169,7 +2169,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by binutils $as_me 2.25.51.0.2, which was
+It was created by binutils $as_me 2.25.51.0.3, which was
generated by GNU Autoconf 2.64. Invocation command line was
$ $0 $@
@@ -3977,7 +3977,7 @@ fi
# Define the identity of the package.
PACKAGE='binutils'
- VERSION='2.25.51.0.2'
+ VERSION='2.25.51.0.3'
cat >>confdefs.h <<_ACEOF
@@ -15100,7 +15100,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by binutils $as_me 2.25.51.0.2, which was
+This file was extended by binutils $as_me 2.25.51.0.3, which was
generated by GNU Autoconf 2.64. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -15164,7 +15164,7 @@ Report bugs to the package provider."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-binutils config.status 2.25.51.0.2
+binutils config.status 2.25.51.0.3
configured by $0, generated by GNU Autoconf 2.64,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/binutils/dlltool.c b/binutils/dlltool.c
index e83052ae335..6aa11dd3320 100644
--- a/binutils/dlltool.c
+++ b/binutils/dlltool.c
@@ -2783,6 +2783,7 @@ make_one_lib_file (export_type *exp, int i, int delay)
else
si->size = strlen (xlate (exp->import_name)) + 3;
si->data = xmalloc (si->size);
+ memset (si->data, 0, si->size);
si->data[0] = idx & 0xff;
si->data[1] = idx >> 8;
if (exp->its_name)
@@ -4151,6 +4152,9 @@ main (int ac, char **av)
break;
case 'z':
output_def = fopen (optarg, FOPEN_WT);
+ if (!output_def)
+ /* xgettext:c-format */
+ fatal (_("Unable to open def-file: %s"), optarg);
break;
case 'D':
dll_name = (char*) lbasename (optarg);
diff --git a/binutils/doc/binutils.texi b/binutils/doc/binutils.texi
index 75852e6ba80..07810364370 100644
--- a/binutils/doc/binutils.texi
+++ b/binutils/doc/binutils.texi
@@ -2041,6 +2041,15 @@ expected to contain instructions.
Like @option{-d}, but disassemble the contents of all sections, not just
those expected to contain instructions.
+This option also has a subtle effect on the disassembly of
+instructions in code sections. When option @option{-d} is in effect
+objdump will assume that any symbols present in a code section occur
+on the boundary between instructions and it will refuse to disassemble
+across such a boundary. When option @option{-D} is in effect however
+this assumption is supressed. This means that it is possible for the
+output of @option{-d} and @option{-D} to differ if, for example, data
+is stored in code sections.
+
If the target is an ARM architecture this switch also has the effect
of forcing the disassembler to decode pieces of data found in code
sections as if they were instructions.
diff --git a/binutils/dwarf.c b/binutils/dwarf.c
index 71b0e9707ec..c3dc814204f 100644
--- a/binutils/dwarf.c
+++ b/binutils/dwarf.c
@@ -2761,18 +2761,20 @@ read_debug_line_header (struct dwarf_section * section,
if (linfo->li_length + initial_length_size > section->size)
{
- /* If the length is just a bias against the initial_length_size then
- this means that the field has a relocation against it which has not
- been applied. (Ie we are dealing with an object file, not a linked
- binary). Do not complain but instead assume that the rest of the
- section applies to this particular header. */
- if (linfo->li_length == - initial_length_size)
+ /* If the length field has a relocation against it, then we should
+ not complain if it is inaccurate (and probably negative). This
+ happens in object files when the .debug_line section is actually
+ comprised of several different .debug_line.* sections, (some of
+ which may be removed by linker garbage collection), and a relocation
+ is used to compute the correct length once that is done. */
+ if (reloc_at (section, (hdrptr - section->start) - offset_size))
{
- linfo->li_length = section->size - initial_length_size;
+ linfo->li_length = (end - data) - initial_length_size;
}
else
{
- warn (_("The line info appears to be corrupt - the section is too small\n"));
+ warn (_("The length field (0x%lx) in the debug_line header is wrong - the section is too small\n"),
+ (long) linfo->li_length);
return NULL;
}
}
diff --git a/binutils/objdump.c b/binutils/objdump.c
index f51b6f5a4f0..c4387c4ded5 100644
--- a/binutils/objdump.c
+++ b/binutils/objdump.c
@@ -1685,7 +1685,18 @@ disassemble_bytes (struct disassemble_info * inf,
}
}
+ if (! disassemble_all
+ && (section->flags & (SEC_CODE | SEC_HAS_CONTENTS))
+ == (SEC_CODE | SEC_HAS_CONTENTS))
+ /* Set a stop_vma so that the disassembler will not read
+ beyond the next symbol. We assume that symbols appear on
+ the boundaries between instructions. We only do this when
+ disassembling code of course, and when -D is in effect. */
+ inf->stop_vma = section->vma + stop_offset;
+
octets = (*disassemble_fn) (section->vma + addr_offset, inf);
+
+ inf->stop_vma = 0;
inf->fprintf_func = (fprintf_ftype) fprintf;
inf->stream = stdout;
if (insn_width == 0 && inf->bytes_per_line != 0)
@@ -1911,7 +1922,7 @@ disassemble_section (bfd *abfd, asection *section, void *inf)
arelent ** rel_pp = NULL;
arelent ** rel_ppstart = NULL;
arelent ** rel_ppend;
- unsigned long stop_offset;
+ bfd_vma stop_offset;
asymbol * sym = NULL;
long place = 0;
long rel_count;
@@ -2035,7 +2046,7 @@ disassemble_section (bfd *abfd, asection *section, void *inf)
{
bfd_vma addr;
asymbol *nextsym;
- unsigned long nextstop_offset;
+ bfd_vma nextstop_offset;
bfd_boolean insns;
addr = section->vma + addr_offset;
@@ -2330,7 +2341,7 @@ load_specific_debug_section (enum dwarf_section_display_enum debug,
section->num_relocs = reloc_count;
}
}
- }
+ }
return 1;
}
@@ -2794,9 +2805,9 @@ dump_section (bfd *abfd, asection *section, void *dummy ATTRIBUTE_UNUSED)
{
bfd_byte *data = 0;
bfd_size_type datasize;
- bfd_size_type addr_offset;
- bfd_size_type start_offset;
- bfd_size_type stop_offset;
+ bfd_vma addr_offset;
+ bfd_vma start_offset;
+ bfd_vma stop_offset;
unsigned int opb = bfd_octets_per_byte (abfd);
/* Bytes per line. */
const int onaline = 16;
@@ -3451,7 +3462,7 @@ display_any_bfd (bfd *file, int level)
{
bfd *arfile = NULL;
bfd *last_arfile = NULL;
-
+
if (level == 0)
printf (_("In archive %s:\n"), bfd_get_filename (file));
else if (level > 100)
diff --git a/binutils/readelf.c b/binutils/readelf.c
index 8ffc36c7520..13465bafd6e 100644
--- a/binutils/readelf.c
+++ b/binutils/readelf.c
@@ -1697,6 +1697,7 @@ get_mips_dynamic_type (unsigned long type)
case DT_MIPS_GOTSYM: return "MIPS_GOTSYM";
case DT_MIPS_HIPAGENO: return "MIPS_HIPAGENO";
case DT_MIPS_RLD_MAP: return "MIPS_RLD_MAP";
+ case DT_MIPS_RLD_MAP_REL: return "MIPS_RLD_MAP_REL";
case DT_MIPS_DELTA_CLASS: return "MIPS_DELTA_CLASS";
case DT_MIPS_DELTA_CLASS_NO: return "MIPS_DELTA_CLASS_NO";
case DT_MIPS_DELTA_INSTANCE: return "MIPS_DELTA_INSTANCE";
@@ -6739,7 +6740,7 @@ dump_ia64_unwind (struct ia64_unw_aux_info * aux)
if (end > aux->info + aux->info_size)
end = aux->info + aux->info_size;
for (dp = head + 8; dp < end;)
- dp = unw_decode (dp, in_body, & in_body);
+ dp = unw_decode (dp, in_body, & in_body, end);
}
free (aux->funtab);
@@ -12203,7 +12204,7 @@ dump_section_as_bytes (Elf_Internal_Shdr * section,
& new_size))
section_size = new_size;
}
-
+
if (relocate)
{
apply_relocations (file, section, start, section_size, NULL, NULL);
@@ -14315,7 +14316,7 @@ process_mips_specific (FILE * file)
return 0;
}
offset += option->size;
-
+
++option;
++cnt;
}
@@ -15143,6 +15144,12 @@ print_gnu_note (Elf_Internal_Note *pnote)
case GNU_ABI_TAG_NETBSD:
osname = "NetBSD";
break;
+ case GNU_ABI_TAG_SYLLABLE:
+ osname = "Syllable";
+ break;
+ case GNU_ABI_TAG_NACL:
+ osname = "NaCl";
+ break;
default:
osname = "Unknown";
break;
@@ -15211,7 +15218,7 @@ print_v850_note (Elf_Internal_Note * pnote)
case EF_RH850_DATA_ALIGN8: printf (_("8-byte\n")); return 1;
}
break;
-
+
case V850_NOTE_DATA_SIZE:
switch (val)
{
@@ -15219,7 +15226,7 @@ print_v850_note (Elf_Internal_Note * pnote)
case EF_RH850_DOUBLE64: printf (_("8-bytes\n")); return 1;
}
break;
-
+
case V850_NOTE_FPU_INFO:
switch (val)
{
@@ -15227,7 +15234,7 @@ print_v850_note (Elf_Internal_Note * pnote)
case EF_RH850_FPU30: printf (_("FPU-3.0\n")); return 1;
}
break;
-
+
case V850_NOTE_MMU_INFO:
case V850_NOTE_CACHE_INFO:
case V850_NOTE_SIMD_INFO:
@@ -15588,7 +15595,7 @@ process_corefile_note_segment (FILE * file, bfd_vma offset, bfd_vma length)
inote.descdata = inote.namedata;
inote.namesz = 0;
}
-
+
inote.descpos = offset + (inote.descdata - (char *) pnotes);
next = inote.descdata + align_power (inote.descsz, 2);
}
diff --git a/binutils/testsuite/ChangeLog b/binutils/testsuite/ChangeLog
index 99801e216a1..a572d42d4b2 100644
--- a/binutils/testsuite/ChangeLog
+++ b/binutils/testsuite/ChangeLog
@@ -1,3 +1,13 @@
+2015-05-20 Ed Maste <emaste@freebsd.org>
+
+ * lib/binutils-common.exp (is_elf_format): Include *-*-freebsd* except
+ i?86-*-freebsd\[12\].*.
+ * (is_aout_format): Update FreeBSD to i?86-*-freebsd\[12\].*.
+
+2015-05-18 Nick Clifton <nickc@redhat.com>
+
+ * binutils-all/dw2-3.S: Replace .int with .4byte.
+
2015-05-15 Nick Clifton <nickc@redhat.com>
* binutils-all/z.s: New test. Checks the --decompress option to
diff --git a/binutils/testsuite/binutils-all/dw2-3.S b/binutils/testsuite/binutils-all/dw2-3.S
index c033e4dfd32..1763f5faf62 100644
--- a/binutils/testsuite/binutils-all/dw2-3.S
+++ b/binutils/testsuite/binutils-all/dw2-3.S
@@ -27,7 +27,7 @@
.type func_cu1, %function
func_cu1:
.Lbegin_func_cu1:
- .int 0
+ .4byte 0
.Lend_func_cu1:
.size func_cu1, .-func_cu1
.Lend_text1:
diff --git a/binutils/testsuite/lib/binutils-common.exp b/binutils/testsuite/lib/binutils-common.exp
index 5dadc42a67c..c01b4935a95 100644
--- a/binutils/testsuite/lib/binutils-common.exp
+++ b/binutils/testsuite/lib/binutils-common.exp
@@ -36,12 +36,17 @@ proc is_elf_format {} {
&& ![istarget tic6x*-*-uclinux*]
&& ![istarget *-*-irix5*]
&& ![istarget *-*-irix6*]
+ && ![istarget *-*-freebsd*]
&& ![istarget *-*-netbsd*]
&& ![istarget *-*-openbsd*]
&& ![istarget *-*-solaris2*] } {
return 0
}
+ if { [istarget i?86-*-freebsd\[12\].*] } {
+ return 0
+ }
+
if { [istarget *-*-linux*aout*]
|| [istarget *-*-linux*ecoff*]
|| [istarget *-*-linux*oldld*]
@@ -92,7 +97,7 @@ proc is_aout_format {} {
|| [istarget arm-*-netbsd*]
|| [istarget arm-*-openbsd*]
|| [istarget arm-*-riscix*]
- || [istarget i?86-*-freebsd\[12\]*]
+ || [istarget i?86-*-freebsd\[12\].*]
|| [istarget i?86-*-netbsd*]
|| [istarget i?86-*-openbsd\[0-2\]*]
|| [istarget i?86-*-openbsd3.\[0-2\]*]
diff --git a/binutils/unwind-ia64.c b/binutils/unwind-ia64.c
index 94b80a368f2..c0c6acdc128 100644
--- a/binutils/unwind-ia64.c
+++ b/binutils/unwind-ia64.c
@@ -349,14 +349,22 @@ typedef bfd_vma unw_word;
printf ("\t%s:spill_base(pspoff=0x10-0x%lx)\n", \
fmt, 4*(unsigned long)pspoff)
-#define UNW_DEC_SPILL_MASK(fmt, dp, arg) \
- do \
- { \
- static const char *spill_type = "-frb"; \
+#define UNW_DEC_SPILL_MASK(fmt, dp, arg, end) \
+ do \
+ { \
+ static const char *spill_type = "-frb"; \
unsigned const char *imaskp = dp; \
- unsigned char mask = 0; \
- bfd_vma insn = 0; \
- \
+ unsigned char mask = 0; \
+ bfd_vma insn = 0; \
+ \
+ /* PR 18420. */ \
+ if ((dp + (unw_rlen / 4)) > end) \
+ { \
+ printf ("\nERROR: unwind length too long (0x%lx > 0x%lx)\n\n",\
+ (long) (unw_rlen / 4), (long)(end - dp)); \
+ /* FIXME: Should we reset unw_rlen ? */ \
+ break; \
+ } \
printf ("\t%s:spill_mask(imask=[", fmt); \
for (insn = 0; insn < unw_rlen; ++insn) \
{ \
@@ -533,36 +541,6 @@ typedef bfd_vma unw_word;
* UNW_DEC_SPILL_SPREL_P(fmt,qp,t,abreg,pspoff,arg)
*/
-static unw_word unw_decode_uleb128 (const unsigned char **);
-static const unsigned char *unw_decode_x1
- (const unsigned char *, unsigned int, void *);
-static const unsigned char *unw_decode_x2
- (const unsigned char *, unsigned int, void *);
-static const unsigned char *unw_decode_x3
- (const unsigned char *, unsigned int, void *);
-static const unsigned char *unw_decode_x4
- (const unsigned char *, unsigned int, void *);
-static const unsigned char *unw_decode_r1
- (const unsigned char *, unsigned int, void *);
-static const unsigned char *unw_decode_r2
- (const unsigned char *, unsigned int, void *);
-static const unsigned char *unw_decode_r3
- (const unsigned char *, unsigned int, void *);
-static const unsigned char *unw_decode_p1
- (const unsigned char *, unsigned int, void *);
-static const unsigned char *unw_decode_p2_p5
- (const unsigned char *, unsigned int, void *);
-static const unsigned char *unw_decode_p6
- (const unsigned char *, unsigned int, void *);
-static const unsigned char *unw_decode_p7_p10
- (const unsigned char *, unsigned int, void *);
-static const unsigned char *unw_decode_b1
- (const unsigned char *, unsigned int, void *);
-static const unsigned char *unw_decode_b2
- (const unsigned char *, unsigned int, void *);
-static const unsigned char *unw_decode_b3_x4
- (const unsigned char *, unsigned int, void *);
-
static unw_word
unw_decode_uleb128 (const unsigned char **dpp)
{
@@ -671,7 +649,8 @@ unw_decode_x4 (const unsigned char *dp, unsigned int code ATTRIBUTE_UNUSED,
}
static const unsigned char *
-unw_decode_r1 (const unsigned char *dp, unsigned int code, void *arg)
+unw_decode_r1 (const unsigned char *dp, unsigned int code, void *arg,
+ const unsigned char * end ATTRIBUTE_UNUSED)
{
int body = (code & 0x20) != 0;
unw_word rlen;
@@ -682,7 +661,8 @@ unw_decode_r1 (const unsigned char *dp, unsigned int code, void *arg)
}
static const unsigned char *
-unw_decode_r2 (const unsigned char *dp, unsigned int code, void *arg)
+unw_decode_r2 (const unsigned char *dp, unsigned int code, void *arg,
+ const unsigned char * end ATTRIBUTE_UNUSED)
{
unsigned char byte1, mask, grsave;
unw_word rlen;
@@ -697,7 +677,8 @@ unw_decode_r2 (const unsigned char *dp, unsigned int code, void *arg)
}
static const unsigned char *
-unw_decode_r3 (const unsigned char *dp, unsigned int code, void *arg)
+unw_decode_r3 (const unsigned char *dp, unsigned int code, void *arg,
+ const unsigned char * end ATTRIBUTE_UNUSED)
{
unw_word rlen;
@@ -708,7 +689,8 @@ unw_decode_r3 (const unsigned char *dp, unsigned int code, void *arg)
static const unsigned char *
unw_decode_p1 (const unsigned char *dp, unsigned int code,
- void *arg ATTRIBUTE_UNUSED)
+ void *arg ATTRIBUTE_UNUSED,
+ const unsigned char * end ATTRIBUTE_UNUSED)
{
unsigned char brmask = (code & 0x1f);
@@ -718,7 +700,8 @@ unw_decode_p1 (const unsigned char *dp, unsigned int code,
static const unsigned char *
unw_decode_p2_p5 (const unsigned char *dp, unsigned int code,
- void *arg ATTRIBUTE_UNUSED)
+ void *arg ATTRIBUTE_UNUSED,
+ const unsigned char * end)
{
if ((code & 0x10) == 0)
{
@@ -777,7 +760,7 @@ unw_decode_p2_p5 (const unsigned char *dp, unsigned int code,
}
}
else if ((code & 0x7) == 0)
- UNW_DEC_SPILL_MASK ("P4", dp, arg);
+ UNW_DEC_SPILL_MASK ("P4", dp, arg, end);
else if ((code & 0x7) == 1)
{
unw_word grmask, frmask, byte1, byte2, byte3;
@@ -797,7 +780,8 @@ unw_decode_p2_p5 (const unsigned char *dp, unsigned int code,
static const unsigned char *
unw_decode_p6 (const unsigned char *dp, unsigned int code,
- void *arg ATTRIBUTE_UNUSED)
+ void *arg ATTRIBUTE_UNUSED,
+ const unsigned char * end ATTRIBUTE_UNUSED)
{
int gregs = (code & 0x10) != 0;
unsigned char mask = (code & 0x0f);
@@ -810,7 +794,8 @@ unw_decode_p6 (const unsigned char *dp, unsigned int code,
}
static const unsigned char *
-unw_decode_p7_p10 (const unsigned char *dp, unsigned int code, void *arg)
+unw_decode_p7_p10 (const unsigned char *dp, unsigned int code, void *arg,
+ const unsigned char * end ATTRIBUTE_UNUSED)
{
unsigned char r, byte1, byte2;
unw_word t, size;
@@ -984,7 +969,8 @@ unw_decode_p7_p10 (const unsigned char *dp, unsigned int code, void *arg)
static const unsigned char *
unw_decode_b1 (const unsigned char *dp, unsigned int code,
- void *arg ATTRIBUTE_UNUSED)
+ void *arg ATTRIBUTE_UNUSED,
+ const unsigned char * end ATTRIBUTE_UNUSED)
{
unw_word label = (code & 0x1f);
@@ -997,7 +983,8 @@ unw_decode_b1 (const unsigned char *dp, unsigned int code,
static const unsigned char *
unw_decode_b2 (const unsigned char *dp, unsigned int code,
- void *arg ATTRIBUTE_UNUSED)
+ void *arg ATTRIBUTE_UNUSED,
+ const unsigned char * end ATTRIBUTE_UNUSED)
{
unw_word t;
@@ -1007,7 +994,8 @@ unw_decode_b2 (const unsigned char *dp, unsigned int code,
}
static const unsigned char *
-unw_decode_b3_x4 (const unsigned char *dp, unsigned int code, void *arg)
+unw_decode_b3_x4 (const unsigned char *dp, unsigned int code, void *arg,
+ const unsigned char * end ATTRIBUTE_UNUSED)
{
unw_word t, ecount, label;
@@ -1044,7 +1032,7 @@ unw_decode_b3_x4 (const unsigned char *dp, unsigned int code, void *arg)
}
typedef const unsigned char *(*unw_decoder)
- (const unsigned char *, unsigned int, void *);
+ (const unsigned char *, unsigned int, void *, const unsigned char *);
static const unw_decoder unw_decode_table[2][8] =
{
@@ -1074,12 +1062,12 @@ static const unw_decoder unw_decode_table[2][8] =
/* Decode one descriptor and return address of next descriptor. */
const unsigned char *
unw_decode (const unsigned char *dp, int inside_body,
- void *ptr_inside_body)
+ void *ptr_inside_body, const unsigned char * end)
{
unw_decoder decoder;
unsigned char code;
code = *dp++;
decoder = unw_decode_table[inside_body][code >> 5];
- return (*decoder) (dp, code, ptr_inside_body);
+ return (*decoder) (dp, code, ptr_inside_body, end);
}
diff --git a/binutils/unwind-ia64.h b/binutils/unwind-ia64.h
index 6fc1712d368..15d1b7b4805 100644
--- a/binutils/unwind-ia64.h
+++ b/binutils/unwind-ia64.h
@@ -29,4 +29,4 @@
#define UNW_FLAG_UHANDLER(x) ((x) & 0x0000000200000000LL)
#define UNW_LENGTH(x) ((x) & 0x00000000ffffffffLL)
-extern const unsigned char *unw_decode (const unsigned char *, int, void *);
+extern const unsigned char *unw_decode (const unsigned char *, int, void *, const unsigned char *);
diff --git a/config/ChangeLog b/config/ChangeLog
index 6ffb0ed1e66..30314370241 100644
--- a/config/ChangeLog
+++ b/config/ChangeLog
@@ -1,3 +1,18 @@
+2015-04-10 Jakub Jelinek <jakub@redhat.com>
+ Iain Sandoe <iain@codesourcery.com>
+
+ PR target/65351
+ * mh-darwin: Only apply -mdynamic-no-pic for m32 Darwin when the
+ compiler in use supports -mno-dynamic-no-pic.
+ * picflag.m4: Only append -mno-dynamic-no-pic for Darwin when
+ -mdynamic-no-pic is present in CFLAGS.
+
+2015-04-07 Jakub Jelinek <jakub@redhat.com>
+ Iain Sandoe <iain@codesourcery.com>
+
+ PR target/65351
+ * picflag.m4: Append -mno-dynamic-no-pic for Darwin.
+
2015-04-02 H.J. Lu <hongjiu.lu@intel.com>
* zlib.m4 (AM_ZLIB): Set zlibdir to -L\$(top_builddir)/../zlib
diff --git a/config/mh-darwin b/config/mh-darwin
index a039f201410..148b73038c3 100644
--- a/config/mh-darwin
+++ b/config/mh-darwin
@@ -1,18 +1,29 @@
# The -mdynamic-no-pic ensures that the compiler executable is built without
# position-independent-code -- the usual default on Darwin. This fix speeds
-# compiles by 3-5%.
-BOOT_CFLAGS += \
+# compiles by 3-5%. Don't add it if the compiler doesn't also support
+# -mno-dynamic-no-pic to undo it.
+DARWIN_MDYNAMIC_NO_PIC := \
`case ${host} in i?86-*-darwin* | powerpc-*-darwin*) \
- echo -mdynamic-no-pic ;; esac;`
+ $(CC) -S -xc /dev/null -o /dev/null -mno-dynamic-no-pic 2>/dev/null \
+ && echo -mdynamic-no-pic ;; esac`
+DARWIN_GCC_MDYNAMIC_NO_PIC := \
+`case ${host} in i?86-*-darwin* | powerpc-*-darwin*) \
+ $(CC) -S -xc /dev/null -o /dev/null -mno-dynamic-no-pic 2>/dev/null \
+ || echo -mdynamic-no-pic ;; esac`
# ld on Darwin versions >= 10.7 defaults to PIE executables. Disable this for
# gcc components, since it is incompatible with our pch implementation.
-BOOT_LDFLAGS += \
-`case ${host} in *-*-darwin[1][1-9]*) echo -Wl,-no_pie ;; esac;`
+DARWIN_NO_PIE := `case ${host} in *-*-darwin[1][1-9]*) echo -Wl,-no_pie ;; esac;`
+
+BOOT_CFLAGS += $(DARWIN_MDYNAMIC_NO_PIC)
+BOOT_LDFLAGS += $(DARWIN_NO_PIE)
# Similarly, for cross-compilation.
-STAGE1_CFLAGS += \
-`case ${host} in i?86-*-darwin* | powerpc-*-darwin*)\
- echo -mdynamic-no-pic ;; esac;`
-STAGE1_LDFLAGS += \
-`case ${host} in *-*-darwin[1][1-9]*) echo -Wl,-no_pie ;; esac;`
+STAGE1_CFLAGS += $(DARWIN_MDYNAMIC_NO_PIC)
+STAGE1_LDFLAGS += $(DARWIN_NO_PIE)
+
+# Without -mno-dynamic-no-pic support, add -mdynamic-no-pic just to later
+# stages when we know it is built with gcc.
+STAGE2_CFLAGS += $(DARWIN_GCC_MDYNAMIC_NO_PIC)
+STAGE3_CFLAGS += $(DARWIN_GCC_MDYNAMIC_NO_PIC)
+STAGE4_CFLAGS += $(DARWIN_GCC_MDYNAMIC_NO_PIC)
diff --git a/config/picflag.m4 b/config/picflag.m4
index 3bcdbf1de30..2f5b9721eb2 100644
--- a/config/picflag.m4
+++ b/config/picflag.m4
@@ -7,9 +7,15 @@ AC_DEFUN([_GCC_PICFLAG], [
case "${$2}" in
# PIC is the default on some targets or must not be used.
*-*-darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- $1=-fno-common
+ # For darwin, common symbols are not allowed in MH_DYLIB files
+ case "${CFLAGS}" in
+ # If we are using a compiler supporting mdynamic-no-pic
+ # and the option has been tested as safe to add, then cancel
+ # it here, since the code generated is incompatible with shared
+ # libs.
+ *-mdynamic-no-pic*) $1='-fno-common -mno-dynamic-no-pic' ;;
+ *) $1=-fno-common ;;
+ esac
;;
alpha*-dec-osf5*)
# PIC is the default.
diff --git a/gas/ChangeLog b/gas/ChangeLog
index 6cd3639fd0a..7c49ea6b18f 100644
--- a/gas/ChangeLog
+++ b/gas/ChangeLog
@@ -1,3 +1,220 @@
+2015-06-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * as.c (parse_args): Replace COMPRESS_DEBUG_ZLIB with
+ COMPRESS_DEBUG_GNU_ZLIB.
+ * config/tc-i386.c (flag_compress_debug): Likewise.
+
+2015-06-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * doc/as.texinfo (.cfi_lsda): Remove the extra @section.
+
+2015-06-19 Peter Bergner <bergner@vnet.ibm.com>
+
+ * config/tc-ppc.c (md_assemble): Use ppc_optional_operand_value.
+ Allow for optional operands without insert functions.
+
+2015-06-18 Nick Clifton <nickc@redhat.com>
+
+ PR gas/18541
+ * config/tc-arm.c (md_apply_fix): Add support for ADR in thumb
+ mode against a nearby symbol.
+
+2015-06-18 Nick Clifton <nickc@redhat.com>
+
+ PR gas/18481
+ * config/tc-arm.c (tc_gen_reloc): Include BFD_RELOC_ARM_TLS_LE32
+ in the same case as BFD_RELOC_ARM_TLS_IS32.
+
+2015-06-17 Nick Clifton <nickc@redhat.com>
+
+ * config/tc-arm.c (is_double_a_single): Make conditional upon the
+ availablity of a 64-bit type. Use this type for the argument and
+ mantissa.
+ (double_to_single): Likewise.
+ * config/tc-arm.c (move_or_literal_pool): Use a 64-bit type for
+ the constant value, if available. Generate a 64-bit value from a
+ bignum if supported. Only perform the second optimization for
+ PR 18500 if the 64-bit type is available.
+
+2015-06-17 Alessandro Marzocchi <alessandro.marzocchi@gmail.com>
+
+ PR gas/18500
+ * config/tc-arm.c (is_double_a_single): New function.
+ (double_to_single): New function.
+ (move_or_literal_pool): Add support for converting VLDR to VMOV.
+
+ PR gas/18499
+ * config/tc-arm.c (move_or_literal_pool): Add support for LDR Rx,=
+ to MOV.w or MVN.w for Thumb2.
+
+2015-06-17 Nicolas Pitre <nico@linaro.org>
+
+ * as.c (show_usage): Document --sectname-subst.
+ (parse_args): Add --sectname-subst.
+ * as.h (flag_sectname_subst): New.
+ * config/obj-elf.c (obj_elf_section_name): Add %S substitution.
+ * doc/as.texinfo: Document it.
+
+2015-06-15 Renlin Li <renlin.li@arm.com>
+
+ * config/tc-aarch64.c (reloc_table): New relocation modifier.
+ (md_apply_fix): Support BFD_RELOC_AARCH64_LD64_GOTOFF_LO15.
+ (aarch64_force_relocation): Ditto
+
+2015-06-13 Mark Wielaard <mjw@redhat.com>
+
+ * dwarf2dbg.c (out_header): Document EXPR->X_add_number value,
+ out_debug_aranges depends on it.
+ (out_debug_aranges): Track size of header to properly pad header
+ for address alignment.
+
+2015-06-11 John David Anglin <danglin@gcc.gnu.org>
+
+ PR gas/18427
+ * gas/config/tc-hppa.c (last_label_symbol): Declare.
+ (pa_get_label): Return last label in current space/segment or NULL.
+ (pa_define_label): Record last label and add to root.
+ (pa_undefine_label): Remove last label from root.
+
+2015-06-08 Nick Clifton <nickc@redhat.com>
+
+ * config/tc-rx.c (rx_op): Correct handling of integer bignums.
+
+2015-06-04 Matthew Wahab <matthew.wahab@arm.com>
+
+ * NEWS: Mention ARMv8.1 support in the Aarch64 port.
+ * config/tc-aarch64.c (aarch64_arch_option_table): Add "armv8.1-a".
+ * doc/c-aarch64.texi (-march): Add "armv8.1-a".
+
+2015-06-04 Renlin Li <renlin.li@arm.com>
+
+ * config/tc-arm.c (arm_init_frag): Use frag's thumb_mode information
+ when available.
+
+2015-06-04 Nick Clifton <nickc@redhat.com>
+
+ * config/tc-h8300.c (md_section_align): Fix compile time warning
+ about left shifting a negative value.
+
+2015-06-03 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/tc-arm.c (arm_archs): Add "armv8.1-a".
+ * doc/c-arm.texi (ARM Options, -march): Add "armv8.1-a".
+ * NEWS: Mention ARMv8.1 support.
+
+2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/tc-arm.c (arm_ext_pan): New.
+ (do_setpan): New, encode an ARM SETPAN instruction.
+ (do_t_setpan): New, encode a Thumb SETPAN instruction.
+ (insns): Add "setpan".
+ (arm_extensions): Add "pan".
+ * doc/c-arm.texi (ARM Options): Add "pan" to list of -mcpu processor
+ extensions.
+
+2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/tc-aarch64.c (aarch64_features): Add "rdma".
+ * doc/c-aarch64.texi (AArch64 Extensions): Add "rdma".
+
+2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/tc-aarch64.c (aarch64_features): Add "lor".
+ * doc/c-aarch64.c (Aarch64 Extensions): Add "lor" to list of
+ architecture extensions.
+
+2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
+
+ * config/tc-aarch64.c (parse_sys_reg): New parameter. Check target
+ support. Fix whitespace.
+ (parse_operands): Update for parse_sys_reg changes.
+ (aarch64_features): Add "pan".
+ * doc/c-aarch64.texi (Aarch64 Extensions): Add "pan".
+
+2015-06-01 Jiong Wang <jiong.wang@arm.com>
+
+ * config/tc-aarch64.c (reloc_table): New relocation modifiers.
+ (md_apply_fix): Support BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14.
+ (aarch64_force_relocation): Ditto.
+
+2015-06-01 Jiong Wang <jiong.wang@arm.com>
+
+ * config/tc-aarch64.c (reloc_table): New relocation modifiers.
+ (md_apply_fix): Support BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15.
+ (aarch64_force_relocation): Ditto.
+
+2015-05-28 Catherine Moore <clm@codesourcery.com>
+ Bernd Schmidt <bernds@codesourcery.com>
+ Paul Brook <paul@codesourcery.com>
+
+ gas/
+ * config/tc-alpha.c (all_cfi_sections): Declare.
+ (s_alpha_ent): Initialize all_cfi_sections.
+ (alpha_elf_md_end): Invoke cfi_set_sections.
+ * config/tc-mips.c (md_apply_fix): Handle BFD_RELOC_NONE.
+ (s_ehword): Use BFD_RELOC_32_PCREL.
+ (mips_fix_adjustable): Handle BFD_RELOC_32_PCREL.
+ (mips_cfi_reloc_for_encoding): New function.
+ * tc-mips.h (DWARF2_FDE_RELOC_SIZE): Redefine.
+ (DWARF2_FDE_RELOC_ENCODING): Define.
+ (tc_cfi_reloc_for_encoding): Define.
+ (mips_cfi_reloc_for_encoding): Define.
+ (tc_compact_eh_opcode_stop): Define.
+ (tc_compact_eh_opcode_pad): Define.
+ * doc/as.texinfo: Document Compact EH extensions.
+ * doc/internals.texi: Likewise.
+ * dw2gencfi.c (EH_FRAME_LINKONCE): Redefine.
+ (tc_cfi_reloc_for_encoding): Provide default.
+ (compact_eh): Declare.
+ (emit_expr_encoded): New function.
+ (get_debugseg_name): Add Compact EH support.
+ (alloc_debugseg_item): Likewise.
+ (cfi_set_sections): New function.
+ (dot_cfi_fde_data): New function.
+ (dot_cfi_personality_id): New function.
+ (dot_cfi_inline_lsda): New function.
+ (cfi_pseudo_table): Add cfi_fde_data, cfi_personality_id,
+ and cfi_inline_lsda.
+ (dot_cfi_personality): Add Compact EH support.
+ (dot_cfi_lsda): Likewise.
+ (dot_cfi_sections): Likewise.
+ (dot_cfi_startproc): Likewise.
+ (get_cfi_seg): Likewise.
+ (output_compact_unwind_data): New function.
+ (output_cfi_insn): Add Compact EH support.
+ (output_cie): Likewise.
+ (output_fde): Likewise.
+ (cfi_finish): Likewise.
+ (cfi_emit_eh_header): New function.
+ (output_eh_header): New function.
+ * dw2gencfi.h (cfi_set_sections): Declare.
+ (SUPPORT_COMPACT_EH): Define.
+ (MULTIPLE_FRAME_SECTIONS): Define.
+ New enumeration to describe the Compact EH header format.
+ (fde_entry): Add new fields personality_id, eh_header_type, eh_data_size,
+ eh_data, eh_loc and sections.
+ (CFI_EMIT_eh_frame, CFI_EMIT_debug_frame, CFI_EMIT_target,
+ CFI_EMIT_eh_frame_compact): Define.
+
+2015-05-26 Max Filippov <jcmvbkbc@gmail.com>
+
+ * config/tc-xtensa.c (xtensa_move_literals): Check that
+ search_frag is non-NULL. Report error if literal frag is not
+ found.
+
+2015-05-22 Nick Clifton <nickc@redhat.com>
+
+ PR gas/18446
+ * read.c (output_big_sleb128): Use U suffix to prevent compile
+ time warning.
+
+2015-05-19 Jiong Wang <jiong.wang@arm.com>
+
+ * config/tc-aarch64.c (process_movw_reloc_info): Sort relocation case
+ labels alphabetically.
+ (md_apply_fix): Ditto.
+ (aarch64_force_relocation): Ditto.
+
2015-05-15 H.J. Lu <hongjiu.lu@intel.com>
PR binutis/18386
diff --git a/gas/NEWS b/gas/NEWS
index 495bf104457..986325d0b75 100644
--- a/gas/NEWS
+++ b/gas/NEWS
@@ -2,6 +2,14 @@
Changes in 2.26:
+* Support for the ARMv8.1 architecture has been added to the Aarch64 port.
+ Support for the individual ARMv8.1 Adv.SIMD, LOR and PAN architecture
+ extensions has also been added to the Aarch64 port.
+
+* Support for the ARMv8.1 architecture has been added to the ARM port. Support
+ for the individual ARMv8.1 Adv.SIMD and PAN architecture extensions has also
+ been added to the ARM port.
+
* Extend --compress-debug-sections option to support
--compress-debug-sections=[none|zlib|zlib-gnu|zlib-gabi] for ELF
targets.
diff --git a/gas/as.c b/gas/as.c
index 2a8923f6fac..b8a5be4c717 100644
--- a/gas/as.c
+++ b/gas/as.c
@@ -284,6 +284,8 @@ Options:\n\
fprintf (stream, _("\
--size-check=[error|warning]\n\
ELF .size directive check (default --size-check=error)\n"));
+ fprintf (stream, _("\
+ --sectname-subst enable section name substitution sequences\n"));
#endif
fprintf (stream, _("\
-f skip whitespace and comment preprocessing\n"));
@@ -447,6 +449,7 @@ parse_args (int * pargc, char *** pargv)
OPTION_EXECSTACK,
OPTION_NOEXECSTACK,
OPTION_SIZE_CHECK,
+ OPTION_SECTNAME_SUBST,
OPTION_ALTERNATE,
OPTION_AL,
OPTION_HASH_TABLE_SIZE,
@@ -481,6 +484,7 @@ parse_args (int * pargc, char *** pargv)
,{"execstack", no_argument, NULL, OPTION_EXECSTACK}
,{"noexecstack", no_argument, NULL, OPTION_NOEXECSTACK}
,{"size-check", required_argument, NULL, OPTION_SIZE_CHECK}
+ ,{"sectname-subst", no_argument, NULL, OPTION_SECTNAME_SUBST}
#endif
,{"fatal-warnings", no_argument, NULL, OPTION_WARN_FATAL}
,{"gdwarf-2", no_argument, NULL, OPTION_GDWARF2}
@@ -661,7 +665,7 @@ This program has absolutely no warranty.\n"));
if (strcasecmp (optarg, "none") == 0)
flag_compress_debug = COMPRESS_DEBUG_NONE;
else if (strcasecmp (optarg, "zlib") == 0)
- flag_compress_debug = COMPRESS_DEBUG_ZLIB;
+ flag_compress_debug = COMPRESS_DEBUG_GNU_ZLIB;
else if (strcasecmp (optarg, "zlib-gnu") == 0)
flag_compress_debug = COMPRESS_DEBUG_GNU_ZLIB;
else if (strcasecmp (optarg, "zlib-gabi") == 0)
@@ -848,6 +852,10 @@ This program has absolutely no warranty.\n"));
else
as_fatal (_("Invalid --size-check= option: `%s'"), optarg);
break;
+
+ case OPTION_SECTNAME_SUBST:
+ flag_sectname_subst = 1;
+ break;
#endif
case 'Z':
flag_always_generate_output = 1;
diff --git a/gas/as.h b/gas/as.h
index 6de319e839c..635b2c570b3 100644
--- a/gas/as.h
+++ b/gas/as.h
@@ -589,6 +589,9 @@ COMMON enum
size_check_warning
}
flag_size_check;
+
+/* If section name substitution sequences should be honored */
+COMMON int flag_sectname_subst;
#endif
#ifndef DOLLAR_AMBIGU
diff --git a/gas/config/obj-elf.c b/gas/config/obj-elf.c
index 23242fe7b44..8ad9d4a5149 100644
--- a/gas/config/obj-elf.c
+++ b/gas/config/obj-elf.c
@@ -985,6 +985,27 @@ obj_elf_section_name (void)
name = (char *) xmalloc (end - input_line_pointer + 1);
memcpy (name, input_line_pointer, end - input_line_pointer);
name[end - input_line_pointer] = '\0';
+
+ while (flag_sectname_subst)
+ {
+ char *subst = strchr (name, '%');
+ if (subst && subst[1] == 'S')
+ {
+ int oldlen = strlen (name);
+ int substlen = strlen (now_seg->name);
+ int newlen = oldlen - 2 + substlen;
+ char *newname = (char *) xmalloc (newlen + 1);
+ int headlen = subst - name;
+ memcpy (newname, name, headlen);
+ strcpy (newname + headlen, now_seg->name);
+ strcat (newname + headlen, subst + 2);
+ xfree (name);
+ name = newname;
+ }
+ else
+ break;
+ }
+
#ifdef tc_canonicalize_section_name
name = tc_canonicalize_section_name (name);
#endif
diff --git a/gas/config/rl78-parse.y b/gas/config/rl78-parse.y
index e9441d5c1cc..f34903e6b65 100644
--- a/gas/config/rl78-parse.y
+++ b/gas/config/rl78-parse.y
@@ -96,6 +96,8 @@ static int rl78_bit_insn = 0;
#define NOT_SADDR rl78_error ("Expression not 0xFFE20 to 0xFFF1F")
#define SA(e) if (!expr_is_saddr (e)) NOT_SADDR;
+#define SET_SA(e) e.X_md = BFD_RELOC_RL78_SADDR
+
#define NOT_SFR rl78_error ("Expression not 0xFFF00 to 0xFFFFF")
#define SFR(e) if (!expr_is_sfr (e)) NOT_SFR;
@@ -207,7 +209,7 @@ statement :
{ B1 (0x0c|$1); O1 ($5); }
| addsub EXPR {SA($2)} ',' '#' EXPR
- { B1 (0x0a|$1); O1 ($2); O1 ($6); }
+ { B1 (0x0a|$1); SET_SA ($2); O1 ($2); O1 ($6); }
| addsub A ',' A
{ B2 (0x61, 0x01|$1); }
@@ -219,7 +221,7 @@ statement :
{ B2 (0x61, 0x00|$1); F ($2, 13, 3); }
| addsub A ',' EXPR {SA($4)}
- { B1 (0x0b|$1); O1 ($4); }
+ { B1 (0x0b|$1); SET_SA ($4); O1 ($4); }
| addsub A ',' opt_es '!' EXPR
{ B1 (0x0f|$1); O2 ($6); rl78_linkrelax_addr16 (); }
@@ -236,8 +238,6 @@ statement :
| addsub A ',' opt_es '[' HL '+' C ']'
{ B2 (0x61, 0x82|$1); }
-
-
| addsub opt_es '!' EXPR ',' '#' EXPR
{ if ($1 != 0x40)
{ rl78_error ("Only CMP takes these operands"); }
@@ -254,7 +254,7 @@ statement :
{ B1 (0x01|$1); F ($4, 5, 2); }
| addsubw AX ',' EXPR {SA($4)}
- { B1 (0x06|$1); O1 ($4); }
+ { B1 (0x06|$1); SET_SA ($4); O1 ($4); }
| addsubw AX ',' opt_es '!' EXPR
{ B1 (0x02|$1); O2 ($6); rl78_linkrelax_addr16 (); }
@@ -280,7 +280,7 @@ statement :
{ if (expr_is_sfr ($4))
{ B2 (0x71, 0x08|$1); FE ($6, 9, 3); O1 ($4); }
else if (expr_is_saddr ($4))
- { B2 (0x71, 0x00|$1); FE ($6, 9, 3); O1 ($4); }
+ { B2 (0x71, 0x00|$1); FE ($6, 9, 3); SET_SA ($4); O1 ($4); }
else
NOT_SFR_OR_SADDR;
}
@@ -320,7 +320,7 @@ statement :
{ if (expr_is_sfr ($2))
{ B2 (0x31, 0x80|$1); FE ($4, 9, 3); O1 ($2); PC1 ($7); }
else if (expr_is_saddr ($2))
- { B2 (0x31, 0x00|$1); FE ($4, 9, 3); O1 ($2); PC1 ($7); }
+ { B2 (0x31, 0x00|$1); FE ($4, 9, 3); SET_SA ($2); O1 ($2); PC1 ($7); }
else
NOT_SFR_OR_SADDR;
}
@@ -401,7 +401,7 @@ statement :
{ if (expr_is_sfr ($2))
{ B2 (0x71, 0x0a|$1); FE ($4, 9, 3); O1 ($2); }
else if (expr_is_saddr ($2))
- { B2 (0x71, 0x02|$1); FE ($4, 9, 3); O1 ($2); }
+ { B2 (0x71, 0x02|$1); FE ($4, 9, 3); SET_SA ($2); O1 ($2); }
else
NOT_SFR_OR_SADDR;
}
@@ -427,7 +427,7 @@ statement :
{ B1 (0xe2|$1); }
| oneclrb EXPR {SA($2)}
- { B1 (0xe4|$1); O1 ($2); }
+ { B1 (0xe4|$1); SET_SA ($2); O1 ($2); }
| oneclrb opt_es '!' EXPR
{ B1 (0xe5|$1); O2 ($4); rl78_linkrelax_addr16 (); }
@@ -454,7 +454,7 @@ statement :
{ B1 (0xd2); }
| CMP0 EXPR {SA($2)}
- { B1 (0xd4); O1 ($2); }
+ { B1 (0xd4); SET_SA ($2); O1 ($2); }
| CMP0 opt_es '!' EXPR
{ B1 (0xd5); O2 ($4); rl78_linkrelax_addr16 (); }
@@ -470,7 +470,7 @@ statement :
{ B1 (0x80|$1); F ($2, 5, 3); }
| incdec EXPR {SA($2)}
- { B1 (0xa4|$1); O1 ($2); }
+ { B1 (0xa4|$1); SET_SA ($2); O1 ($2); }
| incdec '!' EXPR
{ B1 (0xa0|$1); O2 ($3); rl78_linkrelax_addr16 (); }
| incdec ES ':' '!' EXPR
@@ -486,7 +486,7 @@ statement :
{ B1 (0xa1|$1); F ($2, 5, 2); }
| incdecw EXPR {SA($2)}
- { B1 (0xa6|$1); O1 ($2); }
+ { B1 (0xa6|$1); SET_SA ($2); O1 ($2); }
| incdecw opt_es '!' EXPR
{ B1 (0xa2|$1); O2 ($4); rl78_linkrelax_addr16 (); }
@@ -556,7 +556,7 @@ statement :
{ if (expr_is_sfr ($3))
{ B1 (0xce); O1 ($3); O1 ($6); }
else if (expr_is_saddr ($3))
- { B1 (0xcd); O1 ($3); O1 ($6); }
+ { B1 (0xcd); SET_SA ($3); O1 ($3); O1 ($6); }
else
NOT_SFR_OR_SADDR;
}
@@ -577,7 +577,7 @@ statement :
{ if (expr_is_sfr ($3))
{ B1 (0x9e); O1 ($3); }
else if (expr_is_saddr ($3))
- { B1 (0x9d); O1 ($3); }
+ { B1 (0x9d); SET_SA ($3); O1 ($3); }
else
NOT_SFR_OR_SADDR;
}
@@ -596,7 +596,7 @@ statement :
| MOV A ',' opt_es EXPR {NOT_ES}
{ if (expr_is_saddr ($5))
- { B1 (0x8d); O1 ($5); }
+ { B1 (0x8d); SET_SA ($5); O1 ($5); }
else if (expr_is_sfr ($5))
{ B1 (0x8e); O1 ($5); }
else
@@ -604,7 +604,7 @@ statement :
}
| MOV regb_na ',' opt_es EXPR {SA($5)} {NOT_ES}
- { B1 (0xc8|reg_xbc($2)); O1 ($5); }
+ { B1 (0xc8|reg_xbc($2)); SET_SA ($5); O1 ($5); }
| MOV A ',' sfr
{ B2 (0x8e, $4); }
@@ -620,7 +620,7 @@ statement :
{ if ($2 != 0xfd)
rl78_error ("Only ES allowed here");
else
- { B2 (0x61, 0xb8); O1 ($5); }
+ { B2 (0x61, 0xb8); SET_SA ($5); O1 ($5); }
}
| MOV A ',' opt_es '[' DE ']'
@@ -723,7 +723,7 @@ statement :
| mov1 CY ',' EXPR '.' EXPR
{ if (expr_is_saddr ($4))
- { B2 (0x71, 0x04); FE ($6, 9, 3); O1 ($4); }
+ { B2 (0x71, 0x04); FE ($6, 9, 3); SET_SA ($4); O1 ($4); }
else if (expr_is_sfr ($4))
{ B2 (0x71, 0x0c); FE ($6, 9, 3); O1 ($4); }
else
@@ -741,7 +741,7 @@ statement :
| mov1 EXPR '.' EXPR ',' CY
{ if (expr_is_saddr ($2))
- { B2 (0x71, 0x01); FE ($4, 9, 3); O1 ($2); }
+ { B2 (0x71, 0x01); FE ($4, 9, 3); SET_SA ($2); O1 ($2); }
else if (expr_is_sfr ($2))
{ B2 (0x71, 0x09); FE ($4, 9, 3); O1 ($2); }
else
@@ -772,7 +772,7 @@ statement :
| MOVW opt_es EXPR ',' '#' EXPR {NOT_ES}
{ if (expr_is_saddr ($3))
- { B1 (0xc9); O1 ($3); O2 ($6); }
+ { B1 (0xc9); SET_SA ($3); O1 ($3); O2 ($6); }
else if (expr_is_sfr ($3))
{ B1 (0xcb); O1 ($3); O2 ($6); }
else
@@ -781,7 +781,7 @@ statement :
| MOVW AX ',' opt_es EXPR {NOT_ES}
{ if (expr_is_saddr ($5))
- { B1 (0xad); O1 ($5); WA($5); }
+ { B1 (0xad); SET_SA ($5); O1 ($5); WA($5); }
else if (expr_is_sfr ($5))
{ B1 (0xae); O1 ($5); WA($5); }
else
@@ -790,7 +790,7 @@ statement :
| MOVW opt_es EXPR ',' AX {NOT_ES}
{ if (expr_is_saddr ($3))
- { B1 (0xbd); O1 ($3); WA($3); }
+ { B1 (0xbd); SET_SA ($3); O1 ($3); WA($3); }
else if (expr_is_sfr ($3))
{ B1 (0xbe); O1 ($3); WA($3); }
else
@@ -870,7 +870,7 @@ statement :
{ B2 (0xb8, 0); }
| MOVW regw_na ',' EXPR {SA($4)}
- { B1 (0xca); F ($2, 2, 2); O1 ($4); WA($4); }
+ { B1 (0xca); F ($2, 2, 2); SET_SA ($4); O1 ($4); WA($4); }
| MOVW regw_na ',' opt_es '!' EXPR
{ B1 (0xcb); F ($2, 2, 2); O2 ($6); WA($6); rl78_linkrelax_addr16 (); }
@@ -1078,7 +1078,7 @@ statement :
{ if (expr_is_sfr ($4))
{ B2 (0x61, 0xab); O1 ($4); }
else if (expr_is_saddr ($4))
- { B2 (0x61, 0xa8); O1 ($4); }
+ { B2 (0x61, 0xa8); SET_SA ($4); O1 ($4); }
else
NOT_SFR_OR_SADDR;
}
@@ -1531,7 +1531,7 @@ expr_is_saddr (expressionS exp)
unsigned long v;
if (exp.X_op != O_constant)
- return 0;
+ return 1;
v = exp.X_add_number;
if (0xFFE20 <= v && v <= 0xFFF1F)
@@ -1598,5 +1598,3 @@ check_expr_is_const (expressionS e, int vmin, int vmax)
}
return 1;
}
-
-
diff --git a/gas/config/tc-aarch64.c b/gas/config/tc-aarch64.c
index ae0e2d64f75..7d4ec29e4f3 100644
--- a/gas/config/tc-aarch64.c
+++ b/gas/config/tc-aarch64.c
@@ -2455,6 +2455,15 @@ static struct reloc_table_entry reloc_table[] = {
BFD_RELOC_AARCH64_LD_GOT_LO12_NC,
0},
+ /* 15 bit offset into the page containing GOT entry for that symbol. */
+ {"gotoff_lo15", 0,
+ 0, /* adr_type */
+ 0,
+ 0,
+ 0,
+ BFD_RELOC_AARCH64_LD64_GOTOFF_LO15,
+ 0},
+
/* Get to the page containing GOT TLS entry for a symbol */
{"tlsgd", 0,
BFD_RELOC_AARCH64_TLSGD_ADR_PREL21, /* adr_type */
@@ -2589,6 +2598,24 @@ static struct reloc_table_entry reloc_table[] = {
0,
0,
0},
+
+ /* 15bit offset from got entry to base address of GOT table. */
+ {"gotpage_lo15", 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15,
+ 0},
+
+ /* 14bit offset from got entry to base address of GOT table. */
+ {"gotpage_lo14", 0,
+ 0,
+ 0,
+ 0,
+ 0,
+ BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14,
+ 0},
};
/* Given the address of a pointer pointing to the textual name of a
@@ -3383,10 +3410,15 @@ parse_barrier (char **str)
Returns the encoding for the option, or PARSE_FAIL.
If IMPLE_DEFINED_P is non-zero, the function will also try to parse the
- implementation defined system register name S<op0>_<op1>_<Cn>_<Cm>_<op2>. */
+ implementation defined system register name S<op0>_<op1>_<Cn>_<Cm>_<op2>.
+
+ If PSTATEFIELD_P is non-zero, the function will parse the name as a PSTATE
+ field, otherwise as a system register.
+*/
static int
-parse_sys_reg (char **str, struct hash_control *sys_regs, int imple_defined_p)
+parse_sys_reg (char **str, struct hash_control *sys_regs,
+ int imple_defined_p, int pstatefield_p)
{
char *p, *q;
char buf[32];
@@ -3421,9 +3453,15 @@ parse_sys_reg (char **str, struct hash_control *sys_regs, int imple_defined_p)
}
else
{
+ if (pstatefield_p && !aarch64_pstatefield_supported_p (cpu_variant, o))
+ as_bad (_("selected processor does not support PSTATE field "
+ "name '%s'"), buf);
+ if (!pstatefield_p && !aarch64_sys_reg_supported_p (cpu_variant, o))
+ as_bad (_("selected processor does not support system register "
+ "name '%s'"), buf);
if (aarch64_sys_reg_deprecated_p (o))
as_warn (_("system register name '%s' is deprecated and may be "
-"removed in a future release"), buf);
+ "removed in a future release"), buf);
value = o->value;
}
@@ -4533,22 +4571,22 @@ process_movw_reloc_info (void)
switch (inst.reloc.type)
{
case BFD_RELOC_AARCH64_MOVW_G0:
- case BFD_RELOC_AARCH64_MOVW_G0_S:
case BFD_RELOC_AARCH64_MOVW_G0_NC:
+ case BFD_RELOC_AARCH64_MOVW_G0_S:
case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0:
case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G0_NC:
shift = 0;
break;
case BFD_RELOC_AARCH64_MOVW_G1:
- case BFD_RELOC_AARCH64_MOVW_G1_S:
case BFD_RELOC_AARCH64_MOVW_G1_NC:
+ case BFD_RELOC_AARCH64_MOVW_G1_S:
case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1:
case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G1_NC:
shift = 16;
break;
case BFD_RELOC_AARCH64_MOVW_G2:
- case BFD_RELOC_AARCH64_MOVW_G2_S:
case BFD_RELOC_AARCH64_MOVW_G2_NC:
+ case BFD_RELOC_AARCH64_MOVW_G2_S:
case BFD_RELOC_AARCH64_TLSLE_MOVW_TPREL_G2:
if (is32)
{
@@ -5288,7 +5326,7 @@ parse_operands (char *str, const aarch64_opcode *opcode)
break;
case AARCH64_OPND_SYSREG:
- if ((val = parse_sys_reg (&str, aarch64_sys_regs_hsh, 1))
+ if ((val = parse_sys_reg (&str, aarch64_sys_regs_hsh, 1, 0))
== PARSE_FAIL)
{
set_syntax_error (_("unknown or missing system register name"));
@@ -5298,7 +5336,7 @@ parse_operands (char *str, const aarch64_opcode *opcode)
break;
case AARCH64_OPND_PSTATEFIELD:
- if ((val = parse_sys_reg (&str, aarch64_pstatefield_hsh, 0))
+ if ((val = parse_sys_reg (&str, aarch64_pstatefield_hsh, 0, 1))
== PARSE_FAIL)
{
set_syntax_error (_("unknown or missing PSTATE field name"));
@@ -6601,8 +6639,8 @@ md_apply_fix (fixS * fixP, valueT * valP, segT seg)
}
break;
- case BFD_RELOC_AARCH64_JUMP26:
case BFD_RELOC_AARCH64_CALL26:
+ case BFD_RELOC_AARCH64_JUMP26:
if (fixP->fx_done || !seg->use_rela_p)
{
if (value & 3)
@@ -6618,18 +6656,18 @@ md_apply_fix (fixS * fixP, valueT * valP, segT seg)
break;
case BFD_RELOC_AARCH64_MOVW_G0:
- case BFD_RELOC_AARCH64_MOVW_G0_S:
case BFD_RELOC_AARCH64_MOVW_G0_NC:
+ case BFD_RELOC_AARCH64_MOVW_G0_S:
scale = 0;
goto movw_common;
case BFD_RELOC_AARCH64_MOVW_G1:
- case BFD_RELOC_AARCH64_MOVW_G1_S:
case BFD_RELOC_AARCH64_MOVW_G1_NC:
+ case BFD_RELOC_AARCH64_MOVW_G1_S:
scale = 16;
goto movw_common;
case BFD_RELOC_AARCH64_MOVW_G2:
- case BFD_RELOC_AARCH64_MOVW_G2_S:
case BFD_RELOC_AARCH64_MOVW_G2_NC:
+ case BFD_RELOC_AARCH64_MOVW_G2_S:
scale = 32;
goto movw_common;
case BFD_RELOC_AARCH64_MOVW_G3:
@@ -6752,18 +6790,21 @@ md_apply_fix (fixS * fixP, valueT * valP, segT seg)
gas_assert (seg->use_rela_p);
break;
- case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
- case BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL:
case BFD_RELOC_AARCH64_ADD_LO12:
- case BFD_RELOC_AARCH64_LDST8_LO12:
+ case BFD_RELOC_AARCH64_ADR_GOT_PAGE:
+ case BFD_RELOC_AARCH64_ADR_HI21_NC_PCREL:
+ case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
+ case BFD_RELOC_AARCH64_GOT_LD_PREL19:
+ case BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:
+ case BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14:
+ case BFD_RELOC_AARCH64_LD64_GOTOFF_LO15:
+ case BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15:
+ case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
+ case BFD_RELOC_AARCH64_LDST128_LO12:
case BFD_RELOC_AARCH64_LDST16_LO12:
case BFD_RELOC_AARCH64_LDST32_LO12:
case BFD_RELOC_AARCH64_LDST64_LO12:
- case BFD_RELOC_AARCH64_LDST128_LO12:
- case BFD_RELOC_AARCH64_GOT_LD_PREL19:
- case BFD_RELOC_AARCH64_ADR_GOT_PAGE:
- case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
- case BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:
+ case BFD_RELOC_AARCH64_LDST8_LO12:
/* Should always be exported to object file, see
aarch64_force_relocation(). */
gas_assert (!fixP->fx_done);
@@ -6771,8 +6812,8 @@ md_apply_fix (fixS * fixP, valueT * valP, segT seg)
break;
case BFD_RELOC_AARCH64_TLSDESC_ADD:
- case BFD_RELOC_AARCH64_TLSDESC_LDR:
case BFD_RELOC_AARCH64_TLSDESC_CALL:
+ case BFD_RELOC_AARCH64_TLSDESC_LDR:
break;
case BFD_RELOC_UNUSED:
@@ -6898,9 +6939,9 @@ aarch64_force_relocation (struct fix *fixp)
even if the symbol is extern or weak. */
return 0;
- case BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC:
- case BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC:
case BFD_RELOC_AARCH64_LD_GOT_LO12_NC:
+ case BFD_RELOC_AARCH64_TLSDESC_LD_LO12_NC:
+ case BFD_RELOC_AARCH64_TLSIE_LD_GOTTPREL_LO12_NC:
/* Pseudo relocs that need to be fixed up according to
ilp32_p. */
return 0;
@@ -6911,6 +6952,9 @@ aarch64_force_relocation (struct fix *fixp)
case BFD_RELOC_AARCH64_ADR_HI21_PCREL:
case BFD_RELOC_AARCH64_GOT_LD_PREL19:
case BFD_RELOC_AARCH64_LD32_GOT_LO12_NC:
+ case BFD_RELOC_AARCH64_LD32_GOTPAGE_LO14:
+ case BFD_RELOC_AARCH64_LD64_GOTOFF_LO15:
+ case BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15:
case BFD_RELOC_AARCH64_LD64_GOT_LO12_NC:
case BFD_RELOC_AARCH64_LDST128_LO12:
case BFD_RELOC_AARCH64_LDST16_LO12:
@@ -7350,6 +7394,7 @@ struct aarch64_arch_option_table
static const struct aarch64_arch_option_table aarch64_archs[] = {
{"all", AARCH64_ANY},
{"armv8-a", AARCH64_ARCH_V8},
+ {"armv8.1-a", AARCH64_ARCH_V8_1},
{NULL, AARCH64_ARCH_NONE}
};
@@ -7366,6 +7411,10 @@ static const struct aarch64_option_cpu_value_table aarch64_features[] = {
{"fp", AARCH64_FEATURE (AARCH64_FEATURE_FP, 0)},
{"lse", AARCH64_FEATURE (AARCH64_FEATURE_LSE, 0)},
{"simd", AARCH64_FEATURE (AARCH64_FEATURE_SIMD, 0)},
+ {"pan", AARCH64_FEATURE (AARCH64_FEATURE_PAN, 0)},
+ {"lor", AARCH64_FEATURE (AARCH64_FEATURE_LOR, 0)},
+ {"rdma", AARCH64_FEATURE (AARCH64_FEATURE_SIMD
+ | AARCH64_FEATURE_RDMA, 0)},
{NULL, AARCH64_ARCH_NONE}
};
diff --git a/gas/config/tc-alpha.c b/gas/config/tc-alpha.c
index 30f180fb9e8..2a7466aab75 100644
--- a/gas/config/tc-alpha.c
+++ b/gas/config/tc-alpha.c
@@ -3691,6 +3691,8 @@ static struct alpha_elf_frame_data *all_frame_data;
static struct alpha_elf_frame_data **plast_frame_data = &all_frame_data;
static struct alpha_elf_frame_data *cur_frame_data;
+extern int all_cfi_sections;
+
/* Handle the .section pseudo-op. This is like the usual one, but it
clears alpha_insn_label and restores auto alignment. */
@@ -3714,6 +3716,8 @@ s_alpha_ent (int dummy ATTRIBUTE_UNUSED)
char *name, name_end;
name = input_line_pointer;
name_end = get_symbol_end ();
+ /* CFI_EMIT_eh_frame is the default. */
+ all_cfi_sections = CFI_EMIT_eh_frame;
if (! is_name_beginner (*name))
{
@@ -4061,6 +4065,7 @@ alpha_elf_md_end (void)
S_GET_VALUE (p->func_sym),
symbol_get_frag (p->func_sym)));
+ cfi_set_sections ();
cfi_set_return_column (p->ra_regno);
cfi_add_CFA_def_cfa_register (30);
if (p->fp_regno != 30 || p->mask || p->fmask || p->frame_size)
diff --git a/gas/config/tc-arm.c b/gas/config/tc-arm.c
index 683774f6ac8..1793965785c 100644
--- a/gas/config/tc-arm.c
+++ b/gas/config/tc-arm.c
@@ -207,6 +207,7 @@ static const arm_feature_set arm_ext_sec = ARM_FEATURE_CORE_LOW (ARM_EXT_SEC);
static const arm_feature_set arm_ext_os = ARM_FEATURE_CORE_LOW (ARM_EXT_OS);
static const arm_feature_set arm_ext_adiv = ARM_FEATURE_CORE_LOW (ARM_EXT_ADIV);
static const arm_feature_set arm_ext_virt = ARM_FEATURE_CORE_LOW (ARM_EXT_VIRT);
+static const arm_feature_set arm_ext_pan = ARM_FEATURE_CORE_HIGH (ARM_EXT2_PAN);
static const arm_feature_set arm_arch_any = ARM_ANY;
static const arm_feature_set arm_arch_full = ARM_FEATURE (-1, -1, -1);
@@ -258,6 +259,8 @@ static const arm_feature_set fpu_crypto_ext_armv8 =
ARM_FEATURE_COPROC (FPU_CRYPTO_EXT_ARMV8);
static const arm_feature_set crc_ext_armv8 =
ARM_FEATURE_COPROC (CRC_EXT_ARMV8);
+static const arm_feature_set fpu_neon_ext_v8_1 =
+ ARM_FEATURE_COPROC (FPU_NEON_EXT_ARMV8 | FPU_NEON_EXT_RDMA);
static int mfloat_abi_opt = -1;
/* Record user cpu selection for object attributes. */
@@ -4921,7 +4924,9 @@ parse_fpa_immediate (char ** str)
{
/* FIXME: 5 = X_PRECISION, should be #define'd where we can use it.
Ditto for 15. */
- if (gen_to_words (words, 5, (long) 15) == 0)
+#define X_PRECISION 5
+#define E_PRECISION 15L
+ if (gen_to_words (words, X_PRECISION, E_PRECISION) == 0)
{
for (i = 0; i < NUM_FLOAT_VALS; i++)
{
@@ -7747,6 +7752,54 @@ neon_cmode_for_move_imm (unsigned immlo, unsigned immhi, int float_p,
return FAIL;
}
+#if defined BFD_HOST_64_BIT
+/* Returns TRUE if double precision value V may be cast
+ to single precision without loss of accuracy. */
+
+static bfd_boolean
+is_double_a_single (bfd_int64_t v)
+{
+ int exp = (int)((v >> 52) & 0x7FF);
+ bfd_int64_t mantissa = (v & (bfd_int64_t)0xFFFFFFFFFFFFF);
+
+ return (exp == 0 || exp == 0x7FF
+ || (exp >= 1023 - 126 && exp <= 1023 + 127))
+ && (mantissa & 0x1FFFFFFFl) == 0;
+}
+
+/* Returns a double precision value casted to single precision
+ (ignoring the least significant bits in exponent and mantissa). */
+
+static int
+double_to_single (bfd_int64_t v)
+{
+ int sign = (int) ((v >> 63) & 1l);
+ int exp = (int) ((v >> 52) & 0x7FF);
+ bfd_int64_t mantissa = (v & (bfd_int64_t)0xFFFFFFFFFFFFF);
+
+ if (exp == 0x7FF)
+ exp = 0xFF;
+ else
+ {
+ exp = exp - 1023 + 127;
+ if (exp >= 0xFF)
+ {
+ /* Infinity. */
+ exp = 0x7F;
+ mantissa = 0;
+ }
+ else if (exp < 0)
+ {
+ /* No denormalized numbers. */
+ exp = 0;
+ mantissa = 0;
+ }
+ }
+ mantissa >>= 29;
+ return (sign << 31) | (exp << 23) | mantissa;
+}
+#endif /* BFD_HOST_64_BIT */
+
enum lit_type
{
CONST_THUMB,
@@ -7754,6 +7807,8 @@ enum lit_type
CONST_VEC
};
+static void do_vfp_nsyn_opcode (const char *);
+
/* inst.reloc.exp describes an "=expr" load pseudo-operation.
Determine whether it can be performed with a move instruction; if
it can, convert inst.instruction to that move instruction and
@@ -7769,7 +7824,6 @@ move_or_literal_pool (int i, enum lit_type t, bfd_boolean mode_3)
unsigned long tbit;
bfd_boolean thumb_p = (t == CONST_THUMB);
bfd_boolean arm_p = (t == CONST_ARM);
- bfd_boolean vec64_p = (t == CONST_VEC) && !inst.operands[i].issingle;
if (thumb_p)
tbit = (inst.instruction > 0xffff) ? THUMB2_LOAD_BIT : THUMB_LOAD_BIT;
@@ -7781,6 +7835,7 @@ move_or_literal_pool (int i, enum lit_type t, bfd_boolean mode_3)
inst.error = _("invalid pseudo operation");
return TRUE;
}
+
if (inst.reloc.exp.X_op != O_constant
&& inst.reloc.exp.X_op != O_symbol
&& inst.reloc.exp.X_op != O_big)
@@ -7788,77 +7843,204 @@ move_or_literal_pool (int i, enum lit_type t, bfd_boolean mode_3)
inst.error = _("constant expression expected");
return TRUE;
}
- if ((inst.reloc.exp.X_op == O_constant
- || inst.reloc.exp.X_op == O_big)
- && !inst.operands[i].issingle)
+
+ if (inst.reloc.exp.X_op == O_constant
+ || inst.reloc.exp.X_op == O_big)
{
- if (thumb_p && inst.reloc.exp.X_op == O_constant)
+#if defined BFD_HOST_64_BIT
+ bfd_int64_t v;
+#else
+ offsetT v;
+#endif
+ if (inst.reloc.exp.X_op == O_big)
{
- if (!unified_syntax && (inst.reloc.exp.X_add_number & ~0xFF) == 0)
+ LITTLENUM_TYPE w[X_PRECISION];
+ LITTLENUM_TYPE * l;
+
+ if (inst.reloc.exp.X_add_number == -1)
{
- /* This can be done with a mov(1) instruction. */
- inst.instruction = T_OPCODE_MOV_I8 | (inst.operands[i].reg << 8);
- inst.instruction |= inst.reloc.exp.X_add_number;
- return TRUE;
+ gen_to_words (w, X_PRECISION, E_PRECISION);
+ l = w;
+ /* FIXME: Should we check words w[2..5] ? */
}
+ else
+ l = generic_bignum;
+
+#if defined BFD_HOST_64_BIT
+ v =
+ ((((((((bfd_int64_t) l[3] & LITTLENUM_MASK)
+ << LITTLENUM_NUMBER_OF_BITS)
+ | ((bfd_int64_t) l[2] & LITTLENUM_MASK))
+ << LITTLENUM_NUMBER_OF_BITS)
+ | ((bfd_int64_t) l[1] & LITTLENUM_MASK))
+ << LITTLENUM_NUMBER_OF_BITS)
+ | ((bfd_int64_t) l[0] & LITTLENUM_MASK));
+#else
+ v = ((l[1] & LITTLENUM_MASK) << LITTLENUM_NUMBER_OF_BITS)
+ | (l[0] & LITTLENUM_MASK);
+#endif
}
- else if (arm_p && inst.reloc.exp.X_op == O_constant)
+ else
+ v = inst.reloc.exp.X_add_number;
+
+ if (!inst.operands[i].issingle)
{
- int value = encode_arm_immediate (inst.reloc.exp.X_add_number);
- if (value != FAIL)
+ if (thumb_p)
{
- /* This can be done with a mov instruction. */
- inst.instruction &= LITERAL_MASK;
- inst.instruction |= INST_IMMEDIATE | (OPCODE_MOV << DATA_OP_SHIFT);
- inst.instruction |= value & 0xfff;
- return TRUE;
+ if ((v & ~0xFF) == 0)
+ {
+ /* This can be done with a mov(1) instruction. */
+ inst.instruction = T_OPCODE_MOV_I8 | (inst.operands[i].reg << 8);
+ inst.instruction |= v;
+ return TRUE;
+ }
+
+ if (ARM_CPU_HAS_FEATURE (cpu_variant, arm_arch_t2)
+ && ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_v6t2))
+ {
+ /* Check if on thumb2 it can be done with a mov.w or mvn.w instruction. */
+ unsigned int newimm;
+ bfd_boolean isNegated;
+
+ newimm = encode_thumb32_immediate (v);
+ if (newimm != (unsigned int) FAIL)
+ isNegated = FALSE;
+ else
+ {
+ newimm = encode_thumb32_immediate (~ v);
+ if (newimm != (unsigned int) FAIL)
+ isNegated = TRUE;
+ }
+
+ if (newimm != (unsigned int) FAIL)
+ {
+ inst.instruction = 0xf04f0000 | (inst.operands[i].reg << 8);
+ inst.instruction |= (isNegated?0x200000:0);
+ inst.instruction |= (newimm & 0x800) << 15;
+ inst.instruction |= (newimm & 0x700) << 4;
+ inst.instruction |= (newimm & 0x0ff);
+ return TRUE;
+ }
+ else if ((v & ~0xFFFF) == 0 || (v & ~0xFFFF0000) == 0)
+ {
+ /* The number may be loaded with a movw/movt instruction. */
+ int imm;
+
+ if ((inst.reloc.exp.X_add_number & ~0xFFFF) == 0)
+ {
+ inst.instruction= 0xf2400000;
+ imm = v;
+ }
+ else
+ {
+ inst.instruction = 0xf2c00000;
+ imm = v >> 16;
+ }
+
+ inst.instruction |= (inst.operands[i].reg << 8);
+ inst.instruction |= (imm & 0xf000) << 4;
+ inst.instruction |= (imm & 0x0800) << 15;
+ inst.instruction |= (imm & 0x0700) << 4;
+ inst.instruction |= (imm & 0x00ff);
+ return TRUE;
+ }
+ }
}
+ else if (arm_p)
+ {
+ int value = encode_arm_immediate (v);
+
+ if (value != FAIL)
+ {
+ /* This can be done with a mov instruction. */
+ inst.instruction &= LITERAL_MASK;
+ inst.instruction |= INST_IMMEDIATE | (OPCODE_MOV << DATA_OP_SHIFT);
+ inst.instruction |= value & 0xfff;
+ return TRUE;
+ }
- value = encode_arm_immediate (~inst.reloc.exp.X_add_number);
- if (value != FAIL)
+ value = encode_arm_immediate (~ v);
+ if (value != FAIL)
+ {
+ /* This can be done with a mvn instruction. */
+ inst.instruction &= LITERAL_MASK;
+ inst.instruction |= INST_IMMEDIATE | (OPCODE_MVN << DATA_OP_SHIFT);
+ inst.instruction |= value & 0xfff;
+ return TRUE;
+ }
+ }
+ else if (t == CONST_VEC)
{
- /* This can be done with a mvn instruction. */
- inst.instruction &= LITERAL_MASK;
- inst.instruction |= INST_IMMEDIATE | (OPCODE_MVN << DATA_OP_SHIFT);
- inst.instruction |= value & 0xfff;
- return TRUE;
+ int op = 0;
+ unsigned immbits = 0;
+ unsigned immlo = inst.operands[1].imm;
+ unsigned immhi = inst.operands[1].regisimm
+ ? inst.operands[1].reg
+ : inst.reloc.exp.X_unsigned
+ ? 0
+ : ((bfd_int64_t)((int) immlo)) >> 32;
+ int cmode = neon_cmode_for_move_imm (immlo, immhi, FALSE, &immbits,
+ &op, 64, NT_invtype);
+
+ if (cmode == FAIL)
+ {
+ neon_invert_size (&immlo, &immhi, 64);
+ op = !op;
+ cmode = neon_cmode_for_move_imm (immlo, immhi, FALSE, &immbits,
+ &op, 64, NT_invtype);
+ }
+
+ if (cmode != FAIL)
+ {
+ inst.instruction = (inst.instruction & VLDR_VMOV_SAME)
+ | (1 << 23)
+ | (cmode << 8)
+ | (op << 5)
+ | (1 << 4);
+
+ /* Fill other bits in vmov encoding for both thumb and arm. */
+ if (thumb_mode)
+ inst.instruction |= (0x7 << 29) | (0xF << 24);
+ else
+ inst.instruction |= (0xF << 28) | (0x1 << 25);
+ neon_write_immbits (immbits);
+ return TRUE;
+ }
}
}
- else if (vec64_p)
- {
- int op = 0;
- unsigned immbits = 0;
- unsigned immlo = inst.operands[1].imm;
- unsigned immhi = inst.operands[1].regisimm
- ? inst.operands[1].reg
- : inst.reloc.exp.X_unsigned
- ? 0
- : ((bfd_int64_t)((int) immlo)) >> 32;
- int cmode = neon_cmode_for_move_imm (immlo, immhi, FALSE, &immbits,
- &op, 64, NT_invtype);
- if (cmode == FAIL)
+ if (t == CONST_VEC)
+ {
+ /* Check if vldr Rx, =constant could be optimized to vmov Rx, #constant. */
+ if (inst.operands[i].issingle
+ && is_quarter_float (inst.operands[1].imm)
+ && ARM_CPU_HAS_FEATURE (cpu_variant, fpu_vfp_ext_v3xd))
{
- neon_invert_size (&immlo, &immhi, 64);
- op = !op;
- cmode = neon_cmode_for_move_imm (immlo, immhi, FALSE, &immbits,
- &op, 64, NT_invtype);
+ inst.operands[1].imm =
+ neon_qfloat_bits (v);
+ do_vfp_nsyn_opcode ("fconsts");
+ return TRUE;
}
- if (cmode != FAIL)
+
+ /* If our host does not support a 64-bit type then we cannot perform
+ the following optimization. This mean that there will be a
+ discrepancy between the output produced by an assembler built for
+ a 32-bit-only host and the output produced from a 64-bit host, but
+ this cannot be helped. */
+#if defined BFD_HOST_64_BIT
+ else if (!inst.operands[1].issingle
+ && ARM_CPU_HAS_FEATURE (cpu_variant, fpu_vfp_ext_v3))
{
- inst.instruction = (inst.instruction & VLDR_VMOV_SAME)
- | (1 << 23)
- | (cmode << 8)
- | (op << 5)
- | (1 << 4);
- /* Fill other bits in vmov encoding for both thumb and arm. */
- if (thumb_mode)
- inst.instruction |= (0x7 << 29) | (0xF << 24);
- else
- inst.instruction |= (0xF << 28) | (0x1 << 25);
- neon_write_immbits (immbits);
- return TRUE;
+ if (is_double_a_single (v)
+ && is_quarter_float (double_to_single (v)))
+ {
+ inst.operands[1].imm =
+ neon_qfloat_bits (double_to_single (v));
+ do_vfp_nsyn_opcode ("fconstd");
+ return TRUE;
+ }
}
+#endif
}
}
@@ -8796,8 +8978,6 @@ do_mov16 (void)
}
}
-static void do_vfp_nsyn_opcode (const char *);
-
static int
do_vfp_nsyn_mrs (void)
{
@@ -9181,6 +9361,24 @@ do_swi (void)
inst.reloc.pc_rel = 0;
}
+static void
+do_setpan (void)
+{
+ constraint (!ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_pan),
+ _("selected processor does not support SETPAN instruction"));
+
+ inst.instruction |= ((inst.operands[0].imm & 1) << 9);
+}
+
+static void
+do_t_setpan (void)
+{
+ constraint (!ARM_CPU_HAS_FEATURE (cpu_variant, arm_ext_pan),
+ _("selected processor does not support SETPAN instruction"));
+
+ inst.instruction |= (inst.operands[0].imm << 3);
+}
+
/* ARM V5E (El Segundo) signed-multiply-accumulate (argument parse)
SMLAxy{cond} Rd,Rm,Rs,Rn
SMLAWy{cond} Rd,Rm,Rs,Rn
@@ -12897,6 +13095,8 @@ struct neon_tab_entry
X(vqdmull, 0x0800d00, N_INV, 0x0800b40), \
X(vqdmulh, 0x0000b00, N_INV, 0x0800c40), \
X(vqrdmulh, 0x1000b00, N_INV, 0x0800d40), \
+ X(vqrdmlah, 0x3000b10, N_INV, 0x0800e40), \
+ X(vqrdmlsh, 0x3000c10, N_INV, 0x0800f40), \
X(vshl, 0x0000400, N_INV, 0x0800510), \
X(vqshl, 0x0000410, N_INV, 0x0800710), \
X(vand, 0x0000110, N_INV, 0x0800030), \
@@ -18884,6 +19084,13 @@ static const struct asm_opcode insns[] =
TCE("hvc", 1400070, f7e08000, 1, (EXPi), hvc, t_hvc),
TCE("eret", 160006e, f3de8f00, 0, (), noargs, noargs),
+#undef ARM_VARIANT
+#define ARM_VARIANT & arm_ext_pan
+#undef THUMB_VARIANT
+#define THUMB_VARIANT & arm_ext_pan
+
+ TUF("setpan", 1100000, b610, 1, (I7), setpan, t_setpan),
+
#undef ARM_VARIANT
#define ARM_VARIANT & arm_ext_v6t2
#undef THUMB_VARIANT
@@ -19789,6 +19996,11 @@ static const struct asm_opcode insns[] =
NUF(vrecpsq, 0000f10, 3, (RNQ, oRNQ, RNQ), neon_step),
NUF(vrsqrts, 0200f10, 3, (RNDQ, oRNDQ, RNDQ), neon_step),
NUF(vrsqrtsq, 0200f10, 3, (RNQ, oRNQ, RNQ), neon_step),
+ /* ARM v8.1 extension. */
+ nUF(vqrdmlah, _vqrdmlah, 3, (RNDQ, oRNDQ, RNDQ_RNSC), neon_qdmulh),
+ nUF(vqrdmlahq, _vqrdmlah, 3, (RNQ, oRNQ, RNDQ_RNSC), neon_qdmulh),
+ nUF(vqrdmlsh, _vqrdmlsh, 3, (RNDQ, oRNDQ, RNDQ_RNSC), neon_qdmulh),
+ nUF(vqrdmlshq, _vqrdmlsh, 3, (RNQ, oRNQ, RNDQ_RNSC), neon_qdmulh),
/* Two address, int/float. Types S8 S16 S32 F32. */
NUF(vabsq, 1b10300, 2, (RNQ, RNQ), neon_abs_neg),
@@ -21030,10 +21242,14 @@ arm_init_frag (fragS * fragP, int max_chars ATTRIBUTE_UNUSED)
void
arm_init_frag (fragS * fragP, int max_chars)
{
+ int frag_thumb_mode;
+
/* If the current ARM vs THUMB mode has not already
been recorded into this frag then do so now. */
if ((fragP->tc_frag_data.thumb_mode & MODE_RECORDED) == 0)
- fragP->tc_frag_data.thumb_mode = thumb_mode | MODE_RECORDED;
+ fragP->tc_frag_data.thumb_mode = thumb_mode | MODE_RECORDED;
+
+ frag_thumb_mode = fragP->tc_frag_data.thumb_mode ^ MODE_RECORDED;
/* Record a mapping symbol for alignment frags. We will delete this
later if the alignment ends up empty. */
@@ -21045,7 +21261,7 @@ arm_init_frag (fragS * fragP, int max_chars)
mapping_state_2 (MAP_DATA, max_chars);
break;
case rs_align_code:
- mapping_state_2 (thumb_mode ? MAP_THUMB : MAP_ARM, max_chars);
+ mapping_state_2 (frag_thumb_mode ? MAP_THUMB : MAP_ARM, max_chars);
break;
default:
break;
@@ -22934,7 +23150,7 @@ md_apply_fix (fixS * fixP,
if (rd == REG_SP)
{
- if (value & ~0x1fc)
+ if (value & ~0x1fc)
as_bad_where (fixP->fx_file, fixP->fx_line,
_("invalid immediate for stack address calculation"));
newval = subtract ? T_OPCODE_SUB_ST : T_OPCODE_ADD_ST;
@@ -22942,10 +23158,49 @@ md_apply_fix (fixS * fixP,
}
else if (rs == REG_PC || rs == REG_SP)
{
+ /* PR gas/18541. If the addition is for a defined symbol
+ within range of an ADR instruction then accept it. */
+ if (subtract
+ && value == 4
+ && fixP->fx_addsy != NULL)
+ {
+ subtract = 0;
+
+ if (! S_IS_DEFINED (fixP->fx_addsy)
+ || S_GET_SEGMENT (fixP->fx_addsy) != seg
+ || S_IS_WEAK (fixP->fx_addsy))
+ {
+ as_bad_where (fixP->fx_file, fixP->fx_line,
+ _("address calculation needs a strongly defined nearby symbol"));
+ }
+ else
+ {
+ offsetT v = fixP->fx_where + fixP->fx_frag->fr_address;
+
+ /* Round up to the next 4-byte boundary. */
+ if (v & 3)
+ v = (v + 3) & ~ 3;
+ else
+ v += 4;
+ v = S_GET_VALUE (fixP->fx_addsy) - v;
+
+ if (v & ~0x3fc)
+ {
+ as_bad_where (fixP->fx_file, fixP->fx_line,
+ _("symbol too far away"));
+ }
+ else
+ {
+ fixP->fx_done = 1;
+ value = v;
+ }
+ }
+ }
+
if (subtract || value & ~0x3fc)
as_bad_where (fixP->fx_file, fixP->fx_line,
_("invalid immediate for address calculation (value = 0x%08lX)"),
- (unsigned long) value);
+ (unsigned long) (subtract ? - value : value));
newval = (rs == REG_PC ? T_OPCODE_ADD_PC : T_OPCODE_ADD_SP);
newval |= rd << 8;
newval |= value >> 2;
@@ -23348,7 +23603,6 @@ tc_gen_reloc (asection *section, fixS *fixp)
case BFD_RELOC_ARM_SBREL32:
case BFD_RELOC_ARM_PREL31:
case BFD_RELOC_ARM_TARGET2:
- case BFD_RELOC_ARM_TLS_LE32:
case BFD_RELOC_ARM_TLS_LDO32:
case BFD_RELOC_ARM_PCREL_CALL:
case BFD_RELOC_ARM_PCREL_JUMP:
@@ -23386,6 +23640,7 @@ tc_gen_reloc (asection *section, fixS *fixp)
case BFD_RELOC_ARM_TLS_GOTDESC:
case BFD_RELOC_ARM_TLS_GD32:
+ case BFD_RELOC_ARM_TLS_LE32:
case BFD_RELOC_ARM_TLS_IE32:
case BFD_RELOC_ARM_TLS_LDM32:
/* BFD will include the symbol's address in the addend.
@@ -24615,6 +24870,7 @@ static const struct arm_arch_option_table arm_archs[] =
ARM_ARCH_OPT ("armv7-m", ARM_ARCH_V7M, FPU_ARCH_VFP),
ARM_ARCH_OPT ("armv7e-m", ARM_ARCH_V7EM, FPU_ARCH_VFP),
ARM_ARCH_OPT ("armv8-a", ARM_ARCH_V8A, FPU_ARCH_VFP),
+ ARM_ARCH_OPT ("armv8.1-a", ARM_ARCH_V8_1A, FPU_ARCH_VFP),
ARM_ARCH_OPT ("xscale", ARM_ARCH_XSCALE, FPU_ARCH_VFP),
ARM_ARCH_OPT ("iwmmxt", ARM_ARCH_IWMMXT, FPU_ARCH_VFP),
ARM_ARCH_OPT ("iwmmxt2", ARM_ARCH_IWMMXT2,FPU_ARCH_VFP),
@@ -24662,6 +24918,9 @@ static const struct arm_option_extension_value_table arm_extensions[] =
ARM_EXT_OPT ("os", ARM_FEATURE_CORE_LOW (ARM_EXT_OS),
ARM_FEATURE_CORE_LOW (ARM_EXT_OS),
ARM_FEATURE_CORE_LOW (ARM_EXT_V6M)),
+ ARM_EXT_OPT ("pan", ARM_FEATURE_CORE_HIGH (ARM_EXT2_PAN),
+ ARM_FEATURE (ARM_EXT_V8, ARM_EXT2_PAN, 0),
+ ARM_FEATURE_CORE_LOW (ARM_EXT_V8)),
ARM_EXT_OPT ("sec", ARM_FEATURE_CORE_LOW (ARM_EXT_SEC),
ARM_FEATURE_CORE_LOW (ARM_EXT_SEC),
ARM_FEATURE_CORE_LOW (ARM_EXT_V6K | ARM_EXT_V7A)),
@@ -24669,6 +24928,9 @@ static const struct arm_option_extension_value_table arm_extensions[] =
| ARM_EXT_DIV),
ARM_FEATURE_CORE_LOW (ARM_EXT_VIRT),
ARM_FEATURE_CORE_LOW (ARM_EXT_V7A)),
+ ARM_EXT_OPT ("rdma", FPU_ARCH_NEON_VFP_ARMV8,
+ ARM_FEATURE_COPROC (FPU_NEON_ARMV8 | FPU_NEON_EXT_RDMA),
+ ARM_FEATURE_CORE_LOW (ARM_EXT_V8)),
ARM_EXT_OPT ("xscale",ARM_FEATURE_COPROC (ARM_CEXT_XSCALE),
ARM_FEATURE_COPROC (ARM_CEXT_XSCALE), ARM_ANY),
{ NULL, 0, ARM_ARCH_NONE, ARM_ARCH_NONE, ARM_ARCH_NONE }
@@ -24726,6 +24988,7 @@ static const struct arm_option_fpu_value_table arm_fpus[] =
{"neon-fp-armv8", FPU_ARCH_NEON_VFP_ARMV8},
{"crypto-neon-fp-armv8",
FPU_ARCH_CRYPTO_NEON_VFP_ARMV8},
+ {"neon-fp-armv8.1", FPU_ARCH_NEON_VFP_ARMV8_1},
{NULL, ARM_ARCH_NONE}
};
diff --git a/gas/config/tc-h8300.c b/gas/config/tc-h8300.c
index 2c8a0804d66..9ff813809b7 100644
--- a/gas/config/tc-h8300.c
+++ b/gas/config/tc-h8300.c
@@ -2256,7 +2256,7 @@ valueT
md_section_align (segT segment, valueT size)
{
int align = bfd_get_section_alignment (stdoutput, segment);
- return ((size + (1 << align) - 1) & (-1 << align));
+ return ((size + (1 << align) - 1) & (-1U << align));
}
void
diff --git a/gas/config/tc-hppa.c b/gas/config/tc-hppa.c
index 57d7e96be72..06e222db0a9 100644
--- a/gas/config/tc-hppa.c
+++ b/gas/config/tc-hppa.c
@@ -606,6 +606,9 @@ static int within_procedure;
seen in each subspace. */
static label_symbol_struct *label_symbols_rootp = NULL;
+/* Last label symbol */
+static label_symbol_struct last_label_symbol;
+
/* Nonzero when strict matching is enabled. Zero otherwise.
Each opcode in the table has a flag which indicates whether or
@@ -1114,19 +1117,17 @@ pa_check_eof (void)
static label_symbol_struct *
pa_get_label (void)
{
- label_symbol_struct *label_chain;
+ label_symbol_struct *label_chain = label_symbols_rootp;
- for (label_chain = label_symbols_rootp;
- label_chain;
- label_chain = label_chain->lss_next)
+ if (label_chain)
{
#ifdef OBJ_SOM
- if (current_space == label_chain->lss_space && label_chain->lss_label)
- return label_chain;
+ if (current_space == label_chain->lss_space && label_chain->lss_label)
+ return label_chain;
#endif
#ifdef OBJ_ELF
- if (now_seg == label_chain->lss_segment && label_chain->lss_label)
- return label_chain;
+ if (now_seg == label_chain->lss_segment && label_chain->lss_label)
+ return label_chain;
#endif
}
@@ -1139,28 +1140,23 @@ pa_get_label (void)
void
pa_define_label (symbolS *symbol)
{
- label_symbol_struct *label_chain = pa_get_label ();
+ label_symbol_struct *label_chain = label_symbols_rootp;
- if (label_chain)
- label_chain->lss_label = symbol;
- else
- {
- /* Create a new label entry and add it to the head of the chain. */
- label_chain = xmalloc (sizeof (label_symbol_struct));
- label_chain->lss_label = symbol;
+ if (!label_chain)
+ label_chain = &last_label_symbol;
+
+ label_chain->lss_label = symbol;
#ifdef OBJ_SOM
- label_chain->lss_space = current_space;
+ label_chain->lss_space = current_space;
#endif
#ifdef OBJ_ELF
- label_chain->lss_segment = now_seg;
+ label_chain->lss_segment = now_seg;
#endif
- label_chain->lss_next = NULL;
- if (label_symbols_rootp)
- label_chain->lss_next = label_symbols_rootp;
+ /* Not used. */
+ label_chain->lss_next = NULL;
- label_symbols_rootp = label_chain;
- }
+ label_symbols_rootp = label_chain;
#ifdef OBJ_ELF
dwarf2_emit_label (symbol);
@@ -1173,33 +1169,7 @@ pa_define_label (symbolS *symbol)
static void
pa_undefine_label (void)
{
- label_symbol_struct *label_chain;
- label_symbol_struct *prev_label_chain = NULL;
-
- for (label_chain = label_symbols_rootp;
- label_chain;
- label_chain = label_chain->lss_next)
- {
- if (1
-#ifdef OBJ_SOM
- && current_space == label_chain->lss_space && label_chain->lss_label
-#endif
-#ifdef OBJ_ELF
- && now_seg == label_chain->lss_segment && label_chain->lss_label
-#endif
- )
- {
- /* Remove the label from the chain and free its memory. */
- if (prev_label_chain)
- prev_label_chain->lss_next = label_chain->lss_next;
- else
- label_symbols_rootp = label_chain->lss_next;
-
- free (label_chain);
- break;
- }
- prev_label_chain = label_chain;
- }
+ label_symbols_rootp = NULL;
}
/* An HPPA-specific version of fix_new. This is required because the HPPA
diff --git a/gas/config/tc-i386.c b/gas/config/tc-i386.c
index 34b5c28e513..d8405b5d8ee 100644
--- a/gas/config/tc-i386.c
+++ b/gas/config/tc-i386.c
@@ -36,7 +36,7 @@
#ifdef TE_LINUX
/* Default to compress debug sections for Linux. */
enum compressed_debug_section_type flag_compress_debug
- = COMPRESS_DEBUG_ZLIB;
+ = COMPRESS_DEBUG_GNU_ZLIB;
#endif
#ifndef REGISTER_WARNINGS
diff --git a/gas/config/tc-mips.c b/gas/config/tc-mips.c
index 40e38f88e1d..8f2ec65f1a6 100644
--- a/gas/config/tc-mips.c
+++ b/gas/config/tc-mips.c
@@ -14840,7 +14840,8 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
|| fixP->fx_r_type == BFD_RELOC_MICROMIPS_SUB
|| fixP->fx_r_type == BFD_RELOC_VTABLE_INHERIT
|| fixP->fx_r_type == BFD_RELOC_VTABLE_ENTRY
- || fixP->fx_r_type == BFD_RELOC_MIPS_TLS_DTPREL64);
+ || fixP->fx_r_type == BFD_RELOC_MIPS_TLS_DTPREL64
+ || fixP->fx_r_type == BFD_RELOC_NONE);
buf = fixP->fx_frag->fr_literal + fixP->fx_where;
@@ -15110,6 +15111,7 @@ md_apply_fix (fixS *fixP, valueT *valP, segT seg ATTRIBUTE_UNUSED)
S_SET_WEAK (fixP->fx_addsy);
break;
+ case BFD_RELOC_NONE:
case BFD_RELOC_VTABLE_ENTRY:
fixP->fx_done = 0;
break;
@@ -16304,7 +16306,7 @@ s_ehword (int ignore ATTRIBUTE_UNUSED)
p = frag_more (4);
md_number_to_chars (p, 0, 4);
fix_new_exp (frag_now, p - frag_now->fr_literal, 4, &ex, FALSE,
- BFD_RELOC_MIPS_EH);
+ BFD_RELOC_32_PCREL);
demand_empty_rest_of_line ();
}
@@ -17056,6 +17058,10 @@ mips_fix_adjustable (fixS *fixp)
if (fixp->fx_addsy == NULL)
return 1;
+ /* Allow relocs used for EH tables. */
+ if (fixp->fx_r_type == BFD_RELOC_32_PCREL)
+ return 1;
+
/* If symbol SYM is in a mergeable section, relocations of the form
SYM + 0 can usually be made section-relative. The mergeable data
is then identified by the section offset rather than by the symbol.
@@ -19117,3 +19123,13 @@ md_mips_end (void)
Tag_GNU_MIPS_ABI_FP, fpabi);
}
}
+
+/* Returns the relocation type required for a particular CFI encoding. */
+
+bfd_reloc_code_real_type
+mips_cfi_reloc_for_encoding (int encoding)
+{
+ if (encoding == (DW_EH_PE_sdata4 | DW_EH_PE_pcrel))
+ return BFD_RELOC_32_PCREL;
+ else return BFD_RELOC_NONE;
+}
diff --git a/gas/config/tc-mips.h b/gas/config/tc-mips.h
index dd8350cabe6..6cb3868ccf6 100644
--- a/gas/config/tc-mips.h
+++ b/gas/config/tc-mips.h
@@ -176,7 +176,9 @@ extern enum dwarf2_format mips_dwarf2_format (asection *);
extern int mips_dwarf2_addr_size (void);
#define DWARF2_ADDR_SIZE(bfd) mips_dwarf2_addr_size ()
-#define DWARF2_FDE_RELOC_SIZE mips_dwarf2_addr_size ()
+#define DWARF2_FDE_RELOC_SIZE (compact_eh ? 4 : mips_dwarf2_addr_size ())
+#define DWARF2_FDE_RELOC_ENCODING(enc) \
+ (enc | (compact_eh ? DW_EH_PE_pcrel : 0))
#define TARGET_USE_CFIPOP 1
@@ -189,6 +191,15 @@ extern int tc_mips_regname_to_dw2regnum (char *regname);
#define DWARF2_DEFAULT_RETURN_COLUMN 31
#define DWARF2_CIE_DATA_ALIGNMENT (-4)
+#if defined(OBJ_ELF)
+
+#define tc_cfi_reloc_for_encoding mips_cfi_reloc_for_encoding
+extern bfd_reloc_code_real_type mips_cfi_reloc_for_encoding (int encoding);
+
+#define tc_compact_eh_opcode_stop 0x5c
+#define tc_compact_eh_opcode_pad 0x5f
+
+#endif
#define DIFF_EXPR_OK
/* We define DIFF_EXPR_OK because of R_MIPS_PC32, but we have no
64-bit form for n64 CFIs. */
diff --git a/gas/config/tc-ppc.c b/gas/config/tc-ppc.c
index 3f6de73d1b8..18a11bedbbd 100644
--- a/gas/config/tc-ppc.c
+++ b/gas/config/tc-ppc.c
@@ -2752,12 +2752,18 @@ md_assemble (char *str)
if ((operand->flags & PPC_OPERAND_OPTIONAL) != 0
&& skip_optional)
{
+ long val = ppc_optional_operand_value (operand);
if (operand->insert)
{
- insn = (*operand->insert) (insn, 0L, ppc_cpu, &errmsg);
+ insn = (*operand->insert) (insn, val, ppc_cpu, &errmsg);
if (errmsg != (const char *) NULL)
as_bad ("%s", errmsg);
}
+ else if (operand->shift >= 0)
+ insn |= ((long) val & operand->bitm) << operand->shift;
+ else
+ insn |= ((long) val & operand->bitm) >> -operand->shift;
+
if ((operand->flags & PPC_OPERAND_NEXT) != 0)
next_opindex = *opindex_ptr + 1;
continue;
diff --git a/gas/config/tc-rl78.c b/gas/config/tc-rl78.c
index 3c3f78c0218..3a14fc08768 100644
--- a/gas/config/tc-rl78.c
+++ b/gas/config/tc-rl78.c
@@ -1024,12 +1024,12 @@ md_convert_frag (bfd * abfd ATTRIBUTE_UNUSED,
/* We used a new frag for this opcode, so the opcode address should
be the frag address. */
mypc = fragP->fr_address + (fragP->fr_opcode - fragP->fr_literal);
- tprintf("\033[32mmypc: 0x%x\033[0m\n", (int)mypc);
+ tprintf ("\033[32mmypc: 0x%x\033[0m\n", (int)mypc);
/* Try to get the target address. If we fail here, we just use the
largest format. */
if (rl78_frag_fix_value (fragP, segment, 0, & addr0,
- fragP->tc_frag_data->relax[ri].type != RL78_RELAX_BRANCH, 0))
+ fragP->tc_frag_data->relax[ri].type != RL78_RELAX_BRANCH, 0))
{
/* We don't know the target address. */
keep_reloc = 1;
@@ -1387,6 +1387,7 @@ md_apply_fix (struct fix * f ATTRIBUTE_UNUSED,
val);
/* Fall through. */
case BFD_RELOC_8:
+ case BFD_RELOC_RL78_SADDR: /* We need to store the 8 LSB, but this works. */
op[0] = val;
break;
diff --git a/gas/config/tc-rx.c b/gas/config/tc-rx.c
index 4e58f883cff..ec54b3237bc 100644
--- a/gas/config/tc-rx.c
+++ b/gas/config/tc-rx.c
@@ -942,43 +942,50 @@ rx_field5s2 (expressionS exp)
void
rx_op (expressionS exp, int nbytes, int type)
{
- int v = 0;
+ offsetT v = 0;
if ((exp.X_op == O_constant || exp.X_op == O_big)
&& type != RXREL_PCREL)
{
- if (exp.X_op == O_big && exp.X_add_number <= 0)
+ if (exp.X_op == O_big)
{
- LITTLENUM_TYPE w[2];
- char * ip = rx_bytes.ops + rx_bytes.n_ops;
+ if (exp.X_add_number == -1)
+ {
+ LITTLENUM_TYPE w[2];
+ char * ip = rx_bytes.ops + rx_bytes.n_ops;
- gen_to_words (w, F_PRECISION, 8);
+ gen_to_words (w, F_PRECISION, 8);
#if RX_OPCODE_BIG_ENDIAN
- ip[0] = w[0] >> 8;
- ip[1] = w[0];
- ip[2] = w[1] >> 8;
- ip[3] = w[1];
+ ip[0] = w[0] >> 8;
+ ip[1] = w[0];
+ ip[2] = w[1] >> 8;
+ ip[3] = w[1];
#else
- ip[3] = w[0] >> 8;
- ip[2] = w[0];
- ip[1] = w[1] >> 8;
- ip[0] = w[1];
+ ip[3] = w[0] >> 8;
+ ip[2] = w[0];
+ ip[1] = w[1] >> 8;
+ ip[0] = w[1];
#endif
- rx_bytes.n_ops += 4;
+ rx_bytes.n_ops += 4;
+ return;
+ }
+
+ v = ((generic_bignum[1] & LITTLENUM_MASK) << LITTLENUM_NUMBER_OF_BITS)
+ | (generic_bignum[0] & LITTLENUM_MASK);
+
}
else
+ v = exp.X_add_number;
+
+ while (nbytes)
{
- v = exp.X_add_number;
- while (nbytes)
- {
#if RX_OPCODE_BIG_ENDIAN
- OP ((v >> (8 * (nbytes - 1))) & 0xff);
+ OP ((v >> (8 * (nbytes - 1))) & 0xff);
#else
- OP (v & 0xff);
- v >>= 8;
+ OP (v & 0xff);
+ v >>= 8;
#endif
- nbytes --;
- }
+ nbytes --;
}
}
else
diff --git a/gas/config/tc-xtensa.c b/gas/config/tc-xtensa.c
index 31c0b6be7ee..18307c1b52a 100644
--- a/gas/config/tc-xtensa.c
+++ b/gas/config/tc-xtensa.c
@@ -10808,13 +10808,21 @@ xtensa_move_literals (void)
frchain_to = NULL;
frag_splice = &(frchain_from->frch_root);
- while (!search_frag->tc_frag_data.literal_frag)
+ while (search_frag && !search_frag->tc_frag_data.literal_frag)
{
gas_assert (search_frag->fr_fix == 0
|| search_frag->fr_type == rs_align);
search_frag = search_frag->fr_next;
}
+ if (!search_frag)
+ {
+ search_frag = frchain_from->frch_root;
+ as_bad_where (search_frag->fr_file, search_frag->fr_line,
+ _("literal pool location required for text-section-literals; specify with .literal_position"));
+ continue;
+ }
+
gas_assert (search_frag->tc_frag_data.literal_frag->fr_subtype
== RELAX_LITERAL_POOL_BEGIN);
xtensa_switch_section_emit_state (&state, segment->seg, 0);
diff --git a/gas/configure b/gas/configure
index b67df46e263..da0041096b1 100755
--- a/gas/configure
+++ b/gas/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for gas 2.25.51.0.2.
+# Generated by GNU Autoconf 2.64 for gas 2.25.51.0.3.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
@@ -556,8 +556,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='gas'
PACKAGE_TARNAME='gas'
-PACKAGE_VERSION='2.25.51.0.2'
-PACKAGE_STRING='gas 2.25.51.0.2'
+PACKAGE_VERSION='2.25.51.0.3'
+PACKAGE_STRING='gas 2.25.51.0.3'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1322,7 +1322,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures gas 2.25.51.0.2 to adapt to many kinds of systems.
+\`configure' configures gas 2.25.51.0.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1393,7 +1393,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of gas 2.25.51.0.2:";;
+ short | recursive ) echo "Configuration of gas 2.25.51.0.3:";;
esac
cat <<\_ACEOF
@@ -1507,7 +1507,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-gas configure 2.25.51.0.2
+gas configure 2.25.51.0.3
generated by GNU Autoconf 2.64
Copyright (C) 2009 Free Software Foundation, Inc.
@@ -1917,7 +1917,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by gas $as_me 2.25.51.0.2, which was
+It was created by gas $as_me 2.25.51.0.3, which was
generated by GNU Autoconf 2.64. Invocation command line was
$ $0 $@
@@ -3725,7 +3725,7 @@ fi
# Define the identity of the package.
PACKAGE='gas'
- VERSION='2.25.51.0.2'
+ VERSION='2.25.51.0.3'
cat >>confdefs.h <<_ACEOF
@@ -14996,7 +14996,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by gas $as_me 2.25.51.0.2, which was
+This file was extended by gas $as_me 2.25.51.0.3, which was
generated by GNU Autoconf 2.64. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -15060,7 +15060,7 @@ Report bugs to the package provider."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-gas config.status 2.25.51.0.2
+gas config.status 2.25.51.0.3
configured by $0, generated by GNU Autoconf 2.64,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/gas/doc/as.texinfo b/gas/doc/as.texinfo
index 0002574187f..989a6e1ada1 100644
--- a/gas/doc/as.texinfo
+++ b/gas/doc/as.texinfo
@@ -238,7 +238,7 @@ gcc(1), ld(1), and the Info entries for @file{binutils} and @file{ld}.
@var{objfile}] [@b{-R}] [@b{--reduce-memory-overheads}] [@b{--statistics}]
[@b{-v}] [@b{-version}] [@b{--version}] [@b{-W}] [@b{--warn}]
[@b{--fatal-warnings}] [@b{-w}] [@b{-x}] [@b{-Z}] [@b{@@@var{FILE}}]
- [@b{--size-check=[error|warning]}]
+ [@b{--sectname-subst}] [@b{--size-check=[error|warning]}]
[@b{--target-help}] [@var{target-options}]
[@b{--}|@var{files} @dots{}]
@c
@@ -766,6 +766,14 @@ This option reduces GAS's memory requirements, at the expense of making the
assembly processes slower. Currently this switch is a synonym for
@samp{--hash-size=4051}, but in the future it may have other effects as well.
+@ifset ELF
+@item --sectname-subst
+Honor substitution sequences in section names.
+@ifclear man
+@xref{Section Name Substitutions,,@code{.section @var{name}}}.
+@end ifclear
+@end ifset
+
@item --statistics
Print the maximum space (in bytes) and total time (in seconds) used by
assembly.
@@ -4625,6 +4633,9 @@ if @var{section_list} is @code{.debug_frame}, @code{.debug_frame} is emitted.
To emit both use @code{.eh_frame, .debug_frame}. The default if this
directive is not used is @code{.cfi_sections .eh_frame}.
+On targets that support compact unwinding tables these can be generated
+by specifying @code{.eh_frame_entry} instead of @code{.eh_frame}.
+
@subsection @code{.cfi_startproc [simple]}
@cindex @code{cfi_startproc} directive
@code{.cfi_startproc} is used at the beginning of each function that
@@ -4642,6 +4653,7 @@ unwind entry previously opened by
@code{.cfi_startproc}, and emits it to @code{.eh_frame}.
@subsection @code{.cfi_personality @var{encoding} [, @var{exp}]}
+@cindex @code{cfi_personality} directive
@code{.cfi_personality} defines personality routine and its encoding.
@var{encoding} must be a constant determining how the personality
should be encoded. If it is 255 (@code{DW_EH_PE_omit}), second
@@ -4652,13 +4664,46 @@ can be loaded from, not the personality routine itself.
The default after @code{.cfi_startproc} is @code{.cfi_personality 0xff},
no personality routine.
+@subsection @code{.cfi_personality_id @var{id}}
+@cindex @code{cfi_personality_id} directive
+@code{cfi_personality_id} defines a personality routine by its index as
+defined in a compact unwinding format.
+Only valid when generating compact EH frames (i.e.
+with @code{.cfi_sections eh_frame_entry}.
+
+@subsection @code{.cfi_fde_data [@var{opcode1} [, @dots{}]]}
+@cindex @code{cfi_fde_data} directive
+@code{cfi_fde_data} is used to describe the compact unwind opcodes to be
+used for the current function. These are emitted inline in the
+@code{.eh_frame_entry} section if small enough and there is no LSDA, or
+in the @code{.gnu.extab} section otherwise.
+Only valid when generating compact EH frames (i.e.
+with @code{.cfi_sections eh_frame_entry}.
+
@subsection @code{.cfi_lsda @var{encoding} [, @var{exp}]}
@code{.cfi_lsda} defines LSDA and its encoding.
@var{encoding} must be a constant determining how the LSDA
-should be encoded. If it is 255 (@code{DW_EH_PE_omit}), second
-argument is not present, otherwise second argument should be a constant
+should be encoded. If it is 255 (@code{DW_EH_PE_omit}), the second
+argument is not present, otherwise the second argument should be a constant
or a symbol name. The default after @code{.cfi_startproc} is @code{.cfi_lsda 0xff},
-no LSDA.
+meaning that no LSDA is present.
+
+@subsection @code{.cfi_inline_lsda} [@var{align}]
+@code{.cfi_inline_lsda} marks the start of a LSDA data section and
+switches to the corresponding @code{.gnu.extab} section.
+Must be preceded by a CFI block containing a @code{.cfi_lsda} directive.
+Only valid when generating compact EH frames (i.e.
+with @code{.cfi_sections eh_frame_entry}.
+
+The table header and unwinding opcodes will be generated at this point,
+so that they are immediately followed by the LSDA data. The symbol
+referenced by the @code{.cfi_lsda} directive should still be defined
+in case a fallback FDE based encoding is used. The LSDA data is terminated
+by a section directive.
+
+The optional @var{align} argument specifies the alignment required.
+The alignment is specified as a power of two, as with the
+@code{.p2align} directive.
@subsection @code{.cfi_def_cfa @var{register}, @var{offset}}
@code{.cfi_def_cfa} defines a rule for computing CFA as: @i{take
@@ -6230,6 +6275,38 @@ For ELF targets, the @code{.section} directive is used like this:
.section @var{name} [, "@var{flags}"[, @@@var{type}[,@var{flag_specific_arguments}]]]
@end smallexample
+@anchor{Section Name Substitutions}
+@kindex --sectname-subst
+@cindex section name substitution
+If the @samp{--sectname-subst} command-line option is provided, the @var{name}
+argument may contain a substitution sequence. Only @code{%S} is supported
+at the moment, and substitutes the current section name. For example:
+
+@smallexample
+.macro exception_code
+.section %S.exception
+[exception code here]
+.previous
+.endm
+
+.text
+[code]
+exception_code
+[...]
+
+.section .init
+[init code]
+exception_code
+[...]
+@end smallexample
+
+The two @code{exception_code} invocations above would create the
+@code{.text.exception} and @code{.init.exception} sections respectively.
+This is useful e.g. to discriminate between anciliary sections that are
+tied to setup code to be discarded after use from anciliary sections that
+need to stay resident without having to define multiple @code{exception_code}
+macros just for that purpose.
+
The optional @var{flags} argument is a quoted string which may contain any
combination of the following characters:
@table @code
diff --git a/gas/doc/c-aarch64.texi b/gas/doc/c-aarch64.texi
index 79fe1684238..0fe3a84f441 100644
--- a/gas/doc/c-aarch64.texi
+++ b/gas/doc/c-aarch64.texi
@@ -81,7 +81,8 @@ extensions.
This option specifies the target architecture. The assembler will
issue an error message if an attempt is made to assemble an
instruction which will not execute on the target architecture. The
-only value for @var{architecture} is @code{armv8-a}.
+following architecture names are recognized: @code{armv8-a} and
+@code{armv8.1-a}.
If both @option{-mcpu} and @option{-march} are specified, the
assembler will use the setting for @option{-mcpu}. If neither are
@@ -133,6 +134,12 @@ automatically cause those extensions to be disabled.
@tab Enable floating-point extensions.
@item @code{simd} @tab ARMv8-A @tab ARMv8-A or later
@tab Enable Advanced SIMD extensions. This implies @code{fp}.
+@item @code{pan} @tab ARMv8-A @tab ARMv8-A or later
+ @tab Enable Privileged Access Never support.
+@item @code{lor} @tab ARMv8-A @tab ARMv8-A or later
+ @tab Enable Limited Ordering Regions extensions.
+@item @code{rdma} @tab ARMv8-A @tab ARMv8-A or later
+ @tab Enable ARMv8.1 Advanced SIMD extensions. This implies @code{simd}.
@end multitable
@node AArch64 Syntax
diff --git a/gas/doc/c-arm.texi b/gas/doc/c-arm.texi
index d31ba029758..0c3b9f94e38 100644
--- a/gas/doc/c-arm.texi
+++ b/gas/doc/c-arm.texi
@@ -179,6 +179,9 @@ architectures),
@code{simd} (Advanced SIMD Extensions for v8-A architecture, implies @code{fp}),
@code{virt} (Virtualization Extensions for v7-A architecture, implies
@code{idiv}),
+@code{pan} (Priviliged Access Never Extensions for v8-A architecture),
+@code{rdma} (ARMv8.1 Advanced SIMD extensions for v8-A architecture, implies
+@code{simd})
and
@code{xscale}.
@@ -217,6 +220,7 @@ names are recognized:
@code{armv7-m},
@code{armv7e-m},
@code{armv8-a},
+@code{armv8.1-a},
@code{iwmmxt}
@code{iwmmxt2}
and
@@ -270,8 +274,9 @@ The following format options are recognized:
@code{neon},
@code{neon-vfpv4},
@code{neon-fp-armv8},
-and
@code{crypto-neon-fp-armv8}.
+and
+@code{neon-fp-armv8-1},
In addition to determining which instructions are assembled, this option
also affects the way in which the @code{.double} assembler directive behaves
diff --git a/gas/doc/internals.texi b/gas/doc/internals.texi
index 3dc314897c0..7649ce536fe 100644
--- a/gas/doc/internals.texi
+++ b/gas/doc/internals.texi
@@ -1473,6 +1473,12 @@ completed, but before the relocations have been generated.
If you define this macro, GAS will call it after the relocs have been
generated.
+@item tc_cfi_reloc_for_encoding
+@cindex tc_cfi_reloc_for_encoding
+This macro is used to indicate whether a cfi encoding requires a relocation.
+It should return the required relocation type. Defining this macro implies
+that Compact EH is supported.
+
@item md_post_relax_hook
If you define this macro, GAS will call it after relaxing and sizing the
segments.
diff --git a/gas/dw2gencfi.c b/gas/dw2gencfi.c
index ef97e181340..87f135b6be0 100644
--- a/gas/dw2gencfi.c
+++ b/gas/dw2gencfi.c
@@ -75,6 +75,8 @@
# define tc_cfi_endproc(fde) ((void) (fde))
#endif
+#define EH_FRAME_LINKONCE (SUPPORT_FRAME_LINKONCE || compact_eh)
+
#ifndef DWARF2_FORMAT
#define DWARF2_FORMAT(SEC) dwarf2_format_32bit
#endif
@@ -83,7 +85,7 @@
#define DWARF2_ADDR_SIZE(bfd) (bfd_arch_bits_per_address (bfd) / 8)
#endif
-#if SUPPORT_FRAME_LINKONCE
+#if MULTIPLE_FRAME_SECTIONS
#define CUR_SEG(structp) structp->cur_seg
#define SET_CUR_SEG(structp, seg) structp->cur_seg = seg
#define HANDLED(structp) structp->handled
@@ -95,6 +97,10 @@
#define SET_HANDLED(structp, val) (void) (0 && val)
#endif
+#ifndef tc_cfi_reloc_for_encoding
+#define tc_cfi_reloc_for_encoding(e) BFD_RELOC_NONE
+#endif
+
/* Private segment collection list. */
struct dwcfi_seg_list
{
@@ -103,10 +109,115 @@ struct dwcfi_seg_list
char * seg_name;
};
-#define FRAME_NAME ".eh_frame"
+#ifdef SUPPORT_COMPACT_EH
+static bfd_boolean compact_eh;
+#else
+#define compact_eh 0
+#endif
static struct hash_control *dwcfi_hash;
+
+/* Emit a single byte into the current segment. */
+
+static inline void
+out_one (int byte)
+{
+ FRAG_APPEND_1_CHAR (byte);
+}
+
+/* Emit a two-byte word into the current segment. */
+
+static inline void
+out_two (int data)
+{
+ md_number_to_chars (frag_more (2), data, 2);
+}
+
+/* Emit a four byte word into the current segment. */
+
+static inline void
+out_four (int data)
+{
+ md_number_to_chars (frag_more (4), data, 4);
+}
+
+/* Emit an unsigned "little-endian base 128" number. */
+
+static void
+out_uleb128 (addressT value)
+{
+ output_leb128 (frag_more (sizeof_leb128 (value, 0)), value, 0);
+}
+
+/* Emit an unsigned "little-endian base 128" number. */
+
+static void
+out_sleb128 (offsetT value)
+{
+ output_leb128 (frag_more (sizeof_leb128 (value, 1)), value, 1);
+}
+
+static offsetT
+encoding_size (unsigned char encoding)
+{
+ if (encoding == DW_EH_PE_omit)
+ return 0;
+ switch (encoding & 0x7)
+ {
+ case 0:
+ return bfd_get_arch_size (stdoutput) == 64 ? 8 : 4;
+ case DW_EH_PE_udata2:
+ return 2;
+ case DW_EH_PE_udata4:
+ return 4;
+ case DW_EH_PE_udata8:
+ return 8;
+ default:
+ abort ();
+ }
+}
+
+/* Emit expression EXP in ENCODING. If EMIT_ENCODING is true, first
+ emit a byte containing ENCODING. */
+
+static void
+emit_expr_encoded (expressionS *exp, int encoding, bfd_boolean emit_encoding)
+{
+ offsetT size = encoding_size (encoding);
+ bfd_reloc_code_real_type code;
+
+ if (encoding == DW_EH_PE_omit)
+ return;
+ if (emit_encoding)
+ out_one (encoding);
+
+ code = tc_cfi_reloc_for_encoding (encoding);
+ if (code != BFD_RELOC_NONE)
+ {
+ reloc_howto_type *howto = bfd_reloc_type_lookup (stdoutput, code);
+ char *p = frag_more (size);
+ md_number_to_chars (p, 0, size);
+ fix_new (frag_now, p - frag_now->fr_literal, size, exp->X_add_symbol,
+ exp->X_add_number, howto->pc_relative, code);
+ }
+ else if ((encoding & 0x70) == DW_EH_PE_pcrel)
+ {
+#if CFI_DIFF_EXPR_OK
+ expressionS tmp = *exp;
+ tmp.X_op = O_subtract;
+ tmp.X_op_symbol = symbol_temp_new_now ();
+ emit_expr (&tmp, size);
+#elif defined (tc_cfi_emit_pcrel_expr)
+ tc_cfi_emit_pcrel_expr (exp, size);
+#else
+ abort ();
+#endif
+ }
+ else
+ emit_expr (exp, size);
+}
+
/* Build based on segment the derived .debug_...
segment name containing origin segment's postfix name part. */
@@ -128,7 +239,13 @@ get_debugseg_name (segT seg, const char *base_name)
dot = strchr (name + 1, '.');
if (!dollar && !dot)
- name = "";
+ {
+ if (!strcmp (base_name, ".eh_frame_entry")
+ && strcmp (name, ".text") != 0)
+ return concat (base_name, ".", name, NULL);
+
+ name = "";
+ }
else if (!dollar)
name = dot;
else if (!dot)
@@ -160,6 +277,9 @@ alloc_debugseg_item (segT seg, int subseg, char *name)
static segT
is_now_linkonce_segment (void)
{
+ if (compact_eh)
+ return now_seg;
+
if ((bfd_get_section_flags (stdoutput, now_seg)
& (SEC_LINK_ONCE | SEC_LINK_DUPLICATES_DISCARD
| SEC_LINK_DUPLICATES_ONE_ONLY | SEC_LINK_DUPLICATES_SAME_SIZE
@@ -272,12 +392,13 @@ struct cfi_escape_data
struct cie_entry
{
struct cie_entry *next;
-#if SUPPORT_FRAME_LINKONCE
+#if MULTIPLE_FRAME_SECTIONS
segT cur_seg;
#endif
symbolS *start_address;
unsigned int return_column;
unsigned int signal_frame;
+ unsigned char fde_encoding;
unsigned char per_encoding;
unsigned char lsda_encoding;
expressionS personality;
@@ -327,6 +448,7 @@ alloc_fde_entry (void)
fde->return_column = DWARF2_DEFAULT_RETURN_COLUMN;
fde->per_encoding = DW_EH_PE_omit;
fde->lsda_encoding = DW_EH_PE_omit;
+ fde->eh_header_type = EH_COMPACT_UNKNOWN;
return fde;
}
@@ -337,6 +459,11 @@ alloc_fde_entry (void)
/* Construct a new INSN structure and add it to the end of the insn list
for the currently active FDE. */
+static bfd_boolean cfi_sections_set = FALSE;
+static int cfi_sections = CFI_EMIT_eh_frame;
+int all_cfi_sections = 0;
+static struct fde_entry *last_fde;
+
static struct cfi_insn_data *
alloc_cfi_insn_data (void)
{
@@ -378,6 +505,12 @@ cfi_set_return_column (unsigned regno)
frchain_now->frch_cfi_data->cur_fde_data->return_column = regno;
}
+void
+cfi_set_sections (void)
+{
+ frchain_now->frch_cfi_data->cur_fde_data->sections = all_cfi_sections;
+}
+
/* Universal functions to store new instructions. */
static void
@@ -560,9 +693,12 @@ static void dot_cfi_escape (int);
static void dot_cfi_sections (int);
static void dot_cfi_startproc (int);
static void dot_cfi_endproc (int);
+static void dot_cfi_fde_data (int);
static void dot_cfi_personality (int);
+static void dot_cfi_personality_id (int);
static void dot_cfi_lsda (int);
static void dot_cfi_val_encoded_addr (int);
+static void dot_cfi_inline_lsda (int);
static void dot_cfi_label (int);
const pseudo_typeS cfi_pseudo_table[] =
@@ -570,6 +706,7 @@ const pseudo_typeS cfi_pseudo_table[] =
{ "cfi_sections", dot_cfi_sections, 0 },
{ "cfi_startproc", dot_cfi_startproc, 0 },
{ "cfi_endproc", dot_cfi_endproc, 0 },
+ { "cfi_fde_data", dot_cfi_fde_data, 0 },
{ "cfi_def_cfa", dot_cfi, DW_CFA_def_cfa },
{ "cfi_def_cfa_register", dot_cfi, DW_CFA_def_cfa_register },
{ "cfi_def_cfa_offset", dot_cfi, DW_CFA_def_cfa_offset },
@@ -587,8 +724,10 @@ const pseudo_typeS cfi_pseudo_table[] =
{ "cfi_escape", dot_cfi_escape, 0 },
{ "cfi_signal_frame", dot_cfi, CFI_signal_frame },
{ "cfi_personality", dot_cfi_personality, 0 },
+ { "cfi_personality_id", dot_cfi_personality_id, 0 },
{ "cfi_lsda", dot_cfi_lsda, 0 },
{ "cfi_val_encoded_addr", dot_cfi_val_encoded_addr, 0 },
+ { "cfi_inline_lsda", dot_cfi_inline_lsda, 0 },
{ "cfi_label", dot_cfi_label, 0 },
{ NULL, NULL, 0 }
};
@@ -847,14 +986,15 @@ dot_cfi_personality (int ignored ATTRIBUTE_UNUSED)
}
if ((encoding & 0xff) != encoding
- || ((encoding & 0x70) != 0
+ || ((((encoding & 0x70) != 0
#if CFI_DIFF_EXPR_OK || defined tc_cfi_emit_pcrel_expr
- && (encoding & 0x70) != DW_EH_PE_pcrel
+ && (encoding & 0x70) != DW_EH_PE_pcrel
#endif
)
/* leb128 can be handled, but does something actually need it? */
- || (encoding & 7) == DW_EH_PE_uleb128
- || (encoding & 7) > DW_EH_PE_udata8)
+ || (encoding & 7) == DW_EH_PE_uleb128
+ || (encoding & 7) > DW_EH_PE_udata8)
+ && tc_cfi_reloc_for_encoding (encoding) == BFD_RELOC_NONE))
{
as_bad (_("invalid or unsupported encoding in .cfi_personality"));
ignore_rest_of_line ();
@@ -917,14 +1057,15 @@ dot_cfi_lsda (int ignored ATTRIBUTE_UNUSED)
}
if ((encoding & 0xff) != encoding
- || ((encoding & 0x70) != 0
+ || ((((encoding & 0x70) != 0
#if CFI_DIFF_LSDA_OK || defined tc_cfi_emit_pcrel_expr
- && (encoding & 0x70) != DW_EH_PE_pcrel
+ && (encoding & 0x70) != DW_EH_PE_pcrel
#endif
- )
+ )
/* leb128 can be handled, but does something actually need it? */
- || (encoding & 7) == DW_EH_PE_uleb128
- || (encoding & 7) > DW_EH_PE_udata8)
+ || (encoding & 7) == DW_EH_PE_uleb128
+ || (encoding & 7) > DW_EH_PE_udata8)
+ && tc_cfi_reloc_for_encoding (encoding) == BFD_RELOC_NONE))
{
as_bad (_("invalid or unsupported encoding in .cfi_lsda"));
ignore_rest_of_line ();
@@ -1050,12 +1191,6 @@ dot_cfi_label (int ignored ATTRIBUTE_UNUSED)
demand_empty_rest_of_line ();
}
-/* By default emit .eh_frame only, not .debug_frame. */
-#define CFI_EMIT_eh_frame (1 << 0)
-#define CFI_EMIT_debug_frame (1 << 1)
-#define CFI_EMIT_target (1 << 2)
-static int cfi_sections = CFI_EMIT_eh_frame;
-
static void
dot_cfi_sections (int ignored ATTRIBUTE_UNUSED)
{
@@ -1075,6 +1210,13 @@ dot_cfi_sections (int ignored ATTRIBUTE_UNUSED)
sections |= CFI_EMIT_eh_frame;
else if (strncmp (name, ".debug_frame", sizeof ".debug_frame") == 0)
sections |= CFI_EMIT_debug_frame;
+#if SUPPORT_COMPACT_EH
+ else if (strncmp (name, ".eh_frame_entry", sizeof ".eh_frame_entry") == 0)
+ {
+ compact_eh = TRUE;
+ sections |= CFI_EMIT_eh_frame_compact;
+ }
+#endif
#ifdef tc_cfi_section_name
else if (strcmp (name, tc_cfi_section_name) == 0)
sections |= CFI_EMIT_target;
@@ -1103,6 +1245,9 @@ dot_cfi_sections (int ignored ATTRIBUTE_UNUSED)
}
demand_empty_rest_of_line ();
+ if (cfi_sections_set && cfi_sections != sections)
+ as_bad (_("inconsistent uses of .cfi_sections"));
+ cfi_sections_set = TRUE;
cfi_sections = sections;
}
@@ -1138,6 +1283,8 @@ dot_cfi_startproc (int ignored ATTRIBUTE_UNUSED)
}
demand_empty_rest_of_line ();
+ all_cfi_sections |= cfi_sections;
+ cfi_set_sections ();
frchain_now->frch_cfi_data->cur_cfa_offset = 0;
if (!simple)
tc_cfi_frame_initial_instructions ();
@@ -1149,8 +1296,6 @@ dot_cfi_startproc (int ignored ATTRIBUTE_UNUSED)
static void
dot_cfi_endproc (int ignored ATTRIBUTE_UNUSED)
{
- struct fde_entry *fde;
-
if (frchain_now->frch_cfi_data == NULL)
{
as_bad (_(".cfi_endproc without corresponding .cfi_startproc"));
@@ -1158,58 +1303,253 @@ dot_cfi_endproc (int ignored ATTRIBUTE_UNUSED)
return;
}
- fde = frchain_now->frch_cfi_data->cur_fde_data;
+ last_fde = frchain_now->frch_cfi_data->cur_fde_data;
cfi_end_fde (symbol_temp_new_now ());
demand_empty_rest_of_line ();
if ((cfi_sections & CFI_EMIT_target) != 0)
- tc_cfi_endproc (fde);
+ tc_cfi_endproc (last_fde);
}
-
-/* Emit a single byte into the current segment. */
-
-static inline void
-out_one (int byte)
+static segT
+get_cfi_seg (segT cseg, const char *base, flagword flags, int align)
{
- FRAG_APPEND_1_CHAR (byte);
+ /* Exclude .debug_frame sections for Compact EH. */
+ if (SUPPORT_FRAME_LINKONCE || ((flags & SEC_DEBUGGING) == 0 && compact_eh))
+ {
+ struct dwcfi_seg_list *l;
+
+ l = dwcfi_hash_find_or_make (cseg, base, flags);
+
+ cseg = l->seg;
+ subseg_set (cseg, l->subseg);
+ }
+ else
+ {
+ cseg = subseg_new (base, 0);
+ bfd_set_section_flags (stdoutput, cseg, flags);
+ }
+ record_alignment (cseg, align);
+ return cseg;
}
-/* Emit a two-byte word into the current segment. */
+#if SUPPORT_COMPACT_EH
+static void
+dot_cfi_personality_id (int ignored ATTRIBUTE_UNUSED)
+{
+ struct fde_entry *fde;
-static inline void
-out_two (int data)
+ if (frchain_now->frch_cfi_data == NULL)
+ {
+ as_bad (_("CFI instruction used without previous .cfi_startproc"));
+ ignore_rest_of_line ();
+ return;
+ }
+
+ fde = frchain_now->frch_cfi_data->cur_fde_data;
+ fde->personality_id = cfi_parse_const ();
+ demand_empty_rest_of_line ();
+
+ if (fde->personality_id == 0 || fde->personality_id > 3)
+ {
+ as_bad (_("wrong argument to .cfi_personality_id"));
+ return;
+ }
+}
+
+static void
+dot_cfi_fde_data (int ignored ATTRIBUTE_UNUSED)
{
- md_number_to_chars (frag_more (2), data, 2);
+ if (frchain_now->frch_cfi_data == NULL)
+ {
+ as_bad (_(".cfi_fde_data without corresponding .cfi_startproc"));
+ ignore_rest_of_line ();
+ return;
+ }
+
+ last_fde = frchain_now->frch_cfi_data->cur_fde_data;
+
+ if ((cfi_sections & CFI_EMIT_target) != 0
+ || (cfi_sections & CFI_EMIT_eh_frame_compact) != 0)
+ {
+ struct cfi_escape_data *head, **tail, *e;
+ int num_ops = 0;
+
+ tail = &head;
+ if (!is_it_end_of_statement ())
+ {
+ num_ops = 0;
+ do
+ {
+ e = (struct cfi_escape_data *) xmalloc (sizeof (*e));
+ do_parse_cons_expression (&e->exp, 1);
+ *tail = e;
+ tail = &e->next;
+ num_ops++;
+ }
+ while (*input_line_pointer++ == ',');
+ --input_line_pointer;
+ }
+ *tail = NULL;
+
+ if (last_fde->lsda_encoding != DW_EH_PE_omit)
+ last_fde->eh_header_type = EH_COMPACT_HAS_LSDA;
+ else if (num_ops <= 3 && last_fde->per_encoding == DW_EH_PE_omit)
+ last_fde->eh_header_type = EH_COMPACT_INLINE;
+ else
+ last_fde->eh_header_type = EH_COMPACT_OUTLINE;
+
+ if (last_fde->eh_header_type == EH_COMPACT_INLINE)
+ num_ops = 3;
+
+ last_fde->eh_data_size = num_ops;
+ last_fde->eh_data = (bfd_byte *) xmalloc (num_ops);
+ num_ops = 0;
+ while (head)
+ {
+ e = head;
+ head = e->next;
+ last_fde->eh_data[num_ops++] = e->exp.X_add_number;
+ free (e);
+ }
+ if (last_fde->eh_header_type == EH_COMPACT_INLINE)
+ while (num_ops < 3)
+ last_fde->eh_data[num_ops++] = tc_compact_eh_opcode_stop;
+ }
+
+ demand_empty_rest_of_line ();
}
-/* Emit a four byte word into the current segment. */
+/* Function to emit the compact unwinding opcodes stored in the
+ fde's eh_data field. The end of the opcode data will be
+ padded to the value in align. */
-static inline void
-out_four (int data)
+static void
+output_compact_unwind_data (struct fde_entry *fde, int align)
{
- md_number_to_chars (frag_more (4), data, 4);
+ int data_size = fde->eh_data_size + 2;
+ int align_padding;
+ int amask;
+ char *p;
+
+ fde->eh_loc = symbol_temp_new_now ();
+
+ p = frag_more (1);
+ if (fde->personality_id != 0)
+ *p = fde->personality_id;
+ else if (fde->per_encoding != DW_EH_PE_omit)
+ {
+ *p = 0;
+ emit_expr_encoded (&fde->personality, fde->per_encoding, FALSE);
+ data_size += encoding_size (fde->per_encoding);
+ }
+ else
+ *p = 1;
+
+ amask = (1 << align) - 1;
+ align_padding = ((data_size + amask) & ~amask) - data_size;
+
+ p = frag_more (fde->eh_data_size + 1 + align_padding);
+ memcpy (p, fde->eh_data, fde->eh_data_size);
+ p += fde->eh_data_size;
+
+ while (align_padding-- > 0)
+ *(p++) = tc_compact_eh_opcode_pad;
+
+ *(p++) = tc_compact_eh_opcode_stop;
+ fde->eh_header_type = EH_COMPACT_OUTLINE_DONE;
}
-/* Emit an unsigned "little-endian base 128" number. */
+/* Handle the .cfi_inline_lsda directive. */
+static void
+dot_cfi_inline_lsda (int ignored ATTRIBUTE_UNUSED)
+{
+ segT ccseg;
+ int align;
+ long max_alignment = 28;
+
+ if (!last_fde)
+ {
+ as_bad (_("unexpected .cfi_inline_lsda"));
+ ignore_rest_of_line ();
+ return;
+ }
+
+ if ((last_fde->sections & CFI_EMIT_eh_frame_compact) == 0)
+ {
+ as_bad (_(".cfi_inline_lsda not valid for this frame"));
+ ignore_rest_of_line ();
+ return;
+ }
+
+ if (last_fde->eh_header_type != EH_COMPACT_UNKNOWN
+ && last_fde->eh_header_type != EH_COMPACT_HAS_LSDA)
+ {
+ as_bad (_(".cfi_inline_lsda seen for frame without .cfi_lsda"));
+ ignore_rest_of_line ();
+ return;
+ }
+
+#ifdef md_flush_pending_output
+ md_flush_pending_output ();
+#endif
+
+ align = get_absolute_expression ();
+ if (align > max_alignment)
+ {
+ align = max_alignment;
+ as_bad (_("Alignment too large: %d. assumed."), align);
+ }
+ else if (align < 0)
+ {
+ as_warn (_("Alignment negative: 0 assumed."));
+ align = 0;
+ }
+
+ demand_empty_rest_of_line ();
+ ccseg = CUR_SEG (last_fde);
+ /* Open .gnu_extab section. */
+ get_cfi_seg (ccseg, ".gnu_extab",
+ (SEC_ALLOC | SEC_LOAD | SEC_DATA
+ | DWARF2_EH_FRAME_READ_ONLY),
+ 1);
+
+ frag_align (align, 0, 0);
+ record_alignment (now_seg, align);
+ if (last_fde->eh_header_type == EH_COMPACT_HAS_LSDA)
+ output_compact_unwind_data (last_fde, align);
+
+ last_fde = NULL;
+
+ return;
+}
+#else /* !SUPPORT_COMPACT_EH */
static void
-out_uleb128 (addressT value)
+dot_cfi_inline_lsda (int ignored ATTRIBUTE_UNUSED)
{
- output_leb128 (frag_more (sizeof_leb128 (value, 0)), value, 0);
+ as_bad (_(".cfi_inline_lsda is not supported for this target"));
+ ignore_rest_of_line ();
}
-/* Emit an unsigned "little-endian base 128" number. */
-
static void
-out_sleb128 (offsetT value)
+dot_cfi_fde_data (int ignored ATTRIBUTE_UNUSED)
{
- output_leb128 (frag_more (sizeof_leb128 (value, 1)), value, 1);
+ as_bad (_(".cfi_fde_data is not supported for this target"));
+ ignore_rest_of_line ();
}
static void
+dot_cfi_personality_id (int ignored ATTRIBUTE_UNUSED)
+{
+ as_bad (_(".cfi_personality_id is not supported for this target"));
+ ignore_rest_of_line ();
+}
+#endif
+
+static void
output_cfi_insn (struct cfi_insn_data *insn)
{
offsetT offset;
@@ -1365,7 +1705,7 @@ output_cfi_insn (struct cfi_insn_data *insn)
case CFI_val_encoded_addr:
{
unsigned encoding = insn->u.ea.encoding;
- offsetT encoding_size;
+ offsetT enc_size;
if (encoding == DW_EH_PE_omit)
break;
@@ -1375,16 +1715,16 @@ output_cfi_insn (struct cfi_insn_data *insn)
switch (encoding & 0x7)
{
case DW_EH_PE_absptr:
- encoding_size = DWARF2_ADDR_SIZE (stdoutput);
+ enc_size = DWARF2_ADDR_SIZE (stdoutput);
break;
case DW_EH_PE_udata2:
- encoding_size = 2;
+ enc_size = 2;
break;
case DW_EH_PE_udata4:
- encoding_size = 4;
+ enc_size = 4;
break;
case DW_EH_PE_udata8:
- encoding_size = 8;
+ enc_size = 8;
break;
default:
abort ();
@@ -1394,12 +1734,12 @@ output_cfi_insn (struct cfi_insn_data *insn)
then use the smaller DW_OP_addr encoding. */
if (insn->u.ea.encoding == DW_EH_PE_absptr)
{
- out_uleb128 (1 + encoding_size);
+ out_uleb128 (1 + enc_size);
out_one (DW_OP_addr);
}
else
{
- out_uleb128 (1 + 1 + encoding_size);
+ out_uleb128 (1 + 1 + enc_size);
out_one (DW_OP_GNU_encoded_addr);
out_one (encoding);
@@ -1409,14 +1749,14 @@ output_cfi_insn (struct cfi_insn_data *insn)
insn->u.ea.exp.X_op = O_subtract;
insn->u.ea.exp.X_op_symbol = symbol_temp_new_now ();
#elif defined (tc_cfi_emit_pcrel_expr)
- tc_cfi_emit_pcrel_expr (&insn->u.ea.exp, encoding_size);
+ tc_cfi_emit_pcrel_expr (&insn->u.ea.exp, enc_size);
break;
#else
abort ();
#endif
}
}
- emit_expr (&insn->u.ea.exp, encoding_size);
+ emit_expr (&insn->u.ea.exp, enc_size);
}
break;
@@ -1429,26 +1769,6 @@ output_cfi_insn (struct cfi_insn_data *insn)
}
}
-static offsetT
-encoding_size (unsigned char encoding)
-{
- if (encoding == DW_EH_PE_omit)
- return 0;
- switch (encoding & 0x7)
- {
- case 0:
- return bfd_get_arch_size (stdoutput) == 64 ? 8 : 4;
- case DW_EH_PE_udata2:
- return 2;
- case DW_EH_PE_udata4:
- return 4;
- case DW_EH_PE_udata8:
- return 8;
- default:
- abort ();
- }
-}
-
static void
output_cie (struct cie_entry *cie, bfd_boolean eh_frame, int align)
{
@@ -1511,26 +1831,7 @@ output_cie (struct cie_entry *cie, bfd_boolean eh_frame, int align)
augmentation_size += 1 + encoding_size (cie->per_encoding);
out_uleb128 (augmentation_size); /* Augmentation size. */
- if (cie->per_encoding != DW_EH_PE_omit)
- {
- offsetT size = encoding_size (cie->per_encoding);
- out_one (cie->per_encoding);
- exp = cie->personality;
- if ((cie->per_encoding & 0x70) == DW_EH_PE_pcrel)
- {
-#if CFI_DIFF_EXPR_OK
- exp.X_op = O_subtract;
- exp.X_op_symbol = symbol_temp_new_now ();
- emit_expr (&exp, size);
-#elif defined (tc_cfi_emit_pcrel_expr)
- tc_cfi_emit_pcrel_expr (&exp, size);
-#else
- abort ();
-#endif
- }
- else
- emit_expr (&exp, size);
- }
+ emit_expr_encoded (&cie->personality, cie->per_encoding, TRUE);
if (cie->lsda_encoding != DW_EH_PE_omit)
out_one (cie->lsda_encoding);
@@ -1553,6 +1854,11 @@ output_cie (struct cie_entry *cie, bfd_boolean eh_frame, int align)
#if CFI_DIFF_EXPR_OK || defined tc_cfi_emit_pcrel_expr
enc |= DW_EH_PE_pcrel;
#endif
+#ifdef DWARF2_FDE_RELOC_ENCODING
+ /* Allow target to override encoding. */
+ enc = DWARF2_FDE_RELOC_ENCODING (enc);
+#endif
+ cie->fde_encoding = enc;
if (eh_frame)
out_one (enc);
@@ -1613,30 +1919,44 @@ output_fde (struct fde_entry *fde, struct cie_entry *cie,
TC_DWARF2_EMIT_OFFSET (cie->start_address, offset_size);
}
+ exp.X_op = O_symbol;
if (eh_frame)
{
- exp.X_op = O_subtract;
- exp.X_add_number = 0;
+ bfd_reloc_code_real_type code
+ = tc_cfi_reloc_for_encoding (cie->fde_encoding);
+ if (code != BFD_RELOC_NONE)
+ {
+ reloc_howto_type *howto = bfd_reloc_type_lookup (stdoutput, code);
+ char *p = frag_more (4);
+ md_number_to_chars (p, 0, 4);
+ fix_new (frag_now, p - frag_now->fr_literal, 4, fde->start_address,
+ 0, howto->pc_relative, code);
+ }
+ else
+ {
+ exp.X_op = O_subtract;
+ exp.X_add_number = 0;
#if CFI_DIFF_EXPR_OK
- exp.X_add_symbol = fde->start_address;
- exp.X_op_symbol = symbol_temp_new_now ();
- emit_expr (&exp, DWARF2_FDE_RELOC_SIZE); /* Code offset. */
+ exp.X_add_symbol = fde->start_address;
+ exp.X_op_symbol = symbol_temp_new_now ();
+ emit_expr (&exp, DWARF2_FDE_RELOC_SIZE); /* Code offset. */
#else
- exp.X_op = O_symbol;
- exp.X_add_symbol = fde->start_address;
-#ifdef tc_cfi_emit_pcrel_expr
- tc_cfi_emit_pcrel_expr (&exp, DWARF2_FDE_RELOC_SIZE); /* Code offset. */
+ exp.X_op = O_symbol;
+ exp.X_add_symbol = fde->start_address;
+
+#if defined(tc_cfi_emit_pcrel_expr)
+ tc_cfi_emit_pcrel_expr (&exp, DWARF2_FDE_RELOC_SIZE); /* Code offset. */
#else
- emit_expr (&exp, DWARF2_FDE_RELOC_SIZE); /* Code offset. */
+ emit_expr (&exp, DWARF2_FDE_RELOC_SIZE); /* Code offset. */
#endif
#endif
+ }
addr_size = DWARF2_FDE_RELOC_SIZE;
}
else
{
- exp.X_op = O_symbol;
- exp.X_add_symbol = fde->start_address;
exp.X_add_number = 0;
+ exp.X_add_symbol = fde->start_address;
addr_size = DWARF2_ADDR_SIZE (stdoutput);
emit_expr (&exp, addr_size);
}
@@ -1651,24 +1971,7 @@ output_fde (struct fde_entry *fde, struct cie_entry *cie,
if (eh_frame)
out_uleb128 (augmentation_size); /* Augmentation size. */
- if (fde->lsda_encoding != DW_EH_PE_omit)
- {
- exp = fde->lsda;
- if ((fde->lsda_encoding & 0x70) == DW_EH_PE_pcrel)
- {
-#if CFI_DIFF_LSDA_OK
- exp.X_op = O_subtract;
- exp.X_op_symbol = symbol_temp_new_now ();
- emit_expr (&exp, augmentation_size);
-#elif defined (tc_cfi_emit_pcrel_expr)
- tc_cfi_emit_pcrel_expr (&exp, augmentation_size);
-#else
- abort ();
-#endif
- }
- else
- emit_expr (&exp, augmentation_size);
- }
+ emit_expr_encoded (&fde->lsda, cie->lsda_encoding, FALSE);
for (; first; first = first->next)
if (CUR_SEG (first) == CUR_SEG (fde))
@@ -1862,26 +2165,50 @@ cfi_change_reg_numbers (struct cfi_insn_data *insn, segT ccseg)
#define cfi_change_reg_numbers(insn, cseg) do { } while (0)
#endif
-static segT
-get_cfi_seg (segT cseg, const char *base, flagword flags, int align)
+#if SUPPORT_COMPACT_EH
+static void
+cfi_emit_eh_header (symbolS *sym, bfd_vma addend)
{
- if (SUPPORT_FRAME_LINKONCE)
- {
- struct dwcfi_seg_list *l;
+ expressionS exp;
- l = dwcfi_hash_find_or_make (cseg, base, flags);
+ exp.X_add_number = addend;
+ exp.X_add_symbol = sym;
+ emit_expr_encoded (&exp, DW_EH_PE_sdata4 | DW_EH_PE_pcrel, FALSE);
+}
- cseg = l->seg;
- subseg_set (cseg, l->subseg);
+static void
+output_eh_header (struct fde_entry *fde)
+{
+ char *p;
+ bfd_vma addend;
+
+ if (fde->eh_header_type == EH_COMPACT_INLINE)
+ addend = 0;
+ else
+ addend = 1;
+
+ cfi_emit_eh_header (fde->start_address, addend);
+
+ if (fde->eh_header_type == EH_COMPACT_INLINE)
+ {
+ p = frag_more (4);
+ /* Inline entries always use PR1. */
+ *(p++) = 1;
+ memcpy(p, fde->eh_data, 3);
}
else
{
- cseg = subseg_new (base, 0);
- bfd_set_section_flags (stdoutput, cseg, flags);
+ if (fde->eh_header_type == EH_COMPACT_LEGACY)
+ addend = 1;
+ else if (fde->eh_header_type == EH_COMPACT_OUTLINE
+ || fde->eh_header_type == EH_COMPACT_OUTLINE_DONE)
+ addend = 0;
+ else
+ abort ();
+ cfi_emit_eh_header (fde->eh_loc, addend);
}
- record_alignment (cseg, align);
- return cseg;
}
+#endif
void
cfi_finish (void)
@@ -1895,13 +2222,14 @@ cfi_finish (void)
if (all_fde_data == 0)
return;
- if ((cfi_sections & CFI_EMIT_eh_frame) != 0)
+ if ((all_cfi_sections & CFI_EMIT_eh_frame) != 0
+ || (all_cfi_sections & CFI_EMIT_eh_frame_compact) != 0)
{
/* Make sure check_eh_frame doesn't do anything with our output. */
save_flag_traditional_format = flag_traditional_format;
flag_traditional_format = 1;
- if (!SUPPORT_FRAME_LINKONCE)
+ if (!EH_FRAME_LINKONCE)
{
/* Open .eh_frame section. */
cfi_seg = get_cfi_seg (NULL, ".eh_frame",
@@ -1929,7 +2257,22 @@ cfi_finish (void)
for (fde = all_fde_data; fde ; fde = fde->next)
{
- if (SUPPORT_FRAME_LINKONCE)
+ if ((fde->sections & CFI_EMIT_eh_frame) == 0
+ && (fde->sections & CFI_EMIT_eh_frame_compact) == 0)
+ continue;
+
+#if SUPPORT_COMPACT_EH
+ /* Emit a LEGACY format header if we have processed all
+ of the .cfi directives without encountering either inline or
+ out-of-line compact unwinding opcodes. */
+ if (fde->eh_header_type == EH_COMPACT_HAS_LSDA
+ || fde->eh_header_type == EH_COMPACT_UNKNOWN)
+ fde->eh_header_type = EH_COMPACT_LEGACY;
+
+ if (fde->eh_header_type != EH_COMPACT_LEGACY)
+ continue;
+#endif
+ if (EH_FRAME_LINKONCE)
{
if (HANDLED (fde))
continue;
@@ -1963,20 +2306,108 @@ cfi_finish (void)
}
cie = select_cie_for_fde (fde, TRUE, &first, 2);
+ fde->eh_loc = symbol_temp_new_now ();
output_fde (fde, cie, TRUE, first,
fde->next == NULL ? EH_FRAME_ALIGNMENT : 2);
}
}
- while (SUPPORT_FRAME_LINKONCE && seek_next_seg == 2);
+ while (EH_FRAME_LINKONCE && seek_next_seg == 2);
- if (SUPPORT_FRAME_LINKONCE)
+ if (EH_FRAME_LINKONCE)
for (fde = all_fde_data; fde ; fde = fde->next)
SET_HANDLED (fde, 0);
+#if SUPPORT_COMPACT_EH
+ if (compact_eh)
+ {
+ /* Create remaining out of line table entries. */
+ do
+ {
+ ccseg = NULL;
+ seek_next_seg = 0;
+
+ for (fde = all_fde_data; fde ; fde = fde->next)
+ {
+ if ((fde->sections & CFI_EMIT_eh_frame) == 0
+ && (fde->sections & CFI_EMIT_eh_frame_compact) == 0)
+ continue;
+
+ if (fde->eh_header_type != EH_COMPACT_OUTLINE)
+ continue;
+ if (HANDLED (fde))
+ continue;
+ if (seek_next_seg && CUR_SEG (fde) != ccseg)
+ {
+ seek_next_seg = 2;
+ continue;
+ }
+ if (!seek_next_seg)
+ {
+ ccseg = CUR_SEG (fde);
+ /* Open .gnu_extab section. */
+ get_cfi_seg (ccseg, ".gnu_extab",
+ (SEC_ALLOC | SEC_LOAD | SEC_DATA
+ | DWARF2_EH_FRAME_READ_ONLY),
+ 1);
+ seek_next_seg = 1;
+ }
+ SET_HANDLED (fde, 1);
+
+ frag_align (1, 0, 0);
+ record_alignment (now_seg, 1);
+ output_compact_unwind_data (fde, 1);
+ }
+ }
+ while (EH_FRAME_LINKONCE && seek_next_seg == 2);
+
+ for (fde = all_fde_data; fde ; fde = fde->next)
+ SET_HANDLED (fde, 0);
+
+ /* Create index table fragments. */
+ do
+ {
+ ccseg = NULL;
+ seek_next_seg = 0;
+
+ for (fde = all_fde_data; fde ; fde = fde->next)
+ {
+ if ((fde->sections & CFI_EMIT_eh_frame) == 0
+ && (fde->sections & CFI_EMIT_eh_frame_compact) == 0)
+ continue;
+
+ if (HANDLED (fde))
+ continue;
+ if (seek_next_seg && CUR_SEG (fde) != ccseg)
+ {
+ seek_next_seg = 2;
+ continue;
+ }
+ if (!seek_next_seg)
+ {
+ ccseg = CUR_SEG (fde);
+ /* Open .eh_frame_entry section. */
+ cfi_seg = get_cfi_seg (ccseg, ".eh_frame_entry",
+ (SEC_ALLOC | SEC_LOAD | SEC_DATA
+ | DWARF2_EH_FRAME_READ_ONLY),
+ 2);
+ seek_next_seg = 1;
+ }
+ SET_HANDLED (fde, 1);
+
+ output_eh_header (fde);
+ }
+ }
+ while (seek_next_seg == 2);
+
+ for (fde = all_fde_data; fde ; fde = fde->next)
+ SET_HANDLED (fde, 0);
+ }
+#endif /* SUPPORT_COMPACT_EH */
+
flag_traditional_format = save_flag_traditional_format;
}
- if ((cfi_sections & CFI_EMIT_debug_frame) != 0)
+ if ((all_cfi_sections & CFI_EMIT_debug_frame) != 0)
{
int alignment = ffs (DWARF2_ADDR_SIZE (stdoutput)) - 1;
@@ -1999,6 +2430,9 @@ cfi_finish (void)
for (fde = all_fde_data; fde ; fde = fde->next)
{
+ if ((fde->sections & CFI_EMIT_debug_frame) == 0)
+ continue;
+
if (SUPPORT_FRAME_LINKONCE)
{
if (HANDLED (fde))
@@ -2056,6 +2490,7 @@ const pseudo_typeS cfi_pseudo_table[] =
{ "cfi_sections", dot_cfi_dummy, 0 },
{ "cfi_startproc", dot_cfi_dummy, 0 },
{ "cfi_endproc", dot_cfi_dummy, 0 },
+ { "cfi_fde_data", dot_cfi_dummy, 0 },
{ "cfi_def_cfa", dot_cfi_dummy, 0 },
{ "cfi_def_cfa_register", dot_cfi_dummy, 0 },
{ "cfi_def_cfa_offset", dot_cfi_dummy, 0 },
@@ -2073,9 +2508,11 @@ const pseudo_typeS cfi_pseudo_table[] =
{ "cfi_escape", dot_cfi_dummy, 0 },
{ "cfi_signal_frame", dot_cfi_dummy, 0 },
{ "cfi_personality", dot_cfi_dummy, 0 },
+ { "cfi_personality_id", dot_cfi_dummy, 0 },
{ "cfi_lsda", dot_cfi_dummy, 0 },
{ "cfi_val_encoded_addr", dot_cfi_dummy, 0 },
{ "cfi_label", dot_cfi_dummy, 0 },
+ { "cfi_inline_lsda", dot_cfi_dummy, 0 },
{ NULL, NULL, 0 }
};
diff --git a/gas/dw2gencfi.h b/gas/dw2gencfi.h
index 6e2c50e5143..6acd484c529 100644
--- a/gas/dw2gencfi.h
+++ b/gas/dw2gencfi.h
@@ -36,6 +36,7 @@ extern void cfi_finish (void);
extern void cfi_new_fde (struct symbol *);
extern void cfi_end_fde (struct symbol *);
extern void cfi_set_return_column (unsigned);
+extern void cfi_set_sections (void);
extern void cfi_add_advance_loc (struct symbol *);
extern void cfi_add_label (const char *);
@@ -58,10 +59,18 @@ extern void cfi_add_CFA_restore_state (void);
#define SUPPORT_FRAME_LINKONCE 0
#endif
+#ifdef tc_cfi_reloc_for_encoding
+#define SUPPORT_COMPACT_EH 1
+#else
+#define SUPPORT_COMPACT_EH 0
+#endif
+
+#define MULTIPLE_FRAME_SECTIONS (SUPPORT_FRAME_LINKONCE || SUPPORT_COMPACT_EH)
+
struct cfi_insn_data
{
struct cfi_insn_data *next;
-#if SUPPORT_FRAME_LINKONCE
+#if MULTIPLE_FRAME_SECTIONS
segT cur_seg;
#endif
int insn;
@@ -100,10 +109,35 @@ struct cfi_insn_data
} u;
};
+/* An enumeration describing the Compact EH header format. The least
+ significant bit is used to distinguish the entries.
+
+ Inline Compact: Function offset [0]
+ Four chars of unwind data.
+ Out-of-line Compact: Function offset [1]
+ Compact unwind data offset [0]
+ Legacy: Function offset [1]
+ Unwind data offset [1]
+
+ The header type is initialized to EH_COMPACT_UNKNOWN until the
+ format is discovered by encountering a .fde_data entry.
+ Failure to find a .fde_data entry will cause an EH_COMPACT_LEGACY
+ header to be generated. */
+
+enum {
+ EH_COMPACT_UNKNOWN,
+ EH_COMPACT_LEGACY,
+ EH_COMPACT_INLINE,
+ EH_COMPACT_OUTLINE,
+ EH_COMPACT_OUTLINE_DONE,
+ /* Outline if .cfi_inline_lsda used, otherwise legacy FDE. */
+ EH_COMPACT_HAS_LSDA
+};
+
struct fde_entry
{
struct fde_entry *next;
-#if SUPPORT_FRAME_LINKONCE
+#if MULTIPLE_FRAME_SECTIONS
segT cur_seg;
#endif
symbolS *start_address;
@@ -112,13 +146,21 @@ struct fde_entry
struct cfi_insn_data **last;
unsigned char per_encoding;
unsigned char lsda_encoding;
+ int personality_id;
expressionS personality;
expressionS lsda;
unsigned int return_column;
unsigned int signal_frame;
-#if SUPPORT_FRAME_LINKONCE
+#if MULTIPLE_FRAME_SECTIONS
int handled;
#endif
+ int eh_header_type;
+ /* Compact unwinding opcodes, not including the PR byte or LSDA. */
+ int eh_data_size;
+ bfd_byte *eh_data;
+ /* For out of line tables and FDEs. */
+ symbolS *eh_loc;
+ int sections;
};
/* The list of all FDEs that have been collected. */
@@ -133,4 +175,10 @@ extern struct fde_entry *all_fde_data;
#define CFI_val_encoded_addr 0x105
#define CFI_label 0x106
+/* By default emit .eh_frame only, not .debug_frame. */
+#define CFI_EMIT_eh_frame (1 << 0)
+#define CFI_EMIT_debug_frame (1 << 1)
+#define CFI_EMIT_target (1 << 2)
+#define CFI_EMIT_eh_frame_compact (1 << 3)
+
#endif /* DW2GENCFI_H */
diff --git a/gas/dwarf2dbg.c b/gas/dwarf2dbg.c
index e67c9921668..ecaccc9cc2f 100644
--- a/gas/dwarf2dbg.c
+++ b/gas/dwarf2dbg.c
@@ -1458,7 +1458,8 @@ out_file_list (void)
/* Switch to SEC and output a header length field. Return the size of
offsets used in SEC. The caller must set EXPR->X_add_symbol value
- to the end of the section. */
+ to the end of the section. EXPR->X_add_number will be set to the
+ negative size of the header. */
static int
out_header (asection *sec, expressionS *exp)
@@ -1638,6 +1639,7 @@ static void
out_debug_aranges (segT aranges_seg, segT info_seg)
{
unsigned int addr_size = sizeof_address;
+ offsetT size;
struct line_seg *s;
expressionS exp;
symbolS *aranges_end;
@@ -1646,21 +1648,27 @@ out_debug_aranges (segT aranges_seg, segT info_seg)
sizeof_offset = out_header (aranges_seg, &exp);
aranges_end = exp.X_add_symbol;
+ size = -exp.X_add_number;
/* Version. */
out_two (DWARF2_ARANGES_VERSION);
+ size += 2;
/* Offset to .debug_info. */
TC_DWARF2_EMIT_OFFSET (section_symbol (info_seg), sizeof_offset);
+ size += sizeof_offset;
/* Size of an address (offset portion). */
out_byte (addr_size);
+ size++;
/* Size of a segment descriptor. */
out_byte (0);
+ size++;
/* Align the header. */
- frag_align (ffs (2 * addr_size) - 1, 0, 0);
+ while ((size++ % (2 * addr_size)) > 0)
+ out_byte (0);
for (s = all_segs; s; s = s->next)
{
diff --git a/gas/read.c b/gas/read.c
index 2224c0ed241..816c255bf26 100644
--- a/gas/read.c
+++ b/gas/read.c
@@ -5084,7 +5084,7 @@ output_big_sleb128 (char *p, LITTLENUM_TYPE *bignum, int size)
{
/* Sign-extend VAL. */
if (val & (1 << (loaded - 1)))
- val |= ~0 << loaded;
+ val |= ~0U << loaded;
if (orig)
*p = val & 0x7f;
p++;
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog
index 7f4b81b2e35..e7ab1cf5eca 100644
--- a/gas/testsuite/ChangeLog
+++ b/gas/testsuite/ChangeLog
@@ -1,3 +1,173 @@
+2015-06-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gas/ia64/psn.d: Updated.
+ * gas/ia64/xdata-ilp32.d: Likewise.
+
+2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * gas/mmix/loc-3.d: Updated.
+ * gas/mmix/loc-5.d: Likewise.
+
+2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/18451
+ * gas/elf/elf.exp: Run strtab.
+ * gas/elf/strtab.d: New file.
+ * gas/elf/strtab.s: Likewise.
+
+2015-06-22 Peter Bergner <bergner@vnet.ibm.com>
+
+ * gas/ppc/e6500.s <sync>: Fix invalid test.
+ * gas/ppc/e6500.d: Likewise.
+
+2015-06-22 Nick Clifton <nickc@redhat.com>
+
+ * gas/arm/backslash-at.s: Add extra .byte directives so that the
+ foo symbol does not appear to point half way through an
+ instruction.
+ * gas/arm/backslash-at.d: Update expected disassembly.
+ * gas/i386/ilp32/x86-64-opcode-inval-intel.d: Likewise.
+ * gas/i386/ilp32/x86-64-opcode-inval.d: Likewise.
+ * gas/i386/x86-64-opcode-inval-intel.d: Likewise.
+ * gas/i386/x86-64-opcode-inval.d: Likewise.
+
+2015-06-19 Peter Bergner <bergner@vnet.ibm.com>
+
+ * gas/ppc/power8.d: Fixup rfebb test results.
+ * gas/ppc/a2.s: Fix invalid mfcr test.
+ * gas/ppc/a2.d: Likewise.
+
+2015-06-18 Nick Clifton <nickc@redhat.com>
+
+ PR gas/18541
+ * gas/arm/thumb.s: Add test of ADR against a nearby symbol.
+ * gas/arm/thumb.d: Update expected output.
+ * gas/arm/thumb-eabi.d: Likewise.
+
+2015-06-18 Nick Clifton <nickc@redhat.com>
+
+ PR gas/18481
+ * gas/arm/tls.s: Add tests of the tpoff pseudo with a local
+ symbol.
+ * gas/arm/tls.d: Update expected output.
+
+2015-06-17 Alessandro Marzocchi <alessandro.marzocchi@gmail.com>
+
+ PR gas/18500
+ * gas/arm/vfpv2-ldr_immediate.s: New test case.
+ * gas/arm/vfpv2-ldr_immediate.d: Expected disassembly.
+ * gas/arm/vfpv3-ldr_immediate.s: New test case.
+ * gas/arm/vfpv3-ldr_immediate.d: Expected disassembly.
+ * gas/arm/vfpv3xd-ldr_immediate.s: New test case.
+ * gas/arm/vfpv3xd-ldr_immediate.d: Expected disassembly.
+
+ PR gas/18499
+ * gas/arm/thumb2_ldr_immediate_armv6.s: New test case.
+ * gas/arm/thumb2_ldr_immediate_armv6.d: Expected disassembly.
+ * gas/arm/thumb2_ldr_immediate_armv6t2.s: New test case.
+ * gas/arm/thumb2_ldr_immediate_armv6t2.d: Expected disassembly.
+
+2015-06-16 Matthew Wahab <matthew.wahab@arm.com>
+
+ * sysreg.d: Add id_mmfr4_el1, update expected output.
+ * sysreg.s: Add id_mmfr4_el1.
+
+2015-06-15 Renlin Li <renlin.li@arm.com>
+
+ * gas/aarch64/reloc-insn.s: Update test
+ * gas/aarch64/reloc-insn.d: Update expected result.
+
+2015-06-13 Mark Wielaard <mjw@redhat.com>
+
+ * gas/aarch64/dwarf.d: New.
+ * gas/aarch64/dwarf.s: New.
+
+2015-06-03 Matthew Wahab <matthew.wahab@arm.com>
+
+ * gas/arm/armv8-a+rdma.d: New.
+ * gas/arm/armv8-a+rdma.s: New.
+
+2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
+
+ * gas/arm/armv8-a+pan.d: New.
+ * gas/arm/armv8-a+pan.s: New.
+
+2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
+
+ * gas/aarch64/rdma-directive.d: New.
+ * gas/aarch64/rdma.d: New.
+ * gas/aarch64/rdma.s: New.
+
+2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
+
+ * gas/aarch64/lor-directive.d: New.
+ * gas/aarch64/lor.d: New.
+ * gas/aarch64/lor.s: New
+
+2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
+
+ * gas/aarch64/pan-directive.d: New.
+ * gas/aarch64/pan.d: New.
+ * gas/aarch64/pan.s: New
+
+2015-06-01 Jiong Wang <jiong.wang@arm.com>
+
+ * gas/aarch64/ilp32-basic.s: New testcase.
+ * gas/aarch64/ilp32-basic.d: Ditto.
+
+2015-06-01 Jiong Wang <jiong.wang@arm.com>
+
+ * gas/aarch64/reloc-insn.s: New testcase.
+ * gas/aarch64/reloc-insn.d: Ditto.
+
+2015-06-01 Jan Beulich <jbeulich@suse.com>
+
+ * gas/i386/avx512f.s: Adjust operand order for Intel syntax
+ vcvt{,u}si2ss.
+ * gas/i386/x86-64-avx512f.s: Adjust operand order for Intel
+ syntax vcvt{,u}si2s{d,s}.
+
+2015-06-01 Jan Beulich <jbeulich@suse.com>
+
+ * gas/i386/avx512f-intel.d: Adjust expectations on operand order.
+ * gas/i386/evex-lig256-intel.d: Likewise.
+ * gas/i386/evex-lig512-intel.d: Likewise.
+ * gas/i386/x86-64-avx512f-intel.d: Likewise.
+ * gas/i386/x86-64-evex-lig256-intel.d: Likewise.
+ * gas/i386/x86-64-evex-lig512-intel.d: Likewise.
+
+2015-05-28 Catherine Moore <clm@codesourcery.com>
+ Bernd Schmidt <bernds@codesourcery.com>
+
+ gas/testsuite/
+ * gas/mips/mips.exp: Run new tests.
+
+ * gas/mips/compact-eh-1.s: New file.
+ * gas/mips/compact-eh-2.s: New file.
+ * gas/mips/compact-eh-3.s: New file.
+ * gas/mips/compact-eh-4.s: New file.
+ * gas/mips/compact-eh-5.s: New file.
+ * gas/mips/compact-eh-6.s: New file.
+ * gas/mips/compact-eh-7.s: New file.
+ * gas/mips/compact-eh-eb-1.d: New file.
+ * gas/mips/compact-eh-eb-2.d: New file.
+ * gas/mips/compact-eh-eb-3.d: New file.
+ * gas/mips/compact-eh-eb-4.d: New file.
+ * gas/mips/compact-eh-eb-5.d: New file.
+ * gas/mips/compact-eh-eb-6.d: New file.
+ * gas/mips/compact-eh-eb-7.d: New file.
+ * gas/mips/compact-eh-el-1.d: New file.
+ * gas/mips/compact-eh-el-2.d: New file.
+ * gas/mips/compact-eh-el-3.d: New file.
+ * gas/mips/compact-eh-el-4.d: New file.
+ * gas/mips/compact-eh-el-5.d: New file.
+ * gas/mips/compact-eh-el-6.d: New file.
+ * gas/mips/compact-eh-el-7.d: New file.
+ * gas/mips/compact-eh-err1.l: New file.
+ * gas/mips/compact-eh-err1.s: New file.
+ * gas/mips/compact-eh-err2.l: New file.
+ * gas/mips/compact-eh-err2.s: New file.
+
2015-05-15 H.J. Lu <hongjiu.lu@intel.com>
PR binutis/18386
diff --git a/gas/testsuite/gas/aarch64/dwarf.d b/gas/testsuite/gas/aarch64/dwarf.d
new file mode 100644
index 00000000000..46aa6d06318
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/dwarf.d
@@ -0,0 +1,27 @@
+#readelf: -s --debug-dump=aranges
+#as: -g
+
+Symbol table '.symtab' contains 10 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 2
+ 3: 0000000000000000 0 SECTION LOCAL DEFAULT 3
+ 4: 0000000000000000 0 NOTYPE LOCAL DEFAULT 1 \$x
+ 5: 0000000000000000 0 SECTION LOCAL DEFAULT 6
+ 6: 0000000000000000 0 SECTION LOCAL DEFAULT 8
+ 7: 0000000000000000 0 SECTION LOCAL DEFAULT 4
+ 8: 0000000000000000 0 SECTION LOCAL DEFAULT 9
+ 9: 0000000000000000 8 FUNC GLOBAL DEFAULT 1 testfunc
+Contents of the .debug_aranges section:
+
+ Length: 44
+ Version: 2
+ Offset into .debug_info: 0x0
+ Pointer Size: 8
+ Segment Size: 0
+
+ Address Length
+ 0000000000000000 0000000000000008
+ 0000000000000000 0000000000000000
+
diff --git a/gas/testsuite/gas/aarch64/dwarf.s b/gas/testsuite/gas/aarch64/dwarf.s
new file mode 100644
index 00000000000..6660205ec8f
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/dwarf.s
@@ -0,0 +1,6 @@
+.globl testfunc
+testfunc:
+ nop
+ ret
+.type testfunc, @function
+.size testfunc, .-testfunc
diff --git a/gas/testsuite/gas/aarch64/ilp32-basic.d b/gas/testsuite/gas/aarch64/ilp32-basic.d
index 2e5146a8807..3caef3e040a 100644
--- a/gas/testsuite/gas/aarch64/ilp32-basic.d
+++ b/gas/testsuite/gas/aarch64/ilp32-basic.d
@@ -21,3 +21,5 @@ Disassembly of section \.text:
18: R_AARCH64_P32_LD32_GOT_LO12_NC ptrs
1c: 2a0403e0 mov w0, w4
20: d65f03c0 ret
+ 24: f9400083 ldr x3, \[x4\]
+ 24: R_AARCH64_P32_LD32_GOTPAGE_LO14 ptrs
diff --git a/gas/testsuite/gas/aarch64/ilp32-basic.s b/gas/testsuite/gas/aarch64/ilp32-basic.s
index 790dcdf65c0..ab11ea8aa1e 100644
--- a/gas/testsuite/gas/aarch64/ilp32-basic.s
+++ b/gas/testsuite/gas/aarch64/ilp32-basic.s
@@ -13,5 +13,6 @@ foo:
ldr x3, [x4,#:got_lo12:ptrs]
mov w0, w4
ret
+ ldr x3, [x4,#:gotpage_lo14:ptrs]
.size foo, .-foo
.comm ptrs,12,8
diff --git a/gas/testsuite/gas/aarch64/lor-directive.d b/gas/testsuite/gas/aarch64/lor-directive.d
new file mode 100644
index 00000000000..3238bb96245
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/lor-directive.d
@@ -0,0 +1,25 @@
+#objdump: -dr
+#as: --defsym DIRECTIVE=1
+#source: lor.s
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0000000000000000 <.text>:
+ 0: 889f7c00 stllr w0, \[x0\]
+ 4: c89f7c00 stllr x0, \[x0\]
+ 8: 889f7c01 stllr w1, \[x0\]
+ c: c89f7c22 stllr x2, \[x1\]
+ 10: 489f7c43 stllrh w3, \[x2\]
+ 14: 089f7c64 stllrb w4, \[x3\]
+ 18: 089f7fe5 stllrb w5, \[sp\]
+ 1c: 88df7c00 ldlar w0, \[x0\]
+ 20: c8df7c00 ldlar x0, \[x0\]
+ 24: 88df7c01 ldlar w1, \[x0\]
+ 28: c8df7c22 ldlar x2, \[x1\]
+ 2c: 08df7c43 ldlarb w3, \[x2\]
+ 30: 48df7c64 ldlarh w4, \[x3\]
+ 34: 88df7fe5 ldlar w5, \[sp\]
+
diff --git a/gas/testsuite/gas/aarch64/lor.d b/gas/testsuite/gas/aarch64/lor.d
new file mode 100644
index 00000000000..006983b6614
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/lor.d
@@ -0,0 +1,23 @@
+#objdump: -dr
+#as: -march=armv8-a+lor
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0000000000000000 <.text>:
+ 0: 889f7c00 stllr w0, \[x0\]
+ 4: c89f7c00 stllr x0, \[x0\]
+ 8: 889f7c01 stllr w1, \[x0\]
+ c: c89f7c22 stllr x2, \[x1\]
+ 10: 489f7c43 stllrh w3, \[x2\]
+ 14: 089f7c64 stllrb w4, \[x3\]
+ 18: 089f7fe5 stllrb w5, \[sp\]
+ 1c: 88df7c00 ldlar w0, \[x0\]
+ 20: c8df7c00 ldlar x0, \[x0\]
+ 24: 88df7c01 ldlar w1, \[x0\]
+ 28: c8df7c22 ldlar x2, \[x1\]
+ 2c: 08df7c43 ldlarb w3, \[x2\]
+ 30: 48df7c64 ldlarh w4, \[x3\]
+ 34: 88df7fe5 ldlar w5, \[sp\]
diff --git a/gas/testsuite/gas/aarch64/lor.s b/gas/testsuite/gas/aarch64/lor.s
new file mode 100644
index 00000000000..3d296abef79
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/lor.s
@@ -0,0 +1,43 @@
+/* lor.s Test file for AArch64 LOR extension instructions.
+
+ Copyright (C) 2015 Free Software Foundation, Inc. Contributed by ARM Ltd.
+
+ This file is part of GAS.
+
+ GAS 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.
+
+ GAS 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; see the file COPYING3. If not,
+ see <http://www.gnu.org/licenses/>. */
+
+ .text
+ .ifdef DIRECTIVE
+ .arch_extension lor
+ .endif
+
+ stllr w0, [x0]
+ stllr x0, [x0]
+
+ stllr w1, [x0]
+ stllr x2, [x1]
+ stllrh w3, [x2]
+ stllrb w4, [x3]
+ stllrb w5, [sp]
+
+ ldlar w0, [x0]
+ ldlar x0, [x0]
+
+ ldlar w1, [x0]
+ ldlar x2, [x1]
+ ldlarb w3, [x2]
+ ldlarh w4, [x3]
+ ldlar w5, [sp]
+
diff --git a/gas/testsuite/gas/aarch64/pan-directive.d b/gas/testsuite/gas/aarch64/pan-directive.d
new file mode 100644
index 00000000000..704f7a36b0c
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/pan-directive.d
@@ -0,0 +1,13 @@
+#objdump: -dr
+#as: --defsym DIRECTIVE=1
+#source: pan.s
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+0000000000000000 <.*>:
+ 0: d500419f msr pan, #0x1
+ 4: d500409f msr pan, #0x0
+ 8: d5184260 msr pan, x0
+ c: d5384261 mrs x1, pan
diff --git a/gas/testsuite/gas/aarch64/pan.d b/gas/testsuite/gas/aarch64/pan.d
new file mode 100644
index 00000000000..db1fd02725b
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/pan.d
@@ -0,0 +1,12 @@
+#objdump: -dr
+#as: -march=armv8-a+pan
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+0000000000000000 <.*>:
+ 0: d500419f msr pan, #0x1
+ 4: d500409f msr pan, #0x0
+ 8: d5184260 msr pan, x0
+ c: d5384261 mrs x1, pan
diff --git a/gas/testsuite/gas/aarch64/pan.s b/gas/testsuite/gas/aarch64/pan.s
new file mode 100644
index 00000000000..059046cd8aa
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/pan.s
@@ -0,0 +1,34 @@
+/* pan.s Test file for AArch64 PAN instructions.
+
+ Copyright (C) 2015 Free Software Foundation, Inc.
+ Contributed by ARM Ltd.
+
+ This file is part of GAS.
+
+ GAS 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.
+
+ GAS 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; see the file COPYING3. If not,
+ see <http://www.gnu.org/licenses/>. */
+
+
+ .text
+ .ifdef DIRECTIVE
+ .arch_extension pan
+ .endif
+
+ msr pan, #1
+ msr pan, #0
+
+ msr pan, x0
+ mrs x1, pan
+
+ .arch_extension nopan
diff --git a/gas/testsuite/gas/aarch64/rdma-directive.d b/gas/testsuite/gas/aarch64/rdma-directive.d
new file mode 100644
index 00000000000..bd2e818d0e6
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/rdma-directive.d
@@ -0,0 +1,70 @@
+#objdump: -dr
+#as: --defsym DIRECTIVE=1
+#source: rdma.s
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0000000000000000 <.*>:
+ 0: 2e428420 sqrdmlah v0\.4h, v1\.4h, v2\.4h
+ 4: 6e428420 sqrdmlah v0\.8h, v1\.8h, v2\.8h
+ 8: 2e828420 sqrdmlah v0\.2s, v1\.2s, v2\.2s
+ c: 6e828420 sqrdmlah v0\.4s, v1\.4s, v2\.4s
+ 10: 2e428c20 sqrdmlsh v0\.4h, v1\.4h, v2\.4h
+ 14: 6e428c20 sqrdmlsh v0\.8h, v1\.8h, v2\.8h
+ 18: 2e828c20 sqrdmlsh v0\.2s, v1\.2s, v2\.2s
+ 1c: 6e828c20 sqrdmlsh v0\.4s, v1\.4s, v2\.4s
+ 20: 7e828420 sqrdmlah s0, s1, s2
+ 24: 7e428420 sqrdmlah h0, h1, h2
+ 28: 7e828c20 sqrdmlsh s0, s1, s2
+ 2c: 7e428c20 sqrdmlsh h0, h1, h2
+ 30: 2f42d020 sqrdmlah v0\.4h, v1\.4h, v2\.h\[0\]
+ 34: 2f52d020 sqrdmlah v0\.4h, v1\.4h, v2\.h\[1\]
+ 38: 2f62d020 sqrdmlah v0\.4h, v1\.4h, v2\.h\[2\]
+ 3c: 2f72d020 sqrdmlah v0\.4h, v1\.4h, v2\.h\[3\]
+ 40: 6f42d020 sqrdmlah v0\.8h, v1\.8h, v2\.h\[0\]
+ 44: 6f52d020 sqrdmlah v0\.8h, v1\.8h, v2\.h\[1\]
+ 48: 6f62d020 sqrdmlah v0\.8h, v1\.8h, v2\.h\[2\]
+ 4c: 6f72d020 sqrdmlah v0\.8h, v1\.8h, v2\.h\[3\]
+ 50: 2f82d020 sqrdmlah v0\.2s, v1\.2s, v2\.s\[0\]
+ 54: 2fa2d020 sqrdmlah v0\.2s, v1\.2s, v2\.s\[1\]
+ 58: 2f82d820 sqrdmlah v0\.2s, v1\.2s, v2\.s\[2\]
+ 5c: 2fa2d820 sqrdmlah v0\.2s, v1\.2s, v2\.s\[3\]
+ 60: 6f82d020 sqrdmlah v0\.4s, v1\.4s, v2\.s\[0\]
+ 64: 6fa2d020 sqrdmlah v0\.4s, v1\.4s, v2\.s\[1\]
+ 68: 6f82d820 sqrdmlah v0\.4s, v1\.4s, v2\.s\[2\]
+ 6c: 6fa2d820 sqrdmlah v0\.4s, v1\.4s, v2\.s\[3\]
+ 70: 2f42f020 sqrdmlsh v0\.4h, v1\.4h, v2\.h\[0\]
+ 74: 2f52f020 sqrdmlsh v0\.4h, v1\.4h, v2\.h\[1\]
+ 78: 2f62f020 sqrdmlsh v0\.4h, v1\.4h, v2\.h\[2\]
+ 7c: 2f72f020 sqrdmlsh v0\.4h, v1\.4h, v2\.h\[3\]
+ 80: 6f42f020 sqrdmlsh v0\.8h, v1\.8h, v2\.h\[0\]
+ 84: 6f52f020 sqrdmlsh v0\.8h, v1\.8h, v2\.h\[1\]
+ 88: 6f62f020 sqrdmlsh v0\.8h, v1\.8h, v2\.h\[2\]
+ 8c: 6f72f020 sqrdmlsh v0\.8h, v1\.8h, v2\.h\[3\]
+ 90: 2f82f020 sqrdmlsh v0\.2s, v1\.2s, v2\.s\[0\]
+ 94: 2fa2f020 sqrdmlsh v0\.2s, v1\.2s, v2\.s\[1\]
+ 98: 2f82f820 sqrdmlsh v0\.2s, v1\.2s, v2\.s\[2\]
+ 9c: 2fa2f820 sqrdmlsh v0\.2s, v1\.2s, v2\.s\[3\]
+ a0: 6f82f020 sqrdmlsh v0\.4s, v1\.4s, v2\.s\[0\]
+ a4: 6fa2f020 sqrdmlsh v0\.4s, v1\.4s, v2\.s\[1\]
+ a8: 6f82f820 sqrdmlsh v0\.4s, v1\.4s, v2\.s\[2\]
+ ac: 6fa2f820 sqrdmlsh v0\.4s, v1\.4s, v2\.s\[3\]
+ b0: 7f42d020 sqrdmlah h0, h1, v2\.h\[0\]
+ b4: 7f52d020 sqrdmlah h0, h1, v2\.h\[1\]
+ b8: 7f62d020 sqrdmlah h0, h1, v2\.h\[2\]
+ bc: 7f72d020 sqrdmlah h0, h1, v2\.h\[3\]
+ c0: 7f82d020 sqrdmlah s0, s1, v2\.s\[0\]
+ c4: 7fa2d020 sqrdmlah s0, s1, v2\.s\[1\]
+ c8: 7f82d820 sqrdmlah s0, s1, v2\.s\[2\]
+ cc: 7fa2d820 sqrdmlah s0, s1, v2\.s\[3\]
+ d0: 7f42f020 sqrdmlsh h0, h1, v2\.h\[0\]
+ d4: 7f52f020 sqrdmlsh h0, h1, v2\.h\[1\]
+ d8: 7f62f020 sqrdmlsh h0, h1, v2\.h\[2\]
+ dc: 7f72f020 sqrdmlsh h0, h1, v2\.h\[3\]
+ e0: 7f82f020 sqrdmlsh s0, s1, v2\.s\[0\]
+ e4: 7fa2f020 sqrdmlsh s0, s1, v2\.s\[1\]
+ e8: 7f82f820 sqrdmlsh s0, s1, v2\.s\[2\]
+ ec: 7fa2f820 sqrdmlsh s0, s1, v2\.s\[3\]
diff --git a/gas/testsuite/gas/aarch64/rdma.d b/gas/testsuite/gas/aarch64/rdma.d
new file mode 100644
index 00000000000..2ffde68816f
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/rdma.d
@@ -0,0 +1,69 @@
+#objdump: -dr
+#as: -march=armv8-a+rdma
+
+.*: file format .*
+
+
+Disassembly of section \.text:
+
+0000000000000000 <.*>:
+ 0: 2e428420 sqrdmlah v0\.4h, v1\.4h, v2\.4h
+ 4: 6e428420 sqrdmlah v0\.8h, v1\.8h, v2\.8h
+ 8: 2e828420 sqrdmlah v0\.2s, v1\.2s, v2\.2s
+ c: 6e828420 sqrdmlah v0\.4s, v1\.4s, v2\.4s
+ 10: 2e428c20 sqrdmlsh v0\.4h, v1\.4h, v2\.4h
+ 14: 6e428c20 sqrdmlsh v0\.8h, v1\.8h, v2\.8h
+ 18: 2e828c20 sqrdmlsh v0\.2s, v1\.2s, v2\.2s
+ 1c: 6e828c20 sqrdmlsh v0\.4s, v1\.4s, v2\.4s
+ 20: 7e828420 sqrdmlah s0, s1, s2
+ 24: 7e428420 sqrdmlah h0, h1, h2
+ 28: 7e828c20 sqrdmlsh s0, s1, s2
+ 2c: 7e428c20 sqrdmlsh h0, h1, h2
+ 30: 2f42d020 sqrdmlah v0\.4h, v1\.4h, v2\.h\[0\]
+ 34: 2f52d020 sqrdmlah v0\.4h, v1\.4h, v2\.h\[1\]
+ 38: 2f62d020 sqrdmlah v0\.4h, v1\.4h, v2\.h\[2\]
+ 3c: 2f72d020 sqrdmlah v0\.4h, v1\.4h, v2\.h\[3\]
+ 40: 6f42d020 sqrdmlah v0\.8h, v1\.8h, v2\.h\[0\]
+ 44: 6f52d020 sqrdmlah v0\.8h, v1\.8h, v2\.h\[1\]
+ 48: 6f62d020 sqrdmlah v0\.8h, v1\.8h, v2\.h\[2\]
+ 4c: 6f72d020 sqrdmlah v0\.8h, v1\.8h, v2\.h\[3\]
+ 50: 2f82d020 sqrdmlah v0\.2s, v1\.2s, v2\.s\[0\]
+ 54: 2fa2d020 sqrdmlah v0\.2s, v1\.2s, v2\.s\[1\]
+ 58: 2f82d820 sqrdmlah v0\.2s, v1\.2s, v2\.s\[2\]
+ 5c: 2fa2d820 sqrdmlah v0\.2s, v1\.2s, v2\.s\[3\]
+ 60: 6f82d020 sqrdmlah v0\.4s, v1\.4s, v2\.s\[0\]
+ 64: 6fa2d020 sqrdmlah v0\.4s, v1\.4s, v2\.s\[1\]
+ 68: 6f82d820 sqrdmlah v0\.4s, v1\.4s, v2\.s\[2\]
+ 6c: 6fa2d820 sqrdmlah v0\.4s, v1\.4s, v2\.s\[3\]
+ 70: 2f42f020 sqrdmlsh v0\.4h, v1\.4h, v2\.h\[0\]
+ 74: 2f52f020 sqrdmlsh v0\.4h, v1\.4h, v2\.h\[1\]
+ 78: 2f62f020 sqrdmlsh v0\.4h, v1\.4h, v2\.h\[2\]
+ 7c: 2f72f020 sqrdmlsh v0\.4h, v1\.4h, v2\.h\[3\]
+ 80: 6f42f020 sqrdmlsh v0\.8h, v1\.8h, v2\.h\[0\]
+ 84: 6f52f020 sqrdmlsh v0\.8h, v1\.8h, v2\.h\[1\]
+ 88: 6f62f020 sqrdmlsh v0\.8h, v1\.8h, v2\.h\[2\]
+ 8c: 6f72f020 sqrdmlsh v0\.8h, v1\.8h, v2\.h\[3\]
+ 90: 2f82f020 sqrdmlsh v0\.2s, v1\.2s, v2\.s\[0\]
+ 94: 2fa2f020 sqrdmlsh v0\.2s, v1\.2s, v2\.s\[1\]
+ 98: 2f82f820 sqrdmlsh v0\.2s, v1\.2s, v2\.s\[2\]
+ 9c: 2fa2f820 sqrdmlsh v0\.2s, v1\.2s, v2\.s\[3\]
+ a0: 6f82f020 sqrdmlsh v0\.4s, v1\.4s, v2\.s\[0\]
+ a4: 6fa2f020 sqrdmlsh v0\.4s, v1\.4s, v2\.s\[1\]
+ a8: 6f82f820 sqrdmlsh v0\.4s, v1\.4s, v2\.s\[2\]
+ ac: 6fa2f820 sqrdmlsh v0\.4s, v1\.4s, v2\.s\[3\]
+ b0: 7f42d020 sqrdmlah h0, h1, v2\.h\[0\]
+ b4: 7f52d020 sqrdmlah h0, h1, v2\.h\[1\]
+ b8: 7f62d020 sqrdmlah h0, h1, v2\.h\[2\]
+ bc: 7f72d020 sqrdmlah h0, h1, v2\.h\[3\]
+ c0: 7f82d020 sqrdmlah s0, s1, v2\.s\[0\]
+ c4: 7fa2d020 sqrdmlah s0, s1, v2\.s\[1\]
+ c8: 7f82d820 sqrdmlah s0, s1, v2\.s\[2\]
+ cc: 7fa2d820 sqrdmlah s0, s1, v2\.s\[3\]
+ d0: 7f42f020 sqrdmlsh h0, h1, v2\.h\[0\]
+ d4: 7f52f020 sqrdmlsh h0, h1, v2\.h\[1\]
+ d8: 7f62f020 sqrdmlsh h0, h1, v2\.h\[2\]
+ dc: 7f72f020 sqrdmlsh h0, h1, v2\.h\[3\]
+ e0: 7f82f020 sqrdmlsh s0, s1, v2\.s\[0\]
+ e4: 7fa2f020 sqrdmlsh s0, s1, v2\.s\[1\]
+ e8: 7f82f820 sqrdmlsh s0, s1, v2\.s\[2\]
+ ec: 7fa2f820 sqrdmlsh s0, s1, v2\.s\[3\]
diff --git a/gas/testsuite/gas/aarch64/rdma.s b/gas/testsuite/gas/aarch64/rdma.s
new file mode 100644
index 00000000000..7dbf9141625
--- /dev/null
+++ b/gas/testsuite/gas/aarch64/rdma.s
@@ -0,0 +1,78 @@
+/* rdma.s Test file for AArch64 v8.1 Advanced-SIMD instructions.
+
+ Copyright (C) 2012-2015 Free Software Foundation, Inc. Contributed by ARM Ltd.
+
+ This file is part of GAS.
+
+ GAS 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.
+
+ GAS 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; see the file COPYING3. If not,
+ see <http://www.gnu.org/licenses/>. */
+
+
+ .text
+ .ifdef DIRECTIVE
+ .arch_extension rdma
+ .endif
+
+ .macro vect_inst I T
+ \I v0.\()\T, v1.\()\T, v2.\()\T
+ .endm
+
+ .text
+ .irp inst, sqrdmlah, sqrdmlsh
+ .irp type, 4h, 8h, 2s, 4s
+ vect_inst \inst \type
+ .endr
+ .endr
+
+ .macro scalar_inst I R
+ \I \R\()0, \R\()1, \R\()2
+ .endm
+
+ .text
+ .irp inst, sqrdmlah, sqrdmlsh
+ .irp reg, s,h
+ scalar_inst \inst \reg
+ .endr
+ .endr
+
+ .macro vect_indexed_inst I S T N
+ \I v0.\S\T, v1.\S\T, v2.\T[\N]
+ .endm
+
+ .text
+ .irp inst, sqrdmlah, sqrdmlsh
+ .irp size, 4, 8
+ .irp index 0,1,2,3
+ vect_indexed_inst \inst \size h \index
+ .endr
+ .endr
+ .irp size, 2, 4
+ .irp index 0,1,2,3
+ vect_indexed_inst \inst \size s \index
+ .endr
+ .endr
+ .endr
+
+ .macro scalar_indexed_inst I T N
+ \I \T\()0, \T\()1, v2.\T[\N]
+ .endm
+
+ .text
+ .irp inst, sqrdmlah, sqrdmlsh
+ .irp type h,s
+ .irp index 0,1,2,3
+ scalar_indexed_inst \inst \type \index
+ .endr
+ .endr
+ .endr
diff --git a/gas/testsuite/gas/aarch64/reloc-insn.d b/gas/testsuite/gas/aarch64/reloc-insn.d
index a9aa0978884..cee9ea56586 100644
--- a/gas/testsuite/gas/aarch64/reloc-insn.d
+++ b/gas/testsuite/gas/aarch64/reloc-insn.d
@@ -37,12 +37,12 @@ Disassembly of section \.text:
5c: f2d75301 movk x1, #0xba98, lsl #32
60: f2aeca81 movk x1, #0x7654, lsl #16
64: f2864201 movk x1, #0x3210
- 68: 58000960 ldr x0, 194 <llit>
+ 68: 580009a0 ldr x0, 19c <llit>
6c: 58000001 ldr x1, 0 <func>
6c: R_AARCH64_LD_PREL_LO19 \.data\+0x8
70: 58000002 ldr x2, 0 <xdata>
70: R_AARCH64_LD_PREL_LO19 xdata\+0xc
- 74: 10000900 adr x0, 194 <llit>
+ 74: 10000940 adr x0, 19c <llit>
78: 10000001 adr x1, 0 <func>
78: R_AARCH64_ADR_PREL_LO21 \.data\+0x8
7c: 10000002 adr x2, 0 <func>
@@ -54,7 +54,7 @@ Disassembly of section \.text:
88: 10000005 adr x5, 0 <xdata>
88: R_AARCH64_ADR_PREL_LO21 xdata\+0xff8
8c: 90000000 adrp x0, 0 <func>
- 8c: R_AARCH64_ADR_PREL_PG_HI21 \.text\+0x194
+ 8c: R_AARCH64_ADR_PREL_PG_HI21 \.text\+0x19c
90: 90000001 adrp x1, 0 <func>
90: R_AARCH64_ADR_PREL_PG_HI21 \.data\+0x8
94: 90000002 adrp x2, 0 <func>
@@ -66,7 +66,7 @@ Disassembly of section \.text:
a0: 90000005 adrp x5, 0 <xdata>
a0: R_AARCH64_ADR_PREL_PG_HI21 xdata\+0xff8
a4: 90000000 adrp x0, 0 <func>
- a4: R_AARCH64_ADR_PREL_PG_HI21 \.text\+0x194
+ a4: R_AARCH64_ADR_PREL_PG_HI21 \.text\+0x19c
a8: 90000001 adrp x1, 0 <func>
a8: R_AARCH64_ADR_PREL_PG_HI21 \.data\+0x8
ac: 90000002 adrp x2, 0 <func>
@@ -78,7 +78,7 @@ Disassembly of section \.text:
b8: 90000005 adrp x5, 0 <xdata>
b8: R_AARCH64_ADR_PREL_PG_HI21 xdata\+0xff8
bc: 91000000 add x0, x0, #0x0
- bc: R_AARCH64_ADD_ABS_LO12_NC \.text\+0x194
+ bc: R_AARCH64_ADD_ABS_LO12_NC \.text\+0x19c
c0: 91000021 add x1, x1, #0x0
c0: R_AARCH64_ADD_ABS_LO12_NC \.data\+0x8
c4: 91000042 add x2, x2, #0x0
@@ -91,7 +91,7 @@ Disassembly of section \.text:
d0: R_AARCH64_ADD_ABS_LO12_NC xdata\+0xff8
d4: 913ffcc6 add x6, x6, #0xfff
d8: 39400000 ldrb w0, \[x0\]
- d8: R_AARCH64_LDST8_ABS_LO12_NC \.text\+0x194
+ d8: R_AARCH64_LDST8_ABS_LO12_NC \.text\+0x19c
dc: 39400021 ldrb w1, \[x1\]
dc: R_AARCH64_LDST8_ABS_LO12_NC \.data\+0x8
e0: 39400042 ldrb w2, \[x2\]
@@ -103,22 +103,22 @@ Disassembly of section \.text:
ec: 394000a5 ldrb w5, \[x5\]
ec: R_AARCH64_LDST8_ABS_LO12_NC xdata\+0xff8
f0: 397ffcc6 ldrb w6, \[x6,#4095\]
- f4: 36000520 tbz w0, #0, 198 <lab>
+ f4: 36000560 tbz w0, #0, 1a0 <lab>
f8: b6f80001 tbz x1, #63, 0 <xlab>
f8: R_AARCH64_TSTBR14 xlab
- fc: 374004e2 tbnz w2, #8, 198 <lab>
+ fc: 37400522 tbnz w2, #8, 1a0 <lab>
100: b7780002 tbnz x2, #47, 0 <xlab>
100: R_AARCH64_TSTBR14 xlab
- 104: 540004a0 b\.eq 198 <lab>
+ 104: 540004e0 b\.eq 1a0 <lab>
108: 54000000 b\.eq 0 <xlab>
108: R_AARCH64_CONDBR19 xlab
- 10c: b4000460 cbz x0, 198 <lab>
+ 10c: b40004a0 cbz x0, 1a0 <lab>
110: b500001e cbnz x30, 0 <xlab>
110: R_AARCH64_CONDBR19 xlab
- 114: 14000021 b 198 <lab>
+ 114: 14000023 b 1a0 <lab>
118: 14000000 b 0 <xlab>
118: R_AARCH64_JUMP26 xlab
- 11c: 9400001f bl 198 <lab>
+ 11c: 94000021 bl 1a0 <lab>
120: 94000000 bl 0 <xlab>
120: R_AARCH64_CALL26 xlab
124: d2e24680 mov x0, #0x1234000000000000 // #1311673391471656960
@@ -142,7 +142,7 @@ Disassembly of section \.text:
16c: f8500020 ldur x0, \[x1,#-256\]
170: f97ffc20 ldr x0, \[x1,#32760\]
174: 79400000 ldrh w0, \[x0\]
- 174: R_AARCH64_LDST16_ABS_LO12_NC \.text\+0x194
+ 174: R_AARCH64_LDST16_ABS_LO12_NC \.text\+0x19c
178: b9400021 ldr w1, \[x1\]
178: R_AARCH64_LDST32_ABS_LO12_NC \.data\+0x8
17c: f9400042 ldr x2, \[x2\]
@@ -155,6 +155,10 @@ Disassembly of section \.text:
188: R_AARCH64_GOT_LD_PREL19 cdata
18c: 39400001 ldrb w1, \[x0\]
190: d65f03c0 ret
+ 194: f94001bc ldr x28, \[x13\]
+ 194: R_AARCH64_LD64_GOTPAGE_LO15 \.data
+ 198: f9400000 ldr x0, \[x0\]
+ 198: R_AARCH64_LD64_GOTOFF_LO15 .data
-0000000000000194 <llit>:
- 194: deadf00d \.word 0xdeadf00d
+000000000000019c <llit>:
+ 19c: deadf00d \.word 0xdeadf00d
diff --git a/gas/testsuite/gas/aarch64/reloc-insn.s b/gas/testsuite/gas/aarch64/reloc-insn.s
index 99ca9659de0..47c59d2aae1 100644
--- a/gas/testsuite/gas/aarch64/reloc-insn.s
+++ b/gas/testsuite/gas/aarch64/reloc-insn.s
@@ -183,6 +183,11 @@ func:
ret
+ // BFD_RELOC_AARCH64_LD64_GOTPAGE_LO15
+ ldr x28, [x13, #:gotpage_lo15:dummy]
+ // BFD_RELOC_AARCH64_LD64_GOTOFF_LO15
+ ldr x0, [x0, #:gotoff_lo15:dummy]
+
llit: .word 0xdeadf00d
lab:
diff --git a/gas/testsuite/gas/aarch64/sysreg.d b/gas/testsuite/gas/aarch64/sysreg.d
index 7795b4dd30e..157340cd5a1 100644
--- a/gas/testsuite/gas/aarch64/sysreg.d
+++ b/gas/testsuite/gas/aarch64/sysreg.d
@@ -17,14 +17,15 @@ Disassembly of section \.text:
24: d53801a0 mrs x0, id_mmfr1_el1
28: d53801c0 mrs x0, id_mmfr2_el1
2c: d53801e0 mrs x0, id_mmfr3_el1
- 30: d5380200 mrs x0, id_isar0_el1
- 34: d5380220 mrs x0, id_isar1_el1
- 38: d5380240 mrs x0, id_isar2_el1
- 3c: d5380260 mrs x0, id_isar3_el1
- 40: d5380280 mrs x0, id_isar4_el1
- 44: d53802a0 mrs x0, id_isar5_el1
- 48: d538cc00 mrs x0, s3_0_c12_c12_0
- 4c: d5384600 mrs x0, s3_0_c4_c6_0
- 50: d5184600 msr s3_0_c4_c6_0, x0
- 54: d5310300 mrs x0, s2_1_c0_c3_0
- 58: d5110300 msr s2_1_c0_c3_0, x0
+ 30: d53802c0 mrs x0, id_mmfr4_el1
+ 34: d5380200 mrs x0, id_isar0_el1
+ 38: d5380220 mrs x0, id_isar1_el1
+ 3c: d5380240 mrs x0, id_isar2_el1
+ 40: d5380260 mrs x0, id_isar3_el1
+ 44: d5380280 mrs x0, id_isar4_el1
+ 48: d53802a0 mrs x0, id_isar5_el1
+ 4c: d538cc00 mrs x0, s3_0_c12_c12_0
+ 50: d5384600 mrs x0, s3_0_c4_c6_0
+ 54: d5184600 msr s3_0_c4_c6_0, x0
+ 58: d5310300 mrs x0, s2_1_c0_c3_0
+ 5c: d5110300 msr s2_1_c0_c3_0, x0
diff --git a/gas/testsuite/gas/aarch64/sysreg.s b/gas/testsuite/gas/aarch64/sysreg.s
index b7e5ff6ca1f..897467409c4 100644
--- a/gas/testsuite/gas/aarch64/sysreg.s
+++ b/gas/testsuite/gas/aarch64/sysreg.s
@@ -16,6 +16,7 @@
mrs x0, id_mmfr1_el1
mrs x0, id_mmfr2_el1
mrs x0, id_mmfr3_el1
+ mrs x0, id_mmfr4_el1
mrs x0, id_isar0_el1
mrs x0, id_isar1_el1
mrs x0, id_isar2_el1
diff --git a/gas/testsuite/gas/arm/armv8-a+pan.d b/gas/testsuite/gas/arm/armv8-a+pan.d
new file mode 100644
index 00000000000..2005260bfef
--- /dev/null
+++ b/gas/testsuite/gas/arm/armv8-a+pan.d
@@ -0,0 +1,11 @@
+#name: Valid v8-a+pan
+#objdump: -dr --prefix-addresses --show-raw-insn
+
+.*: +file format .*arm.*
+
+
+Disassembly of section .text:
+0[0-9a-f]+ <.*> f1100000 setpan #0
+0[0-9a-f]+ <.*> f1100200 setpan #1
+0[0-9a-f]+ <.*> b610 setpan #0
+0[0-9a-f]+ <.*> b618 setpan #1 \ No newline at end of file
diff --git a/gas/testsuite/gas/arm/armv8-a+pan.s b/gas/testsuite/gas/arm/armv8-a+pan.s
new file mode 100644
index 00000000000..f2ed60b21e8
--- /dev/null
+++ b/gas/testsuite/gas/arm/armv8-a+pan.s
@@ -0,0 +1,14 @@
+ .syntax unified
+ .arch armv8-a
+ .arch_extension pan
+
+A1:
+ .arm
+ setpan #0
+ setpan #1
+
+T1:
+ .thumb
+ setpan #0
+ setpan #1
+
diff --git a/gas/testsuite/gas/arm/armv8-a+rdma.d b/gas/testsuite/gas/arm/armv8-a+rdma.d
new file mode 100644
index 00000000000..3242b53e390
--- /dev/null
+++ b/gas/testsuite/gas/arm/armv8-a+rdma.d
@@ -0,0 +1,77 @@
+#name: Valid v8-a+rdma
+#objdump: -dr
+#skip: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd
+
+.*: +file format .*arm.*
+
+
+Disassembly of section .text:
+
+00000000 <.*>:
+ 0: f3110b12 vqrdmlah.s16 d0, d1, d2
+ 4: f3120b54 vqrdmlah.s16 q0, q1, q2
+ 8: f3210b12 vqrdmlah.s32 d0, d1, d2
+ c: f3220b54 vqrdmlah.s32 q0, q1, q2
+ 10: f3110c12 vqrdmlsh.s16 d0, d1, d2
+ 14: f3120c54 vqrdmlsh.s16 q0, q1, q2
+ 18: f3210c12 vqrdmlsh.s32 d0, d1, d2
+ 1c: f3220c54 vqrdmlsh.s32 q0, q1, q2
+ 20: f2910e42 vqrdmlah.s16 d0, d1, d2\[0\]
+ 24: f2910e4a vqrdmlah.s16 d0, d1, d2\[1\]
+ 28: f2910e62 vqrdmlah.s16 d0, d1, d2\[2\]
+ 2c: f2910e6a vqrdmlah.s16 d0, d1, d2\[3\]
+ 30: f3920e42 vqrdmlah.s16 q0, q1, d2\[0\]
+ 34: f3920e4a vqrdmlah.s16 q0, q1, d2\[1\]
+ 38: f3920e62 vqrdmlah.s16 q0, q1, d2\[2\]
+ 3c: f3920e6a vqrdmlah.s16 q0, q1, d2\[3\]
+ 40: f2a10e42 vqrdmlah.s32 d0, d1, d2\[0\]
+ 44: f2a10e62 vqrdmlah.s32 d0, d1, d2\[1\]
+ 48: f3a20e42 vqrdmlah.s32 q0, q1, d2\[0\]
+ 4c: f3a20e62 vqrdmlah.s32 q0, q1, d2\[1\]
+ 50: f2910f42 vqrdmlsh.s16 d0, d1, d2\[0\]
+ 54: f2910f4a vqrdmlsh.s16 d0, d1, d2\[1\]
+ 58: f2910f62 vqrdmlsh.s16 d0, d1, d2\[2\]
+ 5c: f2910f6a vqrdmlsh.s16 d0, d1, d2\[3\]
+ 60: f3920f42 vqrdmlsh.s16 q0, q1, d2\[0\]
+ 64: f3920f4a vqrdmlsh.s16 q0, q1, d2\[1\]
+ 68: f3920f62 vqrdmlsh.s16 q0, q1, d2\[2\]
+ 6c: f3920f6a vqrdmlsh.s16 q0, q1, d2\[3\]
+ 70: f2a10f42 vqrdmlsh.s32 d0, d1, d2\[0\]
+ 74: f2a10f62 vqrdmlsh.s32 d0, d1, d2\[1\]
+ 78: f3a20f42 vqrdmlsh.s32 q0, q1, d2\[0\]
+ 7c: f3a20f62 vqrdmlsh.s32 q0, q1, d2\[1\]
+
+00000080 <.*>:
+ 80: ff11 0b12 vqrdmlah.s16 d0, d1, d2
+ 84: ff12 0b54 vqrdmlah.s16 q0, q1, q2
+ 88: ff21 0b12 vqrdmlah.s32 d0, d1, d2
+ 8c: ff22 0b54 vqrdmlah.s32 q0, q1, q2
+ 90: ff11 0c12 vqrdmlsh.s16 d0, d1, d2
+ 94: ff12 0c54 vqrdmlsh.s16 q0, q1, q2
+ 98: ff21 0c12 vqrdmlsh.s32 d0, d1, d2
+ 9c: ff22 0c54 vqrdmlsh.s32 q0, q1, q2
+ a0: ef91 0e42 vqrdmlah.s16 d0, d1, d2\[0\]
+ a4: ef91 0e4a vqrdmlah.s16 d0, d1, d2\[1\]
+ a8: ef91 0e62 vqrdmlah.s16 d0, d1, d2\[2\]
+ ac: ef91 0e6a vqrdmlah.s16 d0, d1, d2\[3\]
+ b0: ff92 0e42 vqrdmlah.s16 q0, q1, d2\[0\]
+ b4: ff92 0e4a vqrdmlah.s16 q0, q1, d2\[1\]
+ b8: ff92 0e62 vqrdmlah.s16 q0, q1, d2\[2\]
+ bc: ff92 0e6a vqrdmlah.s16 q0, q1, d2\[3\]
+ c0: efa1 0e42 vqrdmlah.s32 d0, d1, d2\[0\]
+ c4: efa1 0e62 vqrdmlah.s32 d0, d1, d2\[1\]
+ c8: ffa2 0e42 vqrdmlah.s32 q0, q1, d2\[0\]
+ cc: ffa2 0e62 vqrdmlah.s32 q0, q1, d2\[1\]
+ d0: ef91 0f42 vqrdmlsh.s16 d0, d1, d2\[0\]
+ d4: ef91 0f4a vqrdmlsh.s16 d0, d1, d2\[1\]
+ d8: ef91 0f62 vqrdmlsh.s16 d0, d1, d2\[2\]
+ dc: ef91 0f6a vqrdmlsh.s16 d0, d1, d2\[3\]
+ e0: ff92 0f42 vqrdmlsh.s16 q0, q1, d2\[0\]
+ e4: ff92 0f4a vqrdmlsh.s16 q0, q1, d2\[1\]
+ e8: ff92 0f62 vqrdmlsh.s16 q0, q1, d2\[2\]
+ ec: ff92 0f6a vqrdmlsh.s16 q0, q1, d2\[3\]
+ f0: efa1 0f42 vqrdmlsh.s32 d0, d1, d2\[0\]
+ f4: efa1 0f62 vqrdmlsh.s32 d0, d1, d2\[1\]
+ f8: ffa2 0f42 vqrdmlsh.s32 q0, q1, d2\[0\]
+ fc: ffa2 0f62 vqrdmlsh.s32 q0, q1, d2\[1\]
+
diff --git a/gas/testsuite/gas/arm/armv8-a+rdma.s b/gas/testsuite/gas/arm/armv8-a+rdma.s
new file mode 100644
index 00000000000..60632f521e4
--- /dev/null
+++ b/gas/testsuite/gas/arm/armv8-a+rdma.s
@@ -0,0 +1,60 @@
+ .syntax unified
+ .text
+ .arch armv8-a
+ .arch_extension rdma
+
+ .macro vect_inst I T R
+ \I\().\T \R\()0, \R\()1, \R\()2
+ .endm
+
+ .macro scalar_inst I T R N
+ \I\().\T \R\()0, \R\()1, d\()2[\N\()]
+ .endm
+
+ .text
+ .arm
+A1:
+ .irp inst, vqrdmlah, vqrdmlsh
+ .irp type, s16, s32
+ .irp reg, d, q
+ vect_inst \inst \type \reg
+ .endr
+ .endr
+ .endr
+
+ .irp inst, vqrdmlah, vqrdmlsh
+ .irp reg, d, q
+ .irp idx, 0, 1, 2, 3
+ scalar_inst \inst s16 \reg \idx
+ .endr
+ .endr
+ .irp reg, d, q
+ .irp idx, 0, 1
+ scalar_inst \inst s32 \reg \idx
+ .endr
+ .endr
+ .endr
+
+ .text
+ .thumb
+T1:
+ .irp inst, vqrdmlah, vqrdmlsh
+ .irp type, s16, s32
+ .irp reg, d, q
+ vect_inst \inst \type \reg
+ .endr
+ .endr
+ .endr
+
+ .irp inst, vqrdmlah, vqrdmlsh
+ .irp reg, d, q
+ .irp idx, 0, 1, 2, 3
+ scalar_inst \inst s16 \reg \idx
+ .endr
+ .endr
+ .irp reg, d, q
+ .irp idx, 0, 1
+ scalar_inst \inst s32 \reg \idx
+ .endr
+ .endr
+ .endr
diff --git a/gas/testsuite/gas/arm/backslash-at.d b/gas/testsuite/gas/arm/backslash-at.d
index 3397573b437..49e815a36ce 100644
--- a/gas/testsuite/gas/arm/backslash-at.d
+++ b/gas/testsuite/gas/arm/backslash-at.d
@@ -5,13 +5,13 @@
Disassembly of section .text:
0+000 <.*>.*(615c|5c61).*
-0+002 <foo> e3a00000 mov r0, #0
-0+006 <foo\+0x4> e3a00000 mov r0, #0
-0+00a <foo\+0x8> e3a00000 mov r0, #0
-0+00e <foo\+0xc> e3a00001 mov r0, #1
-0+012 <foo\+0x10> e3a00001 mov r0, #1
-0+016 <foo\+0x14> e3a00001 mov r0, #1
-0+01a <foo\+0x18> e3a00002 mov r0, #2
-0+01e <foo\+0x1c> e3a00002 mov r0, #2
-0+022 <foo\+0x20> e3a00002 mov r0, #2
+0+004 <foo> e3a00000 mov r0, #0
+0+008 <foo\+0x4> e3a00000 mov r0, #0
+0+00c <foo\+0x8> e3a00000 mov r0, #0
+0+010 <foo\+0xc> e3a00001 mov r0, #1
+0+014 <foo\+0x10> e3a00001 mov r0, #1
+0+018 <foo\+0x14> e3a00001 mov r0, #1
+0+01c <foo\+0x18> e3a00002 mov r0, #2
+0+020 <foo\+0x1c> e3a00002 mov r0, #2
+0+024 <foo\+0x20> e3a00002 mov r0, #2
#...
diff --git a/gas/testsuite/gas/arm/backslash-at.s b/gas/testsuite/gas/arm/backslash-at.s
index 4975aea688f..135735405f0 100644
--- a/gas/testsuite/gas/arm/backslash-at.s
+++ b/gas/testsuite/gas/arm/backslash-at.s
@@ -6,9 +6,10 @@
mov r0, #\@ @comment
.endm
-.byte '\\
-.byte '\a
-
+ .byte '\\
+ .byte '\a
+ .byte 0
+ .byte 0
foo:
bar
bar
diff --git a/gas/testsuite/gas/arm/thumb-eabi.d b/gas/testsuite/gas/arm/thumb-eabi.d
index 19fc7972ba0..afe076ba236 100644
--- a/gas/testsuite/gas/arm/thumb-eabi.d
+++ b/gas/testsuite/gas/arm/thumb-eabi.d
@@ -163,3 +163,8 @@ Disassembly of section \.text:
0+942 <[^>]+> 4801 ldr r0, \[pc, #4\] ; \(0+948 <[^>]+>\)
0+944 <[^>]+> 1c08 adds r0, r1, #0
0+946 <[^>]+> 46c0 nop ; \(mov r8, r8\)
+0+948 <[^>]+> a001 add r0, pc, #4 ; \(adr r0, 00000950 <[^>]+>\)
+0+94a <[^>]+> a001 add r0, pc, #4 ; \(adr r0, 00000950 <[^>]+>\)
+0+94c <[^>]+> a000 add r0, pc, #0 ; \(adr r0, 00000950 <[^>]+>\)
+0+94e <[^>]+> 46c0 nop ; \(mov r8, r8\)
+#pass
diff --git a/gas/testsuite/gas/arm/thumb.d b/gas/testsuite/gas/arm/thumb.d
index c928aaff436..65d007adf69 100644
--- a/gas/testsuite/gas/arm/thumb.d
+++ b/gas/testsuite/gas/arm/thumb.d
@@ -163,3 +163,8 @@ Disassembly of section \.text:
0+942 <[^>]+> 4801 ldr r0, \[pc, #4\] ; \(0+948 <[^>]+>\)
0+944 <[^>]+> 1c08 adds r0, r1, #0
0+946 <[^>]+> 46c0 nop ; \(mov r8, r8\)
+0+948 <[^>]+> a001 add r0, pc, #4 ; \(adr r0, 00000950 <[^>]+>\)
+0+94a <[^>]+> a001 add r0, pc, #4 ; \(adr r0, 00000950 <[^>]+>\)
+0+94c <[^>]+> a000 add r0, pc, #0 ; \(adr r0, 00000950 <[^>]+>\)
+0+94e <[^>]+> 46c0 nop ; \(mov r8, r8\)
+#pass
diff --git a/gas/testsuite/gas/arm/thumb.s b/gas/testsuite/gas/arm/thumb.s
index a044bdfca58..3c759b35fde 100644
--- a/gas/testsuite/gas/arm/thumb.s
+++ b/gas/testsuite/gas/arm/thumb.s
@@ -201,3 +201,13 @@ forwardonly:
baz:
mov r0, r1
nop
+
+ adr r0, pr18541
+ adr r0, pr18541
+ adr r0, pr18541
+ nop
+ .align
+ .global pr18541
+pr18541:
+ .long 0
+
diff --git a/gas/testsuite/gas/arm/thumb2_ldr_immediate_armv6.d b/gas/testsuite/gas/arm/thumb2_ldr_immediate_armv6.d
new file mode 100644
index 00000000000..5291077e529
--- /dev/null
+++ b/gas/testsuite/gas/arm/thumb2_ldr_immediate_armv6.d
@@ -0,0 +1,21 @@
+# name: Ldr immediate on armv6
+# as: -march=armv6
+# objdump: -dr --prefix-addresses --show-raw-insn
+# not-target: *-*-*coff *-*-pe *-*-wince *-*-*aout* *-*-netbsd *-*-riscix*
+
+.*: +file format .*arm.*
+
+Disassembly of section .text:
+0[0-9a-f]+ <[^>]+> 4902 ldr r1, \[pc, #8\].*
+0[0-9a-f]+ <[^>]+> 4903 ldr r1, \[pc, #12\] .*
+0[0-9a-f]+ <[^>]+> 4903 ldr r1, \[pc, #12\] .*
+0[0-9a-f]+ <[^>]+> 4a04 ldr r2, \[pc, #16\] .*
+0[0-9a-f]+ <[^>]+> 4a04 ldr r2, \[pc, #16\] .*
+0[0-9a-f]+ <[^>]+> 4a05 ldr r2, \[pc, #20\] .*
+0[0-9a-f]+ <[^>]+> 72727272 .*
+0[0-9a-f]+ <[^>]+> 63006300 .*
+0[0-9a-f]+ <[^>]+> 00510051 .*
+0[0-9a-f]+ <[^>]+> 00047000 .*
+0[0-9a-f]+ <[^>]+> ff320000 .*
+0[0-9a-f]+ <[^>]+> 000013f1 .*
+
diff --git a/gas/testsuite/gas/arm/thumb2_ldr_immediate_armv6.s b/gas/testsuite/gas/arm/thumb2_ldr_immediate_armv6.s
new file mode 100644
index 00000000000..22a50141ed3
--- /dev/null
+++ b/gas/testsuite/gas/arm/thumb2_ldr_immediate_armv6.s
@@ -0,0 +1,12 @@
+ .text
+ .thumb
+ .syntax unified
+ .thumb_func
+thumb2_ldr:
+ ldr r1,=0x72727272
+ ldr r1,=0x63006300
+ ldr r1,=0x00510051
+ ldr r2,=0x00047000
+ ldr r2,=0xFF320000
+ ldr r2,=0x000013F1
+ .pool
diff --git a/gas/testsuite/gas/arm/thumb2_ldr_immediate_armv6t2.d b/gas/testsuite/gas/arm/thumb2_ldr_immediate_armv6t2.d
new file mode 100644
index 00000000000..698371a7345
--- /dev/null
+++ b/gas/testsuite/gas/arm/thumb2_ldr_immediate_armv6t2.d
@@ -0,0 +1,15 @@
+# name: Ldr immediate on armv6
+# as: -march=armv6t2
+# objdump: -dr --prefix-addresses --show-raw-insn
+
+.*: +file format .*arm.*
+
+Disassembly of section .text:
+0[0-9a-f]+ <[^>]+> f04f 3172 mov.w r1, #1920103026 .*
+0[0-9a-f]+ <[^>]+> f04f 2163 mov.w r1, #1660969728 .*
+0[0-9a-f]+ <[^>]+> f04f 1151 mov.w r1, #5308497 .*
+0[0-9a-f]+ <[^>]+> f44f 228e mov.w r2, #290816 .*
+0[0-9a-f]+ <[^>]+> f6cf 7232 movt r2, #65330 .*
+0[0-9a-f]+ <[^>]+> f241 32f1 movw r2, #5105 .*
+
+
diff --git a/gas/testsuite/gas/arm/thumb2_ldr_immediate_armv6t2.s b/gas/testsuite/gas/arm/thumb2_ldr_immediate_armv6t2.s
new file mode 100644
index 00000000000..22a50141ed3
--- /dev/null
+++ b/gas/testsuite/gas/arm/thumb2_ldr_immediate_armv6t2.s
@@ -0,0 +1,12 @@
+ .text
+ .thumb
+ .syntax unified
+ .thumb_func
+thumb2_ldr:
+ ldr r1,=0x72727272
+ ldr r1,=0x63006300
+ ldr r1,=0x00510051
+ ldr r2,=0x00047000
+ ldr r2,=0xFF320000
+ ldr r2,=0x000013F1
+ .pool
diff --git a/gas/testsuite/gas/arm/tls.d b/gas/testsuite/gas/arm/tls.d
index 727f8e4e0b9..4d7e7244b2a 100644
--- a/gas/testsuite/gas/arm/tls.d
+++ b/gas/testsuite/gas/arm/tls.d
@@ -47,3 +47,21 @@ Disassembly of section .text:
3c: R_ARM_TLS_LE32 td
40: 00000017 .word 0x00000017
40: R_ARM_TLS_GOTDESC te
+0+44 <foo>:
+ 44: fffffff4 .word 0xfffffff4
+ 44: R_ARM_TLS_LE32 tbase
+ 48: fffffff8 .word 0xfffffff8
+ 48: R_ARM_TLS_LE32 tbase
+ 4c: fffffffc .word 0xfffffffc
+ 4c: R_ARM_TLS_LE32 tbase
+ 50: 00000000 .word 0x00000000
+ 50: R_ARM_TLS_LE32 tbase
+ 54: 00000004 .word 0x00000004
+ 54: R_ARM_TLS_LE32 tbase
+ 58: 00000008 .word 0x00000008
+ 58: R_ARM_TLS_LE32 tbase
+ 5c: 0000000c .word 0x0000000c
+ 5c: R_ARM_TLS_LE32 tbase
+ 60: 00000000 .word 0x00000000
+ 60: R_ARM_TLS_LE32 tbase
+#pass
diff --git a/gas/testsuite/gas/arm/tls.s b/gas/testsuite/gas/arm/tls.s
index 96a25f56f88..346ac98c0e9 100644
--- a/gas/testsuite/gas/arm/tls.s
+++ b/gas/testsuite/gas/arm/tls.s
@@ -36,3 +36,26 @@ thumb_fn:
.word tc(gottpoff) + (. - 1b - 8)
.word td(tpoff)
1: .word te(tlsdesc) + (. - 2b + 1)
+
+ @ PR 18481
+ .text
+foo:
+ .word tbase(tpoff)-12
+ .word tbase(tpoff)-8
+ .word tbase(tpoff)-4
+ .word tbase(tpoff)+0
+ .word tbase(tpoff)+4
+ .word tbase(tpoff)+8
+ .word tbase(tpoff)+12
+ .word tbase(tpoff)
+
+ .section .tdata,"awT",%progbits
+tbase = . + 12
+ .word -12
+ .word -8
+ .word -4
+ .word 0
+ .word 4
+ .word 8
+ .word 12
+ .word 0
diff --git a/gas/testsuite/gas/arm/vfpv2-ldr_immediate.d b/gas/testsuite/gas/arm/vfpv2-ldr_immediate.d
new file mode 100644
index 00000000000..109d4437166
--- /dev/null
+++ b/gas/testsuite/gas/arm/vfpv2-ldr_immediate.d
@@ -0,0 +1,50 @@
+# name: VFPv2 vldr to vmov
+# as: -mfpu=vfpv2
+# objdump: -dr --prefix-addresses --show-raw-insn
+
+.*: +file format .*arm.*
+
+Disassembly of section \.text:
+
+0[0-9a-fx]+ .*ed9f0b00 vldr d0, \[pc\].*
+0[0-9a-fx]+ .*ed9f0a01 vldr s0, \[pc, #4\].*
+0[0-9a-fx]+ .*00000000 .*
+0[0-9a-fx]+ .*3fbe0000 .*
+0[0-9a-fx]+ .*3df00000 .*
+.*
+0[0-9a-fx]+ .*ed9f0b00 vldr d0, \[pc\].*
+0[0-9a-fx]+ .*ed9f0a01 vldr s0, \[pc, #4\].*
+0[0-9a-fx]+ .*00000000 .*
+0[0-9a-fx]+ .*bfc00000 .*
+0[0-9a-fx]+ .*be000000 .*
+.*
+0[0-9a-fx]+ .*ed9f0b00 vldr d0, \[pc\].*
+0[0-9a-fx]+ .*ed9f0a01 vldr s0, \[pc, #4\].*
+0[0-9a-fx]+ .*00000000 .*
+0[0-9a-fx]+ .*3fc00000 .*
+0[0-9a-fx]+ .*3e000000 .*
+.*
+0[0-9a-fx]+ .*ed9f0b00 vldr d0, \[pc\].*
+0[0-9a-fx]+ .*ed9f0a01 vldr s0, \[pc, #4\].*
+0[0-9a-fx]+ .*00000000 .*
+0[0-9a-fx]+ .*3fe08000 .*
+0[0-9a-fx]+ .*3f040000 .*
+.*
+0[0-9a-fx]+ .*ed9f0b00 vldr d0, \[pc\].*
+0[0-9a-fx]+ .*ed9f0a01 vldr s0, \[pc, #4\].*
+0[0-9a-fx]+ .*00000000 .*
+0[0-9a-fx]+ .*3fef0000 .*
+0[0-9a-fx]+ .*3f780000 .*
+.*
+0[0-9a-fx]+ .*ed9f0b00 vldr d0, \[pc\].*
+0[0-9a-fx]+ .*ed9f0a01 vldr s0, \[pc, #4\].*
+0[0-9a-fx]+ .*00000000 .*
+0[0-9a-fx]+ .*403f0000 .*
+0[0-9a-fx]+ .*41f80000 .*
+.*
+0[0-9a-fx]+ .*ed9f0b00 vldr d0, \[pc\].*
+0[0-9a-fx]+ .*ed9f0a01 vldr s0, \[pc, #4\].*
+0[0-9a-fx]+ .*00000000 .*
+0[0-9a-fx]+ .*40400000 .*
+0[0-9a-fx]+ .*42000000 .*
+#pass
diff --git a/gas/testsuite/gas/arm/vfpv2-ldr_immediate.s b/gas/testsuite/gas/arm/vfpv2-ldr_immediate.s
new file mode 100644
index 00000000000..650d9b89678
--- /dev/null
+++ b/gas/testsuite/gas/arm/vfpv2-ldr_immediate.s
@@ -0,0 +1,48 @@
+.arm
+.syntax unified
+ # VFPv2 has no VMOV instruction... all vldr will be kept
+
+ # 15 * 2^-7 =0.1171875 VMOV does not exists
+ .align 3
+ vldr d0,=0x3FBE000000000000
+ vldr s0,=0x3df00000
+ .pool
+
+ # -16 * 2^-7 =0.125 VMOV does not exists
+ .align 3
+ vldr d0,=0xbfc0000000000000
+ vldr s0,=0xbe000000
+ .pool
+
+ # 16 * 2^-7 =0.125 VMOV does not exists
+ .align 3
+ vldr d0,=0x3fc0000000000000
+ vldr s0,=0x3e000000
+ .pool
+
+ # 16.5 * 2^-7 =0.125 VMOV does not exists
+ .align 3
+ vldr d0,=0x3fe0800000000000
+ vldr s0,=0x3f040000
+ .pool
+
+ # 31 * 2^-5 = 0.96875 VMOV does not exists
+ .align 3
+ vldr d0,=0x3fef000000000000
+ vldr s0,=0x3f780000
+ .pool
+
+ # 31 * 2^ 0 = 31 VMOV does not exists
+ .align 3
+ vldr d0,=0x403F000000000000
+ vldr s0,=0x41f80000
+ .pool
+
+ # 16 * 2^ 1 = 32 VMOV does not exists
+ .align 3
+ vldr d0,=0x4040000000000000
+ vldr s0,=0x42000000
+ .pool
+
+ nop
+
diff --git a/gas/testsuite/gas/arm/vfpv3-ldr_immediate.d b/gas/testsuite/gas/arm/vfpv3-ldr_immediate.d
new file mode 100644
index 00000000000..5f0e925c662
--- /dev/null
+++ b/gas/testsuite/gas/arm/vfpv3-ldr_immediate.d
@@ -0,0 +1,35 @@
+# name: VFPv3 vldr to vmov
+# as: -mfpu=vfp3
+# objdump: -dr --prefix-addresses --show-raw-insn
+
+.*: +file format .*arm.*
+
+Disassembly of section \.text:
+
+0[0-9a-fx]+ .*ed9f0b00 vldr d0, \[pc\].*
+0[0-9a-fx]+ .*ed9f0a01 vldr s0, \[pc, #4\].*
+0[0-9a-fx]+ .*00000000 .*
+0[0-9a-fx]+ .*3fbe0000 .*
+0[0-9a-fx]+ .*3df00000 .*
+.*
+
+0[0-9a-fx]+ .*eebc0b00 (vmov\.f64|fconstd) d0, #192.*
+0[0-9a-fx]+ .*eebc0a00 (vmov\.f32|fconsts) s0, #192.*
+0[0-9a-fx]+ .*eeb40b00 (vmov\.f64|fconstd) d0, #64.*
+0[0-9a-fx]+ .*eeb40a00 (vmov\.f32|fconsts) s0, #64.*
+0[0-9a-fx]+ .*ed9f0b00 vldr d0, \[pc\].*
+0[0-9a-fx]+ .*ed9f0a01 vldr s0, \[pc, #4\].*
+0[0-9a-fx]+ .*00000000 .*
+0[0-9a-fx]+ .*3fe08000 .*
+0[0-9a-fx]+ .*3f040000 .*
+.*
+0[0-9a-fx]+ .*eeb60b0f (vmov\.f64|fconstd) d0, #111.*
+0[0-9a-fx]+ .*eeb60a0f (vmov\.f32|fconsts) s0, #111.*
+0[0-9a-fx]+ .*eeb30b0f (vmov\.f64|fconstd) d0, #63.*
+0[0-9a-fx]+ .*eeb30a0f (vmov\.f32|fconsts) s0, #63.*
+0[0-9a-fx]+ .*ed9f0b00 vldr d0, \[pc\].*
+0[0-9a-fx]+ .*ed9f0a01 vldr s0, \[pc, #4\].*
+0[0-9a-fx]+ .*00000000 .*
+0[0-9a-fx]+ .*40400000 .*
+0[0-9a-fx]+ .*42000000 .*
+#pass
diff --git a/gas/testsuite/gas/arm/vfpv3-ldr_immediate.s b/gas/testsuite/gas/arm/vfpv3-ldr_immediate.s
new file mode 100644
index 00000000000..172b57d62d5
--- /dev/null
+++ b/gas/testsuite/gas/arm/vfpv3-ldr_immediate.s
@@ -0,0 +1,46 @@
+.arm
+.syntax unified
+ # 15 * 2^-7 =0.1171875 Not convertible to VMOV
+ .align 3
+ vldr d0,=0x3FBE000000000000
+ vldr s0,=0x3df00000
+ .pool
+
+ # -16 * 2^-7 =-0.125 Convertible to VMOV
+ .align 3
+ vldr d0,=0xbfc0000000000000
+ vldr s0,=0xbe000000
+ .pool
+
+ # 16 * 2^-7 =0.125 Convertible to VMOV
+ .align 3
+ vldr d0,=0x3fc0000000000000
+ vldr s0,=0x3e000000
+ .pool
+
+ # 16.5 * 2^-7 =0.125 Not convertible to VMOV
+ .align 3
+ vldr d0,=0x3fe0800000000000
+ vldr s0,=0x3f040000
+ .pool
+
+ # 31 * 2^-5 = 0.96875 Convertible to VMOV
+ .align 3
+ vldr d0,=0x3fef000000000000
+ vldr s0,=0x3f780000
+ .pool
+
+ # 31 * 2^ 0 = 31 Convertible to VMOV
+ .align 3
+ vldr d0,=0x403F000000000000
+ vldr s0,=0x41f80000
+ .pool
+
+ # 16 * 2^ 1 = 32 Not convertible to VMOV
+ .align 3
+ vldr d0,=0x4040000000000000
+ vldr s0,=0x42000000
+ .pool
+
+ nop
+
diff --git a/gas/testsuite/gas/arm/vfpv3xd-ldr_immediate.d b/gas/testsuite/gas/arm/vfpv3xd-ldr_immediate.d
new file mode 100644
index 00000000000..5df3d26ecf8
--- /dev/null
+++ b/gas/testsuite/gas/arm/vfpv3xd-ldr_immediate.d
@@ -0,0 +1,42 @@
+# name: VFPv3xd vldr to vmov
+# as: -mfpu=vfpv3xd
+# objdump: -dr --prefix-addresses --show-raw-insn
+
+.*: +file format .*arm.*
+
+Disassembly of section \.text:
+
+0[0-9a-fx]+ .*ed9f0b00 vldr d0, \[pc\].*
+0[0-9a-fx]+ .*ed9f0a01 vldr s0, \[pc, #4\].*
+0[0-9a-fx]+ .*00000000 .*
+0[0-9a-fx]+ .*3fbe0000 .*
+0[0-9a-fx]+ .*3df00000 .*
+.*
+0[0-9a-fx]+ .*ed9f0b00 vldr d0, \[pc\].*
+0[0-9a-fx]+ .*eebc0a00 (vmov\.f32|fconsts) s0, #192.*
+0[0-9a-fx]+ .*00000000 .*
+0[0-9a-fx]+ .*bfc00000 .*
+0[0-9a-fx]+ .*ed9f0b00 vldr d0, \[pc\].*
+0[0-9a-fx]+ .*eeb40a00 (vmov\.f32|fconsts) s0, #64.*
+0[0-9a-fx]+ .*00000000 .*
+0[0-9a-fx]+ .*3fc00000 .*
+0[0-9a-fx]+ .*ed9f0b00 vldr d0, \[pc\].*
+0[0-9a-fx]+ .*ed9f0a01 vldr s0, \[pc, #4\].*
+0[0-9a-fx]+ .*00000000 .*
+0[0-9a-fx]+ .*3fe08000 .*
+0[0-9a-fx]+ .*3f040000 .*
+.*
+0[0-9a-fx]+ .*ed9f0b00 vldr d0, \[pc\].*
+0[0-9a-fx]+ .*eeb60a0f (vmov\.f32|fconsts) s0, #111.*
+0[0-9a-fx]+ .*00000000 .*
+0[0-9a-fx]+ .*3fef0000 .*
+0[0-9a-fx]+ .*ed9f0b00 vldr d0, \[pc\].*
+0[0-9a-fx]+ .*eeb30a0f (vmov\.f32|fconsts) s0, #63.*
+0[0-9a-fx]+ .*00000000 .*
+0[0-9a-fx]+ .*403f0000 .*
+0[0-9a-fx]+ .*ed9f0b00 vldr d0, \[pc\].*
+0[0-9a-fx]+ .*ed9f0a01 vldr s0, \[pc, #4\].*
+0[0-9a-fx]+ .*00000000 .*
+0[0-9a-fx]+ .*40400000 .*
+0[0-9a-fx]+ .*42000000 .*
+#pass
diff --git a/gas/testsuite/gas/arm/vfpv3xd-ldr_immediate.s b/gas/testsuite/gas/arm/vfpv3xd-ldr_immediate.s
new file mode 100644
index 00000000000..130e49b188a
--- /dev/null
+++ b/gas/testsuite/gas/arm/vfpv3xd-ldr_immediate.s
@@ -0,0 +1,47 @@
+.arm
+.syntax unified
+ # VFPv3xD has no VMOV instruction for double precision registers...
+ # 15 * 2^-7 =0.1171875 Not convertible to VMOV
+ .align 3
+ vldr d0,=0x3FBE000000000000
+ vldr s0,=0x3df00000
+ .pool
+
+ # -16 * 2^-7 =0.125 Convertible to VMOV
+ .align 3
+ vldr d0,=0xbfc0000000000000
+ vldr s0,=0xbe000000
+ .pool
+
+ # 16 * 2^-7 =0.125 Convertible to VMOV
+ .align 3
+ vldr d0,=0x3fc0000000000000
+ vldr s0,=0x3e000000
+ .pool
+
+ # 16.5 * 2^-7 =0.125 Not convertible to VMOV
+ .align 3
+ vldr d0,=0x3fe0800000000000
+ vldr s0,=0x3f040000
+ .pool
+
+ # 31 * 2^-5 = 0.96875 Convertible to VMOV
+ .align 3
+ vldr d0,=0x3fef000000000000
+ vldr s0,=0x3f780000
+ .pool
+
+ # 31 * 2^ 0 = 31 Convertible to VMOV
+ .align 3
+ vldr d0,=0x403F000000000000
+ vldr s0,=0x41f80000
+ .pool
+
+ # 16 * 2^ 1 = 32 Not convertible to VMOV
+ .align 3
+ vldr d0,=0x4040000000000000
+ vldr s0,=0x42000000
+ .pool
+
+ nop
+
diff --git a/gas/testsuite/gas/elf/elf.exp b/gas/testsuite/gas/elf/elf.exp
index 0c1e70107d8..fd8697216fc 100644
--- a/gas/testsuite/gas/elf/elf.exp
+++ b/gas/testsuite/gas/elf/elf.exp
@@ -214,6 +214,8 @@ if { [is_elf_format] } then {
run_elf_list_test "secondary1" "" "" "-s" "| grep \"secondary_\""
run_elf_list_test "secondary2" "" "" "-s" "| grep \"secondary_\""
+ run_dump_test "strtab"
+
load_lib gas-dg.exp
dg-init
dg-runtest [lsort [glob -nocomplain $srcdir/$subdir/err-*.s $srcdir/$subdir/warn-*.s]] "" ""
diff --git a/gas/testsuite/gas/elf/strtab.d b/gas/testsuite/gas/elf/strtab.d
new file mode 100644
index 00000000000..c6495d7262b
--- /dev/null
+++ b/gas/testsuite/gas/elf/strtab.d
@@ -0,0 +1,7 @@
+#readelf: -W -x .strtab
+#name: .strtab section
+
+#failif
+#...
+ +0x[0-9 ]+.*\.xxxx\..*
+#...
diff --git a/gas/testsuite/gas/elf/strtab.s b/gas/testsuite/gas/elf/strtab.s
new file mode 100644
index 00000000000..931d9ef31df
--- /dev/null
+++ b/gas/testsuite/gas/elf/strtab.s
@@ -0,0 +1,8 @@
+ .text
+.globl x; x:
+.globl xx; xx:
+.globl xxx; xxx:
+.globl xxxx; xxxx:
+.globl xxxxx; xxxxx:
+.globl xxxxxx; xxxxxx:
+ .byte 0
diff --git a/gas/testsuite/gas/i386/avx512f-intel.d b/gas/testsuite/gas/i386/avx512f-intel.d
index b6b3a2e9b2c..91c51e9c00f 100644
--- a/gas/testsuite/gas/i386/avx512f-intel.d
+++ b/gas/testsuite/gas/i386/avx512f-intel.d
@@ -2428,14 +2428,14 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 f1 d7 0f 5a b2 00 04 00 00 vcvtsd2ss xmm6\{k7\},xmm5,QWORD PTR \[edx\+0x400\]
[ ]*[a-f0-9]+: 62 f1 d7 0f 5a 72 80 vcvtsd2ss xmm6\{k7\},xmm5,QWORD PTR \[edx-0x400\]
[ ]*[a-f0-9]+: 62 f1 d7 0f 5a b2 f8 fb ff ff vcvtsd2ss xmm6\{k7\},xmm5,QWORD PTR \[edx-0x408\]
-[ ]*[a-f0-9]+: 62 f1 56 18 2a f0 vcvtsi2ss xmm6,xmm5,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 58 2a f0 vcvtsi2ss xmm6,xmm5,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 38 2a f0 vcvtsi2ss xmm6,xmm5,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 78 2a f0 vcvtsi2ss xmm6,xmm5,\{rz-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 18 2a f5 vcvtsi2ss xmm6,xmm5,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 58 2a f5 vcvtsi2ss xmm6,xmm5,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 38 2a f5 vcvtsi2ss xmm6,xmm5,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 78 2a f5 vcvtsi2ss xmm6,xmm5,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 f1 56 18 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{rz-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 18 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 f1 56 0f 5a f4 vcvtss2sd xmm6\{k7\},xmm5,xmm4
[ ]*[a-f0-9]+: 62 f1 56 8f 5a f4 vcvtss2sd xmm6\{k7\}\{z\},xmm5,xmm4
[ ]*[a-f0-9]+: 62 f1 56 1f 5a f4 vcvtss2sd xmm6\{k7\},xmm5,xmm4,\{sae\}
@@ -5911,15 +5911,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 f1 57 08 7b 72 80 vcvtusi2sd xmm6,xmm5,DWORD PTR \[edx-0x200\]
[ ]*[a-f0-9]+: 62 f1 57 08 7b b2 fc fd ff ff vcvtusi2sd xmm6,xmm5,DWORD PTR \[edx-0x204\]
[ ]*[a-f0-9]+: 62 f1 56 08 7b f0 vcvtusi2ss xmm6,xmm5,eax
-[ ]*[a-f0-9]+: 62 f1 56 18 7b f0 vcvtusi2ss xmm6,xmm5,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 58 7b f0 vcvtusi2ss xmm6,xmm5,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 38 7b f0 vcvtusi2ss xmm6,xmm5,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 78 7b f0 vcvtusi2ss xmm6,xmm5,\{rz-sae\},eax
+[ ]*[a-f0-9]+: 62 f1 56 18 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 f1 56 08 7b f5 vcvtusi2ss xmm6,xmm5,ebp
-[ ]*[a-f0-9]+: 62 f1 56 18 7b f5 vcvtusi2ss xmm6,xmm5,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 58 7b f5 vcvtusi2ss xmm6,xmm5,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 38 7b f5 vcvtusi2ss xmm6,xmm5,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 78 7b f5 vcvtusi2ss xmm6,xmm5,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 f1 56 18 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 f1 56 08 7b 31 vcvtusi2ss xmm6,xmm5,DWORD PTR \[ecx\]
[ ]*[a-f0-9]+: 62 f1 56 08 7b b4 f4 c0 1d fe ff vcvtusi2ss xmm6,xmm5,DWORD PTR \[esp\+esi\*8-0x1e240\]
[ ]*[a-f0-9]+: 62 f1 56 08 7b 72 7f vcvtusi2ss xmm6,xmm5,DWORD PTR \[edx\+0x1fc\]
@@ -9068,14 +9068,14 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 f1 d7 0f 5a b2 00 04 00 00 vcvtsd2ss xmm6\{k7\},xmm5,QWORD PTR \[edx\+0x400\]
[ ]*[a-f0-9]+: 62 f1 d7 0f 5a 72 80 vcvtsd2ss xmm6\{k7\},xmm5,QWORD PTR \[edx-0x400\]
[ ]*[a-f0-9]+: 62 f1 d7 0f 5a b2 f8 fb ff ff vcvtsd2ss xmm6\{k7\},xmm5,QWORD PTR \[edx-0x408\]
-[ ]*[a-f0-9]+: 62 f1 56 18 2a f0 vcvtsi2ss xmm6,xmm5,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 58 2a f0 vcvtsi2ss xmm6,xmm5,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 38 2a f0 vcvtsi2ss xmm6,xmm5,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 78 2a f0 vcvtsi2ss xmm6,xmm5,\{rz-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 18 2a f5 vcvtsi2ss xmm6,xmm5,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 58 2a f5 vcvtsi2ss xmm6,xmm5,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 38 2a f5 vcvtsi2ss xmm6,xmm5,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 78 2a f5 vcvtsi2ss xmm6,xmm5,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 f1 56 18 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{rz-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 18 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 f1 56 0f 5a f4 vcvtss2sd xmm6\{k7\},xmm5,xmm4
[ ]*[a-f0-9]+: 62 f1 56 8f 5a f4 vcvtss2sd xmm6\{k7\}\{z\},xmm5,xmm4
[ ]*[a-f0-9]+: 62 f1 56 1f 5a f4 vcvtss2sd xmm6\{k7\},xmm5,xmm4,\{sae\}
@@ -12551,15 +12551,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 f1 57 08 7b 72 80 vcvtusi2sd xmm6,xmm5,DWORD PTR \[edx-0x200\]
[ ]*[a-f0-9]+: 62 f1 57 08 7b b2 fc fd ff ff vcvtusi2sd xmm6,xmm5,DWORD PTR \[edx-0x204\]
[ ]*[a-f0-9]+: 62 f1 56 08 7b f0 vcvtusi2ss xmm6,xmm5,eax
-[ ]*[a-f0-9]+: 62 f1 56 18 7b f0 vcvtusi2ss xmm6,xmm5,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 58 7b f0 vcvtusi2ss xmm6,xmm5,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 38 7b f0 vcvtusi2ss xmm6,xmm5,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 78 7b f0 vcvtusi2ss xmm6,xmm5,\{rz-sae\},eax
+[ ]*[a-f0-9]+: 62 f1 56 18 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 f1 56 08 7b f5 vcvtusi2ss xmm6,xmm5,ebp
-[ ]*[a-f0-9]+: 62 f1 56 18 7b f5 vcvtusi2ss xmm6,xmm5,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 58 7b f5 vcvtusi2ss xmm6,xmm5,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 38 7b f5 vcvtusi2ss xmm6,xmm5,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 78 7b f5 vcvtusi2ss xmm6,xmm5,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 f1 56 18 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 f1 56 08 7b 31 vcvtusi2ss xmm6,xmm5,DWORD PTR \[ecx\]
[ ]*[a-f0-9]+: 62 f1 56 08 7b b4 f4 c0 1d fe ff vcvtusi2ss xmm6,xmm5,DWORD PTR \[esp\+esi\*8-0x1e240\]
[ ]*[a-f0-9]+: 62 f1 56 08 7b 72 7f vcvtusi2ss xmm6,xmm5,DWORD PTR \[edx\+0x1fc\]
diff --git a/gas/testsuite/gas/i386/avx512f.s b/gas/testsuite/gas/i386/avx512f.s
index 25c75abda44..1f172d53be3 100644
--- a/gas/testsuite/gas/i386/avx512f.s
+++ b/gas/testsuite/gas/i386/avx512f.s
@@ -9904,14 +9904,14 @@ _start:
vcvtsd2ss xmm6{k7}, xmm5, QWORD PTR [edx-1032] # AVX512F
- vcvtsi2ss xmm6, xmm5, {rn-sae}, eax # AVX512F
- vcvtsi2ss xmm6, xmm5, {ru-sae}, eax # AVX512F
- vcvtsi2ss xmm6, xmm5, {rd-sae}, eax # AVX512F
- vcvtsi2ss xmm6, xmm5, {rz-sae}, eax # AVX512F
- vcvtsi2ss xmm6, xmm5, {rn-sae}, ebp # AVX512F
- vcvtsi2ss xmm6, xmm5, {ru-sae}, ebp # AVX512F
- vcvtsi2ss xmm6, xmm5, {rd-sae}, ebp # AVX512F
- vcvtsi2ss xmm6, xmm5, {rz-sae}, ebp # AVX512F
+ vcvtsi2ss xmm6, xmm5, eax, {rn-sae} # AVX512F
+ vcvtsi2ss xmm6, xmm5, eax, {ru-sae} # AVX512F
+ vcvtsi2ss xmm6, xmm5, eax, {rd-sae} # AVX512F
+ vcvtsi2ss xmm6, xmm5, eax, {rz-sae} # AVX512F
+ vcvtsi2ss xmm6, xmm5, ebp, {rn-sae} # AVX512F
+ vcvtsi2ss xmm6, xmm5, ebp, {ru-sae} # AVX512F
+ vcvtsi2ss xmm6, xmm5, ebp, {rd-sae} # AVX512F
+ vcvtsi2ss xmm6, xmm5, ebp, {rz-sae} # AVX512F
vcvtss2sd xmm6{k7}, xmm5, xmm4 # AVX512F
vcvtss2sd xmm6{k7}{z}, xmm5, xmm4 # AVX512F
@@ -13704,15 +13704,15 @@ _start:
vcvtusi2sd xmm6, xmm5, DWORD PTR [edx-516] # AVX512F
vcvtusi2ss xmm6, xmm5, eax # AVX512F
- vcvtusi2ss xmm6, xmm5, {rn-sae}, eax # AVX512F
- vcvtusi2ss xmm6, xmm5, {ru-sae}, eax # AVX512F
- vcvtusi2ss xmm6, xmm5, {rd-sae}, eax # AVX512F
- vcvtusi2ss xmm6, xmm5, {rz-sae}, eax # AVX512F
+ vcvtusi2ss xmm6, xmm5, eax, {rn-sae} # AVX512F
+ vcvtusi2ss xmm6, xmm5, eax, {ru-sae} # AVX512F
+ vcvtusi2ss xmm6, xmm5, eax, {rd-sae} # AVX512F
+ vcvtusi2ss xmm6, xmm5, eax, {rz-sae} # AVX512F
vcvtusi2ss xmm6, xmm5, ebp # AVX512F
- vcvtusi2ss xmm6, xmm5, {rn-sae}, ebp # AVX512F
- vcvtusi2ss xmm6, xmm5, {ru-sae}, ebp # AVX512F
- vcvtusi2ss xmm6, xmm5, {rd-sae}, ebp # AVX512F
- vcvtusi2ss xmm6, xmm5, {rz-sae}, ebp # AVX512F
+ vcvtusi2ss xmm6, xmm5, ebp, {rn-sae} # AVX512F
+ vcvtusi2ss xmm6, xmm5, ebp, {ru-sae} # AVX512F
+ vcvtusi2ss xmm6, xmm5, ebp, {rd-sae} # AVX512F
+ vcvtusi2ss xmm6, xmm5, ebp, {rz-sae} # AVX512F
vcvtusi2ss xmm6, xmm5, DWORD PTR [ecx] # AVX512F
vcvtusi2ss xmm6, xmm5, DWORD PTR [esp+esi*8-123456] # AVX512F
vcvtusi2ss xmm6, xmm5, DWORD PTR [edx+508] # AVX512F Disp8
diff --git a/gas/testsuite/gas/i386/evex-lig256-intel.d b/gas/testsuite/gas/i386/evex-lig256-intel.d
index 86fa6c9b2e7..33c88bcfee5 100644
--- a/gas/testsuite/gas/i386/evex-lig256-intel.d
+++ b/gas/testsuite/gas/i386/evex-lig256-intel.d
@@ -811,14 +811,14 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 f1 d7 2f 5a b2 00 04 00 00 vcvtsd2ss xmm6\{k7\},xmm5,QWORD PTR \[edx\+0x400\]
[ ]*[a-f0-9]+: 62 f1 d7 2f 5a 72 80 vcvtsd2ss xmm6\{k7\},xmm5,QWORD PTR \[edx-0x400\]
[ ]*[a-f0-9]+: 62 f1 d7 2f 5a b2 f8 fb ff ff vcvtsd2ss xmm6\{k7\},xmm5,QWORD PTR \[edx-0x408\]
-[ ]*[a-f0-9]+: 62 f1 56 18 2a f0 vcvtsi2ss xmm6,xmm5,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 58 2a f0 vcvtsi2ss xmm6,xmm5,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 38 2a f0 vcvtsi2ss xmm6,xmm5,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 78 2a f0 vcvtsi2ss xmm6,xmm5,\{rz-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 18 2a f5 vcvtsi2ss xmm6,xmm5,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 58 2a f5 vcvtsi2ss xmm6,xmm5,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 38 2a f5 vcvtsi2ss xmm6,xmm5,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 78 2a f5 vcvtsi2ss xmm6,xmm5,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 f1 56 18 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{rz-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 18 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 f1 56 2f 5a f4 vcvtss2sd xmm6\{k7\},xmm5,xmm4
[ ]*[a-f0-9]+: 62 f1 56 af 5a f4 vcvtss2sd xmm6\{k7\}\{z\},xmm5,xmm4
[ ]*[a-f0-9]+: 62 f1 56 1f 5a f4 vcvtss2sd xmm6\{k7\},xmm5,xmm4,\{sae\}
@@ -1453,15 +1453,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 f1 57 28 7b 72 80 vcvtusi2sd xmm6,xmm5,DWORD PTR \[edx-0x200\]
[ ]*[a-f0-9]+: 62 f1 57 28 7b b2 fc fd ff ff vcvtusi2sd xmm6,xmm5,DWORD PTR \[edx-0x204\]
[ ]*[a-f0-9]+: 62 f1 56 28 7b f0 vcvtusi2ss xmm6,xmm5,eax
-[ ]*[a-f0-9]+: 62 f1 56 18 7b f0 vcvtusi2ss xmm6,xmm5,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 58 7b f0 vcvtusi2ss xmm6,xmm5,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 38 7b f0 vcvtusi2ss xmm6,xmm5,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 78 7b f0 vcvtusi2ss xmm6,xmm5,\{rz-sae\},eax
+[ ]*[a-f0-9]+: 62 f1 56 18 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 f1 56 28 7b f5 vcvtusi2ss xmm6,xmm5,ebp
-[ ]*[a-f0-9]+: 62 f1 56 18 7b f5 vcvtusi2ss xmm6,xmm5,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 58 7b f5 vcvtusi2ss xmm6,xmm5,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 38 7b f5 vcvtusi2ss xmm6,xmm5,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 78 7b f5 vcvtusi2ss xmm6,xmm5,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 f1 56 18 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 f1 56 28 7b 31 vcvtusi2ss xmm6,xmm5,DWORD PTR \[ecx\]
[ ]*[a-f0-9]+: 62 f1 56 28 7b b4 f4 c0 1d fe ff vcvtusi2ss xmm6,xmm5,DWORD PTR \[esp\+esi\*8-0x1e240\]
[ ]*[a-f0-9]+: 62 f1 56 28 7b 72 7f vcvtusi2ss xmm6,xmm5,DWORD PTR \[edx\+0x1fc\]
@@ -2338,14 +2338,14 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 f1 d7 2f 5a b2 00 04 00 00 vcvtsd2ss xmm6\{k7\},xmm5,QWORD PTR \[edx\+0x400\]
[ ]*[a-f0-9]+: 62 f1 d7 2f 5a 72 80 vcvtsd2ss xmm6\{k7\},xmm5,QWORD PTR \[edx-0x400\]
[ ]*[a-f0-9]+: 62 f1 d7 2f 5a b2 f8 fb ff ff vcvtsd2ss xmm6\{k7\},xmm5,QWORD PTR \[edx-0x408\]
-[ ]*[a-f0-9]+: 62 f1 56 18 2a f0 vcvtsi2ss xmm6,xmm5,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 58 2a f0 vcvtsi2ss xmm6,xmm5,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 38 2a f0 vcvtsi2ss xmm6,xmm5,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 78 2a f0 vcvtsi2ss xmm6,xmm5,\{rz-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 18 2a f5 vcvtsi2ss xmm6,xmm5,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 58 2a f5 vcvtsi2ss xmm6,xmm5,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 38 2a f5 vcvtsi2ss xmm6,xmm5,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 78 2a f5 vcvtsi2ss xmm6,xmm5,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 f1 56 18 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{rz-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 18 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 f1 56 2f 5a f4 vcvtss2sd xmm6\{k7\},xmm5,xmm4
[ ]*[a-f0-9]+: 62 f1 56 af 5a f4 vcvtss2sd xmm6\{k7\}\{z\},xmm5,xmm4
[ ]*[a-f0-9]+: 62 f1 56 1f 5a f4 vcvtss2sd xmm6\{k7\},xmm5,xmm4,\{sae\}
@@ -2980,15 +2980,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 f1 57 28 7b 72 80 vcvtusi2sd xmm6,xmm5,DWORD PTR \[edx-0x200\]
[ ]*[a-f0-9]+: 62 f1 57 28 7b b2 fc fd ff ff vcvtusi2sd xmm6,xmm5,DWORD PTR \[edx-0x204\]
[ ]*[a-f0-9]+: 62 f1 56 28 7b f0 vcvtusi2ss xmm6,xmm5,eax
-[ ]*[a-f0-9]+: 62 f1 56 18 7b f0 vcvtusi2ss xmm6,xmm5,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 58 7b f0 vcvtusi2ss xmm6,xmm5,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 38 7b f0 vcvtusi2ss xmm6,xmm5,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 78 7b f0 vcvtusi2ss xmm6,xmm5,\{rz-sae\},eax
+[ ]*[a-f0-9]+: 62 f1 56 18 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 f1 56 28 7b f5 vcvtusi2ss xmm6,xmm5,ebp
-[ ]*[a-f0-9]+: 62 f1 56 18 7b f5 vcvtusi2ss xmm6,xmm5,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 58 7b f5 vcvtusi2ss xmm6,xmm5,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 38 7b f5 vcvtusi2ss xmm6,xmm5,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 78 7b f5 vcvtusi2ss xmm6,xmm5,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 f1 56 18 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 f1 56 28 7b 31 vcvtusi2ss xmm6,xmm5,DWORD PTR \[ecx\]
[ ]*[a-f0-9]+: 62 f1 56 28 7b b4 f4 c0 1d fe ff vcvtusi2ss xmm6,xmm5,DWORD PTR \[esp\+esi\*8-0x1e240\]
[ ]*[a-f0-9]+: 62 f1 56 28 7b 72 7f vcvtusi2ss xmm6,xmm5,DWORD PTR \[edx\+0x1fc\]
diff --git a/gas/testsuite/gas/i386/evex-lig512-intel.d b/gas/testsuite/gas/i386/evex-lig512-intel.d
index 200b1e3e3e5..27ac7c460f3 100644
--- a/gas/testsuite/gas/i386/evex-lig512-intel.d
+++ b/gas/testsuite/gas/i386/evex-lig512-intel.d
@@ -811,14 +811,14 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 f1 d7 4f 5a b2 00 04 00 00 vcvtsd2ss xmm6\{k7\},xmm5,QWORD PTR \[edx\+0x400\]
[ ]*[a-f0-9]+: 62 f1 d7 4f 5a 72 80 vcvtsd2ss xmm6\{k7\},xmm5,QWORD PTR \[edx-0x400\]
[ ]*[a-f0-9]+: 62 f1 d7 4f 5a b2 f8 fb ff ff vcvtsd2ss xmm6\{k7\},xmm5,QWORD PTR \[edx-0x408\]
-[ ]*[a-f0-9]+: 62 f1 56 18 2a f0 vcvtsi2ss xmm6,xmm5,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 58 2a f0 vcvtsi2ss xmm6,xmm5,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 38 2a f0 vcvtsi2ss xmm6,xmm5,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 78 2a f0 vcvtsi2ss xmm6,xmm5,\{rz-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 18 2a f5 vcvtsi2ss xmm6,xmm5,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 58 2a f5 vcvtsi2ss xmm6,xmm5,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 38 2a f5 vcvtsi2ss xmm6,xmm5,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 78 2a f5 vcvtsi2ss xmm6,xmm5,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 f1 56 18 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{rz-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 18 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 f1 56 4f 5a f4 vcvtss2sd xmm6\{k7\},xmm5,xmm4
[ ]*[a-f0-9]+: 62 f1 56 cf 5a f4 vcvtss2sd xmm6\{k7\}\{z\},xmm5,xmm4
[ ]*[a-f0-9]+: 62 f1 56 1f 5a f4 vcvtss2sd xmm6\{k7\},xmm5,xmm4,\{sae\}
@@ -1453,15 +1453,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 f1 57 48 7b 72 80 vcvtusi2sd xmm6,xmm5,DWORD PTR \[edx-0x200\]
[ ]*[a-f0-9]+: 62 f1 57 48 7b b2 fc fd ff ff vcvtusi2sd xmm6,xmm5,DWORD PTR \[edx-0x204\]
[ ]*[a-f0-9]+: 62 f1 56 48 7b f0 vcvtusi2ss xmm6,xmm5,eax
-[ ]*[a-f0-9]+: 62 f1 56 18 7b f0 vcvtusi2ss xmm6,xmm5,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 58 7b f0 vcvtusi2ss xmm6,xmm5,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 38 7b f0 vcvtusi2ss xmm6,xmm5,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 78 7b f0 vcvtusi2ss xmm6,xmm5,\{rz-sae\},eax
+[ ]*[a-f0-9]+: 62 f1 56 18 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 f1 56 48 7b f5 vcvtusi2ss xmm6,xmm5,ebp
-[ ]*[a-f0-9]+: 62 f1 56 18 7b f5 vcvtusi2ss xmm6,xmm5,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 58 7b f5 vcvtusi2ss xmm6,xmm5,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 38 7b f5 vcvtusi2ss xmm6,xmm5,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 78 7b f5 vcvtusi2ss xmm6,xmm5,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 f1 56 18 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 f1 56 48 7b 31 vcvtusi2ss xmm6,xmm5,DWORD PTR \[ecx\]
[ ]*[a-f0-9]+: 62 f1 56 48 7b b4 f4 c0 1d fe ff vcvtusi2ss xmm6,xmm5,DWORD PTR \[esp\+esi\*8-0x1e240\]
[ ]*[a-f0-9]+: 62 f1 56 48 7b 72 7f vcvtusi2ss xmm6,xmm5,DWORD PTR \[edx\+0x1fc\]
@@ -2338,14 +2338,14 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 f1 d7 4f 5a b2 00 04 00 00 vcvtsd2ss xmm6\{k7\},xmm5,QWORD PTR \[edx\+0x400\]
[ ]*[a-f0-9]+: 62 f1 d7 4f 5a 72 80 vcvtsd2ss xmm6\{k7\},xmm5,QWORD PTR \[edx-0x400\]
[ ]*[a-f0-9]+: 62 f1 d7 4f 5a b2 f8 fb ff ff vcvtsd2ss xmm6\{k7\},xmm5,QWORD PTR \[edx-0x408\]
-[ ]*[a-f0-9]+: 62 f1 56 18 2a f0 vcvtsi2ss xmm6,xmm5,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 58 2a f0 vcvtsi2ss xmm6,xmm5,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 38 2a f0 vcvtsi2ss xmm6,xmm5,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 78 2a f0 vcvtsi2ss xmm6,xmm5,\{rz-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 18 2a f5 vcvtsi2ss xmm6,xmm5,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 58 2a f5 vcvtsi2ss xmm6,xmm5,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 38 2a f5 vcvtsi2ss xmm6,xmm5,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 78 2a f5 vcvtsi2ss xmm6,xmm5,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 f1 56 18 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 2a f0 vcvtsi2ss xmm6,xmm5,eax,\{rz-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 18 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 2a f5 vcvtsi2ss xmm6,xmm5,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 f1 56 4f 5a f4 vcvtss2sd xmm6\{k7\},xmm5,xmm4
[ ]*[a-f0-9]+: 62 f1 56 cf 5a f4 vcvtss2sd xmm6\{k7\}\{z\},xmm5,xmm4
[ ]*[a-f0-9]+: 62 f1 56 1f 5a f4 vcvtss2sd xmm6\{k7\},xmm5,xmm4,\{sae\}
@@ -2980,15 +2980,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 f1 57 48 7b 72 80 vcvtusi2sd xmm6,xmm5,DWORD PTR \[edx-0x200\]
[ ]*[a-f0-9]+: 62 f1 57 48 7b b2 fc fd ff ff vcvtusi2sd xmm6,xmm5,DWORD PTR \[edx-0x204\]
[ ]*[a-f0-9]+: 62 f1 56 48 7b f0 vcvtusi2ss xmm6,xmm5,eax
-[ ]*[a-f0-9]+: 62 f1 56 18 7b f0 vcvtusi2ss xmm6,xmm5,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 58 7b f0 vcvtusi2ss xmm6,xmm5,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 38 7b f0 vcvtusi2ss xmm6,xmm5,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 f1 56 78 7b f0 vcvtusi2ss xmm6,xmm5,\{rz-sae\},eax
+[ ]*[a-f0-9]+: 62 f1 56 18 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 7b f0 vcvtusi2ss xmm6,xmm5,eax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 f1 56 48 7b f5 vcvtusi2ss xmm6,xmm5,ebp
-[ ]*[a-f0-9]+: 62 f1 56 18 7b f5 vcvtusi2ss xmm6,xmm5,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 58 7b f5 vcvtusi2ss xmm6,xmm5,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 38 7b f5 vcvtusi2ss xmm6,xmm5,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 f1 56 78 7b f5 vcvtusi2ss xmm6,xmm5,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 f1 56 18 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 58 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 38 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 f1 56 78 7b f5 vcvtusi2ss xmm6,xmm5,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 f1 56 48 7b 31 vcvtusi2ss xmm6,xmm5,DWORD PTR \[ecx\]
[ ]*[a-f0-9]+: 62 f1 56 48 7b b4 f4 c0 1d fe ff vcvtusi2ss xmm6,xmm5,DWORD PTR \[esp\+esi\*8-0x1e240\]
[ ]*[a-f0-9]+: 62 f1 56 48 7b 72 7f vcvtusi2ss xmm6,xmm5,DWORD PTR \[edx\+0x1fc\]
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-opcode-inval-intel.d b/gas/testsuite/gas/i386/ilp32/x86-64-opcode-inval-intel.d
index cd503ebc9e7..cefd9fd28e6 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-opcode-inval-intel.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-opcode-inval-intel.d
@@ -12,26 +12,26 @@ Disassembly of section .text:
0+1 <aad0>:
[ ]*[a-f0-9]+: d5 \(bad\)
-[ ]*[a-f0-9]+: 0a d5 or dl,ch
+[ ]*[a-f0-9]+: 0a .byte 0xa
0+3 <aad1>:
[ ]*[a-f0-9]+: d5 \(bad\)
-[ ]*[a-f0-9]+: 02 d4 add dl,ah
+[ ]*[a-f0-9]+: 02 .byte 0x2
0+5 <aam0>:
[ ]*[a-f0-9]+: d4 \(bad\)
-[ ]*[a-f0-9]+: 0a d4 or dl,ah
+[ ]*[a-f0-9]+: 0a .byte 0xa
0+7 <aam1>:
[ ]*[a-f0-9]+: d4 \(bad\)
-[ ]*[a-f0-9]+: 02 3f add bh,BYTE PTR \[rdi\]
+[ ]*[a-f0-9]+: 02 .byte 0x2
0+9 <aas>:
[ ]*[a-f0-9]+: 3f \(bad\)
0+a <bound>:
-[ ]*[a-f0-9]+: 62 \(bad\)
-[ ]*[a-f0-9]+: 10 27 adc BYTE PTR \[rdi\],ah
+[ ]*[a-f0-9]+: 62 .byte 0x62
+[ ]*[a-f0-9]+: 10 .byte 0x10
0+c <daa>:
[ ]*[a-f0-9]+: 27 \(bad\)
diff --git a/gas/testsuite/gas/i386/ilp32/x86-64-opcode-inval.d b/gas/testsuite/gas/i386/ilp32/x86-64-opcode-inval.d
index 35f813741c7..21ac5de1205 100644
--- a/gas/testsuite/gas/i386/ilp32/x86-64-opcode-inval.d
+++ b/gas/testsuite/gas/i386/ilp32/x86-64-opcode-inval.d
@@ -12,26 +12,26 @@ Disassembly of section .text:
0+1 <aad0>:
[ ]*[a-f0-9]+: d5 \(bad\)
-[ ]*[a-f0-9]+: 0a d5 or %ch,%dl
+[ ]*[a-f0-9]+: 0a .byte 0xa
0+3 <aad1>:
[ ]*[a-f0-9]+: d5 \(bad\)
-[ ]*[a-f0-9]+: 02 d4 add %ah,%dl
+[ ]*[a-f0-9]+: 02 .byte 0x2
0+5 <aam0>:
[ ]*[a-f0-9]+: d4 \(bad\)
-[ ]*[a-f0-9]+: 0a d4 or %ah,%dl
+[ ]*[a-f0-9]+: 0a .byte 0xa
0+7 <aam1>:
[ ]*[a-f0-9]+: d4 \(bad\)
-[ ]*[a-f0-9]+: 02 3f add \(%rdi\),%bh
+[ ]*[a-f0-9]+: 02 .byte 0x2
0+9 <aas>:
[ ]*[a-f0-9]+: 3f \(bad\)
0+a <bound>:
-[ ]*[a-f0-9]+: 62 \(bad\)
-[ ]*[a-f0-9]+: 10 27 adc %ah,\(%rdi\)
+[ ]*[a-f0-9]+: 62 .byte 0x62
+[ ]*[a-f0-9]+: 10 .byte 0x10
0+c <daa>:
[ ]*[a-f0-9]+: 27 \(bad\)
diff --git a/gas/testsuite/gas/i386/x86-64-avx512f-intel.d b/gas/testsuite/gas/i386/x86-64-avx512f-intel.d
index e6e732a9bc7..c6bdbc5a16e 100644
--- a/gas/testsuite/gas/i386/x86-64-avx512f-intel.d
+++ b/gas/testsuite/gas/i386/x86-64-avx512f-intel.d
@@ -2464,15 +2464,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 17 00 2a 72 80 vcvtsi2sd xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 17 00 2a b2 fc fd ff ff vcvtsi2sd xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 97 00 2a f0 vcvtsi2sd xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 97 10 2a f0 vcvtsi2sd xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 50 2a f0 vcvtsi2sd xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 30 2a f0 vcvtsi2sd xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 70 2a f0 vcvtsi2sd xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 97 10 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 97 50 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 97 30 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 97 70 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 97 00 2a f0 vcvtsi2sd xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 97 10 2a f0 vcvtsi2sd xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 50 2a f0 vcvtsi2sd xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 30 2a f0 vcvtsi2sd xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 70 2a f0 vcvtsi2sd xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 97 10 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 97 50 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 97 30 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 97 70 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 97 00 2a 31 vcvtsi2sd xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 97 00 2a b4 f0 23 01 00 00 vcvtsi2sd xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x123\]
[ ]*[a-f0-9]+: 62 61 97 00 2a 72 7f vcvtsi2sd xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -2480,20 +2480,20 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 97 00 2a 72 80 vcvtsi2sd xmm30,xmm29,QWORD PTR \[rdx-0x400\]
[ ]*[a-f0-9]+: 62 61 97 00 2a b2 f8 fb ff ff vcvtsi2sd xmm30,xmm29,QWORD PTR \[rdx-0x408\]
[ ]*[a-f0-9]+: 62 61 16 00 2a f0 vcvtsi2ss xmm30,xmm29,eax
-[ ]*[a-f0-9]+: 62 61 16 10 2a f0 vcvtsi2ss xmm30,xmm29,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 50 2a f0 vcvtsi2ss xmm30,xmm29,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 30 2a f0 vcvtsi2ss xmm30,xmm29,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 70 2a f0 vcvtsi2ss xmm30,xmm29,\{rz-sae\},eax
+[ ]*[a-f0-9]+: 62 61 16 10 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 00 2a f5 vcvtsi2ss xmm30,xmm29,ebp
-[ ]*[a-f0-9]+: 62 61 16 10 2a f5 vcvtsi2ss xmm30,xmm29,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 50 2a f5 vcvtsi2ss xmm30,xmm29,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 30 2a f5 vcvtsi2ss xmm30,xmm29,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 70 2a f5 vcvtsi2ss xmm30,xmm29,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 61 16 10 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 16 00 2a f5 vcvtsi2ss xmm30,xmm29,r13d
-[ ]*[a-f0-9]+: 62 41 16 10 2a f5 vcvtsi2ss xmm30,xmm29,\{rn-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 50 2a f5 vcvtsi2ss xmm30,xmm29,\{ru-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 30 2a f5 vcvtsi2ss xmm30,xmm29,\{rd-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 70 2a f5 vcvtsi2ss xmm30,xmm29,\{rz-sae\},r13d
+[ ]*[a-f0-9]+: 62 41 16 10 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 16 50 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 16 30 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 16 70 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 00 2a 31 vcvtsi2ss xmm30,xmm29,DWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 16 00 2a b4 f0 23 01 00 00 vcvtsi2ss xmm30,xmm29,DWORD PTR \[rax\+r14\*8\+0x123\]
[ ]*[a-f0-9]+: 62 61 16 00 2a 72 7f vcvtsi2ss xmm30,xmm29,DWORD PTR \[rdx\+0x1fc\]
@@ -2501,15 +2501,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 16 00 2a 72 80 vcvtsi2ss xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 16 00 2a b2 fc fd ff ff vcvtsi2ss xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 96 00 2a f0 vcvtsi2ss xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 96 10 2a f0 vcvtsi2ss xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 50 2a f0 vcvtsi2ss xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 30 2a f0 vcvtsi2ss xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 70 2a f0 vcvtsi2ss xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 96 10 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 96 50 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 96 30 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 96 70 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 96 00 2a f0 vcvtsi2ss xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 96 10 2a f0 vcvtsi2ss xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 50 2a f0 vcvtsi2ss xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 30 2a f0 vcvtsi2ss xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 70 2a f0 vcvtsi2ss xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 96 10 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 96 50 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 96 30 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 96 70 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 96 00 2a 31 vcvtsi2ss xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 96 00 2a b4 f0 23 01 00 00 vcvtsi2ss xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x123\]
[ ]*[a-f0-9]+: 62 61 96 00 2a 72 7f vcvtsi2ss xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -6204,15 +6204,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 17 00 7b 72 80 vcvtusi2sd xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 17 00 7b b2 fc fd ff ff vcvtusi2sd xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 97 00 7b f0 vcvtusi2sd xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 97 10 7b f0 vcvtusi2sd xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 50 7b f0 vcvtusi2sd xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 30 7b f0 vcvtusi2sd xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 70 7b f0 vcvtusi2sd xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 97 10 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 97 50 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 97 30 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 97 70 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 97 00 7b f0 vcvtusi2sd xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 97 10 7b f0 vcvtusi2sd xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 50 7b f0 vcvtusi2sd xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 30 7b f0 vcvtusi2sd xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 70 7b f0 vcvtusi2sd xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 97 10 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 97 50 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 97 30 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 97 70 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 97 00 7b 31 vcvtusi2sd xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 97 00 7b b4 f0 23 01 00 00 vcvtusi2sd xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x123\]
[ ]*[a-f0-9]+: 62 61 97 00 7b 72 7f vcvtusi2sd xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -6220,20 +6220,20 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 97 00 7b 72 80 vcvtusi2sd xmm30,xmm29,QWORD PTR \[rdx-0x400\]
[ ]*[a-f0-9]+: 62 61 97 00 7b b2 f8 fb ff ff vcvtusi2sd xmm30,xmm29,QWORD PTR \[rdx-0x408\]
[ ]*[a-f0-9]+: 62 61 16 00 7b f0 vcvtusi2ss xmm30,xmm29,eax
-[ ]*[a-f0-9]+: 62 61 16 10 7b f0 vcvtusi2ss xmm30,xmm29,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 50 7b f0 vcvtusi2ss xmm30,xmm29,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 30 7b f0 vcvtusi2ss xmm30,xmm29,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 70 7b f0 vcvtusi2ss xmm30,xmm29,\{rz-sae\},eax
+[ ]*[a-f0-9]+: 62 61 16 10 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 00 7b f5 vcvtusi2ss xmm30,xmm29,ebp
-[ ]*[a-f0-9]+: 62 61 16 10 7b f5 vcvtusi2ss xmm30,xmm29,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 50 7b f5 vcvtusi2ss xmm30,xmm29,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 30 7b f5 vcvtusi2ss xmm30,xmm29,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 70 7b f5 vcvtusi2ss xmm30,xmm29,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 61 16 10 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 16 00 7b f5 vcvtusi2ss xmm30,xmm29,r13d
-[ ]*[a-f0-9]+: 62 41 16 10 7b f5 vcvtusi2ss xmm30,xmm29,\{rn-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 50 7b f5 vcvtusi2ss xmm30,xmm29,\{ru-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 30 7b f5 vcvtusi2ss xmm30,xmm29,\{rd-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 70 7b f5 vcvtusi2ss xmm30,xmm29,\{rz-sae\},r13d
+[ ]*[a-f0-9]+: 62 41 16 10 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 16 50 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 16 30 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 16 70 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 00 7b 31 vcvtusi2ss xmm30,xmm29,DWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 16 00 7b b4 f0 23 01 00 00 vcvtusi2ss xmm30,xmm29,DWORD PTR \[rax\+r14\*8\+0x123\]
[ ]*[a-f0-9]+: 62 61 16 00 7b 72 7f vcvtusi2ss xmm30,xmm29,DWORD PTR \[rdx\+0x1fc\]
@@ -6241,15 +6241,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 16 00 7b 72 80 vcvtusi2ss xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 16 00 7b b2 fc fd ff ff vcvtusi2ss xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 96 00 7b f0 vcvtusi2ss xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 96 10 7b f0 vcvtusi2ss xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 50 7b f0 vcvtusi2ss xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 30 7b f0 vcvtusi2ss xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 70 7b f0 vcvtusi2ss xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 96 10 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 96 50 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 96 30 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 96 70 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 96 00 7b f0 vcvtusi2ss xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 96 10 7b f0 vcvtusi2ss xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 50 7b f0 vcvtusi2ss xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 30 7b f0 vcvtusi2ss xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 70 7b f0 vcvtusi2ss xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 96 10 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 96 50 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 96 30 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 96 70 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 96 00 7b 31 vcvtusi2ss xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 96 00 7b b4 f0 23 01 00 00 vcvtusi2ss xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x123\]
[ ]*[a-f0-9]+: 62 61 96 00 7b 72 7f vcvtusi2ss xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -9484,15 +9484,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 17 00 2a 72 80 vcvtsi2sd xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 17 00 2a b2 fc fd ff ff vcvtsi2sd xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 97 00 2a f0 vcvtsi2sd xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 97 10 2a f0 vcvtsi2sd xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 50 2a f0 vcvtsi2sd xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 30 2a f0 vcvtsi2sd xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 70 2a f0 vcvtsi2sd xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 97 10 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 97 50 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 97 30 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 97 70 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 97 00 2a f0 vcvtsi2sd xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 97 10 2a f0 vcvtsi2sd xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 50 2a f0 vcvtsi2sd xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 30 2a f0 vcvtsi2sd xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 70 2a f0 vcvtsi2sd xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 97 10 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 97 50 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 97 30 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 97 70 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 97 00 2a 31 vcvtsi2sd xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 97 00 2a b4 f0 34 12 00 00 vcvtsi2sd xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x1234\]
[ ]*[a-f0-9]+: 62 61 97 00 2a 72 7f vcvtsi2sd xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -9500,20 +9500,20 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 97 00 2a 72 80 vcvtsi2sd xmm30,xmm29,QWORD PTR \[rdx-0x400\]
[ ]*[a-f0-9]+: 62 61 97 00 2a b2 f8 fb ff ff vcvtsi2sd xmm30,xmm29,QWORD PTR \[rdx-0x408\]
[ ]*[a-f0-9]+: 62 61 16 00 2a f0 vcvtsi2ss xmm30,xmm29,eax
-[ ]*[a-f0-9]+: 62 61 16 10 2a f0 vcvtsi2ss xmm30,xmm29,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 50 2a f0 vcvtsi2ss xmm30,xmm29,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 30 2a f0 vcvtsi2ss xmm30,xmm29,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 70 2a f0 vcvtsi2ss xmm30,xmm29,\{rz-sae\},eax
+[ ]*[a-f0-9]+: 62 61 16 10 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 00 2a f5 vcvtsi2ss xmm30,xmm29,ebp
-[ ]*[a-f0-9]+: 62 61 16 10 2a f5 vcvtsi2ss xmm30,xmm29,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 50 2a f5 vcvtsi2ss xmm30,xmm29,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 30 2a f5 vcvtsi2ss xmm30,xmm29,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 70 2a f5 vcvtsi2ss xmm30,xmm29,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 61 16 10 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 16 00 2a f5 vcvtsi2ss xmm30,xmm29,r13d
-[ ]*[a-f0-9]+: 62 41 16 10 2a f5 vcvtsi2ss xmm30,xmm29,\{rn-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 50 2a f5 vcvtsi2ss xmm30,xmm29,\{ru-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 30 2a f5 vcvtsi2ss xmm30,xmm29,\{rd-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 70 2a f5 vcvtsi2ss xmm30,xmm29,\{rz-sae\},r13d
+[ ]*[a-f0-9]+: 62 41 16 10 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 16 50 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 16 30 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 16 70 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 00 2a 31 vcvtsi2ss xmm30,xmm29,DWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 16 00 2a b4 f0 34 12 00 00 vcvtsi2ss xmm30,xmm29,DWORD PTR \[rax\+r14\*8\+0x1234\]
[ ]*[a-f0-9]+: 62 61 16 00 2a 72 7f vcvtsi2ss xmm30,xmm29,DWORD PTR \[rdx\+0x1fc\]
@@ -9521,15 +9521,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 16 00 2a 72 80 vcvtsi2ss xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 16 00 2a b2 fc fd ff ff vcvtsi2ss xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 96 00 2a f0 vcvtsi2ss xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 96 10 2a f0 vcvtsi2ss xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 50 2a f0 vcvtsi2ss xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 30 2a f0 vcvtsi2ss xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 70 2a f0 vcvtsi2ss xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 96 10 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 96 50 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 96 30 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 96 70 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 96 00 2a f0 vcvtsi2ss xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 96 10 2a f0 vcvtsi2ss xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 50 2a f0 vcvtsi2ss xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 30 2a f0 vcvtsi2ss xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 70 2a f0 vcvtsi2ss xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 96 10 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 96 50 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 96 30 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 96 70 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 96 00 2a 31 vcvtsi2ss xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 96 00 2a b4 f0 34 12 00 00 vcvtsi2ss xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x1234\]
[ ]*[a-f0-9]+: 62 61 96 00 2a 72 7f vcvtsi2ss xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -13224,15 +13224,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 17 00 7b 72 80 vcvtusi2sd xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 17 00 7b b2 fc fd ff ff vcvtusi2sd xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 97 00 7b f0 vcvtusi2sd xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 97 10 7b f0 vcvtusi2sd xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 50 7b f0 vcvtusi2sd xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 30 7b f0 vcvtusi2sd xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 70 7b f0 vcvtusi2sd xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 97 10 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 97 50 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 97 30 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 97 70 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 97 00 7b f0 vcvtusi2sd xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 97 10 7b f0 vcvtusi2sd xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 50 7b f0 vcvtusi2sd xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 30 7b f0 vcvtusi2sd xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 70 7b f0 vcvtusi2sd xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 97 10 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 97 50 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 97 30 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 97 70 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 97 00 7b 31 vcvtusi2sd xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 97 00 7b b4 f0 34 12 00 00 vcvtusi2sd xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x1234\]
[ ]*[a-f0-9]+: 62 61 97 00 7b 72 7f vcvtusi2sd xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -13240,20 +13240,20 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 97 00 7b 72 80 vcvtusi2sd xmm30,xmm29,QWORD PTR \[rdx-0x400\]
[ ]*[a-f0-9]+: 62 61 97 00 7b b2 f8 fb ff ff vcvtusi2sd xmm30,xmm29,QWORD PTR \[rdx-0x408\]
[ ]*[a-f0-9]+: 62 61 16 00 7b f0 vcvtusi2ss xmm30,xmm29,eax
-[ ]*[a-f0-9]+: 62 61 16 10 7b f0 vcvtusi2ss xmm30,xmm29,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 50 7b f0 vcvtusi2ss xmm30,xmm29,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 30 7b f0 vcvtusi2ss xmm30,xmm29,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 70 7b f0 vcvtusi2ss xmm30,xmm29,\{rz-sae\},eax
+[ ]*[a-f0-9]+: 62 61 16 10 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 00 7b f5 vcvtusi2ss xmm30,xmm29,ebp
-[ ]*[a-f0-9]+: 62 61 16 10 7b f5 vcvtusi2ss xmm30,xmm29,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 50 7b f5 vcvtusi2ss xmm30,xmm29,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 30 7b f5 vcvtusi2ss xmm30,xmm29,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 70 7b f5 vcvtusi2ss xmm30,xmm29,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 61 16 10 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 16 00 7b f5 vcvtusi2ss xmm30,xmm29,r13d
-[ ]*[a-f0-9]+: 62 41 16 10 7b f5 vcvtusi2ss xmm30,xmm29,\{rn-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 50 7b f5 vcvtusi2ss xmm30,xmm29,\{ru-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 30 7b f5 vcvtusi2ss xmm30,xmm29,\{rd-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 70 7b f5 vcvtusi2ss xmm30,xmm29,\{rz-sae\},r13d
+[ ]*[a-f0-9]+: 62 41 16 10 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 16 50 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 16 30 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 16 70 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 00 7b 31 vcvtusi2ss xmm30,xmm29,DWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 16 00 7b b4 f0 34 12 00 00 vcvtusi2ss xmm30,xmm29,DWORD PTR \[rax\+r14\*8\+0x1234\]
[ ]*[a-f0-9]+: 62 61 16 00 7b 72 7f vcvtusi2ss xmm30,xmm29,DWORD PTR \[rdx\+0x1fc\]
@@ -13261,15 +13261,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 16 00 7b 72 80 vcvtusi2ss xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 16 00 7b b2 fc fd ff ff vcvtusi2ss xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 96 00 7b f0 vcvtusi2ss xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 96 10 7b f0 vcvtusi2ss xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 50 7b f0 vcvtusi2ss xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 30 7b f0 vcvtusi2ss xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 70 7b f0 vcvtusi2ss xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 96 10 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 96 50 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 96 30 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 96 70 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 96 00 7b f0 vcvtusi2ss xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 96 10 7b f0 vcvtusi2ss xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 50 7b f0 vcvtusi2ss xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 30 7b f0 vcvtusi2ss xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 70 7b f0 vcvtusi2ss xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 96 10 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 96 50 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 96 30 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 96 70 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 96 00 7b 31 vcvtusi2ss xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 96 00 7b b4 f0 34 12 00 00 vcvtusi2ss xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x1234\]
[ ]*[a-f0-9]+: 62 61 96 00 7b 72 7f vcvtusi2ss xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
diff --git a/gas/testsuite/gas/i386/x86-64-avx512f.s b/gas/testsuite/gas/i386/x86-64-avx512f.s
index b8479d986f5..fa42326113f 100644
--- a/gas/testsuite/gas/i386/x86-64-avx512f.s
+++ b/gas/testsuite/gas/i386/x86-64-avx512f.s
@@ -10339,15 +10339,15 @@ _start:
vcvtsi2sd xmm30, xmm29, DWORD PTR [rdx-516] # AVX512F
vcvtsi2sd xmm30, xmm29, rax # AVX512F
- vcvtsi2sd xmm30, xmm29, {rn-sae}, rax # AVX512F
- vcvtsi2sd xmm30, xmm29, {ru-sae}, rax # AVX512F
- vcvtsi2sd xmm30, xmm29, {rd-sae}, rax # AVX512F
- vcvtsi2sd xmm30, xmm29, {rz-sae}, rax # AVX512F
+ vcvtsi2sd xmm30, xmm29, rax, {rn-sae} # AVX512F
+ vcvtsi2sd xmm30, xmm29, rax, {ru-sae} # AVX512F
+ vcvtsi2sd xmm30, xmm29, rax, {rd-sae} # AVX512F
+ vcvtsi2sd xmm30, xmm29, rax, {rz-sae} # AVX512F
vcvtsi2sd xmm30, xmm29, r8 # AVX512F
- vcvtsi2sd xmm30, xmm29, {rn-sae}, r8 # AVX512F
- vcvtsi2sd xmm30, xmm29, {ru-sae}, r8 # AVX512F
- vcvtsi2sd xmm30, xmm29, {rd-sae}, r8 # AVX512F
- vcvtsi2sd xmm30, xmm29, {rz-sae}, r8 # AVX512F
+ vcvtsi2sd xmm30, xmm29, r8, {rn-sae} # AVX512F
+ vcvtsi2sd xmm30, xmm29, r8, {ru-sae} # AVX512F
+ vcvtsi2sd xmm30, xmm29, r8, {rd-sae} # AVX512F
+ vcvtsi2sd xmm30, xmm29, r8, {rz-sae} # AVX512F
vcvtsi2sd xmm30, xmm29, QWORD PTR [rcx] # AVX512F
vcvtsi2sd xmm30, xmm29, QWORD PTR [rax+r14*8+0x1234] # AVX512F
vcvtsi2sd xmm30, xmm29, QWORD PTR [rdx+1016] # AVX512F Disp8
@@ -10356,20 +10356,20 @@ _start:
vcvtsi2sd xmm30, xmm29, QWORD PTR [rdx-1032] # AVX512F
vcvtsi2ss xmm30, xmm29, eax # AVX512F
- vcvtsi2ss xmm30, xmm29, {rn-sae}, eax # AVX512F
- vcvtsi2ss xmm30, xmm29, {ru-sae}, eax # AVX512F
- vcvtsi2ss xmm30, xmm29, {rd-sae}, eax # AVX512F
- vcvtsi2ss xmm30, xmm29, {rz-sae}, eax # AVX512F
+ vcvtsi2ss xmm30, xmm29, eax, {rn-sae} # AVX512F
+ vcvtsi2ss xmm30, xmm29, eax, {ru-sae} # AVX512F
+ vcvtsi2ss xmm30, xmm29, eax, {rd-sae} # AVX512F
+ vcvtsi2ss xmm30, xmm29, eax, {rz-sae} # AVX512F
vcvtsi2ss xmm30, xmm29, ebp # AVX512F
- vcvtsi2ss xmm30, xmm29, {rn-sae}, ebp # AVX512F
- vcvtsi2ss xmm30, xmm29, {ru-sae}, ebp # AVX512F
- vcvtsi2ss xmm30, xmm29, {rd-sae}, ebp # AVX512F
- vcvtsi2ss xmm30, xmm29, {rz-sae}, ebp # AVX512F
+ vcvtsi2ss xmm30, xmm29, ebp, {rn-sae} # AVX512F
+ vcvtsi2ss xmm30, xmm29, ebp, {ru-sae} # AVX512F
+ vcvtsi2ss xmm30, xmm29, ebp, {rd-sae} # AVX512F
+ vcvtsi2ss xmm30, xmm29, ebp, {rz-sae} # AVX512F
vcvtsi2ss xmm30, xmm29, r13d # AVX512F
- vcvtsi2ss xmm30, xmm29, {rn-sae}, r13d # AVX512F
- vcvtsi2ss xmm30, xmm29, {ru-sae}, r13d # AVX512F
- vcvtsi2ss xmm30, xmm29, {rd-sae}, r13d # AVX512F
- vcvtsi2ss xmm30, xmm29, {rz-sae}, r13d # AVX512F
+ vcvtsi2ss xmm30, xmm29, r13d, {rn-sae} # AVX512F
+ vcvtsi2ss xmm30, xmm29, r13d, {ru-sae} # AVX512F
+ vcvtsi2ss xmm30, xmm29, r13d, {rd-sae} # AVX512F
+ vcvtsi2ss xmm30, xmm29, r13d, {rz-sae} # AVX512F
vcvtsi2ss xmm30, xmm29, DWORD PTR [rcx] # AVX512F
vcvtsi2ss xmm30, xmm29, DWORD PTR [rax+r14*8+0x1234] # AVX512F
vcvtsi2ss xmm30, xmm29, DWORD PTR [rdx+508] # AVX512F Disp8
@@ -10378,15 +10378,15 @@ _start:
vcvtsi2ss xmm30, xmm29, DWORD PTR [rdx-516] # AVX512F
vcvtsi2ss xmm30, xmm29, rax # AVX512F
- vcvtsi2ss xmm30, xmm29, {rn-sae}, rax # AVX512F
- vcvtsi2ss xmm30, xmm29, {ru-sae}, rax # AVX512F
- vcvtsi2ss xmm30, xmm29, {rd-sae}, rax # AVX512F
- vcvtsi2ss xmm30, xmm29, {rz-sae}, rax # AVX512F
+ vcvtsi2ss xmm30, xmm29, rax, {rn-sae} # AVX512F
+ vcvtsi2ss xmm30, xmm29, rax, {ru-sae} # AVX512F
+ vcvtsi2ss xmm30, xmm29, rax, {rd-sae} # AVX512F
+ vcvtsi2ss xmm30, xmm29, rax, {rz-sae} # AVX512F
vcvtsi2ss xmm30, xmm29, r8 # AVX512F
- vcvtsi2ss xmm30, xmm29, {rn-sae}, r8 # AVX512F
- vcvtsi2ss xmm30, xmm29, {ru-sae}, r8 # AVX512F
- vcvtsi2ss xmm30, xmm29, {rd-sae}, r8 # AVX512F
- vcvtsi2ss xmm30, xmm29, {rz-sae}, r8 # AVX512F
+ vcvtsi2ss xmm30, xmm29, r8, {rn-sae} # AVX512F
+ vcvtsi2ss xmm30, xmm29, r8, {ru-sae} # AVX512F
+ vcvtsi2ss xmm30, xmm29, r8, {rd-sae} # AVX512F
+ vcvtsi2ss xmm30, xmm29, r8, {rz-sae} # AVX512F
vcvtsi2ss xmm30, xmm29, QWORD PTR [rcx] # AVX512F
vcvtsi2ss xmm30, xmm29, QWORD PTR [rax+r14*8+0x1234] # AVX512F
vcvtsi2ss xmm30, xmm29, QWORD PTR [rdx+1016] # AVX512F Disp8
@@ -14409,15 +14409,15 @@ _start:
vcvtusi2sd xmm30, xmm29, DWORD PTR [rdx-516] # AVX512F
vcvtusi2sd xmm30, xmm29, rax # AVX512F
- vcvtusi2sd xmm30, xmm29, {rn-sae}, rax # AVX512F
- vcvtusi2sd xmm30, xmm29, {ru-sae}, rax # AVX512F
- vcvtusi2sd xmm30, xmm29, {rd-sae}, rax # AVX512F
- vcvtusi2sd xmm30, xmm29, {rz-sae}, rax # AVX512F
+ vcvtusi2sd xmm30, xmm29, rax, {rn-sae} # AVX512F
+ vcvtusi2sd xmm30, xmm29, rax, {ru-sae} # AVX512F
+ vcvtusi2sd xmm30, xmm29, rax, {rd-sae} # AVX512F
+ vcvtusi2sd xmm30, xmm29, rax, {rz-sae} # AVX512F
vcvtusi2sd xmm30, xmm29, r8 # AVX512F
- vcvtusi2sd xmm30, xmm29, {rn-sae}, r8 # AVX512F
- vcvtusi2sd xmm30, xmm29, {ru-sae}, r8 # AVX512F
- vcvtusi2sd xmm30, xmm29, {rd-sae}, r8 # AVX512F
- vcvtusi2sd xmm30, xmm29, {rz-sae}, r8 # AVX512F
+ vcvtusi2sd xmm30, xmm29, r8, {rn-sae} # AVX512F
+ vcvtusi2sd xmm30, xmm29, r8, {ru-sae} # AVX512F
+ vcvtusi2sd xmm30, xmm29, r8, {rd-sae} # AVX512F
+ vcvtusi2sd xmm30, xmm29, r8, {rz-sae} # AVX512F
vcvtusi2sd xmm30, xmm29, QWORD PTR [rcx] # AVX512F
vcvtusi2sd xmm30, xmm29, QWORD PTR [rax+r14*8+0x1234] # AVX512F
vcvtusi2sd xmm30, xmm29, QWORD PTR [rdx+1016] # AVX512F Disp8
@@ -14426,20 +14426,20 @@ _start:
vcvtusi2sd xmm30, xmm29, QWORD PTR [rdx-1032] # AVX512F
vcvtusi2ss xmm30, xmm29, eax # AVX512F
- vcvtusi2ss xmm30, xmm29, {rn-sae}, eax # AVX512F
- vcvtusi2ss xmm30, xmm29, {ru-sae}, eax # AVX512F
- vcvtusi2ss xmm30, xmm29, {rd-sae}, eax # AVX512F
- vcvtusi2ss xmm30, xmm29, {rz-sae}, eax # AVX512F
+ vcvtusi2ss xmm30, xmm29, eax, {rn-sae} # AVX512F
+ vcvtusi2ss xmm30, xmm29, eax, {ru-sae} # AVX512F
+ vcvtusi2ss xmm30, xmm29, eax, {rd-sae} # AVX512F
+ vcvtusi2ss xmm30, xmm29, eax, {rz-sae} # AVX512F
vcvtusi2ss xmm30, xmm29, ebp # AVX512F
- vcvtusi2ss xmm30, xmm29, {rn-sae}, ebp # AVX512F
- vcvtusi2ss xmm30, xmm29, {ru-sae}, ebp # AVX512F
- vcvtusi2ss xmm30, xmm29, {rd-sae}, ebp # AVX512F
- vcvtusi2ss xmm30, xmm29, {rz-sae}, ebp # AVX512F
+ vcvtusi2ss xmm30, xmm29, ebp, {rn-sae} # AVX512F
+ vcvtusi2ss xmm30, xmm29, ebp, {ru-sae} # AVX512F
+ vcvtusi2ss xmm30, xmm29, ebp, {rd-sae} # AVX512F
+ vcvtusi2ss xmm30, xmm29, ebp, {rz-sae} # AVX512F
vcvtusi2ss xmm30, xmm29, r13d # AVX512F
- vcvtusi2ss xmm30, xmm29, {rn-sae}, r13d # AVX512F
- vcvtusi2ss xmm30, xmm29, {ru-sae}, r13d # AVX512F
- vcvtusi2ss xmm30, xmm29, {rd-sae}, r13d # AVX512F
- vcvtusi2ss xmm30, xmm29, {rz-sae}, r13d # AVX512F
+ vcvtusi2ss xmm30, xmm29, r13d, {rn-sae} # AVX512F
+ vcvtusi2ss xmm30, xmm29, r13d, {ru-sae} # AVX512F
+ vcvtusi2ss xmm30, xmm29, r13d, {rd-sae} # AVX512F
+ vcvtusi2ss xmm30, xmm29, r13d, {rz-sae} # AVX512F
vcvtusi2ss xmm30, xmm29, DWORD PTR [rcx] # AVX512F
vcvtusi2ss xmm30, xmm29, DWORD PTR [rax+r14*8+0x1234] # AVX512F
vcvtusi2ss xmm30, xmm29, DWORD PTR [rdx+508] # AVX512F Disp8
@@ -14448,15 +14448,15 @@ _start:
vcvtusi2ss xmm30, xmm29, DWORD PTR [rdx-516] # AVX512F
vcvtusi2ss xmm30, xmm29, rax # AVX512F
- vcvtusi2ss xmm30, xmm29, {rn-sae}, rax # AVX512F
- vcvtusi2ss xmm30, xmm29, {ru-sae}, rax # AVX512F
- vcvtusi2ss xmm30, xmm29, {rd-sae}, rax # AVX512F
- vcvtusi2ss xmm30, xmm29, {rz-sae}, rax # AVX512F
+ vcvtusi2ss xmm30, xmm29, rax, {rn-sae} # AVX512F
+ vcvtusi2ss xmm30, xmm29, rax, {ru-sae} # AVX512F
+ vcvtusi2ss xmm30, xmm29, rax, {rd-sae} # AVX512F
+ vcvtusi2ss xmm30, xmm29, rax, {rz-sae} # AVX512F
vcvtusi2ss xmm30, xmm29, r8 # AVX512F
- vcvtusi2ss xmm30, xmm29, {rn-sae}, r8 # AVX512F
- vcvtusi2ss xmm30, xmm29, {ru-sae}, r8 # AVX512F
- vcvtusi2ss xmm30, xmm29, {rd-sae}, r8 # AVX512F
- vcvtusi2ss xmm30, xmm29, {rz-sae}, r8 # AVX512F
+ vcvtusi2ss xmm30, xmm29, r8, {rn-sae} # AVX512F
+ vcvtusi2ss xmm30, xmm29, r8, {ru-sae} # AVX512F
+ vcvtusi2ss xmm30, xmm29, r8, {rd-sae} # AVX512F
+ vcvtusi2ss xmm30, xmm29, r8, {rz-sae} # AVX512F
vcvtusi2ss xmm30, xmm29, QWORD PTR [rcx] # AVX512F
vcvtusi2ss xmm30, xmm29, QWORD PTR [rax+r14*8+0x1234] # AVX512F
vcvtusi2ss xmm30, xmm29, QWORD PTR [rdx+1016] # AVX512F Disp8
diff --git a/gas/testsuite/gas/i386/x86-64-evex-lig256-intel.d b/gas/testsuite/gas/i386/x86-64-evex-lig256-intel.d
index d925b374519..34743ec94b5 100644
--- a/gas/testsuite/gas/i386/x86-64-evex-lig256-intel.d
+++ b/gas/testsuite/gas/i386/x86-64-evex-lig256-intel.d
@@ -847,15 +847,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 17 20 2a 72 80 vcvtsi2sd xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 17 20 2a b2 fc fd ff ff vcvtsi2sd xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 97 20 2a f0 vcvtsi2sd xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 97 10 2a f0 vcvtsi2sd xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 50 2a f0 vcvtsi2sd xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 30 2a f0 vcvtsi2sd xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 70 2a f0 vcvtsi2sd xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 97 10 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 97 50 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 97 30 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 97 70 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 97 20 2a f0 vcvtsi2sd xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 97 10 2a f0 vcvtsi2sd xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 50 2a f0 vcvtsi2sd xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 30 2a f0 vcvtsi2sd xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 70 2a f0 vcvtsi2sd xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 97 10 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 97 50 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 97 30 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 97 70 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 97 20 2a 31 vcvtsi2sd xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 97 20 2a b4 f0 23 01 00 00 vcvtsi2sd xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x123\]
[ ]*[a-f0-9]+: 62 61 97 20 2a 72 7f vcvtsi2sd xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -863,20 +863,20 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 97 20 2a 72 80 vcvtsi2sd xmm30,xmm29,QWORD PTR \[rdx-0x400\]
[ ]*[a-f0-9]+: 62 61 97 20 2a b2 f8 fb ff ff vcvtsi2sd xmm30,xmm29,QWORD PTR \[rdx-0x408\]
[ ]*[a-f0-9]+: 62 61 16 20 2a f0 vcvtsi2ss xmm30,xmm29,eax
-[ ]*[a-f0-9]+: 62 61 16 10 2a f0 vcvtsi2ss xmm30,xmm29,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 50 2a f0 vcvtsi2ss xmm30,xmm29,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 30 2a f0 vcvtsi2ss xmm30,xmm29,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 70 2a f0 vcvtsi2ss xmm30,xmm29,\{rz-sae\},eax
+[ ]*[a-f0-9]+: 62 61 16 10 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 20 2a f5 vcvtsi2ss xmm30,xmm29,ebp
-[ ]*[a-f0-9]+: 62 61 16 10 2a f5 vcvtsi2ss xmm30,xmm29,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 50 2a f5 vcvtsi2ss xmm30,xmm29,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 30 2a f5 vcvtsi2ss xmm30,xmm29,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 70 2a f5 vcvtsi2ss xmm30,xmm29,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 61 16 10 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 16 20 2a f5 vcvtsi2ss xmm30,xmm29,r13d
-[ ]*[a-f0-9]+: 62 41 16 10 2a f5 vcvtsi2ss xmm30,xmm29,\{rn-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 50 2a f5 vcvtsi2ss xmm30,xmm29,\{ru-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 30 2a f5 vcvtsi2ss xmm30,xmm29,\{rd-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 70 2a f5 vcvtsi2ss xmm30,xmm29,\{rz-sae\},r13d
+[ ]*[a-f0-9]+: 62 41 16 10 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 16 50 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 16 30 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 16 70 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 20 2a 31 vcvtsi2ss xmm30,xmm29,DWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 16 20 2a b4 f0 23 01 00 00 vcvtsi2ss xmm30,xmm29,DWORD PTR \[rax\+r14\*8\+0x123\]
[ ]*[a-f0-9]+: 62 61 16 20 2a 72 7f vcvtsi2ss xmm30,xmm29,DWORD PTR \[rdx\+0x1fc\]
@@ -884,15 +884,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 16 20 2a 72 80 vcvtsi2ss xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 16 20 2a b2 fc fd ff ff vcvtsi2ss xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 96 20 2a f0 vcvtsi2ss xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 96 10 2a f0 vcvtsi2ss xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 50 2a f0 vcvtsi2ss xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 30 2a f0 vcvtsi2ss xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 70 2a f0 vcvtsi2ss xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 96 10 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 96 50 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 96 30 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 96 70 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 96 20 2a f0 vcvtsi2ss xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 96 10 2a f0 vcvtsi2ss xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 50 2a f0 vcvtsi2ss xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 30 2a f0 vcvtsi2ss xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 70 2a f0 vcvtsi2ss xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 96 10 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 96 50 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 96 30 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 96 70 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 96 20 2a 31 vcvtsi2ss xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 96 20 2a b4 f0 23 01 00 00 vcvtsi2ss xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x123\]
[ ]*[a-f0-9]+: 62 61 96 20 2a 72 7f vcvtsi2ss xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -1632,15 +1632,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 17 20 7b 72 80 vcvtusi2sd xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 17 20 7b b2 fc fd ff ff vcvtusi2sd xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 97 20 7b f0 vcvtusi2sd xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 97 10 7b f0 vcvtusi2sd xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 50 7b f0 vcvtusi2sd xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 30 7b f0 vcvtusi2sd xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 70 7b f0 vcvtusi2sd xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 97 10 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 97 50 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 97 30 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 97 70 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 97 20 7b f0 vcvtusi2sd xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 97 10 7b f0 vcvtusi2sd xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 50 7b f0 vcvtusi2sd xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 30 7b f0 vcvtusi2sd xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 70 7b f0 vcvtusi2sd xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 97 10 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 97 50 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 97 30 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 97 70 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 97 20 7b 31 vcvtusi2sd xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 97 20 7b b4 f0 23 01 00 00 vcvtusi2sd xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x123\]
[ ]*[a-f0-9]+: 62 61 97 20 7b 72 7f vcvtusi2sd xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -1648,20 +1648,20 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 97 20 7b 72 80 vcvtusi2sd xmm30,xmm29,QWORD PTR \[rdx-0x400\]
[ ]*[a-f0-9]+: 62 61 97 20 7b b2 f8 fb ff ff vcvtusi2sd xmm30,xmm29,QWORD PTR \[rdx-0x408\]
[ ]*[a-f0-9]+: 62 61 16 20 7b f0 vcvtusi2ss xmm30,xmm29,eax
-[ ]*[a-f0-9]+: 62 61 16 10 7b f0 vcvtusi2ss xmm30,xmm29,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 50 7b f0 vcvtusi2ss xmm30,xmm29,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 30 7b f0 vcvtusi2ss xmm30,xmm29,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 70 7b f0 vcvtusi2ss xmm30,xmm29,\{rz-sae\},eax
+[ ]*[a-f0-9]+: 62 61 16 10 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 20 7b f5 vcvtusi2ss xmm30,xmm29,ebp
-[ ]*[a-f0-9]+: 62 61 16 10 7b f5 vcvtusi2ss xmm30,xmm29,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 50 7b f5 vcvtusi2ss xmm30,xmm29,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 30 7b f5 vcvtusi2ss xmm30,xmm29,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 70 7b f5 vcvtusi2ss xmm30,xmm29,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 61 16 10 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 16 20 7b f5 vcvtusi2ss xmm30,xmm29,r13d
-[ ]*[a-f0-9]+: 62 41 16 10 7b f5 vcvtusi2ss xmm30,xmm29,\{rn-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 50 7b f5 vcvtusi2ss xmm30,xmm29,\{ru-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 30 7b f5 vcvtusi2ss xmm30,xmm29,\{rd-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 70 7b f5 vcvtusi2ss xmm30,xmm29,\{rz-sae\},r13d
+[ ]*[a-f0-9]+: 62 41 16 10 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 16 50 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 16 30 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 16 70 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 20 7b 31 vcvtusi2ss xmm30,xmm29,DWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 16 20 7b b4 f0 23 01 00 00 vcvtusi2ss xmm30,xmm29,DWORD PTR \[rax\+r14\*8\+0x123\]
[ ]*[a-f0-9]+: 62 61 16 20 7b 72 7f vcvtusi2ss xmm30,xmm29,DWORD PTR \[rdx\+0x1fc\]
@@ -1669,15 +1669,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 16 20 7b 72 80 vcvtusi2ss xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 16 20 7b b2 fc fd ff ff vcvtusi2ss xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 96 20 7b f0 vcvtusi2ss xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 96 10 7b f0 vcvtusi2ss xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 50 7b f0 vcvtusi2ss xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 30 7b f0 vcvtusi2ss xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 70 7b f0 vcvtusi2ss xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 96 10 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 96 50 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 96 30 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 96 70 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 96 20 7b f0 vcvtusi2ss xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 96 10 7b f0 vcvtusi2ss xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 50 7b f0 vcvtusi2ss xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 30 7b f0 vcvtusi2ss xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 70 7b f0 vcvtusi2ss xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 96 10 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 96 50 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 96 30 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 96 70 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 96 20 7b 31 vcvtusi2ss xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 96 20 7b b4 f0 23 01 00 00 vcvtusi2ss xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x123\]
[ ]*[a-f0-9]+: 62 61 96 20 7b 72 7f vcvtusi2ss xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -2590,15 +2590,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 17 20 2a 72 80 vcvtsi2sd xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 17 20 2a b2 fc fd ff ff vcvtsi2sd xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 97 20 2a f0 vcvtsi2sd xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 97 10 2a f0 vcvtsi2sd xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 50 2a f0 vcvtsi2sd xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 30 2a f0 vcvtsi2sd xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 70 2a f0 vcvtsi2sd xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 97 10 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 97 50 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 97 30 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 97 70 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 97 20 2a f0 vcvtsi2sd xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 97 10 2a f0 vcvtsi2sd xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 50 2a f0 vcvtsi2sd xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 30 2a f0 vcvtsi2sd xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 70 2a f0 vcvtsi2sd xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 97 10 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 97 50 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 97 30 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 97 70 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 97 20 2a 31 vcvtsi2sd xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 97 20 2a b4 f0 34 12 00 00 vcvtsi2sd xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x1234\]
[ ]*[a-f0-9]+: 62 61 97 20 2a 72 7f vcvtsi2sd xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -2606,20 +2606,20 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 97 20 2a 72 80 vcvtsi2sd xmm30,xmm29,QWORD PTR \[rdx-0x400\]
[ ]*[a-f0-9]+: 62 61 97 20 2a b2 f8 fb ff ff vcvtsi2sd xmm30,xmm29,QWORD PTR \[rdx-0x408\]
[ ]*[a-f0-9]+: 62 61 16 20 2a f0 vcvtsi2ss xmm30,xmm29,eax
-[ ]*[a-f0-9]+: 62 61 16 10 2a f0 vcvtsi2ss xmm30,xmm29,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 50 2a f0 vcvtsi2ss xmm30,xmm29,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 30 2a f0 vcvtsi2ss xmm30,xmm29,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 70 2a f0 vcvtsi2ss xmm30,xmm29,\{rz-sae\},eax
+[ ]*[a-f0-9]+: 62 61 16 10 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 20 2a f5 vcvtsi2ss xmm30,xmm29,ebp
-[ ]*[a-f0-9]+: 62 61 16 10 2a f5 vcvtsi2ss xmm30,xmm29,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 50 2a f5 vcvtsi2ss xmm30,xmm29,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 30 2a f5 vcvtsi2ss xmm30,xmm29,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 70 2a f5 vcvtsi2ss xmm30,xmm29,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 61 16 10 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 16 20 2a f5 vcvtsi2ss xmm30,xmm29,r13d
-[ ]*[a-f0-9]+: 62 41 16 10 2a f5 vcvtsi2ss xmm30,xmm29,\{rn-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 50 2a f5 vcvtsi2ss xmm30,xmm29,\{ru-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 30 2a f5 vcvtsi2ss xmm30,xmm29,\{rd-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 70 2a f5 vcvtsi2ss xmm30,xmm29,\{rz-sae\},r13d
+[ ]*[a-f0-9]+: 62 41 16 10 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 16 50 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 16 30 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 16 70 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 20 2a 31 vcvtsi2ss xmm30,xmm29,DWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 16 20 2a b4 f0 34 12 00 00 vcvtsi2ss xmm30,xmm29,DWORD PTR \[rax\+r14\*8\+0x1234\]
[ ]*[a-f0-9]+: 62 61 16 20 2a 72 7f vcvtsi2ss xmm30,xmm29,DWORD PTR \[rdx\+0x1fc\]
@@ -2627,15 +2627,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 16 20 2a 72 80 vcvtsi2ss xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 16 20 2a b2 fc fd ff ff vcvtsi2ss xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 96 20 2a f0 vcvtsi2ss xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 96 10 2a f0 vcvtsi2ss xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 50 2a f0 vcvtsi2ss xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 30 2a f0 vcvtsi2ss xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 70 2a f0 vcvtsi2ss xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 96 10 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 96 50 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 96 30 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 96 70 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 96 20 2a f0 vcvtsi2ss xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 96 10 2a f0 vcvtsi2ss xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 50 2a f0 vcvtsi2ss xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 30 2a f0 vcvtsi2ss xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 70 2a f0 vcvtsi2ss xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 96 10 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 96 50 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 96 30 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 96 70 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 96 20 2a 31 vcvtsi2ss xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 96 20 2a b4 f0 34 12 00 00 vcvtsi2ss xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x1234\]
[ ]*[a-f0-9]+: 62 61 96 20 2a 72 7f vcvtsi2ss xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -3375,15 +3375,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 17 20 7b 72 80 vcvtusi2sd xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 17 20 7b b2 fc fd ff ff vcvtusi2sd xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 97 20 7b f0 vcvtusi2sd xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 97 10 7b f0 vcvtusi2sd xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 50 7b f0 vcvtusi2sd xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 30 7b f0 vcvtusi2sd xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 70 7b f0 vcvtusi2sd xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 97 10 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 97 50 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 97 30 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 97 70 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 97 20 7b f0 vcvtusi2sd xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 97 10 7b f0 vcvtusi2sd xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 50 7b f0 vcvtusi2sd xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 30 7b f0 vcvtusi2sd xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 70 7b f0 vcvtusi2sd xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 97 10 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 97 50 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 97 30 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 97 70 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 97 20 7b 31 vcvtusi2sd xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 97 20 7b b4 f0 34 12 00 00 vcvtusi2sd xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x1234\]
[ ]*[a-f0-9]+: 62 61 97 20 7b 72 7f vcvtusi2sd xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -3391,20 +3391,20 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 97 20 7b 72 80 vcvtusi2sd xmm30,xmm29,QWORD PTR \[rdx-0x400\]
[ ]*[a-f0-9]+: 62 61 97 20 7b b2 f8 fb ff ff vcvtusi2sd xmm30,xmm29,QWORD PTR \[rdx-0x408\]
[ ]*[a-f0-9]+: 62 61 16 20 7b f0 vcvtusi2ss xmm30,xmm29,eax
-[ ]*[a-f0-9]+: 62 61 16 10 7b f0 vcvtusi2ss xmm30,xmm29,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 50 7b f0 vcvtusi2ss xmm30,xmm29,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 30 7b f0 vcvtusi2ss xmm30,xmm29,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 70 7b f0 vcvtusi2ss xmm30,xmm29,\{rz-sae\},eax
+[ ]*[a-f0-9]+: 62 61 16 10 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 20 7b f5 vcvtusi2ss xmm30,xmm29,ebp
-[ ]*[a-f0-9]+: 62 61 16 10 7b f5 vcvtusi2ss xmm30,xmm29,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 50 7b f5 vcvtusi2ss xmm30,xmm29,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 30 7b f5 vcvtusi2ss xmm30,xmm29,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 70 7b f5 vcvtusi2ss xmm30,xmm29,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 61 16 10 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 16 20 7b f5 vcvtusi2ss xmm30,xmm29,r13d
-[ ]*[a-f0-9]+: 62 41 16 10 7b f5 vcvtusi2ss xmm30,xmm29,\{rn-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 50 7b f5 vcvtusi2ss xmm30,xmm29,\{ru-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 30 7b f5 vcvtusi2ss xmm30,xmm29,\{rd-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 70 7b f5 vcvtusi2ss xmm30,xmm29,\{rz-sae\},r13d
+[ ]*[a-f0-9]+: 62 41 16 10 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 16 50 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 16 30 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 16 70 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 20 7b 31 vcvtusi2ss xmm30,xmm29,DWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 16 20 7b b4 f0 34 12 00 00 vcvtusi2ss xmm30,xmm29,DWORD PTR \[rax\+r14\*8\+0x1234\]
[ ]*[a-f0-9]+: 62 61 16 20 7b 72 7f vcvtusi2ss xmm30,xmm29,DWORD PTR \[rdx\+0x1fc\]
@@ -3412,15 +3412,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 16 20 7b 72 80 vcvtusi2ss xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 16 20 7b b2 fc fd ff ff vcvtusi2ss xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 96 20 7b f0 vcvtusi2ss xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 96 10 7b f0 vcvtusi2ss xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 50 7b f0 vcvtusi2ss xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 30 7b f0 vcvtusi2ss xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 70 7b f0 vcvtusi2ss xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 96 10 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 96 50 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 96 30 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 96 70 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 96 20 7b f0 vcvtusi2ss xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 96 10 7b f0 vcvtusi2ss xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 50 7b f0 vcvtusi2ss xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 30 7b f0 vcvtusi2ss xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 70 7b f0 vcvtusi2ss xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 96 10 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 96 50 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 96 30 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 96 70 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 96 20 7b 31 vcvtusi2ss xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 96 20 7b b4 f0 34 12 00 00 vcvtusi2ss xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x1234\]
[ ]*[a-f0-9]+: 62 61 96 20 7b 72 7f vcvtusi2ss xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
diff --git a/gas/testsuite/gas/i386/x86-64-evex-lig512-intel.d b/gas/testsuite/gas/i386/x86-64-evex-lig512-intel.d
index ea3e3807340..ab3d4087e19 100644
--- a/gas/testsuite/gas/i386/x86-64-evex-lig512-intel.d
+++ b/gas/testsuite/gas/i386/x86-64-evex-lig512-intel.d
@@ -847,15 +847,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 17 40 2a 72 80 vcvtsi2sd xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 17 40 2a b2 fc fd ff ff vcvtsi2sd xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 97 40 2a f0 vcvtsi2sd xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 97 10 2a f0 vcvtsi2sd xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 50 2a f0 vcvtsi2sd xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 30 2a f0 vcvtsi2sd xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 70 2a f0 vcvtsi2sd xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 97 10 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 97 50 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 97 30 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 97 70 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 97 40 2a f0 vcvtsi2sd xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 97 10 2a f0 vcvtsi2sd xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 50 2a f0 vcvtsi2sd xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 30 2a f0 vcvtsi2sd xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 70 2a f0 vcvtsi2sd xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 97 10 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 97 50 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 97 30 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 97 70 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 97 40 2a 31 vcvtsi2sd xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 97 40 2a b4 f0 23 01 00 00 vcvtsi2sd xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x123\]
[ ]*[a-f0-9]+: 62 61 97 40 2a 72 7f vcvtsi2sd xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -863,20 +863,20 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 97 40 2a 72 80 vcvtsi2sd xmm30,xmm29,QWORD PTR \[rdx-0x400\]
[ ]*[a-f0-9]+: 62 61 97 40 2a b2 f8 fb ff ff vcvtsi2sd xmm30,xmm29,QWORD PTR \[rdx-0x408\]
[ ]*[a-f0-9]+: 62 61 16 40 2a f0 vcvtsi2ss xmm30,xmm29,eax
-[ ]*[a-f0-9]+: 62 61 16 10 2a f0 vcvtsi2ss xmm30,xmm29,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 50 2a f0 vcvtsi2ss xmm30,xmm29,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 30 2a f0 vcvtsi2ss xmm30,xmm29,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 70 2a f0 vcvtsi2ss xmm30,xmm29,\{rz-sae\},eax
+[ ]*[a-f0-9]+: 62 61 16 10 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 40 2a f5 vcvtsi2ss xmm30,xmm29,ebp
-[ ]*[a-f0-9]+: 62 61 16 10 2a f5 vcvtsi2ss xmm30,xmm29,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 50 2a f5 vcvtsi2ss xmm30,xmm29,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 30 2a f5 vcvtsi2ss xmm30,xmm29,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 70 2a f5 vcvtsi2ss xmm30,xmm29,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 61 16 10 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 16 40 2a f5 vcvtsi2ss xmm30,xmm29,r13d
-[ ]*[a-f0-9]+: 62 41 16 10 2a f5 vcvtsi2ss xmm30,xmm29,\{rn-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 50 2a f5 vcvtsi2ss xmm30,xmm29,\{ru-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 30 2a f5 vcvtsi2ss xmm30,xmm29,\{rd-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 70 2a f5 vcvtsi2ss xmm30,xmm29,\{rz-sae\},r13d
+[ ]*[a-f0-9]+: 62 41 16 10 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 16 50 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 16 30 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 16 70 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 40 2a 31 vcvtsi2ss xmm30,xmm29,DWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 16 40 2a b4 f0 23 01 00 00 vcvtsi2ss xmm30,xmm29,DWORD PTR \[rax\+r14\*8\+0x123\]
[ ]*[a-f0-9]+: 62 61 16 40 2a 72 7f vcvtsi2ss xmm30,xmm29,DWORD PTR \[rdx\+0x1fc\]
@@ -884,15 +884,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 16 40 2a 72 80 vcvtsi2ss xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 16 40 2a b2 fc fd ff ff vcvtsi2ss xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 96 40 2a f0 vcvtsi2ss xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 96 10 2a f0 vcvtsi2ss xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 50 2a f0 vcvtsi2ss xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 30 2a f0 vcvtsi2ss xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 70 2a f0 vcvtsi2ss xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 96 10 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 96 50 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 96 30 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 96 70 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 96 40 2a f0 vcvtsi2ss xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 96 10 2a f0 vcvtsi2ss xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 50 2a f0 vcvtsi2ss xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 30 2a f0 vcvtsi2ss xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 70 2a f0 vcvtsi2ss xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 96 10 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 96 50 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 96 30 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 96 70 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 96 40 2a 31 vcvtsi2ss xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 96 40 2a b4 f0 23 01 00 00 vcvtsi2ss xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x123\]
[ ]*[a-f0-9]+: 62 61 96 40 2a 72 7f vcvtsi2ss xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -1632,15 +1632,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 17 40 7b 72 80 vcvtusi2sd xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 17 40 7b b2 fc fd ff ff vcvtusi2sd xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 97 40 7b f0 vcvtusi2sd xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 97 10 7b f0 vcvtusi2sd xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 50 7b f0 vcvtusi2sd xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 30 7b f0 vcvtusi2sd xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 70 7b f0 vcvtusi2sd xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 97 10 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 97 50 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 97 30 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 97 70 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 97 40 7b f0 vcvtusi2sd xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 97 10 7b f0 vcvtusi2sd xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 50 7b f0 vcvtusi2sd xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 30 7b f0 vcvtusi2sd xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 70 7b f0 vcvtusi2sd xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 97 10 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 97 50 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 97 30 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 97 70 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 97 40 7b 31 vcvtusi2sd xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 97 40 7b b4 f0 23 01 00 00 vcvtusi2sd xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x123\]
[ ]*[a-f0-9]+: 62 61 97 40 7b 72 7f vcvtusi2sd xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -1648,20 +1648,20 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 97 40 7b 72 80 vcvtusi2sd xmm30,xmm29,QWORD PTR \[rdx-0x400\]
[ ]*[a-f0-9]+: 62 61 97 40 7b b2 f8 fb ff ff vcvtusi2sd xmm30,xmm29,QWORD PTR \[rdx-0x408\]
[ ]*[a-f0-9]+: 62 61 16 40 7b f0 vcvtusi2ss xmm30,xmm29,eax
-[ ]*[a-f0-9]+: 62 61 16 10 7b f0 vcvtusi2ss xmm30,xmm29,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 50 7b f0 vcvtusi2ss xmm30,xmm29,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 30 7b f0 vcvtusi2ss xmm30,xmm29,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 70 7b f0 vcvtusi2ss xmm30,xmm29,\{rz-sae\},eax
+[ ]*[a-f0-9]+: 62 61 16 10 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 40 7b f5 vcvtusi2ss xmm30,xmm29,ebp
-[ ]*[a-f0-9]+: 62 61 16 10 7b f5 vcvtusi2ss xmm30,xmm29,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 50 7b f5 vcvtusi2ss xmm30,xmm29,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 30 7b f5 vcvtusi2ss xmm30,xmm29,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 70 7b f5 vcvtusi2ss xmm30,xmm29,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 61 16 10 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 16 40 7b f5 vcvtusi2ss xmm30,xmm29,r13d
-[ ]*[a-f0-9]+: 62 41 16 10 7b f5 vcvtusi2ss xmm30,xmm29,\{rn-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 50 7b f5 vcvtusi2ss xmm30,xmm29,\{ru-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 30 7b f5 vcvtusi2ss xmm30,xmm29,\{rd-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 70 7b f5 vcvtusi2ss xmm30,xmm29,\{rz-sae\},r13d
+[ ]*[a-f0-9]+: 62 41 16 10 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 16 50 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 16 30 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 16 70 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 40 7b 31 vcvtusi2ss xmm30,xmm29,DWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 16 40 7b b4 f0 23 01 00 00 vcvtusi2ss xmm30,xmm29,DWORD PTR \[rax\+r14\*8\+0x123\]
[ ]*[a-f0-9]+: 62 61 16 40 7b 72 7f vcvtusi2ss xmm30,xmm29,DWORD PTR \[rdx\+0x1fc\]
@@ -1669,15 +1669,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 16 40 7b 72 80 vcvtusi2ss xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 16 40 7b b2 fc fd ff ff vcvtusi2ss xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 96 40 7b f0 vcvtusi2ss xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 96 10 7b f0 vcvtusi2ss xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 50 7b f0 vcvtusi2ss xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 30 7b f0 vcvtusi2ss xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 70 7b f0 vcvtusi2ss xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 96 10 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 96 50 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 96 30 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 96 70 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 96 40 7b f0 vcvtusi2ss xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 96 10 7b f0 vcvtusi2ss xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 50 7b f0 vcvtusi2ss xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 30 7b f0 vcvtusi2ss xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 70 7b f0 vcvtusi2ss xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 96 10 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 96 50 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 96 30 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 96 70 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 96 40 7b 31 vcvtusi2ss xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 96 40 7b b4 f0 23 01 00 00 vcvtusi2ss xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x123\]
[ ]*[a-f0-9]+: 62 61 96 40 7b 72 7f vcvtusi2ss xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -2590,15 +2590,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 17 40 2a 72 80 vcvtsi2sd xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 17 40 2a b2 fc fd ff ff vcvtsi2sd xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 97 40 2a f0 vcvtsi2sd xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 97 10 2a f0 vcvtsi2sd xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 50 2a f0 vcvtsi2sd xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 30 2a f0 vcvtsi2sd xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 70 2a f0 vcvtsi2sd xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 97 10 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 97 50 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 97 30 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 97 70 2a f0 vcvtsi2sd xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 97 40 2a f0 vcvtsi2sd xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 97 10 2a f0 vcvtsi2sd xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 50 2a f0 vcvtsi2sd xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 30 2a f0 vcvtsi2sd xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 70 2a f0 vcvtsi2sd xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 97 10 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 97 50 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 97 30 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 97 70 2a f0 vcvtsi2sd xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 97 40 2a 31 vcvtsi2sd xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 97 40 2a b4 f0 34 12 00 00 vcvtsi2sd xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x1234\]
[ ]*[a-f0-9]+: 62 61 97 40 2a 72 7f vcvtsi2sd xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -2606,20 +2606,20 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 97 40 2a 72 80 vcvtsi2sd xmm30,xmm29,QWORD PTR \[rdx-0x400\]
[ ]*[a-f0-9]+: 62 61 97 40 2a b2 f8 fb ff ff vcvtsi2sd xmm30,xmm29,QWORD PTR \[rdx-0x408\]
[ ]*[a-f0-9]+: 62 61 16 40 2a f0 vcvtsi2ss xmm30,xmm29,eax
-[ ]*[a-f0-9]+: 62 61 16 10 2a f0 vcvtsi2ss xmm30,xmm29,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 50 2a f0 vcvtsi2ss xmm30,xmm29,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 30 2a f0 vcvtsi2ss xmm30,xmm29,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 70 2a f0 vcvtsi2ss xmm30,xmm29,\{rz-sae\},eax
+[ ]*[a-f0-9]+: 62 61 16 10 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 2a f0 vcvtsi2ss xmm30,xmm29,eax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 40 2a f5 vcvtsi2ss xmm30,xmm29,ebp
-[ ]*[a-f0-9]+: 62 61 16 10 2a f5 vcvtsi2ss xmm30,xmm29,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 50 2a f5 vcvtsi2ss xmm30,xmm29,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 30 2a f5 vcvtsi2ss xmm30,xmm29,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 70 2a f5 vcvtsi2ss xmm30,xmm29,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 61 16 10 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 2a f5 vcvtsi2ss xmm30,xmm29,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 16 40 2a f5 vcvtsi2ss xmm30,xmm29,r13d
-[ ]*[a-f0-9]+: 62 41 16 10 2a f5 vcvtsi2ss xmm30,xmm29,\{rn-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 50 2a f5 vcvtsi2ss xmm30,xmm29,\{ru-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 30 2a f5 vcvtsi2ss xmm30,xmm29,\{rd-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 70 2a f5 vcvtsi2ss xmm30,xmm29,\{rz-sae\},r13d
+[ ]*[a-f0-9]+: 62 41 16 10 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 16 50 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 16 30 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 16 70 2a f5 vcvtsi2ss xmm30,xmm29,r13d,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 40 2a 31 vcvtsi2ss xmm30,xmm29,DWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 16 40 2a b4 f0 34 12 00 00 vcvtsi2ss xmm30,xmm29,DWORD PTR \[rax\+r14\*8\+0x1234\]
[ ]*[a-f0-9]+: 62 61 16 40 2a 72 7f vcvtsi2ss xmm30,xmm29,DWORD PTR \[rdx\+0x1fc\]
@@ -2627,15 +2627,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 16 40 2a 72 80 vcvtsi2ss xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 16 40 2a b2 fc fd ff ff vcvtsi2ss xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 96 40 2a f0 vcvtsi2ss xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 96 10 2a f0 vcvtsi2ss xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 50 2a f0 vcvtsi2ss xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 30 2a f0 vcvtsi2ss xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 70 2a f0 vcvtsi2ss xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 96 10 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 96 50 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 96 30 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 96 70 2a f0 vcvtsi2ss xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 96 40 2a f0 vcvtsi2ss xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 96 10 2a f0 vcvtsi2ss xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 50 2a f0 vcvtsi2ss xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 30 2a f0 vcvtsi2ss xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 70 2a f0 vcvtsi2ss xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 96 10 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 96 50 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 96 30 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 96 70 2a f0 vcvtsi2ss xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 96 40 2a 31 vcvtsi2ss xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 96 40 2a b4 f0 34 12 00 00 vcvtsi2ss xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x1234\]
[ ]*[a-f0-9]+: 62 61 96 40 2a 72 7f vcvtsi2ss xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -3375,15 +3375,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 17 40 7b 72 80 vcvtusi2sd xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 17 40 7b b2 fc fd ff ff vcvtusi2sd xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 97 40 7b f0 vcvtusi2sd xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 97 10 7b f0 vcvtusi2sd xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 50 7b f0 vcvtusi2sd xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 30 7b f0 vcvtusi2sd xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 97 70 7b f0 vcvtusi2sd xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 97 10 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 97 50 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 97 30 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 97 70 7b f0 vcvtusi2sd xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 97 40 7b f0 vcvtusi2sd xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 97 10 7b f0 vcvtusi2sd xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 50 7b f0 vcvtusi2sd xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 30 7b f0 vcvtusi2sd xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 97 70 7b f0 vcvtusi2sd xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 97 10 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 97 50 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 97 30 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 97 70 7b f0 vcvtusi2sd xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 97 40 7b 31 vcvtusi2sd xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 97 40 7b b4 f0 34 12 00 00 vcvtusi2sd xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x1234\]
[ ]*[a-f0-9]+: 62 61 97 40 7b 72 7f vcvtusi2sd xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
@@ -3391,20 +3391,20 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 97 40 7b 72 80 vcvtusi2sd xmm30,xmm29,QWORD PTR \[rdx-0x400\]
[ ]*[a-f0-9]+: 62 61 97 40 7b b2 f8 fb ff ff vcvtusi2sd xmm30,xmm29,QWORD PTR \[rdx-0x408\]
[ ]*[a-f0-9]+: 62 61 16 40 7b f0 vcvtusi2ss xmm30,xmm29,eax
-[ ]*[a-f0-9]+: 62 61 16 10 7b f0 vcvtusi2ss xmm30,xmm29,\{rn-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 50 7b f0 vcvtusi2ss xmm30,xmm29,\{ru-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 30 7b f0 vcvtusi2ss xmm30,xmm29,\{rd-sae\},eax
-[ ]*[a-f0-9]+: 62 61 16 70 7b f0 vcvtusi2ss xmm30,xmm29,\{rz-sae\},eax
+[ ]*[a-f0-9]+: 62 61 16 10 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 7b f0 vcvtusi2ss xmm30,xmm29,eax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 40 7b f5 vcvtusi2ss xmm30,xmm29,ebp
-[ ]*[a-f0-9]+: 62 61 16 10 7b f5 vcvtusi2ss xmm30,xmm29,\{rn-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 50 7b f5 vcvtusi2ss xmm30,xmm29,\{ru-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 30 7b f5 vcvtusi2ss xmm30,xmm29,\{rd-sae\},ebp
-[ ]*[a-f0-9]+: 62 61 16 70 7b f5 vcvtusi2ss xmm30,xmm29,\{rz-sae\},ebp
+[ ]*[a-f0-9]+: 62 61 16 10 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 16 50 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 16 30 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 16 70 7b f5 vcvtusi2ss xmm30,xmm29,ebp,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 16 40 7b f5 vcvtusi2ss xmm30,xmm29,r13d
-[ ]*[a-f0-9]+: 62 41 16 10 7b f5 vcvtusi2ss xmm30,xmm29,\{rn-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 50 7b f5 vcvtusi2ss xmm30,xmm29,\{ru-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 30 7b f5 vcvtusi2ss xmm30,xmm29,\{rd-sae\},r13d
-[ ]*[a-f0-9]+: 62 41 16 70 7b f5 vcvtusi2ss xmm30,xmm29,\{rz-sae\},r13d
+[ ]*[a-f0-9]+: 62 41 16 10 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 16 50 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 16 30 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 16 70 7b f5 vcvtusi2ss xmm30,xmm29,r13d,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 16 40 7b 31 vcvtusi2ss xmm30,xmm29,DWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 16 40 7b b4 f0 34 12 00 00 vcvtusi2ss xmm30,xmm29,DWORD PTR \[rax\+r14\*8\+0x1234\]
[ ]*[a-f0-9]+: 62 61 16 40 7b 72 7f vcvtusi2ss xmm30,xmm29,DWORD PTR \[rdx\+0x1fc\]
@@ -3412,15 +3412,15 @@ Disassembly of section .text:
[ ]*[a-f0-9]+: 62 61 16 40 7b 72 80 vcvtusi2ss xmm30,xmm29,DWORD PTR \[rdx-0x200\]
[ ]*[a-f0-9]+: 62 61 16 40 7b b2 fc fd ff ff vcvtusi2ss xmm30,xmm29,DWORD PTR \[rdx-0x204\]
[ ]*[a-f0-9]+: 62 61 96 40 7b f0 vcvtusi2ss xmm30,xmm29,rax
-[ ]*[a-f0-9]+: 62 61 96 10 7b f0 vcvtusi2ss xmm30,xmm29,\{rn-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 50 7b f0 vcvtusi2ss xmm30,xmm29,\{ru-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 30 7b f0 vcvtusi2ss xmm30,xmm29,\{rd-sae\},rax
-[ ]*[a-f0-9]+: 62 61 96 70 7b f0 vcvtusi2ss xmm30,xmm29,\{rz-sae\},rax
+[ ]*[a-f0-9]+: 62 61 96 10 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 61 96 50 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 61 96 30 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 61 96 70 7b f0 vcvtusi2ss xmm30,xmm29,rax,\{rz-sae\}
[ ]*[a-f0-9]+: 62 41 96 40 7b f0 vcvtusi2ss xmm30,xmm29,r8
-[ ]*[a-f0-9]+: 62 41 96 10 7b f0 vcvtusi2ss xmm30,xmm29,\{rn-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 50 7b f0 vcvtusi2ss xmm30,xmm29,\{ru-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 30 7b f0 vcvtusi2ss xmm30,xmm29,\{rd-sae\},r8
-[ ]*[a-f0-9]+: 62 41 96 70 7b f0 vcvtusi2ss xmm30,xmm29,\{rz-sae\},r8
+[ ]*[a-f0-9]+: 62 41 96 10 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{rn-sae\}
+[ ]*[a-f0-9]+: 62 41 96 50 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{ru-sae\}
+[ ]*[a-f0-9]+: 62 41 96 30 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{rd-sae\}
+[ ]*[a-f0-9]+: 62 41 96 70 7b f0 vcvtusi2ss xmm30,xmm29,r8,\{rz-sae\}
[ ]*[a-f0-9]+: 62 61 96 40 7b 31 vcvtusi2ss xmm30,xmm29,QWORD PTR \[rcx\]
[ ]*[a-f0-9]+: 62 21 96 40 7b b4 f0 34 12 00 00 vcvtusi2ss xmm30,xmm29,QWORD PTR \[rax\+r14\*8\+0x1234\]
[ ]*[a-f0-9]+: 62 61 96 40 7b 72 7f vcvtusi2ss xmm30,xmm29,QWORD PTR \[rdx\+0x3f8\]
diff --git a/gas/testsuite/gas/i386/x86-64-opcode-inval-intel.d b/gas/testsuite/gas/i386/x86-64-opcode-inval-intel.d
index 7cf0c27e540..df7c8bd6898 100644
--- a/gas/testsuite/gas/i386/x86-64-opcode-inval-intel.d
+++ b/gas/testsuite/gas/i386/x86-64-opcode-inval-intel.d
@@ -12,26 +12,26 @@ Disassembly of section .text:
0+1 <aad0>:
[ ]*[a-f0-9]+: d5 \(bad\)
-[ ]*[a-f0-9]+: 0a d5 or dl,ch
+[ ]*[a-f0-9]+: 0a .byte 0xa
0+3 <aad1>:
[ ]*[a-f0-9]+: d5 \(bad\)
-[ ]*[a-f0-9]+: 02 d4 add dl,ah
+[ ]*[a-f0-9]+: 02 .byte 0x2
0+5 <aam0>:
[ ]*[a-f0-9]+: d4 \(bad\)
-[ ]*[a-f0-9]+: 0a d4 or dl,ah
+[ ]*[a-f0-9]+: 0a .byte 0xa
0+7 <aam1>:
[ ]*[a-f0-9]+: d4 \(bad\)
-[ ]*[a-f0-9]+: 02 3f add bh,BYTE PTR \[rdi\]
+[ ]*[a-f0-9]+: 02 .byte 0x2
0+9 <aas>:
[ ]*[a-f0-9]+: 3f \(bad\)
0+a <bound>:
-[ ]*[a-f0-9]+: 62 \(bad\)
-[ ]*[a-f0-9]+: 10 27 adc BYTE PTR \[rdi\],ah
+[ ]*[a-f0-9]+: 62 .byte 0x62
+[ ]*[a-f0-9]+: 10 .byte 0x10
0+c <daa>:
[ ]*[a-f0-9]+: 27 \(bad\)
diff --git a/gas/testsuite/gas/i386/x86-64-opcode-inval.d b/gas/testsuite/gas/i386/x86-64-opcode-inval.d
index ccb19ac43da..d0d08cbd371 100644
--- a/gas/testsuite/gas/i386/x86-64-opcode-inval.d
+++ b/gas/testsuite/gas/i386/x86-64-opcode-inval.d
@@ -11,26 +11,26 @@ Disassembly of section .text:
0+1 <aad0>:
[ ]*[a-f0-9]+: d5 \(bad\)
-[ ]*[a-f0-9]+: 0a d5 or %ch,%dl
+[ ]*[a-f0-9]+: 0a .byte 0xa
0+3 <aad1>:
[ ]*[a-f0-9]+: d5 \(bad\)
-[ ]*[a-f0-9]+: 02 d4 add %ah,%dl
+[ ]*[a-f0-9]+: 02 .byte 0x2
0+5 <aam0>:
[ ]*[a-f0-9]+: d4 \(bad\)
-[ ]*[a-f0-9]+: 0a d4 or %ah,%dl
+[ ]*[a-f0-9]+: 0a .byte 0xa
0+7 <aam1>:
[ ]*[a-f0-9]+: d4 \(bad\)
-[ ]*[a-f0-9]+: 02 3f add \(%rdi\),%bh
+[ ]*[a-f0-9]+: 02 .byte 0x2
0+9 <aas>:
[ ]*[a-f0-9]+: 3f \(bad\)
0+a <bound>:
-[ ]*[a-f0-9]+: 62 \(bad\)
-[ ]*[a-f0-9]+: 10 27 adc %ah,\(%rdi\)
+[ ]*[a-f0-9]+: 62 .byte 0x62
+[ ]*[a-f0-9]+: 10 .byte 0x10
0+c <daa>:
[ ]*[a-f0-9]+: 27 \(bad\)
diff --git a/gas/testsuite/gas/ia64/psn.d b/gas/testsuite/gas/ia64/psn.d
index 10e921eaac3..c496cb38379 100644
--- a/gas/testsuite/gas/ia64/psn.d
+++ b/gas/testsuite/gas/ia64/psn.d
@@ -2,7 +2,7 @@
# objdump: -d
# name: ia64 psn
-.*: +file format elf64-ia64.*
+.*: +file format elf..-ia64.*
Disassembly of section \.text:
diff --git a/gas/testsuite/gas/ia64/xdata-ilp32.d b/gas/testsuite/gas/ia64/xdata-ilp32.d
index 3958c71c1bf..8c0bb30cd36 100644
--- a/gas/testsuite/gas/ia64/xdata-ilp32.d
+++ b/gas/testsuite/gas/ia64/xdata-ilp32.d
@@ -16,7 +16,7 @@ Section Headers:
\[ 6\] ,xdata3 PROGBITS 00000000 [[:xdigit:]]+ 000008 00 A 0 0 4
\[ 7\] \.xdata,4 PROGBITS 00000000 [[:xdigit:]]+ 000010 00 A 0 0 8
\[ 8\] "\.xdata5" PROGBITS 00000000 [[:xdigit:]]+ 000020 00 A 0 0 16
- \[ 9\] \.rela"\.xdata5" RELA 00000000 [[:xdigit:]]+ 000018 0c 17 8 4
+ \[ 9\] \.rela"\.xdata5" RELA 00000000 [[:xdigit:]]+ 000018 0c I 17 8 4
\[10\] \.xreal\\1 PROGBITS 00000000 [[:xdigit:]]+ 000008 00 A 0 0 4
\[11\] \.xreal\+2 PROGBITS 00000000 [[:xdigit:]]+ 000010 00 A 0 0 8
\[12\] \.xreal\(3\) PROGBITS 00000000 [[:xdigit:]]+ 000014 00 A 0 0 16
diff --git a/gas/testsuite/gas/mips/compact-eh-1.s b/gas/testsuite/gas/mips/compact-eh-1.s
new file mode 100644
index 00000000000..9c4f8d2ec0d
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-1.s
@@ -0,0 +1,19 @@
+ .gnu_attribute 4, 1
+ .abicalls
+ .text
+ .align 2
+ .globl _Z3fooi
+ .cfi_sections .eh_frame_entry
+$LFB0 = .
+ .cfi_startproc
+ .cfi_personality_id 0x2
+ .set nomips16
+ .set nomicromips
+ .ent _Z3fooi
+ .type _Z3fooi, @function
+_Z3fooi:
+ nop
+ .end _Z3fooi
+ .size _Z3fooi, .-_Z3fooi
+ .cfi_fde_data 0x4,0x40
+ .cfi_endproc
diff --git a/gas/testsuite/gas/mips/compact-eh-2.s b/gas/testsuite/gas/mips/compact-eh-2.s
new file mode 100644
index 00000000000..beeebda4d7b
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-2.s
@@ -0,0 +1,28 @@
+ .gnu_attribute 4, 1
+ .abicalls
+ .hidden DW.ref.__gnu_compact_pr2
+ .weak DW.ref.__gnu_compact_pr2
+ .section .data.DW.ref.__gnu_compact_pr2,"awG",@progbits,DW.ref.__gnu_compact_pr2,comdat
+ .align 2
+ .type DW.ref.__gnu_compact_pr2, @object
+ .size DW.ref.__gnu_compact_pr2, 4
+DW.ref.__gnu_compact_pr2:
+ .word __gnu_compact_pr2
+ .text
+ .align 2
+ .globl _Z3fooi
+ .cfi_sections .eh_frame_entry
+$LFB0 = .
+ .cfi_startproc
+ .cfi_personality 0x1b, DW.ref.__gnu_compact_pr2
+ .set nomips16
+ .set nomicromips
+ .ent _Z3fooi
+ .type _Z3fooi, @function
+_Z3fooi:
+ nop
+ .end _Z3fooi
+ .size _Z3fooi, .-_Z3fooi
+ .cfi_fde_data 0x4,0x40
+ .cfi_endproc
+ .globl __gnu_compact_pr2
diff --git a/gas/testsuite/gas/mips/compact-eh-3.s b/gas/testsuite/gas/mips/compact-eh-3.s
new file mode 100644
index 00000000000..fd9def1f997
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-3.s
@@ -0,0 +1,19 @@
+ .gnu_attribute 4, 1
+ .abicalls
+ .text
+ .align 2
+ .globl _Z3fooi
+ .cfi_sections .eh_frame_entry
+$LFB0 = .
+ .cfi_startproc
+ .cfi_personality_id 0x2
+ .set nomips16
+ .set nomicromips
+ .ent _Z3fooi
+ .type _Z3fooi, @function
+_Z3fooi:
+ nop
+ .end _Z3fooi
+ .size _Z3fooi, .-_Z3fooi
+ .cfi_fde_data 0x4,0x40,0x3,0x5
+ .cfi_endproc
diff --git a/gas/testsuite/gas/mips/compact-eh-4.s b/gas/testsuite/gas/mips/compact-eh-4.s
new file mode 100644
index 00000000000..d0be1c7d2a4
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-4.s
@@ -0,0 +1,47 @@
+ .gnu_attribute 4, 1
+ .abicalls
+ .text
+ .align 2
+ .globl _Z3fooi
+ .cfi_sections .eh_frame_entry
+$LFB0 = .
+ .cfi_startproc
+ .cfi_personality_id 0x2
+ .cfi_lsda 0x1b,$LLSDA0
+ .set nomips16
+ .set nomicromips
+ .ent _Z3fooi
+ .type _Z3fooi, @function
+_Z3fooi:
+$LEHB0 = .
+ nop
+$LEHE0 = .
+ nop
+$LEHB1 = .
+ nop
+$LEHE1 = .
+ nop
+$LEHB2 = .
+$L3:
+ nop
+$LEHE2 = .
+ .end _Z3fooi
+ .size _Z3fooi, .-_Z3fooi
+ .cfi_fde_data 0x4,0x40
+ .cfi_endproc
+ .cfi_inline_lsda 2
+$LLSDA0:
+ .byte 0x2
+ .uleb128 $LLSDACSE0-$LLSDACSB0
+$LLSDACSB0:
+ .uleb128 ($LEHB0-$LFB0)|1
+ .uleb128 ($LEHE0-$LEHB0)
+ .sleb128 -1
+ .uleb128 ($LEHB1-$LEHE0)|1
+ .uleb128 ($LEHE1-$LEHB1)
+ .sleb128 ($L3-($LEHE1))
+ .sleb128 (0<<2)|0
+ .uleb128 ($LEHB2-$LEHE1)|1
+ .uleb128 ($LEHE2-$LEHB2)
+ .sleb128 -1
+$LLSDACSE0:
diff --git a/gas/testsuite/gas/mips/compact-eh-5.s b/gas/testsuite/gas/mips/compact-eh-5.s
new file mode 100644
index 00000000000..aa9bddac93b
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-5.s
@@ -0,0 +1,56 @@
+ .gnu_attribute 4, 1
+ .abicalls
+ .hidden DW.ref.__gnu_compact_pr2
+ .weak DW.ref.__gnu_compact_pr2
+ .section .data.DW.ref.__gnu_compact_pr2,"awG",@progbits,DW.ref.__gnu_compact_pr2,comdat
+ .align 2
+ .type DW.ref.__gnu_compact_pr2, @object
+ .size DW.ref.__gnu_compact_pr2, 4
+DW.ref.__gnu_compact_pr2:
+ .word __gnu_compact_pr2
+ .text
+ .align 2
+ .globl _Z3fooi
+ .cfi_sections .eh_frame_entry
+$LFB0 = .
+ .cfi_startproc
+ .cfi_personality 0x1b, DW.ref.__gnu_compact_pr2
+ .cfi_lsda 0x1b,$LLSDA0
+ .set nomips16
+ .set nomicromips
+ .ent _Z3fooi
+ .type _Z3fooi, @function
+_Z3fooi:
+$LEHB0 = .
+ nop
+$LEHE0 = .
+ nop
+$LEHB1 = .
+ nop
+$LEHE1 = .
+ nop
+$LEHB2 = .
+$L3:
+ nop
+$LEHE2 = .
+ .end _Z3fooi
+ .size _Z3fooi, .-_Z3fooi
+ .cfi_fde_data 0x4,0x40
+ .cfi_endproc
+ .globl __gnu_compact_pr2
+ .cfi_inline_lsda 2
+$LLSDA0:
+ .byte 0x2
+ .uleb128 $LLSDACSE0-$LLSDACSB0
+$LLSDACSB0:
+ .uleb128 ($LEHB0-$LFB0)|1
+ .uleb128 ($LEHE0-$LEHB0)
+ .sleb128 -1
+ .uleb128 ($LEHB1-$LEHE0)|1
+ .uleb128 ($LEHE1-$LEHB1)
+ .sleb128 ($L3-($LEHE1))
+ .sleb128 (0<<2)|0
+ .uleb128 ($LEHB2-$LEHE1)|1
+ .uleb128 ($LEHE2-$LEHB2)
+ .sleb128 -1
+$LLSDACSE0:
diff --git a/gas/testsuite/gas/mips/compact-eh-6.s b/gas/testsuite/gas/mips/compact-eh-6.s
new file mode 100644
index 00000000000..2e490549ea8
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-6.s
@@ -0,0 +1,47 @@
+ .gnu_attribute 4, 1
+ .abicalls
+ .text
+ .align 2
+ .globl _Z3fooi
+ .cfi_sections .eh_frame_entry
+$LFB0 = .
+ .cfi_startproc
+ .cfi_personality_id 0x2
+ .cfi_lsda 0x1b,$LLSDA0
+ .set nomips16
+ .set nomicromips
+ .ent _Z3fooi
+ .type _Z3fooi, @function
+_Z3fooi:
+$LEHB0 = .
+ nop
+$LEHE0 = .
+ nop
+$LEHB1 = .
+ nop
+$LEHE1 = .
+ nop
+$LEHB2 = .
+$L3:
+ nop
+$LEHE2 = .
+ .end _Z3fooi
+ .size _Z3fooi, .-_Z3fooi
+ .cfi_fde_data 0x4,0x40,0x3,0x5
+ .cfi_endproc
+ .cfi_inline_lsda 2
+$LLSDA0:
+ .byte 0x2
+ .uleb128 $LLSDACSE0-$LLSDACSB0
+$LLSDACSB0:
+ .uleb128 ($LEHB0-$LFB0)|1
+ .uleb128 ($LEHE0-$LEHB0)
+ .sleb128 -1
+ .uleb128 ($LEHB1-$LEHE0)|1
+ .uleb128 ($LEHE1-$LEHB1)
+ .sleb128 ($L3-($LEHE1))
+ .sleb128 (0<<2)|0
+ .uleb128 ($LEHB2-$LEHE1)|1
+ .uleb128 ($LEHE2-$LEHB2)
+ .sleb128 -1
+$LLSDACSE0:
diff --git a/gas/testsuite/gas/mips/compact-eh-7.s b/gas/testsuite/gas/mips/compact-eh-7.s
new file mode 100644
index 00000000000..e7554d27cba
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-7.s
@@ -0,0 +1,22 @@
+ .gnu_attribute 4, 1
+ .abicalls
+ .text
+ .align 2
+ .globl _Z3fooi
+ .cfi_sections .eh_frame_entry
+$LFB0 = .
+ .cfi_startproc
+ .cfi_personality_id 0x2
+ .set nomips16
+ .set nomicromips
+ .ent _Z3fooi
+ .type _Z3fooi, @function
+_Z3fooi:
+ nop
+ .cfi_def_cfa_offset -32
+ nop
+ .cfi_def_cfa_offset 0
+
+ .end _Z3fooi
+ .size _Z3fooi, .-_Z3fooi
+ .cfi_endproc
diff --git a/gas/testsuite/gas/mips/compact-eh-eb-1.d b/gas/testsuite/gas/mips/compact-eh-eb-1.d
new file mode 100644
index 00000000000..2a233d6d79c
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-eb-1.d
@@ -0,0 +1,25 @@
+#objdump: -sr
+#name: Compact EH EB #1 with personality ID and FDE data
+#source: compact-eh-1.s
+#as: -EB -mno-pdr
+
+.*: file format.*
+
+
+RELOCATION RECORDS FOR \[.eh_frame_entry\]:
+OFFSET TYPE VALUE
+00000000 R_MIPS_PC32 .text.*
+
+
+Contents of section .text:
+ 0000 00000000.*
+Contents of section .reginfo:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000 00000000 .*
+Contents of section .MIPS.abiflags:
+ .*
+ .*
+Contents of section .eh_frame_entry:
+ 0000 00000000 0104405c .*
+Contents of section .gnu.attributes:
+ 0000 41000000 0f676e75 00010000 00070401 .*
diff --git a/gas/testsuite/gas/mips/compact-eh-eb-2.d b/gas/testsuite/gas/mips/compact-eh-eb-2.d
new file mode 100644
index 00000000000..226a5ffe81e
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-eb-2.d
@@ -0,0 +1,42 @@
+#objdump: -sr
+#name: Compact EH EB #2 with personality routine and FDE data
+#source: compact-eh-2.s
+#as: -EB -mno-pdr
+
+.*: file format.*
+
+
+RELOCATION RECORDS FOR \[.data.DW.ref.__gnu_compact_pr2\]:
+OFFSET TYPE VALUE
+00000000 R_MIPS_32 __gnu_compact_pr2
+
+
+RELOCATION RECORDS FOR \[.gnu_extab\]:
+OFFSET TYPE VALUE
+00000001 R_MIPS_PC32 DW.ref.__gnu_compact_pr2
+
+
+RELOCATION RECORDS FOR \[.eh_frame_entry\]:
+OFFSET TYPE VALUE
+00000000 R_MIPS_PC32 .text.*
+00000004 R_MIPS_PC32 .gnu_extab
+
+
+Contents of section .group:
+ 0000 00000001 00000007 .*
+Contents of section .text:
+ 0000 00000000.*
+Contents of section .reginfo:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000 00000000 .*
+Contents of section .MIPS.abiflags:
+ .*
+ .*
+Contents of section .data.DW.ref.__gnu_compact_pr2:
+ 0000 00000000 .*
+Contents of section .gnu_extab:
+ 0000 00000000 0004405c .*
+Contents of section .eh_frame_entry:
+ 0000 00000001 00000000 .*
+Contents of section .gnu.attributes:
+ 0000 41000000 0f676e75 00010000 00070401 .*
diff --git a/gas/testsuite/gas/mips/compact-eh-eb-3.d b/gas/testsuite/gas/mips/compact-eh-eb-3.d
new file mode 100644
index 00000000000..6782d2b2a26
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-eb-3.d
@@ -0,0 +1,28 @@
+#objdump: -sr
+#name: Compact EH EB #3 with personality id and large FDE data
+#source: compact-eh-3.s
+#as: -EB -mno-pdr
+
+.*: file format.*
+
+
+RELOCATION RECORDS FOR \[.eh_frame_entry\]:
+OFFSET TYPE VALUE
+00000000 R_MIPS_PC32 .text.*
+00000004 R_MIPS_PC32 .gnu_extab
+
+
+Contents of section .text:
+ 0000 00000000.*
+Contents of section .reginfo:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000 00000000 .*
+Contents of section .MIPS.abiflags:
+ .*
+ .*
+Contents of section .gnu_extab:
+ 0000 02044003 055c .*
+Contents of section .eh_frame_entry:
+ 0000 00000001 00000000 .*
+Contents of section .gnu.attributes:
+ 0000 41000000 0f676e75 00010000 00070401 .*
diff --git a/gas/testsuite/gas/mips/compact-eh-eb-4.d b/gas/testsuite/gas/mips/compact-eh-eb-4.d
new file mode 100644
index 00000000000..b9fe3c01733
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-eb-4.d
@@ -0,0 +1,29 @@
+#objdump: -sr
+#name: Compact EH EB #4 with personality id, FDE data and LSDA
+#source: compact-eh-4.s
+#as: -EB -mno-pdr
+
+.*: file format.*
+
+
+RELOCATION RECORDS FOR \[.eh_frame_entry\]:
+OFFSET TYPE VALUE
+00000000 R_MIPS_PC32 .text.*
+00000004 R_MIPS_PC32 .gnu_extab
+
+
+Contents of section .text:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000.*
+Contents of section .reginfo:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000 00000000 .*
+Contents of section .MIPS.abiflags:
+ .*
+ .*
+Contents of section .gnu_extab:
+ 0000 0204405c 020a0104 7f050404 0005047f .*
+Contents of section .eh_frame_entry:
+ 0000 00000001 00000000 .*
+Contents of section .gnu.attributes:
+ 0000 41000000 0f676e75 00010000 00070401 .*
diff --git a/gas/testsuite/gas/mips/compact-eh-eb-5.d b/gas/testsuite/gas/mips/compact-eh-eb-5.d
new file mode 100644
index 00000000000..fd278a16f4a
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-eb-5.d
@@ -0,0 +1,44 @@
+#objdump: -sr
+#name: Compact EH EB #5 with personality routine, FDE data and LSDA
+#source: compact-eh-5.s
+#as: -EB -mno-pdr
+
+.*: file format.*
+
+
+RELOCATION RECORDS FOR \[.data.DW.ref.__gnu_compact_pr2\]:
+OFFSET TYPE VALUE
+00000000 R_MIPS_32 __gnu_compact_pr2
+
+
+RELOCATION RECORDS FOR \[.gnu_extab\]:
+OFFSET TYPE VALUE
+00000001 R_MIPS_PC32 DW.ref.__gnu_compact_pr2
+
+
+RELOCATION RECORDS FOR \[.eh_frame_entry\]:
+OFFSET TYPE VALUE
+00000000 R_MIPS_PC32 .text.*
+00000004 R_MIPS_PC32 .gnu_extab
+
+
+Contents of section .group:
+ 0000 00000001 00000007 .*
+Contents of section .text:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000.*
+Contents of section .reginfo:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000 00000000 .*
+Contents of section .MIPS.abiflags:
+ .*
+ .*
+Contents of section .data.DW.ref.__gnu_compact_pr2:
+ 0000 00000000 .*
+Contents of section .gnu_extab:
+ 0000 00000000 0004405c 020a0104 7f050404 .*
+ 0010 0005047f .*
+Contents of section .eh_frame_entry:
+ 0000 00000001 00000000 .*
+Contents of section .gnu.attributes:
+ 0000 41000000 0f676e75 00010000 00070401 .*
diff --git a/gas/testsuite/gas/mips/compact-eh-eb-6.d b/gas/testsuite/gas/mips/compact-eh-eb-6.d
new file mode 100644
index 00000000000..496be17afda
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-eb-6.d
@@ -0,0 +1,30 @@
+#objdump: -sr
+#name: Compact EH EB #6 with personality id, LSDA and large FDE data
+#source: compact-eh-6.s
+#as: -EB -mno-pdr
+
+.*: file format.*
+
+
+RELOCATION RECORDS FOR \[.eh_frame_entry\]:
+OFFSET TYPE VALUE
+00000000 R_MIPS_PC32 .text.*
+00000004 R_MIPS_PC32 .gnu_extab
+
+
+Contents of section .text:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000.*
+Contents of section .reginfo:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000 00000000 .*
+Contents of section .MIPS.abiflags:
+ .*
+ .*
+Contents of section .gnu_extab:
+ 0000 02044003 055f5f5c 020a0104 7f050404 .*
+ 0010 0005047f .*
+Contents of section .eh_frame_entry:
+ 0000 00000001 00000000 .*
+Contents of section .gnu.attributes:
+ 0000 41000000 0f676e75 00010000 00070401 .*
diff --git a/gas/testsuite/gas/mips/compact-eh-eb-7.d b/gas/testsuite/gas/mips/compact-eh-eb-7.d
new file mode 100644
index 00000000000..2daae3fb7a4
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-eb-7.d
@@ -0,0 +1,35 @@
+#objdump: -sr
+#name: Compact EH EB #7 with personality id and fallback FDE
+#source: compact-eh-7.s
+#as: -EB -mno-pdr
+
+.*: file format.*
+
+
+RELOCATION RECORDS FOR \[.eh_frame\]:
+OFFSET TYPE VALUE
+0000001c R_MIPS_PC32 .text.*
+
+
+RELOCATION RECORDS FOR \[.eh_frame_entry\]:
+OFFSET TYPE VALUE
+00000000 R_MIPS_PC32 .text.*
+00000004 R_MIPS_PC32 .eh_frame.*
+
+
+Contents of section .text:
+ 0000 00000000 00000000.*
+Contents of section .reginfo:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000 00000000 .*
+Contents of section .MIPS.abiflags:
+ .*
+ .*
+Contents of section .eh_frame:
+ 0000 00000010 00000000 017a5200 017c1f01 .*
+ 0010 1b0d1d00 00000014 00000018 00000000 .*
+ 0020 00000008 00441308 440e0000 .*
+Contents of section .eh_frame_entry:
+ 0000 00000001 00000015 .*
+Contents of section .gnu.attributes:
+ 0000 41000000 0f676e75 00010000 00070401 .*
diff --git a/gas/testsuite/gas/mips/compact-eh-el-1.d b/gas/testsuite/gas/mips/compact-eh-el-1.d
new file mode 100644
index 00000000000..64abfbaeb8c
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-el-1.d
@@ -0,0 +1,25 @@
+#objdump: -sr
+#name: Compact EH EL #1 with personality ID and FDE data
+#source: compact-eh-1.s
+#as: -EL -mno-pdr
+
+.*: file format.*
+
+
+RELOCATION RECORDS FOR \[.eh_frame_entry\]:
+OFFSET TYPE VALUE
+00000000 R_MIPS_PC32 .text.*
+
+
+Contents of section .text:
+ 0000 00000000.*
+Contents of section .reginfo:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000 00000000 .*
+Contents of section .MIPS.abiflags:
+ .*
+ .*
+Contents of section .eh_frame_entry:
+ 0000 00000000 0104405c .*
+Contents of section .gnu.attributes:
+ 0000 410f0000 00676e75 00010700 00000401 .*
diff --git a/gas/testsuite/gas/mips/compact-eh-el-2.d b/gas/testsuite/gas/mips/compact-eh-el-2.d
new file mode 100644
index 00000000000..80627ebddcb
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-el-2.d
@@ -0,0 +1,42 @@
+#objdump: -sr
+#name: Compact EH EL #2 with personality routine and FDE data
+#source: compact-eh-2.s
+#as: -EL -mno-pdr
+
+.*: file format.*
+
+
+RELOCATION RECORDS FOR \[.data.DW.ref.__gnu_compact_pr2\]:
+OFFSET TYPE VALUE
+00000000 R_MIPS_32 __gnu_compact_pr2
+
+
+RELOCATION RECORDS FOR \[.gnu_extab\]:
+OFFSET TYPE VALUE
+00000001 R_MIPS_PC32 DW.ref.__gnu_compact_pr2
+
+
+RELOCATION RECORDS FOR \[.eh_frame_entry\]:
+OFFSET TYPE VALUE
+00000000 R_MIPS_PC32 .text.*
+00000004 R_MIPS_PC32 .gnu_extab
+
+
+Contents of section .group:
+ 0000 01000000 07000000 .*
+Contents of section .text:
+ 0000 00000000.*
+Contents of section .reginfo:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000 00000000 .*
+Contents of section .MIPS.abiflags:
+ .*
+ .*
+Contents of section .data.DW.ref.__gnu_compact_pr2:
+ 0000 00000000 .*
+Contents of section .gnu_extab:
+ 0000 00000000 0004405c .*
+Contents of section .eh_frame_entry:
+ 0000 01000000 00000000 .*
+Contents of section .gnu.attributes:
+ 0000 410f0000 00676e75 00010700 00000401 .*
diff --git a/gas/testsuite/gas/mips/compact-eh-el-3.d b/gas/testsuite/gas/mips/compact-eh-el-3.d
new file mode 100644
index 00000000000..aacfac2115d
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-el-3.d
@@ -0,0 +1,28 @@
+#objdump: -sr
+#name: Compact EH EL #3 with personality id and large FDE data
+#source: compact-eh-3.s
+#as: -EL -mno-pdr
+
+.*: file format.*
+
+
+RELOCATION RECORDS FOR \[.eh_frame_entry\]:
+OFFSET TYPE VALUE
+00000000 R_MIPS_PC32 .text.*
+00000004 R_MIPS_PC32 .gnu_extab
+
+
+Contents of section .text:
+ 0000 00000000.*
+Contents of section .reginfo:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000 00000000 .*
+Contents of section .MIPS.abiflags:
+ .*
+ .*
+Contents of section .gnu_extab:
+ 0000 02044003 055c .*
+Contents of section .eh_frame_entry:
+ 0000 01000000 00000000 .*
+Contents of section .gnu.attributes:
+ 0000 410f0000 00676e75 00010700 00000401 .*
diff --git a/gas/testsuite/gas/mips/compact-eh-el-4.d b/gas/testsuite/gas/mips/compact-eh-el-4.d
new file mode 100644
index 00000000000..d3d85e1c49d
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-el-4.d
@@ -0,0 +1,29 @@
+#objdump: -sr
+#name: Compact EH EL #4 with personality id, FDE data and LSDA
+#source: compact-eh-4.s
+#as: -EL -mno-pdr
+
+.*: file format.*
+
+
+RELOCATION RECORDS FOR \[.eh_frame_entry\]:
+OFFSET TYPE VALUE
+00000000 R_MIPS_PC32 .text.*
+00000004 R_MIPS_PC32 .gnu_extab
+
+
+Contents of section .text:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000.*
+Contents of section .reginfo:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000 00000000 .*
+Contents of section .MIPS.abiflags:
+ .*
+ .*
+Contents of section .gnu_extab:
+ 0000 0204405c 020a0104 7f050404 0005047f .*
+Contents of section .eh_frame_entry:
+ 0000 01000000 00000000 .*
+Contents of section .gnu.attributes:
+ 0000 410f0000 00676e75 00010700 00000401 .*
diff --git a/gas/testsuite/gas/mips/compact-eh-el-5.d b/gas/testsuite/gas/mips/compact-eh-el-5.d
new file mode 100644
index 00000000000..7f0762290ca
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-el-5.d
@@ -0,0 +1,43 @@
+#objdump: -sr
+#name: Compact EH EL #5 with personality routine, FDE data and LSDA
+#source: compact-eh-5.s
+#as: -EL -mno-pdr
+
+.*: file format.*
+
+RELOCATION RECORDS FOR \[.data.DW.ref.__gnu_compact_pr2\]:
+OFFSET TYPE VALUE
+00000000 R_MIPS_32 __gnu_compact_pr2
+
+
+RELOCATION RECORDS FOR \[.gnu_extab\]:
+OFFSET TYPE VALUE
+00000001 R_MIPS_PC32 DW.ref.__gnu_compact_pr2
+
+
+RELOCATION RECORDS FOR \[.eh_frame_entry\]:
+OFFSET TYPE VALUE
+00000000 R_MIPS_PC32 .text.*
+00000004 R_MIPS_PC32 .gnu_extab
+
+
+Contents of section .group:
+ 0000 01000000 07000000 .*
+Contents of section .text:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000.*
+Contents of section .reginfo:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000 00000000 .*
+Contents of section .MIPS.abiflags:
+ .*
+ .*
+Contents of section .data.DW.ref.__gnu_compact_pr2:
+ 0000 00000000 .*
+Contents of section .gnu_extab:
+ 0000 00000000 0004405c 020a0104 7f050404 .*
+ 0010 0005047f .*
+Contents of section .eh_frame_entry:
+ 0000 01000000 00000000 .*
+Contents of section .gnu.attributes:
+ 0000 410f0000 00676e75 00010700 00000401 .*
diff --git a/gas/testsuite/gas/mips/compact-eh-el-6.d b/gas/testsuite/gas/mips/compact-eh-el-6.d
new file mode 100644
index 00000000000..802a946a843
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-el-6.d
@@ -0,0 +1,30 @@
+#objdump: -sr
+#name: Compact EH EL #6 with personality id, LSDA and large FDE data
+#source: compact-eh-6.s
+#as: -EL -mno-pdr
+
+.*: file format.*
+
+
+RELOCATION RECORDS FOR \[.eh_frame_entry\]:
+OFFSET TYPE VALUE
+00000000 R_MIPS_PC32 .text.*
+00000004 R_MIPS_PC32 .gnu_extab
+
+
+Contents of section .text:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000.*
+Contents of section .reginfo:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000 00000000 .*
+Contents of section .MIPS.abiflags:
+ .*
+ .*
+Contents of section .gnu_extab:
+ 0000 02044003 055f5f5c 020a0104 7f050404 .*
+ 0010 0005047f .*
+Contents of section .eh_frame_entry:
+ 0000 01000000 00000000 .*
+Contents of section .gnu.attributes:
+ 0000 410f0000 00676e75 00010700 00000401 .*
diff --git a/gas/testsuite/gas/mips/compact-eh-el-7.d b/gas/testsuite/gas/mips/compact-eh-el-7.d
new file mode 100644
index 00000000000..c3c585ef753
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-el-7.d
@@ -0,0 +1,35 @@
+#objdump: -sr
+#name: Compact EH EL #7 with personality id and fallback FDE
+#source: compact-eh-7.s
+#as: -EL -mno-pdr
+
+.*: file format.*
+
+
+RELOCATION RECORDS FOR \[.eh_frame\]:
+OFFSET TYPE VALUE
+0000001c R_MIPS_PC32 .text.*
+
+
+RELOCATION RECORDS FOR \[.eh_frame_entry\]:
+OFFSET TYPE VALUE
+00000000 R_MIPS_PC32 .text.*
+00000004 R_MIPS_PC32 .eh_frame.*
+
+
+Contents of section .text:
+ 0000 00000000 00000000.*
+Contents of section .reginfo:
+ 0000 00000000 00000000 00000000 00000000 .*
+ 0010 00000000 00000000 .*
+Contents of section .MIPS.abiflags:
+ .*
+ .*
+Contents of section .eh_frame:
+ 0000 10000000 00000000 017a5200 017c1f01 .*
+ 0010 1b0d1d00 14000000 18000000 00000000 .*
+ 0020 08000000 00441308 440e0000 .*
+Contents of section .eh_frame_entry:
+ 0000 01000000 15000000 .*
+Contents of section .gnu.attributes:
+ 0000 410f0000 00676e75 00010700 00000401 .*
diff --git a/gas/testsuite/gas/mips/compact-eh-err1.l b/gas/testsuite/gas/mips/compact-eh-err1.l
new file mode 100644
index 00000000000..3ee03dea6ce
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-err1.l
@@ -0,0 +1,2 @@
+.*: Assembler messages:
+.*:20: Error: .cfi_inline_lsda seen for frame without .cfi_lsda
diff --git a/gas/testsuite/gas/mips/compact-eh-err1.s b/gas/testsuite/gas/mips/compact-eh-err1.s
new file mode 100644
index 00000000000..967313f1db9
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-err1.s
@@ -0,0 +1,20 @@
+ .gnu_attribute 4, 1
+ .abicalls
+ .text
+ .align 2
+ .globl _Z3fooi
+ .cfi_sections .eh_frame_entry
+$LFB0 = .
+ .cfi_startproc
+ .cfi_personality_id 0x2
+ .set nomips16
+ .set nomicromips
+ .ent _Z3fooi
+ .type _Z3fooi, @function
+_Z3fooi:
+ nop
+ .end _Z3fooi
+ .size _Z3fooi, .-_Z3fooi
+ .cfi_fde_data 0x4,0x40
+ .cfi_endproc
+ .cfi_inline_lsda 1
diff --git a/gas/testsuite/gas/mips/compact-eh-err2.l b/gas/testsuite/gas/mips/compact-eh-err2.l
new file mode 100644
index 00000000000..c52976a3b59
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-err2.l
@@ -0,0 +1,2 @@
+.*: Assembler messages:
+.*:7: Error: inconsistent uses of .cfi_sections
diff --git a/gas/testsuite/gas/mips/compact-eh-err2.s b/gas/testsuite/gas/mips/compact-eh-err2.s
new file mode 100644
index 00000000000..acf83d1497e
--- /dev/null
+++ b/gas/testsuite/gas/mips/compact-eh-err2.s
@@ -0,0 +1,7 @@
+ .gnu_attribute 4, 1
+ .abicalls
+ .text
+ .align 2
+ .globl _Z3fooi
+ .cfi_sections .eh_frame_entry
+ .cfi_sections .eh_frame
diff --git a/gas/testsuite/gas/mips/mips.exp b/gas/testsuite/gas/mips/mips.exp
index c3c33643c36..4568f24a04f 100644
--- a/gas/testsuite/gas/mips/mips.exp
+++ b/gas/testsuite/gas/mips/mips.exp
@@ -570,6 +570,23 @@ if { [istarget mips*-*-vxworks*] } {
"MIPS branch swapping ($count)"
}
+ run_dump_test "compact-eh-eb-1"
+ run_dump_test "compact-eh-eb-2"
+ run_dump_test "compact-eh-eb-3"
+ run_dump_test "compact-eh-eb-4"
+ run_dump_test "compact-eh-eb-5"
+ run_dump_test "compact-eh-eb-6"
+ run_dump_test "compact-eh-eb-7"
+ run_dump_test "compact-eh-el-1"
+ run_dump_test "compact-eh-el-2"
+ run_dump_test "compact-eh-el-3"
+ run_dump_test "compact-eh-el-4"
+ run_dump_test "compact-eh-el-5"
+ run_dump_test "compact-eh-el-6"
+ run_dump_test "compact-eh-el-7"
+ run_list_test "compact-eh-err1"
+ run_list_test "compact-eh-err2"
+
run_dump_test "div"
if { !$addr32 } {
@@ -1139,7 +1156,6 @@ if { [istarget mips*-*-vxworks*] } {
run_dump_test "align2-el"
run_dump_test "align3"
run_dump_test "odd-float"
- run_dump_test "ehword"
run_dump_test "insn-opts"
run_list_test_arches "mips-macro-ill-sfp" "-32 -msingle-float" \
diff --git a/gas/testsuite/gas/mmix/loc-3.d b/gas/testsuite/gas/mmix/loc-3.d
index 1191084f0dd..2c477dbb732 100644
--- a/gas/testsuite/gas/mmix/loc-3.d
+++ b/gas/testsuite/gas/mmix/loc-3.d
@@ -17,7 +17,7 @@ Section Headers:
+\[ 5\] \.symtab +SYMTAB +0000000000000000 .*
+00000000000000c0 +0000000000000018 +6 +5 +8
+\[ 6\] \.strtab +STRTAB +0000000000000000 .*
- +0000000000000030 +0000000000000000 +0 +0 +1
+ +000000000000002e +0000000000000000 +0 +0 +1
Key to Flags:
#...
diff --git a/gas/testsuite/gas/mmix/loc-5.d b/gas/testsuite/gas/mmix/loc-5.d
index eec81ad2591..fa80a86e27f 100644
--- a/gas/testsuite/gas/mmix/loc-5.d
+++ b/gas/testsuite/gas/mmix/loc-5.d
@@ -17,7 +17,7 @@ Section Headers:
+\[ 5\] \.symtab +SYMTAB +0+ .*
+0+c0 +0+18 +6 +6 +8
+\[ 6\] \.strtab +STRTAB +0+ .*
- +0+29 +0+ +0 +0 +1
+ +0+27 +0+ +0 +0 +1
Key to Flags:
#...
diff --git a/gas/testsuite/gas/ppc/a2.d b/gas/testsuite/gas/ppc/a2.d
index 700c66578d3..bb60275afe4 100644
--- a/gas/testsuite/gas/ppc/a2.d
+++ b/gas/testsuite/gas/ppc/a2.d
@@ -347,7 +347,7 @@ Disassembly of section \.text:
4fc: (7c 00 04 00|00 04 00 7c) mcrxr cr0
500: (7d 80 04 00|00 04 80 7d) mcrxr cr3
504: (7c 60 00 26|26 00 60 7c) mfcr r3
- 508: (7c 60 00 26|26 00 60 7c) mfcr r3
+ 508: (7c 70 20 26|26 20 70 7c) mfocrf r3,2
50c: (7c 70 10 26|26 10 70 7c) mfocrf r3,1
510: (7c 78 00 26|26 00 78 7c) mfocrf r3,128
514: (7d 4a 3a 87|87 3a 4a 7d) mfdcr\. r10,234
@@ -544,9 +544,9 @@ Disassembly of section \.text:
810: (7e 95 01 90|90 01 95 7e) subfze r20,r21
814: (7e 95 05 91|91 05 95 7e) subfzeo\. r20,r21
818: (7e 95 05 90|90 05 95 7e) subfzeo r20,r21
- 81c: (7c 00 04 ac|ac 04 00 7c) sync
- 820: (7c 00 04 ac|ac 04 00 7c) sync
- 824: (7c 00 04 ac|ac 04 00 7c) sync
+ 81c: (7c 00 04 ac|ac 04 00 7c) hwsync
+ 820: (7c 00 04 ac|ac 04 00 7c) hwsync
+ 824: (7c 00 04 ac|ac 04 00 7c) hwsync
828: (7c 20 04 ac|ac 04 20 7c) lwsync
82c: (7c aa 58 88|88 58 aa 7c) tdlge r10,r11
830: (08 aa 00 64|64 00 aa 08) tdlgei r10,100
diff --git a/gas/testsuite/gas/ppc/a2.s b/gas/testsuite/gas/ppc/a2.s
index 7d0ddc77561..ecb8668a51a 100644
--- a/gas/testsuite/gas/ppc/a2.s
+++ b/gas/testsuite/gas/ppc/a2.s
@@ -322,7 +322,7 @@ start:
mcrxr 0
mcrxr 3
mfcr 3
- mfcr 3,0
+ mfcr 3,0x02
mfcr 3,0x01
mfcr 3,0x80
mfdcr. 10,234
diff --git a/gas/testsuite/gas/ppc/e6500.d b/gas/testsuite/gas/ppc/e6500.d
index 48b00012369..c8d8f57e34a 100644
--- a/gas/testsuite/gas/ppc/e6500.d
+++ b/gas/testsuite/gas/ppc/e6500.d
@@ -62,7 +62,7 @@ Disassembly of section \.text:
d0: (7c 00 04 ac|ac 04 00 7c) sync
d4: (7c 00 04 ac|ac 04 00 7c) sync
d8: (7c 20 04 ac|ac 04 20 7c) lwsync
- dc: (7c 00 04 ac|ac 04 00 7c) sync
+ dc: (7c 21 04 ac|ac 04 21 7c) sync 1,1
e0: (7c 07 04 ac|ac 04 07 7c) sync 0,7
e4: (7c 28 04 ac|ac 04 28 7c) sync 1,8
e8: (7c 00 00 c3|c3 00 00 7c) dni 0,0
diff --git a/gas/testsuite/gas/ppc/e6500.s b/gas/testsuite/gas/ppc/e6500.s
index ceee7776b35..2167cc60b65 100644
--- a/gas/testsuite/gas/ppc/e6500.s
+++ b/gas/testsuite/gas/ppc/e6500.s
@@ -56,9 +56,9 @@ start:
sync
sync 0,0
sync 1,0
- sync 2,0
- sync 3,7
- sync 3,8
+ sync 1,1
+ sync 0,7
+ sync 1,8
dni 0,0
dni 31,31
dcblq. 2,0,1
diff --git a/gas/testsuite/gas/ppc/power4.d b/gas/testsuite/gas/ppc/power4.d
index cd712458b0f..8a09c0563bb 100644
--- a/gas/testsuite/gas/ppc/power4.d
+++ b/gas/testsuite/gas/ppc/power4.d
@@ -10,7 +10,7 @@ start address 0x0+
Sections:
Idx Name +Size +VMA +LMA +File off +Algn
- +0 \.text +0+cc +0+ +0+ +.*
+ +0 \.text +0+e8 +0+ +0+ +.*
+CONTENTS, ALLOC, LOAD, RELOC, READONLY, CODE
+1 \.data +0+20 +0+ +0+ +.*
+CONTENTS, ALLOC, LOAD, DATA
@@ -99,3 +99,10 @@ Disassembly of section \.text:
.*: (f8 05 00 12|12 00 05 f8) stq r0,16\(r5\)
.*: (f8 45 00 12|12 00 45 f8) stq r2,16\(r5\)
.*: (7c 00 03 e4|e4 03 00 7c) slbia
+.*: (7c 00 04 ac|ac 04 00 7c) hwsync
+.*: (7c 00 04 ac|ac 04 00 7c) hwsync
+.*: (7c 00 04 ac|ac 04 00 7c) hwsync
+.*: (7c 20 04 ac|ac 04 20 7c) lwsync
+.*: (7c 20 04 ac|ac 04 20 7c) lwsync
+.*: (7c 40 04 ac|ac 04 40 7c) ptesync
+.*: (7c 40 04 ac|ac 04 40 7c) ptesync
diff --git a/gas/testsuite/gas/ppc/power4.s b/gas/testsuite/gas/ppc/power4.s
index 49423a170f3..583284cce2f 100644
--- a/gas/testsuite/gas/ppc/power4.s
+++ b/gas/testsuite/gas/ppc/power4.s
@@ -72,6 +72,13 @@ dsym1:
stq 0,16(5)
stq 2,16(5)
slbia
+ hwsync
+ sync
+ sync 0
+ lwsync
+ sync 1
+ ptesync
+ sync 2
.section ".data"
usym0: .llong 0xcafebabe
diff --git a/gas/testsuite/gas/ppc/power8.d b/gas/testsuite/gas/ppc/power8.d
index e66951e2100..61e1cabb7f0 100644
--- a/gas/testsuite/gas/ppc/power8.d
+++ b/gas/testsuite/gas/ppc/power8.d
@@ -27,9 +27,9 @@ Disassembly of section \.text:
44: (60 42 00 00|00 00 42 60) ori r2,r2,0
48: (60 00 00 00|00 00 00 60) nop
4c: (60 42 00 00|00 00 42 60) ori r2,r2,0
- 50: (4c 00 01 24|24 01 00 4c) rfebb
- 54: (4c 00 01 24|24 01 00 4c) rfebb
- 58: (4c 00 09 24|24 09 00 4c) rfebb 1
+ 50: (4c 00 01 24|24 01 00 4c) rfebb 0
+ 54: (4c 00 09 24|24 09 00 4c) rfebb
+ 58: (4c 00 09 24|24 09 00 4c) rfebb
5c: (4d 95 04 60|60 04 95 4d) bctar- 12,4\*cr5\+gt
60: (4c 87 04 61|61 04 87 4c) bctarl- 4,4\*cr1\+so
64: (4d ac 04 60|60 04 ac 4d) bctar\+ 12,4\*cr3\+lt
diff --git a/gas/write.c b/gas/write.c
index 894b271f776..a76813dac11 100644
--- a/gas/write.c
+++ b/gas/write.c
@@ -1585,7 +1585,9 @@ write_contents (bfd *abfd ATTRIBUTE_UNUSED,
f->fr_literal, (file_ptr) offset,
(bfd_size_type) f->fr_fix);
if (!x)
- as_fatal (_("can't write %s: %s"), stdoutput->filename,
+ as_fatal (_("can't write %ld bytes to section %s of %s because: '%s'"),
+ (long) f->fr_fix, sec->name,
+ stdoutput->filename,
bfd_errmsg (bfd_get_error ()));
offset += f->fr_fix;
}
@@ -1606,7 +1608,9 @@ write_contents (bfd *abfd ATTRIBUTE_UNUSED,
(file_ptr) offset,
(bfd_size_type) fill_size);
if (!x)
- as_fatal (_("can't write %s: %s"), stdoutput->filename,
+ as_fatal (_("can't fill %ld bytes in section %s of %s because '%s'"),
+ (long) fill_size, sec->name,
+ stdoutput->filename,
bfd_errmsg (bfd_get_error ()));
offset += fill_size;
}
@@ -1636,7 +1640,8 @@ write_contents (bfd *abfd ATTRIBUTE_UNUSED,
(stdoutput, sec, buf, (file_ptr) offset,
(bfd_size_type) n_per_buf * fill_size);
if (!x)
- as_fatal (_("cannot write to output file '%s': %s"),
+ as_fatal (_("cannot fill %ld bytes in section %s of %s because: '%s'"),
+ (long)(n_per_buf * fill_size), sec->name,
stdoutput->filename,
bfd_errmsg (bfd_get_error ()));
offset += n_per_buf * fill_size;
diff --git a/gdb/ChangeLog b/gdb/ChangeLog
index b7694c769c0..8a961c61e7d 100644
--- a/gdb/ChangeLog
+++ b/gdb/ChangeLog
@@ -1,3 +1,1186 @@
+2015-06-30 Yao Qi <yao.qi@linaro.org>
+
+ PR tdep/18605
+ * arm-tdep.c (arm_get_next_pc_raw): Break for media
+ instructions.
+
+2015-06-29 Kevin Buettner <kevinb@redhat.com>
+
+ * rx-tdep.c (RX_PSW_REGNUM): New enum constant.
+ (rx_dwarf_reg_to_regnum): New function.
+ (rx_gdbarch_init): Register rx_dwarf_reg_to_regnum. Use dwarf2
+ unwinding.
+
+2015-06-29 Pedro Alves <palves@redhat.com>
+
+ PR threads/18127
+ * infcall.c (run_inferior_call): On infcall success, if the thread
+ was marked stopped before, reset it back to stopped.
+ * infrun.c (resume): Don't suppress the set_running calls when
+ doing an infcall.
+ (normal_stop): Only discard the finish_thread_state cleanup if the
+ infcall succeeded.
+
+2015-06-29 Pierre Langlois <pierre.langlois@arm.com>
+
+ * MAINTAINERS (Write After Approval): Update my email address.
+
+2015-06-26 Keith Seitz <keiths@redhat.com>
+ Doug Evans <dje@google.com>
+
+ PR 16253
+ * block.c (block_lookup_symbol): For non-function blocks,
+ continue to search for a symbol with an exact domain match
+ Otherwise, return any previously found "best domain" symbol.
+ (block_lookup_symbol_primary): Likewise.
+
+2015-06-26 Patrick Palka <patrick@parcs.ath.cx>
+
+ * NEWS: Mention the new option "history remove-duplicates".
+ * top.c (history_remove_duplicates): New static variable.
+ (show_history_remove_duplicates): New static function.
+ (gdb_add_history): Conditionally remove duplicate history
+ entries.
+ (init_main): Add "history remove-duplicates" option.
+
+2015-06-26 Patrick Palka <patrick@parcs.ath.cx>
+
+ * tui/tui-win.c (focus_completer): New static function.
+ (_initialize_tui_win): Set the completion function of the
+ "focus" command to focus_completer.
+
+2015-06-26 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * linespec.c (minsym_found): Reset sal.PC for COMPUNIT_LOCATIONS_VALID
+ and language_asm..
+ * symtab.c (find_function_start_sal): Likewise.
+
+2015-06-25 Gary Benson <gbenson@redhat.com>
+
+ * solib.c (solib_find_1): Set local variable sysroot to NULL if
+ it is the empty string after trailing slashes have been stripped.
+
+2015-06-25 Gary Benson <gbenson@redhat.com>
+
+ * exec.c (exec_file_locate_attach): Remove gdb_sysroot NULL check.
+ * infrun.c (follow_exec): Likewise.
+ * remote.c (remote_filesystem_is_local): Likewise.
+ * solib.c (solib_find_1): Likewise.
+
+2015-06-24 Keith Seitz <keiths@redhat.com>
+
+ * build-id.c (build_id_to_debug_bfd): Add cleanup to free
+ return value from lrealpath.
+
+2015-06-24 Mike Frysinger <vapier@gentoo.org>
+
+ * remote-sim.c (gdbsim_open): Move sysroot update to the top.
+
+2015-06-24 Mike Frysinger <vapier@gentoo.org>
+
+ * remote-sim.c: Include gdb_bfd.h.
+ (gdbsim_open): Declare new local sysroot pointing to gdb_sysroot.
+ Skip TARGET_SYSROOT_PREFIX in gdb_sysroot when it is active.
+
+2015-06-24 Yao Qi <yao.qi@linaro.org>
+
+ * aarch64-linux-tdep.c (aarch64_linux_init_abi): Don't call
+ set_gdbarch_get_siginfo_type.
+ * amd64-linux-tdep.c (amd64_linux_init_abi_common): Likewise.
+ * arm-linux-tdep.c (arm_linux_init_abi): Likewise.
+ * i386-linux-tdep.c (i386_linux_init_abi): Likewise.
+ * m68klinux-tdep.c (m68k_linux_init_abi): Likewise.
+ * ppc-linux-tdep.c (ppc_linux_init_abi): Likewise.
+ * s390-linux-tdep.c (s390_gdbarch_init): Likewise.
+ * tilegx-linux-tdep.c (tilegx_linux_init_abi): Likewise.
+ * linux-tdep.c (linux_get_siginfo_type): Change it to static.
+ (linux_init_abi): Call set_gdbarch_get_siginfo_type.
+ * linux-tdep.h (linux_get_siginfo_type): Remove the declaration.
+
+2015-06-24 Gary Benson <gbenson@redhat.com>
+
+ * common/buffer.c (stdint.h): Do not include.
+ * common/print-utils.c (stdint.h): Likewise.
+ * compile/compile-c-symbols.c (gdb_assert.h): Likewise.
+ * compile/compile-c-types.c (gdb_assert.h): Likewise.
+ * ft32-tdep.c (gdb_assert.h): Likewise.
+ * guile/scm-utils.c (stdint.h): Likewise.
+ * i386-linux-tdep.c (stdint.h): Likewise.
+ * i386-tdep.c (stdint.h): Likewise.
+ * nat/linux-btrace.c (stdint.h): Likewise.
+ * nat/linux-btrace.h (stdint.h): Likewise.
+ * nat/linux-ptrace.c (stdint.h): Likewise.
+ * nat/mips-linux-watch.h (stdint.h): Likewise.
+ * ppc-linux-nat.c (stdint.h): Likewise.
+ * python/python-internal.h (stdint.h): Likewise.
+ * stub-termcap.c (stdlib.h): Likewise.
+ * target/target.h (stdint.h): Likewise.
+ * xtensa-linux-nat.c (stdint.h): Likewise.
+
+2015-06-23 Patrick Palka <patrick@parcs.ath.cx>
+
+ * top.c (init_history): Look at errno after calling strtol to
+ properly map large GDBHISTSIZE values to infinity.
+
+2015-06-23 Doug Evans <dje@google.com>
+
+ * inferior.h (struct inferior_suspend_state): Delete, unused.
+ All references deleted.
+
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * microblaze-tdep.c (microblaze_push_dummy_code): Delete.
+ (microblaze_push_dummy_call): Likewise.
+ (microblaze_gdbarch_init): Delete calls to set_gdbarch_push_dummy_code
+ and set_gdbarch_push_dummy_call.
+
+2015-06-23 Yao Qi <yao.qi@linaro.org>
+
+ * amd64-linux-nat.c (amd64_linux_fetch_inferior_registers):
+ Check whether have_ptrace_getregset is TRIBOOL_TRUE explicitly.
+ (amd64_linux_store_inferior_registers): Likewise.
+ * arm-linux-nat.c (fetch_fpregister): Likewise.
+ (fetch_fpregs, store_fpregister): Likewise.
+ (store_fpregister, store_fpregs): Likewise.
+ (fetch_register, fetch_regs): Likewise.
+ (store_register, store_regs): Likewise.
+ (fetch_vfp_regs, store_vfp_regs): Likewise.
+ (arm_linux_read_description): Check have_ptrace_getregset is
+ TRIBOOL_UNKNOWN. Set have_ptrace_getregset to TRIBOOL_TRUE
+ or TRIBOOL_FALSE.
+ * i386-linux-nat.c (fetch_xstateregs): Check
+ have_ptrace_getregset is not TRIBOOL_TRUE.
+ (store_xstateregs): Likewise.
+ * linux-nat.c (have_ptrace_getregset): Change its type to
+ enum tribool.
+ * linux-nat.h (tribool): New enum.
+ * x86-linux-nat.c (x86_linux_read_description): Use enum tribool.
+ Check whether have_ptrace_getregset is TRIBOOL_TRUE.
+
+2015-06-19 Doug Evans <dje@google.com>
+
+ * NEWS: Mention Sun's version of stabs is no longer supported.
+ * elfread.c (free_elfinfo): Delete. All uses updated.
+ (elfstab_offset_sections): Delete. All uses updated.
+ * gdb-stabs.h (stab_section_info): Delete. All uses updated.
+ * psympriv.h (partial_symtab) <section_offsets>: Delete.
+ All uses updated.
+ * psymtab.c (start_psymtab_common): Delete arg section_offsets.
+ All callers updated.
+
+2015-06-18 Simon Marchi <simon.marchi@ericsson.com>
+
+ * common/rsp-low.c (needs_escaping): New.
+ (remote_escape_output): Add unit_size parameter. Refactor to
+ support multi-byte addressable units. Rename parameters.
+ * common/rsp-low.h (remote_escape_output): Add unit_size
+ parameter and rename others. Update doc.
+ * remote.c (align_for_efficient_write): New.
+ (remote_write_bytes_aux): Add unit_size parameter and use it.
+ Rename some variables. Update doc.
+ (remote_xfer_partial): Get unit size and use it.
+ (remote_read_bytes_1): Add unit_size parameter and use it.
+ Rename some variables. Update doc.
+ (remote_write_bytes): Same.
+ (remote_xfer_live_readonly_partial): Same.
+ (remote_read_bytes): Same.
+ (remote_flash_write): Update call to remote_write_bytes_aux.
+ (remote_write_qxfer): Update call to remote_escape_output.
+ (remote_search_memory): Same.
+ (remote_hostio_pwrite): Same.
+
+2015-06-17 Luis Machado <lgustavo@codesourcery.com>
+
+ * breakpoint.c (add_location_to_breakpoint): Don't mark permanent
+ locations as inserted.
+ Update and expand comment about permanent locations.
+ (bp_loc_is_permanent): Don't return 0 for bp_call_dummy.
+ Move comment to add_location_to_breakpoint.
+ (update_global_location_list): Don't error out if a permanent
+ breakpoint is not marked inserted.
+ Don't error out if a non-permanent breakpoint location is inserted on
+ top of a permanent breakpoint.
+
+2015-06-17 Luis Machado <lgustavo@codesourcery.com>
+
+ * breakpoint.c (make_breakpoint_permanent): Remove unused
+ function.
+ * breakpoint.h (make_breakpoint_permanent): Remove declaration.
+
+2015-06-17 Patrick Palka <patrick@parcs.ath.cx>
+
+ PR gdb/16999
+ * NEWS: Mention new GDBHISTSIZE behavior.
+ * top.c (init_history): For null or out-of-range GDBHISTSIZE,
+ set history size to unlimited. Ignore non-numeric GDBHISTSIZE.
+
+2015-06-17 Patrick Palka <patrick@parcs.ath.cx>
+
+ * NEWS: Mention that GDBHISTSIZE is read instead of HISTSIZE.
+ * top.c (init_history): Read from GDBHISTSIZE instead of
+ HISTSIZE.
+ (init_main): Refer to GDBHISTSIZE instead of HISTSIZE.
+
+2015-06-17 Patrick Palka <patrick@parcs.ath.cx>
+
+ * top.c (gdb_safe_append_history): Do not call
+ history_truncate_file if the history is not stifled.
+
+2015-06-17 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * syscalls/s390-linux.xml: Add syscalls 344 through 354.
+ * syscalls/s390x-linux.xml: Likewise.
+
+2015-06-16 Michael Eager <eager@eagercon.com>
+
+ * nat/linux-namespaces.c (MSG_CMSG_CLOEXEC): Define if not defined.
+
+2015-06-16 Patrick Palka <patrick@parcs.ath.cx>
+
+ * tui/tui-hooks.c (tui_selected_frame_level_changed_hook): Call
+ target_terminal_ours_for_output() before calling
+ tui_show_frame_info(), and restore the original terminal
+ settings afterwards.
+
+2015-06-16 Martin Simmons <martin@lispworks.com> (tiny patch)
+
+ * arm-linux-nat.c: Include nat/linux-ptrace.h.
+
+2015-06-15 Simon Marchi <simon.marchi@ericsson.com>
+
+ * mi/mi-main.c (mi_cmd_data_read_memory_bytes): Consider addressable
+ memory unit size.
+ (mi_cmd_data_write_memory_bytes): Same.
+
+2015-06-15 Simon Marchi <simon.marchi@ericsson.com>
+
+ * corefile.c (write_memory): Update doc.
+ * gdbcore.h (write_memory): Same.
+
+2015-06-15 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * linux-tdep.c (enum filterflags): Make it from anonymous enum.
+ (dump_mapping_p): Use it for parameter filterflags.
+ (linux_find_memory_regions_full): Use it for variable filterflags.
+
+2015-06-15 Aleksandar Ristovski <aristovski@qnx.com
+ Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Merge multiple hex conversions.
+ * monitor.c: Include rsp-low.h.
+ (fromhex): Remove definition.
+
+2015-06-15 Aleksandar Ristovski <aristovski@qnx.com
+ Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Move utility functions to common/.
+ * cli/cli-utils.c (skip_spaces, skip_spaces_const, skip_to_space_const):
+ Move defs to common/common-utils.c.
+ * cli/cli-utils.h (skip_spaces, skip_spaces_const, skip_to_space)
+ (skip_to_space_const): Move decls to common/common-utils.h.
+ * common/common-defs.h: Move include of common-types.h before
+ common-utils.h.
+ * common/common-utils.c: Include host-defs.h and ctype.h.
+ (HIGH_BYTE_POSN, is_digit_in_base, digit_to_int, strtoulst): Move
+ from utils.c.
+ (skip_spaces, skip_spaces_const, skip_to_space_const): Move from
+ cli/cli-utils.c.
+ * common/common-utils.h (strtoulst): Move decl from utils.h.
+ (skip_spaces, skip_spaces_const, skip_to_space, skip_to_space_const):
+ Move from cli/cli-utils.h.
+ * common/host-defs.h: Include limits.h.
+ (TARGET_CHAR_BIT, HOST_CHAR_BIT): Moved from defs.h.
+ (skip_spaces, skip_spaces_const): Move decls from cli/cli-utils.h.
+ * defs.h (TARGET_CHAR_BIT, HOST_CHAR_BIT): Move to
+ common/common-utils.h.
+ * utils.c (HIGH_BYTE_POSN, is_digit_in_base, digit_to_int)
+ (strtoulst): Move to common/common-utils.c.
+ * utils.h (strtoulst): Moved decl to common/common-utils.h.
+
+2015-06-15 Yao Qi <yao.qi@linaro.org>
+
+ * data-directory/Makefile.in (SYSCALLS_FILES): Add aarch64-linux.xml.
+
+2015-06-10 Jon Turney <jon.turney@dronecode.org.uk>
+
+ * build-id.c: Don't include elf-bfd.h.
+ (build_id_bfd_get): Use bfd_build_id.
+ (build_id_verify): Ditto.
+ * build-id.h: Ditto.
+ (find_separate_debug_file_by_buildid): Ditto.
+ * python/py-objfile.c: Don't include elf-bfd.h.
+ (objfpy_get_build_id) Use bfd_build_id.
+ (objfpy_build_id_matches, objfpy_lookup_objfile_by_build_id): Ditto.
+ * coffread.c: Include build-id.h.
+ (coff_symfile_read): Try find_separate_debug_file_by_buildid.
+
+2015-06-03 Jon Turney <jon.turney@dronecode.org.uk>
+
+ * windows-nat.c (do_windows_fetch_inferior_registers)
+ (handle_output_debug_string): Replace __COPY_CONTEXT_SIZE
+ conditional with __CYGWIN__.
+
+2015-06-13 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * completer.c: Add arch-utils.h include.
+ (enum reg_completer_targets): New enum.
+ (reg_or_group_completer_1): New function containing old
+ reg_or_group_completer, add and use new parameter to control what
+ is completed on. Use get_current_arch rather than architecture of
+ currently selected frame.
+ (reg_or_group_completer): Call new reg_or_group_completer_1.
+ (reggroup_completer): Call new reg_or_group_completer_1.
+ * completer.h (reggroup_completer): Add declaration.
+ * tui/tui-regs.c: Add 'completer.h' include.
+ (tui_reg_next_command): Renamed to...
+ (tui_reg_next): ...this. Adjust parameters and return rather than
+ display new group.
+ (tui_reg_prev_command): Renamed to...
+ (tui_reg_prev): ...this. Adjust parameters and return rather than
+ display new group.
+ (tui_reg_float_command): Delete.
+ (tui_reg_general_command): Delete.
+ (tui_reg_system_command): Delete.
+ (tui_reg_command): Rewrite to perform switching of register group.
+ Add header comment.
+ (tuireglist): Remove.
+ (tui_reggroup_completer): New function.
+ (_initialize_tui_regs): Remove 'tui reg' sub-commands, update
+ creation of 'tui reg' command.
+ * NEWS: Add comment about 'tui reg' changes.
+
+2015-06-12 Simon Marchi <simon.marchi@ericsson.com>
+
+ * target.c (target_read): Consider addressable unit size when
+ reading from a memory object.
+ (read_memory_robust): Same.
+ (read_whatever_is_readable): Same.
+ (target_write_with_progress): Consider addressable unit size
+ when writing to a memory object.
+ * target.h (target_read): Update documentation.
+ (target_write): Add documentation.
+
+2015-06-12 Simon Marchi <simon.marchi@ericsson.com>
+
+ * arch-utils.h (default_addressable_memory_unit_size): New.
+ * arch-utils.c (default_addressable_memory_unit_size): New.
+ * gdbarch.sh (addressable_memory_unit_size): New.
+ * gdbarch.h: Re-generate.
+ * gdbarch.c: Re-generate.
+
+2015-06-12 Simon Marchi <simon.marchi@ericsson.com>
+
+ * target.c (target_read): Rename variables and use
+ TARGET_XFER_E_IO.
+ (target_read_with_progress): Same.
+ (read_memory_robust): Constify parameters and rename
+ variables.
+ (read_whatever_is_readable): Constify parameters,
+ rename variables, adjust formatting.
+ * target.h (read_memory_robust): Constify parameters.
+
+2015-06-12 Ulrich Weigand <uweigand@de.ibm.com>
+
+ * ppc-sysv-tdep.c (ppc64_sysv_abi_return_value_base): Handle short
+ synthetic (non-AltiVec) vector types.
+ (ppc64_sysv_abi_return_value): Likewise.
+
+2015-06-12 Antoine Tremblay <antoine.tremblay@ericsson.com>
+
+ PR breakpoints/16465
+ * breakpoint.c (create_breakpoint): Save extra_string for
+ pending breakpoints.
+
+2015-06-10 Walfred Tedeschi <walfred.tedeschi@intel.com>
+
+ * i386-tdep.c (i386_mpx_get_bt_entry): Add a cast for mpx_bd_mask
+ and bt_mask to CORE_ADDR.
+
+2015-06-11 Gary Benson <gbenson@redhat.com>
+
+ * nat/linux-namespaces.c (mnsh_send_message): Use pulongest.
+ (mnsh_recv_message): Likewise.
+
+2015-06-11 Walfred Tedeschi <walfred.tedeschi@intel.com>
+
+ * i386-tdep.c (i386_mpx_print_bounds): use of LONGEST instead of
+ long long int and plongest instead of %ll.
+
+2015-06-11 Gary Benson <gbenson@redhat.com>
+
+ * nat/linux-namespaces.c (gdb_wait.h): New include.
+ (sys/wait.h): Do not include.
+
+2015-06-10 Simon Marchi <simon.marchi@ericsson.com>
+
+ * dwarf2read.c (dwarf_record_line): Call dwarf_record_line if
+ end_sequence is true.
+
+2015-06-10 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Code cleanup.
+ * solib-target.c (library_list_start_list): Use explicit NULL
+ comparison.
+
+2015-06-10 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * solib-target.c (library_list_start_list): Do not dereference
+ variable version in its initialization. Make the VERSION check handle
+ NULL.
+ (library_list_attributes): Make "version" GDB_XML_AF_OPTIONAL.
+
+2015-06-10 Gary Benson <gbenson@redhat.com>
+
+ * NEWS: Announce support for direct access of executable and
+ shared library files when attaching to inferiors in containers
+ on GNU/Linux systems.
+
+2015-06-10 Gary Benson <gbenson@redhat.com>
+
+ * remote.c (struct remote_state) <fs_pid>: New field.
+ (new_remote_state): Initialize the above.
+ (PACKET_vFile_setfs): New enum value.
+ (remote_hostio_set_filesystem): New function.
+ (remote_hostio_open): Call the above.
+ (remote_hostio_unlink): Likewise.
+ (remote_hostio_readlink): Likewise.
+ (_initialize_remote): Register new "set/show remote
+ hostio-setfs-packet" command.
+ * NEWS: Announce new vFile:setfs packet.
+
+2015-06-10 Gary Benson <gbenson@redhat.com>
+
+ * linux-nat.c (nat/linux-namespaces.h): New include.
+ (fileio.h): Likewise.
+ (linux_nat_filesystem_is_local): New function.
+ (linux_nat_fileio_pid_of): Likewise.
+ (linux_nat_fileio_open): Likewise.
+ (linux_nat_fileio_readlink): Likewise.
+ (linux_nat_fileio_unlink): Likewise.
+ (linux_nat_add_target): Initialize to_filesystem_is_local,
+ to_fileio_open, to_fileio_readlink and to_fileio_unlink.
+ (_initialize_linux_nat): New "set/show debug linux-namespaces"
+ commands.
+ * NEWS: Mention new "set/show debug linux-namespaces" commands.
+
+2015-06-10 Gary Benson <gbenson@redhat.com>
+
+ * target.h (struct inferior): New forward declaration.
+ (struct target_ops) <to_filesystem_is_local>: Update comment.
+ (struct target_ops) <to_fileio_open>: New argument inf.
+ Update comment. All implementations updated.
+ (struct target_ops) <to_fileio_unlink>: Likewise.
+ (struct target_ops) <to_fileio_readlink>: Likewise.
+ (target_filesystem_is_local): Update comment.
+ (target_fileio_open): New argument inf. Update comment.
+ (target_fileio_unlink): Likewise.
+ (target_fileio_readlink): Likewise.
+ (target_fileio_read_alloc): Likewise.
+ (target_fileio_read_stralloc): Likewise.
+ * target.c (target_fileio_open): New argument inf.
+ Pass inf to implementation. Update debug printing.
+ (target_fileio_unlink): Likewise.
+ (target_fileio_readlink): Likewise.
+ (target_fileio_read_alloc_1): New argument inf. Pass inf
+ to target_fileio_open.
+ (target_fileio_read_alloc): New argument inf. Pass inf to
+ target_fileio_read_alloc_1.
+ (target_fileio_read_stralloc): Likewise.
+ * gdb_bfd.c (inferior.h): New include.
+ (gdb_bfd_iovec_fileio_open): Replace unused "open_closure"
+ argument with new argument "inferior". Pass inferior to
+ target_fileio_open.
+ (gdb_bfd_open): Supply inferior argument to
+ gdb_bfd_iovec_fileio_open.
+ * linux-tdep.c (linux_info_proc): Supply inf argument to
+ relevant target_fileio calls.
+ (linux_find_memory_regions_full): Likewise.
+ (linux_fill_prpsinfo): Likewise.
+ * remote.c (remote_filesystem_is_local): Supply inf
+ argument to remote_hostio_open.
+ (remote_file_put): Likewise.
+ (remote_file_get): Likewise.
+ (remote_file_delete): Supply inf argument to
+ remote_hostio_unlink.
+
+2015-06-10 Gary Benson <gbenson@redhat.com>
+
+ * inf-child.c (inf_child_fileio_open): Replace comment.
+ (inf_child_fileio_pwrite): Likewise.
+ (inf_child_fileio_pread): Likewise.
+ (inf_child_fileio_fstat): Insert blank line before comment.
+ (inf_child_fileio_close): Replace comment.
+ (inf_child_fileio_unlink): Likewise.
+ (inf_child_fileio_readlink): Likewise.
+ * remote.c (remote_hostio_open): Likewise.
+ (remote_hostio_pread): Likewise.
+ (remote_hostio_pwrite): Likewise.
+ (remote_hostio_close): Likewise.
+ (remote_hostio_unlink): Likewise.
+ (remote_hostio_readlink): Likewise.
+ (remote_hostio_fstat): Likewise.
+ (remote_filesystem_is_local): Likewise.
+ * target.c (target_fileio_open): Likewise.
+ (target_fileio_pwrite): Likewise.
+ (target_fileio_pread): Likewise.
+ (target_fileio_fstat): Insert blank line before comment.
+ (target_fileio_close): Replace comment.
+ (target_fileio_unlink): Likewise.
+ (target_fileio_readlink): Likewise.
+ (target_fileio_read_alloc): Likewise.
+ (target_fileio_read_stralloc): Likewise.
+
+2015-06-10 Gary Benson <gbenson@redhat.com>
+
+ * linux-thread-db.c (nat/linux-namespaces.h): New include.
+ (check_pid_namespace_match): Use linux_ns_same rather than
+ linux_proc_pid_get_ns to spot PID namespace mismatches.
+ * nat/linux-procfs.h (linux_proc_pid_get_ns): Remove.
+ * nat/linux-procfs.c (linux_proc_pid_get_ns): Likewise.
+
+2015-06-10 Gary Benson <gbenson@redhat.com>
+
+ * configure.ac (AC_CHECK_FUNCS): Add setns.
+ * config.in: Regenerate.
+ * configure: Likewise.
+ * nat/linux-namespaces.h: New file.
+ * nat/linux-namespaces.c: Likewise.
+ * Makefile.in (HFILES_NO_SRCDIR): Add nat/linux-namespaces.h.
+ (linux-namespaces.o): New rule.
+ * config/aarch64/linux.mh (NATDEPFILES): Add linux-namespaces.o.
+ * config/alpha/alpha-linux.mh (NATDEPFILES): Likewise.
+ * config/arm/linux.mh (NATDEPFILES): Likewise.
+ * config/i386/linux.mh (NATDEPFILES): Likewise.
+ * config/i386/linux64.mh (NATDEPFILES): Likewise.
+ * config/ia64/linux.mh (NATDEPFILES): Likewise.
+ * config/m32r/linux.mh (NATDEPFILES): Likewise.
+ * config/m68k/linux.mh (NATDEPFILES): Likewise.
+ * config/mips/linux.mh (NATDEPFILES): Likewise.
+ * config/pa/linux.mh (NATDEPFILES): Likewise.
+ * config/powerpc/linux.mh (NATDEPFILES): Likewise.
+ * config/powerpc/ppc64-linux.mh (NATDEPFILES): Likewise.
+ * config/powerpc/spu-linux.mh (NATDEPFILES): Likewise.
+ * config/s390/linux.mh (NATDEPFILES): Likewise.
+ * config/sparc/linux.mh (NATDEPFILES): Likewise.
+ * config/sparc/linux64.mh (NATDEPFILES): Likewise.
+ * config/tilegx/linux.mh (NATDEPFILES): Likewise.
+ * config/xtensa/linux.mh (NATDEPFILES): Likewise.
+
+2015-06-10 Gary Benson <gbenson@redhat.com>
+
+ * utils.h (make_cleanup_close): Moved to common/filestuff.h.
+ * utils.c (do_close_cleanup): Moved to common/filestuff.c.
+ (make_cleanup_close): Likewise.
+ * common/filestuff.h (make_cleanup_close): Moved from utils.h.
+ * common/filestuff.c (do_close_cleanup): Moved from utils.c.
+ (make_cleanup_close): Likewise.
+
+2015-06-03 Jon Turney <jon.turney@dronecode.org.uk>
+
+ * windows-nat.c (thread_rec): Also ignore ERROR_INVALID_HANDLE
+ from SuspendThread().
+
+2015-06-03 Jon Turney <jon.turney@dronecode.org.uk>
+
+ * windows-nat.c (handle_output_debug_string): Trim trailing '\n'
+ from OutputDebugString.
+
+2015-06-10 Walfred Tedeschi <walfred.tedeschi@intel.com>
+ Mircea Gherzan <mircea.gherzan@intel.com>
+
+ * i386-tdep.c (MPX_BASE_MASK, MPX_BD_MASK, MPX_BT_MASK, MPX_BD_MASK_32,
+ MPX_BT_MASK_32): New macros.
+ (i386_mpx_set_bounds): New function that implements
+ the command "set-mpx-bound".
+ (i386_mpx_enabled): Helper function to test MPX availability.
+ (i386_mpx_bd_base): Helper function to calculate the base directory
+ address.
+ (i386_mpx_get_bt_entry): Helper function to access a bound
+ table entry.
+ (i386_mpx_print_bounds): Effectively display bound information.
+ (_initialize_i386_tdep): Add new commands to commands "set mpx" and
+ "show mpx".
+ (_initialize_i386_tdep):
+ Add "bound" to the commands "show mpx" and "set mpx" commands.
+ (mpx_set_cmdlist and mpx_show_cmdlist): List for the new prefixed "set mpx"
+ and "show mpx" commands.
+ * NEWS: List new commands for MPX support.
+
+2015-06-09 Gary Benson <gbenson@redhat.com>
+
+ * common/fileio.h (fileio_to_host_mode): New declaration.
+ * common/fileio.c (fileio_to_host_mode): New Function.
+ * inf-child.c (inf_child_fileio_open): Process mode argument
+ with fileio_to_host_mode.
+
+2015-06-09 Gary Benson <gbenson@redhat.com>
+
+ * common/fileio.c (fileio_mode_pack): Fix preprocessor
+ conditional.
+
+2015-06-05 Gary Benson <gbenson@redhat.com>
+
+ * gdb_bfd.c (gdb_bfd_open): Move vgdb special case to...
+ * remote.c (remote_filesystem_is_local): ...here.
+
+2015-06-04 Yao Qi <yao.qi@linaro.org>
+
+ * gdbarch.c: Regenerate it.
+
+2015-06-03 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * arch-utils.c (default_infcall_munmap): New.
+ * arch-utils.h (default_infcall_munmap): New declaration.
+ * compile/compile-object-load.c (struct munmap_list, munmap_list_add)
+ (munmap_list_free, munmap_listp_free_cleanup): New.
+ (struct setup_sections_data): Add field munmap_list_headp.
+ (setup_sections): Call munmap_list_add.
+ (compile_object_load): New variable munmap_list_head, initialize
+ setup_sections_data.munmap_list_headp, return munmap_list_head.
+ * compile/compile-object-load.h (struct munmap_list): New declaration.
+ (struct compile_module): Add field munmap_list_head.
+ (munmap_list_free): New declaration.
+ * compile/compile-object-run.c (struct do_module_cleanup): Add field
+ munmap_list_head.
+ (do_module_cleanup): Call munmap_list_free.
+ (compile_object_run): Pass munmap_list_head to do_module_cleanup.
+ * gdbarch.c: Regenerate.
+ * gdbarch.h: Regenerate.
+ * gdbarch.sh (infcall_munmap): New.
+ * linux-tdep.c (linux_infcall_munmap): New.
+ (linux_init_abi): Install it.
+
+2015-06-02 Simon Marchi <simon.marchi@ericsson.com>
+
+ PR gdb/15564
+ * inferior.c (detach_inferior): Call exit_inferior_1 with silent = 0.
+
+2015-06-02 Yao Qi <yao.qi@linaro.org>
+
+ * i386-linux-nat.c: Include linux-nat.h.
+
+2015-06-01 Andreas Schwab <schwab@linux-m68k.org>
+ Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ PR symtab/18392
+ * dwarf2-frame-tailcall.c (pretended_chain_levels): Correct
+ assertion.
+ * dwarf2loc.c (chain_candidate): Likewise.
+
+2015-06-01 Yao Qi <yao.qi@linaro.org>
+
+ * arm-linux-nat.c (fetch_vfp_regs): Use PTRACE_GETREGSET.
+ (store_vfp_regs): Use PTRACE_SETREGSET.
+
+2015-06-01 Yao Qi <yao.qi@linaro.org>
+
+ * arm-linux-nat.c (fetch_fpregister): Use PTRACE_GETREGSET.
+ (fetch_fpregs): Likewise.
+ * arm-linux-nat.c (store_fpregister): Use PTRACE_SETREGSET.
+ (store_fpregs): Likewise.
+
+2015-06-01 Yao Qi <yao.qi@linaro.org>
+
+ * arm-linux-nat.c (fetch_register): Use PTRACE_GETREGSET.
+ (fetch_regs): Likewise.
+ (store_regs): Use PTRACE_SETREGSET.
+ (store_register): Likewise.
+
+2015-06-01 Yao Qi <yao.qi@linaro.org>
+
+ * arm-linux-nat.c (arm_linux_read_description): Check whether
+ kernel supports PTRACE_GETREGSET.
+
+2015-06-01 Yao Qi <yao.qi@linaro.org>
+
+ * x86-linux-nat.c (have_ptrace_getregset): Move it to ...
+ * linux-nat.c: ... here.
+ * x86-linux-nat.h (have_ptrace_getregset): Move the declaration
+ to ...
+ * linux-nat.h: ... here.
+
+2015-06-01 Yao Qi <yao.qi@linaro.org>
+
+ * amd64-linux-nat.c: Include "nat/linux-ptrace.h".
+ * i386-linux-nat.c: Likewise.
+ * nat/linux-ptrace.h (PTRACE_GETREGSET, PTRACE_SETREGSET): Define.
+ * s390-linux-nat.c: Include "nat/linux-ptrace.h".
+ (PTRACE_GETREGSET, PTRACE_SETREGSET): Remove.
+ * x86-linux-nat.c: Include "nat/linux-ptrace.h".
+ * x86-linux-nat.h (PTRACE_GETREGSET, PTRACE_SETREGSET): Remove.
+
+2015-05-30 Eli Zaretskii <eliz@gnu.org>
+
+ * go32-nat.c (go32_xfer_memory): Fix the return value to be
+ compatible to what read_child and write_child return. This
+ unbreaks that DJGPP build of GDB which was broken since v7.7.
+
+2015-05-29 Martin Galvan <martin.galvan@tallertechnologies.com>
+
+ * MAINTAINERS (Write After Approval): Add Martin Galvan.
+
+2015-05-29 Roland McGrath <mcgrathr@google.com>
+
+ PR gdb/18464
+ * osabi.c (generic_elf_osabi_sniff_abi_tag_sections): Use warning
+ rather than internal_error for an unrecognized value.
+
+2015-05-29 Max Filippov <jcmvbkbc@gmail.com>
+
+ * xtensa-tdep.c (xtensa_pseudo_register_read)
+ (xtensa_pseudo_register_write): Don't alias last pseudo register
+ to a1.
+
+2015-05-28 Don Breazeal <donb@codesourcery.com>
+
+ * infrun.c (follow_fork_inferior): Ensure the use of
+ process-style ptids (pid,0,0) in verbose/debug "Detaching"
+ messages.
+
+2015-05-28 Doug Evans <dje@google.com>
+
+ * dwarf2read.c (record_line_ftype): Remove, duplicate.
+
+2015-05-28 Yao Qi <yao.qi@linaro.org>
+
+ * arm-linux-nat.c (arm_linux_has_wmmx_registers): Remove.
+ (arm_linux_fetch_inferior_registers): Use
+ tdep->have_wmmx_registers instead of arm_linux_has_wmmx_registers.
+ (arm_linux_store_inferior_registers): Likewise.
+ (arm_linux_read_description): Don't set
+ arm_linux_has_wmmx_registers.
+ * arm-tdep.c (arm_gdbarch_init): Set
+ tdep->have_wmmx_registers according target descriptions.
+ * arm-tdep.h (struct gdbarch_tdep) <have_wmmx_registers>: New
+ field.
+
+2015-05-28 Yao Qi <yao.qi@linaro.org>
+
+ * arm-linux-nat.c (arm_linux_vfp_register_count): Remove.
+ (fetch_vfp_regs): Use vfp_register_count from gdbarch_tdep
+ instead of arm_linux_vfp_register_count.
+ (store_vfp_regs): Likewise.
+ (arm_linux_fetch_inferior_registers): Likewise.
+ (arm_linux_store_inferior_registers): Likewise.
+ (arm_linux_read_description): Don't set
+ arm_linux_vfp_register_count.
+ * arm-linux-tdep.c (arm_linux_iterate_over_regset_sections):
+ Adjust.
+ * arm-tdep.c (arm_gdbarch_init): Add assert on
+ vfp_register_count.
+ * arm-tdep.h (struct gdbarch_tdep) <have_vfp_registers>: Rename
+ field to vfp_register_count. All users updated.
+
+2015-05-28 Kyle Huey <me@kylehuey.com> (tiny patch)
+
+ * gdb/arm-tdep.c (arm_gdbarch_init): Perform arm_abi detection on
+ ELFOSABI_GNU binaries.
+
+2015-05-27 Doug Evans <dje@google.com>
+
+ * dwarf2read.c (lnp_state_machine): New typedef.
+ (lnp_reader_state): New typedef.
+ (dwarf_record_line_1): Renamed from dwarf_record_line.
+ All callers updated.
+ (dwarf_record_line): New function.
+ (init_lnp_state_machine): New function.
+ (check_line_address): Replace p_record_line parameter with state.
+ All callers updated.
+ (dwarf_decode_lines_1): Call dwarf_record_line, init_lnp_state_machine.
+ Update to record state in lnp_state_machine.
+
+2015-05-27 Doug Evans <dje@google.com>
+
+ * dwarf2read.c (record_line_ftype): New typedef.
+ (check_line_address): New function.
+ (dwarf_decode_lines_1): Call it.
+
+2015-05-27 Doug Evans <dje@google.com>
+
+ * NEWS: Mention "set debug dwarf-line".
+ * dwarf2read.c (dwarf_line_debug): New static global.
+ (add_include_dir): Add debug dwarf-line support.
+ (add_file_name, dwarf_record_line, dwarf_finish_line): Ditto.
+ (_initialize_dwarf2_read): New parameter "debug dwarf-line".
+
+2015-05-27 Doug Evans <dje@google.com>
+
+ * cp-namespace.c (cp_lookup_nested_symbol): New arg "domain".
+ All callers updated.
+ (cp_lookup_nested_symbol_1, find_symbol_in_baseclass): Ditto.
+ * cp-support.h (cp_lookup_nested_symbol): Update.
+
+2015-05-27 Doug Evans <dje@google.com>
+
+ PR symtab/18258
+ * block.c (block_find_symbol): New function.
+ (block_find_non_opaque_type): Ditto.
+ (block_find_non_opaque_type_preferred): Ditto.
+ * block.h (block_symbol_matcher_ftype): New typedef.
+ (block_find_symbol): Declare.
+ (block_find_non_opaque_type): Ditto.
+ (block_find_non_opaque_type_preferred): Ditto.
+ * dwarf2read.c (dw2_lookup_symbol): Call block_find_symbol.
+ * psymtab.c (psym_lookup_symbol): Ditto.
+ * symtab.c (basic_lookup_transparent_type_1): New function.
+ (basic_lookup_transparent_type): Call it.
+
+2015-05-27 Yao Qi <yao.qi@linaro.org>
+
+ * aarch64-tdep.c (aarch64_record_data_proc_simd_fp): Return
+ AARCH64_RECORD_UNKNOWN for unknown instruction encoding.
+
+2015-05-27 Yao Qi <yao.qi@linaro.org>
+
+ * aarch64-tdep.c (aarch64_record_branch_except_sys): Split lines
+ before operator &&.
+ (aarch64_record_load_store): Likewise.
+
+2015-05-26 Doug Evans <dje@google.com>
+
+ PR c++/18141, c++/18417.
+ * cp-support.c (cp_lookup_rtti_type): Handle the case of NAME being
+ a typedef.
+
+2015-05-26 Doug Evans <dje@google.com>
+
+ * NEWS: Add entries for command renamings.
+ * dwarf2read.c (dwarf_read_debug): Renamed from dwarf2_read_debug.
+ All uses updated.
+ (dwarf_die_debug): Renamed from dwarf2_die_debug. All uses updated.
+ (dwarf_max_cache_age): Renamed from dwarf2_max_cache_age.
+ All uses updated.
+ (show_dwarf_max_cache_age): Renamed from show_dwarf2_max_cache_age.
+ All callers updated. Fix spelling of DWARF in help text.
+ (set_dwarf_cmdlist): Renamed from set_dwarf2_cmdlist.
+ All uses updated.
+ (show_dwarf_cmdlist): Renamed from show_dwarf2_cmdlist.
+ All uses updated.
+ (set_dwarf_cmd): Renamed from set_dwarf2_cmd. All callers updated.
+ (show_dwarf_cmd): Renamed from show_dwarf2_cmd. All callers updated.
+ (dwarf_always_disassemble): Renamed from dwarf_always_disassemble.
+ All uses updated.
+ (show_dwarf_always_disassemble): Renamed from
+ show_dwarf2_always_disassemble. All callers updated.
+ (_initialize_dwarf2_read): Rename "set/show dwarf2" prefix to
+ "set/show dwarf". Rename "set/show dwarf2 max-cache-age" to
+ "set/show dwarf max-cache-age". Rename
+ "set/show dwarf2 always-disassemble" to
+ "set/show dwarf always-disassemble". Rename
+ "set/show debug dwarf2-read" to "set/show debug dwarf-read". Rename
+ "set/show debug dwarf2-die" to "set/show debug dwarf-die".
+
+2015-05-26 Doug Evans <dje@google.com>
+
+ PR python/18438
+ * python/py-lazy-string.c (stpy_convert_to_value): Use
+ gdbpy_gdb_memory_error not PyExc_MemoryError.
+ (gdbpy_create_lazy_string_object): Ditto.
+
+2015-05-26 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * tui/tui-regs.c (tui_reg_next_command): Compare against NULL.
+
+2015-05-26 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * tui/tui-regs.c (tui_reg_prev_command): New function.
+ (_initialize_tui_regs): Add 'prev' command for 'tui reg'.
+ * reggroups.c (reggroup_prev): New function.
+ * reggroups.h (reggroup_prev): Add declaration. Update comment.
+
+2015-05-26 Omair Javaid <omair.javaid@linaro.org>
+ Yao Qi <yao.qi@linaro.org>
+
+ * aarch64-linux-tdep.c: Include linux-record.h and
+ record-full.h.
+ (struct linux_record_tdep aarch64_linux_record_tdep): Declare.
+ (aarch64_syscall): New enum.
+ (aarch64_canonicalize_syscall): New function.
+ (aarch64_all_but_pc_registers_record): New function.
+ (aarch64_linux_syscall_record): New function.
+ (aarch64_linux_init_abi): Install AArch64 process record
+ handler. Update to handle syscall recording.
+ * aarch64-tdep.c: Include record.h and record-full.h.
+ (submask, bit, bits, REG_ALLOC, MEM_ALLOC): New macros.
+ (struct aarch64_mem_r): Define.
+ (aarch64_record_result): New enum.
+ (struct insn_decode_record): Define.
+ (insn_decode_record): New typedef.
+ (aarch64_record_data_proc_reg): New function.
+ (aarch64_record_data_proc_imm): New function.
+ (aarch64_record_branch_except_sys): New function.
+ (aarch64_record_load_store): New function.
+ (aarch64_record_data_proc_simd_fp): New function.
+ (aarch64_record_asimd_load_store): New function.
+ (aarch64_record_decode_insn_handler): New function.
+ (deallocate_reg_mem): New function.
+ (aarch64_process_record): New function.
+ * aarch64-tdep.h (struct gdbarch_tdep) <aarch64_syscall_record>:
+ New field.
+ (aarch64_process_record): New extern declaration.
+ * configure.tgt: Add linux-record.o to gdb_target_obs.
+ * linux-record.h (struct linux_record_tdep) <arg7>: New field.
+
+2015-05-26 Omair Javaid <omair.javaid@linaro.org>
+
+ * NEWS: Add a note on process record-replay support on aarch64*-linux*
+ targets.
+
+2015-05-26 Martin Galvan <martin.galvan@tallertechnologies.com>
+
+ * amd64-tdep.c: Replace in_function_epilogue_p with
+ stack_frame_destroyed_p throughout.
+ * arch-utils.c: Ditto.
+ * arch-utils.h: Ditto.
+ * arm-tdep.c: Ditto.
+ * breakpoint.c: Ditto.
+ * gdbarch.sh: Ditto.
+ * hppa-tdep.c: Ditto.
+ * i386-tdep.c: Ditto.
+ * mips-tdep.c: Ditto.
+ * nios2-tdep.c: Ditto.
+ * rs6000-tdep.c: Ditto.
+ * s390-linux-tdep.c: Ditto.
+ * score-tdep.c: Ditto.
+ * sh-tdep.c: Ditto.
+ * sparc-tdep.c: Ditto.
+ * sparc-tdep.h: Ditto.
+ * sparc64-tdep.c: Ditto.
+ * spu-tdep.c: Ditto.
+ * tic6x-tdep.c: Ditto.
+ * tilegx-tdep.c: Ditto.
+ * xstormy16-tdep.c: Ditto.
+ * gdbarch.c, gdbarch.h: Re-generated.
+
+2015-05-22 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * NEWS: Mention 'tui enable' and 'tui disable'.
+ * tui/tui.c (tui_enable_command): New function.
+ (tui_disable_command): New function.
+ (_initialize_tui): New function.
+
+2015-05-21 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * tui/tui-regs.c (tui_reg_next_command): Use NULL not 0.
+
+2015-05-21 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * tui/tui-layout.c (tui_set_layout_for_display_command): Ensure
+ buf_ptr is freed.
+
+2015-05-21 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * tui/tui-layout.c (tui_layout_command): Move call to tui_enable
+ into ...
+ (tui_set_layout_for_display_command): ...here, before calling
+ tui_set_layout. Only set the layout if gdb has not already
+ entered the TUI_FAILURE state.
+
+2015-05-21 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * tui/tui-layout.c (layout_completer): New function.
+ (_initialize_tui_layout): Set completer on layout command.
+
+2015-05-21 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * tui/tui-layout.c (tui_set_layout): Remove
+ tui_register_display_type parameter. Remove all checking of this
+ parameter, and reindent function. Update header comment.
+ (tui_set_layout_for_display_command): Rename to...
+ (tui_set_layout_by_name): ...this, and don't check for different
+ register class types, don't pass a tui_register_display_type to
+ tui_set_layout. Update header comment.
+ (layout_names): Remove register set specific names.
+ * tui/tui-layout.h (tui_set_layout): Remove
+ tui_register_display_type parameter.
+ * tui/tui.c (tui_rl_change_windows): Don't pass a
+ tui_register_display_type to tui_set_layout.
+ (tui_rl_delete_other_windows): Likewise.
+ (tui_enable): Likewise.
+ * tui/tui-data.h (TUI_FLOAT_REGS_NAME): Remove.
+ (TUI_FLOAT_REGS_NAME_LOWER): Remove.
+ (TUI_GENERAL_REGS_NAME): Remove.
+ (TUI_GENERAL_REGS_NAME_LOWER): Remove.
+ (TUI_SPECIAL_REGS_NAME): Remove.
+ (TUI_SPECIAL_REGS_NAME_LOWER): Remove.
+ (TUI_GENERAL_SPECIAL_REGS_NAME): Remove.
+ (TUI_GENERAL_SPECIAL_REGS_NAME_LOWER): Remove.
+ (enum tui_register_display_type): Remove.
+ (struct tui_layout_def): Remove regs_display_type and
+ float_regs_display_type fields.
+ (struct tui_data_info): Remove regs_display_type field.
+ (tui_layout_command): Use new name for
+ tui_set_layout_for_display_command.
+ * tui/tui-data.c (layout_def): Don't initialise removed fields.
+ (tui_clear_win_detail): Don't initialise removed fields of
+ win_info.
+ * tui/tui-regs.c (tui_show_registers): Use new name for
+ tui_set_layout_for_display_command.
+ * tui/tui.h (tui_set_layout_for_display_command): Rename
+ declaration to...
+ (tui_set_layout_by_name): ...this.
+ * printcmd.c (display_command): Remove tui related layout call,
+ and reindent.
+
+2015-05-20 Joel Brobecker <brobecker@adacore.com>
+
+ * infrun.c (handle_inferior_event_1): Renames handle_inferior_event.
+ (handle_inferior_event): New function.
+
+2015-05-20 Joel Brobecker <brobecker@adacore.com>
+
+ * ada-lang.c (to_fixed_array_type): Rename local variable
+ typename into type_name.
+
+2015-05-19 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Fix ASAN crash for gdb.compile/compile.exp.
+ * infcall.c (call_function_by_hand_dummy): Use xstrdup for NAME.
+
+2015-05-19 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * compile/compile-c-symbols.c (convert_symbol_sym, gcc_convert_symbol)
+ (gcc_symbol_address): Change gdb_stdout to gdb_stdlog.
+ * compile/compile-object-load.c (setup_sections, compile_object_load):
+ Likewise.
+ * compile/compile.c (compile_to_object): Likewise.
+
+2015-05-16 Doug Evans <xdje42@gmail.com>
+
+ * NEWS: Mention support for unbuffered Guile memory ports.
+ * scm-ports.c (ioscm_memory_port): Update comments on end, size.
+ (ioscm_lseek_address): Improve overflow calculation.
+ (gdbscm_memory_port_fill_input): Add assert.
+ (gdbscm_memory_port_write): Handle unbuffered ports.
+ Handle large writes identical to Guile's fport_write.
+ (gdbscm_memory_port_seek): Fix seeking past end check.
+ (gdbscm_memory_port_close): Handle closing unbuffered port.
+ (ioscm_parse_mode_bits): Recognize "0" for unbuffered ports.
+ (ioscm_init_memory_port): Handle unbuffered ports.
+ (ioscm_reinit_memory_port): Ditto.
+ (ioscm_init_memory_port): Update size calculation.
+ (gdbscm_open_memory): Support zero sized ports.
+
+2015-05-16 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * compile/compile-object-load.c (get_out_value_type): Fix uninitialized
+ variable compiler warnings.
+
+2015-05-16 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * compile/compile-object-load.c (get_out_value_type): Fix returned type.
+
+2015-05-16 Jan Kratochvil <jan.kratochvil@redhat.com>
+ Phil Muldoon <pmuldoon@redhat.com>
+
+ * NEWS (Changes since GDB 7.9): Add compile print.
+ * compile/compile-c-support.c (add_code_header, add_code_footer)
+ (c_compute_program): Add COMPILE_I_PRINT_ADDRESS_SCOPE and
+ COMPILE_I_PRINT_VALUE_SCOPE.
+ * compile/compile-internal.h (COMPILE_I_PRINT_OUT_ARG_TYPE)
+ (COMPILE_I_PRINT_OUT_ARG, COMPILE_I_EXPR_VAL, COMPILE_I_EXPR_PTR_TYPE):
+ New.
+ * compile/compile-object-load.c: Include block.h.
+ (get_out_value_type): New function.
+ (compile_object_load): Handle COMPILE_I_PRINT_ADDRESS_SCOPE and
+ COMPILE_I_PRINT_VALUE_SCOPE. Set compile_module's OUT_VALUE_ADDR and
+ OUT_VALUE_TYPE.
+ * compile/compile-object-load.h (struct compile_module): Add fields
+ out_value_addr and out_value_type.
+ * compile/compile-object-run.c: Include valprint.h and compile.h.
+ (struct do_module_cleanup): Add fields out_value_addr and
+ out_value_type.
+ (do_module_cleanup): Handle COMPILE_I_PRINT_ADDRESS_SCOPE and
+ COMPILE_I_PRINT_VALUE_SCOPE.
+ (compile_object_run): Propagate out_value_addr and out_value_type.
+ Pass OUT_VALUE_ADDR.
+ * compile/compile.c: Include valprint.h.
+ (compile_print_value, compile_print_command): New functions.
+ (eval_compile_command): Handle failed COMPILE_I_PRINT_ADDRESS_SCOPE.
+ (_initialize_compile): Update compile code help text. Install
+ compile_print_command.
+ * compile/compile.h (compile_print_value): New prototype.
+ * defs.h (enum compile_i_scope_types): Add
+ COMPILE_I_PRINT_ADDRESS_SCOPE and COMPILE_I_PRINT_VALUE_SCOPE.
+
+2015-05-16 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * compile/compile-object-load.c (get_regs_type): Add parameter func_sym.
+ Rely on its parameter count.
+ (compile_object_load): Replace lookup_minimal_symbol_text by
+ lookup_global_symbol_from_objfile. Verify FUNC_SYM. Set it in the
+ return value.
+ * compile/compile-object-load.h (struct compile_module): Replace
+ func_addr by func_sym.
+ * compile/compile-object-run.c: Include block.h.
+ (compile_object_run): Reset module variable after it is freed. Use
+ FUNC_SYM instead of FUNC_ADDR. Rely on it.
+
+2015-05-16 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * compile/compile-c-support.c (print_one_macro): Use #ifndef.
+ (generate_register_struct): Use __gdb_uintptr for TYPE_CODE_PTR.
+ (c_compute_program): Call generate_register_struct after typedefs.
+ * compile/compile-loc2c.c (push, pushf_register_address)
+ (pushf_register): Cast to GCC_UINTPTR.
+ (do_compile_dwarf_expr_to_c): Use unused attribute. Add space after
+ type. Use GCC_UINTPTR instead of void *. Remove excessive cast.
+ (compile_dwarf_expr_to_c): Use GCC_UINTPTR instead of void *.
+ * compile/compile.c (_initialize_compile): Enable warnings for
+ COMPILE_ARGS.
+
+2015-05-16 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * cli/cli-script.c (execute_control_command): Update
+ eval_compile_command caller.
+ * compile/compile-object-load.c (compile_object_load): Add parameters
+ scope and scope_data. Set them.
+ * compile/compile-object-load.h (struct compile_module): Add fields
+ scope and scope_data.
+ (compile_object_load): Add parameters scope and scope_data.
+ * compile/compile-object-run.c (struct do_module_cleanup): Add fields
+ scope and scope_data.
+ (compile_object_run): Propagate the fields scope and scope_data.
+ * compile/compile.c (compile_file_command, compile_code_command):
+ Update eval_compile_command callers.
+ (eval_compile_command): Add parameter scope_data. Pass it plus scope.
+ * compile/compile.h (eval_compile_command): Add parameter scope_data.
+ * defs.h (struct command_line): Add field scope_data.
+
+2015-05-16 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * printcmd.c (struct format_data): Move it to valprint.h.
+ (print_command_parse_format, print_value): New functions from ...
+ (print_command_1): ... here. Call them.
+ * valprint.h (struct format_data): Move it here from printcmd.c.
+ (print_command_parse_format, print_value): New declarations.
+
+2015-05-16 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * compile/compile-object-load.c (compile_object_load): Add
+ COMPILE_DEBUG message.
+
+2015-05-15 Jerome Guitton <guitton@adacore.com>
+
+ * ada-lang.c (ada_value_ptr_subscript): Use enum position of
+ index to get element instead of enum value.
+ (ada_value_slice_from_ptr, ada_value_slice): Use enum position
+ of index to compute length, but enum values to compute bounds.
+ (ada_array_length): Use enum position of index instead of enum value.
+ (pos_atr): Move position computation to...
+ (ada_evaluate_subexp): Use enum values to compute bounds.
+ * gdbtypes.c (discrete_position): ...this new function.
+ * gdbtypes.h (discrete_position): New function declaration.
+ * valprint.c (val_print_array_elements): Call discrete_position
+ to handle array indexed by non-contiguous enumeration types.
+
+2015-05-15 Jerome Guitton <guitton@adacore.com>
+
+ * ada-lang.c (find_parallel_type_by_descriptive_type):
+ Go through typedefs during lookup.
+ (to_fixed_array_type): Add support for non-bit packed arrays
+ as variable-length fields.
+
2015-05-15 Pedro Alves <palves@redhat.com>
Simon Marchi <simon.marchi@ericsson.com>
@@ -190,7 +1373,7 @@
linux_enable_event_reporting.
(_initialize_linux_nat): Delete call to
linux_ptrace_set_additional_flags.
- * nat/linux-ptrace.c (current_ptrace_options): Rename to
+ * nat/linux-ptrace.c (current_ptrace_options): Rename to
supported_ptrace_options.
(additional_flags): Delete variable.
(linux_check_ptrace_features): Use supported_ptrace_options.
@@ -198,7 +1381,7 @@
Likewise, and remove additional_flags check.
(linux_enable_event_reporting): Change 'attached' argument to
'options'. Use supported_ptrace_options.
- (ptrace_supports_feature): Change comment. Use
+ (ptrace_supports_feature): Change comment. Use
supported_ptrace_options.
(linux_ptrace_set_additional_flags): Delete function.
* nat/linux-ptrace.h (linux_ptrace_set_additional_flags):
diff --git a/gdb/MAINTAINERS b/gdb/MAINTAINERS
index 4cd535d9743..141d63d79de 100644
--- a/gdb/MAINTAINERS
+++ b/gdb/MAINTAINERS
@@ -515,12 +515,14 @@ Frank Ch. Eigler fche@redhat.com
Ben Elliston bje@gnu.org
Doug Evans dje@google.com
Adam Fedor fedor@gnu.org
+Max Filippov jcmvbkbc@gmail.com
Brian Ford ford@vss.fsi.com
Orjan Friberg orjanf@axis.com
Andreas From andreas.from@ericsson.com
Nathan Froyd froydnj@codesourcery.com
Mike Frysinger vapier@gentoo.org
Gary Funck gary@intrepid.com
+Martin Galvan martin.galvan@tallertechnologies.com
Chen Gang gang.chen.5i5j@gmail.com
Mircea Gherzan mircea.gherzan@intel.com
Paul Gilliam pgilliam@us.ibm.com
@@ -558,7 +560,7 @@ Jim Kingdon kingdon@panix.com
Paul Koning paul_koning@dell.com
Jan Kratochvil jan.kratochvil@redhat.com
Maxim Kuvyrkov maxim@kugelworks.com
-Pierre Langlois pierre.langlois@embecosm.com
+Pierre Langlois pierre.langlois@arm.com
Jonathan Larmour jifl@ecoscentric.com
Jeff Law law@redhat.com
Justin Lebar justin.lebar@gmail.com
diff --git a/gdb/Makefile.in b/gdb/Makefile.in
index 95104ef1a4b..3008177d52f 100644
--- a/gdb/Makefile.in
+++ b/gdb/Makefile.in
@@ -979,7 +979,8 @@ i386-linux-nat.h common/common-defs.h common/errors.h common/common-types.h \
common/common-debug.h common/cleanups.h common/gdb_setjmp.h \
common/common-exceptions.h target/target.h common/symbol.h \
common/common-regcache.h fbsd-tdep.h nat/linux-personality.h \
-common/fileio.h nat/x86-linux.h nat/x86-linux-dregs.h
+common/fileio.h nat/x86-linux.h nat/x86-linux-dregs.h \
+nat/linux-namespaces.h
# Header files that already have srcdir in them, or which are in objdir.
@@ -2319,6 +2320,10 @@ x86-linux-dregs.o: ${srcdir}/nat/x86-linux-dregs.c
$(COMPILE) $(srcdir)/nat/x86-linux-dregs.c
$(POSTCOMPILE)
+linux-namespaces.o: ${srcdir}/nat/linux-namespaces.c
+ $(COMPILE) $(srcdir)/nat/linux-namespaces.c
+ $(POSTCOMPILE)
+
#
# gdb/tui/ dependencies
#
diff --git a/gdb/NEWS b/gdb/NEWS
index 777883071e4..6d29004581f 100644
--- a/gdb/NEWS
+++ b/gdb/NEWS
@@ -3,6 +3,12 @@
*** Changes since GDB 7.9
+* Support for process record-replay and reverse debugging on aarch64*-linux*
+ targets has been added. GDB now supports recording of A64 instruction set
+ including advance SIMD instructions.
+
+* Support for Sun's version of the "stabs" debug file format has been removed.
+
* GDB now honors the content of the file /proc/PID/coredump_filter
(PID is the process ID) on GNU/Linux systems. This file can be used
to specify the types of memory mappings that will be included in a
@@ -48,6 +54,26 @@
* GDB now supports the vector ABI on S/390 GNU/Linux targets.
+* On GNU/Linux, GDB and gdbserver are now able to access executable
+ and shared library files without a "set sysroot" command when
+ attaching to processes running in different mount namespaces from
+ the debugger. This makes it possible to attach to processes in
+ containers as simply as "gdb -p PID" or "gdbserver --attach PID".
+ See "New remote packets" below.
+
+* The "tui reg" command now provides completion for all of the
+ available register groups, including target specific groups.
+
+* The HISTSIZE environment variable is no longer read when determining
+ the size of GDB's command history. GDB now instead reads the dedicated
+ GDBHISTSIZE environment variable. Setting GDBHISTSIZE to "-1" or to "" now
+ disables truncation of command history. Non-numeric values of GDBHISTSIZE
+ are ignored.
+
+* Guile Scripting
+
+ ** Memory ports can now be unbuffered.
+
* Python Scripting
** gdb.Objfile objects have a new attribute "username",
@@ -75,8 +101,43 @@ record btrace bts
record bts
Start branch trace recording using Branch Trace Store (BTS) format.
+compile print
+ Evaluate expression by using the compiler and print result.
+
+tui enable
+tui disable
+ Explicit commands for enabling and disabling tui mode.
+
+show mpx bound
+set mpx bound on i386 and amd64
+ Support for bound table investigation on Intel(R) MPX enabled applications.
+
* New options
+set debug dwarf-die
+ Renamed from "set debug dwarf2-die".
+show debug dwarf-die
+ Renamed from "show debug dwarf2-die".
+
+set debug dwarf-read
+ Renamed from "set debug dwarf2-read".
+show debug dwarf-read
+ Renamed from "show debug dwarf2-read".
+
+maint set dwarf always-disassemble
+ Renamed from "maint set dwarf2 always-disassemble".
+maint show dwarf always-disassemble
+ Renamed from "maint show dwarf2 always-disassemble".
+
+maint set dwarf max-cache-age
+ Renamed from "maint set dwarf2 max-cache-age".
+maint show dwarf max-cache-age
+ Renamed from "maint show dwarf2 max-cache-age".
+
+set debug dwarf-line
+show debug dwarf-line
+ Control display of debugging info regarding DWARF line processing.
+
set max-completions
show max-completions
Set the maximum number of candidates to be considered during
@@ -84,6 +145,10 @@ show max-completions
to avoid generating large completion lists, the computation of
which can cause the debugger to become temporarily unresponsive.
+set history remove-duplicates
+show history remove-duplicates
+ Control the removal of duplicate history entries.
+
maint set symbol-cache-size
maint show symbol-cache-size
Control the size of the symbol cache.
@@ -94,6 +159,10 @@ set|show record btrace bts buffer-size
The obtained size may differ from the requested size. Use "info
record" to see the obtained buffer size.
+set debug linux-namespaces
+show debug linux-namespaces
+ Control display of debugging info regarding Linux namespaces.
+
* The command 'thread apply all' can now support new option '-ascending'
to call its specified command for all threads in ascending order.
@@ -127,6 +196,12 @@ qXfer:exec-file:read
Return the full absolute name of the file that was executed to
create a process running on the remote system.
+vFile:setfs:
+ Select the filesystem on which vFile: operations with filename
+ arguments will operate. This is required for GDB to be able to
+ access files on remote targets where the remote stub does not
+ share a common filesystem with the inferior(s).
+
fork stop reason
Indicates that a fork system call was executed.
diff --git a/gdb/aarch64-linux-tdep.c b/gdb/aarch64-linux-tdep.c
index 0ee5ecbeb21..f8cf43e26da 100644
--- a/gdb/aarch64-linux-tdep.c
+++ b/gdb/aarch64-linux-tdep.c
@@ -42,6 +42,9 @@
#include "xml-syscall.h"
#include <ctype.h>
+#include "record-full.h"
+#include "linux-record.h"
+
/* Signal frame handling.
+------------+ ^
@@ -364,6 +367,576 @@ aarch64_linux_get_syscall_number (struct gdbarch *gdbarch,
return ret;
}
+/* AArch64 process record-replay constructs: syscall, signal etc. */
+
+struct linux_record_tdep aarch64_linux_record_tdep;
+
+/* Enum that defines the AArch64 linux specific syscall identifiers used for
+ process record/replay. */
+
+enum aarch64_syscall {
+ aarch64_sys_io_setup = 0,
+ aarch64_sys_io_destroy = 1,
+ aarch64_sys_io_submit = 2,
+ aarch64_sys_io_cancel = 3,
+ aarch64_sys_io_getevents = 4,
+ aarch64_sys_setxattr = 5,
+ aarch64_sys_lsetxattr = 6,
+ aarch64_sys_fsetxattr = 7,
+ aarch64_sys_getxattr = 8,
+ aarch64_sys_lgetxattr = 9,
+ aarch64_sys_fgetxattr = 10,
+ aarch64_sys_listxattr = 11,
+ aarch64_sys_llistxattr = 12,
+ aarch64_sys_flistxattr = 13,
+ aarch64_sys_removexattr = 14,
+ aarch64_sys_lremovexattr = 15,
+ aarch64_sys_fremovexattr = 16,
+ aarch64_sys_getcwd = 17,
+ aarch64_sys_lookup_dcookie = 18,
+ aarch64_sys_eventfd2 = 19,
+ aarch64_sys_epoll_create1 = 20,
+ aarch64_sys_epoll_ctl = 21,
+ aarch64_sys_epoll_pwait = 22,
+ aarch64_sys_dup = 23,
+ aarch64_sys_dup3 = 24,
+ aarch64_sys_fcntl = 25,
+ aarch64_sys_inotify_init1 = 26,
+ aarch64_sys_inotify_add_watch = 27,
+ aarch64_sys_inotify_rm_watch = 28,
+ aarch64_sys_ioctl = 29,
+ aarch64_sys_ioprio_set = 30,
+ aarch64_sys_ioprio_get = 31,
+ aarch64_sys_flock = 32,
+ aarch64_sys_mknod = 33,
+ aarch64_sys_mkdir = 34,
+ aarch64_sys_unlink = 35,
+ aarch64_sys_symlink = 36,
+ aarch64_sys_link = 37,
+ aarch64_sys_rename = 38,
+ aarch64_sys_umount2 = 39,
+ aarch64_sys_mount = 40,
+ aarch64_sys_pivot_root = 41,
+ aarch64_sys_nfsservctl = 42,
+ aarch64_sys_statfs = 43,
+ aarch64_sys_fstatfs = 44,
+ aarch64_sys_truncate = 45,
+ aarch64_sys_ftruncate = 46,
+ aarch64_sys_fallocate = 47,
+ aarch64_sys_faccess = 48,
+ aarch64_sys_chdir = 49,
+ aarch64_sys_fchdir = 50,
+ aarch64_sys_chroot = 51,
+ aarch64_sys_fchmod = 52,
+ aarch64_sys_fchmodat = 53,
+ aarch64_sys_fchownat = 54,
+ aarch64_sys_fchown = 55,
+ aarch64_sys_open = 56,
+ aarch64_sys_close = 57,
+ aarch64_sys_vhangup = 58,
+ aarch64_sys_pipe2 = 59,
+ aarch64_sys_quotactl = 60,
+ aarch64_sys_getdents64 = 61,
+ aarch64_sys_lseek = 62,
+ aarch64_sys_read = 63,
+ aarch64_sys_write = 64,
+ aarch64_sys_readv = 65,
+ aarch64_sys_writev = 66,
+ aarch64_sys_pread64 = 67,
+ aarch64_sys_pwrite64 = 68,
+ aarch64_sys_preadv = 69,
+ aarch64_sys_pwritev = 70,
+ aarch64_sys_sendfile = 71,
+ aarch64_sys_pselect6 = 72,
+ aarch64_sys_ppoll = 73,
+ aarch64_sys_signalfd4 = 74,
+ aarch64_sys_vmsplice = 75,
+ aarch64_sys_splice = 76,
+ aarch64_sys_tee = 77,
+ aarch64_sys_readlink = 78,
+ aarch64_sys_fstatat = 79,
+ aarch64_sys_fstat = 80,
+ aarch64_sys_sync = 81,
+ aarch64_sys_fsync = 82,
+ aarch64_sys_fdatasync = 83,
+ aarch64_sys_sync_file_range2 = 84,
+ aarch64_sys_sync_file_range = 84,
+ aarch64_sys_timerfd_create = 85,
+ aarch64_sys_timerfd_settime = 86,
+ aarch64_sys_timerfd_gettime = 87,
+ aarch64_sys_utimensat = 88,
+ aarch64_sys_acct = 89,
+ aarch64_sys_capget = 90,
+ aarch64_sys_capset = 91,
+ aarch64_sys_personality = 92,
+ aarch64_sys_exit = 93,
+ aarch64_sys_exit_group = 94,
+ aarch64_sys_waitid = 95,
+ aarch64_sys_set_tid_address = 96,
+ aarch64_sys_unshare = 97,
+ aarch64_sys_futex = 98,
+ aarch64_sys_set_robust_list = 99,
+ aarch64_sys_get_robust_list = 100,
+ aarch64_sys_nanosleep = 101,
+ aarch64_sys_getitimer = 102,
+ aarch64_sys_setitimer = 103,
+ aarch64_sys_kexec_load = 104,
+ aarch64_sys_init_module = 105,
+ aarch64_sys_delete_module = 106,
+ aarch64_sys_timer_create = 107,
+ aarch64_sys_timer_gettime = 108,
+ aarch64_sys_timer_getoverrun = 109,
+ aarch64_sys_timer_settime = 110,
+ aarch64_sys_timer_delete = 111,
+ aarch64_sys_clock_settime = 112,
+ aarch64_sys_clock_gettime = 113,
+ aarch64_sys_clock_getres = 114,
+ aarch64_sys_clock_nanosleep = 115,
+ aarch64_sys_syslog = 116,
+ aarch64_sys_ptrace = 117,
+ aarch64_sys_sched_setparam = 118,
+ aarch64_sys_sched_setscheduler = 119,
+ aarch64_sys_sched_getscheduler = 120,
+ aarch64_sys_sched_getparam = 121,
+ aarch64_sys_sched_setaffinity = 122,
+ aarch64_sys_sched_getaffinity = 123,
+ aarch64_sys_sched_yield = 124,
+ aarch64_sys_sched_get_priority_max = 125,
+ aarch64_sys_sched_get_priority_min = 126,
+ aarch64_sys_sched_rr_get_interval = 127,
+ aarch64_sys_kill = 129,
+ aarch64_sys_tkill = 130,
+ aarch64_sys_tgkill = 131,
+ aarch64_sys_sigaltstack = 132,
+ aarch64_sys_rt_sigsuspend = 133,
+ aarch64_sys_rt_sigaction = 134,
+ aarch64_sys_rt_sigprocmask = 135,
+ aarch64_sys_rt_sigpending = 136,
+ aarch64_sys_rt_sigtimedwait = 137,
+ aarch64_sys_rt_sigqueueinfo = 138,
+ aarch64_sys_rt_sigreturn = 139,
+ aarch64_sys_setpriority = 140,
+ aarch64_sys_getpriority = 141,
+ aarch64_sys_reboot = 142,
+ aarch64_sys_setregid = 143,
+ aarch64_sys_setgid = 144,
+ aarch64_sys_setreuid = 145,
+ aarch64_sys_setuid = 146,
+ aarch64_sys_setresuid = 147,
+ aarch64_sys_getresuid = 148,
+ aarch64_sys_setresgid = 149,
+ aarch64_sys_getresgid = 150,
+ aarch64_sys_setfsuid = 151,
+ aarch64_sys_setfsgid = 152,
+ aarch64_sys_times = 153,
+ aarch64_sys_setpgid = 154,
+ aarch64_sys_getpgid = 155,
+ aarch64_sys_getsid = 156,
+ aarch64_sys_setsid = 157,
+ aarch64_sys_getgroups = 158,
+ aarch64_sys_setgroups = 159,
+ aarch64_sys_uname = 160,
+ aarch64_sys_sethostname = 161,
+ aarch64_sys_setdomainname = 162,
+ aarch64_sys_getrlimit = 163,
+ aarch64_sys_setrlimit = 164,
+ aarch64_sys_getrusage = 165,
+ aarch64_sys_umask = 166,
+ aarch64_sys_prctl = 167,
+ aarch64_sys_getcpu = 168,
+ aarch64_sys_gettimeofday = 169,
+ aarch64_sys_settimeofday = 170,
+ aarch64_sys_adjtimex = 171,
+ aarch64_sys_getpid = 172,
+ aarch64_sys_getppid = 173,
+ aarch64_sys_getuid = 174,
+ aarch64_sys_geteuid = 175,
+ aarch64_sys_getgid = 176,
+ aarch64_sys_getegid = 177,
+ aarch64_sys_gettid = 178,
+ aarch64_sys_sysinfo = 179,
+ aarch64_sys_mq_open = 180,
+ aarch64_sys_mq_unlink = 181,
+ aarch64_sys_mq_timedsend = 182,
+ aarch64_sys_mq_timedreceive = 183,
+ aarch64_sys_mq_notify = 184,
+ aarch64_sys_mq_getsetattr = 185,
+ aarch64_sys_msgget = 186,
+ aarch64_sys_msgctl = 187,
+ aarch64_sys_msgrcv = 188,
+ aarch64_sys_msgsnd = 189,
+ aarch64_sys_semget = 190,
+ aarch64_sys_semctl = 191,
+ aarch64_sys_semtimedop = 192,
+ aarch64_sys_semop = 193,
+ aarch64_sys_shmget = 194,
+ aarch64_sys_shmctl = 195,
+ aarch64_sys_shmat = 196,
+ aarch64_sys_shmdt = 197,
+ aarch64_sys_socket = 198,
+ aarch64_sys_socketpair = 199,
+ aarch64_sys_bind = 200,
+ aarch64_sys_listen = 201,
+ aarch64_sys_accept = 202,
+ aarch64_sys_connect = 203,
+ aarch64_sys_getsockname = 204,
+ aarch64_sys_getpeername = 205,
+ aarch64_sys_sendto = 206,
+ aarch64_sys_recvfrom = 207,
+ aarch64_sys_setsockopt = 208,
+ aarch64_sys_getsockopt = 209,
+ aarch64_sys_shutdown = 210,
+ aarch64_sys_sendmsg = 211,
+ aarch64_sys_recvmsg = 212,
+ aarch64_sys_readahead = 213,
+ aarch64_sys_brk = 214,
+ aarch64_sys_munmap = 215,
+ aarch64_sys_mremap = 216,
+ aarch64_sys_add_key = 217,
+ aarch64_sys_request_key = 218,
+ aarch64_sys_keyctl = 219,
+ aarch64_sys_clone = 220,
+ aarch64_sys_execve = 221,
+ aarch64_sys_mmap = 222,
+ aarch64_sys_fadvise64 = 223,
+ aarch64_sys_swapon = 224,
+ aarch64_sys_swapoff = 225,
+ aarch64_sys_mprotect = 226,
+ aarch64_sys_msync = 227,
+ aarch64_sys_mlock = 228,
+ aarch64_sys_munlock = 229,
+ aarch64_sys_mlockall = 230,
+ aarch64_sys_munlockall = 231,
+ aarch64_sys_mincore = 232,
+ aarch64_sys_madvise = 233,
+ aarch64_sys_remap_file_pages = 234,
+ aarch64_sys_mbind = 235,
+ aarch64_sys_get_mempolicy = 236,
+ aarch64_sys_set_mempolicy = 237,
+ aarch64_sys_migrate_pages = 238,
+ aarch64_sys_move_pages = 239,
+ aarch64_sys_rt_tgsigqueueinfo = 240,
+ aarch64_sys_perf_event_open = 241,
+ aarch64_sys_accept4 = 242,
+ aarch64_sys_recvmmsg = 243,
+ aarch64_sys_wait4 = 260,
+ aarch64_sys_prlimit64 = 261,
+ aarch64_sys_fanotify_init = 262,
+ aarch64_sys_fanotify_mark = 263,
+ aarch64_sys_name_to_handle_at = 264,
+ aarch64_sys_open_by_handle_at = 265,
+ aarch64_sys_clock_adjtime = 266,
+ aarch64_sys_syncfs = 267,
+ aarch64_sys_setns = 268,
+ aarch64_sys_sendmmsg = 269,
+ aarch64_sys_process_vm_readv = 270,
+ aarch64_sys_process_vm_writev = 271,
+ aarch64_sys_kcmp = 272,
+ aarch64_sys_finit_module = 273,
+ aarch64_sys_sched_setattr = 274,
+ aarch64_sys_sched_getattr = 275,
+};
+
+/* aarch64_canonicalize_syscall maps syscall ids from the native AArch64
+ linux set of syscall ids into a canonical set of syscall ids used by
+ process record. */
+
+static enum gdb_syscall
+aarch64_canonicalize_syscall (enum aarch64_syscall syscall_number)
+{
+#define SYSCALL_MAP(SYSCALL) case aarch64_sys_##SYSCALL: \
+ return gdb_sys_##SYSCALL
+
+ switch (syscall_number)
+ {
+ SYSCALL_MAP (io_setup);
+ SYSCALL_MAP (io_destroy);
+ SYSCALL_MAP (io_submit);
+ SYSCALL_MAP (io_cancel);
+ SYSCALL_MAP (io_getevents);
+
+ SYSCALL_MAP (setxattr);
+ SYSCALL_MAP (lsetxattr);
+ SYSCALL_MAP (fsetxattr);
+ SYSCALL_MAP (getxattr);
+ SYSCALL_MAP (lgetxattr);
+ SYSCALL_MAP (fgetxattr);
+ SYSCALL_MAP (listxattr);
+ SYSCALL_MAP (llistxattr);
+ SYSCALL_MAP (flistxattr);
+ SYSCALL_MAP (removexattr);
+ SYSCALL_MAP (lremovexattr);
+ SYSCALL_MAP (fremovexattr);
+ SYSCALL_MAP (getcwd);
+ SYSCALL_MAP (lookup_dcookie);
+
+ case aarch64_sys_epoll_create1:
+ return gdb_sys_epoll_create;
+
+ SYSCALL_MAP (epoll_ctl);
+ SYSCALL_MAP (epoll_pwait);
+ SYSCALL_MAP (dup);
+ SYSCALL_MAP (fcntl);
+ SYSCALL_MAP (inotify_add_watch);
+ SYSCALL_MAP (inotify_rm_watch);
+ SYSCALL_MAP (ioctl);
+ SYSCALL_MAP (ioprio_set);
+ SYSCALL_MAP (ioprio_get);
+ SYSCALL_MAP (flock);
+ SYSCALL_MAP (mount);
+ SYSCALL_MAP (nfsservctl);
+ SYSCALL_MAP (statfs);
+ SYSCALL_MAP (truncate);
+ SYSCALL_MAP (ftruncate);
+ SYSCALL_MAP (fchdir);
+ SYSCALL_MAP (chroot);
+ SYSCALL_MAP (fchmod);
+ SYSCALL_MAP (fchmodat);
+ SYSCALL_MAP (fchownat);
+ SYSCALL_MAP (fchown);
+ SYSCALL_MAP (close);
+ SYSCALL_MAP (vhangup);
+ SYSCALL_MAP (quotactl);
+ SYSCALL_MAP (getdents64);
+ SYSCALL_MAP (lseek);
+ SYSCALL_MAP (read);
+ SYSCALL_MAP (write);
+ SYSCALL_MAP (readv);
+ SYSCALL_MAP (writev);
+ SYSCALL_MAP (pread64);
+ SYSCALL_MAP (pwrite64);
+ SYSCALL_MAP (sendfile);
+ SYSCALL_MAP (pselect6);
+ SYSCALL_MAP (ppoll);
+ SYSCALL_MAP (vmsplice);
+ SYSCALL_MAP (splice);
+ SYSCALL_MAP (tee);
+ SYSCALL_MAP (fstat);
+ SYSCALL_MAP (sync);
+ SYSCALL_MAP (fsync);
+ SYSCALL_MAP (fdatasync);
+ SYSCALL_MAP (sync_file_range);
+ SYSCALL_MAP (acct);
+ SYSCALL_MAP (capget);
+ SYSCALL_MAP (capset);
+ SYSCALL_MAP (personality);
+ SYSCALL_MAP (exit);
+ SYSCALL_MAP (exit_group);
+ SYSCALL_MAP (waitid);
+ SYSCALL_MAP (set_tid_address);
+ SYSCALL_MAP (unshare);
+ SYSCALL_MAP (futex);
+ SYSCALL_MAP (set_robust_list);
+ SYSCALL_MAP (get_robust_list);
+ SYSCALL_MAP (nanosleep);
+
+ SYSCALL_MAP (getitimer);
+ SYSCALL_MAP (setitimer);
+ SYSCALL_MAP (kexec_load);
+ SYSCALL_MAP (init_module);
+ SYSCALL_MAP (delete_module);
+ SYSCALL_MAP (timer_create);
+ SYSCALL_MAP (timer_settime);
+ SYSCALL_MAP (timer_gettime);
+ SYSCALL_MAP (timer_getoverrun);
+ SYSCALL_MAP (timer_delete);
+ SYSCALL_MAP (clock_settime);
+ SYSCALL_MAP (clock_gettime);
+ SYSCALL_MAP (clock_getres);
+ SYSCALL_MAP (clock_nanosleep);
+ SYSCALL_MAP (syslog);
+ SYSCALL_MAP (ptrace);
+ SYSCALL_MAP (sched_setparam);
+ SYSCALL_MAP (sched_setscheduler);
+ SYSCALL_MAP (sched_getscheduler);
+ SYSCALL_MAP (sched_getparam);
+ SYSCALL_MAP (sched_setaffinity);
+ SYSCALL_MAP (sched_getaffinity);
+ SYSCALL_MAP (sched_yield);
+ SYSCALL_MAP (sched_get_priority_max);
+ SYSCALL_MAP (sched_get_priority_min);
+ SYSCALL_MAP (sched_rr_get_interval);
+ SYSCALL_MAP (kill);
+ SYSCALL_MAP (tkill);
+ SYSCALL_MAP (tgkill);
+ SYSCALL_MAP (sigaltstack);
+ SYSCALL_MAP (rt_sigsuspend);
+ SYSCALL_MAP (rt_sigaction);
+ SYSCALL_MAP (rt_sigprocmask);
+ SYSCALL_MAP (rt_sigpending);
+ SYSCALL_MAP (rt_sigtimedwait);
+ SYSCALL_MAP (rt_sigqueueinfo);
+ SYSCALL_MAP (rt_sigreturn);
+ SYSCALL_MAP (setpriority);
+ SYSCALL_MAP (getpriority);
+ SYSCALL_MAP (reboot);
+ SYSCALL_MAP (setregid);
+ SYSCALL_MAP (setgid);
+ SYSCALL_MAP (setreuid);
+ SYSCALL_MAP (setuid);
+ SYSCALL_MAP (setresuid);
+ SYSCALL_MAP (getresuid);
+ SYSCALL_MAP (setresgid);
+ SYSCALL_MAP (getresgid);
+ SYSCALL_MAP (setfsuid);
+ SYSCALL_MAP (setfsgid);
+ SYSCALL_MAP (times);
+ SYSCALL_MAP (setpgid);
+ SYSCALL_MAP (getpgid);
+ SYSCALL_MAP (getsid);
+ SYSCALL_MAP (setsid);
+ SYSCALL_MAP (getgroups);
+ SYSCALL_MAP (setgroups);
+ SYSCALL_MAP (uname);
+ SYSCALL_MAP (sethostname);
+ SYSCALL_MAP (setdomainname);
+ SYSCALL_MAP (getrlimit);
+ SYSCALL_MAP (setrlimit);
+ SYSCALL_MAP (getrusage);
+ SYSCALL_MAP (umask);
+ SYSCALL_MAP (prctl);
+ SYSCALL_MAP (gettimeofday);
+ SYSCALL_MAP (settimeofday);
+ SYSCALL_MAP (adjtimex);
+ SYSCALL_MAP (getpid);
+ SYSCALL_MAP (getppid);
+ SYSCALL_MAP (getuid);
+ SYSCALL_MAP (geteuid);
+ SYSCALL_MAP (getgid);
+ SYSCALL_MAP (getegid);
+ SYSCALL_MAP (gettid);
+ SYSCALL_MAP (sysinfo);
+ SYSCALL_MAP (mq_open);
+ SYSCALL_MAP (mq_unlink);
+ SYSCALL_MAP (mq_timedsend);
+ SYSCALL_MAP (mq_timedreceive);
+ SYSCALL_MAP (mq_notify);
+ SYSCALL_MAP (mq_getsetattr);
+ SYSCALL_MAP (msgget);
+ SYSCALL_MAP (msgctl);
+ SYSCALL_MAP (msgrcv);
+ SYSCALL_MAP (msgsnd);
+ SYSCALL_MAP (semget);
+ SYSCALL_MAP (semctl);
+ SYSCALL_MAP (semtimedop);
+ SYSCALL_MAP (semop);
+ SYSCALL_MAP (shmget);
+ SYSCALL_MAP (shmctl);
+ SYSCALL_MAP (shmat);
+ SYSCALL_MAP (shmdt);
+ SYSCALL_MAP (socket);
+ SYSCALL_MAP (socketpair);
+ SYSCALL_MAP (bind);
+ SYSCALL_MAP (listen);
+ SYSCALL_MAP (accept);
+ SYSCALL_MAP (connect);
+ SYSCALL_MAP (getsockname);
+ SYSCALL_MAP (getpeername);
+ SYSCALL_MAP (sendto);
+ SYSCALL_MAP (recvfrom);
+ SYSCALL_MAP (setsockopt);
+ SYSCALL_MAP (getsockopt);
+ SYSCALL_MAP (shutdown);
+ SYSCALL_MAP (sendmsg);
+ SYSCALL_MAP (recvmsg);
+ SYSCALL_MAP (readahead);
+ SYSCALL_MAP (brk);
+ SYSCALL_MAP (munmap);
+ SYSCALL_MAP (mremap);
+ SYSCALL_MAP (add_key);
+ SYSCALL_MAP (request_key);
+ SYSCALL_MAP (keyctl);
+ SYSCALL_MAP (clone);
+ SYSCALL_MAP (execve);
+
+ case aarch64_sys_mmap:
+ return gdb_sys_mmap2;
+
+ SYSCALL_MAP (fadvise64);
+ SYSCALL_MAP (swapon);
+ SYSCALL_MAP (swapoff);
+ SYSCALL_MAP (mprotect);
+ SYSCALL_MAP (msync);
+ SYSCALL_MAP (mlock);
+ SYSCALL_MAP (munlock);
+ SYSCALL_MAP (mlockall);
+ SYSCALL_MAP (munlockall);
+ SYSCALL_MAP (mincore);
+ SYSCALL_MAP (madvise);
+ SYSCALL_MAP (remap_file_pages);
+ SYSCALL_MAP (mbind);
+ SYSCALL_MAP (get_mempolicy);
+ SYSCALL_MAP (set_mempolicy);
+ SYSCALL_MAP (migrate_pages);
+ SYSCALL_MAP (move_pages);
+
+ default:
+ return -1;
+ }
+}
+
+/* Record all registers but PC register for process-record. */
+
+static int
+aarch64_all_but_pc_registers_record (struct regcache *regcache)
+{
+ int i;
+
+ for (i = AARCH64_X0_REGNUM; i < AARCH64_PC_REGNUM; i++)
+ if (record_full_arch_list_add_reg (regcache, i))
+ return -1;
+
+ if (record_full_arch_list_add_reg (regcache, AARCH64_CPSR_REGNUM))
+ return -1;
+
+ return 0;
+}
+
+/* Handler for aarch64 system call instruction recording. */
+
+static int
+aarch64_linux_syscall_record (struct regcache *regcache,
+ unsigned long svc_number)
+{
+ int ret = 0;
+ enum gdb_syscall syscall_gdb;
+
+ syscall_gdb = aarch64_canonicalize_syscall (svc_number);
+
+ if (syscall_gdb < 0)
+ {
+ printf_unfiltered (_("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 (aarch64_all_but_pc_registers_record (regcache))
+ return -1;
+ return 0;
+ }
+
+ ret = record_linux_system_call (syscall_gdb, regcache,
+ &aarch64_linux_record_tdep);
+ if (ret != 0)
+ return ret;
+
+ /* Record the return value of the system call. */
+ if (record_full_arch_list_add_reg (regcache, AARCH64_X0_REGNUM))
+ return -1;
+ /* Record LR. */
+ if (record_full_arch_list_add_reg (regcache, AARCH64_LR_REGNUM))
+ return -1;
+ /* Record CPSR. */
+ if (record_full_arch_list_add_reg (regcache, AARCH64_CPSR_REGNUM))
+ return -1;
+
+ return 0;
+}
+
static void
aarch64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
{
@@ -389,7 +962,6 @@ aarch64_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_get_siginfo_type (gdbarch, linux_get_siginfo_type);
tramp_frame_prepend_unwinder (gdbarch, &aarch64_linux_rt_sigframe);
/* Enable longjmp. */
@@ -409,6 +981,172 @@ aarch64_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_stap_parse_special_token (gdbarch,
aarch64_stap_parse_special_token);
+ /* Reversible debugging, process record. */
+ set_gdbarch_process_record (gdbarch, aarch64_process_record);
+ /* Syscall record. */
+ tdep->aarch64_syscall_record = aarch64_linux_syscall_record;
+
+ /* Initialize the aarch64_linux_record_tdep. */
+ /* These values are the size of the type that will be used in a system
+ call. They are obtained from Linux Kernel source. */
+ aarch64_linux_record_tdep.size_pointer
+ = gdbarch_ptr_bit (gdbarch) / TARGET_CHAR_BIT;
+ aarch64_linux_record_tdep.size__old_kernel_stat = 32;
+ aarch64_linux_record_tdep.size_tms = 32;
+ aarch64_linux_record_tdep.size_loff_t = 8;
+ aarch64_linux_record_tdep.size_flock = 32;
+ aarch64_linux_record_tdep.size_oldold_utsname = 45;
+ aarch64_linux_record_tdep.size_ustat = 32;
+ aarch64_linux_record_tdep.size_old_sigaction = 152;
+ aarch64_linux_record_tdep.size_old_sigset_t = 128;
+ aarch64_linux_record_tdep.size_rlimit = 16;
+ aarch64_linux_record_tdep.size_rusage = 144;
+ aarch64_linux_record_tdep.size_timeval = 16;
+ aarch64_linux_record_tdep.size_timezone = 8;
+ aarch64_linux_record_tdep.size_old_gid_t = 2;
+ aarch64_linux_record_tdep.size_old_uid_t = 2;
+ aarch64_linux_record_tdep.size_fd_set = 128;
+ aarch64_linux_record_tdep.size_dirent = 280;
+ aarch64_linux_record_tdep.size_dirent64 = 280;
+ aarch64_linux_record_tdep.size_statfs = 120;
+ aarch64_linux_record_tdep.size_statfs64 = 120;
+ aarch64_linux_record_tdep.size_sockaddr = 16;
+ aarch64_linux_record_tdep.size_int
+ = gdbarch_int_bit (gdbarch) / TARGET_CHAR_BIT;
+ aarch64_linux_record_tdep.size_long
+ = gdbarch_long_bit (gdbarch) / TARGET_CHAR_BIT;
+ aarch64_linux_record_tdep.size_ulong
+ = gdbarch_long_bit (gdbarch) / TARGET_CHAR_BIT;
+ aarch64_linux_record_tdep.size_msghdr = 56;
+ aarch64_linux_record_tdep.size_itimerval = 32;
+ aarch64_linux_record_tdep.size_stat = 144;
+ aarch64_linux_record_tdep.size_old_utsname = 325;
+ aarch64_linux_record_tdep.size_sysinfo = 112;
+ aarch64_linux_record_tdep.size_msqid_ds = 120;
+ aarch64_linux_record_tdep.size_shmid_ds = 112;
+ aarch64_linux_record_tdep.size_new_utsname = 390;
+ aarch64_linux_record_tdep.size_timex = 208;
+ aarch64_linux_record_tdep.size_mem_dqinfo = 24;
+ aarch64_linux_record_tdep.size_if_dqblk = 72;
+ aarch64_linux_record_tdep.size_fs_quota_stat = 80;
+ aarch64_linux_record_tdep.size_timespec = 16;
+ aarch64_linux_record_tdep.size_pollfd = 8;
+ aarch64_linux_record_tdep.size_NFS_FHSIZE = 32;
+ aarch64_linux_record_tdep.size_knfsd_fh = 132;
+ aarch64_linux_record_tdep.size_TASK_COMM_LEN = 16;
+ aarch64_linux_record_tdep.size_sigaction = 152;
+ aarch64_linux_record_tdep.size_sigset_t = 128;
+ aarch64_linux_record_tdep.size_siginfo_t = 128;
+ aarch64_linux_record_tdep.size_cap_user_data_t = 8;
+ aarch64_linux_record_tdep.size_stack_t = 24;
+ aarch64_linux_record_tdep.size_off_t = 8;
+ aarch64_linux_record_tdep.size_stat64 = 144;
+ aarch64_linux_record_tdep.size_gid_t = 4;
+ aarch64_linux_record_tdep.size_uid_t = 4;
+ aarch64_linux_record_tdep.size_PAGE_SIZE = 4096;
+ aarch64_linux_record_tdep.size_flock64 = 32;
+ aarch64_linux_record_tdep.size_user_desc = 16;
+ aarch64_linux_record_tdep.size_io_event = 32;
+ aarch64_linux_record_tdep.size_iocb = 64;
+ aarch64_linux_record_tdep.size_epoll_event = 12;
+ aarch64_linux_record_tdep.size_itimerspec = 32;
+ aarch64_linux_record_tdep.size_mq_attr = 64;
+ aarch64_linux_record_tdep.size_siginfo = 128;
+ aarch64_linux_record_tdep.size_termios = 60;
+ aarch64_linux_record_tdep.size_termios2 = 44;
+ aarch64_linux_record_tdep.size_pid_t = 4;
+ aarch64_linux_record_tdep.size_winsize = 8;
+ aarch64_linux_record_tdep.size_serial_struct = 72;
+ aarch64_linux_record_tdep.size_serial_icounter_struct = 80;
+ aarch64_linux_record_tdep.size_hayes_esp_config = 12;
+ aarch64_linux_record_tdep.size_size_t = 8;
+ aarch64_linux_record_tdep.size_iovec = 16;
+
+ /* These values are the second argument of system call "sys_ioctl".
+ They are obtained from Linux Kernel source. */
+ aarch64_linux_record_tdep.ioctl_TCGETS = 0x5401;
+ aarch64_linux_record_tdep.ioctl_TCSETS = 0x5402;
+ aarch64_linux_record_tdep.ioctl_TCSETSW = 0x5403;
+ aarch64_linux_record_tdep.ioctl_TCSETSF = 0x5404;
+ aarch64_linux_record_tdep.ioctl_TCGETA = 0x5405;
+ aarch64_linux_record_tdep.ioctl_TCSETA = 0x5406;
+ aarch64_linux_record_tdep.ioctl_TCSETAW = 0x5407;
+ aarch64_linux_record_tdep.ioctl_TCSETAF = 0x5408;
+ aarch64_linux_record_tdep.ioctl_TCSBRK = 0x5409;
+ aarch64_linux_record_tdep.ioctl_TCXONC = 0x540a;
+ aarch64_linux_record_tdep.ioctl_TCFLSH = 0x540b;
+ aarch64_linux_record_tdep.ioctl_TIOCEXCL = 0x540c;
+ aarch64_linux_record_tdep.ioctl_TIOCNXCL = 0x540d;
+ aarch64_linux_record_tdep.ioctl_TIOCSCTTY = 0x540e;
+ aarch64_linux_record_tdep.ioctl_TIOCGPGRP = 0x540f;
+ aarch64_linux_record_tdep.ioctl_TIOCSPGRP = 0x5410;
+ aarch64_linux_record_tdep.ioctl_TIOCOUTQ = 0x5411;
+ aarch64_linux_record_tdep.ioctl_TIOCSTI = 0x5412;
+ aarch64_linux_record_tdep.ioctl_TIOCGWINSZ = 0x5413;
+ aarch64_linux_record_tdep.ioctl_TIOCSWINSZ = 0x5414;
+ aarch64_linux_record_tdep.ioctl_TIOCMGET = 0x5415;
+ aarch64_linux_record_tdep.ioctl_TIOCMBIS = 0x5416;
+ aarch64_linux_record_tdep.ioctl_TIOCMBIC = 0x5417;
+ aarch64_linux_record_tdep.ioctl_TIOCMSET = 0x5418;
+ aarch64_linux_record_tdep.ioctl_TIOCGSOFTCAR = 0x5419;
+ aarch64_linux_record_tdep.ioctl_TIOCSSOFTCAR = 0x541a;
+ aarch64_linux_record_tdep.ioctl_FIONREAD = 0x541b;
+ aarch64_linux_record_tdep.ioctl_TIOCINQ = 0x541b;
+ aarch64_linux_record_tdep.ioctl_TIOCLINUX = 0x541c;
+ aarch64_linux_record_tdep.ioctl_TIOCCONS = 0x541d;
+ aarch64_linux_record_tdep.ioctl_TIOCGSERIAL = 0x541e;
+ aarch64_linux_record_tdep.ioctl_TIOCSSERIAL = 0x541f;
+ aarch64_linux_record_tdep.ioctl_TIOCPKT = 0x5420;
+ aarch64_linux_record_tdep.ioctl_FIONBIO = 0x5421;
+ aarch64_linux_record_tdep.ioctl_TIOCNOTTY = 0x5422;
+ aarch64_linux_record_tdep.ioctl_TIOCSETD = 0x5423;
+ aarch64_linux_record_tdep.ioctl_TIOCGETD = 0x5424;
+ aarch64_linux_record_tdep.ioctl_TCSBRKP = 0x5425;
+ aarch64_linux_record_tdep.ioctl_TIOCTTYGSTRUCT = 0x5426;
+ aarch64_linux_record_tdep.ioctl_TIOCSBRK = 0x5427;
+ aarch64_linux_record_tdep.ioctl_TIOCCBRK = 0x5428;
+ aarch64_linux_record_tdep.ioctl_TIOCGSID = 0x5429;
+ aarch64_linux_record_tdep.ioctl_TCGETS2 = 0x802c542a;
+ aarch64_linux_record_tdep.ioctl_TCSETS2 = 0x402c542b;
+ aarch64_linux_record_tdep.ioctl_TCSETSW2 = 0x402c542c;
+ aarch64_linux_record_tdep.ioctl_TCSETSF2 = 0x402c542d;
+ aarch64_linux_record_tdep.ioctl_TIOCGPTN = 0x80045430;
+ aarch64_linux_record_tdep.ioctl_TIOCSPTLCK = 0x40045431;
+ aarch64_linux_record_tdep.ioctl_FIONCLEX = 0x5450;
+ aarch64_linux_record_tdep.ioctl_FIOCLEX = 0x5451;
+ aarch64_linux_record_tdep.ioctl_FIOASYNC = 0x5452;
+ aarch64_linux_record_tdep.ioctl_TIOCSERCONFIG = 0x5453;
+ aarch64_linux_record_tdep.ioctl_TIOCSERGWILD = 0x5454;
+ aarch64_linux_record_tdep.ioctl_TIOCSERSWILD = 0x5455;
+ aarch64_linux_record_tdep.ioctl_TIOCGLCKTRMIOS = 0x5456;
+ aarch64_linux_record_tdep.ioctl_TIOCSLCKTRMIOS = 0x5457;
+ aarch64_linux_record_tdep.ioctl_TIOCSERGSTRUCT = 0x5458;
+ aarch64_linux_record_tdep.ioctl_TIOCSERGETLSR = 0x5459;
+ aarch64_linux_record_tdep.ioctl_TIOCSERGETMULTI = 0x545a;
+ aarch64_linux_record_tdep.ioctl_TIOCSERSETMULTI = 0x545b;
+ aarch64_linux_record_tdep.ioctl_TIOCMIWAIT = 0x545c;
+ aarch64_linux_record_tdep.ioctl_TIOCGICOUNT = 0x545d;
+ aarch64_linux_record_tdep.ioctl_TIOCGHAYESESP = 0x545e;
+ aarch64_linux_record_tdep.ioctl_TIOCSHAYESESP = 0x545f;
+ aarch64_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. */
+ aarch64_linux_record_tdep.fcntl_F_GETLK = 5;
+ aarch64_linux_record_tdep.fcntl_F_GETLK64 = 12;
+ aarch64_linux_record_tdep.fcntl_F_SETLK64 = 13;
+ aarch64_linux_record_tdep.fcntl_F_SETLKW64 = 14;
+
+ /* The AArch64 syscall calling convention: reg x0-x6 for arguments,
+ reg x8 for syscall number and return value in reg x0. */
+ aarch64_linux_record_tdep.arg1 = AARCH64_X0_REGNUM + 0;
+ aarch64_linux_record_tdep.arg2 = AARCH64_X0_REGNUM + 1;
+ aarch64_linux_record_tdep.arg3 = AARCH64_X0_REGNUM + 2;
+ aarch64_linux_record_tdep.arg4 = AARCH64_X0_REGNUM + 3;
+ aarch64_linux_record_tdep.arg5 = AARCH64_X0_REGNUM + 4;
+ aarch64_linux_record_tdep.arg6 = AARCH64_X0_REGNUM + 5;
+ aarch64_linux_record_tdep.arg7 = AARCH64_X0_REGNUM + 6;
+
/* `catch syscall' */
set_xml_syscall_file_name (gdbarch, "syscalls/aarch64-linux.xml");
set_gdbarch_get_syscall_number (gdbarch, aarch64_linux_get_syscall_number);
diff --git a/gdb/aarch64-tdep.c b/gdb/aarch64-tdep.c
index ddc902250ec..9650a7a0cd7 100644
--- a/gdb/aarch64-tdep.c
+++ b/gdb/aarch64-tdep.c
@@ -50,6 +50,9 @@
#include "vec.h"
+#include "record.h"
+#include "record-full.h"
+
#include "features/aarch64.c"
/* Pseudo register base numbers. */
@@ -2803,3 +2806,973 @@ When on, AArch64 specific debugging is enabled."),
show_aarch64_debug,
&setdebuglist, &showdebuglist);
}
+
+/* AArch64 process record-replay related structures, defines etc. */
+
+#define submask(x) ((1L << ((x) + 1)) - 1)
+#define bit(obj,st) (((obj) >> (st)) & 1)
+#define bits(obj,st,fn) (((obj) >> (st)) & submask ((fn) - (st)))
+
+#define REG_ALLOC(REGS, LENGTH, RECORD_BUF) \
+ do \
+ { \
+ unsigned int reg_len = LENGTH; \
+ if (reg_len) \
+ { \
+ REGS = XNEWVEC (uint32_t, reg_len); \
+ memcpy(&REGS[0], &RECORD_BUF[0], sizeof(uint32_t)*LENGTH); \
+ } \
+ } \
+ while (0)
+
+#define MEM_ALLOC(MEMS, LENGTH, RECORD_BUF) \
+ do \
+ { \
+ unsigned int mem_len = LENGTH; \
+ if (mem_len) \
+ { \
+ MEMS = XNEWVEC (struct aarch64_mem_r, mem_len); \
+ memcpy(&MEMS->len, &RECORD_BUF[0], \
+ sizeof(struct aarch64_mem_r) * LENGTH); \
+ } \
+ } \
+ while (0)
+
+/* AArch64 record/replay structures and enumerations. */
+
+struct aarch64_mem_r
+{
+ uint64_t len; /* Record length. */
+ uint64_t addr; /* Memory address. */
+};
+
+enum aarch64_record_result
+{
+ AARCH64_RECORD_SUCCESS,
+ AARCH64_RECORD_FAILURE,
+ AARCH64_RECORD_UNSUPPORTED,
+ AARCH64_RECORD_UNKNOWN
+};
+
+typedef struct insn_decode_record_t
+{
+ struct gdbarch *gdbarch;
+ struct regcache *regcache;
+ CORE_ADDR this_addr; /* Address of insn to be recorded. */
+ uint32_t aarch64_insn; /* Insn to be recorded. */
+ uint32_t mem_rec_count; /* Count of memory records. */
+ uint32_t reg_rec_count; /* Count of register records. */
+ uint32_t *aarch64_regs; /* Registers to be recorded. */
+ struct aarch64_mem_r *aarch64_mems; /* Memory locations to be recorded. */
+} insn_decode_record;
+
+/* Record handler for data processing - register instructions. */
+
+static unsigned int
+aarch64_record_data_proc_reg (insn_decode_record *aarch64_insn_r)
+{
+ uint8_t reg_rd, insn_bits24_27, insn_bits21_23;
+ uint32_t record_buf[4];
+
+ reg_rd = bits (aarch64_insn_r->aarch64_insn, 0, 4);
+ insn_bits24_27 = bits (aarch64_insn_r->aarch64_insn, 24, 27);
+ insn_bits21_23 = bits (aarch64_insn_r->aarch64_insn, 21, 23);
+
+ if (!bit (aarch64_insn_r->aarch64_insn, 28))
+ {
+ uint8_t setflags;
+
+ /* Logical (shifted register). */
+ if (insn_bits24_27 == 0x0a)
+ setflags = (bits (aarch64_insn_r->aarch64_insn, 29, 30) == 0x03);
+ /* Add/subtract. */
+ else if (insn_bits24_27 == 0x0b)
+ setflags = bit (aarch64_insn_r->aarch64_insn, 29);
+ else
+ return AARCH64_RECORD_UNKNOWN;
+
+ record_buf[0] = reg_rd;
+ aarch64_insn_r->reg_rec_count = 1;
+ if (setflags)
+ record_buf[aarch64_insn_r->reg_rec_count++] = AARCH64_CPSR_REGNUM;
+ }
+ else
+ {
+ if (insn_bits24_27 == 0x0b)
+ {
+ /* Data-processing (3 source). */
+ record_buf[0] = reg_rd;
+ aarch64_insn_r->reg_rec_count = 1;
+ }
+ else if (insn_bits24_27 == 0x0a)
+ {
+ if (insn_bits21_23 == 0x00)
+ {
+ /* Add/subtract (with carry). */
+ record_buf[0] = reg_rd;
+ aarch64_insn_r->reg_rec_count = 1;
+ if (bit (aarch64_insn_r->aarch64_insn, 29))
+ {
+ record_buf[1] = AARCH64_CPSR_REGNUM;
+ aarch64_insn_r->reg_rec_count = 2;
+ }
+ }
+ else if (insn_bits21_23 == 0x02)
+ {
+ /* Conditional compare (register) and conditional compare
+ (immediate) instructions. */
+ record_buf[0] = AARCH64_CPSR_REGNUM;
+ aarch64_insn_r->reg_rec_count = 1;
+ }
+ else if (insn_bits21_23 == 0x04 || insn_bits21_23 == 0x06)
+ {
+ /* CConditional select. */
+ /* Data-processing (2 source). */
+ /* Data-processing (1 source). */
+ record_buf[0] = reg_rd;
+ aarch64_insn_r->reg_rec_count = 1;
+ }
+ else
+ return AARCH64_RECORD_UNKNOWN;
+ }
+ }
+
+ REG_ALLOC (aarch64_insn_r->aarch64_regs, aarch64_insn_r->reg_rec_count,
+ record_buf);
+ return AARCH64_RECORD_SUCCESS;
+}
+
+/* Record handler for data processing - immediate instructions. */
+
+static unsigned int
+aarch64_record_data_proc_imm (insn_decode_record *aarch64_insn_r)
+{
+ uint8_t reg_rd, insn_bit28, insn_bit23, insn_bits24_27, setflags;
+ uint32_t record_buf[4];
+
+ reg_rd = bits (aarch64_insn_r->aarch64_insn, 0, 4);
+ insn_bit28 = bit (aarch64_insn_r->aarch64_insn, 28);
+ insn_bit23 = bit (aarch64_insn_r->aarch64_insn, 23);
+ insn_bits24_27 = bits (aarch64_insn_r->aarch64_insn, 24, 27);
+
+ if (insn_bits24_27 == 0x00 /* PC rel addressing. */
+ || insn_bits24_27 == 0x03 /* Bitfield and Extract. */
+ || (insn_bits24_27 == 0x02 && insn_bit23)) /* Move wide (immediate). */
+ {
+ record_buf[0] = reg_rd;
+ aarch64_insn_r->reg_rec_count = 1;
+ }
+ else if (insn_bits24_27 == 0x01)
+ {
+ /* Add/Subtract (immediate). */
+ setflags = bit (aarch64_insn_r->aarch64_insn, 29);
+ record_buf[0] = reg_rd;
+ aarch64_insn_r->reg_rec_count = 1;
+ if (setflags)
+ record_buf[aarch64_insn_r->reg_rec_count++] = AARCH64_CPSR_REGNUM;
+ }
+ else if (insn_bits24_27 == 0x02 && !insn_bit23)
+ {
+ /* Logical (immediate). */
+ setflags = bits (aarch64_insn_r->aarch64_insn, 29, 30) == 0x03;
+ record_buf[0] = reg_rd;
+ aarch64_insn_r->reg_rec_count = 1;
+ if (setflags)
+ record_buf[aarch64_insn_r->reg_rec_count++] = AARCH64_CPSR_REGNUM;
+ }
+ else
+ return AARCH64_RECORD_UNKNOWN;
+
+ REG_ALLOC (aarch64_insn_r->aarch64_regs, aarch64_insn_r->reg_rec_count,
+ record_buf);
+ return AARCH64_RECORD_SUCCESS;
+}
+
+/* Record handler for branch, exception generation and system instructions. */
+
+static unsigned int
+aarch64_record_branch_except_sys (insn_decode_record *aarch64_insn_r)
+{
+ struct gdbarch_tdep *tdep = gdbarch_tdep (aarch64_insn_r->gdbarch);
+ uint8_t insn_bits24_27, insn_bits28_31, insn_bits22_23;
+ uint32_t record_buf[4];
+
+ insn_bits24_27 = bits (aarch64_insn_r->aarch64_insn, 24, 27);
+ insn_bits28_31 = bits (aarch64_insn_r->aarch64_insn, 28, 31);
+ insn_bits22_23 = bits (aarch64_insn_r->aarch64_insn, 22, 23);
+
+ if (insn_bits28_31 == 0x0d)
+ {
+ /* Exception generation instructions. */
+ if (insn_bits24_27 == 0x04)
+ {
+ if (!bits (aarch64_insn_r->aarch64_insn, 2, 4)
+ && !bits (aarch64_insn_r->aarch64_insn, 21, 23)
+ && bits (aarch64_insn_r->aarch64_insn, 0, 1) == 0x01)
+ {
+ ULONGEST svc_number;
+
+ regcache_raw_read_unsigned (aarch64_insn_r->regcache, 8,
+ &svc_number);
+ return tdep->aarch64_syscall_record (aarch64_insn_r->regcache,
+ svc_number);
+ }
+ else
+ return AARCH64_RECORD_UNSUPPORTED;
+ }
+ /* System instructions. */
+ else if (insn_bits24_27 == 0x05 && insn_bits22_23 == 0x00)
+ {
+ uint32_t reg_rt, reg_crn;
+
+ reg_rt = bits (aarch64_insn_r->aarch64_insn, 0, 4);
+ reg_crn = bits (aarch64_insn_r->aarch64_insn, 12, 15);
+
+ /* Record rt in case of sysl and mrs instructions. */
+ if (bit (aarch64_insn_r->aarch64_insn, 21))
+ {
+ record_buf[0] = reg_rt;
+ aarch64_insn_r->reg_rec_count = 1;
+ }
+ /* Record cpsr for hint and msr(immediate) instructions. */
+ else if (reg_crn == 0x02 || reg_crn == 0x04)
+ {
+ record_buf[0] = AARCH64_CPSR_REGNUM;
+ aarch64_insn_r->reg_rec_count = 1;
+ }
+ }
+ /* Unconditional branch (register). */
+ else if((insn_bits24_27 & 0x0e) == 0x06)
+ {
+ record_buf[aarch64_insn_r->reg_rec_count++] = AARCH64_PC_REGNUM;
+ if (bits (aarch64_insn_r->aarch64_insn, 21, 22) == 0x01)
+ record_buf[aarch64_insn_r->reg_rec_count++] = AARCH64_LR_REGNUM;
+ }
+ else
+ return AARCH64_RECORD_UNKNOWN;
+ }
+ /* Unconditional branch (immediate). */
+ else if ((insn_bits28_31 & 0x07) == 0x01 && (insn_bits24_27 & 0x0c) == 0x04)
+ {
+ record_buf[aarch64_insn_r->reg_rec_count++] = AARCH64_PC_REGNUM;
+ if (bit (aarch64_insn_r->aarch64_insn, 31))
+ record_buf[aarch64_insn_r->reg_rec_count++] = AARCH64_LR_REGNUM;
+ }
+ else
+ /* Compare & branch (immediate), Test & branch (immediate) and
+ Conditional branch (immediate). */
+ record_buf[aarch64_insn_r->reg_rec_count++] = AARCH64_PC_REGNUM;
+
+ REG_ALLOC (aarch64_insn_r->aarch64_regs, aarch64_insn_r->reg_rec_count,
+ record_buf);
+ return AARCH64_RECORD_SUCCESS;
+}
+
+/* Record handler for advanced SIMD load and store instructions. */
+
+static unsigned int
+aarch64_record_asimd_load_store (insn_decode_record *aarch64_insn_r)
+{
+ CORE_ADDR address;
+ uint64_t addr_offset = 0;
+ uint32_t record_buf[24];
+ uint64_t record_buf_mem[24];
+ uint32_t reg_rn, reg_rt;
+ uint32_t reg_index = 0, mem_index = 0;
+ uint8_t opcode_bits, size_bits;
+
+ reg_rt = bits (aarch64_insn_r->aarch64_insn, 0, 4);
+ reg_rn = bits (aarch64_insn_r->aarch64_insn, 5, 9);
+ size_bits = bits (aarch64_insn_r->aarch64_insn, 10, 11);
+ opcode_bits = bits (aarch64_insn_r->aarch64_insn, 12, 15);
+ regcache_raw_read_unsigned (aarch64_insn_r->regcache, reg_rn, &address);
+
+ if (record_debug)
+ {
+ fprintf_unfiltered (gdb_stdlog,
+ "Process record: Advanced SIMD load/store\n");
+ }
+
+ /* Load/store single structure. */
+ if (bit (aarch64_insn_r->aarch64_insn, 24))
+ {
+ uint8_t sindex, scale, selem, esize, replicate = 0;
+ scale = opcode_bits >> 2;
+ selem = ((opcode_bits & 0x02) |
+ bit (aarch64_insn_r->aarch64_insn, 21)) + 1;
+ switch (scale)
+ {
+ case 1:
+ if (size_bits & 0x01)
+ return AARCH64_RECORD_UNKNOWN;
+ break;
+ case 2:
+ if ((size_bits >> 1) & 0x01)
+ return AARCH64_RECORD_UNKNOWN;
+ if (size_bits & 0x01)
+ {
+ if (!((opcode_bits >> 1) & 0x01))
+ scale = 3;
+ else
+ return AARCH64_RECORD_UNKNOWN;
+ }
+ break;
+ case 3:
+ if (bit (aarch64_insn_r->aarch64_insn, 22) && !(opcode_bits & 0x01))
+ {
+ scale = size_bits;
+ replicate = 1;
+ break;
+ }
+ else
+ return AARCH64_RECORD_UNKNOWN;
+ default:
+ break;
+ }
+ esize = 8 << scale;
+ if (replicate)
+ for (sindex = 0; sindex < selem; sindex++)
+ {
+ record_buf[reg_index++] = reg_rt + AARCH64_V0_REGNUM;
+ reg_rt = (reg_rt + 1) % 32;
+ }
+ else
+ {
+ for (sindex = 0; sindex < selem; sindex++)
+ if (bit (aarch64_insn_r->aarch64_insn, 22))
+ record_buf[reg_index++] = reg_rt + AARCH64_V0_REGNUM;
+ else
+ {
+ record_buf_mem[mem_index++] = esize / 8;
+ record_buf_mem[mem_index++] = address + addr_offset;
+ }
+ addr_offset = addr_offset + (esize / 8);
+ reg_rt = (reg_rt + 1) % 32;
+ }
+ }
+ /* Load/store multiple structure. */
+ else
+ {
+ uint8_t selem, esize, rpt, elements;
+ uint8_t eindex, rindex;
+
+ esize = 8 << size_bits;
+ if (bit (aarch64_insn_r->aarch64_insn, 30))
+ elements = 128 / esize;
+ else
+ elements = 64 / esize;
+
+ switch (opcode_bits)
+ {
+ /*LD/ST4 (4 Registers). */
+ case 0:
+ rpt = 1;
+ selem = 4;
+ break;
+ /*LD/ST1 (4 Registers). */
+ case 2:
+ rpt = 4;
+ selem = 1;
+ break;
+ /*LD/ST3 (3 Registers). */
+ case 4:
+ rpt = 1;
+ selem = 3;
+ break;
+ /*LD/ST1 (3 Registers). */
+ case 6:
+ rpt = 3;
+ selem = 1;
+ break;
+ /*LD/ST1 (1 Register). */
+ case 7:
+ rpt = 1;
+ selem = 1;
+ break;
+ /*LD/ST2 (2 Registers). */
+ case 8:
+ rpt = 1;
+ selem = 2;
+ break;
+ /*LD/ST1 (2 Registers). */
+ case 10:
+ rpt = 2;
+ selem = 1;
+ break;
+ default:
+ return AARCH64_RECORD_UNSUPPORTED;
+ break;
+ }
+ for (rindex = 0; rindex < rpt; rindex++)
+ for (eindex = 0; eindex < elements; eindex++)
+ {
+ uint8_t reg_tt, sindex;
+ reg_tt = (reg_rt + rindex) % 32;
+ for (sindex = 0; sindex < selem; sindex++)
+ {
+ if (bit (aarch64_insn_r->aarch64_insn, 22))
+ record_buf[reg_index++] = reg_tt + AARCH64_V0_REGNUM;
+ else
+ {
+ record_buf_mem[mem_index++] = esize / 8;
+ record_buf_mem[mem_index++] = address + addr_offset;
+ }
+ addr_offset = addr_offset + (esize / 8);
+ reg_tt = (reg_tt + 1) % 32;
+ }
+ }
+ }
+
+ if (bit (aarch64_insn_r->aarch64_insn, 23))
+ record_buf[reg_index++] = reg_rn;
+
+ aarch64_insn_r->reg_rec_count = reg_index;
+ aarch64_insn_r->mem_rec_count = mem_index / 2;
+ MEM_ALLOC (aarch64_insn_r->aarch64_mems, aarch64_insn_r->mem_rec_count,
+ record_buf_mem);
+ REG_ALLOC (aarch64_insn_r->aarch64_regs, aarch64_insn_r->reg_rec_count,
+ record_buf);
+ return AARCH64_RECORD_SUCCESS;
+}
+
+/* Record handler for load and store instructions. */
+
+static unsigned int
+aarch64_record_load_store (insn_decode_record *aarch64_insn_r)
+{
+ uint8_t insn_bits24_27, insn_bits28_29, insn_bits10_11;
+ uint8_t insn_bit23, insn_bit21;
+ uint8_t opc, size_bits, ld_flag, vector_flag;
+ uint32_t reg_rn, reg_rt, reg_rt2;
+ uint64_t datasize, offset;
+ uint32_t record_buf[8];
+ uint64_t record_buf_mem[8];
+ CORE_ADDR address;
+
+ insn_bits10_11 = bits (aarch64_insn_r->aarch64_insn, 10, 11);
+ insn_bits24_27 = bits (aarch64_insn_r->aarch64_insn, 24, 27);
+ insn_bits28_29 = bits (aarch64_insn_r->aarch64_insn, 28, 29);
+ insn_bit21 = bit (aarch64_insn_r->aarch64_insn, 21);
+ insn_bit23 = bit (aarch64_insn_r->aarch64_insn, 23);
+ ld_flag = bit (aarch64_insn_r->aarch64_insn, 22);
+ vector_flag = bit (aarch64_insn_r->aarch64_insn, 26);
+ reg_rt = bits (aarch64_insn_r->aarch64_insn, 0, 4);
+ reg_rn = bits (aarch64_insn_r->aarch64_insn, 5, 9);
+ reg_rt2 = bits (aarch64_insn_r->aarch64_insn, 10, 14);
+ size_bits = bits (aarch64_insn_r->aarch64_insn, 30, 31);
+
+ /* Load/store exclusive. */
+ if (insn_bits24_27 == 0x08 && insn_bits28_29 == 0x00)
+ {
+ if (record_debug)
+ {
+ fprintf_unfiltered (gdb_stdlog,
+ "Process record: load/store exclusive\n");
+ }
+
+ if (ld_flag)
+ {
+ record_buf[0] = reg_rt;
+ aarch64_insn_r->reg_rec_count = 1;
+ if (insn_bit21)
+ {
+ record_buf[1] = reg_rt2;
+ aarch64_insn_r->reg_rec_count = 2;
+ }
+ }
+ else
+ {
+ if (insn_bit21)
+ datasize = (8 << size_bits) * 2;
+ else
+ datasize = (8 << size_bits);
+ regcache_raw_read_unsigned (aarch64_insn_r->regcache, reg_rn,
+ &address);
+ record_buf_mem[0] = datasize / 8;
+ record_buf_mem[1] = address;
+ aarch64_insn_r->mem_rec_count = 1;
+ if (!insn_bit23)
+ {
+ /* Save register rs. */
+ record_buf[0] = bits (aarch64_insn_r->aarch64_insn, 16, 20);
+ aarch64_insn_r->reg_rec_count = 1;
+ }
+ }
+ }
+ /* Load register (literal) instructions decoding. */
+ else if ((insn_bits24_27 & 0x0b) == 0x08 && insn_bits28_29 == 0x01)
+ {
+ if (record_debug)
+ {
+ fprintf_unfiltered (gdb_stdlog,
+ "Process record: load register (literal)\n");
+ }
+ if (vector_flag)
+ record_buf[0] = reg_rt + AARCH64_V0_REGNUM;
+ else
+ record_buf[0] = reg_rt;
+ aarch64_insn_r->reg_rec_count = 1;
+ }
+ /* All types of load/store pair instructions decoding. */
+ else if ((insn_bits24_27 & 0x0a) == 0x08 && insn_bits28_29 == 0x02)
+ {
+ if (record_debug)
+ {
+ fprintf_unfiltered (gdb_stdlog,
+ "Process record: load/store pair\n");
+ }
+
+ if (ld_flag)
+ {
+ if (vector_flag)
+ {
+ record_buf[0] = reg_rt + AARCH64_V0_REGNUM;
+ record_buf[1] = reg_rt2 + AARCH64_V0_REGNUM;
+ }
+ else
+ {
+ record_buf[0] = reg_rt;
+ record_buf[1] = reg_rt2;
+ }
+ aarch64_insn_r->reg_rec_count = 2;
+ }
+ else
+ {
+ uint16_t imm7_off;
+ imm7_off = bits (aarch64_insn_r->aarch64_insn, 15, 21);
+ if (!vector_flag)
+ size_bits = size_bits >> 1;
+ datasize = 8 << (2 + size_bits);
+ offset = (imm7_off & 0x40) ? (~imm7_off & 0x007f) + 1 : imm7_off;
+ offset = offset << (2 + size_bits);
+ regcache_raw_read_unsigned (aarch64_insn_r->regcache, reg_rn,
+ &address);
+ if (!((insn_bits24_27 & 0x0b) == 0x08 && insn_bit23))
+ {
+ if (imm7_off & 0x40)
+ address = address - offset;
+ else
+ address = address + offset;
+ }
+
+ record_buf_mem[0] = datasize / 8;
+ record_buf_mem[1] = address;
+ record_buf_mem[2] = datasize / 8;
+ record_buf_mem[3] = address + (datasize / 8);
+ aarch64_insn_r->mem_rec_count = 2;
+ }
+ if (bit (aarch64_insn_r->aarch64_insn, 23))
+ record_buf[aarch64_insn_r->reg_rec_count++] = reg_rn;
+ }
+ /* Load/store register (unsigned immediate) instructions. */
+ else if ((insn_bits24_27 & 0x0b) == 0x09 && insn_bits28_29 == 0x03)
+ {
+ opc = bits (aarch64_insn_r->aarch64_insn, 22, 23);
+ if (!(opc >> 1))
+ if (opc & 0x01)
+ ld_flag = 0x01;
+ else
+ ld_flag = 0x0;
+ else
+ if (size_bits != 0x03)
+ ld_flag = 0x01;
+ else
+ return AARCH64_RECORD_UNKNOWN;
+
+ if (record_debug)
+ {
+ fprintf_unfiltered (gdb_stdlog,
+ "Process record: load/store (unsigned immediate):"
+ " size %x V %d opc %x\n", size_bits, vector_flag,
+ opc);
+ }
+
+ if (!ld_flag)
+ {
+ offset = bits (aarch64_insn_r->aarch64_insn, 10, 21);
+ datasize = 8 << size_bits;
+ regcache_raw_read_unsigned (aarch64_insn_r->regcache, reg_rn,
+ &address);
+ offset = offset << size_bits;
+ address = address + offset;
+
+ record_buf_mem[0] = datasize >> 3;
+ record_buf_mem[1] = address;
+ aarch64_insn_r->mem_rec_count = 1;
+ }
+ else
+ {
+ if (vector_flag)
+ record_buf[0] = reg_rt + AARCH64_V0_REGNUM;
+ else
+ record_buf[0] = reg_rt;
+ aarch64_insn_r->reg_rec_count = 1;
+ }
+ }
+ /* Load/store register (register offset) instructions. */
+ else if ((insn_bits24_27 & 0x0b) == 0x08 && insn_bits28_29 == 0x03
+ && insn_bits10_11 == 0x02 && insn_bit21)
+ {
+ if (record_debug)
+ {
+ fprintf_unfiltered (gdb_stdlog,
+ "Process record: load/store (register offset)\n");
+ }
+ opc = bits (aarch64_insn_r->aarch64_insn, 22, 23);
+ if (!(opc >> 1))
+ if (opc & 0x01)
+ ld_flag = 0x01;
+ else
+ ld_flag = 0x0;
+ else
+ if (size_bits != 0x03)
+ ld_flag = 0x01;
+ else
+ return AARCH64_RECORD_UNKNOWN;
+
+ if (!ld_flag)
+ {
+ uint64_t reg_rm_val;
+ regcache_raw_read_unsigned (aarch64_insn_r->regcache,
+ bits (aarch64_insn_r->aarch64_insn, 16, 20), &reg_rm_val);
+ if (bit (aarch64_insn_r->aarch64_insn, 12))
+ offset = reg_rm_val << size_bits;
+ else
+ offset = reg_rm_val;
+ datasize = 8 << size_bits;
+ regcache_raw_read_unsigned (aarch64_insn_r->regcache, reg_rn,
+ &address);
+ address = address + offset;
+ record_buf_mem[0] = datasize >> 3;
+ record_buf_mem[1] = address;
+ aarch64_insn_r->mem_rec_count = 1;
+ }
+ else
+ {
+ if (vector_flag)
+ record_buf[0] = reg_rt + AARCH64_V0_REGNUM;
+ else
+ record_buf[0] = reg_rt;
+ aarch64_insn_r->reg_rec_count = 1;
+ }
+ }
+ /* Load/store register (immediate and unprivileged) instructions. */
+ else if ((insn_bits24_27 & 0x0b) == 0x08 && insn_bits28_29 == 0x03
+ && !insn_bit21)
+ {
+ if (record_debug)
+ {
+ fprintf_unfiltered (gdb_stdlog,
+ "Process record: load/store (immediate and unprivileged)\n");
+ }
+ opc = bits (aarch64_insn_r->aarch64_insn, 22, 23);
+ if (!(opc >> 1))
+ if (opc & 0x01)
+ ld_flag = 0x01;
+ else
+ ld_flag = 0x0;
+ else
+ if (size_bits != 0x03)
+ ld_flag = 0x01;
+ else
+ return AARCH64_RECORD_UNKNOWN;
+
+ if (!ld_flag)
+ {
+ uint16_t imm9_off;
+ imm9_off = bits (aarch64_insn_r->aarch64_insn, 12, 20);
+ offset = (imm9_off & 0x0100) ? (((~imm9_off) & 0x01ff) + 1) : imm9_off;
+ datasize = 8 << size_bits;
+ regcache_raw_read_unsigned (aarch64_insn_r->regcache, reg_rn,
+ &address);
+ if (insn_bits10_11 != 0x01)
+ {
+ if (imm9_off & 0x0100)
+ address = address - offset;
+ else
+ address = address + offset;
+ }
+ record_buf_mem[0] = datasize >> 3;
+ record_buf_mem[1] = address;
+ aarch64_insn_r->mem_rec_count = 1;
+ }
+ else
+ {
+ if (vector_flag)
+ record_buf[0] = reg_rt + AARCH64_V0_REGNUM;
+ else
+ record_buf[0] = reg_rt;
+ aarch64_insn_r->reg_rec_count = 1;
+ }
+ if (insn_bits10_11 == 0x01 || insn_bits10_11 == 0x03)
+ record_buf[aarch64_insn_r->reg_rec_count++] = reg_rn;
+ }
+ /* Advanced SIMD load/store instructions. */
+ else
+ return aarch64_record_asimd_load_store (aarch64_insn_r);
+
+ MEM_ALLOC (aarch64_insn_r->aarch64_mems, aarch64_insn_r->mem_rec_count,
+ record_buf_mem);
+ REG_ALLOC (aarch64_insn_r->aarch64_regs, aarch64_insn_r->reg_rec_count,
+ record_buf);
+ return AARCH64_RECORD_SUCCESS;
+}
+
+/* Record handler for data processing SIMD and floating point instructions. */
+
+static unsigned int
+aarch64_record_data_proc_simd_fp (insn_decode_record *aarch64_insn_r)
+{
+ uint8_t insn_bit21, opcode, rmode, reg_rd;
+ uint8_t insn_bits24_27, insn_bits28_31, insn_bits10_11, insn_bits12_15;
+ uint8_t insn_bits11_14;
+ uint32_t record_buf[2];
+
+ insn_bits24_27 = bits (aarch64_insn_r->aarch64_insn, 24, 27);
+ insn_bits28_31 = bits (aarch64_insn_r->aarch64_insn, 28, 31);
+ insn_bits10_11 = bits (aarch64_insn_r->aarch64_insn, 10, 11);
+ insn_bits12_15 = bits (aarch64_insn_r->aarch64_insn, 12, 15);
+ insn_bits11_14 = bits (aarch64_insn_r->aarch64_insn, 11, 14);
+ opcode = bits (aarch64_insn_r->aarch64_insn, 16, 18);
+ rmode = bits (aarch64_insn_r->aarch64_insn, 19, 20);
+ reg_rd = bits (aarch64_insn_r->aarch64_insn, 0, 4);
+ insn_bit21 = bit (aarch64_insn_r->aarch64_insn, 21);
+
+ if (record_debug)
+ {
+ fprintf_unfiltered (gdb_stdlog,
+ "Process record: data processing SIMD/FP: ");
+ }
+
+ if ((insn_bits28_31 & 0x05) == 0x01 && insn_bits24_27 == 0x0e)
+ {
+ /* Floating point - fixed point conversion instructions. */
+ if (!insn_bit21)
+ {
+ if (record_debug)
+ fprintf_unfiltered (gdb_stdlog, "FP - fixed point conversion");
+
+ if ((opcode >> 1) == 0x0 && rmode == 0x03)
+ record_buf[0] = reg_rd;
+ else
+ record_buf[0] = reg_rd + AARCH64_V0_REGNUM;
+ }
+ /* Floating point - conditional compare instructions. */
+ else if (insn_bits10_11 == 0x01)
+ {
+ if (record_debug)
+ fprintf_unfiltered (gdb_stdlog, "FP - conditional compare");
+
+ record_buf[0] = AARCH64_CPSR_REGNUM;
+ }
+ /* Floating point - data processing (2-source) and
+ conditional select instructions. */
+ else if (insn_bits10_11 == 0x02 || insn_bits10_11 == 0x03)
+ {
+ if (record_debug)
+ fprintf_unfiltered (gdb_stdlog, "FP - DP (2-source)");
+
+ record_buf[0] = reg_rd + AARCH64_V0_REGNUM;
+ }
+ else if (insn_bits10_11 == 0x00)
+ {
+ /* Floating point - immediate instructions. */
+ if ((insn_bits12_15 & 0x01) == 0x01
+ || (insn_bits12_15 & 0x07) == 0x04)
+ {
+ if (record_debug)
+ fprintf_unfiltered (gdb_stdlog, "FP - immediate");
+ record_buf[0] = reg_rd + AARCH64_V0_REGNUM;
+ }
+ /* Floating point - compare instructions. */
+ else if ((insn_bits12_15 & 0x03) == 0x02)
+ {
+ if (record_debug)
+ fprintf_unfiltered (gdb_stdlog, "FP - immediate");
+ record_buf[0] = AARCH64_CPSR_REGNUM;
+ }
+ /* Floating point - integer conversions instructions. */
+ else if (insn_bits12_15 == 0x00)
+ {
+ /* Convert float to integer instruction. */
+ if (!(opcode >> 1) || ((opcode >> 1) == 0x02 && !rmode))
+ {
+ if (record_debug)
+ fprintf_unfiltered (gdb_stdlog, "float to int conversion");
+
+ record_buf[0] = reg_rd + AARCH64_X0_REGNUM;
+ }
+ /* Convert integer to float instruction. */
+ else if ((opcode >> 1) == 0x01 && !rmode)
+ {
+ if (record_debug)
+ fprintf_unfiltered (gdb_stdlog, "int to float conversion");
+
+ record_buf[0] = reg_rd + AARCH64_V0_REGNUM;
+ }
+ /* Move float to integer instruction. */
+ else if ((opcode >> 1) == 0x03)
+ {
+ if (record_debug)
+ fprintf_unfiltered (gdb_stdlog, "move float to int");
+
+ if (!(opcode & 0x01))
+ record_buf[0] = reg_rd + AARCH64_X0_REGNUM;
+ else
+ record_buf[0] = reg_rd + AARCH64_V0_REGNUM;
+ }
+ else
+ return AARCH64_RECORD_UNKNOWN;
+ }
+ else
+ return AARCH64_RECORD_UNKNOWN;
+ }
+ else
+ return AARCH64_RECORD_UNKNOWN;
+ }
+ else if ((insn_bits28_31 & 0x09) == 0x00 && insn_bits24_27 == 0x0e)
+ {
+ if (record_debug)
+ fprintf_unfiltered (gdb_stdlog, "SIMD copy");
+
+ /* Advanced SIMD copy instructions. */
+ if (!bits (aarch64_insn_r->aarch64_insn, 21, 23)
+ && !bit (aarch64_insn_r->aarch64_insn, 15)
+ && bit (aarch64_insn_r->aarch64_insn, 10))
+ {
+ if (insn_bits11_14 == 0x05 || insn_bits11_14 == 0x07)
+ record_buf[0] = reg_rd + AARCH64_X0_REGNUM;
+ else
+ record_buf[0] = reg_rd + AARCH64_V0_REGNUM;
+ }
+ else
+ record_buf[0] = reg_rd + AARCH64_V0_REGNUM;
+ }
+ /* All remaining floating point or advanced SIMD instructions. */
+ else
+ {
+ if (record_debug)
+ fprintf_unfiltered (gdb_stdlog, "all remain");
+
+ record_buf[0] = reg_rd + AARCH64_V0_REGNUM;
+ }
+
+ if (record_debug)
+ fprintf_unfiltered (gdb_stdlog, "\n");
+
+ aarch64_insn_r->reg_rec_count++;
+ gdb_assert (aarch64_insn_r->reg_rec_count == 1);
+ REG_ALLOC (aarch64_insn_r->aarch64_regs, aarch64_insn_r->reg_rec_count,
+ record_buf);
+ return AARCH64_RECORD_SUCCESS;
+}
+
+/* Decodes insns type and invokes its record handler. */
+
+static unsigned int
+aarch64_record_decode_insn_handler (insn_decode_record *aarch64_insn_r)
+{
+ uint32_t ins_bit25, ins_bit26, ins_bit27, ins_bit28;
+
+ ins_bit25 = bit (aarch64_insn_r->aarch64_insn, 25);
+ ins_bit26 = bit (aarch64_insn_r->aarch64_insn, 26);
+ ins_bit27 = bit (aarch64_insn_r->aarch64_insn, 27);
+ ins_bit28 = bit (aarch64_insn_r->aarch64_insn, 28);
+
+ /* Data processing - immediate instructions. */
+ if (!ins_bit26 && !ins_bit27 && ins_bit28)
+ return aarch64_record_data_proc_imm (aarch64_insn_r);
+
+ /* Branch, exception generation and system instructions. */
+ if (ins_bit26 && !ins_bit27 && ins_bit28)
+ return aarch64_record_branch_except_sys (aarch64_insn_r);
+
+ /* Load and store instructions. */
+ if (!ins_bit25 && ins_bit27)
+ return aarch64_record_load_store (aarch64_insn_r);
+
+ /* Data processing - register instructions. */
+ if (ins_bit25 && !ins_bit26 && ins_bit27)
+ return aarch64_record_data_proc_reg (aarch64_insn_r);
+
+ /* Data processing - SIMD and floating point instructions. */
+ if (ins_bit25 && ins_bit26 && ins_bit27)
+ return aarch64_record_data_proc_simd_fp (aarch64_insn_r);
+
+ return AARCH64_RECORD_UNSUPPORTED;
+}
+
+/* Cleans up local record registers and memory allocations. */
+
+static void
+deallocate_reg_mem (insn_decode_record *record)
+{
+ xfree (record->aarch64_regs);
+ xfree (record->aarch64_mems);
+}
+
+/* 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
+aarch64_process_record (struct gdbarch *gdbarch, struct regcache *regcache,
+ CORE_ADDR insn_addr)
+{
+ uint32_t rec_no = 0;
+ uint8_t insn_size = 4;
+ uint32_t ret = 0;
+ ULONGEST t_bit = 0, insn_id = 0;
+ gdb_byte buf[insn_size];
+ insn_decode_record aarch64_record;
+
+ memset (&buf[0], 0, insn_size);
+ memset (&aarch64_record, 0, sizeof (insn_decode_record));
+ target_read_memory (insn_addr, &buf[0], insn_size);
+ aarch64_record.aarch64_insn
+ = (uint32_t) extract_unsigned_integer (&buf[0],
+ insn_size,
+ gdbarch_byte_order (gdbarch));
+ aarch64_record.regcache = regcache;
+ aarch64_record.this_addr = insn_addr;
+ aarch64_record.gdbarch = gdbarch;
+
+ ret = aarch64_record_decode_insn_handler (&aarch64_record);
+ if (ret == AARCH64_RECORD_UNSUPPORTED)
+ {
+ printf_unfiltered (_("Process record does not support instruction "
+ "0x%0x at address %s.\n"),
+ aarch64_record.aarch64_insn,
+ paddress (gdbarch, insn_addr));
+ ret = -1;
+ }
+
+ if (0 == ret)
+ {
+ /* Record registers. */
+ record_full_arch_list_add_reg (aarch64_record.regcache,
+ AARCH64_PC_REGNUM);
+ /* Always record register CPSR. */
+ record_full_arch_list_add_reg (aarch64_record.regcache,
+ AARCH64_CPSR_REGNUM);
+ if (aarch64_record.aarch64_regs)
+ for (rec_no = 0; rec_no < aarch64_record.reg_rec_count; rec_no++)
+ if (record_full_arch_list_add_reg (aarch64_record.regcache,
+ aarch64_record.aarch64_regs[rec_no]))
+ ret = -1;
+
+ /* Record memories. */
+ if (aarch64_record.aarch64_mems)
+ for (rec_no = 0; rec_no < aarch64_record.mem_rec_count; rec_no++)
+ if (record_full_arch_list_add_mem
+ ((CORE_ADDR)aarch64_record.aarch64_mems[rec_no].addr,
+ aarch64_record.aarch64_mems[rec_no].len))
+ ret = -1;
+
+ if (record_full_arch_list_add_end ())
+ ret = -1;
+ }
+
+ deallocate_reg_mem (&aarch64_record);
+ return ret;
+}
diff --git a/gdb/aarch64-tdep.h b/gdb/aarch64-tdep.h
index 976ad32ddbc..af209a95acc 100644
--- a/gdb/aarch64-tdep.h
+++ b/gdb/aarch64-tdep.h
@@ -88,8 +88,14 @@ struct gdbarch_tdep
struct type *vns_type;
struct type *vnh_type;
struct type *vnb_type;
+
+ /* syscall record. */
+ int (*aarch64_syscall_record) (struct regcache *regcache, unsigned long svc_number);
};
extern struct target_desc *tdesc_aarch64;
+extern int aarch64_process_record (struct gdbarch *gdbarch,
+ struct regcache *regcache, CORE_ADDR addr);
+
#endif /* aarch64-tdep.h */
diff --git a/gdb/ada-lang.c b/gdb/ada-lang.c
index e3fa3632dc8..782447a6fd3 100644
--- a/gdb/ada-lang.c
+++ b/gdb/ada-lang.c
@@ -2765,13 +2765,15 @@ ada_value_ptr_subscript (struct value *arr, int arity, struct value **ind)
for (k = 0; k < arity; k += 1)
{
LONGEST lwb, upb;
+ struct value *lwb_value;
if (TYPE_CODE (type) != TYPE_CODE_ARRAY)
error (_("too many subscripts (%d expected)"), k);
arr = value_cast (lookup_pointer_type (TYPE_TARGET_TYPE (type)),
value_copy (arr));
get_discrete_bounds (TYPE_INDEX_TYPE (type), &lwb, &upb);
- arr = value_ptradd (arr, pos_atr (ind[k]) - lwb);
+ lwb_value = value_from_longest (value_type(ind[k]), lwb);
+ arr = value_ptradd (arr, pos_atr (ind[k]) - pos_atr (lwb_value));
type = TYPE_TARGET_TYPE (type);
}
@@ -2779,24 +2781,34 @@ ada_value_ptr_subscript (struct value *arr, int arity, struct value **ind)
}
/* Given that ARRAY_PTR is a pointer or reference to an array of type TYPE (the
- actual type of ARRAY_PTR is ignored), returns the Ada slice of HIGH-LOW+1
- elements starting at index LOW. The lower bound of this array is LOW, as
- per Ada rules. */
+ actual type of ARRAY_PTR is ignored), returns the Ada slice of
+ HIGH'Pos-LOW'Pos+1 elements starting at index LOW. The lower bound of
+ this array is LOW, as per Ada rules. */
static struct value *
ada_value_slice_from_ptr (struct value *array_ptr, struct type *type,
int low, int high)
{
struct type *type0 = ada_check_typedef (type);
- CORE_ADDR base = value_as_address (array_ptr)
- + ((low - ada_discrete_type_low_bound (TYPE_INDEX_TYPE (type0)))
- * TYPE_LENGTH (TYPE_TARGET_TYPE (type0)));
+ struct type *base_index_type = TYPE_TARGET_TYPE (TYPE_INDEX_TYPE (type0));
struct type *index_type
- = create_static_range_type (NULL,
- TYPE_TARGET_TYPE (TYPE_INDEX_TYPE (type0)),
- low, high);
+ = create_static_range_type (NULL, base_index_type, low, high);
struct type *slice_type =
create_array_type (NULL, TYPE_TARGET_TYPE (type0), index_type);
+ int base_low = ada_discrete_type_low_bound (TYPE_INDEX_TYPE (type0));
+ LONGEST base_low_pos, low_pos;
+ CORE_ADDR base;
+
+ if (!discrete_position (base_index_type, low, &low_pos)
+ || !discrete_position (base_index_type, base_low, &base_low_pos))
+ {
+ warning (_("unable to get positions in slice, use bounds instead"));
+ low_pos = low;
+ base_low_pos = base_low;
+ }
+ base = value_as_address (array_ptr)
+ + ((low_pos - base_low_pos)
+ * TYPE_LENGTH (TYPE_TARGET_TYPE (type0)));
return value_at_lazy (slice_type, base);
}
@@ -2805,12 +2817,23 @@ static struct value *
ada_value_slice (struct value *array, int low, int high)
{
struct type *type = ada_check_typedef (value_type (array));
+ struct type *base_index_type = TYPE_TARGET_TYPE (TYPE_INDEX_TYPE (type));
struct type *index_type
= create_static_range_type (NULL, TYPE_INDEX_TYPE (type), low, high);
struct type *slice_type =
create_array_type (NULL, TYPE_TARGET_TYPE (type), index_type);
+ LONGEST low_pos, high_pos;
+
+ if (!discrete_position (base_index_type, low, &low_pos)
+ || !discrete_position (base_index_type, high, &high_pos))
+ {
+ warning (_("unable to get positions in slice, use bounds instead"));
+ low_pos = low;
+ high_pos = high;
+ }
- return value_cast (slice_type, value_slice (array, low, high - low + 1));
+ return value_cast (slice_type,
+ value_slice (array, low, high_pos - low_pos + 1));
}
/* If type is a record type in the form of a standard GNAT array
@@ -3012,7 +3035,8 @@ ada_array_bound (struct value *arr, int n, int which)
static LONGEST
ada_array_length (struct value *arr, int n)
{
- struct type *arr_type;
+ struct type *arr_type, *index_type;
+ int low, high;
if (TYPE_CODE (check_typedef (value_type (arr))) == TYPE_CODE_PTR)
arr = value_ind (arr);
@@ -3022,11 +3046,30 @@ ada_array_length (struct value *arr, int n)
return ada_array_length (decode_constrained_packed_array (arr), n);
if (ada_is_simple_array_type (arr_type))
- return (ada_array_bound_from_type (arr_type, n, 1)
- - ada_array_bound_from_type (arr_type, n, 0) + 1);
+ {
+ low = ada_array_bound_from_type (arr_type, n, 0);
+ high = ada_array_bound_from_type (arr_type, n, 1);
+ }
else
- return (value_as_long (desc_one_bound (desc_bounds (arr), n, 1))
- - value_as_long (desc_one_bound (desc_bounds (arr), n, 0)) + 1);
+ {
+ low = value_as_long (desc_one_bound (desc_bounds (arr), n, 0));
+ high = value_as_long (desc_one_bound (desc_bounds (arr), n, 1));
+ }
+
+ CHECK_TYPEDEF (arr_type);
+ index_type = TYPE_INDEX_TYPE (arr_type);
+ if (index_type != NULL)
+ {
+ struct type *base_type;
+ if (TYPE_CODE (index_type) == TYPE_CODE_RANGE)
+ base_type = TYPE_TARGET_TYPE (index_type);
+ else
+ base_type = index_type;
+
+ low = pos_atr (value_from_longest (base_type, low));
+ high = pos_atr (value_from_longest (base_type, high));
+ }
+ return high - low + 1;
}
/* An empty array whose type is that of ARR_TYPE (an array type),
@@ -7762,7 +7805,7 @@ ada_type_name (struct type *type)
static struct type *
find_parallel_type_by_descriptive_type (struct type *type, const char *name)
{
- struct type *result;
+ struct type *result, *tmp;
if (ada_ignore_descriptive_types_p)
return NULL;
@@ -7789,9 +7832,21 @@ find_parallel_type_by_descriptive_type (struct type *type, const char *name)
/* Otherwise, look at the next item on the list, if any. */
if (HAVE_GNAT_AUX_INFO (result))
- result = TYPE_DESCRIPTIVE_TYPE (result);
+ tmp = TYPE_DESCRIPTIVE_TYPE (result);
else
- result = NULL;
+ tmp = NULL;
+
+ /* If not found either, try after having resolved the typedef. */
+ if (tmp != NULL)
+ result = tmp;
+ else
+ {
+ CHECK_TYPEDEF (result);
+ if (HAVE_GNAT_AUX_INFO (result))
+ result = TYPE_DESCRIPTIVE_TYPE (result);
+ else
+ result = NULL;
+ }
}
/* If we didn't find a match, see whether this is a packed array. With
@@ -8509,6 +8564,7 @@ to_fixed_array_type (struct type *type0, struct value *dval,
struct type *index_type_desc;
struct type *result;
int constrained_packed_array_p;
+ static const char *xa_suffix = "___XA";
type0 = ada_check_typedef (type0);
if (TYPE_FIXED_INSTANCE (type0))
@@ -8518,7 +8574,30 @@ to_fixed_array_type (struct type *type0, struct value *dval,
if (constrained_packed_array_p)
type0 = decode_constrained_packed_array_type (type0);
- index_type_desc = ada_find_parallel_type (type0, "___XA");
+ index_type_desc = ada_find_parallel_type (type0, xa_suffix);
+
+ /* As mentioned in exp_dbug.ads, for non bit-packed arrays an
+ encoding suffixed with 'P' may still be generated. If so,
+ it should be used to find the XA type. */
+
+ if (index_type_desc == NULL)
+ {
+ const char *type_name = ada_type_name (type0);
+
+ if (type_name != NULL)
+ {
+ const int len = strlen (type_name);
+ char *name = (char *) alloca (len + strlen (xa_suffix));
+
+ if (type_name[len - 1] == 'P')
+ {
+ strcpy (name, type_name);
+ strcpy (name + len - 1, xa_suffix);
+ index_type_desc = ada_find_parallel_type_with_name (type0, name);
+ }
+ }
+ }
+
ada_fixup_array_indexes_type (index_type_desc);
if (index_type_desc != NULL
&& ada_is_redundant_index_type_desc (type0, index_type_desc))
@@ -8959,24 +9038,15 @@ pos_atr (struct value *arg)
{
struct value *val = coerce_ref (arg);
struct type *type = value_type (val);
+ LONGEST result;
if (!discrete_type_p (type))
error (_("'POS only defined on discrete types"));
- if (TYPE_CODE (type) == TYPE_CODE_ENUM)
- {
- int i;
- LONGEST v = value_as_long (val);
+ if (!discrete_position (type, value_as_long (val), &result))
+ error (_("enumeration value is invalid: can't find 'POS"));
- for (i = 0; i < TYPE_NFIELDS (type); i += 1)
- {
- if (v == TYPE_FIELD_ENUMVAL (type, i))
- return i;
- }
- error (_("enumeration value is invalid: can't find 'POS"));
- }
- else
- return value_as_long (val);
+ return result;
}
static struct value *
@@ -10577,8 +10647,8 @@ ada_evaluate_subexp (struct type *expect_type, struct expression *exp,
low_bound_val = coerce_ref (low_bound_val);
high_bound_val = coerce_ref (high_bound_val);
- low_bound = pos_atr (low_bound_val);
- high_bound = pos_atr (high_bound_val);
+ low_bound = value_as_long (low_bound_val);
+ high_bound = value_as_long (high_bound_val);
if (noside == EVAL_SKIP)
goto nosideret;
diff --git a/gdb/amd64-linux-nat.c b/gdb/amd64-linux-nat.c
index 22a13593c8b..2e1b081b0f4 100644
--- a/gdb/amd64-linux-nat.c
+++ b/gdb/amd64-linux-nat.c
@@ -37,6 +37,7 @@
#include "x86-xstate.h"
#include "x86-linux-nat.h"
+#include "nat/linux-ptrace.h"
/* Mapping between the general-purpose registers in GNU/Linux x86-64
`struct user' format and GDB's register cache layout for GNU/Linux
@@ -149,7 +150,7 @@ amd64_linux_fetch_inferior_registers (struct target_ops *ops,
{
elf_fpregset_t fpregs;
- if (have_ptrace_getregset)
+ if (have_ptrace_getregset == TRIBOOL_TRUE)
{
char xstateregs[X86_XSTATE_MAX_SIZE];
struct iovec iov;
@@ -208,7 +209,7 @@ amd64_linux_store_inferior_registers (struct target_ops *ops,
{
elf_fpregset_t fpregs;
- if (have_ptrace_getregset)
+ if (have_ptrace_getregset == TRIBOOL_TRUE)
{
char xstateregs[X86_XSTATE_MAX_SIZE];
struct iovec iov;
diff --git a/gdb/amd64-linux-tdep.c b/gdb/amd64-linux-tdep.c
index 2a8de82e6f0..e9be9cfd1f0 100644
--- a/gdb/amd64-linux-tdep.c
+++ b/gdb/amd64-linux-tdep.c
@@ -1835,8 +1835,6 @@ amd64_linux_init_abi_common(struct gdbarch_info info, struct gdbarch *gdbarch)
set_gdbarch_displaced_step_location (gdbarch,
linux_displaced_step_location);
- set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
-
set_gdbarch_process_record (gdbarch, i386_process_record);
set_gdbarch_process_record_signal (gdbarch, amd64_linux_record_signal);
}
diff --git a/gdb/amd64-tdep.c b/gdb/amd64-tdep.c
index 461b701ac41..5e63b5e674d 100644
--- a/gdb/amd64-tdep.c
+++ b/gdb/amd64-tdep.c
@@ -2719,12 +2719,14 @@ static const struct frame_base amd64_frame_base =
/* Normal frames, but in a function epilogue. */
-/* The epilogue is defined here as the 'ret' instruction, which will
+/* Implement the stack_frame_destroyed_p gdbarch method.
+
+ The epilogue is defined here as the 'ret' instruction, which will
follow any instruction such as 'leave' or 'pop %ebp' that destroys
the function's stack frame. */
static int
-amd64_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+amd64_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
gdb_byte insn;
struct compunit_symtab *cust;
@@ -2748,8 +2750,8 @@ amd64_epilogue_frame_sniffer (const struct frame_unwind *self,
void **this_prologue_cache)
{
if (frame_relative_level (this_frame) == 0)
- return amd64_in_function_epilogue_p (get_frame_arch (this_frame),
- get_frame_pc (this_frame));
+ return amd64_stack_frame_destroyed_p (get_frame_arch (this_frame),
+ get_frame_pc (this_frame));
else
return 0;
}
diff --git a/gdb/arch-utils.c b/gdb/arch-utils.c
index e1c8ab0163f..e9c622dd873 100644
--- a/gdb/arch-utils.c
+++ b/gdb/arch-utils.c
@@ -127,7 +127,7 @@ generic_in_solib_return_trampoline (struct gdbarch *gdbarch,
}
int
-generic_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+generic_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
return 0;
}
@@ -864,6 +864,12 @@ default_infcall_mmap (CORE_ADDR size, unsigned prot)
error (_("This target does not support inferior memory allocation by mmap."));
}
+void
+default_infcall_munmap (CORE_ADDR addr, CORE_ADDR size)
+{
+ /* Memory reserved by inferior mmap is kept leaked. */
+}
+
/* -mcmodel=large is used so that no GOT (Global Offset Table) is needed to be
created in inferior memory by GDB (normally it is set by ld.so). */
@@ -882,6 +888,15 @@ default_gnu_triplet_regexp (struct gdbarch *gdbarch)
return gdbarch_bfd_arch_info (gdbarch)->arch_name;
}
+/* Default method for gdbarch_addressable_memory_unit_size. By default, a memory byte has
+ a size of 1 octet. */
+
+int
+default_addressable_memory_unit_size (struct gdbarch *gdbarch)
+{
+ return 1;
+}
+
/* -Wmissing-prototypes */
extern initialize_file_ftype _initialize_gdbarch_utils;
diff --git a/gdb/arch-utils.h b/gdb/arch-utils.h
index ed3bec9dda8..27f4787e842 100644
--- a/gdb/arch-utils.h
+++ b/gdb/arch-utils.h
@@ -104,8 +104,8 @@ extern CORE_ADDR generic_skip_solib_resolver (struct gdbarch *gdbarch,
extern int generic_in_solib_return_trampoline (struct gdbarch *gdbarch,
CORE_ADDR pc, const char *name);
-extern int generic_in_function_epilogue_p (struct gdbarch *gdbarch,
- CORE_ADDR pc);
+extern int generic_stack_frame_destroyed_p (struct gdbarch *gdbarch,
+ CORE_ADDR pc);
/* By default, registers are not convertible. */
extern int generic_convert_register_p (struct gdbarch *gdbarch, int regnum,
@@ -200,7 +200,9 @@ extern void default_skip_permanent_breakpoint (struct regcache *regcache);
#define GDB_MMAP_PROT_EXEC 0x4 /* Page can be executed. */
extern CORE_ADDR default_infcall_mmap (CORE_ADDR size, unsigned prot);
+extern void default_infcall_munmap (CORE_ADDR addr, CORE_ADDR size);
extern char *default_gcc_target_options (struct gdbarch *gdbarch);
extern const char *default_gnu_triplet_regexp (struct gdbarch *gdbarch);
+extern int default_addressable_memory_unit_size (struct gdbarch *gdbarch);
#endif
diff --git a/gdb/arm-linux-nat.c b/gdb/arm-linux-nat.c
index afc58178908..c167bce18b3 100644
--- a/gdb/arm-linux-nat.c
+++ b/gdb/arm-linux-nat.c
@@ -36,6 +36,8 @@
#include <sys/utsname.h>
#include <sys/procfs.h>
+#include "nat/linux-ptrace.h"
+
/* Prototypes for supply_gregset etc. */
#include "gregset.h"
@@ -61,13 +63,6 @@
#define PTRACE_SETHBPREGS 30
#endif
-/* A flag for whether the WMMX registers are available. */
-static int arm_linux_has_wmmx_registers;
-
-/* The number of 64-bit VFP registers we have (expect this to be 0,
- 16, or 32). */
-static int arm_linux_vfp_register_count;
-
extern int arm_apcs_32;
/* On GNU/Linux, threads are implemented as pseudo-processes, in which
@@ -95,12 +90,23 @@ fetch_fpregister (struct regcache *regcache, int regno)
{
int ret, tid;
gdb_byte fp[ARM_LINUX_SIZEOF_NWFPE];
-
+
/* Get the thread id for the ptrace call. */
tid = GET_THREAD_ID (inferior_ptid);
/* Read the floating point state. */
- ret = ptrace (PT_GETFPREGS, tid, 0, fp);
+ if (have_ptrace_getregset == TRIBOOL_TRUE)
+ {
+ struct iovec iov;
+
+ iov.iov_base = &fp;
+ iov.iov_len = ARM_LINUX_SIZEOF_NWFPE;
+
+ ret = ptrace (PTRACE_GETREGSET, tid, NT_FPREGSET, &iov);
+ }
+ else
+ ret = ptrace (PT_GETFPREGS, tid, 0, fp);
+
if (ret < 0)
{
warning (_("Unable to fetch floating point register."));
@@ -128,9 +134,20 @@ fetch_fpregs (struct regcache *regcache)
/* Get the thread id for the ptrace call. */
tid = GET_THREAD_ID (inferior_ptid);
-
+
/* Read the floating point state. */
- ret = ptrace (PT_GETFPREGS, tid, 0, fp);
+ if (have_ptrace_getregset == TRIBOOL_TRUE)
+ {
+ struct iovec iov;
+
+ iov.iov_base = &fp;
+ iov.iov_len = ARM_LINUX_SIZEOF_NWFPE;
+
+ ret = ptrace (PTRACE_GETREGSET, tid, NT_FPREGSET, &iov);
+ }
+ else
+ ret = ptrace (PT_GETFPREGS, tid, 0, fp);
+
if (ret < 0)
{
warning (_("Unable to fetch the floating point registers."));
@@ -157,9 +174,20 @@ store_fpregister (const struct regcache *regcache, int regno)
/* Get the thread id for the ptrace call. */
tid = GET_THREAD_ID (inferior_ptid);
-
+
/* Read the floating point state. */
- ret = ptrace (PT_GETFPREGS, tid, 0, fp);
+ if (have_ptrace_getregset == TRIBOOL_TRUE)
+ {
+ struct iovec iov;
+
+ iov.iov_base = &fp;
+ iov.iov_len = ARM_LINUX_SIZEOF_NWFPE;
+
+ ret = ptrace (PTRACE_GETREGSET, tid, NT_FPREGSET, &iov);
+ }
+ else
+ ret = ptrace (PT_GETFPREGS, tid, 0, fp);
+
if (ret < 0)
{
warning (_("Unable to fetch the floating point registers."));
@@ -175,7 +203,18 @@ store_fpregister (const struct regcache *regcache, int regno)
if (regno >= ARM_F0_REGNUM && regno <= ARM_F7_REGNUM)
collect_nwfpe_register (regcache, regno, fp);
- ret = ptrace (PTRACE_SETFPREGS, tid, 0, fp);
+ if (have_ptrace_getregset == TRIBOOL_TRUE)
+ {
+ struct iovec iov;
+
+ iov.iov_base = &fp;
+ iov.iov_len = ARM_LINUX_SIZEOF_NWFPE;
+
+ ret = ptrace (PTRACE_SETREGSET, tid, NT_FPREGSET, &iov);
+ }
+ else
+ ret = ptrace (PTRACE_SETFPREGS, tid, 0, fp);
+
if (ret < 0)
{
warning (_("Unable to store floating point register."));
@@ -194,9 +233,21 @@ store_fpregs (const struct regcache *regcache)
/* Get the thread id for the ptrace call. */
tid = GET_THREAD_ID (inferior_ptid);
-
+
/* Read the floating point state. */
- ret = ptrace (PT_GETFPREGS, tid, 0, fp);
+ if (have_ptrace_getregset == TRIBOOL_TRUE)
+ {
+ elf_fpregset_t fpregs;
+ struct iovec iov;
+
+ iov.iov_base = &fpregs;
+ iov.iov_len = sizeof (fpregs);
+
+ ret = ptrace (PTRACE_GETREGSET, tid, NT_FPREGSET, &iov);
+ }
+ else
+ ret = ptrace (PT_GETFPREGS, tid, 0, fp);
+
if (ret < 0)
{
warning (_("Unable to fetch the floating point registers."));
@@ -212,7 +263,18 @@ store_fpregs (const struct regcache *regcache)
if (REG_VALID == regcache_register_status (regcache, regno))
collect_nwfpe_register (regcache, regno, fp);
- ret = ptrace (PTRACE_SETFPREGS, tid, 0, fp);
+ if (have_ptrace_getregset == TRIBOOL_TRUE)
+ {
+ struct iovec iov;
+
+ iov.iov_base = &fp;
+ iov.iov_len = ARM_LINUX_SIZEOF_NWFPE;
+
+ ret = ptrace (PTRACE_SETREGSET, tid, NT_FPREGSET, &iov);
+ }
+ else
+ ret = ptrace (PTRACE_SETFPREGS, tid, 0, fp);
+
if (ret < 0)
{
warning (_("Unable to store floating point registers."));
@@ -231,8 +293,19 @@ fetch_register (struct regcache *regcache, int regno)
/* Get the thread id for the ptrace call. */
tid = GET_THREAD_ID (inferior_ptid);
-
- ret = ptrace (PTRACE_GETREGS, tid, 0, &regs);
+
+ if (have_ptrace_getregset == TRIBOOL_TRUE)
+ {
+ struct iovec iov;
+
+ iov.iov_base = &regs;
+ iov.iov_len = sizeof (regs);
+
+ ret = ptrace (PTRACE_GETREGSET, tid, NT_PRSTATUS, &iov);
+ }
+ else
+ ret = ptrace (PTRACE_GETREGS, tid, 0, &regs);
+
if (ret < 0)
{
warning (_("Unable to fetch general register."));
@@ -273,8 +346,19 @@ fetch_regs (struct regcache *regcache)
/* Get the thread id for the ptrace call. */
tid = GET_THREAD_ID (inferior_ptid);
-
- ret = ptrace (PTRACE_GETREGS, tid, 0, &regs);
+
+ if (have_ptrace_getregset == TRIBOOL_TRUE)
+ {
+ struct iovec iov;
+
+ iov.iov_base = &regs;
+ iov.iov_len = sizeof (regs);
+
+ ret = ptrace (PTRACE_GETREGSET, tid, NT_PRSTATUS, &iov);
+ }
+ else
+ ret = ptrace (PTRACE_GETREGS, tid, 0, &regs);
+
if (ret < 0)
{
warning (_("Unable to fetch general registers."));
@@ -311,9 +395,20 @@ store_register (const struct regcache *regcache, int regno)
/* Get the thread id for the ptrace call. */
tid = GET_THREAD_ID (inferior_ptid);
-
+
/* Get the general registers from the process. */
- ret = ptrace (PTRACE_GETREGS, tid, 0, &regs);
+ if (have_ptrace_getregset == TRIBOOL_TRUE)
+ {
+ struct iovec iov;
+
+ iov.iov_base = &regs;
+ iov.iov_len = sizeof (regs);
+
+ ret = ptrace (PTRACE_GETREGSET, tid, NT_PRSTATUS, &iov);
+ }
+ else
+ ret = ptrace (PTRACE_GETREGS, tid, 0, &regs);
+
if (ret < 0)
{
warning (_("Unable to fetch general registers."));
@@ -329,7 +424,18 @@ store_register (const struct regcache *regcache, int regno)
regcache_raw_collect (regcache, ARM_PC_REGNUM,
(char *) &regs[ARM_PC_REGNUM]);
- ret = ptrace (PTRACE_SETREGS, tid, 0, &regs);
+ if (have_ptrace_getregset == TRIBOOL_TRUE)
+ {
+ struct iovec iov;
+
+ iov.iov_base = &regs;
+ iov.iov_len = sizeof (regs);
+
+ ret = ptrace (PTRACE_SETREGSET, tid, NT_PRSTATUS, &iov);
+ }
+ else
+ ret = ptrace (PTRACE_SETREGS, tid, 0, &regs);
+
if (ret < 0)
{
warning (_("Unable to store general register."));
@@ -345,9 +451,20 @@ store_regs (const struct regcache *regcache)
/* Get the thread id for the ptrace call. */
tid = GET_THREAD_ID (inferior_ptid);
-
+
/* Fetch the general registers. */
- ret = ptrace (PTRACE_GETREGS, tid, 0, &regs);
+ if (have_ptrace_getregset == TRIBOOL_TRUE)
+ {
+ struct iovec iov;
+
+ iov.iov_base = &regs;
+ iov.iov_len = sizeof (regs);
+
+ ret = ptrace (PTRACE_GETREGSET, tid, NT_PRSTATUS, &iov);
+ }
+ else
+ ret = ptrace (PTRACE_GETREGS, tid, 0, &regs);
+
if (ret < 0)
{
warning (_("Unable to fetch general registers."));
@@ -364,7 +481,17 @@ store_regs (const struct regcache *regcache)
regcache_raw_collect (regcache, ARM_PS_REGNUM,
(char *) &regs[ARM_CPSR_GREGNUM]);
- ret = ptrace (PTRACE_SETREGS, tid, 0, &regs);
+ if (have_ptrace_getregset == TRIBOOL_TRUE)
+ {
+ struct iovec iov;
+
+ iov.iov_base = &regs;
+ iov.iov_len = sizeof (regs);
+
+ ret = ptrace (PTRACE_SETREGSET, tid, NT_PRSTATUS, &iov);
+ }
+ else
+ ret = ptrace (PTRACE_SETREGS, tid, 0, &regs);
if (ret < 0)
{
@@ -460,18 +587,30 @@ fetch_vfp_regs (struct regcache *regcache)
{
char regbuf[VFP_REGS_SIZE];
int ret, regno, tid;
+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
/* Get the thread id for the ptrace call. */
tid = GET_THREAD_ID (inferior_ptid);
- ret = ptrace (PTRACE_GETVFPREGS, tid, 0, regbuf);
+ if (have_ptrace_getregset == TRIBOOL_TRUE)
+ {
+ struct iovec iov;
+
+ iov.iov_base = regbuf;
+ iov.iov_len = VFP_REGS_SIZE;
+ ret = ptrace (PTRACE_GETREGSET, tid, NT_ARM_VFP, &iov);
+ }
+ else
+ ret = ptrace (PTRACE_GETVFPREGS, tid, 0, regbuf);
+
if (ret < 0)
{
warning (_("Unable to fetch VFP registers."));
return;
}
- for (regno = 0; regno < arm_linux_vfp_register_count; regno++)
+ for (regno = 0; regno < tdep->vfp_register_count; regno++)
regcache_raw_supply (regcache, regno + ARM_D0_REGNUM,
(char *) regbuf + regno * 8);
@@ -484,25 +623,46 @@ store_vfp_regs (const struct regcache *regcache)
{
char regbuf[VFP_REGS_SIZE];
int ret, regno, tid;
+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
/* Get the thread id for the ptrace call. */
tid = GET_THREAD_ID (inferior_ptid);
- ret = ptrace (PTRACE_GETVFPREGS, tid, 0, regbuf);
+ if (have_ptrace_getregset == TRIBOOL_TRUE)
+ {
+ struct iovec iov;
+
+ iov.iov_base = regbuf;
+ iov.iov_len = VFP_REGS_SIZE;
+ ret = ptrace (PTRACE_GETREGSET, tid, NT_ARM_VFP, &iov);
+ }
+ else
+ ret = ptrace (PTRACE_GETVFPREGS, tid, 0, regbuf);
+
if (ret < 0)
{
warning (_("Unable to fetch VFP registers (for update)."));
return;
}
- for (regno = 0; regno < arm_linux_vfp_register_count; regno++)
+ for (regno = 0; regno < tdep->vfp_register_count; regno++)
regcache_raw_collect (regcache, regno + ARM_D0_REGNUM,
(char *) regbuf + regno * 8);
regcache_raw_collect (regcache, ARM_FPSCR_REGNUM,
(char *) regbuf + 32 * 8);
- ret = ptrace (PTRACE_SETVFPREGS, tid, 0, regbuf);
+ if (have_ptrace_getregset == TRIBOOL_TRUE)
+ {
+ struct iovec iov;
+
+ iov.iov_base = regbuf;
+ iov.iov_len = VFP_REGS_SIZE;
+ ret = ptrace (PTRACE_SETREGSET, tid, NT_ARM_VFP, &iov);
+ }
+ else
+ ret = ptrace (PTRACE_SETVFPREGS, tid, 0, regbuf);
if (ret < 0)
{
@@ -519,13 +679,16 @@ static void
arm_linux_fetch_inferior_registers (struct target_ops *ops,
struct regcache *regcache, int regno)
{
+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
if (-1 == regno)
{
fetch_regs (regcache);
fetch_fpregs (regcache);
- if (arm_linux_has_wmmx_registers)
+ if (tdep->have_wmmx_registers)
fetch_wmmx_regs (regcache);
- if (arm_linux_vfp_register_count > 0)
+ if (tdep->vfp_register_count > 0)
fetch_vfp_regs (regcache);
}
else
@@ -534,12 +697,12 @@ arm_linux_fetch_inferior_registers (struct target_ops *ops,
fetch_register (regcache, regno);
else if (regno >= ARM_F0_REGNUM && regno <= ARM_FPS_REGNUM)
fetch_fpregister (regcache, regno);
- else if (arm_linux_has_wmmx_registers
+ else if (tdep->have_wmmx_registers
&& regno >= ARM_WR0_REGNUM && regno <= ARM_WCGR7_REGNUM)
fetch_wmmx_regs (regcache);
- else if (arm_linux_vfp_register_count > 0
+ else if (tdep->vfp_register_count > 0
&& regno >= ARM_D0_REGNUM
- && regno <= ARM_D0_REGNUM + arm_linux_vfp_register_count)
+ && regno <= ARM_D0_REGNUM + tdep->vfp_register_count)
fetch_vfp_regs (regcache);
}
}
@@ -552,13 +715,16 @@ static void
arm_linux_store_inferior_registers (struct target_ops *ops,
struct regcache *regcache, int regno)
{
+ struct gdbarch *gdbarch = get_regcache_arch (regcache);
+ struct gdbarch_tdep *tdep = gdbarch_tdep (gdbarch);
+
if (-1 == regno)
{
store_regs (regcache);
store_fpregs (regcache);
- if (arm_linux_has_wmmx_registers)
+ if (tdep->have_wmmx_registers)
store_wmmx_regs (regcache);
- if (arm_linux_vfp_register_count > 0)
+ if (tdep->vfp_register_count > 0)
store_vfp_regs (regcache);
}
else
@@ -567,12 +733,12 @@ arm_linux_store_inferior_registers (struct target_ops *ops,
store_register (regcache, regno);
else if ((regno >= ARM_F0_REGNUM) && (regno <= ARM_FPS_REGNUM))
store_fpregister (regcache, regno);
- else if (arm_linux_has_wmmx_registers
+ else if (tdep->have_wmmx_registers
&& regno >= ARM_WR0_REGNUM && regno <= ARM_WCGR7_REGNUM)
store_wmmx_regs (regcache);
- else if (arm_linux_vfp_register_count > 0
+ else if (tdep->vfp_register_count > 0
&& regno >= ARM_D0_REGNUM
- && regno <= ARM_D0_REGNUM + arm_linux_vfp_register_count)
+ && regno <= ARM_D0_REGNUM + tdep->vfp_register_count)
store_vfp_regs (regcache);
}
}
@@ -630,8 +796,22 @@ static const struct target_desc *
arm_linux_read_description (struct target_ops *ops)
{
CORE_ADDR arm_hwcap = 0;
- arm_linux_has_wmmx_registers = 0;
- arm_linux_vfp_register_count = 0;
+
+ if (have_ptrace_getregset == TRIBOOL_UNKNOWN)
+ {
+ elf_gregset_t gpregs;
+ struct iovec iov;
+ int tid = GET_THREAD_ID (inferior_ptid);
+
+ iov.iov_base = &gpregs;
+ iov.iov_len = sizeof (gpregs);
+
+ /* Check if PTRACE_GETREGSET works. */
+ if (ptrace (PTRACE_GETREGSET, tid, NT_PRSTATUS, &iov) < 0)
+ have_ptrace_getregset = TRIBOOL_FALSE;
+ else
+ have_ptrace_getregset = TRIBOOL_TRUE;
+ }
if (target_auxv_search (ops, AT_HWCAP, &arm_hwcap) != 1)
{
@@ -639,10 +819,7 @@ arm_linux_read_description (struct target_ops *ops)
}
if (arm_hwcap & HWCAP_IWMMXT)
- {
- arm_linux_has_wmmx_registers = 1;
- return tdesc_arm_with_iwmmxt;
- }
+ return tdesc_arm_with_iwmmxt;
if (arm_hwcap & HWCAP_VFP)
{
@@ -653,20 +830,11 @@ arm_linux_read_description (struct target_ops *ops)
/* NEON implies VFPv3-D32 or no-VFP unit. Say that we only support
Neon with VFPv3-D32. */
if (arm_hwcap & HWCAP_NEON)
- {
- arm_linux_vfp_register_count = 32;
- result = tdesc_arm_with_neon;
- }
+ result = tdesc_arm_with_neon;
else if ((arm_hwcap & (HWCAP_VFPv3 | HWCAP_VFPv3D16)) == HWCAP_VFPv3)
- {
- arm_linux_vfp_register_count = 32;
- result = tdesc_arm_with_vfpv3;
- }
+ result = tdesc_arm_with_vfpv3;
else
- {
- arm_linux_vfp_register_count = 16;
- result = tdesc_arm_with_vfpv2;
- }
+ result = tdesc_arm_with_vfpv2;
/* Now make sure that the kernel supports reading these
registers. Support was added in 2.6.30. */
diff --git a/gdb/arm-linux-tdep.c b/gdb/arm-linux-tdep.c
index b6757bd1283..6273027e03c 100644
--- a/gdb/arm-linux-tdep.c
+++ b/gdb/arm-linux-tdep.c
@@ -743,7 +743,7 @@ arm_linux_iterate_over_regset_sections (struct gdbarch *gdbarch,
cb (".reg", ARM_LINUX_SIZEOF_GREGSET, &arm_linux_gregset, NULL, cb_data);
- if (tdep->have_vfp_registers)
+ if (tdep->vfp_register_count > 0)
cb (".reg-arm-vfp", ARM_LINUX_SIZEOF_VFP, &arm_linux_vfpregset,
"VFP floating-point", cb_data);
else if (tdep->have_fpa_registers)
@@ -1440,8 +1440,6 @@ arm_linux_init_abi (struct gdbarch_info info,
(gdbarch, arm_linux_iterate_over_regset_sections);
set_gdbarch_core_read_description (gdbarch, arm_linux_core_read_description);
- set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
-
/* Displaced stepping. */
set_gdbarch_displaced_step_copy_insn (gdbarch,
arm_linux_displaced_step_copy_insn);
diff --git a/gdb/arm-tdep.c b/gdb/arm-tdep.c
index 8181f254839..527bd01875d 100644
--- a/gdb/arm-tdep.c
+++ b/gdb/arm-tdep.c
@@ -3223,11 +3223,10 @@ arm_dwarf2_frame_init_reg (struct gdbarch *gdbarch, int regnum,
}
}
-/* Return true if we are in the function's epilogue, i.e. after the
- instruction that destroyed the function's stack frame. */
+/* Implement the stack_frame_destroyed_p gdbarch method. */
static int
-thumb_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+thumb_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
enum bfd_endian byte_order_for_code = gdbarch_byte_order_for_code (gdbarch);
unsigned int insn, insn2;
@@ -3334,11 +3333,10 @@ thumb_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
return found_stack_adjust;
}
-/* Return true if we are in the function's epilogue, i.e. after the
- instruction that destroyed the function's stack frame. */
+/* Implement the stack_frame_destroyed_p gdbarch method. */
static int
-arm_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+arm_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
enum bfd_endian byte_order_for_code = gdbarch_byte_order_for_code (gdbarch);
unsigned int insn;
@@ -3346,7 +3344,7 @@ arm_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
CORE_ADDR func_start, func_end;
if (arm_pc_is_thumb (gdbarch, pc))
- return thumb_in_function_epilogue_p (gdbarch, pc);
+ return thumb_stack_frame_destroyed_p (gdbarch, pc);
if (!find_pc_partial_function (pc, NULL, &func_start, &func_end))
return 0;
@@ -4929,6 +4927,13 @@ arm_get_next_pc_raw (struct frame_info *frame, CORE_ADDR pc)
case 0x5: /* data transfer */
case 0x6:
case 0x7:
+ if (bits (this_instr, 25, 27) == 0x3 && bit (this_instr, 4) == 1)
+ {
+ /* Media instructions and architecturally undefined
+ instructions. */
+ break;
+ }
+
if (bit (this_instr, 20))
{
/* load */
@@ -9916,7 +9921,8 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
enum arm_float_model fp_model = arm_fp_model;
struct tdesc_arch_data *tdesc_data = NULL;
int i, is_m = 0;
- int have_vfp_registers = 0, have_vfp_pseudos = 0, have_neon_pseudos = 0;
+ int vfp_register_count = 0, have_vfp_pseudos = 0, have_neon_pseudos = 0;
+ int have_wmmx_registers = 0;
int have_neon = 0;
int have_fpa_registers = 1;
const struct target_desc *tdesc = info.target_desc;
@@ -9952,7 +9958,7 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
anyway, so assume APCS. */
arm_abi = ARM_ABI_APCS;
}
- else if (ei_osabi == ELFOSABI_NONE)
+ else if (ei_osabi == ELFOSABI_NONE || ei_osabi == ELFOSABI_GNU)
{
int eabi_ver = EF_ARM_EABI_VERSION (e_flags);
int attr_arch, attr_profile;
@@ -10180,6 +10186,8 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
tdesc_data_cleanup (tdesc_data);
return NULL;
}
+
+ have_wmmx_registers = 1;
}
/* If we have a VFP unit, check whether the single precision registers
@@ -10222,7 +10230,7 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
if (tdesc_unnumbered_register (feature, "s0") == 0)
have_vfp_pseudos = 1;
- have_vfp_registers = 1;
+ vfp_register_count = i;
/* If we have VFP, also check for NEON. The architecture allows
NEON without VFP (integer vector operations only), but GDB
@@ -10291,7 +10299,11 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
tdep->fp_model = fp_model;
tdep->is_m = is_m;
tdep->have_fpa_registers = have_fpa_registers;
- tdep->have_vfp_registers = have_vfp_registers;
+ tdep->have_wmmx_registers = have_wmmx_registers;
+ gdb_assert (vfp_register_count == 0
+ || vfp_register_count == 16
+ || vfp_register_count == 32);
+ tdep->vfp_register_count = vfp_register_count;
tdep->have_vfp_pseudos = have_vfp_pseudos;
tdep->have_neon_pseudos = have_neon_pseudos;
tdep->have_neon = have_neon;
@@ -10356,8 +10368,8 @@ arm_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
/* Advance PC across function entry code. */
set_gdbarch_skip_prologue (gdbarch, arm_skip_prologue);
- /* Detect whether PC is in function epilogue. */
- set_gdbarch_in_function_epilogue_p (gdbarch, arm_in_function_epilogue_p);
+ /* Detect whether PC is at a point where the stack has been destroyed. */
+ set_gdbarch_stack_frame_destroyed_p (gdbarch, arm_stack_frame_destroyed_p);
/* Skip trampolines. */
set_gdbarch_skip_trampoline_code (gdbarch, arm_skip_stub);
diff --git a/gdb/arm-tdep.h b/gdb/arm-tdep.h
index bd01ec9969c..f81679a201c 100644
--- a/gdb/arm-tdep.h
+++ b/gdb/arm-tdep.h
@@ -161,7 +161,10 @@ struct gdbarch_tdep
enum arm_float_model fp_model; /* Floating point calling conventions. */
int have_fpa_registers; /* Does the target report the FPA registers? */
- int have_vfp_registers; /* Does the target report the VFP registers? */
+ int have_wmmx_registers; /* Does the target report the WMMX registers? */
+ /* The number of VFP registers reported by the target. It is zero
+ if VFP registers are not supported. */
+ int vfp_register_count;
int have_vfp_pseudos; /* Are we synthesizing the single precision
VFP registers? */
int have_neon_pseudos; /* Are we synthesizing the quad precision
diff --git a/gdb/block.c b/gdb/block.c
index 00a7012f3ec..f7621aa6102 100644
--- a/gdb/block.c
+++ b/gdb/block.c
@@ -739,13 +739,21 @@ block_lookup_symbol (const struct block *block, const char *name,
if (!BLOCK_FUNCTION (block))
{
+ struct symbol *other = NULL;
+
ALL_BLOCK_SYMBOLS_WITH_NAME (block, name, iter, sym)
{
+ if (SYMBOL_DOMAIN (sym) == domain)
+ return sym;
+ /* This is a bit of a hack, but symbol_matches_domain might ignore
+ STRUCT vs VAR domain symbols. So if a matching symbol is found,
+ make sure there is no "better" matching symbol, i.e., one with
+ exactly the same domain. PR 16253. */
if (symbol_matches_domain (SYMBOL_LANGUAGE (sym),
SYMBOL_DOMAIN (sym), domain))
- return sym;
+ other = sym;
}
- return NULL;
+ return other;
}
else
{
@@ -753,7 +761,10 @@ block_lookup_symbol (const struct block *block, const char *name,
list; this loop makes sure to take anything else other than
parameter symbols first; it only uses parameter symbols as a
last resort. Note that this only takes up extra computation
- time on a match. */
+ time on a match.
+ It's hard to define types in the parameter list (at least in
+ C/C++) so we don't do the same PR 16253 hack here that is done
+ for the !BLOCK_FUNCTION case. */
struct symbol *sym_found = NULL;
@@ -779,21 +790,76 @@ struct symbol *
block_lookup_symbol_primary (const struct block *block, const char *name,
const domain_enum domain)
{
- struct symbol *sym;
+ struct symbol *sym, *other;
struct dict_iterator dict_iter;
/* Verify BLOCK is STATIC_BLOCK or GLOBAL_BLOCK. */
gdb_assert (BLOCK_SUPERBLOCK (block) == NULL
|| BLOCK_SUPERBLOCK (BLOCK_SUPERBLOCK (block)) == NULL);
+ other = NULL;
for (sym = dict_iter_name_first (block->dict, name, &dict_iter);
sym != NULL;
sym = dict_iter_name_next (name, &dict_iter))
{
+ if (SYMBOL_DOMAIN (sym) == domain)
+ return sym;
+
+ /* This is a bit of a hack, but symbol_matches_domain might ignore
+ STRUCT vs VAR domain symbols. So if a matching symbol is found,
+ make sure there is no "better" matching symbol, i.e., one with
+ exactly the same domain. PR 16253. */
if (symbol_matches_domain (SYMBOL_LANGUAGE (sym),
SYMBOL_DOMAIN (sym), domain))
- return sym;
+ other = sym;
}
+ return other;
+}
+
+/* See block.h. */
+
+struct symbol *
+block_find_symbol (const struct block *block, const char *name,
+ const domain_enum domain,
+ block_symbol_matcher_ftype *matcher, void *data)
+{
+ struct block_iterator iter;
+ struct symbol *sym;
+
+ /* Verify BLOCK is STATIC_BLOCK or GLOBAL_BLOCK. */
+ gdb_assert (BLOCK_SUPERBLOCK (block) == NULL
+ || BLOCK_SUPERBLOCK (BLOCK_SUPERBLOCK (block)) == NULL);
+
+ ALL_BLOCK_SYMBOLS_WITH_NAME (block, name, iter, sym)
+ {
+ /* MATCHER is deliberately called second here so that it never sees
+ a non-domain-matching symbol. */
+ if (symbol_matches_domain (SYMBOL_LANGUAGE (sym),
+ SYMBOL_DOMAIN (sym), domain)
+ && matcher (sym, data))
+ return sym;
+ }
return NULL;
}
+
+/* See block.h. */
+
+int
+block_find_non_opaque_type (struct symbol *sym, void *data)
+{
+ return !TYPE_IS_OPAQUE (SYMBOL_TYPE (sym));
+}
+
+/* See block.h. */
+
+int
+block_find_non_opaque_type_preferred (struct symbol *sym, void *data)
+{
+ struct symbol **best = data;
+
+ if (!TYPE_IS_OPAQUE (SYMBOL_TYPE (sym)))
+ return 1;
+ *best = sym;
+ return 0;
+}
diff --git a/gdb/block.h b/gdb/block.h
index bdc58880031..d8ad3430dc7 100644
--- a/gdb/block.h
+++ b/gdb/block.h
@@ -292,6 +292,40 @@ extern struct symbol *block_lookup_symbol_primary (const struct block *block,
const char *name,
const domain_enum domain);
+/* The type of the MATCHER argument to block_find_symbol. */
+
+typedef int (block_symbol_matcher_ftype) (struct symbol *, void *);
+
+/* Find symbol NAME in BLOCK and in DOMAIN that satisfies MATCHER.
+ DATA is passed unchanged to MATCHER.
+ BLOCK must be STATIC_BLOCK or GLOBAL_BLOCK. */
+
+extern struct symbol *block_find_symbol (const struct block *block,
+ const char *name,
+ const domain_enum domain,
+ block_symbol_matcher_ftype *matcher,
+ void *data);
+
+/* A matcher function for block_find_symbol to find only symbols with
+ non-opaque types. */
+
+extern int block_find_non_opaque_type (struct symbol *sym, void *data);
+
+/* A matcher function for block_find_symbol to prefer symbols with
+ non-opaque types. The way to use this function is as follows:
+
+ struct symbol *with_opaque = NULL;
+ struct symbol *sym
+ = block_find_symbol (block, name, domain,
+ block_find_non_opaque_type_preferred, &with_opaque);
+
+ At this point if SYM is non-NULL then a non-opaque type has been found.
+ Otherwise, if WITH_OPAQUE is non-NULL then an opaque type has been found.
+ Otherwise, the symbol was not found. */
+
+extern int block_find_non_opaque_type_preferred (struct symbol *sym,
+ void *data);
+
/* Macro to loop through all symbols in BLOCK, in no particular
order. ITER helps keep track of the iteration, and must be a
struct block_iterator. SYM points to the current symbol. */
diff --git a/gdb/breakpoint.c b/gdb/breakpoint.c
index a3531a01cc1..1481112ea5c 100644
--- a/gdb/breakpoint.c
+++ b/gdb/breakpoint.c
@@ -1837,10 +1837,11 @@ update_watchpoint (struct watchpoint *b, int reparse)
struct gdbarch *frame_arch = get_frame_arch (fi);
CORE_ADDR frame_pc = get_frame_pc (fi);
- /* If we're in a function epilogue, unwinding may not work
- properly, so do not attempt to recreate locations at this
+ /* If we're at a point where the stack has been destroyed
+ (e.g. in a function epilogue), unwinding may not work
+ properly. Do not attempt to recreate locations at this
point. See similar comments in watchpoint_check. */
- if (gdbarch_in_function_epilogue_p (frame_arch, frame_pc))
+ if (gdbarch_stack_frame_destroyed_p (frame_arch, frame_pc))
return;
/* Save the current frame's ID so we can restore it after
@@ -5037,7 +5038,7 @@ watchpoint_check (void *p)
struct gdbarch *frame_arch = get_frame_arch (frame);
CORE_ADDR frame_pc = get_frame_pc (frame);
- /* in_function_epilogue_p() returns a non-zero value if we're
+ /* stack_frame_destroyed_p() returns a non-zero value if we're
still in the function but the stack frame has already been
invalidated. Since we can't rely on the values of local
variables after the stack has been destroyed, we are treating
@@ -5046,7 +5047,7 @@ watchpoint_check (void *p)
frame is in an epilogue - even if they are in some other
frame, our view of the stack is likely to be wrong and
frame_find_by_id could error out. */
- if (gdbarch_in_function_epilogue_p (frame_arch, frame_pc))
+ if (gdbarch_stack_frame_destroyed_p (frame_arch, frame_pc))
return WP_IGNORE;
fr = frame_find_by_id (b->watchpoint_frame);
@@ -7430,26 +7431,6 @@ set_raw_breakpoint (struct gdbarch *gdbarch,
return b;
}
-
-/* Note that the breakpoint object B describes a permanent breakpoint
- instruction, hard-wired into the inferior's code. */
-void
-make_breakpoint_permanent (struct breakpoint *b)
-{
- struct bp_location *bl;
-
- /* By definition, permanent breakpoints are already present in the
- code. Mark all locations as inserted. For now,
- make_breakpoint_permanent is called in just one place, so it's
- hard to say if it's reasonable to have permanent breakpoint with
- multiple locations or not, but it's easy to implement. */
- for (bl = b->loc; bl; bl = bl->next)
- {
- bl->permanent = 1;
- bl->inserted = 1;
- }
-}
-
/* Call this routine when stepping and nexting to enable a breakpoint
if we do a longjmp() or 'throw' in TP. FRAME is the frame which
initiated the operation. */
@@ -8917,11 +8898,21 @@ add_location_to_breakpoint (struct breakpoint *b,
set_breakpoint_location_function (loc,
sal->explicit_pc || sal->explicit_line);
+ /* While by definition, permanent breakpoints are already present in the
+ code, we don't mark the location as inserted. Normally one would expect
+ that GDB could rely on that breakpoint instruction to stop the program,
+ thus removing the need to insert its own breakpoint, except that executing
+ the breakpoint instruction can kill the target instead of reporting a
+ SIGTRAP. E.g., on SPARC, when interrupts are disabled, executing the
+ instruction resets the CPU, so QEMU 2.0.0 for SPARC correspondingly dies
+ with "Trap 0x02 while interrupts disabled, Error state". Letting the
+ breakpoint be inserted normally results in QEMU knowing about the GDB
+ breakpoint, and thus trap before the breakpoint instruction is executed.
+ (If GDB later needs to continue execution past the permanent breakpoint,
+ it manually increments the PC, thus avoiding executing the breakpoint
+ instruction.) */
if (bp_loc_is_permanent (loc))
- {
- loc->inserted = 1;
- loc->permanent = 1;
- }
+ loc->permanent = 1;
return loc;
}
@@ -8973,20 +8964,6 @@ bp_loc_is_permanent (struct bp_location *loc)
gdb_assert (loc != NULL);
- /* bp_call_dummy breakpoint locations are usually memory locations
- where GDB just wrote a breakpoint instruction, making it look
- as if there is a permanent breakpoint at that location. Considering
- it permanent makes GDB rely on that breakpoint instruction to stop
- the program, thus removing the need to insert its own breakpoint
- there. This is normally expected to work, except that some versions
- of QEMU (Eg: QEMU 2.0.0 for SPARC) just report a fatal problem (Trap
- 0x02 while interrupts disabled, Error state) instead of reporting
- a SIGTRAP. QEMU should probably be fixed, but in the interest of
- compatibility with versions that behave this way, we always consider
- bp_call_dummy breakpoint locations as non-permanent. */
- if (loc->owner->type == bp_call_dummy)
- return 0;
-
cleanup = save_current_space_and_thread ();
switch_to_program_space_and_thread (loc->pspace);
@@ -9772,7 +9749,10 @@ create_breakpoint (struct gdbarch *gdbarch,
b->addr_string = copy_arg;
if (parse_arg)
- b->cond_string = NULL;
+ {
+ b->cond_string = NULL;
+ b->extra_string = NULL;
+ }
else
{
/* Create a private copy of condition string. */
@@ -9781,10 +9761,16 @@ create_breakpoint (struct gdbarch *gdbarch,
cond_string = xstrdup (cond_string);
make_cleanup (xfree, cond_string);
}
+ /* Create a private copy of any extra string. */
+ if (extra_string != NULL)
+ {
+ extra_string = xstrdup (extra_string);
+ make_cleanup (xfree, extra_string);
+ }
b->cond_string = cond_string;
+ b->extra_string = extra_string;
b->thread = thread;
}
- b->extra_string = NULL;
b->ignore_count = ignore_count;
b->disposition = tempflag ? disp_del : disp_donttouch;
b->condition_not_parsed = 1;
@@ -12429,12 +12415,6 @@ update_global_location_list (enum ugll_insert_mode insert_mode)
continue;
}
- /* Permanent breakpoint should always be inserted. */
- if (loc->permanent && ! loc->inserted)
- internal_error (__FILE__, __LINE__,
- _("allegedly permanent breakpoint is not "
- "actually inserted"));
-
if (b->type == bp_hardware_watchpoint)
loc_first_p = &wp_loc_first;
else if (b->type == bp_read_watchpoint)
@@ -12470,12 +12450,6 @@ update_global_location_list (enum ugll_insert_mode insert_mode)
/* Clear the condition modification flag. */
loc->condition_changed = condition_unchanged;
-
- if (loc->inserted && !loc->permanent
- && (*loc_first_p)->permanent)
- internal_error (__FILE__, __LINE__,
- _("another breakpoint was inserted on top of "
- "a permanent breakpoint"));
}
if (insert_mode == UGLL_INSERT || breakpoints_should_be_inserted_now ())
diff --git a/gdb/breakpoint.h b/gdb/breakpoint.h
index 562a6b6a249..94d93852d35 100644
--- a/gdb/breakpoint.h
+++ b/gdb/breakpoint.h
@@ -1442,8 +1442,6 @@ extern void breakpoint_set_task (struct breakpoint *b, int task);
/* Clear the "inserted" flag in all breakpoints. */
extern void mark_breakpoints_out (void);
-extern void make_breakpoint_permanent (struct breakpoint *);
-
extern struct breakpoint *create_jit_event_breakpoint (struct gdbarch *,
CORE_ADDR);
diff --git a/gdb/build-id.c b/gdb/build-id.c
index 8f7bbb4d9d0..c89cd55c262 100644
--- a/gdb/build-id.c
+++ b/gdb/build-id.c
@@ -19,7 +19,6 @@
#include "defs.h"
#include "bfd.h"
-#include "elf-bfd.h"
#include "gdb_bfd.h"
#include "build-id.h"
#include "gdb_vecs.h"
@@ -30,19 +29,17 @@
/* See build-id.h. */
-const struct elf_build_id *
+const struct bfd_build_id *
build_id_bfd_get (bfd *abfd)
{
- if (!bfd_check_format (abfd, bfd_object)
- || bfd_get_flavour (abfd) != bfd_target_elf_flavour
- /* Although this is ELF_specific, it is safe to do in generic
- code because it does not rely on any ELF-specific symbols at
- link time, and if the ELF code is not available in BFD, then
- ABFD will not have the ELF flavour. */
- || elf_tdata (abfd)->build_id == NULL)
+ if (!bfd_check_format (abfd, bfd_object))
return NULL;
- return elf_tdata (abfd)->build_id;
+ if (abfd->build_id != NULL)
+ return abfd->build_id;
+
+ /* No build-id */
+ return NULL;
}
/* See build-id.h. */
@@ -50,7 +47,7 @@ build_id_bfd_get (bfd *abfd)
int
build_id_verify (bfd *abfd, size_t check_len, const bfd_byte *check)
{
- const struct elf_build_id *found;
+ const struct bfd_build_id *found;
int retval = 0;
found = build_id_bfd_get (abfd);
@@ -96,6 +93,7 @@ build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id)
size_t size = build_id_len;
char *s;
char *filename = NULL;
+ struct cleanup *inner;
memcpy (link, debugdir, debugdir_len);
s = &link[debugdir_len];
@@ -119,7 +117,10 @@ build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id)
continue;
/* We expect to be silent on the non-existing files. */
+ inner = make_cleanup (xfree, filename);
abfd = gdb_bfd_open (filename, gnutarget, -1);
+ do_cleanups (inner);
+
if (abfd == NULL)
continue;
@@ -139,7 +140,7 @@ build_id_to_debug_bfd (size_t build_id_len, const bfd_byte *build_id)
char *
find_separate_debug_file_by_buildid (struct objfile *objfile)
{
- const struct elf_build_id *build_id;
+ const struct bfd_build_id *build_id;
build_id = build_id_bfd_get (objfile->obfd);
if (build_id != NULL)
diff --git a/gdb/build-id.h b/gdb/build-id.h
index f77dda28926..bea761b6c99 100644
--- a/gdb/build-id.h
+++ b/gdb/build-id.h
@@ -22,7 +22,7 @@
/* Locate NT_GNU_BUILD_ID from ABFD and return its content. */
-extern const struct elf_build_id *build_id_bfd_get (bfd *abfd);
+extern const struct bfd_build_id *build_id_bfd_get (bfd *abfd);
/* Return true if ABFD has NT_GNU_BUILD_ID matching the CHECK value.
Otherwise, issue a warning and return false. */
diff --git a/gdb/c-exp.y b/gdb/c-exp.y
index 84f3a338bf8..f458545e839 100644
--- a/gdb/c-exp.y
+++ b/gdb/c-exp.y
@@ -3004,7 +3004,8 @@ classify_inner_name (struct parser_state *par_state,
return ERROR;
copy = copy_name (yylval.ssym.stoken);
- yylval.ssym.sym = cp_lookup_nested_symbol (type, copy, block);
+ /* N.B. We assume the symbol can only be in VAR_DOMAIN. */
+ yylval.ssym.sym = cp_lookup_nested_symbol (type, copy, block, VAR_DOMAIN);
/* If no symbol was found, search for a matching base class named
COPY. This will allow users to enter qualified names of class members
diff --git a/gdb/cli/cli-script.c b/gdb/cli/cli-script.c
index 7a4ed7864aa..4bd18a73b6f 100644
--- a/gdb/cli/cli-script.c
+++ b/gdb/cli/cli-script.c
@@ -615,7 +615,8 @@ execute_control_command (struct command_line *cmd)
}
case compile_control:
- eval_compile_command (cmd, NULL, cmd->control_u.compile.scope);
+ eval_compile_command (cmd, NULL, cmd->control_u.compile.scope,
+ cmd->control_u.compile.scope_data);
ret = simple_control;
break;
diff --git a/gdb/cli/cli-utils.c b/gdb/cli/cli-utils.c
index f3586b61a3c..5c6338b31b7 100644
--- a/gdb/cli/cli-utils.c
+++ b/gdb/cli/cli-utils.c
@@ -225,42 +225,6 @@ number_is_in_list (const char *list, int number)
/* See documentation in cli-utils.h. */
char *
-skip_spaces (char *chp)
-{
- if (chp == NULL)
- return NULL;
- while (*chp && isspace (*chp))
- chp++;
- return chp;
-}
-
-/* A const-correct version of the above. */
-
-const char *
-skip_spaces_const (const char *chp)
-{
- if (chp == NULL)
- return NULL;
- while (*chp && isspace (*chp))
- chp++;
- return chp;
-}
-
-/* See documentation in cli-utils.h. */
-
-const char *
-skip_to_space_const (const char *chp)
-{
- if (chp == NULL)
- return NULL;
- while (*chp && !isspace (*chp))
- chp++;
- return chp;
-}
-
-/* See documentation in cli-utils.h. */
-
-char *
remove_trailing_whitespace (const char *start, char *s)
{
while (s > start && isspace (*(s - 1)))
diff --git a/gdb/cli/cli-utils.h b/gdb/cli/cli-utils.h
index 5e191ec762d..ad465811403 100644
--- a/gdb/cli/cli-utils.h
+++ b/gdb/cli/cli-utils.h
@@ -93,24 +93,6 @@ extern int get_number_or_range (struct get_number_or_range_state *state);
extern int number_is_in_list (const char *list, int number);
-/* Skip leading whitespace characters in INP, returning an updated
- pointer. If INP is NULL, return NULL. */
-
-extern char *skip_spaces (char *inp);
-
-/* A const-correct version of the above. */
-
-extern const char *skip_spaces_const (const char *inp);
-
-/* Skip leading non-whitespace characters in INP, returning an updated
- pointer. If INP is NULL, return NULL. */
-
-#define skip_to_space(INP) ((char *) skip_to_space_const (INP))
-
-/* A const-correct version of the above. */
-
-extern const char *skip_to_space_const (const char *inp);
-
/* Reverse S to the last non-whitespace character without skipping past
START. */
diff --git a/gdb/coffread.c b/gdb/coffread.c
index 3b5a968c346..7722cdbff7b 100644
--- a/gdb/coffread.c
+++ b/gdb/coffread.c
@@ -41,6 +41,7 @@
#include "coff-pe-read.h"
#include "psymtab.h"
+#include "build-id.h"
extern void _initialize_coffread (void);
@@ -738,7 +739,10 @@ coff_symfile_read (struct objfile *objfile, int symfile_flags)
{
char *debugfile;
- debugfile = find_separate_debug_file_by_debuglink (objfile);
+ debugfile = find_separate_debug_file_by_buildid (objfile);
+
+ if (debugfile == NULL)
+ debugfile = find_separate_debug_file_by_debuglink (objfile);
make_cleanup (xfree, debugfile);
if (debugfile)
diff --git a/gdb/common/buffer.c b/gdb/common/buffer.c
index 28b2625f069..ca1636dcd73 100644
--- a/gdb/common/buffer.c
+++ b/gdb/common/buffer.c
@@ -21,8 +21,6 @@
#include "xml-utils.h"
#include "buffer.h"
#include "inttypes.h"
-#include <stdint.h>
-
void
buffer_grow (struct buffer *buffer, const char *data, size_t size)
{
diff --git a/gdb/common/common-defs.h b/gdb/common/common-defs.h
index 62d9de51064..2be0d7d3741 100644
--- a/gdb/common/common-defs.h
+++ b/gdb/common/common-defs.h
@@ -41,10 +41,10 @@
#include "gdb/signals.h"
#include "gdb_locale.h"
#include "ptid.h"
+#include "common-types.h"
#include "common-utils.h"
#include "gdb_assert.h"
#include "errors.h"
-#include "common-types.h"
#include "print-utils.h"
#include "common-debug.h"
#include "cleanups.h"
diff --git a/gdb/common/common-utils.c b/gdb/common/common-utils.c
index 2925dd5660a..e86ed5b7ecb 100644
--- a/gdb/common/common-utils.c
+++ b/gdb/common/common-utils.c
@@ -18,6 +18,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "common-defs.h"
+#include "host-defs.h"
+#include <ctype.h>
/* The xmalloc() (libiberty.h) family of memory management routines.
@@ -151,3 +153,138 @@ savestring (const char *ptr, size_t len)
p[len] = 0;
return p;
}
+
+/* The bit offset of the highest byte in a ULONGEST, for overflow
+ checking. */
+
+#define HIGH_BYTE_POSN ((sizeof (ULONGEST) - 1) * HOST_CHAR_BIT)
+
+/* True (non-zero) iff DIGIT is a valid digit in radix BASE,
+ where 2 <= BASE <= 36. */
+
+static int
+is_digit_in_base (unsigned char digit, int base)
+{
+ if (!isalnum (digit))
+ return 0;
+ if (base <= 10)
+ return (isdigit (digit) && digit < base + '0');
+ else
+ return (isdigit (digit) || tolower (digit) < base - 10 + 'a');
+}
+
+static int
+digit_to_int (unsigned char c)
+{
+ if (isdigit (c))
+ return c - '0';
+ else
+ return tolower (c) - 'a' + 10;
+}
+
+/* As for strtoul, but for ULONGEST results. */
+
+ULONGEST
+strtoulst (const char *num, const char **trailer, int base)
+{
+ unsigned int high_part;
+ ULONGEST result;
+ int minus = 0;
+ int i = 0;
+
+ /* Skip leading whitespace. */
+ while (isspace (num[i]))
+ i++;
+
+ /* Handle prefixes. */
+ if (num[i] == '+')
+ i++;
+ else if (num[i] == '-')
+ {
+ minus = 1;
+ i++;
+ }
+
+ if (base == 0 || base == 16)
+ {
+ if (num[i] == '0' && (num[i + 1] == 'x' || num[i + 1] == 'X'))
+ {
+ i += 2;
+ if (base == 0)
+ base = 16;
+ }
+ }
+
+ if (base == 0 && num[i] == '0')
+ base = 8;
+
+ if (base == 0)
+ base = 10;
+
+ if (base < 2 || base > 36)
+ {
+ errno = EINVAL;
+ return 0;
+ }
+
+ result = high_part = 0;
+ for (; is_digit_in_base (num[i], base); i += 1)
+ {
+ result = result * base + digit_to_int (num[i]);
+ high_part = high_part * base + (unsigned int) (result >> HIGH_BYTE_POSN);
+ result &= ((ULONGEST) 1 << HIGH_BYTE_POSN) - 1;
+ if (high_part > 0xff)
+ {
+ errno = ERANGE;
+ result = ~ (ULONGEST) 0;
+ high_part = 0;
+ minus = 0;
+ break;
+ }
+ }
+
+ if (trailer != NULL)
+ *trailer = &num[i];
+
+ result = result + ((ULONGEST) high_part << HIGH_BYTE_POSN);
+ if (minus)
+ return -result;
+ else
+ return result;
+}
+
+/* See documentation in cli-utils.h. */
+
+char *
+skip_spaces (char *chp)
+{
+ if (chp == NULL)
+ return NULL;
+ while (*chp && isspace (*chp))
+ chp++;
+ return chp;
+}
+
+/* A const-correct version of the above. */
+
+const char *
+skip_spaces_const (const char *chp)
+{
+ if (chp == NULL)
+ return NULL;
+ while (*chp && isspace (*chp))
+ chp++;
+ return chp;
+}
+
+/* See documentation in cli-utils.h. */
+
+const char *
+skip_to_space_const (const char *chp)
+{
+ if (chp == NULL)
+ return NULL;
+ while (*chp && !isspace (*chp))
+ chp++;
+ return chp;
+}
diff --git a/gdb/common/common-utils.h b/gdb/common/common-utils.h
index cd2665aec50..eef5e6b11a6 100644
--- a/gdb/common/common-utils.h
+++ b/gdb/common/common-utils.h
@@ -77,4 +77,24 @@ startswith (const char *string, const char *pattern)
return strncmp (string, pattern, strlen (pattern)) == 0;
}
+ULONGEST strtoulst (const char *num, const char **trailer, int base);
+
+/* Skip leading whitespace characters in INP, returning an updated
+ pointer. If INP is NULL, return NULL. */
+
+extern char *skip_spaces (char *inp);
+
+/* A const-correct version of the above. */
+
+extern const char *skip_spaces_const (const char *inp);
+
+/* Skip leading non-whitespace characters in INP, returning an updated
+ pointer. If INP is NULL, return NULL. */
+
+#define skip_to_space(INP) ((char *) skip_to_space_const (INP))
+
+/* A const-correct version of the above. */
+
+extern const char *skip_to_space_const (const char *inp);
+
#endif
diff --git a/gdb/common/fileio.c b/gdb/common/fileio.c
index 28335ecf3c8..d219f3041c3 100644
--- a/gdb/common/fileio.c
+++ b/gdb/common/fileio.c
@@ -109,6 +109,55 @@ fileio_to_host_openflags (int fileio_open_flags, int *open_flags_p)
return 0;
}
+/* See fileio.h. */
+
+int
+fileio_to_host_mode (int fileio_mode, mode_t *mode_p)
+{
+ mode_t mode = 0;
+
+ if (fileio_mode & ~FILEIO_S_SUPPORTED)
+ return -1;
+
+ if (fileio_mode & FILEIO_S_IFREG)
+ mode |= S_IFREG;
+ if (fileio_mode & FILEIO_S_IFDIR)
+ mode |= S_IFDIR;
+ if (fileio_mode & FILEIO_S_IFCHR)
+ mode |= S_IFCHR;
+ if (fileio_mode & FILEIO_S_IRUSR)
+ mode |= S_IRUSR;
+ if (fileio_mode & FILEIO_S_IWUSR)
+ mode |= S_IWUSR;
+ if (fileio_mode & FILEIO_S_IXUSR)
+ mode |= S_IXUSR;
+#ifdef S_IRGRP
+ if (fileio_mode & FILEIO_S_IRGRP)
+ mode |= S_IRGRP;
+#endif
+#ifdef S_IWGRP
+ if (fileio_mode & FILEIO_S_IWGRP)
+ mode |= S_IWGRP;
+#endif
+#ifdef S_IXGRP
+ if (fileio_mode & FILEIO_S_IXGRP)
+ mode |= S_IXGRP;
+#endif
+ if (fileio_mode & FILEIO_S_IROTH)
+ mode |= S_IROTH;
+#ifdef S_IWOTH
+ if (fileio_mode & FILEIO_S_IWOTH)
+ mode |= S_IWOTH;
+#endif
+#ifdef S_IXOTH
+ if (fileio_mode & FILEIO_S_IXOTH)
+ mode |= S_IXOTH;
+#endif
+
+ *mode_p = mode;
+ return 0;
+}
+
/* Convert a host-format mode_t into a bitmask of File-I/O flags. */
static LONGEST
@@ -132,7 +181,7 @@ fileio_mode_pack (mode_t mode)
if (mode & S_IRGRP)
tmode |= FILEIO_S_IRGRP;
#endif
-#ifdef S_IWRGRP
+#ifdef S_IWGRP
if (mode & S_IWGRP)
tmode |= FILEIO_S_IWGRP;
#endif
diff --git a/gdb/common/fileio.h b/gdb/common/fileio.h
index b0f27abbc6c..88f96cf1b60 100644
--- a/gdb/common/fileio.h
+++ b/gdb/common/fileio.h
@@ -32,6 +32,11 @@ extern int host_to_fileio_error (int error);
extern int fileio_to_host_openflags (int fflags, int *flags);
+/* Convert File-I/O mode FMODE to host format, storing
+ the result in *MODE. Return 0 on success, -1 on error. */
+
+extern int fileio_to_host_mode (int fmode, mode_t *mode);
+
/* Pack a host-format integer into a byte buffer in big-endian
format. BYTES specifies the size of the integer to pack in
bytes. */
diff --git a/gdb/common/filestuff.c b/gdb/common/filestuff.c
index 14d63246ca7..25ea8fa61b4 100644
--- a/gdb/common/filestuff.c
+++ b/gdb/common/filestuff.c
@@ -404,3 +404,24 @@ gdb_pipe_cloexec (int filedes[2])
return result;
}
+
+/* Helper function which does the work for make_cleanup_close. */
+
+static void
+do_close_cleanup (void *arg)
+{
+ int *fd = arg;
+
+ close (*fd);
+}
+
+/* See cleanup-utils.h. */
+
+struct cleanup *
+make_cleanup_close (int fd)
+{
+ int *saved_fd = xmalloc (sizeof (fd));
+
+ *saved_fd = fd;
+ return make_cleanup_dtor (do_close_cleanup, saved_fd, xfree);
+}
diff --git a/gdb/common/filestuff.h b/gdb/common/filestuff.h
index 98522a68de9..e997ecc7bcc 100644
--- a/gdb/common/filestuff.h
+++ b/gdb/common/filestuff.h
@@ -67,4 +67,8 @@ extern int gdb_socket_cloexec (int domain, int style, int protocol);
extern int gdb_pipe_cloexec (int filedes[2]);
+/* Return a new cleanup that closes FD. */
+
+extern struct cleanup *make_cleanup_close (int fd);
+
#endif /* FILESTUFF_H */
diff --git a/gdb/common/host-defs.h b/gdb/common/host-defs.h
index 6c67034f890..7bc41a20932 100644
--- a/gdb/common/host-defs.h
+++ b/gdb/common/host-defs.h
@@ -19,6 +19,27 @@
#ifndef HOST_DEFS_H
#define HOST_DEFS_H
+#include <limits.h>
+
+/* Static host-system-dependent parameters for GDB. */
+
+/* * Number of bits in a char or unsigned char for the target machine.
+ Just like CHAR_BIT in <limits.h> but describes the target machine. */
+#if !defined (TARGET_CHAR_BIT)
+#define TARGET_CHAR_BIT 8
+#endif
+
+/* * If we picked up a copy of CHAR_BIT from a configuration file
+ (which may get it by including <limits.h>) then use it to set
+ the number of bits in a host char. If not, use the same size
+ as the target. */
+
+#if defined (CHAR_BIT)
+#define HOST_CHAR_BIT CHAR_BIT
+#else
+#define HOST_CHAR_BIT TARGET_CHAR_BIT
+#endif
+
#ifdef __MSDOS__
# define CANT_FORK
# define GLOBAL_CURDIR
diff --git a/gdb/common/print-utils.c b/gdb/common/print-utils.c
index c8ff1332f72..1c1a5c1fd4b 100644
--- a/gdb/common/print-utils.c
+++ b/gdb/common/print-utils.c
@@ -19,8 +19,6 @@
#include "common-defs.h"
#include "print-utils.h"
-#include <stdint.h>
-
/* Temporary storage using circular buffer. */
#define NUMCELLS 16
diff --git a/gdb/common/rsp-low.c b/gdb/common/rsp-low.c
index d3d3d65e5b6..178c6986798 100644
--- a/gdb/common/rsp-low.c
+++ b/gdb/common/rsp-low.c
@@ -146,38 +146,67 @@ bin2hex (const gdb_byte *bin, char *hex, int count)
return i;
}
+/* Return whether byte B needs escaping when sent as part of binary data. */
+
+static int
+needs_escaping (gdb_byte b)
+{
+ return b == '$' || b == '#' || b == '}' || b == '*';
+}
+
/* See rsp-low.h. */
int
-remote_escape_output (const gdb_byte *buffer, int len,
- gdb_byte *out_buf, int *out_len,
- int out_maxlen)
+remote_escape_output (const gdb_byte *buffer, int len_units, int unit_size,
+ gdb_byte *out_buf, int *out_len_units,
+ int out_maxlen_bytes)
{
- int input_index, output_index;
-
- output_index = 0;
- for (input_index = 0; input_index < len; input_index++)
+ int input_unit_index, output_byte_index = 0, byte_index_in_unit;
+ int number_escape_bytes_needed;
+
+ /* Try to copy integral addressable memory units until
+ (1) we run out of space or
+ (2) we copied all of them. */
+ for (input_unit_index = 0;
+ input_unit_index < len_units;
+ input_unit_index++)
{
- gdb_byte b = buffer[input_index];
-
- if (b == '$' || b == '#' || b == '}' || b == '*')
+ /* Find out how many escape bytes we need for this unit. */
+ number_escape_bytes_needed = 0;
+ for (byte_index_in_unit = 0;
+ byte_index_in_unit < unit_size;
+ byte_index_in_unit++)
{
- /* These must be escaped. */
- if (output_index + 2 > out_maxlen)
- break;
- out_buf[output_index++] = '}';
- out_buf[output_index++] = b ^ 0x20;
+ int idx = input_unit_index * unit_size + byte_index_in_unit;
+ gdb_byte b = buffer[idx];
+ if (needs_escaping (b))
+ number_escape_bytes_needed++;
}
- else
+
+ /* Check if we have room to fit this escaped unit. */
+ if (output_byte_index + unit_size + number_escape_bytes_needed >
+ out_maxlen_bytes)
+ break;
+
+ /* Copy the unit byte per byte, adding escapes. */
+ for (byte_index_in_unit = 0;
+ byte_index_in_unit < unit_size;
+ byte_index_in_unit++)
{
- if (output_index + 1 > out_maxlen)
- break;
- out_buf[output_index++] = b;
+ int idx = input_unit_index * unit_size + byte_index_in_unit;
+ gdb_byte b = buffer[idx];
+ if (needs_escaping (b))
+ {
+ out_buf[output_byte_index++] = '}';
+ out_buf[output_byte_index++] = b ^ 0x20;
+ }
+ else
+ out_buf[output_byte_index++] = b;
}
}
- *out_len = input_index;
- return output_index;
+ *out_len_units = input_unit_index;
+ return output_byte_index;
}
/* See rsp-low.h. */
diff --git a/gdb/common/rsp-low.h b/gdb/common/rsp-low.h
index d62f67e81be..f45d0ae9e9d 100644
--- a/gdb/common/rsp-low.h
+++ b/gdb/common/rsp-low.h
@@ -59,17 +59,17 @@ extern int hex2bin (const char *hex, gdb_byte *bin, int count);
extern int bin2hex (const gdb_byte *bin, char *hex, int count);
-/* Convert BUFFER, binary data at least LEN bytes long, into escaped
- binary data in OUT_BUF. Set *OUT_LEN to the length of the data
- encoded in OUT_BUF, and return the number of bytes in OUT_BUF
- (which may be more than *OUT_LEN due to escape characters). The
- total number of bytes in the output buffer will be at most
- OUT_MAXLEN. This function properly escapes '*', and so is suitable
+/* Convert BUFFER, binary data at least LEN_UNITS addressable memory units
+ long, into escaped binary data in OUT_BUF. Only copy memory units that fit
+ completely in OUT_BUF. Set *OUT_LEN_UNITS to the number of units from
+ BUFFER successfully encoded in OUT_BUF, and return the number of bytes used
+ in OUT_BUF. The total number of bytes in the output buffer will be at most
+ OUT_MAXLEN_BYTES. This function properly escapes '*', and so is suitable
for the server side as well as the client. */
-extern int remote_escape_output (const gdb_byte *buffer, int len,
- gdb_byte *out_buf, int *out_len,
- int out_maxlen);
+extern int remote_escape_output (const gdb_byte *buffer, int len_units,
+ int unit_size, gdb_byte *out_buf,
+ int *out_len_units, int out_maxlen_bytes);
/* Convert BUFFER, escaped data LEN bytes long, into binary data
in OUT_BUF. Return the number of bytes written to OUT_BUF.
diff --git a/gdb/compile/compile-c-support.c b/gdb/compile/compile-c-support.c
index 1711cdafb4f..39f06c6b752 100644
--- a/gdb/compile/compile-c-support.c
+++ b/gdb/compile/compile-c-support.c
@@ -131,7 +131,9 @@ print_one_macro (const char *name, const struct macro_definition *macro,
if (line == 0)
return;
- fprintf_filtered (file, "#define %s", name);
+ /* None of -Wno-builtin-macro-redefined, #undef first
+ or plain #define of the same value would avoid a warning. */
+ fprintf_filtered (file, "#ifndef %s\n# define %s", name, name);
if (macro->kind == macro_function_like)
{
@@ -147,7 +149,7 @@ print_one_macro (const char *name, const struct macro_definition *macro,
fputs_filtered (")", file);
}
- fprintf_filtered (file, " %s\n", macro->replacement);
+ fprintf_filtered (file, " %s\n#endif\n", macro->replacement);
}
/* Write macro definitions at PC to FILE. */
@@ -188,6 +190,24 @@ add_code_header (enum compile_i_scope_types type, struct ui_file *buf)
") {\n",
buf);
break;
+ case COMPILE_I_PRINT_ADDRESS_SCOPE:
+ case COMPILE_I_PRINT_VALUE_SCOPE:
+ /* <string.h> is needed for a memcpy call below. */
+ fputs_unfiltered ("#include <string.h>\n"
+ "void "
+ GCC_FE_WRAPPER_FUNCTION
+ " (struct "
+ COMPILE_I_SIMPLE_REGISTER_STRUCT_TAG
+ " *"
+ COMPILE_I_SIMPLE_REGISTER_ARG_NAME
+ ", "
+ COMPILE_I_PRINT_OUT_ARG_TYPE
+ " "
+ COMPILE_I_PRINT_OUT_ARG
+ ") {\n",
+ buf);
+ break;
+
case COMPILE_I_RAW_SCOPE:
break;
default:
@@ -205,6 +225,8 @@ add_code_footer (enum compile_i_scope_types type, struct ui_file *buf)
switch (type)
{
case COMPILE_I_SIMPLE_SCOPE:
+ case COMPILE_I_PRINT_ADDRESS_SCOPE:
+ case COMPILE_I_PRINT_VALUE_SCOPE:
fputs_unfiltered ("}\n", buf);
break;
case COMPILE_I_RAW_SCOPE:
@@ -252,7 +274,7 @@ generate_register_struct (struct ui_file *stream, struct gdbarch *gdbarch,
switch (TYPE_CODE (regtype))
{
case TYPE_CODE_PTR:
- fprintf_filtered (stream, "void *%s", regname);
+ fprintf_filtered (stream, "__gdb_uintptr %s", regname);
break;
case TYPE_CODE_INT:
@@ -340,8 +362,6 @@ c_compute_program (struct compile_instance *inst,
expr_block, expr_pc);
make_cleanup (xfree, registers_used);
- generate_register_struct (buf, gdbarch, registers_used);
-
fputs_unfiltered ("typedef unsigned int"
" __attribute__ ((__mode__(__pointer__)))"
" __gdb_uintptr;\n",
@@ -363,11 +383,15 @@ c_compute_program (struct compile_instance *inst,
" __gdb_int_%s;\n",
mode, mode);
}
+
+ generate_register_struct (buf, gdbarch, registers_used);
}
add_code_header (inst->scope, buf);
- if (inst->scope == COMPILE_I_SIMPLE_SCOPE)
+ if (inst->scope == COMPILE_I_SIMPLE_SCOPE
+ || inst->scope == COMPILE_I_PRINT_ADDRESS_SCOPE
+ || inst->scope == COMPILE_I_PRINT_VALUE_SCOPE)
{
ui_file_put (var_stream, ui_file_write_for_put, buf);
fputs_unfiltered ("#pragma GCC user_expression\n", buf);
@@ -381,7 +405,25 @@ c_compute_program (struct compile_instance *inst,
fputs_unfiltered ("{\n", buf);
fputs_unfiltered ("#line 1 \"gdb command line\"\n", buf);
- fputs_unfiltered (input, buf);
+
+ switch (inst->scope)
+ {
+ case COMPILE_I_PRINT_ADDRESS_SCOPE:
+ case COMPILE_I_PRINT_VALUE_SCOPE:
+ fprintf_unfiltered (buf,
+"__auto_type " COMPILE_I_EXPR_VAL " = %s;\n"
+"typeof (%s) *" COMPILE_I_EXPR_PTR_TYPE ";\n"
+"memcpy (" COMPILE_I_PRINT_OUT_ARG ", %s" COMPILE_I_EXPR_VAL ",\n"
+ "sizeof (*" COMPILE_I_EXPR_PTR_TYPE "));\n"
+ , input, input,
+ (inst->scope == COMPILE_I_PRINT_ADDRESS_SCOPE
+ ? "&" : ""));
+ break;
+ default:
+ fputs_unfiltered (input, buf);
+ break;
+ }
+
fputs_unfiltered ("\n", buf);
/* For larger user expressions the automatic semicolons may be
diff --git a/gdb/compile/compile-c-symbols.c b/gdb/compile/compile-c-symbols.c
index 15efeff7609..68d38ba2f71 100644
--- a/gdb/compile/compile-c-symbols.c
+++ b/gdb/compile/compile-c-symbols.c
@@ -20,7 +20,6 @@
#include "defs.h"
#include "compile-internal.h"
-#include "gdb_assert.h"
#include "symtab.h"
#include "parser-defs.h"
#include "block.h"
@@ -338,7 +337,7 @@ convert_symbol_sym (struct compile_c_instance *context, const char *identifier,
&& block_found != block_static_block (block_found))
{
if (compile_debug)
- fprintf_unfiltered (gdb_stdout,
+ fprintf_unfiltered (gdb_stdlog,
"gcc_convert_symbol \"%s\": global symbol\n",
identifier);
convert_one_symbol (context, global_sym, 1, 0);
@@ -346,7 +345,7 @@ convert_symbol_sym (struct compile_c_instance *context, const char *identifier,
}
if (compile_debug)
- fprintf_unfiltered (gdb_stdout,
+ fprintf_unfiltered (gdb_stdlog,
"gcc_convert_symbol \"%s\": local symbol\n",
identifier);
convert_one_symbol (context, sym, 0, is_local_symbol);
@@ -473,7 +472,7 @@ gcc_convert_symbol (void *datum,
END_CATCH
if (compile_debug && !found)
- fprintf_unfiltered (gdb_stdout,
+ fprintf_unfiltered (gdb_stdlog,
"gcc_convert_symbol \"%s\": lookup_symbol failed\n",
identifier);
return;
@@ -500,7 +499,7 @@ gcc_symbol_address (void *datum, struct gcc_c_context *gcc_context,
if (sym != NULL && SYMBOL_CLASS (sym) == LOC_BLOCK)
{
if (compile_debug)
- fprintf_unfiltered (gdb_stdout,
+ fprintf_unfiltered (gdb_stdlog,
"gcc_symbol_address \"%s\": full symbol\n",
identifier);
result = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
@@ -516,7 +515,7 @@ gcc_symbol_address (void *datum, struct gcc_c_context *gcc_context,
if (msym.minsym != NULL)
{
if (compile_debug)
- fprintf_unfiltered (gdb_stdout,
+ fprintf_unfiltered (gdb_stdlog,
"gcc_symbol_address \"%s\": minimal "
"symbol\n",
identifier);
@@ -535,7 +534,7 @@ gcc_symbol_address (void *datum, struct gcc_c_context *gcc_context,
END_CATCH
if (compile_debug && !found)
- fprintf_unfiltered (gdb_stdout,
+ fprintf_unfiltered (gdb_stdlog,
"gcc_symbol_address \"%s\": failed\n",
identifier);
return result;
diff --git a/gdb/compile/compile-c-types.c b/gdb/compile/compile-c-types.c
index 2b521bcb72f..22f5a9d8399 100644
--- a/gdb/compile/compile-c-types.c
+++ b/gdb/compile/compile-c-types.c
@@ -21,8 +21,6 @@
#include "defs.h"
#include "gdbtypes.h"
#include "compile-internal.h"
-#include "gdb_assert.h"
-
/* An object that maps a gdb type to a gcc type. */
struct type_map_instance
diff --git a/gdb/compile/compile-internal.h b/gdb/compile/compile-internal.h
index c369d465a74..b1a5a88de4f 100644
--- a/gdb/compile/compile-internal.h
+++ b/gdb/compile/compile-internal.h
@@ -84,6 +84,10 @@ struct compile_c_instance
#define COMPILE_I_SIMPLE_REGISTER_STRUCT_TAG "__gdb_regs"
#define COMPILE_I_SIMPLE_REGISTER_ARG_NAME "__regs"
#define COMPILE_I_SIMPLE_REGISTER_DUMMY "_dummy"
+#define COMPILE_I_PRINT_OUT_ARG_TYPE "void *"
+#define COMPILE_I_PRINT_OUT_ARG "__gdb_out_param"
+#define COMPILE_I_EXPR_VAL "__gdb_expr_val"
+#define COMPILE_I_EXPR_PTR_TYPE "__gdb_expr_ptr_type"
/* Call gdbarch_register_name (GDBARCH, REGNUM) and convert its result
to a form suitable for the compiler source. The register names
diff --git a/gdb/compile/compile-loc2c.c b/gdb/compile/compile-loc2c.c
index 6a3615d45ab..6f538142891 100644
--- a/gdb/compile/compile-loc2c.c
+++ b/gdb/compile/compile-loc2c.c
@@ -436,7 +436,8 @@ compute_stack_depth (enum bfd_endian byte_order, unsigned int addr_size,
static void
push (int indent, struct ui_file *stream, ULONGEST l)
{
- fprintfi_filtered (indent, stream, "__gdb_stack[++__gdb_tos] = %s;\n",
+ fprintfi_filtered (indent, stream,
+ "__gdb_stack[++__gdb_tos] = (" GCC_UINTPTR ") %s;\n",
hex_string (l));
}
@@ -520,7 +521,8 @@ pushf_register_address (int indent, struct ui_file *stream,
struct cleanup *cleanups = make_cleanup (xfree, regname);
registers_used[regnum] = 1;
- pushf (indent, stream, "&" COMPILE_I_SIMPLE_REGISTER_ARG_NAME "->%s",
+ pushf (indent, stream,
+ "(" GCC_UINTPTR ") &" COMPILE_I_SIMPLE_REGISTER_ARG_NAME "->%s",
regname);
do_cleanups (cleanups);
@@ -544,7 +546,8 @@ pushf_register (int indent, struct ui_file *stream,
pushf (indent, stream, COMPILE_I_SIMPLE_REGISTER_ARG_NAME "->%s",
regname);
else
- pushf (indent, stream, COMPILE_I_SIMPLE_REGISTER_ARG_NAME "->%s + %s",
+ pushf (indent, stream,
+ COMPILE_I_SIMPLE_REGISTER_ARG_NAME "->%s + (" GCC_UINTPTR ") %s",
regname, hex_string (offset));
do_cleanups (cleanups);
@@ -605,7 +608,8 @@ do_compile_dwarf_expr_to_c (int indent, struct ui_file *stream,
++scope;
- fprintfi_filtered (indent, stream, "%s%s;\n", type_name, result_name);
+ fprintfi_filtered (indent, stream, "__attribute__ ((unused)) %s %s;\n",
+ type_name, result_name);
fprintfi_filtered (indent, stream, "{\n");
indent += 2;
@@ -899,7 +903,7 @@ do_compile_dwarf_expr_to_c (int indent, struct ui_file *stream,
(long) (op_ptr - base));
do_compile_dwarf_expr_to_c (indent, stream,
- "void *", fb_name,
+ GCC_UINTPTR, fb_name,
sym, pc,
arch, registers_used, addr_size,
datastart, datastart + datalen,
@@ -1080,7 +1084,7 @@ do_compile_dwarf_expr_to_c (int indent, struct ui_file *stream,
"__cfa_%ld", (long) (op_ptr - base));
do_compile_dwarf_expr_to_c (indent, stream,
- "void *", cfa_name,
+ GCC_UINTPTR, cfa_name,
sym, pc, arch, registers_used,
addr_size,
cfa_start, cfa_end,
@@ -1117,8 +1121,8 @@ do_compile_dwarf_expr_to_c (int indent, struct ui_file *stream,
}
}
- fprintfi_filtered (indent, stream, "%s = (%s) __gdb_stack[__gdb_tos];\n",
- result_name, type_name);
+ fprintfi_filtered (indent, stream, "%s = __gdb_stack[__gdb_tos];\n",
+ result_name);
fprintfi_filtered (indent - 2, stream, "}\n");
do_cleanups (cleanup);
@@ -1134,7 +1138,7 @@ compile_dwarf_expr_to_c (struct ui_file *stream, const char *result_name,
const gdb_byte *op_ptr, const gdb_byte *op_end,
struct dwarf2_per_cu_data *per_cu)
{
- do_compile_dwarf_expr_to_c (2, stream, "void *", result_name, sym, pc,
+ do_compile_dwarf_expr_to_c (2, stream, GCC_UINTPTR, result_name, sym, pc,
arch, registers_used, addr_size, op_ptr, op_end,
NULL, per_cu);
}
diff --git a/gdb/compile/compile-object-load.c b/gdb/compile/compile-object-load.c
index fe234489849..2b29b8b14fc 100644
--- a/gdb/compile/compile-object-load.c
+++ b/gdb/compile/compile-object-load.c
@@ -29,8 +29,61 @@
#include "regcache.h"
#include "inferior.h"
#include "compile.h"
+#include "block.h"
#include "arch-utils.h"
+/* Track inferior memory reserved by inferior mmap. */
+
+struct munmap_list
+{
+ struct munmap_list *next;
+ CORE_ADDR addr, size;
+};
+
+/* Add inferior mmap memory range ADDR..ADDR+SIZE (exclusive) to list
+ HEADP. *HEADP needs to be initialized to NULL. */
+
+static void
+munmap_list_add (struct munmap_list **headp, CORE_ADDR addr, CORE_ADDR size)
+{
+ struct munmap_list *head_new = xmalloc (sizeof (*head_new));
+
+ head_new->next = *headp;
+ *headp = head_new;
+ head_new->addr = addr;
+ head_new->size = size;
+}
+
+/* Free list of inferior mmap memory ranges HEAD. HEAD is the first
+ element of the list, it can be NULL. After calling this function
+ HEAD pointer is invalid and the possible list needs to be
+ reinitialized by caller to NULL. */
+
+void
+munmap_list_free (struct munmap_list *head)
+{
+ while (head)
+ {
+ struct munmap_list *todo = head;
+
+ head = todo->next;
+ gdbarch_infcall_munmap (target_gdbarch (), todo->addr, todo->size);
+ xfree (todo);
+ }
+}
+
+/* Stub for munmap_list_free suitable for make_cleanup. Contrary to
+ munmap_list_free this function's parameter is a pointer to the first
+ list element pointer. */
+
+static void
+munmap_listp_free_cleanup (void *headp_voidp)
+{
+ struct munmap_list **headp = headp_voidp;
+
+ munmap_list_free (*headp);
+}
+
/* Helper data for setup_sections. */
struct setup_sections_data
@@ -47,6 +100,10 @@ struct setup_sections_data
/* Maximum of alignments of all sections matching LAST_PROT.
This value is always at least 1. This value is always a power of 2. */
CORE_ADDR last_max_alignment;
+
+ /* List of inferior mmap ranges where setup_sections should add its
+ next range. */
+ struct munmap_list **munmap_list_headp;
};
/* Place all ABFD sections next to each other obeying all constraints. */
@@ -75,7 +132,7 @@ setup_sections (bfd *abfd, asection *sect, void *data_voidp)
prot |= GDB_MMAP_PROT_EXEC;
if (compile_debug)
- fprintf_unfiltered (gdb_stdout,
+ fprintf_unfiltered (gdb_stdlog,
"module \"%s\" section \"%s\" size %s prot %u\n",
bfd_get_filename (abfd),
bfd_get_section_name (abfd, sect),
@@ -96,8 +153,9 @@ setup_sections (bfd *abfd, asection *sect, void *data_voidp)
{
addr = gdbarch_infcall_mmap (target_gdbarch (), data->last_size,
data->last_prot);
+ munmap_list_add (data->munmap_list_headp, addr, data->last_size);
if (compile_debug)
- fprintf_unfiltered (gdb_stdout,
+ fprintf_unfiltered (gdb_stdlog,
"allocated %s bytes at %s prot %u\n",
paddress (target_gdbarch (), data->last_size),
paddress (target_gdbarch (), addr),
@@ -354,40 +412,132 @@ copy_sections (bfd *abfd, asection *sect, void *data)
do_cleanups (cleanups);
}
-/* Fetch the type of first parameter of GCC_FE_WRAPPER_FUNCTION.
- Return NULL if GCC_FE_WRAPPER_FUNCTION has no parameters.
- Throw an error otherwise. */
+/* Fetch the type of COMPILE_I_EXPR_PTR_TYPE and COMPILE_I_EXPR_VAL
+ symbols in OBJFILE so we can calculate how much memory to allocate
+ for the out parameter. This avoids needing a malloc in the generated
+ code. Throw an error if anything fails.
+ GDB first tries to compile the code with COMPILE_I_PRINT_ADDRESS_SCOPE.
+ If it finds user tries to print an array type this function returns
+ NULL. Caller will then regenerate the code with
+ COMPILE_I_PRINT_VALUE_SCOPE, recompiles it again and finally runs it.
+ This is because __auto_type array-to-pointer type conversion of
+ COMPILE_I_EXPR_VAL which gets detected by COMPILE_I_EXPR_PTR_TYPE
+ preserving the array type. */
static struct type *
-get_regs_type (struct objfile *objfile)
+get_out_value_type (struct symbol *func_sym, struct objfile *objfile,
+ enum compile_i_scope_types scope)
{
- struct symbol *func_sym;
- struct type *func_type, *regsp_type, *regs_type;
+ struct symbol *gdb_ptr_type_sym;
+ /* Initialize it just to avoid a GCC false warning. */
+ struct symbol *gdb_val_sym = NULL;
+ struct type *gdb_ptr_type, *gdb_type_from_ptr, *gdb_type, *retval;
+ /* Initialize it just to avoid a GCC false warning. */
+ const struct block *block = NULL;
+ const struct blockvector *bv;
+ int nblocks = 0;
+ int block_loop = 0;
+
+ bv = SYMTAB_BLOCKVECTOR (func_sym->owner.symtab);
+ nblocks = BLOCKVECTOR_NBLOCKS (bv);
+
+ gdb_ptr_type_sym = NULL;
+ for (block_loop = 0; block_loop < nblocks; block_loop++)
+ {
+ struct symbol *function = NULL;
+ const struct block *function_block;
- func_sym = lookup_global_symbol_from_objfile (objfile,
- GCC_FE_WRAPPER_FUNCTION,
- VAR_DOMAIN);
- if (func_sym == NULL)
- error (_("Cannot find function \"%s\" in compiled module \"%s\"."),
- GCC_FE_WRAPPER_FUNCTION, objfile_name (objfile));
+ block = BLOCKVECTOR_BLOCK (bv, block_loop);
+ if (BLOCK_FUNCTION (block) != NULL)
+ continue;
+ gdb_val_sym = block_lookup_symbol (block, COMPILE_I_EXPR_VAL, VAR_DOMAIN);
+ if (gdb_val_sym == NULL)
+ continue;
- func_type = SYMBOL_TYPE (func_sym);
- if (TYPE_CODE (func_type) != TYPE_CODE_FUNC)
- error (_("Invalid type code %d of function \"%s\" in compiled "
- "module \"%s\"."),
- TYPE_CODE (func_type), GCC_FE_WRAPPER_FUNCTION,
+ function_block = block;
+ while (function_block != BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK)
+ && function_block != BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK))
+ {
+ function_block = BLOCK_SUPERBLOCK (function_block);
+ function = BLOCK_FUNCTION (function_block);
+ if (function != NULL)
+ break;
+ }
+ if (function != NULL
+ && (BLOCK_SUPERBLOCK (function_block)
+ == BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK))
+ && (strcmp (SYMBOL_LINKAGE_NAME (function), GCC_FE_WRAPPER_FUNCTION)
+ == 0))
+ break;
+ }
+ if (block_loop == nblocks)
+ error (_("No \"%s\" symbol found"), COMPILE_I_EXPR_PTR_TYPE);
+
+ gdb_type = SYMBOL_TYPE (gdb_val_sym);
+ CHECK_TYPEDEF (gdb_type);
+
+ gdb_ptr_type_sym = block_lookup_symbol (block, COMPILE_I_EXPR_PTR_TYPE,
+ VAR_DOMAIN);
+ if (gdb_ptr_type_sym == NULL)
+ error (_("No \"%s\" symbol found"), COMPILE_I_EXPR_PTR_TYPE);
+ gdb_ptr_type = SYMBOL_TYPE (gdb_ptr_type_sym);
+ CHECK_TYPEDEF (gdb_ptr_type);
+ if (TYPE_CODE (gdb_ptr_type) != TYPE_CODE_PTR)
+ error (_("Type of \"%s\" is not a pointer"), COMPILE_I_EXPR_PTR_TYPE);
+ gdb_type_from_ptr = TYPE_TARGET_TYPE (gdb_ptr_type);
+
+ if (types_deeply_equal (gdb_type, gdb_type_from_ptr))
+ {
+ if (scope != COMPILE_I_PRINT_ADDRESS_SCOPE)
+ error (_("Expected address scope in compiled module \"%s\"."),
+ objfile_name (objfile));
+ return gdb_type;
+ }
+
+ if (TYPE_CODE (gdb_type) != TYPE_CODE_PTR)
+ error (_("Invalid type code %d of symbol \"%s\" "
+ "in compiled module \"%s\"."),
+ TYPE_CODE (gdb_type_from_ptr), COMPILE_I_EXPR_VAL,
+ objfile_name (objfile));
+
+ retval = gdb_type_from_ptr;
+ switch (TYPE_CODE (gdb_type_from_ptr))
+ {
+ case TYPE_CODE_ARRAY:
+ gdb_type_from_ptr = TYPE_TARGET_TYPE (gdb_type_from_ptr);
+ break;
+ case TYPE_CODE_FUNC:
+ break;
+ default:
+ error (_("Invalid type code %d of symbol \"%s\" "
+ "in compiled module \"%s\"."),
+ TYPE_CODE (gdb_type_from_ptr), COMPILE_I_EXPR_PTR_TYPE,
+ objfile_name (objfile));
+ }
+ if (!types_deeply_equal (gdb_type_from_ptr,
+ TYPE_TARGET_TYPE (gdb_type)))
+ error (_("Referenced types do not match for symbols \"%s\" and \"%s\" "
+ "in compiled module \"%s\"."),
+ COMPILE_I_EXPR_PTR_TYPE, COMPILE_I_EXPR_VAL,
objfile_name (objfile));
+ if (scope == COMPILE_I_PRINT_ADDRESS_SCOPE)
+ return NULL;
+ return retval;
+}
+
+/* Fetch the type of first parameter of FUNC_SYM.
+ Return NULL if FUNC_SYM has no parameters. Throw an error otherwise. */
+
+static struct type *
+get_regs_type (struct symbol *func_sym, struct objfile *objfile)
+{
+ struct type *func_type = SYMBOL_TYPE (func_sym);
+ struct type *regsp_type, *regs_type;
/* No register parameter present. */
if (TYPE_NFIELDS (func_type) == 0)
return NULL;
- if (TYPE_NFIELDS (func_type) != 1)
- error (_("Invalid %d parameters of function \"%s\" in compiled "
- "module \"%s\"."),
- TYPE_NFIELDS (func_type), GCC_FE_WRAPPER_FUNCTION,
- objfile_name (objfile));
-
regsp_type = check_typedef (TYPE_FIELD_TYPE (func_type, 0));
if (TYPE_CODE (regsp_type) != TYPE_CODE_PTR)
error (_("Invalid type code %d of first parameter of function \"%s\" "
@@ -461,15 +611,20 @@ store_regs (struct type *regs_type, CORE_ADDR regs_base)
Caller must fully dispose the return value by calling compile_object_run.
SOURCE_FILE's copy is stored into the returned object.
Caller should free both OBJECT_FILE and SOURCE_FILE immediatelly after this
- function returns. */
+ function returns.
+ Function returns NULL only for COMPILE_I_PRINT_ADDRESS_SCOPE when
+ COMPILE_I_PRINT_VALUE_SCOPE should have been used instead. */
struct compile_module *
-compile_object_load (const char *object_file, const char *source_file)
+compile_object_load (const char *object_file, const char *source_file,
+ enum compile_i_scope_types scope, void *scope_data)
{
struct cleanup *cleanups, *cleanups_free_objfile;
bfd *abfd;
struct setup_sections_data setup_sections_data;
- CORE_ADDR addr, func_addr, regs_addr;
+ CORE_ADDR addr, regs_addr, out_value_addr = 0;
+ struct symbol *func_sym;
+ struct type *func_type;
struct bound_minimal_symbol bmsym;
long storage_needed;
asymbol **symbol_table, **symp;
@@ -477,9 +632,12 @@ compile_object_load (const char *object_file, const char *source_file)
struct type *dptr_type = builtin_type (target_gdbarch ())->builtin_data_ptr;
unsigned dptr_type_len = TYPE_LENGTH (dptr_type);
struct compile_module *retval;
- struct type *regs_type;
+ struct type *regs_type, *out_value_type = NULL;
char *filename, **matching;
struct objfile *objfile;
+ int expect_parameters;
+ struct type *expect_return_type;
+ struct munmap_list *munmap_list_head = NULL;
filename = tilde_expand (object_file);
cleanups = make_cleanup (xfree, filename);
@@ -501,6 +659,8 @@ compile_object_load (const char *object_file, const char *source_file)
setup_sections_data.last_section_first = abfd->sections;
setup_sections_data.last_prot = -1;
setup_sections_data.last_max_alignment = 1;
+ setup_sections_data.munmap_list_headp = &munmap_list_head;
+ make_cleanup (munmap_listp_free_cleanup, &munmap_list_head);
bfd_map_over_sections (abfd, setup_sections, &setup_sections_data);
setup_sections (abfd, NULL, &setup_sections_data);
@@ -514,11 +674,46 @@ compile_object_load (const char *object_file, const char *source_file)
objfile = symbol_file_add_from_bfd (abfd, filename, 0, NULL, 0, NULL);
cleanups_free_objfile = make_cleanup_free_objfile (objfile);
- bmsym = lookup_minimal_symbol_text (GCC_FE_WRAPPER_FUNCTION, objfile);
- if (bmsym.minsym == NULL || MSYMBOL_TYPE (bmsym.minsym) == mst_file_text)
- error (_("Could not find symbol \"%s\" of compiled module \"%s\"."),
- GCC_FE_WRAPPER_FUNCTION, filename);
- func_addr = BMSYMBOL_VALUE_ADDRESS (bmsym);
+ func_sym = lookup_global_symbol_from_objfile (objfile,
+ GCC_FE_WRAPPER_FUNCTION,
+ VAR_DOMAIN);
+ if (func_sym == NULL)
+ error (_("Cannot find function \"%s\" in compiled module \"%s\"."),
+ GCC_FE_WRAPPER_FUNCTION, objfile_name (objfile));
+ func_type = SYMBOL_TYPE (func_sym);
+ if (TYPE_CODE (func_type) != TYPE_CODE_FUNC)
+ error (_("Invalid type code %d of function \"%s\" in compiled "
+ "module \"%s\"."),
+ TYPE_CODE (func_type), GCC_FE_WRAPPER_FUNCTION,
+ objfile_name (objfile));
+
+ switch (scope)
+ {
+ case COMPILE_I_SIMPLE_SCOPE:
+ expect_parameters = 1;
+ expect_return_type = builtin_type (target_gdbarch ())->builtin_void;
+ break;
+ case COMPILE_I_RAW_SCOPE:
+ expect_parameters = 0;
+ expect_return_type = builtin_type (target_gdbarch ())->builtin_void;
+ break;
+ case COMPILE_I_PRINT_ADDRESS_SCOPE:
+ case COMPILE_I_PRINT_VALUE_SCOPE:
+ expect_parameters = 2;
+ expect_return_type = builtin_type (target_gdbarch ())->builtin_void;
+ break;
+ default:
+ internal_error (__FILE__, __LINE__, _("invalid scope %d"), scope);
+ }
+ if (TYPE_NFIELDS (func_type) != expect_parameters)
+ error (_("Invalid %d parameters of function \"%s\" in compiled "
+ "module \"%s\"."),
+ TYPE_NFIELDS (func_type), GCC_FE_WRAPPER_FUNCTION,
+ objfile_name (objfile));
+ if (!types_deeply_equal (expect_return_type, TYPE_TARGET_TYPE (func_type)))
+ error (_("Invalid return type of function \"%s\" in compiled "
+ "module \"%s\"."),
+ GCC_FE_WRAPPER_FUNCTION, objfile_name (objfile));
/* The memory may be later needed
by bfd_generic_get_relocated_section_contents
@@ -537,7 +732,7 @@ compile_object_load (const char *object_file, const char *source_file)
if (sym->flags != 0)
continue;
if (compile_debug)
- fprintf_unfiltered (gdb_stdout,
+ fprintf_unfiltered (gdb_stdlog,
"lookup undefined ELF symbol \"%s\"\n",
sym->name);
sym->flags = BSF_GLOBAL;
@@ -570,7 +765,7 @@ compile_object_load (const char *object_file, const char *source_file)
bfd_map_over_sections (abfd, copy_sections, symbol_table);
- regs_type = get_regs_type (objfile);
+ regs_type = get_regs_type (func_sym, objfile);
if (regs_type == NULL)
regs_addr = 0;
else
@@ -580,16 +775,58 @@ compile_object_load (const char *object_file, const char *source_file)
TYPE_LENGTH (regs_type),
GDB_MMAP_PROT_READ);
gdb_assert (regs_addr != 0);
+ munmap_list_add (&munmap_list_head, regs_addr, TYPE_LENGTH (regs_type));
+ if (compile_debug)
+ fprintf_unfiltered (gdb_stdlog,
+ "allocated %s bytes at %s for registers\n",
+ paddress (target_gdbarch (),
+ TYPE_LENGTH (regs_type)),
+ paddress (target_gdbarch (), regs_addr));
store_regs (regs_type, regs_addr);
}
+ if (scope == COMPILE_I_PRINT_ADDRESS_SCOPE
+ || scope == COMPILE_I_PRINT_VALUE_SCOPE)
+ {
+ out_value_type = get_out_value_type (func_sym, objfile, scope);
+ if (out_value_type == NULL)
+ {
+ do_cleanups (cleanups);
+ return NULL;
+ }
+ check_typedef (out_value_type);
+ out_value_addr = gdbarch_infcall_mmap (target_gdbarch (),
+ TYPE_LENGTH (out_value_type),
+ (GDB_MMAP_PROT_READ
+ | GDB_MMAP_PROT_WRITE));
+ gdb_assert (out_value_addr != 0);
+ munmap_list_add (&munmap_list_head, out_value_addr,
+ TYPE_LENGTH (out_value_type));
+ if (compile_debug)
+ fprintf_unfiltered (gdb_stdlog,
+ "allocated %s bytes at %s for printed value\n",
+ paddress (target_gdbarch (),
+ TYPE_LENGTH (out_value_type)),
+ paddress (target_gdbarch (), out_value_addr));
+ }
+
discard_cleanups (cleanups_free_objfile);
- do_cleanups (cleanups);
retval = xmalloc (sizeof (*retval));
retval->objfile = objfile;
retval->source_file = xstrdup (source_file);
- retval->func_addr = func_addr;
+ retval->func_sym = func_sym;
retval->regs_addr = regs_addr;
+ retval->scope = scope;
+ retval->scope_data = scope_data;
+ retval->out_value_type = out_value_type;
+ retval->out_value_addr = out_value_addr;
+
+ /* CLEANUPS will free MUNMAP_LIST_HEAD. */
+ retval->munmap_list_head = munmap_list_head;
+ munmap_list_head = NULL;
+
+ do_cleanups (cleanups);
+
return retval;
}
diff --git a/gdb/compile/compile-object-load.h b/gdb/compile/compile-object-load.h
index bef575ed36b..44a7592e381 100644
--- a/gdb/compile/compile-object-load.h
+++ b/gdb/compile/compile-object-load.h
@@ -17,6 +17,8 @@
#ifndef GDB_COMPILE_OBJECT_LOAD_H
#define GDB_COMPILE_OBJECT_LOAD_H
+struct munmap_list;
+
struct compile_module
{
/* objfile for the compiled module. */
@@ -25,15 +27,34 @@ struct compile_module
/* .c file OBJFILE was built from. It needs to be xfree-d. */
char *source_file;
- /* Inferior function address. */
- CORE_ADDR func_addr;
+ /* Inferior function GCC_FE_WRAPPER_FUNCTION. */
+ struct symbol *func_sym;
/* Inferior registers address or NULL if the inferior function does not
require any. */
CORE_ADDR regs_addr;
+
+ /* The "scope" of this compilation. */
+ enum compile_i_scope_types scope;
+
+ /* User data for SCOPE in use. */
+ void *scope_data;
+
+ /* Inferior parameter out value type or NULL if the inferior function does not
+ have one. */
+ struct type *out_value_type;
+
+ /* If the inferior function has an out value, this is its address.
+ Otherwise it is zero. */
+ CORE_ADDR out_value_addr;
+
+ /* Track inferior memory reserved by inferior mmap. */
+ struct munmap_list *munmap_list_head;
};
-extern struct compile_module *compile_object_load (const char *object_file,
- const char *source_file);
+extern struct compile_module *compile_object_load
+ (const char *object_file, const char *source_file,
+ enum compile_i_scope_types scope, void *scope_data);
+extern void munmap_list_free (struct munmap_list *head);
#endif /* GDB_COMPILE_OBJECT_LOAD_H */
diff --git a/gdb/compile/compile-object-run.c b/gdb/compile/compile-object-run.c
index 422693b6167..ce47831c998 100644
--- a/gdb/compile/compile-object-run.c
+++ b/gdb/compile/compile-object-run.c
@@ -24,6 +24,9 @@
#include "objfiles.h"
#include "compile-internal.h"
#include "dummy-frame.h"
+#include "block.h"
+#include "valprint.h"
+#include "compile.h"
/* Helper for do_module_cleanup. */
@@ -36,6 +39,17 @@ struct do_module_cleanup
/* .c file OBJFILE was built from. It needs to be xfree-d. */
char *source_file;
+ /* Copy from struct compile_module. */
+ enum compile_i_scope_types scope;
+ void *scope_data;
+
+ /* Copy from struct compile_module. */
+ struct type *out_value_type;
+ CORE_ADDR out_value_addr;
+
+ /* Copy from struct compile_module. */
+ struct munmap_list *munmap_list_head;
+
/* objfile_name of our objfile. */
char objfile_name_string[1];
};
@@ -51,7 +65,23 @@ do_module_cleanup (void *arg, int registers_valid)
struct objfile *objfile;
if (data->executedp != NULL)
- *data->executedp = 1;
+ {
+ *data->executedp = 1;
+
+ /* This code cannot be in compile_object_run as OUT_VALUE_TYPE
+ no longer exists there. */
+ if (data->scope == COMPILE_I_PRINT_ADDRESS_SCOPE
+ || data->scope == COMPILE_I_PRINT_VALUE_SCOPE)
+ {
+ struct value *addr_value;
+ struct type *ptr_type = lookup_pointer_type (data->out_value_type);
+
+ addr_value = value_from_pointer (ptr_type, data->out_value_addr);
+
+ /* SCOPE_DATA would be stale unlesse EXECUTEDP != NULL. */
+ compile_print_value (value_ind (addr_value), data->scope_data);
+ }
+ }
ALL_OBJFILES (objfile)
if ((objfile->flags & OBJF_USERLOADED) == 0
@@ -69,6 +99,8 @@ do_module_cleanup (void *arg, int registers_valid)
unlink (data->source_file);
xfree (data->source_file);
+ munmap_list_free (data->munmap_list_head);
+
/* Delete the .o file. */
unlink (data->objfile_name_string);
xfree (data);
@@ -89,36 +121,58 @@ compile_object_run (struct compile_module *module)
struct do_module_cleanup *data;
const char *objfile_name_s = objfile_name (module->objfile);
int dtor_found, executed = 0;
- CORE_ADDR func_addr = module->func_addr;
+ struct symbol *func_sym = module->func_sym;
CORE_ADDR regs_addr = module->regs_addr;
+ struct objfile *objfile = module->objfile;
data = xmalloc (sizeof (*data) + strlen (objfile_name_s));
data->executedp = &executed;
data->source_file = xstrdup (module->source_file);
strcpy (data->objfile_name_string, objfile_name_s);
+ data->scope = module->scope;
+ data->scope_data = module->scope_data;
+ data->out_value_type = module->out_value_type;
+ data->out_value_addr = module->out_value_addr;
+ data->munmap_list_head = module->munmap_list_head;
xfree (module->source_file);
xfree (module);
+ module = NULL;
TRY
{
- func_val = value_from_pointer
- (builtin_type (target_gdbarch ())->builtin_func_ptr,
- func_addr);
-
- if (regs_addr == 0)
- call_function_by_hand_dummy (func_val, 0, NULL,
- do_module_cleanup, data);
- else
+ struct type *func_type = SYMBOL_TYPE (func_sym);
+ htab_t copied_types;
+ int current_arg = 0;
+ struct value **vargs;
+
+ /* OBJFILE may disappear while FUNC_TYPE still will be in use. */
+ copied_types = create_copied_types_hash (objfile);
+ func_type = copy_type_recursive (objfile, func_type, copied_types);
+ htab_delete (copied_types);
+
+ gdb_assert (TYPE_CODE (func_type) == TYPE_CODE_FUNC);
+ func_val = value_from_pointer (lookup_pointer_type (func_type),
+ BLOCK_START (SYMBOL_BLOCK_VALUE (func_sym)));
+
+ vargs = alloca (sizeof (*vargs) * TYPE_NFIELDS (func_type));
+ if (TYPE_NFIELDS (func_type) >= 1)
{
- struct value *arg_val;
-
- arg_val = value_from_pointer
- (builtin_type (target_gdbarch ())->builtin_func_ptr,
- regs_addr);
- call_function_by_hand_dummy (func_val, 1, &arg_val,
- do_module_cleanup, data);
+ gdb_assert (regs_addr != 0);
+ vargs[current_arg] = value_from_pointer
+ (TYPE_FIELD_TYPE (func_type, current_arg), regs_addr);
+ ++current_arg;
+ }
+ if (TYPE_NFIELDS (func_type) >= 2)
+ {
+ gdb_assert (data->out_value_addr != 0);
+ vargs[current_arg] = value_from_pointer
+ (TYPE_FIELD_TYPE (func_type, current_arg), data->out_value_addr);
+ ++current_arg;
}
+ gdb_assert (current_arg == TYPE_NFIELDS (func_type));
+ call_function_by_hand_dummy (func_val, TYPE_NFIELDS (func_type), vargs,
+ do_module_cleanup, data);
}
CATCH (ex, RETURN_MASK_ERROR)
{
diff --git a/gdb/compile/compile.c b/gdb/compile/compile.c
index 5ede27b8c3e..499c53052f0 100644
--- a/gdb/compile/compile.c
+++ b/gdb/compile/compile.c
@@ -38,6 +38,7 @@
#include "target.h"
#include "osabi.h"
#include "gdb_wait.h"
+#include "valprint.h"
@@ -117,7 +118,7 @@ compile_file_command (char *arg, int from_tty)
make_cleanup (xfree, arg);
buffer = xstrprintf ("#include \"%s\"\n", arg);
make_cleanup (xfree, buffer);
- eval_compile_command (NULL, buffer, scope);
+ eval_compile_command (NULL, buffer, scope, NULL);
do_cleanups (cleanup);
}
@@ -150,7 +151,7 @@ compile_code_command (char *arg, int from_tty)
}
if (arg && *arg)
- eval_compile_command (NULL, arg, scope);
+ eval_compile_command (NULL, arg, scope, NULL);
else
{
struct command_line *l = get_command_line (compile_control, "");
@@ -163,6 +164,51 @@ compile_code_command (char *arg, int from_tty)
do_cleanups (cleanup);
}
+/* Callback for compile_print_command. */
+
+void
+compile_print_value (struct value *val, void *data_voidp)
+{
+ const struct format_data *fmtp = data_voidp;
+
+ print_value (val, fmtp);
+}
+
+/* Handle the input from the 'compile print' command. The "compile
+ print" command is used to evaluate and print an expression that may
+ contain calls to the GCC compiler. The language expected in this
+ compile command is the language currently set in GDB. */
+
+static void
+compile_print_command (char *arg_param, int from_tty)
+{
+ const char *arg = arg_param;
+ struct cleanup *cleanup;
+ enum compile_i_scope_types scope = COMPILE_I_PRINT_ADDRESS_SCOPE;
+ struct format_data fmt;
+
+ cleanup = make_cleanup_restore_integer (&interpreter_async);
+ interpreter_async = 0;
+
+ /* Passing &FMT as SCOPE_DATA is safe as do_module_cleanup will not
+ touch the stale pointer if compile_object_run has already quit. */
+ print_command_parse_format (&arg, "compile print", &fmt);
+
+ if (arg && *arg)
+ eval_compile_command (NULL, arg, scope, &fmt);
+ else
+ {
+ struct command_line *l = get_command_line (compile_control, "");
+
+ make_cleanup_free_command_lines (&l);
+ l->control_u.compile.scope = scope;
+ l->control_u.compile.scope_data = &fmt;
+ execute_control_command_untraced (l);
+ }
+
+ do_cleanups (cleanup);
+}
+
/* A cleanup function to remove a directory and all its contents. */
static void
@@ -482,7 +528,7 @@ compile_to_object (struct command_line *cmd, const char *cmd_string,
expr_block, expr_pc);
make_cleanup (xfree, code);
if (compile_debug)
- fprintf_unfiltered (gdb_stdout, "debug output:\n\n%s", code);
+ fprintf_unfiltered (gdb_stdlog, "debug output:\n\n%s", code);
os_rx = osabi_triplet_regexp (gdbarch_osabi (gdbarch));
arch_rx = gdbarch_gnu_triplet_regexp (gdbarch);
@@ -507,9 +553,9 @@ compile_to_object (struct command_line *cmd, const char *cmd_string,
{
int argi;
- fprintf_unfiltered (gdb_stdout, "Passing %d compiler options:\n", argc);
+ fprintf_unfiltered (gdb_stdlog, "Passing %d compiler options:\n", argc);
for (argi = 0; argi < argc; argi++)
- fprintf_unfiltered (gdb_stdout, "Compiler option %d: <%s>\n",
+ fprintf_unfiltered (gdb_stdlog, "Compiler option %d: <%s>\n",
argi, argv[argi]);
}
@@ -526,7 +572,7 @@ compile_to_object (struct command_line *cmd, const char *cmd_string,
fclose (src);
if (compile_debug)
- fprintf_unfiltered (gdb_stdout, "source file produced: %s\n\n",
+ fprintf_unfiltered (gdb_stdlog, "source file produced: %s\n\n",
source_file);
/* Call the compiler and start the compilation process. */
@@ -537,7 +583,7 @@ compile_to_object (struct command_line *cmd, const char *cmd_string,
error (_("Compilation failed."));
if (compile_debug)
- fprintf_unfiltered (gdb_stdout, "object file produced: %s\n\n",
+ fprintf_unfiltered (gdb_stdlog, "object file produced: %s\n\n",
object_file);
discard_cleanups (inner_cleanup);
@@ -560,7 +606,7 @@ compile_command (char *args, int from_tty)
void
eval_compile_command (struct command_line *cmd, const char *cmd_string,
- enum compile_i_scope_types scope)
+ enum compile_i_scope_types scope, void *scope_data)
{
char *object_file, *source_file;
@@ -574,7 +620,16 @@ eval_compile_command (struct command_line *cmd, const char *cmd_string,
make_cleanup (xfree, source_file);
cleanup_unlink = make_cleanup (cleanup_unlink_file, object_file);
make_cleanup (cleanup_unlink_file, source_file);
- compile_module = compile_object_load (object_file, source_file);
+ compile_module = compile_object_load (object_file, source_file,
+ scope, scope_data);
+ if (compile_module == NULL)
+ {
+ gdb_assert (scope == COMPILE_I_PRINT_ADDRESS_SCOPE);
+ do_cleanups (cleanup_xfree);
+ eval_compile_command (cmd, cmd_string,
+ COMPILE_I_PRINT_VALUE_SCOPE, scope_data);
+ return;
+ }
discard_cleanups (cleanup_unlink);
do_cleanups (cleanup_xfree);
compile_object_run (compile_module);
@@ -636,12 +691,10 @@ The source code may be specified as a simple one line expression, e.g.:\n\
\n\
compile code printf(\"Hello world\\n\");\n\
\n\
-Alternatively, you can type the source code interactively.\n\
-You can invoke this mode when no argument is given to the command\n\
-(i.e.,\"compile code\" is typed with nothing after it). An\n\
-interactive prompt will be shown allowing you to enter multiple\n\
-lines of source code. Type a line containing \"end\" to indicate\n\
-the end of the source code."),
+Alternatively, you can type a multiline expression by invoking\n\
+this command with no argument. GDB will then prompt for the\n\
+expression interactively; type a line containing \"end\" to\n\
+indicate the end of the expression."),
&compile_command_list);
c = add_cmd ("file", class_obscure, compile_file_command,
@@ -653,6 +706,25 @@ Usage: compile file [-r|-raw] [filename]\n\
&compile_command_list);
set_cmd_completer (c, filename_completer);
+ add_cmd ("print", class_obscure, compile_print_command,
+ _("\
+Evaluate EXPR by using the compiler and print result.\n\
+\n\
+Usage: compile print[/FMT] [EXPR]\n\
+\n\
+The expression may be specified on the same line as the command, e.g.:\n\
+\n\
+ compile print i\n\
+\n\
+Alternatively, you can type a multiline expression by invoking\n\
+this command with no argument. GDB will then prompt for the\n\
+expression interactively; type a line containing \"end\" to\n\
+indicate the end of the expression.\n\
+\n\
+EXPR may be preceded with /FMT, where FMT is a format letter\n\
+but no count or size letter (see \"x\" command)."),
+ &compile_command_list);
+
add_setshow_boolean_cmd ("compile", class_maintenance, &compile_debug, _("\
Set compile command debugging."), _("\
Show compile command debugging."), _("\
@@ -679,8 +751,11 @@ String quoting is parsed like in shell, for example:\n\
absolute target address.
-fPIC is not used at is would require from GDB to generate .got. */
" -fPIE"
- /* We don't want warnings. */
- " -w"
+ /* We want warnings, except for some commonly happening for GDB commands. */
+ " -Wall "
+ " -Wno-implicit-function-declaration"
+ " -Wno-unused-but-set-variable"
+ " -Wno-unused-variable"
/* Override CU's possible -fstack-protector-strong. */
" -fno-stack-protector"
);
diff --git a/gdb/compile/compile.h b/gdb/compile/compile.h
index ccb136154db..6e108c71fbf 100644
--- a/gdb/compile/compile.h
+++ b/gdb/compile/compile.h
@@ -30,7 +30,8 @@ struct dynamic_prop;
extern void eval_compile_command (struct command_line *cmd,
const char *cmd_string,
- enum compile_i_scope_types scope);
+ enum compile_i_scope_types scope,
+ void *scope_data);
/* Compile a DWARF location expression to C, suitable for use by the
compiler.
@@ -100,4 +101,6 @@ extern void compile_dwarf_bounds_to_c (struct ui_file *stream,
const gdb_byte *op_end,
struct dwarf2_per_cu_data *per_cu);
+extern void compile_print_value (struct value *val, void *data_voidp);
+
#endif /* GDB_COMPILE_H */
diff --git a/gdb/completer.c b/gdb/completer.c
index c8c0e4c57a9..fd52a0400b1 100644
--- a/gdb/completer.c
+++ b/gdb/completer.c
@@ -26,6 +26,7 @@
#include "target.h"
#include "reggroups.h"
#include "user-regs.h"
+#include "arch-utils.h"
#include "cli/cli-decode.h"
@@ -969,44 +970,82 @@ signal_completer (struct cmd_list_element *ignore,
return return_val;
}
-/* Complete on a register or reggroup. */
+/* Bit-flags for selecting what the register and/or register-group
+ completer should complete on. */
-VEC (char_ptr) *
-reg_or_group_completer (struct cmd_list_element *ignore,
- const char *text, const char *word)
+enum reg_completer_targets
+ {
+ complete_register_names = 0x1,
+ complete_reggroup_names = 0x2
+ };
+
+/* Complete register names and/or reggroup names based on the value passed
+ in TARGETS. At least one bit in TARGETS must be set. */
+
+static VEC (char_ptr) *
+reg_or_group_completer_1 (struct cmd_list_element *ignore,
+ const char *text, const char *word,
+ enum reg_completer_targets targets)
{
VEC (char_ptr) *result = NULL;
size_t len = strlen (word);
struct gdbarch *gdbarch;
- struct reggroup *group;
const char *name;
- int i;
- if (!target_has_registers)
- return result;
+ gdb_assert ((targets & (complete_register_names
+ | complete_reggroup_names)) != 0);
+ gdbarch = get_current_arch ();
- gdbarch = get_frame_arch (get_selected_frame (NULL));
-
- for (i = 0;
- (name = user_reg_map_regnum_to_name (gdbarch, i)) != NULL;
- i++)
+ if ((targets & complete_register_names) != 0)
{
- if (*name != '\0' && strncmp (word, name, len) == 0)
- VEC_safe_push (char_ptr, result, xstrdup (name));
+ int i;
+
+ for (i = 0;
+ (name = user_reg_map_regnum_to_name (gdbarch, i)) != NULL;
+ i++)
+ {
+ if (*name != '\0' && strncmp (word, name, len) == 0)
+ VEC_safe_push (char_ptr, result, xstrdup (name));
+ }
}
- for (group = reggroup_next (gdbarch, NULL);
- group != NULL;
- group = reggroup_next (gdbarch, group))
+ if ((targets & complete_reggroup_names) != 0)
{
- name = reggroup_name (group);
- if (strncmp (word, name, len) == 0)
- VEC_safe_push (char_ptr, result, xstrdup (name));
+ struct reggroup *group;
+
+ for (group = reggroup_next (gdbarch, NULL);
+ group != NULL;
+ group = reggroup_next (gdbarch, group))
+ {
+ name = reggroup_name (group);
+ if (strncmp (word, name, len) == 0)
+ VEC_safe_push (char_ptr, result, xstrdup (name));
+ }
}
return result;
}
+/* Perform completion on register and reggroup names. */
+
+VEC (char_ptr) *
+reg_or_group_completer (struct cmd_list_element *ignore,
+ const char *text, const char *word)
+{
+ return reg_or_group_completer_1 (ignore, text, word,
+ (complete_register_names
+ | complete_reggroup_names));
+}
+
+/* Perform completion on reggroup names. */
+
+VEC (char_ptr) *
+reggroup_completer (struct cmd_list_element *ignore,
+ const char *text, const char *word)
+{
+ return reg_or_group_completer_1 (ignore, text, word,
+ complete_reggroup_names);
+}
/* Get the list of chars that are considered as word breaks
for the current command. */
diff --git a/gdb/completer.h b/gdb/completer.h
index 56e1a2b5d11..6c1f2571a0d 100644
--- a/gdb/completer.h
+++ b/gdb/completer.h
@@ -96,6 +96,9 @@ extern VEC (char_ptr) *signal_completer (struct cmd_list_element *,
extern VEC (char_ptr) *reg_or_group_completer (struct cmd_list_element *,
const char *, const char *);
+extern VEC (char_ptr) *reggroup_completer (struct cmd_list_element *,
+ const char *, const char *);
+
extern char *get_gdb_completer_quote_characters (void);
extern char *gdb_completion_word_break_characters (void);
diff --git a/gdb/config.in b/gdb/config.in
index d41e6cf3f69..5b6dbbbf535 100644
--- a/gdb/config.in
+++ b/gdb/config.in
@@ -390,6 +390,9 @@
/* Define to 1 if you have the `setlocale' function. */
#undef HAVE_SETLOCALE
+/* Define to 1 if you have the `setns' function. */
+#undef HAVE_SETNS
+
/* Define to 1 if you have the `setpgid' function. */
#undef HAVE_SETPGID
diff --git a/gdb/config/aarch64/linux.mh b/gdb/config/aarch64/linux.mh
index 7f96e4db6e2..6a8aa7df304 100644
--- a/gdb/config/aarch64/linux.mh
+++ b/gdb/config/aarch64/linux.mh
@@ -22,7 +22,7 @@ NAT_FILE= config/nm-linux.h
NATDEPFILES= inf-ptrace.o fork-child.o aarch64-linux-nat.o \
proc-service.o linux-thread-db.o linux-nat.o linux-fork.o \
linux-procfs.o linux-ptrace.o linux-osdata.o linux-waitpid.o \
- linux-personality.o
+ linux-personality.o linux-namespaces.o
NAT_CDEPS = $(srcdir)/proc-service.list
LOADLIBES= -ldl $(RDYNAMIC)
diff --git a/gdb/config/alpha/alpha-linux.mh b/gdb/config/alpha/alpha-linux.mh
index 2ea02a10198..4991dd28066 100644
--- a/gdb/config/alpha/alpha-linux.mh
+++ b/gdb/config/alpha/alpha-linux.mh
@@ -3,7 +3,7 @@ NAT_FILE= config/nm-linux.h
NATDEPFILES= inf-ptrace.o alpha-linux-nat.o \
fork-child.o proc-service.o linux-thread-db.o \
linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
- linux-waitpid.o linux-personality.o
+ linux-waitpid.o linux-personality.o linux-namespaces.o
NAT_CDEPS = $(srcdir)/proc-service.list
# The dynamically loaded libthread_db needs access to symbols in the
diff --git a/gdb/config/arm/linux.mh b/gdb/config/arm/linux.mh
index 549bf425943..f0c5967e94b 100644
--- a/gdb/config/arm/linux.mh
+++ b/gdb/config/arm/linux.mh
@@ -4,7 +4,7 @@ NAT_FILE= config/nm-linux.h
NATDEPFILES= inf-ptrace.o fork-child.o arm-linux-nat.o \
proc-service.o linux-thread-db.o \
linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
- linux-waitpid.o linux-personality.o
+ linux-waitpid.o linux-personality.o linux-namespaces.o
NAT_CDEPS = $(srcdir)/proc-service.list
LOADLIBES= -ldl $(RDYNAMIC)
diff --git a/gdb/config/i386/linux.mh b/gdb/config/i386/linux.mh
index 9be2c5fc8a4..421c56fef74 100644
--- a/gdb/config/i386/linux.mh
+++ b/gdb/config/i386/linux.mh
@@ -6,7 +6,7 @@ NATDEPFILES= inf-ptrace.o fork-child.o \
proc-service.o linux-thread-db.o \
linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
linux-btrace.o linux-waitpid.o linux-personality.o x86-linux.o \
- x86-linux-dregs.o
+ x86-linux-dregs.o linux-namespaces.o
NAT_CDEPS = $(srcdir)/proc-service.list
# The dynamically loaded libthread_db needs access to symbols in the
diff --git a/gdb/config/i386/linux64.mh b/gdb/config/i386/linux64.mh
index 224a2a97e69..04cbb95833e 100644
--- a/gdb/config/i386/linux64.mh
+++ b/gdb/config/i386/linux64.mh
@@ -6,7 +6,7 @@ NATDEPFILES= inf-ptrace.o fork-child.o \
proc-service.o linux-thread-db.o linux-fork.o \
linux-procfs.o linux-ptrace.o linux-btrace.o \
linux-waitpid.o linux-personality.o x86-linux.o \
- x86-linux-dregs.o
+ x86-linux-dregs.o linux-namespaces.o
NAT_FILE= config/nm-linux.h
NAT_CDEPS = $(srcdir)/proc-service.list
diff --git a/gdb/config/ia64/linux.mh b/gdb/config/ia64/linux.mh
index 9dce22b5588..b05f83449ae 100644
--- a/gdb/config/ia64/linux.mh
+++ b/gdb/config/ia64/linux.mh
@@ -6,7 +6,8 @@ NATDEPFILES= inf-ptrace.o fork-child.o \
proc-service.o linux-thread-db.o \
linux-nat.o linux-osdata.o linux-fork.o \
linux-personality.o \
- linux-procfs.o linux-ptrace.o linux-waitpid.o
+ linux-procfs.o linux-ptrace.o linux-waitpid.o \
+ linux-namespaces.o
NAT_CDEPS = $(srcdir)/proc-service.list
LOADLIBES = -ldl $(RDYNAMIC)
diff --git a/gdb/config/m32r/linux.mh b/gdb/config/m32r/linux.mh
index 6b810e6ae7d..277d8bd3946 100644
--- a/gdb/config/m32r/linux.mh
+++ b/gdb/config/m32r/linux.mh
@@ -4,7 +4,7 @@ NAT_FILE= config/nm-linux.h
NATDEPFILES= inf-ptrace.o fork-child.o \
m32r-linux-nat.o proc-service.o linux-thread-db.o \
linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
- linux-waitpid.o linux-personality.o
+ linux-waitpid.o linux-personality.o linux-namespaces.o
NAT_CDEPS = $(srcdir)/proc-service.list
LOADLIBES= -ldl $(RDYNAMIC)
diff --git a/gdb/config/m68k/linux.mh b/gdb/config/m68k/linux.mh
index f3b3baae2a4..60d5ce4c186 100644
--- a/gdb/config/m68k/linux.mh
+++ b/gdb/config/m68k/linux.mh
@@ -6,7 +6,7 @@ NATDEPFILES= inf-ptrace.o fork-child.o \
proc-service.o linux-thread-db.o \
linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
linux-personality.o \
- linux-waitpid.o
+ linux-waitpid.o linux-namespaces.o
NAT_CDEPS = $(srcdir)/proc-service.list
# The dynamically loaded libthread_db needs access to symbols in the
diff --git a/gdb/config/mips/linux.mh b/gdb/config/mips/linux.mh
index d6a802fcb1a..11ff9032e1d 100644
--- a/gdb/config/mips/linux.mh
+++ b/gdb/config/mips/linux.mh
@@ -5,7 +5,7 @@ NATDEPFILES= inf-ptrace.o fork-child.o mips-linux-nat.o \
linux-nat.o linux-osdata.o linux-fork.o \
linux-procfs.o linux-ptrace.o linux-waitpid.o \
linux-personality.o \
- mips-linux-watch.o
+ mips-linux-watch.o linux-namespaces.o
NAT_CDEPS = $(srcdir)/proc-service.list
LOADLIBES = -ldl $(RDYNAMIC)
diff --git a/gdb/config/pa/linux.mh b/gdb/config/pa/linux.mh
index 9539b647614..1b73ecd261b 100644
--- a/gdb/config/pa/linux.mh
+++ b/gdb/config/pa/linux.mh
@@ -4,7 +4,7 @@ NATDEPFILES= inf-ptrace.o fork-child.o \
hppa-linux-nat.o proc-service.o linux-thread-db.o \
linux-nat.o linux-osdata.o linux-fork.o \
linux-procfs.o linux-ptrace.o linux-waitpid.o \
- linux-personality.o
+ linux-personality.o linux-namespaces.o
NAT_CDEPS = $(srcdir)/proc-service.list
LOADLIBES = -ldl $(RDYNAMIC)
diff --git a/gdb/config/powerpc/linux.mh b/gdb/config/powerpc/linux.mh
index 76e62c0b964..f4a52c3a3e9 100644
--- a/gdb/config/powerpc/linux.mh
+++ b/gdb/config/powerpc/linux.mh
@@ -6,7 +6,7 @@ NAT_FILE= config/nm-linux.h
NATDEPFILES= inf-ptrace.o fork-child.o \
ppc-linux-nat.o proc-service.o linux-thread-db.o \
linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
- linux-waitpid.o linux-personality.o
+ linux-waitpid.o linux-personality.o linux-namespaces.o
NAT_CDEPS = $(srcdir)/proc-service.list
LOADLIBES = -ldl $(RDYNAMIC)
diff --git a/gdb/config/powerpc/ppc64-linux.mh b/gdb/config/powerpc/ppc64-linux.mh
index 7eb6507d942..580eb1f773f 100644
--- a/gdb/config/powerpc/ppc64-linux.mh
+++ b/gdb/config/powerpc/ppc64-linux.mh
@@ -6,7 +6,8 @@ NAT_FILE= config/nm-linux.h
NATDEPFILES= inf-ptrace.o fork-child.o \
ppc-linux-nat.o proc-service.o linux-thread-db.o \
linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
- linux-waitpid.o ppc-linux.o linux-personality.o
+ linux-waitpid.o ppc-linux.o linux-personality.o \
+ linux-namespaces.o
NAT_CDEPS = $(srcdir)/proc-service.list
# The PowerPC has severe limitations on TOC size, and uses them even
diff --git a/gdb/config/powerpc/spu-linux.mh b/gdb/config/powerpc/spu-linux.mh
index d44aeebf426..9205b621b2c 100644
--- a/gdb/config/powerpc/spu-linux.mh
+++ b/gdb/config/powerpc/spu-linux.mh
@@ -4,5 +4,5 @@
# PPU side of the Cell BE and debugging the SPU side.
NATDEPFILES = spu-linux-nat.o fork-child.o inf-ptrace.o \
- linux-procfs.o linux-ptrace.o linux-waitpid.o linux-personality.o
-
+ linux-procfs.o linux-ptrace.o linux-waitpid.o \
+ linux-personality.o linux-namespaces.o
diff --git a/gdb/config/s390/linux.mh b/gdb/config/s390/linux.mh
index e1ad8990eba..4a137cd607d 100644
--- a/gdb/config/s390/linux.mh
+++ b/gdb/config/s390/linux.mh
@@ -4,6 +4,6 @@ NATDEPFILES= inf-ptrace.o fork-child.o s390-linux-nat.o \
linux-thread-db.o proc-service.o \
linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
linux-personality.o \
- linux-waitpid.o
+ linux-waitpid.o linux-namespaces.o
NAT_CDEPS = $(srcdir)/proc-service.list
LOADLIBES = -ldl $(RDYNAMIC)
diff --git a/gdb/config/sparc/linux.mh b/gdb/config/sparc/linux.mh
index bd7fc866148..385f6406918 100644
--- a/gdb/config/sparc/linux.mh
+++ b/gdb/config/sparc/linux.mh
@@ -5,7 +5,7 @@ NATDEPFILES= sparc-nat.o sparc-linux-nat.o \
proc-service.o linux-thread-db.o \
linux-nat.o linux-osdata.o linux-fork.o \
linux-procfs.o linux-ptrace.o linux-waitpid.o \
- linux-personality.o
+ linux-personality.o linux-namespaces.o
NAT_CDEPS = $(srcdir)/proc-service.list
# The dynamically loaded libthread_db needs access to symbols in the
diff --git a/gdb/config/sparc/linux64.mh b/gdb/config/sparc/linux64.mh
index 86f984fb3c2..8df0de1f24a 100644
--- a/gdb/config/sparc/linux64.mh
+++ b/gdb/config/sparc/linux64.mh
@@ -5,7 +5,7 @@ NATDEPFILES= sparc-nat.o sparc64-nat.o sparc64-linux-nat.o \
proc-service.o linux-thread-db.o \
linux-nat.o linux-osdata.o linux-fork.o \
linux-procfs.o linux-ptrace.o linux-waitpid.o \
- linux-personality.o
+ linux-personality.o linux-namespaces.o
NAT_CDEPS = $(srcdir)/proc-service.list
# The dynamically loaded libthread_db needs access to symbols in the
diff --git a/gdb/config/tilegx/linux.mh b/gdb/config/tilegx/linux.mh
index b5edcd49379..ec648d3fefb 100644
--- a/gdb/config/tilegx/linux.mh
+++ b/gdb/config/tilegx/linux.mh
@@ -6,7 +6,7 @@ NATDEPFILES= inf-ptrace.o fork-child.o \
proc-service.o linux-thread-db.o \
linux-nat.o linux-osdata.o linux-fork.o \
linux-procfs.o linux-ptrace.o linux-waitpid.o \
- linux-personality.o
+ linux-personality.o linux-namespaces.o
# The dynamically loaded libthread_db needs access to symbols in the
# gdb executable.
diff --git a/gdb/config/xtensa/linux.mh b/gdb/config/xtensa/linux.mh
index b4e59b369d7..d5b8f91684b 100644
--- a/gdb/config/xtensa/linux.mh
+++ b/gdb/config/xtensa/linux.mh
@@ -5,7 +5,7 @@ NAT_FILE= config/nm-linux.h
NATDEPFILES= inf-ptrace.o fork-child.o xtensa-linux-nat.o \
linux-thread-db.o proc-service.o \
linux-nat.o linux-osdata.o linux-fork.o linux-procfs.o linux-ptrace.o \
- linux-waitpid.o linux-personality.o
+ linux-waitpid.o linux-personality.o linux-namespaces.o
NAT_CDEPS = $(srcdir)/proc-service.list
LOADLIBES = -ldl $(RDYNAMIC)
diff --git a/gdb/configure b/gdb/configure
index 2baf6dd6ad3..5100921e54d 100755
--- a/gdb/configure
+++ b/gdb/configure
@@ -10957,7 +10957,7 @@ for ac_func in getauxval getrusage getuid getgid \
sigaction sigprocmask sigsetmask socketpair \
ttrace wborder wresize setlocale iconvlist libiconvlist btowc \
setrlimit getrlimit posix_madvise waitpid \
- ptrace64 sigaltstack mkdtemp
+ ptrace64 sigaltstack mkdtemp setns
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
diff --git a/gdb/configure.ac b/gdb/configure.ac
index c703e35e2af..2035a3731db 100644
--- a/gdb/configure.ac
+++ b/gdb/configure.ac
@@ -1331,7 +1331,7 @@ AC_CHECK_FUNCS([getauxval getrusage getuid getgid \
sigaction sigprocmask sigsetmask socketpair \
ttrace wborder wresize setlocale iconvlist libiconvlist btowc \
setrlimit getrlimit posix_madvise waitpid \
- ptrace64 sigaltstack mkdtemp])
+ ptrace64 sigaltstack mkdtemp setns])
AM_LANGINFO_CODESET
GDB_AC_COMMON
diff --git a/gdb/configure.tgt b/gdb/configure.tgt
index 8feda7c2077..4e4d6a90684 100644
--- a/gdb/configure.tgt
+++ b/gdb/configure.tgt
@@ -45,7 +45,7 @@ aarch64*-*-linux*)
# Target: AArch64 linux
gdb_target_obs="aarch64-tdep.o aarch64-linux-tdep.o \
glibc-tdep.o linux-tdep.o solib-svr4.o \
- symfile-mem.o"
+ symfile-mem.o linux-record.o"
build_gdbserver=yes
;;
diff --git a/gdb/corefile.c b/gdb/corefile.c
index a042e6d9fb1..5246f7192ec 100644
--- a/gdb/corefile.c
+++ b/gdb/corefile.c
@@ -383,8 +383,8 @@ read_memory_typed_address (CORE_ADDR addr, struct type *type)
return extract_typed_address (buf, type);
}
-/* Same as target_write_memory, but report an error if can't
- write. */
+/* See gdbcore.h. */
+
void
write_memory (CORE_ADDR memaddr,
const bfd_byte *myaddr, ssize_t len)
diff --git a/gdb/cp-namespace.c b/gdb/cp-namespace.c
index 0feeb35ba67..ab7d0cb43b8 100644
--- a/gdb/cp-namespace.c
+++ b/gdb/cp-namespace.c
@@ -37,6 +37,7 @@ static struct symbol *
const char *nested_name,
const char *concatenated_name,
const struct block *block,
+ const domain_enum domain,
int basic_lookup, int is_in_anonymous);
static struct type *cp_lookup_transparent_type_loop (const char *name,
@@ -308,7 +309,7 @@ cp_lookup_bare_symbol (const struct language_defn *langdef,
return NULL;
/* Look for symbol NAME in this class. */
- sym = cp_lookup_nested_symbol (type, name, block);
+ sym = cp_lookup_nested_symbol (type, name, block, domain);
}
return sym;
@@ -370,8 +371,8 @@ cp_search_static_and_baseclasses (const char *name,
/* Look for a symbol named NESTED in this class.
The caller is assumed to have already have done a basic lookup of NAME.
So we pass zero for BASIC_LOOKUP to cp_lookup_nested_symbol_1 here. */
- sym = cp_lookup_nested_symbol_1 (klass_type, nested, name, block, 0,
- is_in_anonymous);
+ sym = cp_lookup_nested_symbol_1 (klass_type, nested, name, block, domain,
+ 0, is_in_anonymous);
do_cleanups (cleanup);
return sym;
@@ -906,7 +907,8 @@ cp_find_type_baseclass_by_name (struct type *parent_type, const char *name)
static struct symbol *
find_symbol_in_baseclass (struct type *parent_type, const char *name,
- const struct block *block, int is_in_anonymous)
+ const struct block *block, const domain_enum domain,
+ int is_in_anonymous)
{
int i;
struct symbol *sym;
@@ -931,7 +933,7 @@ find_symbol_in_baseclass (struct type *parent_type, const char *name,
xsnprintf (concatenated_name, len, "%s::%s", base_name, name);
sym = cp_lookup_nested_symbol_1 (base_type, name, concatenated_name,
- block, 1, is_in_anonymous);
+ block, domain, 1, is_in_anonymous);
if (sym != NULL)
break;
}
@@ -940,8 +942,8 @@ find_symbol_in_baseclass (struct type *parent_type, const char *name,
return sym;
}
-/* Helper function to look up NESTED_NAME in CONTAINER_TYPE within the
- context of BLOCK.
+/* Helper function to look up NESTED_NAME in CONTAINER_TYPE and in DOMAIN
+ and within the context of BLOCK.
NESTED_NAME may have scope ("::").
CONTAINER_TYPE needn't have been "check_typedef'd" yet.
CONCATENATED_NAME is the fully scoped spelling of NESTED_NAME, it is
@@ -957,6 +959,7 @@ cp_lookup_nested_symbol_1 (struct type *container_type,
const char *nested_name,
const char *concatenated_name,
const struct block *block,
+ const domain_enum domain,
int basic_lookup, int is_in_anonymous)
{
struct symbol *sym;
@@ -970,7 +973,7 @@ cp_lookup_nested_symbol_1 (struct type *container_type,
if (basic_lookup)
{
- sym = cp_basic_lookup_symbol (concatenated_name, block, VAR_DOMAIN,
+ sym = cp_basic_lookup_symbol (concatenated_name, block, domain,
is_in_anonymous);
if (sym != NULL)
return sym;
@@ -982,7 +985,7 @@ cp_lookup_nested_symbol_1 (struct type *container_type,
C++ compliant and more assumptions could make it too magic. */
/* First search in this symtab, what we want is possibly there. */
- sym = lookup_symbol_in_static_block (concatenated_name, block, VAR_DOMAIN);
+ sym = lookup_symbol_in_static_block (concatenated_name, block, domain);
if (sym != NULL)
return sym;
@@ -993,7 +996,7 @@ cp_lookup_nested_symbol_1 (struct type *container_type,
which we just searched. */
if (!is_in_anonymous)
{
- sym = lookup_static_symbol (concatenated_name, VAR_DOMAIN);
+ sym = lookup_static_symbol (concatenated_name, domain);
if (sym != NULL)
return sym;
}
@@ -1003,7 +1006,7 @@ cp_lookup_nested_symbol_1 (struct type *container_type,
if (TYPE_N_BASECLASSES (container_type) > 0)
{
sym = find_symbol_in_baseclass (container_type, nested_name, block,
- is_in_anonymous);
+ domain, is_in_anonymous);
if (sym != NULL)
return sym;
}
@@ -1013,12 +1016,14 @@ cp_lookup_nested_symbol_1 (struct type *container_type,
/* Look up a symbol named NESTED_NAME that is nested inside the C++
class or namespace given by PARENT_TYPE, from within the context
- given by BLOCK. Return NULL if there is no such nested symbol. */
+ given by BLOCK, and in DOMAIN.
+ Return NULL if there is no such nested symbol. */
struct symbol *
cp_lookup_nested_symbol (struct type *parent_type,
const char *nested_name,
- const struct block *block)
+ const struct block *block,
+ const domain_enum domain)
{
/* type_name_no_tag_or_error provides better error reporting using the
original type. */
@@ -1031,9 +1036,10 @@ cp_lookup_nested_symbol (struct type *parent_type,
const char *type_name = type_name_no_tag (saved_parent_type);
fprintf_unfiltered (gdb_stdlog,
- "cp_lookup_nested_symbol (%s, %s, %s)\n",
+ "cp_lookup_nested_symbol (%s, %s, %s, %s)\n",
type_name != NULL ? type_name : "unnamed",
- nested_name, host_address_to_string (block));
+ nested_name, host_address_to_string (block),
+ domain_name (domain));
}
switch (TYPE_CODE (parent_type))
@@ -1060,8 +1066,8 @@ cp_lookup_nested_symbol (struct type *parent_type,
is_in_anonymous = cp_is_in_anonymous (concatenated_name);
sym = cp_lookup_nested_symbol_1 (parent_type, nested_name,
- concatenated_name, block, 1,
- is_in_anonymous);
+ concatenated_name, block, domain,
+ 1, is_in_anonymous);
if (symbol_lookup_debug)
{
diff --git a/gdb/cp-support.c b/gdb/cp-support.c
index 4bbee943b24..3db9751924e 100644
--- a/gdb/cp-support.c
+++ b/gdb/cp-support.c
@@ -1453,7 +1453,9 @@ cp_lookup_rtti_type (const char *name, struct block *block)
struct symbol * rtti_sym;
struct type * rtti_type;
- rtti_sym = lookup_symbol (name, block, STRUCT_DOMAIN, NULL);
+ /* Use VAR_DOMAIN here as NAME may be a typedef. PR 18141, 18417.
+ Classes "live" in both STRUCT_DOMAIN and VAR_DOMAIN. */
+ rtti_sym = lookup_symbol (name, block, VAR_DOMAIN, NULL);
if (rtti_sym == NULL)
{
@@ -1467,7 +1469,7 @@ cp_lookup_rtti_type (const char *name, struct block *block)
return NULL;
}
- rtti_type = SYMBOL_TYPE (rtti_sym);
+ rtti_type = check_typedef (SYMBOL_TYPE (rtti_sym));
switch (TYPE_CODE (rtti_type))
{
diff --git a/gdb/cp-support.h b/gdb/cp-support.h
index cbff610f6fe..e92d6e783b5 100644
--- a/gdb/cp-support.h
+++ b/gdb/cp-support.h
@@ -211,7 +211,8 @@ extern struct symbol *cp_lookup_symbol_imports_or_template
extern struct symbol *cp_lookup_nested_symbol (struct type *parent_type,
const char *nested_name,
- const struct block *block);
+ const struct block *block,
+ const domain_enum domain);
struct type *cp_lookup_transparent_type (const char *name);
diff --git a/gdb/data-directory/Makefile.in b/gdb/data-directory/Makefile.in
index 30cfd177bd1..abca534a978 100644
--- a/gdb/data-directory/Makefile.in
+++ b/gdb/data-directory/Makefile.in
@@ -46,7 +46,7 @@ SYSCALLS_DIR = syscalls
SYSCALLS_INSTALL_DIR = $(DESTDIR)$(GDB_DATADIR)/$(SYSCALLS_DIR)
SYSCALLS_FILES = \
gdb-syscalls.dtd \
- arm-linux.xml \
+ arm-linux.xml aarch64-linux.xml \
ppc-linux.xml ppc64-linux.xml \
i386-linux.xml amd64-linux.xml \
sparc-linux.xml sparc64-linux.xml \
diff --git a/gdb/dbxread.c b/gdb/dbxread.c
index c8f974ff04c..6098b357c4a 100644
--- a/gdb/dbxread.c
+++ b/gdb/dbxread.c
@@ -631,8 +631,6 @@ dbx_symfile_init (struct objfile *objfile)
/* FIXME POKING INSIDE BFD DATA STRUCTURES. */
- DBX_SYMFILE_INFO (objfile)->stab_section_info = NULL;
-
text_sect = bfd_get_section_by_name (sym_bfd, ".text");
if (!text_sect)
error (_("Can't find .text section in symbol file"));
@@ -2174,8 +2172,8 @@ start_psymtab (struct objfile *objfile, char *filename, CORE_ADDR textlow,
struct partial_symbol **static_syms)
{
struct partial_symtab *result =
- start_psymtab_common (objfile, objfile->section_offsets,
- filename, textlow, global_syms, static_syms);
+ start_psymtab_common (objfile, filename, textlow,
+ global_syms, static_syms);
result->read_symtab_private = obstack_alloc (&objfile->objfile_obstack,
sizeof (struct symloc));
@@ -2186,14 +2184,6 @@ start_psymtab (struct objfile *objfile, char *filename, CORE_ADDR textlow,
STRING_OFFSET (result) = string_table_offset;
FILE_STRING_OFFSET (result) = file_string_table_offset;
-#ifdef HAVE_ELF
- /* If we're handling an ELF file, drag some section-relocation info
- for this source file out of the ELF symbol table, to compensate for
- Sun brain death. This replaces the section_offsets in this psymtab,
- if successful. */
- elfstab_offset_sections (objfile, result);
-#endif
-
/* Deduce the source language from the filename for this psymtab. */
psymtab_language = deduce_language_from_filename (filename);
@@ -2321,8 +2311,6 @@ end_psymtab (struct objfile *objfile, struct partial_symtab *pst,
struct partial_symtab *subpst =
allocate_psymtab (include_list[i], objfile);
- /* Copy the sesction_offsets array from the main psymtab. */
- subpst->section_offsets = pst->section_offsets;
subpst->read_symtab_private =
obstack_alloc (&objfile->objfile_obstack, sizeof (struct symloc));
LDSYMOFF (subpst) =
@@ -2503,11 +2491,7 @@ read_ofile_symtab (struct objfile *objfile, struct partial_symtab *pst)
sym_size = LDSYMLEN (pst);
text_offset = pst->textlow;
text_size = pst->texthigh - pst->textlow;
- /* This cannot be simply objfile->section_offsets because of
- elfstab_offset_sections() which initializes the psymtab section
- offsets information in a special way, and that is different from
- objfile->section_offsets. */
- section_offsets = pst->section_offsets;
+ section_offsets = objfile->section_offsets;
dbxread_objfile = objfile;
@@ -3042,17 +3026,12 @@ process_one_symbol (int type, int desc, CORE_ADDR valu, char *name,
p = strchr (name, ':');
if (p != 0 && p[1] == 'S')
{
- /* The linker relocated it. We don't want to add an
- elfstab_offset_sections-type offset, but we *do*
+ /* The linker relocated it. We don't want to add a
+ Sun-stabs Tfoo.foo-like offset, but we *do*
want to add whatever solib.c passed to
symbol_file_add as addr (this is known to affect
- SunOS 4, and I suspect ELF too). Since
- elfstab_offset_sections currently does not muck
- with the text offset (there is no Ttext.text
- symbol), we can get addr from the text offset. If
- elfstab_offset_sections ever starts dealing with
- the text offset, and we still need to do this, we
- need to invent a SECT_OFF_ADDR_KLUDGE or something. */
+ SunOS 4, and I suspect ELF too). Since there is no
+ Ttext.text symbol, we can get addr from the text offset. */
valu += ANOFFSET (section_offsets, SECT_OFF_TEXT (objfile));
goto define_a_symbol;
}
diff --git a/gdb/defs.h b/gdb/defs.h
index 29bb8c4a3f4..32b08bba92b 100644
--- a/gdb/defs.h
+++ b/gdb/defs.h
@@ -70,6 +70,15 @@ enum compile_i_scope_types
/* Do not wrap the expression,
it has to provide function "_gdb_expr" on its own. */
COMPILE_I_RAW_SCOPE,
+
+ /* A printable expression scope. Wrap an expression into a scope
+ suitable for the "compile print" command. It uses the generic
+ function name "_gdb_expr". COMPILE_I_PRINT_ADDRESS_SCOPE variant
+ is the usual one, taking address of the object.
+ COMPILE_I_PRINT_VALUE_SCOPE is needed for arrays where the array
+ name already specifies its address. See get_out_value_type. */
+ COMPILE_I_PRINT_ADDRESS_SCOPE,
+ COMPILE_I_PRINT_VALUE_SCOPE,
};
/* Just in case they're not defined in stdio.h. */
@@ -397,6 +406,7 @@ struct command_line
struct
{
enum compile_i_scope_types scope;
+ void *scope_data;
}
compile;
}
@@ -581,25 +591,6 @@ extern double atof (const char *); /* X3.159-1989 4.10.1.1 */
enum { MAX_REGISTER_SIZE = 64 };
-/* Static target-system-dependent parameters for GDB. */
-
-/* * Number of bits in a char or unsigned char for the target machine.
- Just like CHAR_BIT in <limits.h> but describes the target machine. */
-#if !defined (TARGET_CHAR_BIT)
-#define TARGET_CHAR_BIT 8
-#endif
-
-/* * If we picked up a copy of CHAR_BIT from a configuration file
- (which may get it by including <limits.h>) then use it to set
- the number of bits in a host char. If not, use the same size
- as the target. */
-
-#if defined (CHAR_BIT)
-#define HOST_CHAR_BIT CHAR_BIT
-#else
-#define HOST_CHAR_BIT TARGET_CHAR_BIT
-#endif
-
/* In findvar.c. */
extern LONGEST extract_signed_integer (const gdb_byte *, int,
diff --git a/gdb/doc/ChangeLog b/gdb/doc/ChangeLog
index 849deb8f9d4..e0beb7f0e38 100644
--- a/gdb/doc/ChangeLog
+++ b/gdb/doc/ChangeLog
@@ -1,3 +1,97 @@
+2015-06-26 Patrick Palka <patrick@parcs.ath.cx>
+
+ * gdb.texinfo (Command History): Document the new option
+ "history remove-duplicates".
+
+2015-06-19 Doug Evans <dje@google.com>
+
+ * stabs.texinfo (ELF Linker Relocation): Mention Sun stabs is no
+ longer supported.
+
+2015-06-17 Patrick Palka <patrick@parcs.ath.cx>
+
+ * gdb.texinfo (Command History): Mention that setting
+ GDBHISTSIZE to the empty string disables history truncation.
+
+2015-06-17 Patrick Palka <patrick@parcs.ath.cx>
+
+ PR gdb/16999
+ * gdb.texinfo (Command History): Mention new GDBHISTSIZE
+ behavior.
+
+2015-06-17 Patrick Palka <patrick@parcs.ath.cx>
+
+ * gdb.texinfo (Command History): Replace occurrences of HISTSIZE
+ with GDBHISTSIZE.
+
+2015-06-15 Simon Marchi <simon.marchi@ericsson.com>
+
+ * gdb.texinfo (GDB/MI Data Manipulation): Clarify usage of
+ bytes and memory units for -data-{read,write}-memory-bytes.
+ (Packets): Same for m, M and X packets.
+ * python.texi (Inferiors In Python): Same for read_memory and
+ write_memory.
+
+2015-06-10 Jon Turney <jon.turney@dronecode.org.uk>
+
+ * gdb.texinfo (Separate Debug Files): Document that PE is also
+ supported.
+
+2015-06-13 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * gdb.texinfo (TUI Commands): Bring all 'tui reg' commands into a
+ single table entry.
+
+2015-06-10 Walfred Tedeschi <walfred.tedeschi@intel.com>
+
+ * gdb.textinfo (i386): Fix "@end table" end and "@table" placement.
+
+
+2015-06-10 Gary Benson <gbenson@redhat.com>
+
+ * gdb.texinfo (Remote Configuration): Document the
+ "set/show remote hostio-setfs-packet" command.
+ (Host I/O Packets): Document the vFile:setfs packet.
+
+2015-06-10 Gary Benson <gbenson@redhat.com>
+
+ * gdb.texinfo (Debugging Output): Document the "set/show debug
+ linux-namespaces" command.
+
+2015-06-10 Walfred Tedeschi <walfred.tedeschi@intel.com>
+ Mircea Gherzan <mircea.gherzan@intel.com>
+
+ * gdb.texinfo (i386): Add documentation about "show mpx bound"
+ and "set mpx bound".
+
+2015-05-27 Doug Evans <dje@google.com>
+
+ * gdb.texinfo (Debugging Output): Mention set/show debug dwarf-line.
+
+2015-05-26 Doug Evans <dje@google.com>
+
+ * gdb.texinfo (Debugging Output): Update for DWARF "set debug"
+ command renamings.
+ (Maintenance Commands): Update for DWARF "set debug" command renamings.
+
+2015-05-26 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * gdb.texinfo (TUI Commands): Add 'tui reg prev' details.
+
+2015-05-22 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * gdb.texinfo (TUI): Include 'tui enable' in the introduction.
+ (TUI Commands): Add 'tui enable' and 'tui disable' details.
+
+2015-05-16 Doug Evans <xdje42@gmail.com>
+
+ * guile.texi (Memory Ports in Guile): Document support for unbuffered
+ memory ports.
+
+2015-05-16 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * gdb.texinfo (Compiling and Injecting Code): Add compile print.
+
2015-05-12 Don Breazeal <donb@codesourcery.com>
* gdb.texinfo (Forks): Note that fork debugging is
diff --git a/gdb/doc/gdb.texinfo b/gdb/doc/gdb.texinfo
index cb9cd35fa46..20a95632a72 100644
--- a/gdb/doc/gdb.texinfo
+++ b/gdb/doc/gdb.texinfo
@@ -9009,6 +9009,18 @@ If the @code{x} command has a repeat count, the address and contents saved
are from the last memory unit printed; this is not the same as the last
address printed if several units were printed on the last line of output.
+@anchor{addressable memory unit}
+@cindex addressable memory unit
+Most targets have an addressable memory unit size of 8 bits. This means
+that to each memory address are associated 8 bits of data. Some
+targets, however, have other addressable memory unit sizes.
+Within @value{GDBN} and this document, the term
+@dfn{addressable memory unit} (or @dfn{memory unit} for short) is used
+when explicitly referring to a chunk of data of that size. The word
+@dfn{byte} is used to refer to a chunk of data of 8 bits, regardless of
+the addressable memory unit size of the target. For most systems,
+addressable memory unit is a synonym of byte.
+
@cindex remote memory comparison
@cindex target memory comparison
@cindex verify remote memory image
@@ -17221,6 +17233,25 @@ compile file /home/user/example.c
@end smallexample
@end table
+@table @code
+@item compile print @var{expr}
+@itemx compile print /@var{f} @var{expr}
+Compile and execute @var{expr} with the compiler language found as the
+current language in @value{GDBN} (@pxref{Languages}). By default the
+value of @var{expr} is printed in a format appropriate to its data type;
+you can choose a different format by specifying @samp{/@var{f}}, where
+@var{f} is a letter specifying the format; see @ref{Output Formats,,Output
+Formats}.
+
+@item compile print
+@itemx compile print /@var{f}
+@cindex reprint the last value
+Alternatively you can enter the expression (source code producing it) as
+multiple lines of text. To enter this mode, invoke the @samp{compile print}
+command without any text following the command. This will start the
+multiple-line editor.
+@end table
+
@noindent
The process of compiling and injecting the code can be inspected using:
@@ -18151,7 +18182,7 @@ the executable and the debug file came from the same build.
@item
The executable contains a @dfn{build ID}, a unique bit string that is
also present in the corresponding debug info file. (This is supported
-only on some operating systems, notably those which use the ELF format
+only on some operating systems, when using the ELF or PE file formats
for binary files and the @sc{gnu} Binutils.) For more details about
this feature, see the description of the @option{--build-id}
command-line option in @ref{Options, , Command Line Options, ld.info,
@@ -19897,6 +19928,10 @@ are:
@tab @code{vFile:fstat}
@tab Host I/O
+@item @code{hostio-setfs-packet}
+@tab @code{vFile:setfs}
+@tab Host I/O
+
@item @code{noack-packet}
@tab @code{QStartNoAckMode}
@tab Packet acknowledgment
@@ -22110,6 +22145,7 @@ Show the current setting of the convention to return @code{struct}s
from functions.
@end table
+
@subsubsection Intel(R) @dfn{Memory Protection Extensions} (MPX).
@cindex Intel(R) Memory Protection Extensions (MPX).
@@ -22143,6 +22179,25 @@ counterpart. When the bnd0@dots{}bnd3 registers are displayed via
Python, the display includes the memory size, in bits, accessible to
the pointer.
+Bounds can also be stored in bounds tables, which are stored in
+application memory. These tables store bounds for pointers by specifying
+the bounds pointer's value along with its bounds. Evaluating and changing
+bounds located in bound tables is therefore interesting while investigating
+bugs on MPX context. @value{GDBN} provides commands for this purpose:
+
+@table @code
+@item show mpx bound @var{pointer}
+@kindex show mpx bound
+Display bounds of the given @var{pointer}.
+
+@item set mpx bound @var{pointer}, @var{lbound}, @var{ubound}
+@kindex set mpx bound
+Set the bounds of a pointer in the bound table.
+This command takes three parameters: @var{pointer} is the pointers
+whose bounds are to be changed, @var{lbound} and @var{ubound} are new values
+for lower and upper bounds respectively.
+@end table
+
@node Alpha
@subsection Alpha
@@ -22580,14 +22635,30 @@ Stop recording command history in a file.
@cindex history size
@kindex set history size
-@cindex @env{HISTSIZE}, environment variable
+@cindex @env{GDBHISTSIZE}, environment variable
@item set history size @var{size}
@itemx set history size unlimited
Set the number of commands which @value{GDBN} keeps in its history list.
-This defaults to the value of the environment variable
-@code{HISTSIZE}, or to 256 if this variable is not set. If @var{size}
-is @code{unlimited}, the number of commands @value{GDBN} keeps in the
-history list is unlimited.
+This defaults to the value of the environment variable @env{GDBHISTSIZE}, or
+to 256 if this variable is not set. Non-numeric values of @env{GDBHISTSIZE}
+are ignored. If @var{size} is @code{unlimited} or if @env{GDBHISTSIZE} is
+either a negative number or the empty string, then the number of commands
+@value{GDBN} keeps in the history list is unlimited.
+
+@cindex remove duplicate history
+@kindex set history remove-duplicates
+@item set history remove-duplicates @var{count}
+@itemx set history remove-duplicates unlimited
+Control the removal of duplicate history entries in the command history list.
+If @var{count} is non-zero, @value{GDBN} will look back at the last @var{count}
+history entries and remove the first entry that is a duplicate of the current
+entry being added to the command history list. If @var{count} is
+@code{unlimited} then this lookbehind is unbounded. If @var{count} is 0, then
+removal of duplicate history entries is disabled.
+
+Only history entries added during the current session are considered for
+removal. This option is set to 0 by default.
+
@end table
History expansion assigns special meaning to the character @kbd{!}.
@@ -23391,21 +23462,29 @@ exported symbols. The default is off.
@item show debug coff-pe-read
Displays the current state of displaying debugging messages related to
reading of COFF/PE exported symbols.
-@item set debug dwarf2-die
-@cindex DWARF2 DIEs
-Dump DWARF2 DIEs after they are read in.
+@item set debug dwarf-die
+@cindex DWARF DIEs
+Dump DWARF DIEs after they are read in.
The value is the number of nesting levels to print.
A value of zero turns off the display.
-@item show debug dwarf2-die
-Show the current state of DWARF2 DIE debugging.
-@item set debug dwarf2-read
-@cindex DWARF2 Reading
+@item show debug dwarf-die
+Show the current state of DWARF DIE debugging.
+@item set debug dwarf-line
+@cindex DWARF Line Tables
+Turns on or off display of debugging messages related to reading
+DWARF line tables. The default is 0 (off).
+A value of 1 provides basic information.
+A value greater than 1 provides more verbose information.
+@item show debug dwarf-line
+Show the current state of DWARF line table debugging.
+@item set debug dwarf-read
+@cindex DWARF Reading
Turns on or off display of debugging messages related to reading
DWARF debug info. The default is 0 (off).
A value of 1 provides basic information.
A value greater than 1 provides more verbose information.
-@item show debug dwarf2-read
-Show the current state of DWARF2 reader debugging.
+@item show debug dwarf-read
+Show the current state of DWARF reader debugging.
@item set debug displaced
@cindex displaced stepping debugging info
Turns on or off display of @value{GDBN} debugging info for the
@@ -23457,6 +23536,11 @@ Displays the current state of @value{GDBN} JIT debugging.
Turns on or off debugging messages from the Linux LWP debug support.
@item show debug lin-lwp
Show the current state of Linux LWP debugging messages.
+@item set debug linux-namespaces
+@cindex @sc{gnu}/Linux namespaces debug messages
+Turns on or off debugging messages from the Linux namespaces debug support.
+@item show debug linux-namespaces
+Show the current state of Linux namespaces debugging messages.
@item set debug mach-o
@cindex Mach-O symbols processing
Control display of debugging messages related to Mach-O symbols
@@ -24650,8 +24734,9 @@ is available.
The TUI mode is enabled by default when you invoke @value{GDBN} as
@samp{@value{GDBP} -tui}.
You can also switch in and out of TUI mode while @value{GDBN} runs by
-using various TUI commands and key bindings, such as @kbd{C-x C-a}.
-@xref{TUI Keys, ,TUI Key Bindings}.
+using various TUI commands and key bindings, such as @command{tui
+enable} or @kbd{C-x C-a}. @xref{TUI Commands, ,TUI Commands} and
+@ref{TUI Keys, ,TUI Key Bindings}.
@node TUI Overview
@section TUI Overview
@@ -24925,6 +25010,16 @@ these commands will fail with an error, because it would not be
possible or desirable to enable curses window management.
@table @code
+@item tui enable
+@kindex tui enable
+Activate TUI mode. The last active TUI window layout will be used if
+TUI mode has prevsiouly been used in the current debugging session,
+otherwise a default layout is used.
+
+@item tui disable
+@kindex tui disable
+Disable TUI mode, returning to the console interpreter.
+
@item info win
@kindex info win
List and give the size of all displayed windows.
@@ -24971,21 +25066,34 @@ Make the command window active for scrolling.
@kindex refresh
Refresh the screen. This is similar to typing @kbd{C-L}.
-@item tui reg float
+@item tui reg @var{group}
@kindex tui reg
-Show the floating point registers in the register window.
-
-@item tui reg general
-Show the general registers in the register window.
-
-@item tui reg next
-Show the next register group. The list of register groups as well as
-their order is target specific. The predefined register groups are the
-following: @code{general}, @code{float}, @code{system}, @code{vector},
-@code{all}, @code{save}, @code{restore}.
-
-@item tui reg system
-Show the system registers in the register window.
+Changes the register group displayed in the tui register window to
+@var{group}. If the register window is not currently displayed this
+command will cause the register window to be displayed. The list of
+register groups, as well as their order is target specific. The
+following groups are available on most targets:
+@table @code
+@item next
+Repeatedly selecting this group will cause the display to cycle
+through all of the available register groups.
+
+@item prev
+Repeatedly selecting this group will cause the display to cycle
+through all of the available register groups in the reverse order to
+@var{next}.
+
+@item general
+Display the general registers.
+@item float
+Display the floating point registers.
+@item system
+Display the system registers.
+@item vector
+Display the vector registers.
+@item all
+Display all registers.
+@end table
@item update
@kindex update
@@ -29499,6 +29607,9 @@ can be used to instantiate this class for a varobj:
This section describes the @sc{gdb/mi} commands that manipulate data:
examine memory and registers, evaluate expressions, etc.
+For details about what an addressable memory unit is,
+@pxref{addressable memory unit}.
+
@c REMOVED FROM THE INTERFACE.
@c @subheading -data-assign
@c Change the value of a program variable. Plenty of side effects.
@@ -30023,7 +30134,7 @@ next-page="0x000013c0",prev-page="0x00001380",memory=[
@subsubheading Synopsis
@smallexample
- -data-read-memory-bytes [ -o @var{byte-offset} ]
+ -data-read-memory-bytes [ -o @var{offset} ]
@var{address} @var{count}
@end smallexample
@@ -30032,18 +30143,19 @@ where:
@table @samp
@item @var{address}
-An expression specifying the address of the first memory word to be
-read. Complex expressions containing embedded white space should be
+An expression specifying the address of the first addressable memory unit
+to be read. Complex expressions containing embedded white space should be
quoted using the C convention.
@item @var{count}
-The number of bytes to read. This should be an integer literal.
+The number of addressable memory units to read. This should be an integer
+literal.
-@item @var{byte-offset}
-The offsets in bytes relative to @var{address} at which to start
-reading. This should be an integer literal. This option is provided
-so that a frontend is not required to first evaluate address and then
-perform address arithmetics itself.
+@item @var{offset}
+The offset relative to @var{address} at which to start reading. This
+should be an integer literal. This option is provided so that a frontend
+is not required to first evaluate address and then perform address
+arithmetics itself.
@end table
@@ -30054,10 +30166,10 @@ Attributes}. Second, @value{GDBN} will attempt to read the remaining
regions. For each one, if reading full region results in an errors,
@value{GDBN} will try to read a subset of the region.
-In general, every single byte in the region may be readable or not,
-and the only way to read every readable byte is to try a read at
+In general, every single memory unit in the region may be readable or not,
+and the only way to read every readable unit is to try a read at
every address, which is not practical. Therefore, @value{GDBN} will
-attempt to read all accessible bytes at either beginning or the end
+attempt to read all accessible memory units at either beginning or the end
of the region, using a binary division scheme. This heuristic works
well for reading accross a memory map boundary. Note that if a region
has a readable range that is neither at the beginning or the end,
@@ -30117,17 +30229,19 @@ where:
@table @samp
@item @var{address}
-An expression specifying the address of the first memory word to be
-written. Complex expressions containing embedded white space should be
-quoted using the C convention.
+An expression specifying the address of the first addressable memory unit
+to be written. Complex expressions containing embedded white space should
+be quoted using the C convention.
@item @var{contents}
-The hex-encoded bytes to write.
+The hex-encoded data to write. It is an error if @var{contents} does
+not represent an integral number of addressable memory units.
@item @var{count}
-Optional argument indicating the number of bytes to be written. If @var{count}
-is greater than @var{contents}' length, @value{GDBN} will repeatedly
-write @var{contents} until it fills @var{count} bytes.
+Optional argument indicating the number of addressable memory units to be
+written. If @var{count} is greater than @var{contents}' length,
+@value{GDBN} will repeatedly write @var{contents} until it fills
+@var{count} memory units.
@end table
@@ -34118,10 +34232,10 @@ that symbol is described. The type chain produced by this command is
a recursive definition of the data type as stored in @value{GDBN}'s
data structures, including its flags and contained types.
-@kindex maint set dwarf2 always-disassemble
-@kindex maint show dwarf2 always-disassemble
-@item maint set dwarf2 always-disassemble
-@item maint show dwarf2 always-disassemble
+@kindex maint set dwarf always-disassemble
+@kindex maint show dwarf always-disassemble
+@item maint set dwarf always-disassemble
+@item maint show dwarf always-disassemble
Control the behavior of @code{info address} when using DWARF debugging
information.
@@ -34143,15 +34257,15 @@ Symbol "argc" is a complex DWARF expression:
For more information on these expressions, see
@uref{http://www.dwarfstd.org/, the DWARF standard}.
-@kindex maint set dwarf2 max-cache-age
-@kindex maint show dwarf2 max-cache-age
-@item maint set dwarf2 max-cache-age
-@itemx maint show dwarf2 max-cache-age
-Control the DWARF 2 compilation unit cache.
+@kindex maint set dwarf max-cache-age
+@kindex maint show dwarf max-cache-age
+@item maint set dwarf max-cache-age
+@itemx maint show dwarf max-cache-age
+Control the DWARF compilation unit cache.
-@cindex DWARF 2 compilation units cache
+@cindex DWARF compilation units cache
In object files with inter-compilation-unit references, such as those
-produced by the GCC option @samp{-feliminate-dwarf2-dups}, the DWARF 2
+produced by the GCC option @samp{-feliminate-dwarf2-dups}, the DWARF
reader needs to frequently refer to previously read compilation units.
This setting controls how long a compilation unit will remain in the
cache if it is not referenced. A higher limit means that cached
@@ -34762,8 +34876,9 @@ probes the target state as if a new connection was opened
@item m @var{addr},@var{length}
@cindex @samp{m} packet
-Read @var{length} bytes of memory starting at address @var{addr}.
-Note that @var{addr} may not be aligned to any particular boundary.
+Read @var{length} addressable memory units starting at address @var{addr}
+(@pxref{addressable memory unit}). Note that @var{addr} may not be aligned to
+any particular boundary.
The stub need not use any particular size or alignment when gathering
data from memory for the response; even if @var{addr} is word-aligned
@@ -34777,8 +34892,8 @@ suitable for accessing memory-mapped I/O devices.
Reply:
@table @samp
@item @var{XX@dots{}}
-Memory contents; each byte is transmitted as a two-digit hexadecimal
-number. The reply may contain fewer bytes than requested if the
+Memory contents; each byte is transmitted as a two-digit hexadecimal number.
+The reply may contain fewer addressable memory units than requested if the
server was able to read only part of the region of memory.
@item E @var{NN}
@var{NN} is errno
@@ -34786,9 +34901,9 @@ server was able to read only part of the region of memory.
@item M @var{addr},@var{length}:@var{XX@dots{}}
@cindex @samp{M} packet
-Write @var{length} bytes of memory starting at address @var{addr}.
-The data is given by @var{XX@dots{}}; each byte is transmitted as a two-digit
-hexadecimal number.
+Write @var{length} addressable memory units starting at address @var{addr}
+(@pxref{addressable memory unit}). The data is given by @var{XX@dots{}}; each
+byte is transmitted as a two-digit hexadecimal number.
Reply:
@table @samp
@@ -35102,7 +35217,8 @@ for success (@pxref{Stop Reply Packets})
@anchor{X packet}
@cindex @samp{X} packet
Write data to memory, where the data is transmitted in binary.
-Memory is specified by its address @var{addr} and number of bytes @var{length};
+Memory is specified by its address @var{addr} and number of addressable memory
+units @var{length} (@pxref{addressable memory unit});
@samp{@var{XX}@dots{}} is binary data (@pxref{Binary Data}).
Reply:
@@ -37675,6 +37791,20 @@ attachment (i.e.@: a trailing semicolon). The return value is the
number of target bytes read; the binary attachment may be longer if
some characters were escaped.
+@item vFile:setfs: @var{pid}
+Select the filesystem on which @code{vFile} operations with
+@var{filename} arguments will operate. This is required for
+@value{GDBN} to be able to access files on remote targets where
+the remote stub does not share a common filesystem with the
+inferior(s).
+
+If @var{pid} is nonzero, select the filesystem as seen by process
+@var{pid}. If @var{pid} is zero, select the filesystem as seen by
+the remote stub. Return 0 on success, or -1 if an error occurs.
+If @code{vFile:setfs:} indicates success, the selected filesystem
+remains selected until the next successful @code{vFile:setfs:}
+operation.
+
@end table
@node Interrupts
diff --git a/gdb/doc/guile.texi b/gdb/doc/guile.texi
index 04572fd9467..a0147c1873c 100644
--- a/gdb/doc/guile.texi
+++ b/gdb/doc/guile.texi
@@ -3525,11 +3525,13 @@ returns a port object. One can then read/write memory using that object.
@deffn {Scheme Procedure} open-memory @r{[}#:mode mode{]} @r{[}#:start address{]} @r{[}#:size size{]}
Return a port object that can be used for reading and writing memory.
The port will be open according to @var{mode}, which is the standard
-mode argument to Guile port open routines, except that it is
-restricted to one of @samp{"r"}, @samp{"w"}, or @samp{"r+"}. For
-compatibility @samp{"b"} (binary) may also be present, but we ignore
-it: memory ports are binary only. The default is @samp{"r"},
-read-only.
+mode argument to Guile port open routines, except that the @samp{"a"}
+and @samp{"l"} modes are not supported.
+@xref{File Ports,,, guile, GNU Guile Reference Manual}.
+The @samp{"b"} (binary) character may be present, but is ignored:
+memory ports are binary only. If @samp{"0"} is appended then
+the port is marked as unbuffered.
+The default is @samp{"r"}, read-only and buffered.
The chunk of memory that can be accessed can be bounded.
If both @var{start} and @var{size} are unspecified, all of memory can be
diff --git a/gdb/doc/python.texi b/gdb/doc/python.texi
index 57ec22efae4..a2df254db03 100644
--- a/gdb/doc/python.texi
+++ b/gdb/doc/python.texi
@@ -2749,7 +2749,7 @@ return an empty tuple.
@findex Inferior.read_memory
@defun Inferior.read_memory (address, length)
-Read @var{length} bytes of memory from the inferior, starting at
+Read @var{length} addressable memory units from the inferior, starting at
@var{address}. Returns a buffer object, which behaves much like an array
or a string. It can be modified and given to the
@code{Inferior.write_memory} function. In @code{Python} 3, the return
@@ -2762,7 +2762,8 @@ Write the contents of @var{buffer} to the inferior, starting at
@var{address}. The @var{buffer} parameter must be a Python object
which supports the buffer protocol, i.e., a string, an array or the
object returned from @code{Inferior.read_memory}. If given, @var{length}
-determines the number of bytes from @var{buffer} to be written.
+determines the number of addressable memory units from @var{buffer} to be
+written.
@end defun
@findex gdb.search_memory
diff --git a/gdb/doc/stabs.texinfo b/gdb/doc/stabs.texinfo
index 181e171d868..15c4152367e 100644
--- a/gdb/doc/stabs.texinfo
+++ b/gdb/doc/stabs.texinfo
@@ -4062,7 +4062,8 @@ the @code{.stabstr} section.
@appendixsec Having the Linker Relocate Stabs in ELF
This section describes some Sun hacks for Stabs in ELF; it does not
-apply to COFF or SOM.
+apply to COFF or SOM. While @value{GDBN} no longer supports this hack
+for Sun Stabs in ELF, this section is kept to document the issue.
To keep linking fast, you don't want the linker to have to relocate very
many stabs. Making sure this is done for @code{N_SLINE},
@@ -4100,8 +4101,8 @@ the address from the ELF symbols.
Finding the correct @code{Bbss.bss}, etc., symbol is difficult, because
the linker simply concatenates the @code{.stab} sections from each
@file{.o} file without including any information about which part of a
-@code{.stab} section comes from which @file{.o} file. The way GDB does
-this is to look for an ELF @code{STT_FILE} symbol which has the same
+@code{.stab} section comes from which @file{.o} file. The way GDB use to
+do this is to look for an ELF @code{STT_FILE} symbol which has the same
name as the last component of the file name from the @code{N_SO} symbol
in the stabs (for example, if the file name is @file{../../gdb/main.c},
it looks for an ELF @code{STT_FILE} symbol named @code{main.c}). This
diff --git a/gdb/dwarf2-frame-tailcall.c b/gdb/dwarf2-frame-tailcall.c
index b412a5b84b3..f964ab263d5 100644
--- a/gdb/dwarf2-frame-tailcall.c
+++ b/gdb/dwarf2-frame-tailcall.c
@@ -197,7 +197,7 @@ pretended_chain_levels (struct call_site_chain *chain)
return chain->length;
chain_levels = chain->callers + chain->callees;
- gdb_assert (chain_levels < chain->length);
+ gdb_assert (chain_levels <= chain->length);
return chain_levels;
}
diff --git a/gdb/dwarf2loc.c b/gdb/dwarf2loc.c
index d81110684e0..c75767ee09c 100644
--- a/gdb/dwarf2loc.c
+++ b/gdb/dwarf2loc.c
@@ -39,7 +39,7 @@
#include "dwarf2-frame.h"
#include "compile/compile.h"
-extern int dwarf2_always_disassemble;
+extern int dwarf_always_disassemble;
extern const struct dwarf_expr_context_funcs dwarf_expr_ctx_funcs;
@@ -825,9 +825,8 @@ chain_candidate (struct gdbarch *gdbarch, struct call_site_chain **resultp,
/* See call_site_find_chain_1 why there is no way to reach the bottom callee
PC again. In such case there must be two different code paths to reach
- it, therefore some of the former determined intermediate PCs must differ
- and the unambiguous chain gets shortened. */
- gdb_assert (result->callers + result->callees < result->length);
+ it. CALLERS + CALLEES equal to LENGTH in the case of self tail-call. */
+ gdb_assert (result->callers + result->callees <= result->length);
}
/* Create and return call_site_chain for CALLER_PC and CALLEE_PC. All the
@@ -4137,7 +4136,7 @@ locexpr_describe_location_1 (struct symbol *symbol, CORE_ADDR addr,
else
fprintf_filtered (stream, _(", and "));
- if (!dwarf2_always_disassemble)
+ if (!dwarf_always_disassemble)
{
data = locexpr_describe_location_piece (symbol, stream,
addr, objfile, per_cu,
@@ -4156,7 +4155,7 @@ locexpr_describe_location_1 (struct symbol *symbol, CORE_ADDR addr,
get_objfile_arch (objfile),
addr_size, offset_size, data,
data, end, 0,
- dwarf2_always_disassemble,
+ dwarf_always_disassemble,
per_cu);
}
diff --git a/gdb/dwarf2read.c b/gdb/dwarf2read.c
index 4d892d81f75..496b74f4eb6 100644
--- a/gdb/dwarf2read.c
+++ b/gdb/dwarf2read.c
@@ -78,11 +78,14 @@ DEF_VEC_P (symbolp);
/* When == 1, print basic high level tracing messages.
When > 1, be more verbose.
- This is in contrast to the low level DIE reading of dwarf2_die_debug. */
-static unsigned int dwarf2_read_debug = 0;
+ This is in contrast to the low level DIE reading of dwarf_die_debug. */
+static unsigned int dwarf_read_debug = 0;
/* When non-zero, dump DIEs after they are read in. */
-static unsigned int dwarf2_die_debug = 0;
+static unsigned int dwarf_die_debug = 0;
+
+/* When non-zero, dump line number entries as they are read in. */
+static unsigned int dwarf_line_debug = 0;
/* When non-zero, cross-check physname against demangler. */
static int check_physname = 0;
@@ -1373,13 +1376,13 @@ static struct dwarf2_queue_item *dwarf2_queue, *dwarf2_queue_tail;
compilation units. Set this to zero to disable caching. Cache
sizes of up to at least twenty will improve startup time for
typical inter-CU-reference binaries, at an obvious memory cost. */
-static int dwarf2_max_cache_age = 5;
+static int dwarf_max_cache_age = 5;
static void
-show_dwarf2_max_cache_age (struct ui_file *file, int from_tty,
- struct cmd_list_element *c, const char *value)
+show_dwarf_max_cache_age (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c, const char *value)
{
fprintf_filtered (file, _("The upper bound on the age of cached "
- "dwarf2 compilation units is %s.\n"),
+ "DWARF compilation units is %s.\n"),
value);
}
@@ -3665,23 +3668,25 @@ dw2_lookup_symbol (struct objfile *objfile, int block_index,
while ((per_cu = dw2_symtab_iter_next (&iter)) != NULL)
{
- struct symbol *sym = NULL;
+ struct symbol *sym, *with_opaque = NULL;
struct compunit_symtab *stab = dw2_instantiate_symtab (per_cu);
const struct blockvector *bv = COMPUNIT_BLOCKVECTOR (stab);
struct block *block = BLOCKVECTOR_BLOCK (bv, block_index);
+ sym = block_find_symbol (block, name, domain,
+ block_find_non_opaque_type_preferred,
+ &with_opaque);
+
/* Some caution must be observed with overloaded functions
and methods, since the index will not contain any overload
information (but NAME might contain it). */
- sym = block_lookup_symbol (block, name, domain);
-
- if (sym && strcmp_iw (SYMBOL_SEARCH_NAME (sym), name) == 0)
- {
- if (!TYPE_IS_OPAQUE (SYMBOL_TYPE (sym)))
- return stab;
- stab_best = stab;
- }
+ if (sym != NULL
+ && strcmp_iw (SYMBOL_SEARCH_NAME (sym), name) == 0)
+ return stab;
+ if (with_opaque != NULL
+ && strcmp_iw (SYMBOL_SEARCH_NAME (with_opaque), name) == 0)
+ stab_best = stab;
/* Keep looking through other CUs. */
}
@@ -4484,7 +4489,6 @@ dwarf2_create_include_psymtab (const char *name, struct partial_symtab *pst,
subpst->dirname = pst->dirname;
}
- subpst->section_offsets = pst->section_offsets;
subpst->textlow = 0;
subpst->texthigh = 0;
@@ -4604,7 +4608,7 @@ create_debug_types_hash_table (struct dwo_file *dwo_file,
? &dwo_file->sections.abbrev
: &dwarf2_per_objfile->abbrev);
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
fprintf_unfiltered (gdb_stdlog, "Reading .debug_types%s for %s:\n",
dwo_file ? ".dwo" : "",
get_section_file_name (abbrev_section));
@@ -4727,7 +4731,7 @@ create_debug_types_hash_table (struct dwo_file *dwo_file,
}
*slot = dwo_file ? (void *) dwo_tu : (void *) sig_type;
- if (dwarf2_read_debug > 1)
+ if (dwarf_read_debug > 1)
fprintf_unfiltered (gdb_stdlog, " offset 0x%x, signature %s\n",
offset.sect_off,
hex_string (signature));
@@ -5216,14 +5220,14 @@ read_cutu_die_from_dwo (struct dwarf2_per_cu_data *this_cu,
comp_unit_die->attrs[i++] = *comp_dir;
comp_unit_die->num_attrs += num_extra_attrs;
- if (dwarf2_die_debug)
+ if (dwarf_die_debug)
{
fprintf_unfiltered (gdb_stdlog,
"Read die from %s@0x%x of %s:\n",
get_section_name (section),
(unsigned) (begin_info_ptr - section->buffer),
bfd_get_filename (abfd));
- dump_die (comp_unit_die, dwarf2_die_debug);
+ dump_die (comp_unit_die, dwarf_die_debug);
}
/* Save the comp_dir attribute. If there is no DWP file then we'll read
@@ -5428,7 +5432,7 @@ init_cutu_and_read_dies (struct dwarf2_per_cu_data *this_cu,
before we can reread the DWO file (this only applies to CUs, not TUs). */
int rereading_dwo_cu = 0;
- if (dwarf2_die_debug)
+ if (dwarf_die_debug)
fprintf_unfiltered (gdb_stdlog, "Reading %s unit at offset 0x%x\n",
this_cu->is_debug_types ? "type" : "comp",
this_cu->offset.sect_off);
@@ -5661,7 +5665,7 @@ init_cutu_and_read_dies_no_follow (struct dwarf2_per_cu_data *this_cu,
struct die_info *comp_unit_die;
int has_children;
- if (dwarf2_die_debug)
+ if (dwarf_die_debug)
fprintf_unfiltered (gdb_stdlog, "Reading %s unit at offset 0x%x\n",
this_cu->is_debug_types ? "type" : "comp",
this_cu->offset.sect_off);
@@ -5885,8 +5889,7 @@ create_partial_symtab (struct dwarf2_per_cu_data *per_cu, const char *name)
struct objfile *objfile = per_cu->objfile;
struct partial_symtab *pst;
- pst = start_psymtab_common (objfile, objfile->section_offsets,
- name, 0,
+ pst = start_psymtab_common (objfile, name, 0,
objfile->global_psymbols.next,
objfile->static_psymbols.next);
@@ -6039,7 +6042,7 @@ process_psymtab_comp_unit_reader (const struct die_reader_specs *reader,
and build a psymtab for each of them. */
dwarf2_build_include_psymtabs (cu, comp_unit_die, pst);
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
{
struct gdbarch *gdbarch = get_objfile_arch (objfile);
@@ -6208,7 +6211,7 @@ build_type_psymtabs_1 (void)
[IWBN if DWO skeletons had DW_AT_stmt_list]
call FUNC */
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
fprintf_unfiltered (gdb_stdlog, "Building type unit groups ...\n");
/* Sort in a separate table to maintain the order of all_type_units
@@ -6445,7 +6448,7 @@ dwarf2_build_psymtabs_hard (struct objfile *objfile)
struct obstack temp_obstack;
int i;
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
{
fprintf_unfiltered (gdb_stdlog, "Building psymtabs of objfile %s ...\n",
objfile_name (objfile));
@@ -6487,7 +6490,7 @@ dwarf2_build_psymtabs_hard (struct objfile *objfile)
build_type_psymtab_dependencies, NULL);
}
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
print_tu_stats ();
set_partial_user (objfile);
@@ -6498,7 +6501,7 @@ dwarf2_build_psymtabs_hard (struct objfile *objfile)
do_cleanups (back_to);
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
fprintf_unfiltered (gdb_stdlog, "Done building psymtabs of %s\n",
objfile_name (objfile));
}
@@ -6544,7 +6547,7 @@ read_comp_units_from_section (struct objfile *objfile,
const gdb_byte *info_ptr;
bfd *abfd = get_section_bfd_owner (section);
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
fprintf_unfiltered (gdb_stdlog, "Reading %s for %s\n",
get_section_name (section),
get_section_file_name (section));
@@ -7529,7 +7532,7 @@ process_queue (void)
{
struct dwarf2_queue_item *item, *next_item;
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
{
fprintf_unfiltered (gdb_stdlog,
"Expanding one or more symtabs of objfile %s ...\n",
@@ -7566,7 +7569,7 @@ process_queue (void)
debug_print_threshold = 1;
}
- if (dwarf2_read_debug >= debug_print_threshold)
+ if (dwarf_read_debug >= debug_print_threshold)
fprintf_unfiltered (gdb_stdlog, "Expanding symtab of %s\n", buf);
if (per_cu->is_debug_types)
@@ -7574,7 +7577,7 @@ process_queue (void)
else
process_full_comp_unit (per_cu, item->pretend_language);
- if (dwarf2_read_debug >= debug_print_threshold)
+ if (dwarf_read_debug >= debug_print_threshold)
fprintf_unfiltered (gdb_stdlog, "Done expanding %s\n", buf);
}
@@ -7585,7 +7588,7 @@ process_queue (void)
dwarf2_queue_tail = NULL;
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
{
fprintf_unfiltered (gdb_stdlog, "Done expanding symtabs of %s.\n",
objfile_name (dwarf2_per_objfile->objfile));
@@ -9538,7 +9541,7 @@ create_dwo_cu_reader (const struct die_reader_specs *reader,
dwo_unit->offset = offset;
dwo_unit->length = cu->per_cu->length;
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
fprintf_unfiltered (gdb_stdlog, " offset 0x%x, dwo_id %s\n",
offset.sect_off, hex_string (dwo_unit->signature));
}
@@ -9567,7 +9570,7 @@ create_dwo_cu (struct dwo_file *dwo_file)
not present, in which case section->asection will be NULL. */
abfd = get_section_bfd_owner (section);
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
{
fprintf_unfiltered (gdb_stdlog, "Reading %s for %s:\n",
get_section_name (section),
@@ -10013,7 +10016,7 @@ create_dwo_unit_in_dwp_v1 (struct dwp_file *dwp_file,
gdb_assert (dwp_file->version == 1);
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
{
fprintf_unfiltered (gdb_stdlog, "Reading %s %s/%s in DWP V1 file: %s\n",
kind,
@@ -10099,7 +10102,7 @@ create_dwo_unit_in_dwp_v1 (struct dwp_file *dwp_file,
/* Create one if necessary. */
if (*dwo_file_slot == NULL)
{
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
{
fprintf_unfiltered (gdb_stdlog, "Creating virtual DWO: %s\n",
virtual_dwo_name);
@@ -10128,7 +10131,7 @@ create_dwo_unit_in_dwp_v1 (struct dwp_file *dwp_file,
}
else
{
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
{
fprintf_unfiltered (gdb_stdlog, "Using existing virtual DWO: %s\n",
virtual_dwo_name);
@@ -10218,7 +10221,7 @@ create_dwo_unit_in_dwp_v2 (struct dwp_file *dwp_file,
gdb_assert (dwp_file->version == 2);
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
{
fprintf_unfiltered (gdb_stdlog, "Reading %s %s/%s in DWP V2 file: %s\n",
kind,
@@ -10300,7 +10303,7 @@ create_dwo_unit_in_dwp_v2 (struct dwp_file *dwp_file,
/* Create one if necessary. */
if (*dwo_file_slot == NULL)
{
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
{
fprintf_unfiltered (gdb_stdlog, "Creating virtual DWO: %s\n",
virtual_dwo_name);
@@ -10342,7 +10345,7 @@ create_dwo_unit_in_dwp_v2 (struct dwp_file *dwp_file,
}
else
{
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
{
fprintf_unfiltered (gdb_stdlog, "Using existing virtual DWO: %s\n",
virtual_dwo_name);
@@ -10610,7 +10613,7 @@ open_and_init_dwo_file (struct dwarf2_per_cu_data *per_cu,
dbfd = open_dwo_file (dwo_name, comp_dir);
if (dbfd == NULL)
{
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
fprintf_unfiltered (gdb_stdlog, "DWO file not found: %s\n", dwo_name);
return NULL;
}
@@ -10630,7 +10633,7 @@ open_and_init_dwo_file (struct dwarf2_per_cu_data *per_cu,
discard_cleanups (cleanups);
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
fprintf_unfiltered (gdb_stdlog, "DWO file found: %s\n", dwo_name);
return dwo_file;
@@ -10832,7 +10835,7 @@ open_and_init_dwp_file (void)
if (dbfd == NULL)
{
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
fprintf_unfiltered (gdb_stdlog, "DWP file not found: %s\n", dwp_name);
do_cleanups (cleanups);
return NULL;
@@ -10873,7 +10876,7 @@ open_and_init_dwp_file (void)
dwp_file->loaded_cus = allocate_dwp_loaded_cutus_table (objfile);
dwp_file->loaded_tus = allocate_dwp_loaded_cutus_table (objfile);
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
{
fprintf_unfiltered (gdb_stdlog, "DWP file found: %s\n", dwp_file->name);
fprintf_unfiltered (gdb_stdlog,
@@ -10944,7 +10947,7 @@ lookup_dwo_cutu (struct dwarf2_per_cu_data *this_unit,
if (dwo_cutu != NULL)
{
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
{
fprintf_unfiltered (gdb_stdlog,
"Virtual DWO %s %s found: @%s\n",
@@ -10988,7 +10991,7 @@ lookup_dwo_cutu (struct dwarf2_per_cu_data *this_unit,
if (dwo_cutu != NULL)
{
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
{
fprintf_unfiltered (gdb_stdlog, "DWO %s %s(%s) found: @%s\n",
kind, dwo_name, hex_string (signature),
@@ -11003,7 +11006,7 @@ lookup_dwo_cutu (struct dwarf2_per_cu_data *this_unit,
someone deleted the DWO/DWP file, or the search path isn't set up
correctly to find the file. */
- if (dwarf2_read_debug)
+ if (dwarf_read_debug)
{
fprintf_unfiltered (gdb_stdlog, "DWO %s %s(%s) not found\n",
kind, dwo_name, hex_string (signature));
@@ -15141,14 +15144,14 @@ read_die_and_siblings (const struct die_reader_specs *reader,
struct die_info *die = read_die_and_siblings_1 (reader, info_ptr,
new_info_ptr, parent);
- if (dwarf2_die_debug)
+ if (dwarf_die_debug)
{
fprintf_unfiltered (gdb_stdlog,
"Read die from %s@0x%x of %s:\n",
get_section_name (reader->die_section),
(unsigned) (info_ptr - reader->die_section->buffer),
bfd_get_filename (reader->abfd));
- dump_die (die, dwarf2_die_debug);
+ dump_die (die, dwarf_die_debug);
}
return die;
@@ -15223,14 +15226,14 @@ read_full_die (const struct die_reader_specs *reader,
result = read_full_die_1 (reader, diep, info_ptr, has_children, 0);
- if (dwarf2_die_debug)
+ if (dwarf_die_debug)
{
fprintf_unfiltered (gdb_stdlog,
"Read die from %s@0x%x of %s:\n",
get_section_name (reader->die_section),
(unsigned) (info_ptr - reader->die_section->buffer),
bfd_get_filename (reader->abfd));
- dump_die (*diep, dwarf2_die_debug);
+ dump_die (*diep, dwarf_die_debug);
}
return result;
@@ -17150,6 +17153,10 @@ free_line_header_voidp (void *arg)
static void
add_include_dir (struct line_header *lh, const char *include_dir)
{
+ if (dwarf_line_debug >= 2)
+ fprintf_unfiltered (gdb_stdlog, "Adding dir %u: %s\n",
+ lh->num_include_dirs + 1, include_dir);
+
/* Grow the array if necessary. */
if (lh->include_dirs_size == 0)
{
@@ -17179,6 +17186,10 @@ add_file_name (struct line_header *lh,
{
struct file_entry *fe;
+ if (dwarf_line_debug >= 2)
+ fprintf_unfiltered (gdb_stdlog, "Adding file %u: %s\n",
+ lh->num_file_names + 1, name);
+
/* Grow the array if necessary. */
if (lh->file_names_size == 0)
{
@@ -17462,6 +17473,54 @@ psymtab_include_file_name (const struct line_header *lh, int file_index,
return include_name;
}
+/* State machine to track the state of the line number program. */
+
+typedef struct
+{
+ /* These are part of the standard DWARF line number state machine. */
+
+ unsigned char op_index;
+ unsigned int file;
+ unsigned int line;
+ CORE_ADDR address;
+ int is_stmt;
+ unsigned int discriminator;
+
+ /* Additional bits of state we need to track. */
+
+ /* The last file that we called dwarf2_start_subfile for.
+ This is only used for TLLs. */
+ unsigned int last_file;
+ /* The last file a line number was recorded for. */
+ struct subfile *last_subfile;
+
+ /* The function to call to record a line. */
+ record_line_ftype *record_line;
+
+ /* The last line number that was recorded, used to coalesce
+ consecutive entries for the same line. This can happen, for
+ example, when discriminators are present. PR 17276. */
+ unsigned int last_line;
+ int line_has_non_zero_discriminator;
+} lnp_state_machine;
+
+/* There's a lot of static state to pass to dwarf_record_line.
+ This keeps it all together. */
+
+typedef struct
+{
+ /* The gdbarch. */
+ struct gdbarch *gdbarch;
+
+ /* The line number header. */
+ struct line_header *line_header;
+
+ /* Non-zero if we're recording lines.
+ Otherwise we're building partial symtabs and are just interested in
+ finding include files mentioned by the line number program. */
+ int record_lines_p;
+} lnp_reader_state;
+
/* Ignore this record_line request. */
static void
@@ -17521,30 +17580,169 @@ dwarf_record_line_p (unsigned int line, unsigned int last_line,
in the line table of subfile SUBFILE. */
static void
-dwarf_record_line (struct gdbarch *gdbarch, struct subfile *subfile,
- unsigned int line, CORE_ADDR address,
- record_line_ftype p_record_line)
+dwarf_record_line_1 (struct gdbarch *gdbarch, struct subfile *subfile,
+ unsigned int line, CORE_ADDR address,
+ record_line_ftype p_record_line)
{
CORE_ADDR addr = gdbarch_addr_bits_remove (gdbarch, address);
+ if (dwarf_line_debug)
+ {
+ fprintf_unfiltered (gdb_stdlog,
+ "Recording line %u, file %s, address %s\n",
+ line, lbasename (subfile->name),
+ paddress (gdbarch, address));
+ }
+
(*p_record_line) (subfile, line, addr);
}
/* Subroutine of dwarf_decode_lines_1 to simplify it.
Mark the end of a set of line number records.
- The arguments are the same as for dwarf_record_line.
+ The arguments are the same as for dwarf_record_line_1.
If SUBFILE is NULL the request is ignored. */
static void
dwarf_finish_line (struct gdbarch *gdbarch, struct subfile *subfile,
CORE_ADDR address, record_line_ftype p_record_line)
{
- if (subfile != NULL)
- dwarf_record_line (gdbarch, subfile, 0, address, p_record_line);
+ if (subfile == NULL)
+ return;
+
+ if (dwarf_line_debug)
+ {
+ fprintf_unfiltered (gdb_stdlog,
+ "Finishing current line, file %s, address %s\n",
+ lbasename (subfile->name),
+ paddress (gdbarch, address));
+ }
+
+ dwarf_record_line_1 (gdbarch, subfile, 0, address, p_record_line);
+}
+
+/* Record the line in STATE.
+ END_SEQUENCE is non-zero if we're processing the end of a sequence. */
+
+static void
+dwarf_record_line (lnp_reader_state *reader, lnp_state_machine *state,
+ int end_sequence)
+{
+ const struct line_header *lh = reader->line_header;
+ unsigned int file, line, discriminator;
+ int is_stmt;
+
+ file = state->file;
+ line = state->line;
+ is_stmt = state->is_stmt;
+ discriminator = state->discriminator;
+
+ if (dwarf_line_debug)
+ {
+ fprintf_unfiltered (gdb_stdlog,
+ "Processing actual line %u: file %u,"
+ " address %s, is_stmt %u, discrim %u\n",
+ line, file,
+ paddress (reader->gdbarch, state->address),
+ is_stmt, discriminator);
+ }
+
+ if (file == 0 || file - 1 >= lh->num_file_names)
+ dwarf2_debug_line_missing_file_complaint ();
+ /* For now we ignore lines not starting on an instruction boundary.
+ But not when processing end_sequence for compatibility with the
+ previous version of the code. */
+ else if (state->op_index == 0 || end_sequence)
+ {
+ lh->file_names[file - 1].included_p = 1;
+ if (reader->record_lines_p && is_stmt)
+ {
+ if (state->last_subfile != current_subfile || end_sequence)
+ {
+ dwarf_finish_line (reader->gdbarch, state->last_subfile,
+ state->address, state->record_line);
+ }
+
+ if (!end_sequence)
+ {
+ if (dwarf_record_line_p (line, state->last_line,
+ state->line_has_non_zero_discriminator,
+ state->last_subfile))
+ {
+ dwarf_record_line_1 (reader->gdbarch, current_subfile,
+ line, state->address,
+ state->record_line);
+ }
+ state->last_subfile = current_subfile;
+ state->last_line = line;
+ }
+ }
+ }
+}
+
+/* Initialize STATE for the start of a line number program. */
+
+static void
+init_lnp_state_machine (lnp_state_machine *state,
+ const lnp_reader_state *reader)
+{
+ memset (state, 0, sizeof (*state));
+
+ /* Just starting, there is no "last file". */
+ state->last_file = 0;
+ state->last_subfile = NULL;
+
+ state->record_line = record_line;
+
+ state->last_line = 0;
+ state->line_has_non_zero_discriminator = 0;
+
+ /* Initialize these according to the DWARF spec. */
+ state->op_index = 0;
+ state->file = 1;
+ state->line = 1;
+ /* Call `gdbarch_adjust_dwarf2_line' on the initial 0 address as if there
+ was a line entry for it so that the backend has a chance to adjust it
+ and also record it in case it needs it. This is currently used by MIPS
+ code, cf. `mips_adjust_dwarf2_line'. */
+ state->address = gdbarch_adjust_dwarf2_line (reader->gdbarch, 0, 0);
+ state->is_stmt = reader->line_header->default_is_stmt;
+ state->discriminator = 0;
+}
+
+/* Check address and if invalid nop-out the rest of the lines in this
+ sequence. */
+
+static void
+check_line_address (struct dwarf2_cu *cu, lnp_state_machine *state,
+ const gdb_byte *line_ptr,
+ CORE_ADDR lowpc, CORE_ADDR address)
+{
+ /* If address < lowpc then it's not a usable value, it's outside the
+ pc range of the CU. However, we restrict the test to only address
+ values of zero to preserve GDB's previous behaviour which is to
+ handle the specific case of a function being GC'd by the linker. */
+
+ if (address == 0 && address < lowpc)
+ {
+ /* This line table is for a function which has been
+ GCd by the linker. Ignore it. PR gdb/12528 */
+
+ struct objfile *objfile = cu->objfile;
+ long line_offset = line_ptr - get_debug_line_section (cu)->buffer;
+
+ complaint (&symfile_complaints,
+ _(".debug_line address at offset 0x%lx is 0 [in module %s]"),
+ line_offset, objfile_name (objfile));
+ state->record_line = noop_record_line;
+ /* Note: sm.record_line is left as noop_record_line
+ until we see DW_LNE_end_sequence. */
+ }
}
/* Subroutine of dwarf_decode_lines to simplify it.
- Process the line number information in LH. */
+ Process the line number information in LH.
+ If DECODE_FOR_PST_P is non-zero, all we do is process the line number
+ program in order to set included_p for every referenced header. */
static void
dwarf_decode_lines_1 (struct line_header *lh, struct dwarf2_cu *cu,
@@ -17558,43 +17756,38 @@ dwarf_decode_lines_1 (struct line_header *lh, struct dwarf2_cu *cu,
struct objfile *objfile = cu->objfile;
bfd *abfd = objfile->obfd;
struct gdbarch *gdbarch = get_objfile_arch (objfile);
- struct subfile *last_subfile = NULL;
- void (*p_record_line) (struct subfile *subfile, int line, CORE_ADDR pc)
- = record_line;
+ /* Non-zero if we're recording line info (as opposed to building partial
+ symtabs). */
+ int record_lines_p = !decode_for_pst_p;
+ /* A collection of things we need to pass to dwarf_record_line. */
+ lnp_reader_state reader_state;
baseaddr = ANOFFSET (objfile->section_offsets, SECT_OFF_TEXT (objfile));
line_ptr = lh->statement_program_start;
line_end = lh->statement_program_end;
+ reader_state.gdbarch = gdbarch;
+ reader_state.line_header = lh;
+ reader_state.record_lines_p = record_lines_p;
+
/* Read the statement sequences until there's nothing left. */
while (line_ptr < line_end)
{
- /* State machine registers. Call `gdbarch_adjust_dwarf2_line'
- on the initial 0 address as if there was a line entry for it
- so that the backend has a chance to adjust it and also record
- it in case it needs it. This is currently used by MIPS code,
- cf. `mips_adjust_dwarf2_line'. */
- CORE_ADDR address = gdbarch_adjust_dwarf2_line (gdbarch, 0, 0);
- unsigned int file = 1;
- unsigned int line = 1;
- int is_stmt = lh->default_is_stmt;
+ /* The DWARF line number program state machine. */
+ lnp_state_machine state_machine;
int end_sequence = 0;
- unsigned char op_index = 0;
- unsigned int discriminator = 0;
- /* The last line number that was recorded, used to coalesce
- consecutive entries for the same line. This can happen, for
- example, when discriminators are present. PR 17276. */
- unsigned int last_line = 0;
- int line_has_non_zero_discriminator = 0;
-
- if (!decode_for_pst_p && lh->num_file_names >= file)
+
+ /* Reset the state machine at the start of each sequence. */
+ init_lnp_state_machine (&state_machine, &reader_state);
+
+ if (record_lines_p && lh->num_file_names >= state_machine.file)
{
/* Start a subfile for the current file of the state machine. */
/* lh->include_dirs and lh->file_names are 0-based, but the
directory and file name numbers in the statement program
are 1-based. */
- struct file_entry *fe = &lh->file_names[file - 1];
+ struct file_entry *fe = &lh->file_names[state_machine.file - 1];
const char *dir = NULL;
if (fe->dir_index && lh->include_dirs != NULL)
@@ -17604,15 +17797,10 @@ dwarf_decode_lines_1 (struct line_header *lh, struct dwarf2_cu *cu,
}
/* Decode the table. */
- while (!end_sequence)
+ while (line_ptr < line_end && !end_sequence)
{
op_code = read_1_byte (abfd, line_ptr);
line_ptr += 1;
- if (line_ptr > line_end)
- {
- dwarf2_debug_line_missing_end_sequence_complaint ();
- break;
- }
if (op_code >= lh->opcode_base)
{
@@ -17622,42 +17810,23 @@ dwarf_decode_lines_1 (struct line_header *lh, struct dwarf2_cu *cu,
int line_delta;
adj_opcode = op_code - lh->opcode_base;
- addr_adj = (((op_index + (adj_opcode / lh->line_range))
+ addr_adj = (((state_machine.op_index
+ + (adj_opcode / lh->line_range))
/ lh->maximum_ops_per_instruction)
* lh->minimum_instruction_length);
- address += gdbarch_adjust_dwarf2_line (gdbarch, addr_adj, 1);
- op_index = ((op_index + (adj_opcode / lh->line_range))
- % lh->maximum_ops_per_instruction);
+ state_machine.address
+ += gdbarch_adjust_dwarf2_line (gdbarch, addr_adj, 1);
+ state_machine.op_index = ((state_machine.op_index
+ + (adj_opcode / lh->line_range))
+ % lh->maximum_ops_per_instruction);
line_delta = lh->line_base + (adj_opcode % lh->line_range);
- line += line_delta;
+ state_machine.line += line_delta;
if (line_delta != 0)
- line_has_non_zero_discriminator = discriminator != 0;
- if (lh->num_file_names < file || file == 0)
- dwarf2_debug_line_missing_file_complaint ();
- /* For now we ignore lines not starting on an
- instruction boundary. */
- else if (op_index == 0)
- {
- lh->file_names[file - 1].included_p = 1;
- if (!decode_for_pst_p && is_stmt)
- {
- if (last_subfile != current_subfile)
- {
- dwarf_finish_line (gdbarch, last_subfile,
- address, p_record_line);
- }
- if (dwarf_record_line_p (line, last_line,
- line_has_non_zero_discriminator,
- last_subfile))
- {
- dwarf_record_line (gdbarch, current_subfile,
- line, address, p_record_line);
- }
- last_subfile = current_subfile;
- last_line = line;
- }
- }
- discriminator = 0;
+ state_machine.line_has_non_zero_discriminator
+ = state_machine.discriminator != 0;
+
+ dwarf_record_line (&reader_state, &state_machine, 0);
+ state_machine.discriminator = 0;
}
else switch (op_code)
{
@@ -17671,38 +17840,22 @@ dwarf_decode_lines_1 (struct line_header *lh, struct dwarf2_cu *cu,
switch (extended_op)
{
case DW_LNE_end_sequence:
- p_record_line = record_line;
+ state_machine.record_line = record_line;
end_sequence = 1;
break;
case DW_LNE_set_address:
- address = read_address (abfd, line_ptr, cu, &bytes_read);
-
- /* If address < lowpc then it's not a usable value, it's
- outside the pc range of the CU. However, we restrict
- the test to only address values of zero to preserve
- GDB's previous behaviour which is to handle the specific
- case of a function being GC'd by the linker. */
- if (address == 0 && address < lowpc)
- {
- /* This line table is for a function which has been
- GCd by the linker. Ignore it. PR gdb/12528 */
-
- long line_offset
- = line_ptr - get_debug_line_section (cu)->buffer;
-
- complaint (&symfile_complaints,
- _(".debug_line address at offset 0x%lx is 0 "
- "[in module %s]"),
- line_offset, objfile_name (objfile));
- p_record_line = noop_record_line;
- /* Note: p_record_line is left as noop_record_line
- until we see DW_LNE_end_sequence. */
- }
+ {
+ CORE_ADDR address
+ = read_address (abfd, line_ptr, cu, &bytes_read);
- op_index = 0;
- line_ptr += bytes_read;
- address += baseaddr;
- address = gdbarch_adjust_dwarf2_line (gdbarch, address, 0);
+ line_ptr += bytes_read;
+ check_line_address (cu, &state_machine, line_ptr,
+ lowpc, address);
+ state_machine.op_index = 0;
+ address += baseaddr;
+ state_machine.address
+ = gdbarch_adjust_dwarf2_line (gdbarch, address, 0);
+ }
break;
case DW_LNE_define_file:
{
@@ -17730,9 +17883,10 @@ dwarf_decode_lines_1 (struct line_header *lh, struct dwarf2_cu *cu,
if there are consecutive entries for the same
(non-prologue) line we want to coalesce them.
PR 17276. */
- discriminator = read_unsigned_leb128 (abfd, line_ptr,
- &bytes_read);
- line_has_non_zero_discriminator |= discriminator != 0;
+ state_machine.discriminator
+ = read_unsigned_leb128 (abfd, line_ptr, &bytes_read);
+ state_machine.line_has_non_zero_discriminator
+ |= state_machine.discriminator != 0;
line_ptr += bytes_read;
break;
default:
@@ -17751,30 +17905,8 @@ dwarf_decode_lines_1 (struct line_header *lh, struct dwarf2_cu *cu,
}
break;
case DW_LNS_copy:
- if (lh->num_file_names < file || file == 0)
- dwarf2_debug_line_missing_file_complaint ();
- else
- {
- lh->file_names[file - 1].included_p = 1;
- if (!decode_for_pst_p && is_stmt)
- {
- if (last_subfile != current_subfile)
- {
- dwarf_finish_line (gdbarch, last_subfile,
- address, p_record_line);
- }
- if (dwarf_record_line_p (line, last_line,
- line_has_non_zero_discriminator,
- last_subfile))
- {
- dwarf_record_line (gdbarch, current_subfile,
- line, address, p_record_line);
- }
- last_subfile = current_subfile;
- last_line = line;
- }
- }
- discriminator = 0;
+ dwarf_record_line (&reader_state, &state_machine, 0);
+ state_machine.discriminator = 0;
break;
case DW_LNS_advance_pc:
{
@@ -17782,12 +17914,13 @@ dwarf_decode_lines_1 (struct line_header *lh, struct dwarf2_cu *cu,
= read_unsigned_leb128 (abfd, line_ptr, &bytes_read);
CORE_ADDR addr_adj;
- addr_adj = (((op_index + adjust)
+ addr_adj = (((state_machine.op_index + adjust)
/ lh->maximum_ops_per_instruction)
* lh->minimum_instruction_length);
- address += gdbarch_adjust_dwarf2_line (gdbarch, addr_adj, 1);
- op_index = ((op_index + adjust)
- % lh->maximum_ops_per_instruction);
+ state_machine.address
+ += gdbarch_adjust_dwarf2_line (gdbarch, addr_adj, 1);
+ state_machine.op_index = ((state_machine.op_index + adjust)
+ % lh->maximum_ops_per_instruction);
line_ptr += bytes_read;
}
break;
@@ -17796,44 +17929,48 @@ dwarf_decode_lines_1 (struct line_header *lh, struct dwarf2_cu *cu,
int line_delta
= read_signed_leb128 (abfd, line_ptr, &bytes_read);
- line += line_delta;
+ state_machine.line += line_delta;
if (line_delta != 0)
- line_has_non_zero_discriminator = discriminator != 0;
+ state_machine.line_has_non_zero_discriminator
+ = state_machine.discriminator != 0;
line_ptr += bytes_read;
}
break;
case DW_LNS_set_file:
- {
- /* The arrays lh->include_dirs and lh->file_names are
- 0-based, but the directory and file name numbers in
- the statement program are 1-based. */
- struct file_entry *fe;
- const char *dir = NULL;
-
- file = read_unsigned_leb128 (abfd, line_ptr, &bytes_read);
- line_ptr += bytes_read;
- if (lh->num_file_names < file || file == 0)
- dwarf2_debug_line_missing_file_complaint ();
- else
- {
- fe = &lh->file_names[file - 1];
- if (fe->dir_index && lh->include_dirs != NULL)
- dir = lh->include_dirs[fe->dir_index - 1];
- if (!decode_for_pst_p)
- {
- last_subfile = current_subfile;
- line_has_non_zero_discriminator = discriminator != 0;
- dwarf2_start_subfile (fe->name, dir);
- }
- }
- }
+ {
+ /* The arrays lh->include_dirs and lh->file_names are
+ 0-based, but the directory and file name numbers in
+ the statement program are 1-based. */
+ struct file_entry *fe;
+ const char *dir = NULL;
+
+ state_machine.file = read_unsigned_leb128 (abfd, line_ptr,
+ &bytes_read);
+ line_ptr += bytes_read;
+ if (state_machine.file == 0
+ || state_machine.file - 1 >= lh->num_file_names)
+ dwarf2_debug_line_missing_file_complaint ();
+ else
+ {
+ fe = &lh->file_names[state_machine.file - 1];
+ if (fe->dir_index && lh->include_dirs != NULL)
+ dir = lh->include_dirs[fe->dir_index - 1];
+ if (record_lines_p)
+ {
+ state_machine.last_subfile = current_subfile;
+ state_machine.line_has_non_zero_discriminator
+ = state_machine.discriminator != 0;
+ dwarf2_start_subfile (fe->name, dir);
+ }
+ }
+ }
break;
case DW_LNS_set_column:
(void) read_unsigned_leb128 (abfd, line_ptr, &bytes_read);
line_ptr += bytes_read;
break;
case DW_LNS_negate_stmt:
- is_stmt = (!is_stmt);
+ state_machine.is_stmt = (!state_machine.is_stmt);
break;
case DW_LNS_set_basic_block:
break;
@@ -17847,12 +17984,13 @@ dwarf_decode_lines_1 (struct line_header *lh, struct dwarf2_cu *cu,
CORE_ADDR adjust = (255 - lh->opcode_base) / lh->line_range;
CORE_ADDR addr_adj;
- addr_adj = (((op_index + adjust)
+ addr_adj = (((state_machine.op_index + adjust)
/ lh->maximum_ops_per_instruction)
* lh->minimum_instruction_length);
- address += gdbarch_adjust_dwarf2_line (gdbarch, addr_adj, 1);
- op_index = ((op_index + adjust)
- % lh->maximum_ops_per_instruction);
+ state_machine.address
+ += gdbarch_adjust_dwarf2_line (gdbarch, addr_adj, 1);
+ state_machine.op_index = ((state_machine.op_index + adjust)
+ % lh->maximum_ops_per_instruction);
}
break;
case DW_LNS_fixed_advance_pc:
@@ -17860,8 +17998,9 @@ dwarf_decode_lines_1 (struct line_header *lh, struct dwarf2_cu *cu,
CORE_ADDR addr_adj;
addr_adj = read_2_bytes (abfd, line_ptr);
- address += gdbarch_adjust_dwarf2_line (gdbarch, addr_adj, 1);
- op_index = 0;
+ state_machine.address
+ += gdbarch_adjust_dwarf2_line (gdbarch, addr_adj, 1);
+ state_machine.op_index = 0;
line_ptr += 2;
}
break;
@@ -17878,17 +18017,13 @@ dwarf_decode_lines_1 (struct line_header *lh, struct dwarf2_cu *cu,
}
}
}
- if (lh->num_file_names < file || file == 0)
- dwarf2_debug_line_missing_file_complaint ();
- else
- {
- lh->file_names[file - 1].included_p = 1;
- if (!decode_for_pst_p)
- {
- dwarf_finish_line (gdbarch, current_subfile, address,
- p_record_line);
- }
- }
+
+ if (!end_sequence)
+ dwarf2_debug_line_missing_end_sequence_complaint ();
+
+ /* We got a DW_LNE_end_sequence (or we ran off the end of the buffer,
+ in which case we still finish recording the last line). */
+ dwarf_record_line (&reader_state, &state_machine, 1);
}
}
@@ -21967,7 +22102,7 @@ age_cached_comp_units (void)
while (per_cu != NULL)
{
per_cu->cu->last_used ++;
- if (per_cu->cu->last_used <= dwarf2_max_cache_age)
+ if (per_cu->cu->last_used <= dwarf_max_cache_age)
dwarf2_mark (per_cu->cu);
per_cu = per_cu->cu->read_in_chain;
}
@@ -22282,20 +22417,20 @@ partial_die_eq (const void *item_lhs, const void *item_rhs)
return part_die_lhs->offset.sect_off == part_die_rhs->offset.sect_off;
}
-static struct cmd_list_element *set_dwarf2_cmdlist;
-static struct cmd_list_element *show_dwarf2_cmdlist;
+static struct cmd_list_element *set_dwarf_cmdlist;
+static struct cmd_list_element *show_dwarf_cmdlist;
static void
-set_dwarf2_cmd (char *args, int from_tty)
+set_dwarf_cmd (char *args, int from_tty)
{
- help_list (set_dwarf2_cmdlist, "maintenance set dwarf2 ", all_commands,
+ help_list (set_dwarf_cmdlist, "maintenance set dwarf ", all_commands,
gdb_stdout);
}
static void
-show_dwarf2_cmd (char *args, int from_tty)
+show_dwarf_cmd (char *args, int from_tty)
{
- cmd_show_list (show_dwarf2_cmdlist, from_tty, "");
+ cmd_show_list (show_dwarf_cmdlist, from_tty, "");
}
/* Free data associated with OBJFILE, if necessary. */
@@ -23233,11 +23368,11 @@ save_gdb_index_command (char *arg, int from_tty)
-int dwarf2_always_disassemble;
+int dwarf_always_disassemble;
static void
-show_dwarf2_always_disassemble (struct ui_file *file, int from_tty,
- struct cmd_list_element *c, const char *value)
+show_dwarf_always_disassemble (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c, const char *value)
{
fprintf_filtered (file,
_("Whether to always disassemble "
@@ -23264,61 +23399,71 @@ _initialize_dwarf2_read (void)
dwarf2_objfile_data_key
= register_objfile_data_with_cleanup (NULL, dwarf2_per_objfile_free);
- add_prefix_cmd ("dwarf2", class_maintenance, set_dwarf2_cmd, _("\
-Set DWARF 2 specific variables.\n\
-Configure DWARF 2 variables such as the cache size"),
- &set_dwarf2_cmdlist, "maintenance set dwarf2 ",
+ add_prefix_cmd ("dwarf", class_maintenance, set_dwarf_cmd, _("\
+Set DWARF specific variables.\n\
+Configure DWARF variables such as the cache size"),
+ &set_dwarf_cmdlist, "maintenance set dwarf ",
0/*allow-unknown*/, &maintenance_set_cmdlist);
- add_prefix_cmd ("dwarf2", class_maintenance, show_dwarf2_cmd, _("\
-Show DWARF 2 specific variables\n\
-Show DWARF 2 variables such as the cache size"),
- &show_dwarf2_cmdlist, "maintenance show dwarf2 ",
+ add_prefix_cmd ("dwarf", class_maintenance, show_dwarf_cmd, _("\
+Show DWARF specific variables\n\
+Show DWARF variables such as the cache size"),
+ &show_dwarf_cmdlist, "maintenance show dwarf ",
0/*allow-unknown*/, &maintenance_show_cmdlist);
add_setshow_zinteger_cmd ("max-cache-age", class_obscure,
- &dwarf2_max_cache_age, _("\
-Set the upper bound on the age of cached dwarf2 compilation units."), _("\
-Show the upper bound on the age of cached dwarf2 compilation units."), _("\
+ &dwarf_max_cache_age, _("\
+Set the upper bound on the age of cached DWARF compilation units."), _("\
+Show the upper bound on the age of cached DWARF compilation units."), _("\
A higher limit means that cached compilation units will be stored\n\
in memory longer, and more total memory will be used. Zero disables\n\
caching, which can slow down startup."),
NULL,
- show_dwarf2_max_cache_age,
- &set_dwarf2_cmdlist,
- &show_dwarf2_cmdlist);
+ show_dwarf_max_cache_age,
+ &set_dwarf_cmdlist,
+ &show_dwarf_cmdlist);
add_setshow_boolean_cmd ("always-disassemble", class_obscure,
- &dwarf2_always_disassemble, _("\
+ &dwarf_always_disassemble, _("\
Set whether `info address' always disassembles DWARF expressions."), _("\
Show whether `info address' always disassembles DWARF expressions."), _("\
When enabled, DWARF expressions are always printed in an assembly-like\n\
syntax. When disabled, expressions will be printed in a more\n\
conversational style, when possible."),
NULL,
- show_dwarf2_always_disassemble,
- &set_dwarf2_cmdlist,
- &show_dwarf2_cmdlist);
-
- add_setshow_zuinteger_cmd ("dwarf2-read", no_class, &dwarf2_read_debug, _("\
-Set debugging of the dwarf2 reader."), _("\
-Show debugging of the dwarf2 reader."), _("\
-When enabled (non-zero), debugging messages are printed during dwarf2\n\
+ show_dwarf_always_disassemble,
+ &set_dwarf_cmdlist,
+ &show_dwarf_cmdlist);
+
+ add_setshow_zuinteger_cmd ("dwarf-read", no_class, &dwarf_read_debug, _("\
+Set debugging of the DWARF reader."), _("\
+Show debugging of the DWARF reader."), _("\
+When enabled (non-zero), debugging messages are printed during DWARF\n\
reading and symtab expansion. A value of 1 (one) provides basic\n\
information. A value greater than 1 provides more verbose information."),
NULL,
NULL,
&setdebuglist, &showdebuglist);
- add_setshow_zuinteger_cmd ("dwarf2-die", no_class, &dwarf2_die_debug, _("\
-Set debugging of the dwarf2 DIE reader."), _("\
-Show debugging of the dwarf2 DIE reader."), _("\
+ add_setshow_zuinteger_cmd ("dwarf-die", no_class, &dwarf_die_debug, _("\
+Set debugging of the DWARF DIE reader."), _("\
+Show debugging of the DWARF DIE reader."), _("\
When enabled (non-zero), DIEs are dumped after they are read in.\n\
The value is the maximum depth to print."),
NULL,
NULL,
&setdebuglist, &showdebuglist);
+ add_setshow_zuinteger_cmd ("dwarf-line", no_class, &dwarf_line_debug, _("\
+Set debugging of the dwarf line reader."), _("\
+Show debugging of the dwarf line reader."), _("\
+When enabled (non-zero), line number entries are dumped as they are read in.\n\
+A value of 1 (one) provides basic information.\n\
+A value greater than 1 provides more verbose information."),
+ NULL,
+ NULL,
+ &setdebuglist, &showdebuglist);
+
add_setshow_boolean_cmd ("check-physname", no_class, &check_physname, _("\
Set cross-checking of \"physname\" code against demangler."), _("\
Show cross-checking of \"physname\" code against demangler."), _("\
diff --git a/gdb/elfread.c b/gdb/elfread.c
index 4b97b0427aa..0e169c7c8ca 100644
--- a/gdb/elfread.c
+++ b/gdb/elfread.c
@@ -66,8 +66,6 @@ struct elfinfo
static const struct bfd_data *probe_key = NULL;
-static void free_elfinfo (void *);
-
/* Minimal symbols located at the GOT entries for .plt - that is the real
pointer where the given entry will jump to. It gets updated by the real
function address during lazy ld.so resolving in the inferior. These
@@ -236,14 +234,8 @@ elf_symtab_read (struct objfile *objfile, int type,
CORE_ADDR symaddr;
CORE_ADDR offset;
enum minimal_symbol_type ms_type;
- /* If sectinfo is nonNULL, it contains section info that should end up
- filed in the objfile. */
- struct stab_section_info *sectinfo = NULL;
- /* If filesym is nonzero, it points to a file symbol, but we haven't
- seen any section info for it yet. */
- asymbol *filesym = 0;
- /* Name of filesym. This is either a constant string or is saved on
- the objfile's filename cache. */
+ /* Name of the last file symbol. This is either a constant string or is
+ saved on the objfile's filename cache. */
const char *filesymname = "";
struct dbx_symfile_info *dbx = DBX_SYMFILE_INFO (objfile);
int stripped = (bfd_get_symcount (objfile->obfd) == 0);
@@ -345,16 +337,7 @@ elf_symtab_read (struct objfile *objfile, int type,
continue;
if (sym->flags & BSF_FILE)
{
- /* STT_FILE debugging symbol that helps stabs-in-elf debugging.
- Chain any old one onto the objfile; remember new sym. */
- if (sectinfo != NULL)
- {
- sectinfo->next = dbx->stab_section_info;
- dbx->stab_section_info = sectinfo;
- sectinfo = NULL;
- }
- filesym = sym;
- filesymname = bcache (filesym->name, strlen (filesym->name) + 1,
+ filesymname = bcache (sym->name, strlen (sym->name) + 1,
objfile->per_bfd->filename_cache);
}
else if (sym->flags & BSF_SECTION_SYM)
@@ -451,77 +434,6 @@ elf_symtab_read (struct objfile *objfile, int type,
}
else if (sym->flags & BSF_LOCAL)
{
- /* Named Local variable in a Data section.
- Check its name for stabs-in-elf. */
- int special_local_sect;
-
- if (strcmp ("Bbss.bss", sym->name) == 0)
- special_local_sect = SECT_OFF_BSS (objfile);
- else if (strcmp ("Ddata.data", sym->name) == 0)
- special_local_sect = SECT_OFF_DATA (objfile);
- else if (strcmp ("Drodata.rodata", sym->name) == 0)
- special_local_sect = SECT_OFF_RODATA (objfile);
- else
- special_local_sect = -1;
- if (special_local_sect >= 0)
- {
- /* Found a special local symbol. Allocate a
- sectinfo, if needed, and fill it in. */
- if (sectinfo == NULL)
- {
- int max_index;
- size_t size;
-
- max_index = SECT_OFF_BSS (objfile);
- if (objfile->sect_index_data > max_index)
- max_index = objfile->sect_index_data;
- if (objfile->sect_index_rodata > max_index)
- max_index = objfile->sect_index_rodata;
-
- /* max_index is the largest index we'll
- use into this array, so we must
- allocate max_index+1 elements for it.
- However, 'struct stab_section_info'
- already includes one element, so we
- need to allocate max_index aadditional
- elements. */
- size = (sizeof (struct stab_section_info)
- + (sizeof (CORE_ADDR) * max_index));
- sectinfo = (struct stab_section_info *)
- xmalloc (size);
- memset (sectinfo, 0, size);
- sectinfo->num_sections = max_index;
- if (filesym == NULL)
- {
- complaint (&symfile_complaints,
- _("elf/stab section information %s "
- "without a preceding file symbol"),
- sym->name);
- }
- else
- {
- sectinfo->filename =
- (char *) filesym->name;
- }
- }
- if (sectinfo->sections[special_local_sect] != 0)
- complaint (&symfile_complaints,
- _("duplicated elf/stab section "
- "information for %s"),
- sectinfo->filename);
- /* BFD symbols are section relative. */
- symaddr = sym->value + sym->section->vma;
- /* Relocate non-absolute symbols by the
- section offset. */
- if (sym->section != bfd_abs_section_ptr)
- symaddr += offset;
- sectinfo->sections[special_local_sect] = symaddr;
- /* The special local symbols don't go in the
- minimal symbol table, so ignore this one. */
- continue;
- }
- /* Not a special stabs-in-elf symbol, do regular
- symbol processing. */
if (sym->section->flags & SEC_LOAD)
{
ms_type = mst_file_data;
@@ -1130,11 +1042,8 @@ elf_read_minimal_symbols (struct objfile *objfile, int symfile_flags,
/* Allocate struct to keep track of the symfile. */
dbx = XCNEW (struct dbx_symfile_info);
set_objfile_data (objfile, dbx_objfile_data_key, dbx);
- make_cleanup (free_elfinfo, (void *) objfile);
- /* Process the normal ELF symbol table first. This may write some
- chain of info into the dbx_symfile_info of the objfile, which can
- later be used by elfstab_offset_sections. */
+ /* Process the normal ELF symbol table first. */
storage_needed = bfd_get_symtab_upper_bound (objfile->obfd);
if (storage_needed < 0)
@@ -1369,28 +1278,6 @@ read_psyms (struct objfile *objfile)
dwarf2_build_psymtabs (objfile);
}
-/* This cleans up the objfile's dbx symfile info, and the chain of
- stab_section_info's, that might be dangling from it. */
-
-static void
-free_elfinfo (void *objp)
-{
- struct objfile *objfile = (struct objfile *) objp;
- struct dbx_symfile_info *dbxinfo = DBX_SYMFILE_INFO (objfile);
- struct stab_section_info *ssi, *nssi;
-
- ssi = dbxinfo->stab_section_info;
- while (ssi)
- {
- nssi = ssi->next;
- xfree (ssi);
- ssi = nssi;
- }
-
- dbxinfo->stab_section_info = 0; /* Just say No mo info about this. */
-}
-
-
/* Initialize anything that needs initializing when a completely new symbol
file is specified (not just adding some symbols from another file, e.g. a
shared library).
@@ -1427,69 +1314,6 @@ elf_symfile_init (struct objfile *objfile)
objfile->flags |= OBJF_REORDERED;
}
-/* When handling an ELF file that contains Sun STABS debug info,
- some of the debug info is relative to the particular chunk of the
- section that was generated in its individual .o file. E.g.
- offsets to static variables are relative to the start of the data
- segment *for that module before linking*. This information is
- painfully squirreled away in the ELF symbol table as local symbols
- with wierd names. Go get 'em when needed. */
-
-void
-elfstab_offset_sections (struct objfile *objfile, struct partial_symtab *pst)
-{
- const char *filename = pst->filename;
- struct dbx_symfile_info *dbx = DBX_SYMFILE_INFO (objfile);
- struct stab_section_info *maybe = dbx->stab_section_info;
- struct stab_section_info *questionable = 0;
- int i;
-
- /* The ELF symbol info doesn't include path names, so strip the path
- (if any) from the psymtab filename. */
- filename = lbasename (filename);
-
- /* FIXME: This linear search could speed up significantly
- if it was chained in the right order to match how we search it,
- and if we unchained when we found a match. */
- for (; maybe; maybe = maybe->next)
- {
- if (filename[0] == maybe->filename[0]
- && filename_cmp (filename, maybe->filename) == 0)
- {
- /* We found a match. But there might be several source files
- (from different directories) with the same name. */
- if (0 == maybe->found)
- break;
- questionable = maybe; /* Might use it later. */
- }
- }
-
- if (maybe == 0 && questionable != 0)
- {
- complaint (&symfile_complaints,
- _("elf/stab section information questionable for %s"),
- filename);
- maybe = questionable;
- }
-
- if (maybe)
- {
- /* Found it! Allocate a new psymtab struct, and fill it in. */
- maybe->found++;
- pst->section_offsets = (struct section_offsets *)
- obstack_alloc (&objfile->objfile_obstack,
- SIZEOF_N_SECTION_OFFSETS (objfile->num_sections));
- for (i = 0; i < maybe->num_sections; i++)
- (pst->section_offsets)->offsets[i] = maybe->sections[i];
- return;
- }
-
- /* We were unable to find any offsets for this file. Complain. */
- if (dbx->stab_section_info) /* If there *is* any info, */
- complaint (&symfile_complaints,
- _("elf/stab section information missing for %s"), filename);
-}
-
/* Implementation of `sym_get_probes', as documented in symfile.h. */
static VEC (probe_p) *
diff --git a/gdb/exec.c b/gdb/exec.c
index 8a4ab6f0832..3dfc437a9b3 100644
--- a/gdb/exec.c
+++ b/gdb/exec.c
@@ -154,8 +154,7 @@ exec_file_locate_attach (int pid, int from_tty)
/* If gdb_sysroot is not empty and the discovered filename
is absolute then prefix the filename with gdb_sysroot. */
- if (gdb_sysroot != NULL && *gdb_sysroot != '\0'
- && IS_ABSOLUTE_PATH (exec_file))
+ if (*gdb_sysroot != '\0' && IS_ABSOLUTE_PATH (exec_file))
full_exec_path = exec_file_find (exec_file, NULL);
if (full_exec_path == NULL)
diff --git a/gdb/ft32-tdep.c b/gdb/ft32-tdep.c
index 41a71919766..e7f4d1a6061 100644
--- a/gdb/ft32-tdep.c
+++ b/gdb/ft32-tdep.c
@@ -37,8 +37,6 @@
#include "dis-asm.h"
#include "record.h"
-#include "gdb_assert.h"
-
#include "ft32-tdep.h"
#include "gdb/sim-ft32.h"
diff --git a/gdb/gdb-stabs.h b/gdb/gdb-stabs.h
index aca3479c8b0..fa78ba24aaa 100644
--- a/gdb/gdb-stabs.h
+++ b/gdb/gdb-stabs.h
@@ -30,20 +30,6 @@
global because it is referenced by several modules. */
extern const struct objfile_data *dbx_objfile_data_key;
-/* The stab_section_info chain remembers info from the ELF symbol table,
- while psymtabs are being built for the other symbol tables in the
- objfile. It is destroyed at the complation of psymtab-reading.
- Any info that was used from it has been copied into psymtabs. */
-
-struct stab_section_info
- {
- char *filename;
- struct stab_section_info *next;
- int found; /* Count of times it's found in searching. */
- size_t num_sections;
- CORE_ADDR sections[1];
- };
-
/* Information is passed among various dbxread routines for accessing
symbol files. A pointer to this structure is kept in the objfile,
using the dbx_objfile_data_key. */
@@ -57,9 +43,6 @@ struct dbx_symfile_info
int stringtab_size; /* Its size */
file_ptr symtab_offset; /* Offset in file to symbol table */
int symbol_size; /* Bytes in a single symbol */
- struct stab_section_info *stab_section_info; /* Section starting points
- of the original .o files
- before linking. */
/* See stabsread.h for the use of the following. */
struct header_file *header_files;
diff --git a/gdb/gdb_bfd.c b/gdb/gdb_bfd.c
index 3d5d23f7cb8..1781d808537 100644
--- a/gdb/gdb_bfd.c
+++ b/gdb/gdb_bfd.c
@@ -32,6 +32,7 @@
#endif
#include "target.h"
#include "gdb/fileio.h"
+#include "inferior.h"
typedef bfd *bfdp;
DEF_VEC_P (bfdp);
@@ -213,7 +214,7 @@ fileio_errno_to_host (int errnum)
OPEN_CLOSURE is unused. */
static void *
-gdb_bfd_iovec_fileio_open (struct bfd *abfd, void *open_closure)
+gdb_bfd_iovec_fileio_open (struct bfd *abfd, void *inferior)
{
const char *filename = bfd_get_filename (abfd);
int fd, target_errno;
@@ -221,7 +222,8 @@ gdb_bfd_iovec_fileio_open (struct bfd *abfd, void *open_closure)
gdb_assert (is_target_filename (filename));
- fd = target_fileio_open (filename + strlen (TARGET_SYSROOT_PREFIX),
+ fd = target_fileio_open ((struct inferior *) inferior,
+ filename + strlen (TARGET_SYSROOT_PREFIX),
FILEIO_O_RDONLY, 0,
&target_errno);
if (fd == -1)
@@ -326,25 +328,12 @@ gdb_bfd_open (const char *name, const char *target, int fd)
{
gdb_assert (fd == -1);
- abfd = gdb_bfd_openr_iovec (name, target,
- gdb_bfd_iovec_fileio_open, NULL,
+ return gdb_bfd_openr_iovec (name, target,
+ gdb_bfd_iovec_fileio_open,
+ current_inferior (),
gdb_bfd_iovec_fileio_pread,
gdb_bfd_iovec_fileio_close,
gdb_bfd_iovec_fileio_fstat);
-
- if (abfd != NULL || errno != ENOSYS)
- return abfd;
-
- /* gdb_bfd_iovec_fileio_open failed with ENOSYS. This can
- happen, for example, with vgdb (Valgrind GDB), which
- presents itself as a remote target but works on the local
- filesystem: it does not implement remote get and users
- are not expected to set gdb_sysroot. To handle this case
- we fall back to trying the local filesystem iff
- gdb_sysroot is exactly TARGET_SYSROOT_PREFIX. */
- if (gdb_sysroot == NULL
- || strcmp (gdb_sysroot, TARGET_SYSROOT_PREFIX) != 0)
- return NULL;
}
name += strlen (TARGET_SYSROOT_PREFIX);
diff --git a/gdb/gdbarch.c b/gdb/gdbarch.c
index 97874c967e0..c2893341d4b 100644
--- a/gdb/gdbarch.c
+++ b/gdb/gdbarch.c
@@ -249,7 +249,7 @@ struct gdbarch
gdbarch_skip_trampoline_code_ftype *skip_trampoline_code;
gdbarch_skip_solib_resolver_ftype *skip_solib_resolver;
gdbarch_in_solib_return_trampoline_ftype *in_solib_return_trampoline;
- gdbarch_in_function_epilogue_p_ftype *in_function_epilogue_p;
+ gdbarch_stack_frame_destroyed_p_ftype *stack_frame_destroyed_p;
gdbarch_elf_make_msymbol_special_ftype *elf_make_msymbol_special;
gdbarch_coff_make_msymbol_special_ftype *coff_make_msymbol_special;
gdbarch_make_symbol_special_ftype *make_symbol_special;
@@ -326,8 +326,10 @@ struct gdbarch
gdbarch_auxv_parse_ftype *auxv_parse;
gdbarch_vsyscall_range_ftype *vsyscall_range;
gdbarch_infcall_mmap_ftype *infcall_mmap;
+ gdbarch_infcall_munmap_ftype *infcall_munmap;
gdbarch_gcc_target_options_ftype *gcc_target_options;
gdbarch_gnu_triplet_regexp_ftype *gnu_triplet_regexp;
+ gdbarch_addressable_memory_unit_size_ftype *addressable_memory_unit_size;
};
/* Create a new ``struct gdbarch'' based on information provided by
@@ -402,7 +404,7 @@ gdbarch_alloc (const struct gdbarch_info *info,
gdbarch->skip_trampoline_code = generic_skip_trampoline_code;
gdbarch->skip_solib_resolver = generic_skip_solib_resolver;
gdbarch->in_solib_return_trampoline = generic_in_solib_return_trampoline;
- gdbarch->in_function_epilogue_p = generic_in_function_epilogue_p;
+ gdbarch->stack_frame_destroyed_p = generic_stack_frame_destroyed_p;
gdbarch->coff_make_msymbol_special = default_coff_make_msymbol_special;
gdbarch->make_symbol_special = default_make_symbol_special;
gdbarch->adjust_dwarf2_addr = default_adjust_dwarf2_addr;
@@ -426,8 +428,10 @@ gdbarch_alloc (const struct gdbarch_info *info,
gdbarch->insn_is_jump = default_insn_is_jump;
gdbarch->vsyscall_range = default_vsyscall_range;
gdbarch->infcall_mmap = default_infcall_mmap;
+ gdbarch->infcall_munmap = default_infcall_munmap;
gdbarch->gcc_target_options = default_gcc_target_options;
gdbarch->gnu_triplet_regexp = default_gnu_triplet_regexp;
+ gdbarch->addressable_memory_unit_size = default_addressable_memory_unit_size;
/* gdbarch_alloc() */
return gdbarch;
@@ -580,7 +584,7 @@ verify_gdbarch (struct gdbarch *gdbarch)
/* Skip verify of skip_trampoline_code, 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_function_epilogue_p, invalid_p == 0 */
+ /* Skip verify of stack_frame_destroyed_p, invalid_p == 0 */
/* Skip verify of elf_make_msymbol_special, has predicate. */
/* Skip verify of coff_make_msymbol_special, invalid_p == 0 */
/* Skip verify of make_symbol_special, invalid_p == 0 */
@@ -658,8 +662,10 @@ verify_gdbarch (struct gdbarch *gdbarch)
/* Skip verify of auxv_parse, has predicate. */
/* Skip verify of vsyscall_range, invalid_p == 0 */
/* Skip verify of infcall_mmap, invalid_p == 0 */
+ /* Skip verify of infcall_munmap, invalid_p == 0 */
/* Skip verify of gcc_target_options, invalid_p == 0 */
/* Skip verify of gnu_triplet_regexp, invalid_p == 0 */
+ /* Skip verify of addressable_memory_unit_size, invalid_p == 0 */
buf = ui_file_xstrdup (log, &length);
make_cleanup (xfree, buf);
if (length > 0)
@@ -711,6 +717,9 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file)
"gdbarch_dump: address_to_pointer = <%s>\n",
host_address_to_string (gdbarch->address_to_pointer));
fprintf_unfiltered (file,
+ "gdbarch_dump: addressable_memory_unit_size = <%s>\n",
+ host_address_to_string (gdbarch->addressable_memory_unit_size));
+ fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_adjust_breakpoint_address_p() = %d\n",
gdbarch_adjust_breakpoint_address_p (gdbarch));
fprintf_unfiltered (file,
@@ -1020,15 +1029,15 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file)
"gdbarch_dump: have_nonsteppable_watchpoint = %s\n",
plongest (gdbarch->have_nonsteppable_watchpoint));
fprintf_unfiltered (file,
- "gdbarch_dump: in_function_epilogue_p = <%s>\n",
- host_address_to_string (gdbarch->in_function_epilogue_p));
- fprintf_unfiltered (file,
"gdbarch_dump: in_solib_return_trampoline = <%s>\n",
host_address_to_string (gdbarch->in_solib_return_trampoline));
fprintf_unfiltered (file,
"gdbarch_dump: infcall_mmap = <%s>\n",
host_address_to_string (gdbarch->infcall_mmap));
fprintf_unfiltered (file,
+ "gdbarch_dump: infcall_munmap = <%s>\n",
+ host_address_to_string (gdbarch->infcall_munmap));
+ fprintf_unfiltered (file,
"gdbarch_dump: gdbarch_info_proc_p() = %d\n",
gdbarch_info_proc_p (gdbarch));
fprintf_unfiltered (file,
@@ -1296,6 +1305,9 @@ gdbarch_dump (struct gdbarch *gdbarch, struct ui_file *file)
"gdbarch_dump: stabs_argument_has_addr = <%s>\n",
host_address_to_string (gdbarch->stabs_argument_has_addr));
fprintf_unfiltered (file,
+ "gdbarch_dump: stack_frame_destroyed_p = <%s>\n",
+ host_address_to_string (gdbarch->stack_frame_destroyed_p));
+ fprintf_unfiltered (file,
"gdbarch_dump: stap_gdb_register_prefix = %s\n",
pstring (gdbarch->stap_gdb_register_prefix));
fprintf_unfiltered (file,
@@ -3110,20 +3122,20 @@ set_gdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch,
}
int
-gdbarch_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR addr)
+gdbarch_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR addr)
{
gdb_assert (gdbarch != NULL);
- gdb_assert (gdbarch->in_function_epilogue_p != NULL);
+ gdb_assert (gdbarch->stack_frame_destroyed_p != NULL);
if (gdbarch_debug >= 2)
- fprintf_unfiltered (gdb_stdlog, "gdbarch_in_function_epilogue_p called\n");
- return gdbarch->in_function_epilogue_p (gdbarch, addr);
+ fprintf_unfiltered (gdb_stdlog, "gdbarch_stack_frame_destroyed_p called\n");
+ return gdbarch->stack_frame_destroyed_p (gdbarch, addr);
}
void
-set_gdbarch_in_function_epilogue_p (struct gdbarch *gdbarch,
- gdbarch_in_function_epilogue_p_ftype in_function_epilogue_p)
+set_gdbarch_stack_frame_destroyed_p (struct gdbarch *gdbarch,
+ gdbarch_stack_frame_destroyed_p_ftype stack_frame_destroyed_p)
{
- gdbarch->in_function_epilogue_p = in_function_epilogue_p;
+ gdbarch->stack_frame_destroyed_p = stack_frame_destroyed_p;
}
int
@@ -4673,6 +4685,23 @@ set_gdbarch_infcall_mmap (struct gdbarch *gdbarch,
gdbarch->infcall_mmap = infcall_mmap;
}
+void
+gdbarch_infcall_munmap (struct gdbarch *gdbarch, CORE_ADDR addr, CORE_ADDR size)
+{
+ gdb_assert (gdbarch != NULL);
+ gdb_assert (gdbarch->infcall_munmap != NULL);
+ if (gdbarch_debug >= 2)
+ fprintf_unfiltered (gdb_stdlog, "gdbarch_infcall_munmap called\n");
+ gdbarch->infcall_munmap (addr, size);
+}
+
+void
+set_gdbarch_infcall_munmap (struct gdbarch *gdbarch,
+ gdbarch_infcall_munmap_ftype infcall_munmap)
+{
+ gdbarch->infcall_munmap = infcall_munmap;
+}
+
char *
gdbarch_gcc_target_options (struct gdbarch *gdbarch)
{
@@ -4707,6 +4736,23 @@ set_gdbarch_gnu_triplet_regexp (struct gdbarch *gdbarch,
gdbarch->gnu_triplet_regexp = gnu_triplet_regexp;
}
+int
+gdbarch_addressable_memory_unit_size (struct gdbarch *gdbarch)
+{
+ gdb_assert (gdbarch != NULL);
+ gdb_assert (gdbarch->addressable_memory_unit_size != NULL);
+ if (gdbarch_debug >= 2)
+ fprintf_unfiltered (gdb_stdlog, "gdbarch_addressable_memory_unit_size called\n");
+ return gdbarch->addressable_memory_unit_size (gdbarch);
+}
+
+void
+set_gdbarch_addressable_memory_unit_size (struct gdbarch *gdbarch,
+ gdbarch_addressable_memory_unit_size_ftype addressable_memory_unit_size)
+{
+ gdbarch->addressable_memory_unit_size = addressable_memory_unit_size;
+}
+
/* Keep a registry of per-architecture data-pointers required by GDB
modules. */
diff --git a/gdb/gdbarch.h b/gdb/gdbarch.h
index c94c19c173d..7d6a0cfa79f 100644
--- a/gdb/gdbarch.h
+++ b/gdb/gdbarch.h
@@ -685,7 +685,7 @@ extern void set_gdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch, gdb
/* A target might have problems with watchpoints as soon as the stack
frame of the current function has been destroyed. This mostly happens
- as the first action in a funtion's epilogue. in_function_epilogue_p()
+ as the first action in a function's epilogue. stack_frame_destroyed_p()
is defined to return a non-zero value if either the given addr is one
instruction after the stack destroying instruction up to the trailing
return instruction or if we can figure out that the stack frame has
@@ -693,9 +693,9 @@ extern void set_gdbarch_in_solib_return_trampoline (struct gdbarch *gdbarch, gdb
which don't suffer from that problem could just let this functionality
untouched. */
-typedef int (gdbarch_in_function_epilogue_p_ftype) (struct gdbarch *gdbarch, CORE_ADDR addr);
-extern int gdbarch_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR addr);
-extern void set_gdbarch_in_function_epilogue_p (struct gdbarch *gdbarch, gdbarch_in_function_epilogue_p_ftype *in_function_epilogue_p);
+typedef int (gdbarch_stack_frame_destroyed_p_ftype) (struct gdbarch *gdbarch, CORE_ADDR addr);
+extern int gdbarch_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR addr);
+extern void set_gdbarch_stack_frame_destroyed_p (struct gdbarch *gdbarch, gdbarch_stack_frame_destroyed_p_ftype *stack_frame_destroyed_p);
/* Process an ELF symbol in the minimal symbol table in a backend-specific
way. Normally this hook is supposed to do nothing, however if required,
@@ -1440,6 +1440,13 @@ typedef CORE_ADDR (gdbarch_infcall_mmap_ftype) (CORE_ADDR size, unsigned prot);
extern CORE_ADDR gdbarch_infcall_mmap (struct gdbarch *gdbarch, CORE_ADDR size, unsigned prot);
extern void set_gdbarch_infcall_mmap (struct gdbarch *gdbarch, gdbarch_infcall_mmap_ftype *infcall_mmap);
+/* Deallocate SIZE bytes of memory at ADDR in inferior from gdbarch_infcall_mmap.
+ Print a warning if it is not possible. */
+
+typedef void (gdbarch_infcall_munmap_ftype) (CORE_ADDR addr, CORE_ADDR size);
+extern void gdbarch_infcall_munmap (struct gdbarch *gdbarch, CORE_ADDR addr, CORE_ADDR size);
+extern void set_gdbarch_infcall_munmap (struct gdbarch *gdbarch, gdbarch_infcall_munmap_ftype *infcall_munmap);
+
/* Return string (caller has to use xfree for it) with options for GCC
to produce code for this target, typically "-m64", "-m32" or "-m31".
These options are put before CU's DW_AT_producer compilation options so that
@@ -1459,6 +1466,14 @@ typedef const char * (gdbarch_gnu_triplet_regexp_ftype) (struct gdbarch *gdbarch
extern const char * gdbarch_gnu_triplet_regexp (struct gdbarch *gdbarch);
extern void set_gdbarch_gnu_triplet_regexp (struct gdbarch *gdbarch, gdbarch_gnu_triplet_regexp_ftype *gnu_triplet_regexp);
+/* Return the size in 8-bit bytes of an addressable memory unit on this
+ architecture. This corresponds to the number of 8-bit bytes associated to
+ each address in memory. */
+
+typedef int (gdbarch_addressable_memory_unit_size_ftype) (struct gdbarch *gdbarch);
+extern int gdbarch_addressable_memory_unit_size (struct gdbarch *gdbarch);
+extern void set_gdbarch_addressable_memory_unit_size (struct gdbarch *gdbarch, gdbarch_addressable_memory_unit_size_ftype *addressable_memory_unit_size);
+
/* Definition for an unknown syscall, used basically in error-cases. */
#define UNKNOWN_SYSCALL (-1)
diff --git a/gdb/gdbarch.sh b/gdb/gdbarch.sh
index 0f303a43989..6c5d684b4d3 100755
--- a/gdb/gdbarch.sh
+++ b/gdb/gdbarch.sh
@@ -627,14 +627,14 @@ m:int:in_solib_return_trampoline:CORE_ADDR pc, const char *name:pc, name::generi
# A target might have problems with watchpoints as soon as the stack
# frame of the current function has been destroyed. This mostly happens
-# as the first action in a funtion's epilogue. in_function_epilogue_p()
+# as the first action in a function's epilogue. stack_frame_destroyed_p()
# is defined to return a non-zero value if either the given addr is one
# instruction after the stack destroying instruction up to the trailing
# return instruction or if we can figure out that the stack frame has
# already been invalidated regardless of the value of addr. Targets
# which don't suffer from that problem could just let this functionality
# untouched.
-m:int:in_function_epilogue_p:CORE_ADDR addr:addr:0:generic_in_function_epilogue_p::0
+m:int:stack_frame_destroyed_p:CORE_ADDR addr:addr:0:generic_stack_frame_destroyed_p::0
# Process an ELF symbol in the minimal symbol table in a backend-specific
# way. Normally this hook is supposed to do nothing, however if required,
# then this hook can be used to apply tranformations to symbols that are
@@ -1097,6 +1097,10 @@ m:int:vsyscall_range:struct mem_range *range:range::default_vsyscall_range::0
# Throw an error if it is not possible. Returned address is always valid.
f:CORE_ADDR:infcall_mmap:CORE_ADDR size, unsigned prot:size, prot::default_infcall_mmap::0
+# Deallocate SIZE bytes of memory at ADDR in inferior from gdbarch_infcall_mmap.
+# Print a warning if it is not possible.
+f:void:infcall_munmap:CORE_ADDR addr, CORE_ADDR size:addr, size::default_infcall_munmap::0
+
# Return string (caller has to use xfree for it) with options for GCC
# to produce code for this target, typically "-m64", "-m32" or "-m31".
# These options are put before CU's DW_AT_producer compilation options so that
@@ -1109,6 +1113,12 @@ m:char *:gcc_target_options:void:::default_gcc_target_options::0
# returns the BFD architecture name, which is correct in nearly every
# case.
m:const char *:gnu_triplet_regexp:void:::default_gnu_triplet_regexp::0
+
+# Return the size in 8-bit bytes of an addressable memory unit on this
+# architecture. This corresponds to the number of 8-bit bytes associated to
+# each address in memory.
+m:int:addressable_memory_unit_size:void:::default_addressable_memory_unit_size::0
+
EOF
}
diff --git a/gdb/gdbcore.h b/gdb/gdbcore.h
index a437c8af7b9..0c08b373987 100644
--- a/gdb/gdbcore.h
+++ b/gdb/gdbcore.h
@@ -101,10 +101,8 @@ extern void read_memory_string (CORE_ADDR, char *, int);
CORE_ADDR read_memory_typed_address (CORE_ADDR addr, struct type *type);
-/* This takes a char *, not void *. This is probably right, because
- passing in an int * or whatever is wrong with respect to
- byteswapping, alignment, different sizes for host vs. target types,
- etc. */
+/* Same as target_write_memory, but report an error if can't
+ write. */
extern void write_memory (CORE_ADDR memaddr, const gdb_byte *myaddr,
ssize_t len);
diff --git a/gdb/gdbserver/ChangeLog b/gdb/gdbserver/ChangeLog
index 0f30c66d0ee..eea8be5510e 100644
--- a/gdb/gdbserver/ChangeLog
+++ b/gdb/gdbserver/ChangeLog
@@ -1,3 +1,86 @@
+2015-06-29 Pierre Langlois <pierre.langlois@arm.com>
+
+ * linux-aarch64-low.c (aarch64_supports_z_point_type): Enable for
+ Z_PACKET_SW_BP.
+
+2015-06-29 Pierre Langlois <pierre.langlois@arm.com>
+
+ * linux-aarch64-low.c: Remove comment about endianness.
+ (aarch64_breakpoint): Change type to gdb_byte[]. Set to "brk #0".
+ (aarch64_breakpoint_at): Change type of insn to gdb_byte[]. Use
+ memcmp.
+
+2015-06-24 Gary Benson <gbenson@redhat.com>
+
+ * linux-i386-ipa.c (stdint.h): Do not include.
+ * lynx-i386-low.c (stdint.h): Likewise.
+ * lynx-ppc-low.c (stdint.h): Likewise.
+ * mem-break.c (stdint.h): Likewise.
+ * thread-db.c (stdint.h): Likewise.
+ * tracepoint.c (stdint.h): Likewise.
+ * win32-low.c (stdint.h): Likewise.
+
+2015-06-18 Simon Marchi <simon.marchi@ericsson.com>
+
+ * server.c (write_qxfer_response): Update call to
+ remote_escape_output.
+
+2015-06-15 Aleksandar Ristovski <aristovski@qnx.com
+ Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ Merge multiple hex conversions.
+ * gdbreplay.c (tohex): Rename to 'fromhex'.
+ (logchar): Use fromhex.
+
+2015-06-10 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * server.c (handle_qxfer_libraries): Set `version' attribute for
+ <library-list>.
+
+2015-06-10 Gary Benson <gbenson@redhat.com>
+
+ * target.h (struct target_ops) <multifs_open>: New field.
+ <multifs_unlink>: Likewise.
+ <multifs_readlink>: Likewise.
+ * linux-low.c (nat/linux-namespaces.h): New include.
+ (linux_target_ops): Initialize the_target->multifs_open,
+ the_target->multifs_unlink and the_target->multifs_readlink.
+ * hostio.h (hostio_handle_new_gdb_connection): New declaration.
+ * hostio.c (hostio_fs_pid): New static variable.
+ (hostio_handle_new_gdb_connection): New function.
+ (handle_setfs): Likewise.
+ (handle_open): Use the_target->multifs_open as appropriate.
+ (handle_unlink): Use the_target->multifs_unlink as appropriate.
+ (handle_readlink): Use the_target->multifs_readlink as
+ appropriate.
+ (handle_vFile): Handle vFile:setfs packets.
+ * server.c (handle_query): Call hostio_handle_new_gdb_connection
+ after target_handle_new_gdb_connection.
+
+2015-06-10 Gary Benson <gbenson@redhat.com>
+
+ * configure.ac (AC_CHECK_FUNCS): Add setns.
+ * config.in: Regenerate.
+ * configure: Likewise.
+ * Makefile.in (SFILES): Add nat/linux-namespaces.c.
+ (linux-namespaces.o): New rule.
+ * configure.srv (srv_linux_obj): Add linux-namespaces.o.
+
+2015-06-09 Gary Benson <gbenson@redhat.com>
+
+ * hostio.c (handle_open): Process mode argument with
+ fileio_to_host_mode.
+
+2015-06-01 Yao Qi <yao.qi@linaro.org>
+
+ * linux-s390-low.c (PTRACE_GETREGSET, PTRACE_SETREGSET): Remove.
+ * linux-x86-low.c: Likewise.
+
+2015-05-28 Don Breazeal <donb@codesourcery.com>
+
+ * linux-low.c (handle_extended_wait): Initialize
+ thread_info.last_resume_kind for new fork children.
+
2015-05-15 Pedro Alves <palves@redhat.com>
* target.h (target_handle_new_gdb_connection): Rewrite using if
diff --git a/gdb/gdbserver/Makefile.in b/gdb/gdbserver/Makefile.in
index a981ee80e16..fc250fb1c52 100644
--- a/gdb/gdbserver/Makefile.in
+++ b/gdb/gdbserver/Makefile.in
@@ -180,7 +180,7 @@ SFILES= $(srcdir)/gdbreplay.c $(srcdir)/inferiors.c $(srcdir)/dll.c \
$(srcdir)/common/common-debug.c $(srcdir)/common/cleanups.c \
$(srcdir)/common/common-exceptions.c $(srcdir)/symbol.c \
$(srcdir)/common/btrace-common.c \
- $(srcdir)/common/fileio.c
+ $(srcdir)/common/fileio.c $(srcdir)/nat/linux-namespaces.c
DEPFILES = @GDBSERVER_DEPFILES@
@@ -615,6 +615,9 @@ x86-linux.o: ../nat/x86-linux.c
x86-linux-dregs.o: ../nat/x86-linux-dregs.c
$(COMPILE) $<
$(POSTCOMPILE)
+linux-namespaces.o: ../nat/linux-namespaces.c
+ $(COMPILE) $<
+ $(POSTCOMPILE)
aarch64.c : $(srcdir)/../regformats/aarch64.dat $(regdat_sh)
$(SHELL) $(regdat_sh) $(srcdir)/../regformats/aarch64.dat aarch64.c
diff --git a/gdb/gdbserver/config.in b/gdb/gdbserver/config.in
index 9359ce5030b..f24e6bb7eeb 100644
--- a/gdb/gdbserver/config.in
+++ b/gdb/gdbserver/config.in
@@ -186,6 +186,9 @@
/* Define to 1 if you have the `pwrite' function. */
#undef HAVE_PWRITE
+/* Define to 1 if you have the `setns' function. */
+#undef HAVE_SETNS
+
/* Define to 1 if you have the <sgtty.h> header file. */
#undef HAVE_SGTTY_H
diff --git a/gdb/gdbserver/configure b/gdb/gdbserver/configure
index b5a2f85d839..e8cf136c243 100755
--- a/gdb/gdbserver/configure
+++ b/gdb/gdbserver/configure
@@ -5310,7 +5310,7 @@ fi
done
-for ac_func in getauxval pread pwrite pread64
+for ac_func in getauxval pread pwrite pread64 setns
do :
as_ac_var=`$as_echo "ac_cv_func_$ac_func" | $as_tr_sh`
ac_fn_c_check_func "$LINENO" "$ac_func" "$as_ac_var"
diff --git a/gdb/gdbserver/configure.ac b/gdb/gdbserver/configure.ac
index efbb346e205..b465c43e889 100644
--- a/gdb/gdbserver/configure.ac
+++ b/gdb/gdbserver/configure.ac
@@ -94,7 +94,7 @@ AC_CHECK_HEADERS(sgtty.h termio.h termios.h sys/reg.h string.h dnl
fcntl.h signal.h sys/file.h dnl
sys/ioctl.h netinet/in.h sys/socket.h netdb.h dnl
netinet/tcp.h arpa/inet.h)
-AC_CHECK_FUNCS(getauxval pread pwrite pread64)
+AC_CHECK_FUNCS(getauxval pread pwrite pread64 setns)
GDB_AC_COMMON
diff --git a/gdb/gdbserver/configure.srv b/gdb/gdbserver/configure.srv
index 81dd235db7e..7f89f2f6f39 100644
--- a/gdb/gdbserver/configure.srv
+++ b/gdb/gdbserver/configure.srv
@@ -42,7 +42,7 @@ srv_amd64_linux_xmlfiles="i386/amd64-linux.xml i386/amd64-avx-linux.xml i386/amd
# Linux object files. This is so we don't have to repeat
# these files over and over again.
-srv_linux_obj="linux-low.o linux-osdata.o linux-procfs.o linux-ptrace.o linux-waitpid.o linux-personality.o"
+srv_linux_obj="linux-low.o linux-osdata.o linux-procfs.o linux-ptrace.o linux-waitpid.o linux-personality.o linux-namespaces.o"
# Input is taken from the "${target}" variable.
diff --git a/gdb/gdbserver/gdbreplay.c b/gdb/gdbserver/gdbreplay.c
index a02a824072b..79aa8aa8a85 100644
--- a/gdb/gdbserver/gdbreplay.c
+++ b/gdb/gdbserver/gdbreplay.c
@@ -259,7 +259,7 @@ remote_open (char *name)
}
static int
-tohex (int ch)
+fromhex (int ch)
{
if (ch >= '0' && ch <= '9')
{
@@ -322,11 +322,11 @@ logchar (FILE *fp)
ch2 = fgetc (fp);
fputc (ch2, stdout);
fflush (stdout);
- ch = tohex (ch2) << 4;
+ ch = fromhex (ch2) << 4;
ch2 = fgetc (fp);
fputc (ch2, stdout);
fflush (stdout);
- ch |= tohex (ch2);
+ ch |= fromhex (ch2);
break;
default:
/* Treat any other char as just itself */
diff --git a/gdb/gdbserver/hostio.c b/gdb/gdbserver/hostio.c
index 9e858d91b3d..b38a6bd0564 100644
--- a/gdb/gdbserver/hostio.c
+++ b/gdb/gdbserver/hostio.c
@@ -243,12 +243,62 @@ hostio_reply_with_data (char *own_buf, char *buffer, int len,
return input_index;
}
+/* Process ID of inferior whose filesystem hostio functions
+ that take FILENAME arguments will use. Zero means to use
+ our own filesystem. */
+
+static int hostio_fs_pid;
+
+/* See hostio.h. */
+
+void
+hostio_handle_new_gdb_connection (void)
+{
+ hostio_fs_pid = 0;
+}
+
+/* Handle a "vFile:setfs:" packet. */
+
+static void
+handle_setfs (char *own_buf)
+{
+ char *p;
+ int pid;
+
+ /* If the target doesn't have any of the in-filesystem-of methods
+ then there's no point in GDB sending "vFile:setfs:" packets. We
+ reply with an empty packet (i.e. we pretend we don't understand
+ "vFile:setfs:") and that should stop GDB sending any more. */
+ if (the_target->multifs_open == NULL
+ && the_target->multifs_unlink == NULL
+ && the_target->multifs_readlink == NULL)
+ {
+ own_buf[0] = '\0';
+ return;
+ }
+
+ p = own_buf + strlen ("vFile:setfs:");
+
+ if (require_int (&p, &pid)
+ || pid < 0
+ || require_end (p))
+ {
+ hostio_packet_error (own_buf);
+ return;
+ }
+
+ hostio_fs_pid = pid;
+
+ hostio_reply (own_buf, 0);
+}
+
static void
handle_open (char *own_buf)
{
char filename[HOSTIO_PATH_MAX];
char *p;
- int fileio_flags, mode, flags, fd;
+ int fileio_flags, fileio_mode, flags, fd;
+ mode_t mode;
struct fd_list *new_fd;
p = own_buf + strlen ("vFile:open:");
@@ -257,9 +307,10 @@ handle_open (char *own_buf)
|| require_comma (&p)
|| require_int (&p, &fileio_flags)
|| require_comma (&p)
- || require_int (&p, &mode)
+ || require_int (&p, &fileio_mode)
|| require_end (p)
- || fileio_to_host_openflags (fileio_flags, &flags))
+ || fileio_to_host_openflags (fileio_flags, &flags)
+ || fileio_to_host_mode (fileio_mode, &mode))
{
hostio_packet_error (own_buf);
return;
@@ -267,7 +318,11 @@ handle_open (char *own_buf)
/* We do not need to convert MODE, since the fileio protocol
uses the standard values. */
- fd = open (filename, flags, mode);
+ if (hostio_fs_pid != 0 && the_target->multifs_open != NULL)
+ fd = the_target->multifs_open (hostio_fs_pid, filename,
+ flags, mode);
+ else
+ fd = open (filename, flags, mode);
if (fd == -1)
{
@@ -471,7 +526,10 @@ handle_unlink (char *own_buf)
return;
}
- ret = unlink (filename);
+ if (hostio_fs_pid != 0 && the_target->multifs_unlink != NULL)
+ ret = the_target->multifs_unlink (hostio_fs_pid, filename);
+ else
+ ret = unlink (filename);
if (ret == -1)
{
@@ -498,7 +556,13 @@ handle_readlink (char *own_buf, int *new_packet_len)
return;
}
- ret = readlink (filename, linkname, sizeof (linkname) - 1);
+ if (hostio_fs_pid != 0 && the_target->multifs_readlink != NULL)
+ ret = the_target->multifs_readlink (hostio_fs_pid, filename,
+ linkname,
+ sizeof (linkname) - 1);
+ else
+ ret = readlink (filename, linkname, sizeof (linkname) - 1);
+
if (ret == -1)
{
hostio_error (own_buf);
@@ -532,6 +596,8 @@ handle_vFile (char *own_buf, int packet_len, int *new_packet_len)
handle_unlink (own_buf);
else if (startswith (own_buf, "vFile:readlink:"))
handle_readlink (own_buf, new_packet_len);
+ else if (startswith (own_buf, "vFile:setfs:"))
+ handle_setfs (own_buf);
else
return 0;
diff --git a/gdb/gdbserver/hostio.h b/gdb/gdbserver/hostio.h
index ce951f0c8a6..1cb552c362a 100644
--- a/gdb/gdbserver/hostio.h
+++ b/gdb/gdbserver/hostio.h
@@ -19,6 +19,9 @@
#ifndef HOSTIO_H
#define HOSTIO_H
+/* Per-connection setup. */
+extern void hostio_handle_new_gdb_connection (void);
+
/* Functions from hostio.c. */
extern int handle_vFile (char *, int, int *);
diff --git a/gdb/gdbserver/linux-aarch64-low.c b/gdb/gdbserver/linux-aarch64-low.c
index 043458d68ea..8a30b000293 100644
--- a/gdb/gdbserver/linux-aarch64-low.c
+++ b/gdb/gdbserver/linux-aarch64-low.c
@@ -295,19 +295,21 @@ aarch64_set_pc (struct regcache *regcache, CORE_ADDR pc)
supply_register_by_name (regcache, "pc", &newpc);
}
-/* Correct in either endianness. */
-
#define aarch64_breakpoint_len 4
-static const unsigned long aarch64_breakpoint = 0x00800011;
+/* AArch64 BRK software debug mode instruction.
+ This instruction needs to match gdb/aarch64-tdep.c
+ (aarch64_default_breakpoint). */
+static const gdb_byte aarch64_breakpoint[] = {0x00, 0x00, 0x20, 0xd4};
static int
aarch64_breakpoint_at (CORE_ADDR where)
{
- unsigned long insn;
+ gdb_byte insn[aarch64_breakpoint_len];
- (*the_target->read_memory) (where, (unsigned char *) &insn, 4);
- if (insn == aarch64_breakpoint)
+ (*the_target->read_memory) (where, (unsigned char *) &insn,
+ aarch64_breakpoint_len);
+ if (memcmp (insn, aarch64_breakpoint, aarch64_breakpoint_len) == 0)
return 1;
return 0;
@@ -950,13 +952,13 @@ aarch64_supports_z_point_type (char z_type)
{
switch (z_type)
{
+ case Z_PACKET_SW_BP:
case Z_PACKET_HW_BP:
case Z_PACKET_WRITE_WP:
case Z_PACKET_READ_WP:
case Z_PACKET_ACCESS_WP:
return 1;
default:
- /* Leave the handling of sw breakpoints with the gdb client. */
return 0;
}
}
diff --git a/gdb/gdbserver/linux-i386-ipa.c b/gdb/gdbserver/linux-i386-ipa.c
index eb30dcd700a..de8d3946509 100644
--- a/gdb/gdbserver/linux-i386-ipa.c
+++ b/gdb/gdbserver/linux-i386-ipa.c
@@ -19,7 +19,6 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "server.h"
-#include <stdint.h>
#include <sys/mman.h>
#include "tracepoint.h"
diff --git a/gdb/gdbserver/linux-low.c b/gdb/gdbserver/linux-low.c
index 9f3ea4881ff..3774d1700cd 100644
--- a/gdb/gdbserver/linux-low.c
+++ b/gdb/gdbserver/linux-low.c
@@ -52,6 +52,7 @@
definition of elf_fpregset_t. */
#include <elf.h>
#endif
+#include "nat/linux-namespaces.h"
#ifndef SPUFS_MAGIC
#define SPUFS_MAGIC 0x23c9b64e
@@ -457,6 +458,7 @@ handle_extended_wait (struct lwp_info *event_lwp, int wstat)
struct process_info *parent_proc;
struct process_info *child_proc;
struct lwp_info *child_lwp;
+ struct thread_info *child_thr;
struct target_desc *tdesc;
ptid = ptid_build (new_pid, new_pid, 0);
@@ -479,6 +481,10 @@ handle_extended_wait (struct lwp_info *event_lwp, int wstat)
child_lwp = add_lwp (ptid);
gdb_assert (child_lwp != NULL);
child_lwp->stopped = 1;
+ child_lwp->must_set_ptrace_flags = 1;
+ child_lwp->status_pending_p = 0;
+ child_thr = get_lwp_thread (child_lwp);
+ child_thr->last_resume_kind = resume_stop;
parent_proc = get_thread_process (event_thr);
child_proc->attached = parent_proc->attached;
clone_all_breakpoints (&child_proc->breakpoints,
@@ -488,7 +494,6 @@ handle_extended_wait (struct lwp_info *event_lwp, int wstat)
tdesc = xmalloc (sizeof (struct target_desc));
copy_target_description (tdesc, parent_proc->tdesc);
child_proc->tdesc = tdesc;
- child_lwp->must_set_ptrace_flags = 1;
/* Clone arch-specific process data. */
if (the_low_target.new_fork != NULL)
@@ -6640,6 +6645,9 @@ static struct target_ops linux_target_ops = {
#endif
linux_supports_range_stepping,
linux_proc_pid_to_exec_file,
+ linux_mntns_open_cloexec,
+ linux_mntns_unlink,
+ linux_mntns_readlink,
};
static void
diff --git a/gdb/gdbserver/linux-s390-low.c b/gdb/gdbserver/linux-s390-low.c
index afee1ff44c9..5d4ea1ff45f 100644
--- a/gdb/gdbserver/linux-s390-low.c
+++ b/gdb/gdbserver/linux-s390-low.c
@@ -40,14 +40,6 @@
#define HWCAP_S390_VX 2048
#endif
-#ifndef PTRACE_GETREGSET
-#define PTRACE_GETREGSET 0x4204
-#endif
-
-#ifndef PTRACE_SETREGSET
-#define PTRACE_SETREGSET 0x4205
-#endif
-
/* Defined in auto-generated file s390-linux32.c. */
void init_registers_s390_linux32 (void);
extern const struct target_desc *tdesc_s390_linux32;
diff --git a/gdb/gdbserver/linux-x86-low.c b/gdb/gdbserver/linux-x86-low.c
index 4aef7b79825..484eadba054 100644
--- a/gdb/gdbserver/linux-x86-low.c
+++ b/gdb/gdbserver/linux-x86-low.c
@@ -120,15 +120,6 @@ static const char *xmltarget_amd64_linux_no_xml = "@<target>\
#include <sys/ptrace.h>
#include <sys/uio.h>
-#ifndef PTRACE_GETREGSET
-#define PTRACE_GETREGSET 0x4204
-#endif
-
-#ifndef PTRACE_SETREGSET
-#define PTRACE_SETREGSET 0x4205
-#endif
-
-
#ifndef PTRACE_GET_THREAD_AREA
#define PTRACE_GET_THREAD_AREA 25
#endif
diff --git a/gdb/gdbserver/lynx-i386-low.c b/gdb/gdbserver/lynx-i386-low.c
index bd588c6424b..6b5a224b7aa 100644
--- a/gdb/gdbserver/lynx-i386-low.c
+++ b/gdb/gdbserver/lynx-i386-low.c
@@ -17,8 +17,6 @@
#include "server.h"
#include "lynx-low.h"
-
-#include <stdint.h>
#include <limits.h>
#include <sys/ptrace.h>
diff --git a/gdb/gdbserver/lynx-ppc-low.c b/gdb/gdbserver/lynx-ppc-low.c
index 51d450f13a1..0f31eaf71a8 100644
--- a/gdb/gdbserver/lynx-ppc-low.c
+++ b/gdb/gdbserver/lynx-ppc-low.c
@@ -17,8 +17,6 @@
#include "server.h"
#include "lynx-low.h"
-
-#include <stdint.h>
#include <limits.h>
#include <sys/ptrace.h>
diff --git a/gdb/gdbserver/mem-break.c b/gdb/gdbserver/mem-break.c
index d1b66bf1eeb..4eaa52bffba 100644
--- a/gdb/gdbserver/mem-break.c
+++ b/gdb/gdbserver/mem-break.c
@@ -21,8 +21,6 @@
#include "server.h"
#include "regcache.h"
#include "ax.h"
-#include <stdint.h>
-
const unsigned char *breakpoint_data;
int breakpoint_len;
diff --git a/gdb/gdbserver/server.c b/gdb/gdbserver/server.c
index 39692672134..c9effc28c55 100644
--- a/gdb/gdbserver/server.c
+++ b/gdb/gdbserver/server.c
@@ -387,8 +387,8 @@ write_qxfer_response (char *buf, const void *data, int len, int is_more)
else
buf[0] = 'l';
- return remote_escape_output (data, len, (unsigned char *) buf + 1, &out_len,
- PBUFSIZ - 2) + 1;
+ return remote_escape_output (data, len, 1, (unsigned char *) buf + 1,
+ &out_len, PBUFSIZ - 2) + 1;
}
/* Handle btrace enabling in BTS format. */
@@ -1291,7 +1291,7 @@ handle_qxfer_libraries (const char *annex,
if (document == NULL)
return -1;
- strcpy (document, "<library-list>\n");
+ strcpy (document, "<library-list version=\"1.0\">\n");
p = document + strlen (document);
for_each_inferior_with_data (&all_dlls, emit_dll_description, &p);
@@ -2160,7 +2160,8 @@ handle_query (char *own_buf, int packet_len, int *new_packet_len_p)
if (the_target->pid_to_exec_file != NULL)
strcat (own_buf, ";qXfer:exec-file:read+");
- /* Reinitialize the target as needed for the new connection. */
+ /* Reinitialize components as needed for the new connection. */
+ hostio_handle_new_gdb_connection ();
target_handle_new_gdb_connection ();
return;
diff --git a/gdb/gdbserver/target.h b/gdb/gdbserver/target.h
index e9c6be06e64..9a4086708cf 100644
--- a/gdb/gdbserver/target.h
+++ b/gdb/gdbserver/target.h
@@ -415,6 +415,27 @@ struct target_ops
string should be copied into a buffer by the client if the string
will not be immediately used, or if it must persist. */
char *(*pid_to_exec_file) (int pid);
+
+ /* Multiple-filesystem-aware open. Like open(2), but operating in
+ the filesystem as it appears to process PID. Systems where all
+ processes share a common filesystem should set this to NULL.
+ If NULL, the caller should fall back to open(2). */
+ int (*multifs_open) (int pid, const char *filename,
+ int flags, mode_t mode);
+
+ /* 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 set this to NULL.
+ If NULL, the caller should fall back to unlink(2). */
+ int (*multifs_unlink) (int pid, const char *filename);
+
+ /* Multiple-filesystem-aware readlink. Like readlink(2), but
+ operating in the filesystem as it appears to process PID.
+ Systems where all processes share a common filesystem should
+ set this to NULL. If NULL, the caller should fall back to
+ readlink(2). */
+ ssize_t (*multifs_readlink) (int pid, const char *filename,
+ char *buf, size_t bufsiz);
};
extern struct target_ops *the_target;
diff --git a/gdb/gdbserver/thread-db.c b/gdb/gdbserver/thread-db.c
index 5bf808e2282..4288fdb9d31 100644
--- a/gdb/gdbserver/thread-db.c
+++ b/gdb/gdbserver/thread-db.c
@@ -34,8 +34,6 @@ static int thread_db_use_events;
#ifndef USE_LIBTHREAD_DB_DIRECTLY
#include <dlfcn.h>
#endif
-
-#include <stdint.h>
#include <limits.h>
#include <ctype.h>
diff --git a/gdb/gdbserver/tracepoint.c b/gdb/gdbserver/tracepoint.c
index 3ce958066f7..b5f252a5350 100644
--- a/gdb/gdbserver/tracepoint.c
+++ b/gdb/gdbserver/tracepoint.c
@@ -27,8 +27,6 @@
#include <unistd.h>
#include <sys/time.h>
#include <inttypes.h>
-#include <stdint.h>
-
#include "ax.h"
#include "tdesc.h"
diff --git a/gdb/gdbserver/win32-low.c b/gdb/gdbserver/win32-low.c
index 699115ca6ba..64caf248393 100644
--- a/gdb/gdbserver/win32-low.c
+++ b/gdb/gdbserver/win32-low.c
@@ -26,8 +26,6 @@
#include "gdbthread.h"
#include "dll.h"
#include "hostio.h"
-
-#include <stdint.h>
#include <windows.h>
#include <winnt.h>
#include <imagehlp.h>
diff --git a/gdb/gdbthread.h b/gdb/gdbthread.h
index 0926f5f1c13..fefad480066 100644
--- a/gdb/gdbthread.h
+++ b/gdb/gdbthread.h
@@ -145,9 +145,7 @@ struct thread_control_state
int stepping_command;
};
-/* Inferior thread specific part of `struct infcall_suspend_state'.
-
- Inferior process counterpart is `struct inferior_suspend_state'. */
+/* Inferior thread specific part of `struct infcall_suspend_state'. */
struct thread_suspend_state
{
diff --git a/gdb/gdbtypes.c b/gdb/gdbtypes.c
index 4bbfc753889..ca86fbd3c21 100644
--- a/gdb/gdbtypes.c
+++ b/gdb/gdbtypes.c
@@ -1004,6 +1004,45 @@ get_array_bounds (struct type *type, LONGEST *low_bound, LONGEST *high_bound)
return 1;
}
+/* Assuming that TYPE is a discrete type and VAL is a valid integer
+ representation of a value of this type, save the corresponding
+ position number in POS.
+
+ Its differs from VAL only in the case of enumeration types. In
+ this case, the position number of the value of the first listed
+ enumeration literal is zero; the position number of the value of
+ each subsequent enumeration literal is one more than that of its
+ predecessor in the list.
+
+ Return 1 if the operation was successful. Return zero otherwise,
+ in which case the value of POS is unmodified.
+*/
+
+int
+discrete_position (struct type *type, LONGEST val, LONGEST *pos)
+{
+ if (TYPE_CODE (type) == TYPE_CODE_ENUM)
+ {
+ int i;
+
+ for (i = 0; i < TYPE_NFIELDS (type); i += 1)
+ {
+ if (val == TYPE_FIELD_ENUMVAL (type, i))
+ {
+ *pos = i;
+ return 1;
+ }
+ }
+ /* Invalid enumeration value. */
+ return 0;
+ }
+ else
+ {
+ *pos = val;
+ return 1;
+ }
+}
+
/* Create an array type using either a blank type supplied in
RESULT_TYPE, or creating a new type, inheriting the objfile from
RANGE_TYPE.
diff --git a/gdb/gdbtypes.h b/gdb/gdbtypes.h
index 4275ee09b93..fd3bc0ed5be 100644
--- a/gdb/gdbtypes.h
+++ b/gdb/gdbtypes.h
@@ -1837,6 +1837,8 @@ extern int get_discrete_bounds (struct type *, LONGEST *, LONGEST *);
extern int get_array_bounds (struct type *type, LONGEST *low_bound,
LONGEST *high_bound);
+extern int discrete_position (struct type *type, LONGEST val, LONGEST *pos);
+
extern int class_types_same_p (const struct type *, const struct type *);
extern int is_ancestor (struct type *, struct type *);
diff --git a/gdb/go32-nat.c b/gdb/go32-nat.c
index f3966cd534e..4f5c2d2336e 100644
--- a/gdb/go32-nat.c
+++ b/gdb/go32-nat.c
@@ -587,10 +587,12 @@ go32_xfer_memory (gdb_byte *readbuf, const gdb_byte *writebuf,
else
res = read_child (memaddr, readbuf, len);
- if (res <= 0)
+ /* read_child and write_child return zero on success, non-zero on
+ failure. */
+ if (res != 0)
return TARGET_XFER_E_IO;
- *xfered_len = res;
+ *xfered_len = len;
return TARGET_XFER_OK;
}
diff --git a/gdb/guile/scm-ports.c b/gdb/guile/scm-ports.c
index 8967b923a35..622507b4a57 100644
--- a/gdb/guile/scm-ports.c
+++ b/gdb/guile/scm-ports.c
@@ -47,13 +47,11 @@ typedef struct
typedef struct
{
- /* Bounds of memory range this port is allowed to access, inclusive.
- To simplify overflow handling, an END of 0xff..ff is not allowed.
- This also means a start address of 0xff..ff is also not allowed.
- I can live with that. */
+ /* Bounds of memory range this port is allowed to access: [start, end).
+ This means that 0xff..ff is not accessible. I can live with that. */
CORE_ADDR start, end;
- /* (end - start + 1), recorded for convenience. */
+ /* (end - start), recorded for convenience. */
ULONGEST size;
/* Think of this as the lseek value maintained by the kernel.
@@ -595,7 +593,7 @@ ioscm_lseek_address (ioscm_memory_port *iomem, LONGEST offset, int whence)
case SEEK_CUR:
/* Catch over/underflow. */
if ((offset < 0 && iomem->current + offset > iomem->current)
- || (offset >= 0 && iomem->current + offset < iomem->current))
+ || (offset > 0 && iomem->current + offset < iomem->current))
return 0;
new_current = iomem->current + offset;
break;
@@ -630,7 +628,8 @@ gdbscm_memory_port_fill_input (SCM port)
size_t to_read;
/* "current" is the offset of the first byte we want to read. */
- if (iomem->current >= iomem->size)
+ gdb_assert (iomem->current <= iomem->size);
+ if (iomem->current == iomem->size)
return EOF;
/* Don't read outside the allowed memory range. */
@@ -642,9 +641,9 @@ gdbscm_memory_port_fill_input (SCM port)
to_read) != 0)
gdbscm_memory_error (FUNC_NAME, _("error reading memory"), SCM_EOL);
+ iomem->current += to_read;
pt->read_pos = pt->read_buf;
pt->read_end = pt->read_buf + to_read;
- iomem->current += to_read;
return *pt->read_buf;
}
@@ -719,13 +718,6 @@ gdbscm_memory_port_write (SCM port, const void *data, size_t size)
{
scm_t_port *pt = SCM_PTAB_ENTRY (port);
ioscm_memory_port *iomem = (ioscm_memory_port *) SCM_STREAM (port);
- const char *input = (char *) data;
-
- /* We could get fancy here, and try to buffer the request since we're
- buffering anyway. But there's currently no need. */
-
- /* First flush what's currently buffered. */
- gdbscm_memory_port_flush (port);
/* There's no way to indicate a short write, so if the request goes past
the end of the port's memory range, flag an error. */
@@ -735,10 +727,54 @@ gdbscm_memory_port_write (SCM port, const void *data, size_t size)
_("writing beyond end of memory range"));
}
- if (target_write_memory (iomem->start + iomem->current, data, size) != 0)
- gdbscm_memory_error (FUNC_NAME, _("error writing memory"), SCM_EOL);
+ if (pt->write_buf == &pt->shortbuf)
+ {
+ /* Unbuffered port. */
+ if (target_write_memory (iomem->start + iomem->current, data, size) != 0)
+ gdbscm_memory_error (FUNC_NAME, _("error writing memory"), SCM_EOL);
+ iomem->current += size;
+ return;
+ }
+
+ /* Note: The edge case of what to do when the buffer exactly fills is
+ debatable. Guile flushes when the buffer exactly fills up, so we
+ do too. It's counter-intuitive to my mind, but in case there's a
+ subtlety somewhere that depends on this, we do the same. */
+
+ {
+ size_t space = pt->write_end - pt->write_pos;
+
+ if (size < space)
+ {
+ /* Data fits in buffer, and does not fill it. */
+ memcpy (pt->write_pos, data, size);
+ pt->write_pos += size;
+ }
+ else
+ {
+ memcpy (pt->write_pos, data, space);
+ pt->write_pos = pt->write_end;
+ gdbscm_memory_port_flush (port);
+ {
+ const void *ptr = ((const char *) data) + space;
+ size_t remaining = size - space;
- iomem->current += size;
+ if (remaining >= pt->write_buf_size)
+ {
+ if (target_write_memory (iomem->start + iomem->current, ptr,
+ remaining) != 0)
+ gdbscm_memory_error (FUNC_NAME, _("error writing memory"),
+ SCM_EOL);
+ iomem->current += remaining;
+ }
+ else
+ {
+ memcpy (pt->write_pos, ptr, remaining);
+ pt->write_pos += remaining;
+ }
+ }
+ }
+ }
}
/* "seek" method for memory ports. */
@@ -768,7 +804,7 @@ gdbscm_memory_port_seek (SCM port, scm_t_off offset, int whence)
size_t delta = pt->write_pos - pt->write_buf;
if (current + delta < current
- || current + delta > iomem->size + 1)
+ || current + delta > iomem->size)
rc = 0;
else
{
@@ -845,8 +881,10 @@ gdbscm_memory_port_close (SCM port)
if (pt->read_buf == pt->putback_buf)
pt->read_buf = pt->saved_read_buf;
- xfree (pt->read_buf);
- xfree (pt->write_buf);
+ if (pt->read_buf != &pt->shortbuf)
+ xfree (pt->read_buf);
+ if (pt->write_buf != &pt->shortbuf)
+ xfree (pt->write_buf);
scm_gc_free (iomem, sizeof (*iomem), "memory port");
return 0;
@@ -915,6 +953,7 @@ ioscm_parse_mode_bits (const char *func_name, const char *mode)
{
switch (*p)
{
+ case '0':
case 'b':
case '+':
break;
@@ -933,9 +972,8 @@ ioscm_parse_mode_bits (const char *func_name, const char *mode)
}
/* Helper for gdbscm_open_memory to finish initializing the port.
- The port has address range [start,end].
- To simplify overflow handling, an END of 0xff..ff is not allowed.
- This also means a start address of 0xff..f is also not allowed.
+ The port has address range [start,end).
+ This means that address of 0xff..ff is not accessible.
I can live with that. */
static void
@@ -943,29 +981,45 @@ ioscm_init_memory_port (SCM port, CORE_ADDR start, CORE_ADDR end)
{
scm_t_port *pt;
ioscm_memory_port *iomem;
+ int buffered = (SCM_CELL_WORD_0 (port) & SCM_BUF0) == 0;
gdb_assert (start <= end);
- gdb_assert (end < ~(CORE_ADDR) 0);
iomem = (ioscm_memory_port *) scm_gc_malloc_pointerless (sizeof (*iomem),
"memory port");
iomem->start = start;
iomem->end = end;
- iomem->size = end - start + 1;
+ iomem->size = end - start;
iomem->current = 0;
- iomem->read_buf_size = default_read_buf_size;
- iomem->write_buf_size = default_write_buf_size;
+ if (buffered)
+ {
+ iomem->read_buf_size = default_read_buf_size;
+ iomem->write_buf_size = default_write_buf_size;
+ }
+ else
+ {
+ iomem->read_buf_size = 1;
+ iomem->write_buf_size = 1;
+ }
pt = SCM_PTAB_ENTRY (port);
/* Match the expectation of `binary-port?'. */
pt->encoding = NULL;
pt->rw_random = 1;
pt->read_buf_size = iomem->read_buf_size;
- pt->read_buf = xmalloc (pt->read_buf_size);
- pt->read_pos = pt->read_end = pt->read_buf;
pt->write_buf_size = iomem->write_buf_size;
- pt->write_buf = xmalloc (pt->write_buf_size);
+ if (buffered)
+ {
+ pt->read_buf = xmalloc (pt->read_buf_size);
+ pt->write_buf = xmalloc (pt->write_buf_size);
+ }
+ else
+ {
+ pt->read_buf = &pt->shortbuf;
+ pt->write_buf = &pt->shortbuf;
+ }
+ pt->read_pos = pt->read_end = pt->read_buf;
pt->write_pos = pt->write_buf;
pt->write_end = pt->write_buf + pt->write_buf_size;
@@ -973,7 +1027,9 @@ ioscm_init_memory_port (SCM port, CORE_ADDR start, CORE_ADDR end)
}
/* Re-initialize a memory port, updating its read/write buffer sizes.
- An exception is thrown if data is still buffered, except in the case
+ An exception is thrown if the port is unbuffered.
+ TODO: Allow switching buffered/unbuffered.
+ An exception is also thrown if data is still buffered, except in the case
where the buffer size isn't changing (since that's just a nop). */
static void
@@ -988,7 +1044,16 @@ ioscm_reinit_memory_port (SCM port, size_t read_buf_size,
gdb_assert (write_buf_size >= min_memory_port_buf_size
&& write_buf_size <= max_memory_port_buf_size);
- /* First check if anything is buffered. */
+ /* First check if the port is unbuffered. */
+
+ if (pt->read_buf == &pt->shortbuf)
+ {
+ gdb_assert (pt->write_buf == &pt->shortbuf);
+ scm_misc_error (func_name, _("port is unbuffered: ~a"),
+ scm_list_1 (port));
+ }
+
+ /* Next check if anything is buffered. */
if (read_buf_size != pt->read_buf_size
&& pt->read_end != pt->read_buf)
@@ -1029,17 +1094,16 @@ ioscm_reinit_memory_port (SCM port, size_t read_buf_size,
/* (open-memory [#:mode string] [#:start address] [#:size integer]) -> port
Return a port that can be used for reading and writing memory.
MODE is a string, and must be one of "r", "w", or "r+".
- For compatibility "b" (binary) may also be present, but we ignore it:
+ "0" may be appended to MODE to mark the port as unbuffered.
+ For compatibility "b" (binary) may also be appended, but we ignore it:
memory ports are binary only.
- TODO: Support "0" (unbuffered)? Only support "0" (always unbuffered)?
-
The chunk of memory that can be accessed can be bounded.
- If both START,SIZE are unspecified, all of memory can be accessed.
- If only START is specified, all of memory from that point on can be
- accessed. If only SIZE if specified, all memory in [0,SIZE) can be
- accessed. If both are specified, all memory in [START,START+SIZE) can be
- accessed.
+ If both START,SIZE are unspecified, all of memory can be accessed
+ (except 0xff..ff). If only START is specified, all of memory from that
+ point on can be accessed (except 0xff..ff). If only SIZE if specified,
+ all memory in [0,SIZE) can be accessed. If both are specified, all memory
+ in [START,START+SIZE) can be accessed.
Note: If it becomes useful enough we can later add #:end as an alternative
to #:size. For now it is left out.
@@ -1047,7 +1111,7 @@ ioscm_reinit_memory_port (SCM port, size_t read_buf_size,
The result is a Scheme port, and its semantics are a bit odd for accessing
memory (e.g., unget), but we don't try to hide this. It's a port.
- N.B. Seeks on the port must be in the range [0,size).
+ N.B. Seeks on the port must be in the range [0,size].
This is for similarity with bytevector ports, and so that one can seek
to the first byte. */
@@ -1076,19 +1140,8 @@ gdbscm_open_memory (SCM rest)
mode = xstrdup ("r");
scm_dynwind_free (mode);
- if (start == ~(CORE_ADDR) 0)
- {
- gdbscm_out_of_range_error (FUNC_NAME, SCM_ARG1, scm_from_int (-1),
- _("start address of 0xff..ff not allowed"));
- }
-
if (size_arg_pos > 0)
{
- if (size == 0)
- {
- gdbscm_out_of_range_error (FUNC_NAME, 0, scm_from_int (0),
- "zero size");
- }
/* For now be strict about start+size overflowing. If it becomes
a nuisance we can relax things later. */
if (start + size < start)
@@ -1098,17 +1151,10 @@ gdbscm_open_memory (SCM rest)
gdbscm_scm_from_ulongest (size)),
_("start+size overflows"));
}
- end = start + size - 1;
- if (end == ~(CORE_ADDR) 0)
- {
- gdbscm_out_of_range_error (FUNC_NAME, 0,
- scm_list_2 (gdbscm_scm_from_ulongest (start),
- gdbscm_scm_from_ulongest (size)),
- _("end address of 0xff..ff not allowed"));
- }
+ end = start + size;
}
else
- end = (~(CORE_ADDR) 0) - 1;
+ end = ~(CORE_ADDR) 0;
mode_bits = ioscm_parse_mode_bits (FUNC_NAME, mode);
@@ -1168,7 +1214,8 @@ gdbscm_memory_port_read_buffer_size (SCM port)
}
/* (set-memory-port-read-buffer-size! port size) -> unspecified
- An exception is thrown if read data is still buffered. */
+ An exception is thrown if read data is still buffered or if the port
+ is unbuffered. */
static SCM
gdbscm_set_memory_port_read_buffer_size_x (SCM port, SCM size)
@@ -1209,7 +1256,8 @@ gdbscm_memory_port_write_buffer_size (SCM port)
}
/* (set-memory-port-write-buffer-size! port size) -> unspecified
- An exception is thrown if write data is still buffered. */
+ An exception is thrown if write data is still buffered or if the port
+ is unbuffered. */
static SCM
gdbscm_set_memory_port_write_buffer_size_x (SCM port, SCM size)
diff --git a/gdb/guile/scm-utils.c b/gdb/guile/scm-utils.c
index 59d8b5281bc..07401e6476e 100644
--- a/gdb/guile/scm-utils.c
+++ b/gdb/guile/scm-utils.c
@@ -21,7 +21,6 @@
conventions, et.al. */
#include "defs.h"
-#include <stdint.h>
#include "guile-internal.h"
/* Define VARIABLES in the gdb module. */
diff --git a/gdb/hppa-tdep.c b/gdb/hppa-tdep.c
index 8964ec07ee0..01a7c8098c8 100644
--- a/gdb/hppa-tdep.c
+++ b/gdb/hppa-tdep.c
@@ -560,13 +560,16 @@ find_unwind_entry (CORE_ADDR pc)
return NULL;
}
-/* The epilogue is defined here as the area either on the `bv' instruction
+/* Implement the stack_frame_destroyed_p gdbarch method.
+
+ The epilogue is defined here as the area either on the `bv' instruction
itself or an instruction which destroys the function's stack frame.
We do not assume that the epilogue is at the end of a function as we can
also have return sequences in the middle of a function. */
+
static int
-hppa_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+hppa_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
unsigned long status;
@@ -3135,8 +3138,8 @@ hppa_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
/* The following gdbarch vector elements do not depend on the address
size, or in any other gdbarch element previously set. */
set_gdbarch_skip_prologue (gdbarch, hppa_skip_prologue);
- set_gdbarch_in_function_epilogue_p (gdbarch,
- hppa_in_function_epilogue_p);
+ set_gdbarch_stack_frame_destroyed_p (gdbarch,
+ hppa_stack_frame_destroyed_p);
set_gdbarch_inner_than (gdbarch, core_addr_greaterthan);
set_gdbarch_sp_regnum (gdbarch, HPPA_SP_REGNUM);
set_gdbarch_fp0_regnum (gdbarch, HPPA_FP0_REGNUM);
diff --git a/gdb/i386-linux-nat.c b/gdb/i386-linux-nat.c
index 8cb8c66c301..349ce68f5c3 100644
--- a/gdb/i386-linux-nat.c
+++ b/gdb/i386-linux-nat.c
@@ -33,7 +33,9 @@
#include "i386-linux-tdep.h"
#include "x86-xstate.h"
+#include "linux-nat.h"
#include "x86-linux-nat.h"
+#include "nat/linux-ptrace.h"
/* The register sets used in GNU/Linux ELF core-dumps are identical to
the register sets in `struct user' that is used for a.out
@@ -325,7 +327,7 @@ fetch_xstateregs (struct regcache *regcache, int tid)
char xstateregs[X86_XSTATE_MAX_SIZE];
struct iovec iov;
- if (!have_ptrace_getregset)
+ if (have_ptrace_getregset != TRIBOOL_TRUE)
return 0;
iov.iov_base = xstateregs;
@@ -348,7 +350,7 @@ store_xstateregs (const struct regcache *regcache, int tid, int regno)
char xstateregs[X86_XSTATE_MAX_SIZE];
struct iovec iov;
- if (!have_ptrace_getregset)
+ if (have_ptrace_getregset != TRIBOOL_TRUE)
return 0;
iov.iov_base = xstateregs;
diff --git a/gdb/i386-linux-tdep.c b/gdb/i386-linux-tdep.c
index 061ad3a74c1..20229276b9b 100644
--- a/gdb/i386-linux-tdep.c
+++ b/gdb/i386-linux-tdep.c
@@ -44,8 +44,6 @@
#include "record-full.h"
#include "linux-record.h"
-#include <stdint.h>
-
#include "features/i386/i386-linux.c"
#include "features/i386/i386-mmx-linux.c"
#include "features/i386/i386-mpx-linux.c"
@@ -996,8 +994,6 @@ i386_linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
set_xml_syscall_file_name (gdbarch, XML_SYSCALL_FILENAME_I386);
set_gdbarch_get_syscall_number (gdbarch,
i386_linux_get_syscall_number);
-
- set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
}
/* Provide a prototype to silence -Wmissing-prototypes. */
diff --git a/gdb/i386-tdep.c b/gdb/i386-tdep.c
index 0c7eb5afbe8..85e433e6e54 100644
--- a/gdb/i386-tdep.c
+++ b/gdb/i386-tdep.c
@@ -50,8 +50,6 @@
#include "record.h"
#include "record-full.h"
-#include <stdint.h>
-
#include "features/i386/i386.c"
#include "features/i386/i386-avx.c"
#include "features/i386/i386-mpx.c"
@@ -2178,12 +2176,14 @@ static const struct frame_unwind i386_frame_unwind =
/* Normal frames, but in a function epilogue. */
-/* The epilogue is defined here as the 'ret' instruction, which will
+/* Implement the stack_frame_destroyed_p gdbarch method.
+
+ The epilogue is defined here as the 'ret' instruction, which will
follow any instruction such as 'leave' or 'pop %ebp' that destroys
the function's stack frame. */
static int
-i386_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+i386_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
gdb_byte insn;
struct compunit_symtab *cust;
@@ -2207,8 +2207,8 @@ i386_epilogue_frame_sniffer (const struct frame_unwind *self,
void **this_prologue_cache)
{
if (frame_relative_level (this_frame) == 0)
- return i386_in_function_epilogue_p (get_frame_arch (this_frame),
- get_frame_pc (this_frame));
+ return i386_stack_frame_destroyed_p (get_frame_arch (this_frame),
+ get_frame_pc (this_frame));
else
return 0;
}
@@ -8617,6 +8617,254 @@ i386_target_description (uint64_t xcr0)
}
}
+#define MPX_BASE_MASK (~(ULONGEST) 0xfff)
+
+/* Find the bound directory base address. */
+
+static unsigned long
+i386_mpx_bd_base (void)
+{
+ struct regcache *rcache;
+ struct gdbarch_tdep *tdep;
+ ULONGEST ret;
+ enum register_status regstatus;
+ struct gdb_exception except;
+
+ rcache = get_current_regcache ();
+ tdep = gdbarch_tdep (get_regcache_arch (rcache));
+
+ regstatus = regcache_raw_read_unsigned (rcache, tdep->bndcfgu_regnum, &ret);
+
+ if (regstatus != REG_VALID)
+ error (_("BNDCFGU register invalid, read status %d."), regstatus);
+
+ return ret & MPX_BASE_MASK;
+}
+
+/* Check if the current target is MPX enabled. */
+
+static int
+i386_mpx_enabled (void)
+{
+ const struct gdbarch_tdep *tdep = gdbarch_tdep (get_current_arch ());
+ const struct target_desc *tdesc = tdep->tdesc;
+
+ return (tdesc_find_feature (tdesc, "org.gnu.gdb.i386.mpx") != NULL);
+}
+
+#define MPX_BD_MASK 0xfffffff00000ULL /* select bits [47:20] */
+#define MPX_BT_MASK 0x0000000ffff8 /* select bits [19:3] */
+#define MPX_BD_MASK_32 0xfffff000 /* select bits [31:12] */
+#define MPX_BT_MASK_32 0x00000ffc /* select bits [11:2] */
+
+/* Find the bound table entry given the pointer location and the base
+ address of the table. */
+
+static CORE_ADDR
+i386_mpx_get_bt_entry (CORE_ADDR ptr, CORE_ADDR bd_base)
+{
+ CORE_ADDR offset1;
+ CORE_ADDR offset2;
+ CORE_ADDR mpx_bd_mask, bd_ptr_r_shift, bd_ptr_l_shift;
+ CORE_ADDR bt_mask, bt_select_r_shift, bt_select_l_shift;
+ CORE_ADDR bd_entry_addr;
+ CORE_ADDR bt_addr;
+ CORE_ADDR bd_entry;
+ struct gdbarch *gdbarch = get_current_arch ();
+ struct type *data_ptr_type = builtin_type (gdbarch)->builtin_data_ptr;
+
+
+ if (gdbarch_ptr_bit (gdbarch) == 64)
+ {
+ mpx_bd_mask = (CORE_ADDR) MPX_BD_MASK;
+ bd_ptr_r_shift = 20;
+ bd_ptr_l_shift = 3;
+ bt_select_r_shift = 3;
+ bt_select_l_shift = 5;
+ bt_mask = (CORE_ADDR) MPX_BT_MASK;
+
+ if ( sizeof (CORE_ADDR) == 4)
+ error (_("operation not supported"));
+ }
+ else
+ {
+ mpx_bd_mask = MPX_BD_MASK_32;
+ bd_ptr_r_shift = 12;
+ bd_ptr_l_shift = 2;
+ bt_select_r_shift = 2;
+ bt_select_l_shift = 4;
+ bt_mask = MPX_BT_MASK_32;
+ }
+
+ offset1 = ((ptr & mpx_bd_mask) >> bd_ptr_r_shift) << bd_ptr_l_shift;
+ bd_entry_addr = bd_base + offset1;
+ bd_entry = read_memory_typed_address (bd_entry_addr, data_ptr_type);
+
+ if ((bd_entry & 0x1) == 0)
+ error (_("Invalid bounds directory entry at %s."),
+ paddress (get_current_arch (), bd_entry_addr));
+
+ /* Clearing status bit. */
+ bd_entry--;
+ bt_addr = bd_entry & ~bt_select_r_shift;
+ offset2 = ((ptr & bt_mask) >> bt_select_r_shift) << bt_select_l_shift;
+
+ return bt_addr + offset2;
+}
+
+/* Print routine for the mpx bounds. */
+
+static void
+i386_mpx_print_bounds (const CORE_ADDR bt_entry[4])
+{
+ struct ui_out *uiout = current_uiout;
+ LONGEST size;
+ struct gdbarch *gdbarch = get_current_arch ();
+ CORE_ADDR onecompl = ~((CORE_ADDR) 0);
+ int bounds_in_map = ((~bt_entry[1] == 0 && bt_entry[0] == onecompl) ? 1 : 0);
+
+ if (bounds_in_map == 1)
+ {
+ ui_out_text (uiout, "Null bounds on map:");
+ ui_out_text (uiout, " pointer value = ");
+ ui_out_field_core_addr (uiout, "pointer-value", gdbarch, bt_entry[2]);
+ ui_out_text (uiout, ".");
+ ui_out_text (uiout, "\n");
+ }
+ else
+ {
+ ui_out_text (uiout, "{lbound = ");
+ ui_out_field_core_addr (uiout, "lower-bound", gdbarch, bt_entry[0]);
+ ui_out_text (uiout, ", ubound = ");
+
+ /* The upper bound is stored in 1's complement. */
+ ui_out_field_core_addr (uiout, "upper-bound", gdbarch, ~bt_entry[1]);
+ ui_out_text (uiout, "}: pointer value = ");
+ ui_out_field_core_addr (uiout, "pointer-value", gdbarch, bt_entry[2]);
+
+ if (gdbarch_ptr_bit (gdbarch) == 64)
+ size = ( (~(int64_t) bt_entry[1]) - (int64_t) bt_entry[0]);
+ else
+ size = ( ~((int32_t) bt_entry[1]) - (int32_t) bt_entry[0]);
+
+ /* In case the bounds are 0x0 and 0xffff... the difference will be -1.
+ -1 represents in this sense full memory access, and there is no need
+ one to the size. */
+
+ size = (size > -1 ? size + 1 : size);
+ ui_out_text (uiout, ", size = ");
+ ui_out_field_fmt (uiout, "size", "%s", plongest (size));
+
+ ui_out_text (uiout, ", metadata = ");
+ ui_out_field_core_addr (uiout, "metadata", gdbarch, bt_entry[3]);
+ ui_out_text (uiout, "\n");
+ }
+}
+
+/* Implement the command "show mpx bound". */
+
+static void
+i386_mpx_info_bounds (char *args, int from_tty)
+{
+ CORE_ADDR bd_base = 0;
+ CORE_ADDR addr;
+ CORE_ADDR bt_entry_addr = 0;
+ CORE_ADDR bt_entry[4];
+ int i;
+ struct gdbarch *gdbarch = get_current_arch ();
+ struct type *data_ptr_type = builtin_type (gdbarch)->builtin_data_ptr;
+
+ if (!i386_mpx_enabled ())
+ error (_("Intel(R) Memory Protection Extensions not\
+ supported on this target."));
+
+ if (args == NULL)
+ error (_("Address of pointer variable expected."));
+
+ addr = parse_and_eval_address (args);
+
+ bd_base = i386_mpx_bd_base ();
+ bt_entry_addr = i386_mpx_get_bt_entry (addr, bd_base);
+
+ memset (bt_entry, 0, sizeof (bt_entry));
+
+ for (i = 0; i < 4; i++)
+ bt_entry[i] = read_memory_typed_address (bt_entry_addr
+ + i * data_ptr_type->length,
+ data_ptr_type);
+
+ i386_mpx_print_bounds (bt_entry);
+}
+
+/* Implement the command "set mpx bound". */
+
+static void
+i386_mpx_set_bounds (char *args, int from_tty)
+{
+ CORE_ADDR bd_base = 0;
+ CORE_ADDR addr, lower, upper;
+ CORE_ADDR bt_entry_addr = 0;
+ CORE_ADDR bt_entry[2];
+ const char *input = args;
+ int i;
+ struct gdbarch *gdbarch = get_current_arch ();
+ enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
+ struct type *data_ptr_type = builtin_type (gdbarch)->builtin_data_ptr;
+
+ if (!i386_mpx_enabled ())
+ error (_("Intel(R) Memory Protection Extensions not supported\
+ on this target."));
+
+ if (args == NULL)
+ error (_("Pointer value expected."));
+
+ addr = value_as_address (parse_to_comma_and_eval (&input));
+
+ if (input[0] == ',')
+ ++input;
+ if (input[0] == '\0')
+ error (_("wrong number of arguments: missing lower and upper bound."));
+ lower = value_as_address (parse_to_comma_and_eval (&input));
+
+ if (input[0] == ',')
+ ++input;
+ if (input[0] == '\0')
+ error (_("Wrong number of arguments; Missing upper bound."));
+ upper = value_as_address (parse_to_comma_and_eval (&input));
+
+ bd_base = i386_mpx_bd_base ();
+ bt_entry_addr = i386_mpx_get_bt_entry (addr, bd_base);
+ for (i = 0; i < 2; i++)
+ bt_entry[i] = read_memory_typed_address (bt_entry_addr
+ + i * data_ptr_type->length,
+ data_ptr_type);
+ bt_entry[0] = (uint64_t) lower;
+ bt_entry[1] = ~(uint64_t) upper;
+
+ for (i = 0; i < 2; i++)
+ write_memory_unsigned_integer (bt_entry_addr + i * data_ptr_type->length,
+ data_ptr_type->length, byte_order,
+ bt_entry[i]);
+}
+
+static struct cmd_list_element *mpx_set_cmdlist, *mpx_show_cmdlist;
+
+/* Helper function for the CLI commands. */
+
+static void
+set_mpx_cmd (char *args, int from_tty)
+{
+ help_list (mpx_set_cmdlist, "set mpx", all_commands, gdb_stdout);
+}
+
+/* Helper function for the CLI commands. */
+
+static void
+show_mpx_cmd (char *args, int from_tty)
+{
+ cmd_show_list (mpx_show_cmdlist, from_tty, "");
+}
+
/* Provide a prototype to silence -Wmissing-prototypes. */
void _initialize_i386_tdep (void);
@@ -8647,6 +8895,34 @@ is \"default\"."),
NULL, /* FIXME: i18n: */
&setlist, &showlist);
+ /* Add "mpx" prefix for the set commands. */
+
+ add_prefix_cmd ("mpx", class_support, set_mpx_cmd, _("\
+Set Intel(R) Memory Protection Extensions specific variables."),
+ &mpx_set_cmdlist, "set tdesc ",
+ 0 /* allow-unknown */, &setlist);
+
+ /* Add "mpx" prefix for the show commands. */
+
+ add_prefix_cmd ("mpx", class_support, show_mpx_cmd, _("\
+Show Intel(R) Memory Protection Extensions specific variables."),
+ &mpx_show_cmdlist, "show mpx ",
+ 0 /* allow-unknown */, &showlist);
+
+ /* Add "bound" command for the show mpx commands list. */
+
+ add_cmd ("bound", no_class, i386_mpx_info_bounds,
+ "Show the memory bounds for a given array/pointer storage\
+ in the bound table.",
+ &mpx_show_cmdlist);
+
+ /* Add "bound" command for the set mpx commands list. */
+
+ add_cmd ("bound", no_class, i386_mpx_set_bounds,
+ "Set the memory bounds for a given array/pointer storage\
+ in the bound table.",
+ &mpx_set_cmdlist);
+
gdbarch_register_osabi_sniffer (bfd_arch_i386, bfd_target_coff_flavour,
i386_coff_osabi_sniffer);
diff --git a/gdb/inf-child.c b/gdb/inf-child.c
index 084dfa1572c..0326a93ae32 100644
--- a/gdb/inf-child.c
+++ b/gdb/inf-child.c
@@ -204,35 +204,33 @@ inf_child_pid_to_exec_file (struct target_ops *self, int pid)
return NULL;
}
-/* Open FILENAME on the target, using FLAGS and MODE. Return a
- target file descriptor, or -1 if an error occurs (and set
- *TARGET_ERRNO). */
+/* Implementation of to_fileio_open. */
+
static int
inf_child_fileio_open (struct target_ops *self,
- const char *filename, int flags, int mode,
- int *target_errno)
+ struct inferior *inf, const char *filename,
+ int flags, int mode, int *target_errno)
{
int nat_flags;
+ mode_t nat_mode;
int fd;
- if (fileio_to_host_openflags (flags, &nat_flags) == -1)
+ if (fileio_to_host_openflags (flags, &nat_flags) == -1
+ || fileio_to_host_mode (mode, &nat_mode) == -1)
{
*target_errno = FILEIO_EINVAL;
return -1;
}
- /* We do not need to convert MODE, since the fileio protocol uses
- the standard values. */
- fd = gdb_open_cloexec (filename, nat_flags, mode);
+ fd = gdb_open_cloexec (filename, nat_flags, nat_mode);
if (fd == -1)
*target_errno = host_to_fileio_error (errno);
return fd;
}
-/* Write up to LEN bytes from WRITE_BUF to FD on the target.
- Return the number of bytes written, or -1 if an error occurs
- (and set *TARGET_ERRNO). */
+/* Implementation of to_fileio_pwrite. */
+
static int
inf_child_fileio_pwrite (struct target_ops *self,
int fd, const gdb_byte *write_buf, int len,
@@ -259,9 +257,8 @@ inf_child_fileio_pwrite (struct target_ops *self,
return ret;
}
-/* Read up to LEN bytes FD on the target into READ_BUF.
- Return the number of bytes read, or -1 if an error occurs
- (and set *TARGET_ERRNO). */
+/* Implementation of to_fileio_pread. */
+
static int
inf_child_fileio_pread (struct target_ops *self,
int fd, gdb_byte *read_buf, int len,
@@ -289,6 +286,7 @@ inf_child_fileio_pread (struct target_ops *self,
}
/* Implementation of to_fileio_fstat. */
+
static int
inf_child_fileio_fstat (struct target_ops *self, int fd,
struct stat *sb, int *target_errno)
@@ -302,8 +300,8 @@ inf_child_fileio_fstat (struct target_ops *self, int fd,
return ret;
}
-/* Close FD on the target. Return 0, or -1 if an error occurs
- (and set *TARGET_ERRNO). */
+/* Implementation of to_fileio_close. */
+
static int
inf_child_fileio_close (struct target_ops *self, int fd, int *target_errno)
{
@@ -316,11 +314,12 @@ inf_child_fileio_close (struct target_ops *self, int fd, int *target_errno)
return ret;
}
-/* Unlink FILENAME on the target. Return 0, or -1 if an error
- occurs (and set *TARGET_ERRNO). */
+/* Implementation of to_fileio_unlink. */
+
static int
inf_child_fileio_unlink (struct target_ops *self,
- const char *filename, int *target_errno)
+ struct inferior *inf, const char *filename,
+ int *target_errno)
{
int ret;
@@ -331,12 +330,12 @@ inf_child_fileio_unlink (struct target_ops *self,
return ret;
}
-/* Read value of symbolic link FILENAME on the target. Return a
- null-terminated string allocated via xmalloc, or NULL if an error
- occurs (and set *TARGET_ERRNO). */
+/* Implementation of to_fileio_readlink. */
+
static char *
inf_child_fileio_readlink (struct target_ops *self,
- const char *filename, int *target_errno)
+ struct inferior *inf, const char *filename,
+ int *target_errno)
{
/* We support readlink only on systems that also provide a compile-time
maximum path length (PATH_MAX), at least for now. */
diff --git a/gdb/infcall.c b/gdb/infcall.c
index 5dd908d88d0..e3bd72a71b6 100644
--- a/gdb/infcall.c
+++ b/gdb/infcall.c
@@ -387,6 +387,7 @@ run_inferior_call (struct thread_info *call_thread, CORE_ADDR real_pc)
int saved_in_infcall = call_thread->control.in_infcall;
ptid_t call_thread_ptid = call_thread->ptid;
int saved_sync_execution = sync_execution;
+ int was_running = call_thread->state == THREAD_RUNNING;
/* Infcalls run synchronously, in the foreground. */
if (target_can_async_p ())
@@ -433,6 +434,26 @@ run_inferior_call (struct thread_info *call_thread, CORE_ADDR real_pc)
CALL_THREAD as it could be invalid if its thread has exited. */
call_thread = find_thread_ptid (call_thread_ptid);
+ /* If the infcall does NOT succeed, normal_stop will have already
+ finished the thread states. However, on success, normal_stop
+ defers here, so that we can set back the thread states to what
+ they were before the call. Note that we must also finish the
+ state of new threads that might have spawned while the call was
+ running. The main cases to handle are:
+
+ - "(gdb) print foo ()", or any other command that evaluates an
+ expression at the prompt. (The thread was marked stopped before.)
+
+ - "(gdb) break foo if return_false()" or similar cases where we
+ do an infcall while handling an event (while the thread is still
+ marked running). In this example, whether the condition
+ evaluates true and thus we'll present a user-visible stop is
+ decided elsewhere. */
+ if (!was_running
+ && ptid_equal (call_thread_ptid, inferior_ptid)
+ && stop_stack_dummy == STOP_STACK_DUMMY)
+ finish_thread_state (user_visible_resume_ptid (0));
+
enable_watchpoints_after_interactive_call_stop ();
/* Call breakpoint_auto_delete on the current contents of the bpstat
@@ -1104,8 +1125,11 @@ When the function is done executing, GDB will silently stop."),
if (stopped_by_random_signal || stop_stack_dummy != STOP_STACK_DUMMY)
{
- const char *name = get_function_name (funaddr,
- name_buf, sizeof (name_buf));
+ /* Make a copy as NAME may be in an objfile freed by dummy_frame_pop. */
+ char *name = xstrdup (get_function_name (funaddr,
+ name_buf, sizeof (name_buf)));
+ make_cleanup (xfree, name);
+
if (stopped_by_random_signal)
{
diff --git a/gdb/inferior.c b/gdb/inferior.c
index ba320b52e7b..d0783d3b708 100644
--- a/gdb/inferior.c
+++ b/gdb/inferior.c
@@ -310,7 +310,7 @@ detach_inferior (int pid)
{
struct inferior *inf = find_inferior_pid (pid);
- exit_inferior_1 (inf, 1);
+ exit_inferior_1 (inf, 0);
if (print_inferior_events)
printf_unfiltered (_("[Inferior %d detached]\n"), pid);
diff --git a/gdb/inferior.h b/gdb/inferior.h
index 0d242fe790f..2054a2a956e 100644
--- a/gdb/inferior.h
+++ b/gdb/inferior.h
@@ -276,16 +276,6 @@ struct inferior_control_state
enum stop_kind stop_soon;
};
-/* Inferior process specific part of `struct infcall_suspend_state'.
-
- Inferior thread counterpart is `struct thread_suspend_state'. */
-
-#if 0 /* Currently unused and empty structures are not valid C. */
-struct inferior_suspend_state
-{
-};
-#endif
-
/* GDB represents the state of each program execution with an object
called an inferior. An inferior typically corresponds to a process
but is more general and applies also to targets that do not have a
@@ -314,12 +304,6 @@ struct inferior
See `struct inferior_control_state'. */
struct inferior_control_state control;
- /* State of inferior process to restore after GDB is done with an inferior
- call. See `struct inferior_suspend_state'. */
-#if 0 /* Currently unused and empty structures are not valid C. */
- struct inferior_suspend_state suspend;
-#endif
-
/* True if this was an auto-created inferior, e.g. created from
following a fork; false, if this inferior was manually added by
the user, and we should not attempt to prune it
diff --git a/gdb/infrun.c b/gdb/infrun.c
index 71cf208e41f..445a61252c8 100644
--- a/gdb/infrun.c
+++ b/gdb/infrun.c
@@ -445,11 +445,14 @@ holding the child stopped. Try \"set detach-on-fork\" or \
if (info_verbose || debug_infrun)
{
+ /* Ensure that we have a process ptid. */
+ ptid_t process_ptid = pid_to_ptid (ptid_get_pid (child_ptid));
+
target_terminal_ours_for_output ();
fprintf_filtered (gdb_stdlog,
_("Detaching after %s from child %s.\n"),
has_vforked ? "vfork" : "fork",
- target_pid_to_str (child_ptid));
+ target_pid_to_str (process_ptid));
}
}
else
@@ -578,11 +581,14 @@ holding the child stopped. Try \"set detach-on-fork\" or \
{
if (info_verbose || debug_infrun)
{
+ /* Ensure that we have a process ptid. */
+ ptid_t process_ptid = pid_to_ptid (ptid_get_pid (child_ptid));
+
target_terminal_ours_for_output ();
fprintf_filtered (gdb_stdlog,
_("Detaching after fork from "
"child %s.\n"),
- target_pid_to_str (child_ptid));
+ target_pid_to_str (process_ptid));
}
target_detach (NULL, 0);
@@ -1127,7 +1133,7 @@ follow_exec (ptid_t ptid, char *execd_pathname)
breakpoint_init_inferior (inf_execd);
- if (gdb_sysroot != NULL && *gdb_sysroot != '\0')
+ if (*gdb_sysroot != '\0')
{
char *name = exec_file_find (execd_pathname, NULL);
@@ -2258,11 +2264,8 @@ resume (enum gdb_signal sig)
requests finish. The thread is not executing at this
point, and the call to set_executing will be made later.
But we need to call set_running here, since from the
- user/frontend's point of view, threads were set running.
- Unless we're calling an inferior function, as in that
- case we pretend the inferior doesn't run at all. */
- if (!tp->control.in_infcall)
- set_running (user_visible_resume_ptid (user_step), 1);
+ user/frontend's point of view, threads were set running. */
+ set_running (user_visible_resume_ptid (user_step), 1);
discard_cleanups (old_cleanups);
return;
}
@@ -2340,10 +2343,8 @@ resume (enum gdb_signal sig)
/* Even if RESUME_PTID is a wildcard, and we end up resuming less
(e.g., we might need to step over a breakpoint), from the
user/frontend's point of view, all threads in RESUME_PTID are now
- running. Unless we're calling an inferior function, as in that
- case pretend we inferior doesn't run at all. */
- if (!tp->control.in_infcall)
- set_running (resume_ptid, 1);
+ running. */
+ set_running (resume_ptid, 1);
/* Maybe resume a single thread after all. */
if ((step || thread_has_single_step_breakpoints_set (tp))
@@ -3680,7 +3681,7 @@ get_inferior_stop_soon (ptid_t ptid)
once). */
static void
-handle_inferior_event (struct execution_control_state *ecs)
+handle_inferior_event_1 (struct execution_control_state *ecs)
{
enum stop_kind stop_soon;
@@ -4202,6 +4203,22 @@ Cannot fill $_exitsignal with the correct signal number.\n"));
}
}
+/* A wrapper around handle_inferior_event_1, which also makes sure
+ that all temporary struct value objects that were created during
+ the handling of the event get deleted at the end. */
+
+static void
+handle_inferior_event (struct execution_control_state *ecs)
+{
+ struct value *mark = value_mark ();
+
+ handle_inferior_event_1 (ecs);
+ /* Purge all temporary values created during the event handling,
+ as it could be a long time before we return to the command level
+ where such values would otherwise be purged. */
+ value_free_to_mark (mark);
+}
+
/* Come here when the program has stopped with a signal. */
static void
@@ -6642,15 +6659,15 @@ normal_stop (void)
if (has_stack_frames () && !stop_stack_dummy)
set_current_sal_from_frame (get_current_frame ());
- /* Let the user/frontend see the threads as stopped, but do nothing
- if the thread was running an infcall. We may be e.g., evaluating
- a breakpoint condition. In that case, the thread had state
- THREAD_RUNNING before the infcall, and shall remain set to
- running, all without informing the user/frontend about state
- transition changes. If this is actually a call command, then the
- thread was originally already stopped, so there's no state to
- finish either. */
- if (target_has_execution && inferior_thread ()->control.in_infcall)
+ /* Let the user/frontend see the threads as stopped, but defer to
+ call_function_by_hand if the thread finished an infcall
+ successfully. We may be e.g., evaluating a breakpoint condition.
+ In that case, the thread had state THREAD_RUNNING before the
+ infcall, and shall remain marked running, all without informing
+ the user/frontend about state transition changes. */
+ if (target_has_execution
+ && inferior_thread ()->control.in_infcall
+ && stop_stack_dummy == STOP_STACK_DUMMY)
discard_cleanups (old_chain);
else
do_cleanups (old_chain);
@@ -7234,9 +7251,6 @@ siginfo_make_value (struct gdbarch *gdbarch, struct internalvar *var,
struct infcall_suspend_state
{
struct thread_suspend_state thread_suspend;
-#if 0 /* Currently unused and empty structures are not valid C. */
- struct inferior_suspend_state inferior_suspend;
-#endif
/* Other fields: */
CORE_ADDR stop_pc;
@@ -7256,9 +7270,6 @@ save_infcall_suspend_state (void)
{
struct infcall_suspend_state *inf_state;
struct thread_info *tp = inferior_thread ();
-#if 0
- struct inferior *inf = current_inferior ();
-#endif
struct regcache *regcache = get_current_regcache ();
struct gdbarch *gdbarch = get_regcache_arch (regcache);
gdb_byte *siginfo_data = NULL;
@@ -7292,9 +7303,6 @@ save_infcall_suspend_state (void)
}
inf_state->thread_suspend = tp->suspend;
-#if 0 /* Currently unused and empty structures are not valid C. */
- inf_state->inferior_suspend = inf->suspend;
-#endif
/* run_inferior_call will not use the signal due to its `proceed' call with
GDB_SIGNAL_0 anyway. */
@@ -7313,16 +7321,10 @@ void
restore_infcall_suspend_state (struct infcall_suspend_state *inf_state)
{
struct thread_info *tp = inferior_thread ();
-#if 0
- struct inferior *inf = current_inferior ();
-#endif
struct regcache *regcache = get_current_regcache ();
struct gdbarch *gdbarch = get_regcache_arch (regcache);
tp->suspend = inf_state->thread_suspend;
-#if 0 /* Currently unused and empty structures are not valid C. */
- inf->suspend = inf_state->inferior_suspend;
-#endif
stop_pc = inf_state->stop_pc;
diff --git a/gdb/linespec.c b/gdb/linespec.c
index d2089b5dd9d..65155d98dda 100644
--- a/gdb/linespec.c
+++ b/gdb/linespec.c
@@ -3432,7 +3432,9 @@ collect_symbols (struct symbol *sym, void *data)
}
/* We've found a minimal symbol MSYMBOL in OBJFILE to associate with our
- linespec; return the SAL in RESULT. */
+ linespec; return the SAL in RESULT. This function should return SALs
+ matching those from find_function_start_sal, otherwise false
+ multiple-locations breakpoints could be placed. */
static void
minsym_found (struct linespec_state *self, struct objfile *objfile,
@@ -3454,7 +3456,23 @@ minsym_found (struct linespec_state *self, struct objfile *objfile,
sal = find_pc_sect_line (pc, NULL, 0);
if (self->funfirstline)
- skip_prologue_sal (&sal);
+ {
+ if (sal.symtab != NULL
+ && (COMPUNIT_LOCATIONS_VALID (SYMTAB_COMPUNIT (sal.symtab))
+ || SYMTAB_LANGUAGE (sal.symtab) == language_asm))
+ {
+ /* If gdbarch_convert_from_func_ptr_addr does not apply then
+ sal.SECTION, sal.LINE&co. will stay correct from above.
+ If gdbarch_convert_from_func_ptr_addr applies then
+ sal.SECTION is cleared from above and sal.LINE&co. will
+ stay correct from the last find_pc_sect_line above. */
+ sal.pc = MSYMBOL_VALUE_ADDRESS (objfile, msymbol);
+ sal.pc = gdbarch_convert_from_func_ptr_addr (gdbarch, sal.pc,
+ &current_target);
+ }
+ else
+ skip_prologue_sal (&sal);
+ }
if (maybe_add_address (self->addr_set, objfile->pspace, sal.pc))
add_sal_to_sals (self, result, &sal, MSYMBOL_NATURAL_NAME (msymbol), 0);
diff --git a/gdb/linux-nat.c b/gdb/linux-nat.c
index f95e76c6010..be429f8e4ae 100644
--- a/gdb/linux-nat.c
+++ b/gdb/linux-nat.c
@@ -66,6 +66,8 @@
#include "target-descriptions.h"
#include "filestuff.h"
#include "objfiles.h"
+#include "nat/linux-namespaces.h"
+#include "fileio.h"
#ifndef SPUFS_MAGIC
#define SPUFS_MAGIC 0x23c9b64e
@@ -163,6 +165,9 @@ blocked. */
#define O_LARGEFILE 0
#endif
+/* Does the current host support PTRACE_GETREGSET? */
+enum tribool have_ptrace_getregset = TRIBOOL_UNKNOWN;
+
/* The single-threaded native GNU/Linux target_ops. We save a pointer for
the use of the multi-threaded target. */
static struct target_ops *linux_ops;
@@ -4865,6 +4870,104 @@ linux_nat_core_of_thread (struct target_ops *ops, ptid_t ptid)
return -1;
}
+/* Implementation of to_filesystem_is_local. */
+
+static int
+linux_nat_filesystem_is_local (struct target_ops *ops)
+{
+ struct inferior *inf = current_inferior ();
+
+ if (inf->fake_pid_p || inf->pid == 0)
+ return 1;
+
+ return linux_ns_same (inf->pid, LINUX_NS_MNT);
+}
+
+/* Convert the INF argument passed to a to_fileio_* method
+ to a process ID suitable for passing to its corresponding
+ linux_mntns_* function. If INF is non-NULL then the
+ caller is requesting the filesystem seen by INF. If INF
+ is NULL then the caller is requesting the filesystem seen
+ by the GDB. We fall back to GDB's filesystem in the case
+ that INF is non-NULL but its PID is unknown. */
+
+static pid_t
+linux_nat_fileio_pid_of (struct inferior *inf)
+{
+ if (inf == NULL || inf->fake_pid_p || inf->pid == 0)
+ return getpid ();
+ else
+ return inf->pid;
+}
+
+/* Implementation of to_fileio_open. */
+
+static int
+linux_nat_fileio_open (struct target_ops *self,
+ struct inferior *inf, const char *filename,
+ int flags, int mode, int *target_errno)
+{
+ int nat_flags;
+ mode_t nat_mode;
+ int fd;
+
+ if (fileio_to_host_openflags (flags, &nat_flags) == -1
+ || fileio_to_host_mode (mode, &nat_mode) == -1)
+ {
+ *target_errno = FILEIO_EINVAL;
+ return -1;
+ }
+
+ fd = linux_mntns_open_cloexec (linux_nat_fileio_pid_of (inf),
+ filename, nat_flags, nat_mode);
+ if (fd == -1)
+ *target_errno = host_to_fileio_error (errno);
+
+ return fd;
+}
+
+/* Implementation of to_fileio_readlink. */
+
+static char *
+linux_nat_fileio_readlink (struct target_ops *self,
+ struct inferior *inf, const char *filename,
+ int *target_errno)
+{
+ char buf[PATH_MAX];
+ int len;
+ char *ret;
+
+ len = linux_mntns_readlink (linux_nat_fileio_pid_of (inf),
+ filename, buf, sizeof (buf));
+ if (len < 0)
+ {
+ *target_errno = host_to_fileio_error (errno);
+ return NULL;
+ }
+
+ ret = xmalloc (len + 1);
+ memcpy (ret, buf, len);
+ ret[len] = '\0';
+ return ret;
+}
+
+/* Implementation of to_fileio_unlink. */
+
+static int
+linux_nat_fileio_unlink (struct target_ops *self,
+ struct inferior *inf, const char *filename,
+ int *target_errno)
+{
+ int ret;
+
+ ret = linux_mntns_unlink (linux_nat_fileio_pid_of (inf),
+ filename);
+ if (ret == -1)
+ *target_errno = host_to_fileio_error (errno);
+
+ return ret;
+}
+
void
linux_nat_add_target (struct target_ops *t)
{
@@ -4918,6 +5021,11 @@ linux_nat_add_target (struct target_ops *t)
t->to_core_of_thread = linux_nat_core_of_thread;
+ t->to_filesystem_is_local = linux_nat_filesystem_is_local;
+ t->to_fileio_open = linux_nat_fileio_open;
+ t->to_fileio_readlink = linux_nat_fileio_readlink;
+ t->to_fileio_unlink = linux_nat_fileio_unlink;
+
/* We don't change the stratum; this target will sit at
process_stratum and thread_db will set at thread_stratum. This
is a little strange, since this is a multi-threaded-capable
@@ -5035,6 +5143,15 @@ Enables printf debugging output."),
show_debug_linux_nat,
&setdebuglist, &showdebuglist);
+ add_setshow_boolean_cmd ("linux-namespaces", class_maintenance,
+ &debug_linux_namespaces, _("\
+Set debugging of GNU/Linux namespaces module."), _("\
+Show debugging of GNU/Linux namespaces module."), _("\
+Enables printf debugging output."),
+ NULL,
+ NULL,
+ &setdebuglist, &showdebuglist);
+
/* Save this mask as the default. */
sigprocmask (SIG_SETMASK, NULL, &normal_mask);
diff --git a/gdb/linux-nat.h b/gdb/linux-nat.h
index d935270847d..cae263a6d6f 100644
--- a/gdb/linux-nat.h
+++ b/gdb/linux-nat.h
@@ -115,6 +115,10 @@ struct lwp_info
native target is active. */
extern struct lwp_info *lwp_list;
+/* Does the current host support PTRACE_GETREGSET? */
+enum tribool { TRIBOOL_UNKNOWN = -1, TRIBOOL_FALSE = 0, TRIBOOL_TRUE = 1 };
+extern enum tribool have_ptrace_getregset;
+
/* Iterate over each active thread (light-weight process). */
#define ALL_LWPS(LP) \
for ((LP) = lwp_list; \
diff --git a/gdb/linux-record.h b/gdb/linux-record.h
index ab39cb9c684..27bb700800a 100644
--- a/gdb/linux-record.h
+++ b/gdb/linux-record.h
@@ -174,6 +174,7 @@ struct linux_record_tdep
int arg4;
int arg5;
int arg6;
+ int arg7;
};
/* Enum that defines the gdb-canonical set of Linux syscall identifiers.
diff --git a/gdb/linux-tdep.c b/gdb/linux-tdep.c
index df420970ba0..ff3ada78c6b 100644
--- a/gdb/linux-tdep.c
+++ b/gdb/linux-tdep.c
@@ -46,7 +46,7 @@
Documentation/filesystems/proc.txt, inside the Linux kernel
tree. */
-enum
+enum filterflags
{
COREFILTER_ANON_PRIVATE = 1 << 0,
COREFILTER_ANON_SHARED = 1 << 1,
@@ -243,7 +243,7 @@ get_linux_inferior_data (void)
/* This function is suitable for architectures that don't
extend/override the standard siginfo structure. */
-struct type *
+static struct type *
linux_get_siginfo_type (struct gdbarch *gdbarch)
{
struct linux_gdbarch_data *linux_gdbarch_data;
@@ -598,7 +598,7 @@ mapping_is_anonymous_p (const char *filename)
This should work OK enough, however. */
static int
-dump_mapping_p (unsigned int filterflags, const struct smaps_vmflags *v,
+dump_mapping_p (enum filterflags filterflags, const struct smaps_vmflags *v,
int maybe_private_p, int mapping_anon_p, int mapping_file_p,
const char *filename)
{
@@ -719,7 +719,7 @@ linux_info_proc (struct gdbarch *gdbarch, const char *args,
if (cmdline_f)
{
xsnprintf (filename, sizeof filename, "/proc/%ld/cmdline", pid);
- data = target_fileio_read_stralloc (filename);
+ data = target_fileio_read_stralloc (NULL, filename);
if (data)
{
struct cleanup *cleanup = make_cleanup (xfree, data);
@@ -732,7 +732,7 @@ linux_info_proc (struct gdbarch *gdbarch, const char *args,
if (cwd_f)
{
xsnprintf (filename, sizeof filename, "/proc/%ld/cwd", pid);
- data = target_fileio_readlink (filename, &target_errno);
+ data = target_fileio_readlink (NULL, filename, &target_errno);
if (data)
{
struct cleanup *cleanup = make_cleanup (xfree, data);
@@ -745,7 +745,7 @@ linux_info_proc (struct gdbarch *gdbarch, const char *args,
if (exe_f)
{
xsnprintf (filename, sizeof filename, "/proc/%ld/exe", pid);
- data = target_fileio_readlink (filename, &target_errno);
+ data = target_fileio_readlink (NULL, filename, &target_errno);
if (data)
{
struct cleanup *cleanup = make_cleanup (xfree, data);
@@ -758,7 +758,7 @@ linux_info_proc (struct gdbarch *gdbarch, const char *args,
if (mappings_f)
{
xsnprintf (filename, sizeof filename, "/proc/%ld/maps", pid);
- data = target_fileio_read_stralloc (filename);
+ data = target_fileio_read_stralloc (NULL, filename);
if (data)
{
struct cleanup *cleanup = make_cleanup (xfree, data);
@@ -819,7 +819,7 @@ linux_info_proc (struct gdbarch *gdbarch, const char *args,
if (status_f)
{
xsnprintf (filename, sizeof filename, "/proc/%ld/status", pid);
- data = target_fileio_read_stralloc (filename);
+ data = target_fileio_read_stralloc (NULL, filename);
if (data)
{
struct cleanup *cleanup = make_cleanup (xfree, data);
@@ -832,7 +832,7 @@ linux_info_proc (struct gdbarch *gdbarch, const char *args,
if (stat_f)
{
xsnprintf (filename, sizeof filename, "/proc/%ld/stat", pid);
- data = target_fileio_read_stralloc (filename);
+ data = target_fileio_read_stralloc (NULL, filename);
if (data)
{
struct cleanup *cleanup = make_cleanup (xfree, data);
@@ -1119,10 +1119,10 @@ linux_find_memory_regions_full (struct gdbarch *gdbarch,
/* Default dump behavior of coredump_filter (0x33), according to
Documentation/filesystems/proc.txt from the Linux kernel
tree. */
- unsigned int filterflags = (COREFILTER_ANON_PRIVATE
- | COREFILTER_ANON_SHARED
- | COREFILTER_ELF_HEADERS
- | COREFILTER_HUGETLB_PRIVATE);
+ enum filterflags filterflags = (COREFILTER_ANON_PRIVATE
+ | COREFILTER_ANON_SHARED
+ | COREFILTER_ELF_HEADERS
+ | COREFILTER_HUGETLB_PRIVATE);
/* We need to know the real target PID to access /proc. */
if (current_inferior ()->fake_pid_p)
@@ -1134,7 +1134,8 @@ linux_find_memory_regions_full (struct gdbarch *gdbarch,
{
xsnprintf (coredumpfilter_name, sizeof (coredumpfilter_name),
"/proc/%d/coredump_filter", pid);
- coredumpfilterdata = target_fileio_read_stralloc (coredumpfilter_name);
+ coredumpfilterdata = target_fileio_read_stralloc (NULL,
+ coredumpfilter_name);
if (coredumpfilterdata != NULL)
{
sscanf (coredumpfilterdata, "%x", &filterflags);
@@ -1143,12 +1144,12 @@ linux_find_memory_regions_full (struct gdbarch *gdbarch,
}
xsnprintf (mapsfilename, sizeof mapsfilename, "/proc/%d/smaps", pid);
- data = target_fileio_read_stralloc (mapsfilename);
+ data = target_fileio_read_stralloc (NULL, mapsfilename);
if (data == NULL)
{
/* Older Linux kernels did not support /proc/PID/smaps. */
xsnprintf (mapsfilename, sizeof mapsfilename, "/proc/%d/maps", pid);
- data = target_fileio_read_stralloc (mapsfilename);
+ data = target_fileio_read_stralloc (NULL, mapsfilename);
}
if (data != NULL)
@@ -1755,7 +1756,7 @@ linux_fill_prpsinfo (struct elf_internal_linux_prpsinfo *p)
/* Obtaining PID and filename. */
pid = ptid_get_pid (inferior_ptid);
xsnprintf (filename, sizeof (filename), "/proc/%d/cmdline", (int) pid);
- fname = target_fileio_read_stralloc (filename);
+ fname = target_fileio_read_stralloc (NULL, filename);
if (fname == NULL || *fname == '\0')
{
@@ -1788,7 +1789,7 @@ linux_fill_prpsinfo (struct elf_internal_linux_prpsinfo *p)
p->pr_psargs[sizeof (p->pr_psargs) - 1] = '\0';
xsnprintf (filename, sizeof (filename), "/proc/%d/stat", (int) pid);
- proc_stat = target_fileio_read_stralloc (filename);
+ proc_stat = target_fileio_read_stralloc (NULL, filename);
make_cleanup (xfree, proc_stat);
if (proc_stat == NULL || *proc_stat == '\0')
@@ -1869,7 +1870,7 @@ linux_fill_prpsinfo (struct elf_internal_linux_prpsinfo *p)
/* Finally, obtaining the UID and GID. For that, we read and parse the
contents of the `/proc/PID/status' file. */
xsnprintf (filename, sizeof (filename), "/proc/%d/status", (int) pid);
- proc_status = target_fileio_read_stralloc (filename);
+ proc_status = target_fileio_read_stralloc (NULL, filename);
make_cleanup (xfree, proc_status);
if (proc_status == NULL || *proc_status == '\0')
@@ -2348,6 +2349,35 @@ linux_infcall_mmap (CORE_ADDR size, unsigned prot)
return retval;
}
+/* See gdbarch.sh 'infcall_munmap'. */
+
+static void
+linux_infcall_munmap (CORE_ADDR addr, CORE_ADDR size)
+{
+ struct objfile *objf;
+ struct value *munmap_val = find_function_in_inferior ("munmap", &objf);
+ struct value *retval_val;
+ struct gdbarch *gdbarch = get_objfile_arch (objf);
+ LONGEST retval;
+ enum
+ {
+ ARG_ADDR, ARG_LENGTH, ARG_LAST
+ };
+ struct value *arg[ARG_LAST];
+
+ arg[ARG_ADDR] = value_from_pointer (builtin_type (gdbarch)->builtin_data_ptr,
+ addr);
+ /* Assuming sizeof (unsigned long) == sizeof (size_t). */
+ arg[ARG_LENGTH] = value_from_ulongest
+ (builtin_type (gdbarch)->builtin_unsigned_long, size);
+ retval_val = call_function_by_hand (munmap_val, ARG_LAST, arg);
+ retval = value_as_long (retval_val);
+ if (retval != 0)
+ warning (_("Failed inferior munmap call at %s for %s bytes, "
+ "errno is changed."),
+ hex_string (addr), pulongest (size));
+}
+
/* See linux-tdep.h. */
CORE_ADDR
@@ -2409,6 +2439,8 @@ linux_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
linux_gdb_signal_to_target);
set_gdbarch_vsyscall_range (gdbarch, linux_vsyscall_range);
set_gdbarch_infcall_mmap (gdbarch, linux_infcall_mmap);
+ set_gdbarch_infcall_munmap (gdbarch, linux_infcall_munmap);
+ set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
}
/* Provide a prototype to silence -Wmissing-prototypes. */
diff --git a/gdb/linux-tdep.h b/gdb/linux-tdep.h
index ff45286cd9a..9beb6f6427e 100644
--- a/gdb/linux-tdep.h
+++ b/gdb/linux-tdep.h
@@ -29,8 +29,6 @@ typedef char *(*linux_collect_thread_registers_ftype) (const struct regcache *,
bfd *, char *, int *,
enum gdb_signal);
-struct type *linux_get_siginfo_type (struct gdbarch *);
-
extern enum gdb_signal linux_gdb_signal_from_target (struct gdbarch *gdbarch,
int signal);
diff --git a/gdb/linux-thread-db.c b/gdb/linux-thread-db.c
index d6387d5d874..6177f3924c9 100644
--- a/gdb/linux-thread-db.c
+++ b/gdb/linux-thread-db.c
@@ -42,9 +42,9 @@
#include "nat/linux-osdata.h"
#include "auto-load.h"
#include "cli/cli-utils.h"
-
#include <signal.h>
#include <ctype.h>
+#include "nat/linux-namespaces.h"
/* GNU/Linux libthread_db support.
@@ -1200,20 +1200,12 @@ check_pid_namespace_match (void)
child's thread list, we'll mistakenly think it has no threads
since the thread PID fields won't match the PID we give to
libthread_db. */
- char *our_pid_ns = linux_proc_pid_get_ns (getpid (), "pid");
- char *inferior_pid_ns = linux_proc_pid_get_ns (
- ptid_get_pid (inferior_ptid), "pid");
-
- if (our_pid_ns != NULL && inferior_pid_ns != NULL
- && strcmp (our_pid_ns, inferior_pid_ns) != 0)
+ if (!linux_ns_same (ptid_get_pid (inferior_ptid), LINUX_NS_PID))
{
warning (_ ("Target and debugger are in different PID "
"namespaces; thread lists and other data are "
"likely unreliable"));
}
-
- xfree (our_pid_ns);
- xfree (inferior_pid_ns);
}
}
diff --git a/gdb/m68klinux-tdep.c b/gdb/m68klinux-tdep.c
index 03de4ea596d..c60a879dfb8 100644
--- a/gdb/m68klinux-tdep.c
+++ b/gdb/m68klinux-tdep.c
@@ -422,8 +422,6 @@ m68k_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_siginfo_type (gdbarch, linux_get_siginfo_type);
}
/* Provide a prototype to silence -Wmissing-prototypes. */
diff --git a/gdb/mdebugread.c b/gdb/mdebugread.c
index 058bb7ce558..3a81615f347 100644
--- a/gdb/mdebugread.c
+++ b/gdb/mdebugread.c
@@ -2646,7 +2646,7 @@ parse_partial_symbols (struct objfile *objfile)
}
else
textlow = 0;
- pst = start_psymtab_common (objfile, objfile->section_offsets,
+ pst = start_psymtab_common (objfile,
fdr_name (fh),
textlow,
objfile->global_psymbols.next,
@@ -3935,6 +3935,7 @@ psymtab_to_symtab_1 (struct objfile *objfile,
struct linetable *lines;
CORE_ADDR lowest_pdr_addr = 0;
int last_symtab_ended = 0;
+ struct section_offsets *section_offsets = objfile->section_offsets;
if (pst->readin)
return;
@@ -4051,7 +4052,7 @@ psymtab_to_symtab_1 (struct objfile *objfile,
&& previous_stab_code != (unsigned char) N_SO
&& *name == '\000')
{
- valu += ANOFFSET (pst->section_offsets,
+ valu += ANOFFSET (section_offsets,
SECT_OFF_TEXT (objfile));
previous_stab_code = N_SO;
cust = end_symtab (valu, SECT_OFF_TEXT (objfile));
@@ -4062,14 +4063,14 @@ psymtab_to_symtab_1 (struct objfile *objfile,
{
last_symtab_ended = 0;
process_one_symbol (type_code, 0, valu, name,
- pst->section_offsets, objfile);
+ section_offsets, objfile);
}
}
/* Similarly a hack. */
else if (name[0] == '#')
{
process_one_symbol (N_SLINE, 0, valu, name,
- pst->section_offsets, objfile);
+ section_offsets, objfile);
}
if (type_code == N_FUN)
{
@@ -4101,7 +4102,7 @@ psymtab_to_symtab_1 (struct objfile *objfile,
else
{
/* Handle encoded stab line number. */
- valu += ANOFFSET (pst->section_offsets,
+ valu += ANOFFSET (section_offsets,
SECT_OFF_TEXT (objfile));
record_line (current_subfile, sh.index,
gdbarch_addr_bits_remove (gdbarch, valu));
@@ -4225,7 +4226,7 @@ psymtab_to_symtab_1 (struct objfile *objfile,
c = parse_symbol (&sh,
debug_info->external_aux + fh->iauxBase,
sym_ptr, fh->fBigendian,
- pst->section_offsets, objfile);
+ section_offsets, objfile);
sym_ptr += c * external_sym_size;
}
@@ -4300,7 +4301,7 @@ psymtab_to_symtab_1 (struct objfile *objfile,
ext_ptr = PST_PRIVATE (pst)->extern_tab;
for (i = PST_PRIVATE (pst)->extern_count; --i >= 0; ext_ptr++)
parse_external (ext_ptr, fh->fBigendian,
- pst->section_offsets, objfile);
+ section_offsets, objfile);
/* If there are undefined symbols, tell the user.
The alpha has an undefined symbol for every symbol that is
@@ -4758,7 +4759,6 @@ new_psymtab (char *name, struct objfile *objfile)
struct partial_symtab *psymtab;
psymtab = allocate_psymtab (name, objfile);
- psymtab->section_offsets = objfile->section_offsets;
/* Keep a backpointer to the file's symbols. */
diff --git a/gdb/mi/mi-main.c b/gdb/mi/mi-main.c
index 2733e80eba8..ddfc9d94595 100644
--- a/gdb/mi/mi-main.c
+++ b/gdb/mi/mi-main.c
@@ -1595,6 +1595,7 @@ mi_cmd_data_read_memory_bytes (char *command, char **argv, int argc)
int ix;
VEC(memory_read_result_s) *result;
long offset = 0;
+ int unit_size = gdbarch_addressable_memory_unit_size (gdbarch);
int oind = 0;
char *oarg;
enum opt
@@ -1650,10 +1651,11 @@ mi_cmd_data_read_memory_bytes (char *command, char **argv, int argc)
- addr);
ui_out_field_core_addr (uiout, "end", gdbarch, read_result->end);
- data = xmalloc ((read_result->end - read_result->begin) * 2 + 1);
+ data = xmalloc (
+ (read_result->end - read_result->begin) * 2 * unit_size + 1);
for (i = 0, p = data;
- i < (read_result->end - read_result->begin);
+ i < ((read_result->end - read_result->begin) * unit_size);
++i, p += 2)
{
sprintf (p, "%02x", read_result->data[i]);
@@ -1762,29 +1764,36 @@ mi_cmd_data_write_memory_bytes (char *command, char **argv, int argc)
char *cdata;
gdb_byte *data;
gdb_byte *databuf;
- size_t len, i, steps, remainder;
- long int count, j;
+ size_t len_hex, len_bytes, len_units, i, steps, remaining_units;
+ long int count_units;
struct cleanup *back_to;
+ int unit_size;
if (argc != 2 && argc != 3)
error (_("Usage: ADDR DATA [COUNT]."));
addr = parse_and_eval_address (argv[0]);
cdata = argv[1];
- if (strlen (cdata) % 2)
- error (_("Hex-encoded '%s' must have an even number of characters."),
+ len_hex = strlen (cdata);
+ unit_size = gdbarch_addressable_memory_unit_size (get_current_arch ());
+
+ if (len_hex % (unit_size * 2) != 0)
+ error (_("Hex-encoded '%s' must represent an integral number of "
+ "addressable memory units."),
cdata);
- len = strlen (cdata)/2;
+ len_bytes = len_hex / 2;
+ len_units = len_bytes / unit_size;
+
if (argc == 3)
- count = strtoul (argv[2], NULL, 10);
+ count_units = strtoul (argv[2], NULL, 10);
else
- count = len;
+ count_units = len_units;
- databuf = xmalloc (len * sizeof (gdb_byte));
+ databuf = xmalloc (len_bytes * sizeof (gdb_byte));
back_to = make_cleanup (xfree, databuf);
- for (i = 0; i < len; ++i)
+ for (i = 0; i < len_bytes; ++i)
{
int x;
if (sscanf (cdata + i * 2, "%02x", &x) != 1)
@@ -1792,29 +1801,32 @@ mi_cmd_data_write_memory_bytes (char *command, char **argv, int argc)
databuf[i] = (gdb_byte) x;
}
- if (len < count)
+ if (len_units < count_units)
{
- /* Pattern is made of less bytes than count:
+ /* Pattern is made of less units than count:
repeat pattern to fill memory. */
- data = xmalloc (count);
+ data = xmalloc (count_units * unit_size);
make_cleanup (xfree, data);
- steps = count / len;
- remainder = count % len;
- for (j = 0; j < steps; j++)
- memcpy (data + j * len, databuf, len);
+ /* Number of times the pattern is entirely repeated. */
+ steps = count_units / len_units;
+ /* Number of remaining addressable memory units. */
+ remaining_units = count_units % len_units;
+ for (i = 0; i < steps; i++)
+ memcpy (data + i * len_bytes, databuf, len_bytes);
- if (remainder > 0)
- memcpy (data + steps * len, databuf, remainder);
+ if (remaining_units > 0)
+ memcpy (data + steps * len_bytes, databuf,
+ remaining_units * unit_size);
}
else
{
/* Pattern is longer than or equal to count:
- just copy count bytes. */
+ just copy count addressable memory units. */
data = databuf;
}
- write_memory_with_notification (addr, data, count);
+ write_memory_with_notification (addr, data, count_units);
do_cleanups (back_to);
}
diff --git a/gdb/microblaze-tdep.c b/gdb/microblaze-tdep.c
index d66914e2a3e..8cc1df22d67 100644
--- a/gdb/microblaze-tdep.c
+++ b/gdb/microblaze-tdep.c
@@ -134,30 +134,6 @@ microblaze_fetch_instruction (CORE_ADDR pc)
return extract_unsigned_integer (buf, 4, byte_order);
}
-
-static CORE_ADDR
-microblaze_push_dummy_code (struct gdbarch *gdbarch, CORE_ADDR sp,
- CORE_ADDR funcaddr,
- struct value **args, int nargs,
- struct type *value_type,
- CORE_ADDR *real_pc, CORE_ADDR *bp_addr,
- struct regcache *regcache)
-{
- error (_("push_dummy_code not implemented"));
- return sp;
-}
-
-
-static CORE_ADDR
-microblaze_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
- struct regcache *regcache, CORE_ADDR bp_addr,
- int nargs, struct value **args, CORE_ADDR sp,
- int struct_return, CORE_ADDR struct_addr)
-{
- error (_("store_arguments not implemented"));
- return sp;
-}
-
static const gdb_byte *
microblaze_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pc,
int *len)
@@ -749,8 +725,6 @@ microblaze_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
/* Call dummy code. */
set_gdbarch_call_dummy_location (gdbarch, ON_STACK);
- set_gdbarch_push_dummy_code (gdbarch, microblaze_push_dummy_code);
- set_gdbarch_push_dummy_call (gdbarch, microblaze_push_dummy_call);
set_gdbarch_return_value (gdbarch, microblaze_return_value);
set_gdbarch_stabs_argument_has_addr
diff --git a/gdb/mips-tdep.c b/gdb/mips-tdep.c
index 6e8ccd688a4..e0706dba376 100644
--- a/gdb/mips-tdep.c
+++ b/gdb/mips-tdep.c
@@ -6693,10 +6693,11 @@ mips_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
return mips32_scan_prologue (gdbarch, pc, limit_pc, NULL, NULL);
}
-/* Check whether the PC is in a function epilogue (32-bit version).
- This is a helper function for mips_in_function_epilogue_p. */
+/* Implement the stack_frame_destroyed_p gdbarch method (32-bit version).
+ This is a helper function for mips_stack_frame_destroyed_p. */
+
static int
-mips32_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+mips32_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
CORE_ADDR func_addr = 0, func_end = 0;
@@ -6731,11 +6732,11 @@ mips32_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
return 0;
}
-/* Check whether the PC is in a function epilogue (microMIPS version).
- This is a helper function for mips_in_function_epilogue_p. */
+/* Implement the stack_frame_destroyed_p gdbarch method (microMIPS version).
+ This is a helper function for mips_stack_frame_destroyed_p. */
static int
-micromips_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+micromips_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
CORE_ADDR func_addr = 0;
CORE_ADDR func_end = 0;
@@ -6832,10 +6833,11 @@ micromips_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
return 1;
}
-/* Check whether the PC is in a function epilogue (16-bit version).
- This is a helper function for mips_in_function_epilogue_p. */
+/* Implement the stack_frame_destroyed_p gdbarch method (16-bit version).
+ This is a helper function for mips_stack_frame_destroyed_p. */
+
static int
-mips16_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+mips16_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
CORE_ADDR func_addr = 0, func_end = 0;
@@ -6872,17 +6874,20 @@ mips16_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
return 0;
}
-/* The epilogue is defined here as the area at the end of a function,
+/* Implement the stack_frame_destroyed_p gdbarch method.
+
+ The epilogue is defined here as the area at the end of a function,
after an instruction which destroys the function's stack frame. */
+
static int
-mips_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+mips_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
if (mips_pc_is_mips16 (gdbarch, pc))
- return mips16_in_function_epilogue_p (gdbarch, pc);
+ return mips16_stack_frame_destroyed_p (gdbarch, pc);
else if (mips_pc_is_micromips (gdbarch, pc))
- return micromips_in_function_epilogue_p (gdbarch, pc);
+ return micromips_stack_frame_destroyed_p (gdbarch, pc);
else
- return mips32_in_function_epilogue_p (gdbarch, pc);
+ return mips32_stack_frame_destroyed_p (gdbarch, pc);
}
/* Root of all "set mips "/"show mips " commands. This will eventually be
@@ -8843,7 +8848,7 @@ mips_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_skip_prologue (gdbarch, mips_skip_prologue);
- set_gdbarch_in_function_epilogue_p (gdbarch, mips_in_function_epilogue_p);
+ set_gdbarch_stack_frame_destroyed_p (gdbarch, mips_stack_frame_destroyed_p);
set_gdbarch_pointer_to_address (gdbarch, signed_pointer_to_address);
set_gdbarch_address_to_pointer (gdbarch, address_to_signed_pointer);
diff --git a/gdb/monitor.c b/gdb/monitor.c
index 548dae3d5b3..c7f5fc70ce9 100644
--- a/gdb/monitor.c
+++ b/gdb/monitor.c
@@ -54,6 +54,7 @@
#include "regcache.h"
#include "gdbthread.h"
#include "readline/readline.h"
+#include "rsp-low.h"
static char *dev_name;
static struct target_ops *targ_ops;
@@ -225,21 +226,6 @@ monitor_error (char *function, char *message,
message, safe_string);
}
-/* Convert hex digit A to a number. */
-
-static int
-fromhex (int a)
-{
- if (a >= '0' && a <= '9')
- return a - '0';
- else if (a >= 'a' && a <= 'f')
- return a - 'a' + 10;
- else if (a >= 'A' && a <= 'F')
- return a - 'A' + 10;
- else
- error (_("Invalid hex digit %d"), a);
-}
-
/* monitor_vsprintf - similar to vsprintf but handles 64-bit addresses
This function exists to get around the problem that many host platforms
diff --git a/gdb/nat/linux-btrace.c b/gdb/nat/linux-btrace.c
index e7aff5e4ad3..cd7f3d15500 100644
--- a/gdb/nat/linux-btrace.c
+++ b/gdb/nat/linux-btrace.c
@@ -30,8 +30,6 @@
#endif
#if HAVE_LINUX_PERF_EVENT_H && defined(SYS_perf_event_open)
-
-#include <stdint.h>
#include <unistd.h>
#include <sys/mman.h>
#include <sys/user.h>
diff --git a/gdb/nat/linux-btrace.h b/gdb/nat/linux-btrace.h
index 12cdcde596e..bb4a8c56407 100644
--- a/gdb/nat/linux-btrace.h
+++ b/gdb/nat/linux-btrace.h
@@ -24,8 +24,6 @@
#include "btrace-common.h"
#include "vec.h"
-#include <stdint.h>
-
#if HAVE_LINUX_PERF_EVENT_H
# include <linux/perf_event.h>
#endif
diff --git a/gdb/nat/linux-namespaces.c b/gdb/nat/linux-namespaces.c
new file mode 100644
index 00000000000..a7a3e4d9797
--- /dev/null
+++ b/gdb/nat/linux-namespaces.c
@@ -0,0 +1,1057 @@
+/* Linux namespaces(7) support.
+
+ Copyright (C) 2015 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 "common-defs.h"
+#include "nat/linux-namespaces.h"
+#include "filestuff.h"
+#include <fcntl.h>
+#include <sys/syscall.h>
+#include <sys/types.h>
+#include <sys/stat.h>
+#include <sys/socket.h>
+#include "gdb_wait.h"
+#include <signal.h>
+#include <sched.h>
+
+/* See nat/linux-namespaces.h. */
+int debug_linux_namespaces;
+
+/* Handle systems without setns. */
+
+#ifndef HAVE_SETNS
+static int
+setns (int fd, int nstype)
+{
+#ifdef __NR_setns
+ return syscall (__NR_setns, fd, nstype);
+#else
+ errno = ENOSYS;
+ return -1;
+#endif
+}
+#endif
+
+/* Handle systems without MSG_CMSG_CLOEXEC. */
+
+#ifndef MSG_CMSG_CLOEXEC
+#define MSG_CMSG_CLOEXEC 0
+#endif
+
+/* A Linux namespace. */
+
+struct linux_ns
+{
+ /* Filename of this namespace's entries in /proc/PID/ns. */
+ const char *filename;
+
+ /* Nonzero if this object has been initialized. */
+ int initialized;
+
+ /* Nonzero if this namespace is supported on this system. */
+ int supported;
+
+ /* ID of the namespace the calling process is in, used to
+ see if other processes share the namespace. The code in
+ this file assumes that the calling process never changes
+ namespace. */
+ ino_t id;
+};
+
+/* Return the absolute filename of process PID's /proc/PID/ns
+ entry for namespace NS. The returned value persists until
+ this function is next called. */
+
+static const char *
+linux_ns_filename (struct linux_ns *ns, int pid)
+{
+ static char filename[PATH_MAX];
+
+ gdb_assert (pid > 0);
+ xsnprintf (filename, sizeof (filename), "/proc/%d/ns/%s", pid,
+ ns->filename);
+
+ return filename;
+}
+
+/* Return a representation of the caller's TYPE namespace, or
+ NULL if TYPE namespaces are not supported on this system. */
+
+static struct linux_ns *
+linux_ns_get_namespace (enum linux_ns_type type)
+{
+ static struct linux_ns namespaces[NUM_LINUX_NS_TYPES] =
+ {
+ { "ipc" },
+ { "mnt" },
+ { "net" },
+ { "pid" },
+ { "user" },
+ { "uts" },
+ };
+ struct linux_ns *ns;
+
+ gdb_assert (type >= 0 && type < NUM_LINUX_NS_TYPES);
+ ns = &namespaces[type];
+
+ if (!ns->initialized)
+ {
+ struct stat sb;
+
+ if (stat (linux_ns_filename (ns, getpid ()), &sb) == 0)
+ {
+ ns->id = sb.st_ino;
+
+ ns->supported = 1;
+ }
+
+ ns->initialized = 1;
+ }
+
+ return ns->supported ? ns : NULL;
+}
+
+/* See nat/linux-namespaces.h. */
+
+int
+linux_ns_same (pid_t pid, enum linux_ns_type type)
+{
+ struct linux_ns *ns = linux_ns_get_namespace (type);
+ const char *filename;
+ struct stat sb;
+
+ /* If the kernel does not support TYPE namespaces then there's
+ effectively only one TYPE namespace that all processes on
+ the system share. */
+ if (ns == NULL)
+ return 1;
+
+ /* Stat PID's TYPE namespace entry to get the namespace ID. This
+ might fail if the process died, or if we don't have the right
+ permissions (though we should be attached by this time so this
+ seems unlikely). In any event, we can't make any decisions and
+ must throw. */
+ filename = linux_ns_filename (ns, pid);
+ if (stat (filename, &sb) != 0)
+ perror_with_name (filename);
+
+ return sb.st_ino == ns->id;
+}
+
+/* We need to use setns(2) to handle filesystem access in mount
+ namespaces other than our own, but this isn't permitted for
+ multithreaded processes. GDB is multithreaded when compiled
+ with Guile support, and may become multithreaded if compiled
+ with Python support. We deal with this by spawning a single-
+ threaded helper process to access mount namespaces other than
+ our own.
+
+ The helper process is started the first time a call to setns
+ is required. The main process (GDB or gdbserver) communicates
+ with the helper via sockets, passing file descriptors where
+ necessary using SCM_RIGHTS. Once started the helper process
+ runs until the main process terminates; when this happens the
+ helper will receive socket errors, notice that its parent died,
+ and exit accordingly (see mnsh_maybe_mourn_peer).
+
+ The protocol is that the main process sends a request in a
+ single message, and the helper replies to every message it
+ receives with a single-message response. If the helper
+ receives a message it does not understand it will reply with
+ a MNSH_MSG_ERROR message. The main process checks all
+ responses it receives with gdb_assert, so if the main process
+ receives something unexpected (which includes MNSH_MSG_ERROR)
+ the main process will call internal_error.
+
+ For avoidance of doubt, if the helper process receives a
+ message it doesn't handle it will reply with MNSH_MSG_ERROR.
+ If the main process receives MNSH_MSG_ERROR at any time then
+ it will call internal_error. If internal_error causes the
+ main process to exit, the helper will notice this and also
+ exit. The helper will not exit until the main process
+ terminates, so if the user continues through internal_error
+ the helper will still be there awaiting requests from the
+ main process.
+
+ Messages in both directions have the following payload:
+
+ - TYPE (enum mnsh_msg_type, always sent) - the message type.
+ - INT1 and
+ - INT2 (int, always sent, though not always used) - two
+ values whose meaning is message-type-dependent.
+ See enum mnsh_msg_type documentation below.
+ - FD (int, optional, sent using SCM_RIGHTS) - an open file
+ descriptor.
+ - BUF (unstructured data, optional) - some data with message-
+ type-dependent meaning.
+
+ Note that the helper process is the child of a call to fork,
+ so all code in the helper must be async-signal-safe. */
+
+/* Mount namespace helper message types. */
+
+enum mnsh_msg_type
+ {
+ /* A communication error occurred. Receipt of this message
+ by either end will cause an assertion failure in the main
+ process. */
+ MNSH_MSG_ERROR,
+
+ /* Requests, sent from the main process to the helper. */
+
+ /* A request that the helper call setns. Arguments should
+ be passed in FD and INT1. Helper should respond with a
+ MNSH_RET_INT. */
+ MNSH_REQ_SETNS,
+
+ /* 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
+ should respond with a MNSH_RET_FD. */
+ MNSH_REQ_OPEN,
+
+ /* A request that the helper call unlink. 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_INT. */
+ MNSH_REQ_UNLINK,
+
+ /* A request that the helper call readlink. 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_READLINK,
+
+ /* Responses, sent to the main process from the helper. */
+
+ /* Return an integer in INT1 and errno in INT2. */
+ MNSH_RET_INT,
+
+ /* Return a file descriptor in FD if one was opened or an
+ integer in INT1 otherwise. Return errno in INT2. */
+ MNSH_RET_FD,
+
+ /* Return an integer in INT1, errno in INT2, and optionally
+ some data in BUF. */
+ 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. */
+
+static void
+mnsh_debug_print_message (enum mnsh_msg_type type,
+ int fd, int int1, int int2,
+ const void *buf, int bufsiz)
+{
+ gdb_byte *c = (gdb_byte *) buf;
+ gdb_byte *cl = c + bufsiz;
+
+ switch (type)
+ {
+ case MNSH_MSG_ERROR:
+ debug_printf ("ERROR");
+ break;
+
+ case MNSH_REQ_SETNS:
+ debug_printf ("SETNS");
+ break;
+
+ case MNSH_REQ_OPEN:
+ debug_printf ("OPEN");
+ break;
+
+ case MNSH_REQ_UNLINK:
+ debug_printf ("UNLINK");
+ break;
+
+ case MNSH_REQ_READLINK:
+ debug_printf ("READLINK");
+ break;
+
+ case MNSH_RET_INT:
+ debug_printf ("INT");
+ break;
+
+ case MNSH_RET_FD:
+ debug_printf ("FD");
+ break;
+
+ case MNSH_RET_INTSTR:
+ debug_printf ("INTSTR");
+ break;
+
+ default:
+ debug_printf ("unknown-packet-%d", type);
+ }
+
+ debug_printf (" %d %d %d \"", fd, int1, int2);
+
+ for (; c < cl; c++)
+ debug_printf (*c >= ' ' && *c <= '~' ? "%c" : "\\%o", *c);
+
+ debug_printf ("\"");
+}
+
+/* Forward declaration. */
+
+static void mnsh_maybe_mourn_peer (void);
+
+/* Send a message. The argument SOCK is the file descriptor of the
+ sending socket, the other arguments are the payload to send.
+ Return the number of bytes sent on success. Return -1 on failure
+ and set errno appropriately. This function is called by both the
+ main process and the helper so must be async-signal-safe. */
+
+static ssize_t
+mnsh_send_message (int sock, enum mnsh_msg_type type,
+ int fd, int int1, int int2,
+ const void *buf, int bufsiz)
+{
+ struct msghdr msg;
+ struct iovec iov[4];
+ char fdbuf[CMSG_SPACE (sizeof (fd))];
+ ssize_t size;
+
+ /* Build the basic TYPE, INT1, INT2 message. */
+ memset (&msg, 0, sizeof (msg));
+ msg.msg_iov = iov;
+
+ iov[0].iov_base = &type;
+ iov[0].iov_len = sizeof (type);
+ iov[1].iov_base = &int1;
+ iov[1].iov_len = sizeof (int1);
+ iov[2].iov_base = &int2;
+ iov[2].iov_len = sizeof (int2);
+
+ msg.msg_iovlen = 3;
+
+ /* Append BUF if supplied. */
+ if (buf != NULL && bufsiz > 0)
+ {
+ iov[3].iov_base = alloca (bufsiz);
+ memcpy (iov[3].iov_base, buf, bufsiz);
+ iov[3].iov_len = bufsiz;
+
+ msg.msg_iovlen ++;
+ }
+
+ /* Attach FD if supplied. */
+ if (fd >= 0)
+ {
+ struct cmsghdr *cmsg;
+
+ msg.msg_control = fdbuf;
+ msg.msg_controllen = sizeof (fdbuf);
+
+ cmsg = CMSG_FIRSTHDR (&msg);
+ cmsg->cmsg_level = SOL_SOCKET;
+ cmsg->cmsg_type = SCM_RIGHTS;
+ cmsg->cmsg_len = CMSG_LEN (sizeof (int));
+
+ memcpy (CMSG_DATA (cmsg), &fd, sizeof (int));
+
+ msg.msg_controllen = cmsg->cmsg_len;
+ }
+
+ /* Send the message. */
+ size = sendmsg (sock, &msg, 0);
+
+ 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));
+ }
+
+ return size;
+}
+
+/* Receive a message. The argument SOCK is the file descriptor of
+ the receiving socket, the other arguments point to storage for
+ the received payload. Returns the number of bytes stored into
+ BUF on success, which may be zero in the event no BUF was sent.
+ Return -1 on failure and set errno appropriately. This function
+ is called from both the main process and the helper and must be
+ async-signal-safe. */
+
+static ssize_t
+mnsh_recv_message (int sock, enum mnsh_msg_type *type,
+ int *fd, int *int1, int *int2,
+ void *buf, int bufsiz)
+{
+ struct msghdr msg;
+ struct iovec iov[4];
+ char fdbuf[CMSG_SPACE (sizeof (*fd))];
+ struct cmsghdr *cmsg;
+ ssize_t size, fixed_size;
+ int i;
+
+ /* Build the message to receive data into. */
+ memset (&msg, 0, sizeof (msg));
+ msg.msg_iov = iov;
+
+ iov[0].iov_base = type;
+ iov[0].iov_len = sizeof (*type);
+ iov[1].iov_base = int1;
+ iov[1].iov_len = sizeof (*int1);
+ iov[2].iov_base = int2;
+ iov[2].iov_len = sizeof (*int2);
+ iov[3].iov_base = buf;
+ iov[3].iov_len = bufsiz;
+
+ msg.msg_iovlen = 4;
+
+ for (fixed_size = i = 0; i < msg.msg_iovlen - 1; i++)
+ fixed_size += iov[i].iov_len;
+
+ msg.msg_control = fdbuf;
+ msg.msg_controllen = sizeof (fdbuf);
+
+ /* Receive the message. */
+ size = recvmsg (sock, &msg, MSG_CMSG_CLOEXEC);
+ if (size < 0)
+ {
+ if (debug_linux_namespaces)
+ debug_printf ("namespace-helper: recv failed (%s)\n",
+ pulongest (size));
+
+ mnsh_maybe_mourn_peer ();
+
+ return size;
+ }
+
+ /* 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);
+
+ mnsh_maybe_mourn_peer ();
+
+ errno = EBADMSG;
+ return -1;
+ }
+
+ /* Unpack the file descriptor if supplied. */
+ cmsg = CMSG_FIRSTHDR (&msg);
+ if (cmsg != NULL
+ && cmsg->cmsg_len == CMSG_LEN (sizeof (int))
+ && cmsg->cmsg_level == SOL_SOCKET
+ && cmsg->cmsg_type == SCM_RIGHTS)
+ memcpy (fd, CMSG_DATA (cmsg), sizeof (int));
+ 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");
+ }
+
+ /* Return the number of bytes of data in BUF. */
+ return size - fixed_size;
+}
+
+/* Shortcuts for returning results from the helper. */
+
+#define mnsh_return_int(sock, result, error) \
+ mnsh_send_message (sock, MNSH_RET_INT, -1, result, error, NULL, 0)
+
+#define mnsh_return_fd(sock, fd, error) \
+ mnsh_send_message (sock, MNSH_RET_FD, \
+ (fd) < 0 ? -1 : (fd), \
+ (fd) < 0 ? (fd) : 0, \
+ error, NULL, 0)
+
+#define mnsh_return_intstr(sock, result, buf, bufsiz, error) \
+ mnsh_send_message (sock, MNSH_RET_INTSTR, -1, result, error, \
+ buf, bufsiz)
+
+/* Handle a MNSH_REQ_SETNS message. Must be async-signal-safe. */
+
+static ssize_t
+mnsh_handle_setns (int sock, int fd, int nstype)
+{
+ int result = setns (fd, nstype);
+
+ return mnsh_return_int (sock, result, errno);
+}
+
+/* Handle a MNSH_REQ_OPEN message. Must be async-signal-safe. */
+
+static ssize_t
+mnsh_handle_open (int sock, const char *filename,
+ int flags, mode_t mode)
+{
+ int fd = gdb_open_cloexec (filename, flags, mode);
+ ssize_t result = mnsh_return_fd (sock, fd, errno);
+
+ if (fd >= 0)
+ close (fd);
+
+ return result;
+}
+
+/* Handle a MNSH_REQ_UNLINK message. Must be async-signal-safe. */
+
+static ssize_t
+mnsh_handle_unlink (int sock, const char *filename)
+{
+ int result = unlink (filename);
+
+ return mnsh_return_int (sock, result, errno);
+}
+
+/* Handle a MNSH_REQ_READLINK message. Must be async-signal-safe. */
+
+static ssize_t
+mnsh_handle_readlink (int sock, const char *filename)
+{
+ char buf[PATH_MAX];
+ int len = readlink (filename, buf, sizeof (buf));
+
+ return mnsh_return_intstr (sock, len,
+ buf, len < 0 ? 0 : len,
+ errno);
+}
+
+/* The helper process. Never returns. Must be async-signal-safe. */
+
+static void mnsh_main (int sock) ATTRIBUTE_NORETURN;
+
+static void
+mnsh_main (int sock)
+{
+ while (1)
+ {
+ enum mnsh_msg_type type;
+ int fd, int1, int2;
+ char buf[PATH_MAX];
+ ssize_t size, response = -1;
+
+ size = mnsh_recv_message (sock, &type,
+ &fd, &int1, &int2,
+ buf, sizeof (buf));
+
+ if (size >= 0 && size < sizeof (buf))
+ {
+ switch (type)
+ {
+ case MNSH_REQ_SETNS:
+ if (fd > 0)
+ response = mnsh_handle_setns (sock, fd, int1);
+ break;
+
+ case MNSH_REQ_OPEN:
+ if (size > 0 && buf[size - 1] == '\0')
+ response = mnsh_handle_open (sock, buf, int1, int2);
+ break;
+
+ case MNSH_REQ_UNLINK:
+ if (size > 0 && buf[size - 1] == '\0')
+ response = mnsh_handle_unlink (sock, buf);
+ break;
+
+ case MNSH_REQ_READLINK:
+ if (size > 0 && buf[size - 1] == '\0')
+ response = mnsh_handle_readlink (sock, buf);
+ break;
+
+ default:
+ break; /* Handled below. */
+ }
+ }
+
+ /* Close any file descriptors we were passed. */
+ if (fd >= 0)
+ close (fd);
+
+ /* Can't handle this message, bounce it back. */
+ if (response < 0)
+ {
+ if (size < 0)
+ size = 0;
+
+ mnsh_send_message (sock, MNSH_MSG_ERROR,
+ -1, int1, int2, buf, size);
+ }
+ }
+}
+
+/* The mount namespace helper process. */
+
+struct linux_mnsh
+{
+ /* PID of helper. */
+ pid_t pid;
+
+ /* Socket for communication. */
+ int sock;
+
+ /* ID of the mount namespace the helper is currently in. */
+ ino_t nsid;
+};
+
+/* In the helper process this is set to the PID of the process that
+ created the helper (i.e. GDB or gdbserver). In the main process
+ this is set to zero. Used by mnsh_maybe_mourn_peer. */
+static int mnsh_creator_pid = 0;
+
+/* Return an object representing the mount namespace helper process.
+ If no mount namespace helper process has been started then start
+ one. Return NULL if no mount namespace helper process could be
+ started. */
+
+static struct linux_mnsh *
+linux_mntns_get_helper (void)
+{
+ static struct linux_mnsh *helper = NULL;
+
+ if (helper == NULL)
+ {
+ static struct linux_mnsh h;
+ struct linux_ns *ns;
+ pid_t helper_creator = getpid ();
+ int sv[2];
+
+ ns = linux_ns_get_namespace (LINUX_NS_MNT);
+ if (ns == NULL)
+ return NULL;
+
+ if (gdb_socketpair_cloexec (AF_UNIX, SOCK_STREAM, 0, sv) < 0)
+ return NULL;
+
+ h.pid = fork ();
+ if (h.pid < 0)
+ {
+ int saved_errno = errno;
+
+ close (sv[0]);
+ close (sv[1]);
+
+ errno = saved_errno;
+ return NULL;
+ }
+
+ if (h.pid == 0)
+ {
+ /* Child process. */
+ close (sv[0]);
+
+ mnsh_creator_pid = helper_creator;
+
+ /* Debug printing isn't async-signal-safe. */
+ debug_linux_namespaces = 0;
+
+ mnsh_main (sv[1]);
+ }
+
+ /* Parent process. */
+ close (sv[1]);
+
+ helper = &h;
+ helper->sock = sv[0];
+ helper->nsid = ns->id;
+
+ if (debug_linux_namespaces)
+ debug_printf ("Started mount namespace helper process %d\n",
+ helper->pid);
+ }
+
+ return helper;
+}
+
+/* Check whether the other process died and act accordingly. Called
+ whenever a socket error occurs, from both the main process and the
+ helper. Must be async-signal-safe when called from the helper. */
+
+static void
+mnsh_maybe_mourn_peer (void)
+{
+ if (mnsh_creator_pid != 0)
+ {
+ /* We're in the helper. Check if our current parent is the
+ process that started us. If it isn't, then our original
+ parent died and we've been reparented. Exit immediately
+ if that's the case. */
+ if (getppid () != mnsh_creator_pid)
+ _exit (0);
+ }
+ else
+ {
+ /* We're in the main process. */
+
+ struct linux_mnsh *helper = linux_mntns_get_helper ();
+ int status;
+ pid_t pid;
+
+ if (helper->pid < 0)
+ {
+ /* We already mourned it. */
+ return;
+ }
+
+ pid = waitpid (helper->pid, &status, WNOHANG);
+ if (pid == 0)
+ {
+ /* The helper is still alive. */
+ return;
+ }
+ else if (pid == -1)
+ {
+ if (errno == ECHILD)
+ warning (_("mount namespace helper vanished?"));
+ else
+ internal_warning (__FILE__, __LINE__,
+ _("unhandled error %d"), errno);
+ }
+ else if (pid == helper->pid)
+ {
+ if (WIFEXITED (status))
+ warning (_("mount namespace helper exited with status %d"),
+ WEXITSTATUS (status));
+ else if (WIFSIGNALED (status))
+ warning (_("mount namespace helper killed by signal %d"),
+ WTERMSIG (status));
+ else
+ internal_warning (__FILE__, __LINE__,
+ _("unhandled status %d"), status);
+ }
+ else
+ internal_warning (__FILE__, __LINE__,
+ _("unknown pid %d"), pid);
+
+ /* Something unrecoverable happened. */
+ helper->pid = -1;
+ }
+}
+
+/* Shortcuts for sending messages to the helper. */
+
+#define mnsh_send_setns(helper, fd, nstype) \
+ mnsh_send_message (helper->sock, MNSH_REQ_SETNS, fd, nstype, 0, \
+ NULL, 0)
+
+#define mnsh_send_open(helper, filename, flags, mode) \
+ mnsh_send_message (helper->sock, MNSH_REQ_OPEN, -1, flags, mode, \
+ 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)
+
+#define mnsh_send_readlink(helper, filename) \
+ mnsh_send_message (helper->sock, MNSH_REQ_READLINK, -1, 0, 0, \
+ filename, strlen (filename) + 1)
+
+/* Receive a message from the helper. Issue an assertion failure if
+ the message isn't a correctly-formatted MNSH_RET_INT. Set RESULT
+ and ERROR and return 0 on success. Set errno and return -1 on
+ failure. */
+
+static int
+mnsh_recv_int (struct linux_mnsh *helper, int *result, int *error)
+{
+ enum mnsh_msg_type type;
+ char buf[PATH_MAX];
+ ssize_t size;
+ int fd;
+
+ size = mnsh_recv_message (helper->sock, &type, &fd,
+ result, error,
+ buf, sizeof (buf));
+ if (size < 0)
+ return -1;
+
+ gdb_assert (type == MNSH_RET_INT);
+ gdb_assert (fd == -1);
+ gdb_assert (size == 0);
+
+ return 0;
+}
+
+/* Receive a message from the helper. Issue an assertion failure if
+ the message isn't a correctly-formatted MNSH_RET_FD. Set FD and
+ ERROR and return 0 on success. Set errno and return -1 on
+ failure. */
+
+static int
+mnsh_recv_fd (struct linux_mnsh *helper, int *fd, int *error)
+{
+ enum mnsh_msg_type type;
+ char buf[PATH_MAX];
+ ssize_t size;
+ int result;
+
+ size = mnsh_recv_message (helper->sock, &type, fd,
+ &result, error,
+ buf, sizeof (buf));
+ if (size < 0)
+ return -1;
+
+ gdb_assert (type == MNSH_RET_FD);
+ gdb_assert (size == 0);
+
+ if (*fd < 0)
+ {
+ gdb_assert (result < 0);
+ *fd = result;
+ }
+
+ return 0;
+}
+
+/* Receive a message from the helper. Issue an assertion failure if
+ the message isn't a correctly-formatted MNSH_RET_INTSTR. Set
+ RESULT and ERROR and optionally store data in BUF, then return
+ the number of bytes stored in BUF on success (this may be zero).
+ Set errno and return -1 on error. */
+
+static ssize_t
+mnsh_recv_intstr (struct linux_mnsh *helper,
+ int *result, int *error,
+ void *buf, int bufsiz)
+{
+ enum mnsh_msg_type type;
+ ssize_t size;
+ int fd;
+
+ size = mnsh_recv_message (helper->sock, &type, &fd,
+ result, error,
+ buf, bufsiz);
+
+ if (size < 0)
+ return -1;
+
+ gdb_assert (type == MNSH_RET_INTSTR);
+ gdb_assert (fd == -1);
+
+ return size;
+}
+
+/* Return values for linux_mntns_access_fs. */
+
+enum mnsh_fs_code
+ {
+ /* Something went wrong, errno is set. */
+ MNSH_FS_ERROR = -1,
+
+ /* The main process is in the correct mount namespace.
+ The caller should access the filesystem directly. */
+ MNSH_FS_DIRECT,
+
+ /* The helper is in the correct mount namespace.
+ The caller should access the filesystem via the helper. */
+ MNSH_FS_HELPER
+ };
+
+/* Return a value indicating how the caller should access the
+ mount namespace of process PID. */
+
+static enum mnsh_fs_code
+linux_mntns_access_fs (pid_t pid)
+{
+ struct cleanup *old_chain;
+ struct linux_ns *ns;
+ struct stat sb;
+ struct linux_mnsh *helper;
+ ssize_t size;
+ int fd, saved_errno;
+
+ if (pid == getpid ())
+ return MNSH_FS_DIRECT;
+
+ ns = linux_ns_get_namespace (LINUX_NS_MNT);
+ if (ns == NULL)
+ return MNSH_FS_DIRECT;
+
+ old_chain = make_cleanup (null_cleanup, NULL);
+
+ fd = gdb_open_cloexec (linux_ns_filename (ns, pid), O_RDONLY, 0);
+ if (fd < 0)
+ goto error;
+
+ old_chain = make_cleanup_close (fd);
+
+ if (fstat (fd, &sb) != 0)
+ goto error;
+
+ if (sb.st_ino == ns->id)
+ {
+ do_cleanups (old_chain);
+
+ return MNSH_FS_DIRECT;
+ }
+
+ helper = linux_mntns_get_helper ();
+ if (helper == NULL)
+ goto error;
+
+ if (sb.st_ino != helper->nsid)
+ {
+ int result, error;
+
+ size = mnsh_send_setns (helper, fd, 0);
+ if (size < 0)
+ goto error;
+
+ if (mnsh_recv_int (helper, &result, &error) != 0)
+ goto error;
+
+ if (result != 0)
+ {
+ /* ENOSYS indicates that an entire function is unsupported
+ (it's not appropriate for our versions of open/unlink/
+ readlink to sometimes return with ENOSYS depending on how
+ they're called) so we convert ENOSYS to ENOTSUP if setns
+ fails. */
+ if (error == ENOSYS)
+ error = ENOTSUP;
+
+ errno = error;
+ goto error;
+ }
+
+ helper->nsid = sb.st_ino;
+ }
+
+ do_cleanups (old_chain);
+
+ return MNSH_FS_HELPER;
+
+error:
+ saved_errno = errno;
+
+ do_cleanups (old_chain);
+
+ errno = saved_errno;
+ return MNSH_FS_ERROR;
+}
+
+/* See nat/linux-namespaces.h. */
+
+int
+linux_mntns_open_cloexec (pid_t pid, const char *filename,
+ int flags, mode_t mode)
+{
+ enum mnsh_fs_code access = linux_mntns_access_fs (pid);
+ struct linux_mnsh *helper;
+ int fd, error;
+ ssize_t size;
+
+ if (access == MNSH_FS_ERROR)
+ return -1;
+
+ if (access == MNSH_FS_DIRECT)
+ return gdb_open_cloexec (filename, flags, mode);
+
+ gdb_assert (access == MNSH_FS_HELPER);
+
+ helper = linux_mntns_get_helper ();
+
+ size = mnsh_send_open (helper, filename, flags, mode);
+ if (size < 0)
+ return -1;
+
+ if (mnsh_recv_fd (helper, &fd, &error) != 0)
+ return -1;
+
+ if (fd < 0)
+ errno = error;
+
+ return fd;
+}
+
+/* See nat/linux-namespaces.h. */
+
+int
+linux_mntns_unlink (pid_t pid, const char *filename)
+{
+ enum mnsh_fs_code access = linux_mntns_access_fs (pid);
+ struct linux_mnsh *helper;
+ int ret, error;
+ ssize_t size;
+
+ if (access == MNSH_FS_ERROR)
+ return -1;
+
+ if (access == MNSH_FS_DIRECT)
+ return unlink (filename);
+
+ gdb_assert (access == MNSH_FS_HELPER);
+
+ helper = linux_mntns_get_helper ();
+
+ size = mnsh_send_unlink (helper, filename);
+ if (size < 0)
+ return -1;
+
+ if (mnsh_recv_int (helper, &ret, &error) != 0)
+ return -1;
+
+ if (ret != 0)
+ errno = error;
+
+ return ret;
+}
+
+/* See nat/linux-namespaces.h. */
+
+ssize_t
+linux_mntns_readlink (pid_t pid, const char *filename,
+ char *buf, size_t bufsiz)
+{
+ enum mnsh_fs_code access = linux_mntns_access_fs (pid);
+ struct linux_mnsh *helper;
+ int ret, error;
+ ssize_t size;
+
+ if (access == MNSH_FS_ERROR)
+ return -1;
+
+ if (access == MNSH_FS_DIRECT)
+ return readlink (filename, buf, bufsiz);
+
+ gdb_assert (access == MNSH_FS_HELPER);
+
+ helper = linux_mntns_get_helper ();
+
+ size = mnsh_send_readlink (helper, filename);
+ if (size < 0)
+ return -1;
+
+ size = mnsh_recv_intstr (helper, &ret, &error, buf, bufsiz);
+
+ if (size < 0)
+ {
+ ret = -1;
+ errno = error;
+ }
+ else
+ gdb_assert (size == ret);
+
+ return ret;
+}
diff --git a/gdb/nat/linux-namespaces.h b/gdb/nat/linux-namespaces.h
new file mode 100644
index 00000000000..f9adc07d2ab
--- /dev/null
+++ b/gdb/nat/linux-namespaces.h
@@ -0,0 +1,76 @@
+/* Linux namespaces(7) support.
+
+ Copyright (C) 2015 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 LINUX_NAMESPACES_H
+#define LINUX_NAMESPACES_H
+
+/* Set to nonzero to enable debugging of Linux namespaces code. */
+
+extern int debug_linux_namespaces;
+
+/* Enumeration of Linux namespace types. */
+
+enum linux_ns_type
+ {
+ /* IPC namespace: System V IPC, POSIX message queues. */
+ LINUX_NS_IPC,
+
+ /* Mount namespace: mount points. */
+ LINUX_NS_MNT,
+
+ /* Network namespace: network devices, stacks, ports, etc. */
+ LINUX_NS_NET,
+
+ /* PID namespace: process IDs. */
+ LINUX_NS_PID,
+
+ /* User namespace: user and group IDs. */
+ LINUX_NS_USER,
+
+ /* UTS namespace: hostname and NIS domain name. */
+ LINUX_NS_UTS,
+
+ /* Number of Linux namespaces. */
+ NUM_LINUX_NS_TYPES
+ };
+
+/* Return nonzero if process PID has the same TYPE namespace as the
+ calling process, or if the kernel does not support TYPE namespaces
+ (in which case there is only one TYPE namespace). Return zero if
+ the kernel supports TYPE namespaces and the two processes have
+ different TYPE namespaces. */
+
+extern int linux_ns_same (pid_t pid, enum linux_ns_type type);
+
+/* Like gdb_open_cloexec, but in the mount namespace of process
+ PID. */
+
+extern int linux_mntns_open_cloexec (pid_t pid, const char *filename,
+ int flags, mode_t mode);
+
+/* Like unlink(2), but in the mount namespace of process PID. */
+
+extern int linux_mntns_unlink (pid_t pid, const char *filename);
+
+/* Like readlink(2), but in the mount namespace of process PID. */
+
+extern ssize_t linux_mntns_readlink (pid_t pid, const char *filename,
+ char *buf, size_t bufsiz);
+
+#endif /* LINUX_NAMESPACES_H */
diff --git a/gdb/nat/linux-procfs.c b/gdb/nat/linux-procfs.c
index 44364c5fbbd..24bcb019a39 100644
--- a/gdb/nat/linux-procfs.c
+++ b/gdb/nat/linux-procfs.c
@@ -185,25 +185,6 @@ linux_proc_pid_is_zombie (pid_t pid)
return linux_proc_pid_is_zombie_maybe_warn (pid, 1);
}
-/* See linux-procfs.h declaration. */
-
-char *
-linux_proc_pid_get_ns (pid_t pid, const char *ns)
-{
- char buf[100];
- char nsval[64];
- int ret;
- xsnprintf (buf, sizeof (buf), "/proc/%d/ns/%s", (int) pid, ns);
- ret = readlink (buf, nsval, sizeof (nsval));
- if (0 < ret && ret < sizeof (nsval))
- {
- nsval[ret] = '\0';
- return xstrdup (nsval);
- }
-
- return NULL;
-}
-
/* See linux-procfs.h. */
void
diff --git a/gdb/nat/linux-procfs.h b/gdb/nat/linux-procfs.h
index fdbf3838135..f9cad39562c 100644
--- a/gdb/nat/linux-procfs.h
+++ b/gdb/nat/linux-procfs.h
@@ -54,12 +54,6 @@ extern int linux_proc_pid_is_zombie_nowarn (pid_t pid);
extern int linux_proc_pid_is_gone (pid_t pid);
-/* Return an opaque string identifying PID's NS namespace or NULL if
- * the information is unavailable. The returned string must be
- * released with xfree. */
-
-extern char *linux_proc_pid_get_ns (pid_t pid, const char *ns);
-
/* Callback function for linux_proc_attach_tgid_threads. If the PTID
thread is not yet known, try to attach to it and return true,
otherwise return false. */
diff --git a/gdb/nat/linux-ptrace.c b/gdb/nat/linux-ptrace.c
index fb126060001..1a926f93156 100644
--- a/gdb/nat/linux-ptrace.c
+++ b/gdb/nat/linux-ptrace.c
@@ -23,8 +23,6 @@
#include "buffer.h"
#include "gdb_wait.h"
-#include <stdint.h>
-
/* Stores the ptrace options supported by the running kernel.
A value of -1 means we did not check for features yet. A value
of 0 means there are no supported features. */
diff --git a/gdb/nat/linux-ptrace.h b/gdb/nat/linux-ptrace.h
index 1db0cde128a..be6c39528c9 100644
--- a/gdb/nat/linux-ptrace.h
+++ b/gdb/nat/linux-ptrace.h
@@ -43,6 +43,14 @@ struct buffer;
# define PTRACE_SETSIGINFO 0x4203
#endif /* PTRACE_GETSIGINF */
+#ifndef PTRACE_GETREGSET
+#define PTRACE_GETREGSET 0x4204
+#endif
+
+#ifndef PTRACE_SETREGSET
+#define PTRACE_SETREGSET 0x4205
+#endif
+
/* If the system headers did not provide the constants, hard-code the normal
values. */
#ifndef PTRACE_EVENT_FORK
diff --git a/gdb/nat/mips-linux-watch.h b/gdb/nat/mips-linux-watch.h
index 571cde4d351..10ed6ba574c 100644
--- a/gdb/nat/mips-linux-watch.h
+++ b/gdb/nat/mips-linux-watch.h
@@ -19,8 +19,6 @@
#define MIPS_LINUX_WATCH_H 1
#include <asm/ptrace.h>
-#include <stdint.h>
-
#include "break-common.h"
#define MAX_DEBUG_REGISTER 8
diff --git a/gdb/nios2-tdep.c b/gdb/nios2-tdep.c
index 988b9fc3a97..1968a88a9f6 100644
--- a/gdb/nios2-tdep.c
+++ b/gdb/nios2-tdep.c
@@ -658,10 +658,10 @@ nios2_in_epilogue_p (struct gdbarch *gdbarch,
return 0;
}
-/* Implement the in_function_epilogue_p gdbarch method. */
+/* Implement the stack_frame_destroyed_p gdbarch method. */
static int
-nios2_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+nios2_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
CORE_ADDR func_addr;
@@ -1775,7 +1775,7 @@ nios2_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_return_value (gdbarch, nios2_return_value);
set_gdbarch_skip_prologue (gdbarch, nios2_skip_prologue);
- set_gdbarch_in_function_epilogue_p (gdbarch, nios2_in_function_epilogue_p);
+ set_gdbarch_stack_frame_destroyed_p (gdbarch, nios2_stack_frame_destroyed_p);
set_gdbarch_breakpoint_from_pc (gdbarch, nios2_breakpoint_from_pc);
set_gdbarch_dummy_id (gdbarch, nios2_dummy_id);
diff --git a/gdb/osabi.c b/gdb/osabi.c
index 9d90c55959b..3581eb334c4 100644
--- a/gdb/osabi.c
+++ b/gdb/osabi.c
@@ -134,7 +134,7 @@ osabi_from_tdesc_string (const char *name)
/* Handler for a given architecture/OS ABI pair. There should be only
one handler for a given OS ABI each architecture family. */
-struct gdb_osabi_handler
+struct gdb_osabi_handler
{
struct gdb_osabi_handler *next;
const struct bfd_arch_info *arch_info;
@@ -147,7 +147,7 @@ static struct gdb_osabi_handler *gdb_osabi_handler_list;
void
gdbarch_register_osabi (enum bfd_architecture arch, unsigned long machine,
enum gdb_osabi osabi,
- void (*init_osabi)(struct gdbarch_info,
+ void (*init_osabi)(struct gdbarch_info,
struct gdbarch *))
{
struct gdb_osabi_handler **handler_p;
@@ -160,7 +160,7 @@ gdbarch_register_osabi (enum bfd_architecture arch, unsigned long machine,
internal_error
(__FILE__, __LINE__,
_("gdbarch_register_osabi: An attempt to register a handler for "
- "OS ABI \"%s\" for architecture %s was made. The handler will "
+ "OS ABI \"%s\" for architecture %s was made. The handler will "
"not be registered"),
gdbarch_osabi_name (osabi),
bfd_printable_arch_mach (arch, machine));
@@ -223,7 +223,7 @@ static struct gdb_osabi_sniffer *gdb_osabi_sniffer_list;
void
gdbarch_register_osabi_sniffer (enum bfd_architecture arch,
- enum bfd_flavour flavour,
+ enum bfd_flavour flavour,
enum gdb_osabi (*sniffer_fn)(bfd *))
{
struct gdb_osabi_sniffer *sniffer;
@@ -253,7 +253,7 @@ gdbarch_lookup_osabi (bfd *abfd)
/* If we don't have a binary, just return unknown. The caller may
have other sources the OSABI can be extracted from, e.g., the
target description. */
- if (abfd == NULL)
+ if (abfd == NULL)
return GDB_OSABI_UNKNOWN;
match = GDB_OSABI_UNKNOWN;
@@ -289,15 +289,15 @@ gdbarch_lookup_osabi (bfd *abfd)
|| (!match_specific && sniffer->arch == bfd_arch_unknown))
{
internal_error
- (__FILE__, __LINE__,
- _("gdbarch_lookup_osabi: multiple %sspecific OS ABI "
+ (__FILE__, __LINE__,
+ _("gdbarch_lookup_osabi: multiple %sspecific OS ABI "
"match for architecture %s flavour %d: first "
"match \"%s\", second match \"%s\""),
match_specific ? "" : "non-",
- bfd_printable_arch_mach (bfd_get_arch (abfd), 0),
- (int) bfd_get_flavour (abfd),
- gdbarch_osabi_name (match),
- gdbarch_osabi_name (osabi));
+ bfd_printable_arch_mach (bfd_get_arch (abfd), 0),
+ (int) bfd_get_flavour (abfd),
+ gdbarch_osabi_name (match),
+ gdbarch_osabi_name (osabi));
}
else if (sniffer->arch != bfd_arch_unknown)
{
@@ -345,7 +345,7 @@ gdbarch_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch)
if (info.osabi == GDB_OSABI_UNKNOWN)
{
/* Don't complain about an unknown OSABI. Assume the user knows
- what they are doing. */
+ what they are doing. */
return;
}
@@ -356,25 +356,25 @@ gdbarch_init_osabi (struct gdbarch_info info, struct gdbarch *gdbarch)
continue;
/* If the architecture described by ARCH_INFO can run code for
- the architcture we registered the handler for, then the
- handler is applicable. Note, though, that if the handler is
- for an architecture that is a superset of ARCH_INFO, we can't
- use that --- it would be perfectly correct for it to install
- gdbarch methods that refer to registers / instructions /
- other facilities ARCH_INFO doesn't have.
-
- NOTE: kettenis/20021027: There may be more than one machine
+ the architcture we registered the handler for, then the
+ handler is applicable. Note, though, that if the handler is
+ for an architecture that is a superset of ARCH_INFO, we can't
+ use that --- it would be perfectly correct for it to install
+ gdbarch methods that refer to registers / instructions /
+ other facilities ARCH_INFO doesn't have.
+
+ NOTE: kettenis/20021027: There may be more than one machine
type that is compatible with the desired machine type. Right
now we simply return the first match, which is fine for now.
However, we might want to do something smarter in the future. */
/* NOTE: cagney/2003-10-23: The code for "a can_run_code_for b"
- is implemented using BFD's compatible method (a->compatible
- (b) == a -- the lowest common denominator between a and b is
- a). That method's definition of compatible may not be as you
- expect. For instance the test "amd64 can run code for i386"
- (or more generally "64-bit ISA can run code for the 32-bit
- ISA"). BFD doesn't normally consider 32-bit and 64-bit
- "compatible" so it doesn't succeed. */
+ is implemented using BFD's compatible method (a->compatible
+ (b) == a -- the lowest common denominator between a and b is
+ a). That method's definition of compatible may not be as you
+ expect. For instance the test "amd64 can run code for i386"
+ (or more generally "64-bit ISA can run code for the 32-bit
+ ISA"). BFD doesn't normally consider 32-bit and 64-bit
+ "compatible" so it doesn't succeed. */
if (can_run_code_for (info.bfd_arch_info, handler->arch_info))
{
(*handler->init_osabi) (info, gdbarch);
@@ -493,10 +493,8 @@ generic_elf_osabi_sniff_abi_tag_sections (bfd *abfd, asection *sect, void *obj)
break;
default:
- internal_error (__FILE__, __LINE__,
- _("generic_elf_osabi_sniff_abi_tag_sections: "
- "unknown OS number %d"),
- abi_tag);
+ warning (_("GNU ABI tag value %u unrecognized."), abi_tag);
+ break;
}
return;
}
@@ -512,7 +510,7 @@ generic_elf_osabi_sniff_abi_tag_sections (bfd *abfd, asection *sect, void *obj)
return;
}
-
+
/* .note.netbsd.ident notes, used by NetBSD. */
if (strcmp (name, ".note.netbsd.ident") == 0
&& check_note (abfd, sect, note, &sectsize, "NetBSD", 4, NT_NETBSD_IDENT))
@@ -553,13 +551,13 @@ generic_elf_osabi_sniffer (bfd *abfd)
case ELFOSABI_NONE:
case ELFOSABI_GNU:
/* When the EI_OSABI field in the ELF header is ELFOSABI_NONE
- (0), then the ELF structures in the file are conforming to
- the base specification for that machine (there are no
- OS-specific extensions). In order to determine the real OS
- in use, we must look for OS-specific notes.
+ (0), then the ELF structures in the file are conforming to
+ the base specification for that machine (there are no
+ OS-specific extensions). In order to determine the real OS
+ in use, we must look for OS-specific notes.
- The same applies for ELFOSABI_GNU: this can mean GNU/Hurd,
- GNU/Linux, and possibly more. */
+ The same applies for ELFOSABI_GNU: this can mean GNU/Hurd,
+ GNU/Linux, and possibly more. */
bfd_map_over_sections (abfd,
generic_elf_osabi_sniff_abi_tag_sections,
&osabi);
@@ -579,9 +577,9 @@ generic_elf_osabi_sniffer (bfd *abfd)
case ELFOSABI_HPUX:
/* For some reason the default value for the EI_OSABI field is
- ELFOSABI_HPUX for all PA-RISC targets (with the exception of
- GNU/Linux). We use HP-UX ELF as the default, but let any
- OS-specific notes override this. */
+ ELFOSABI_HPUX for all PA-RISC targets (with the exception of
+ GNU/Linux). We use HP-UX ELF as the default, but let any
+ OS-specific notes override this. */
osabi = GDB_OSABI_HPUX_ELF;
bfd_map_over_sections (abfd,
generic_elf_osabi_sniff_abi_tag_sections,
@@ -596,8 +594,8 @@ generic_elf_osabi_sniffer (bfd *abfd)
if (osabi == GDB_OSABI_UNKNOWN)
{
/* The FreeBSD folks have been naughty; they stored the string
- "FreeBSD" in the padding of the e_ident field of the ELF
- header to "brand" their ELF binaries in FreeBSD 3.x. */
+ "FreeBSD" in the padding of the e_ident field of the ELF
+ header to "brand" their ELF binaries in FreeBSD 3.x. */
if (memcmp (&elf_elfheader (abfd)->e_ident[8],
"FreeBSD", sizeof ("FreeBSD")) == 0)
osabi = GDB_OSABI_FREEBSD_ELF;
diff --git a/gdb/ppc-linux-nat.c b/gdb/ppc-linux-nat.c
index 88ca49e3d44..4ed03d0204d 100644
--- a/gdb/ppc-linux-nat.c
+++ b/gdb/ppc-linux-nat.c
@@ -26,8 +26,6 @@
#include "regcache.h"
#include "target.h"
#include "linux-nat.h"
-
-#include <stdint.h>
#include <sys/types.h>
#include <signal.h>
#include <sys/user.h>
diff --git a/gdb/ppc-linux-tdep.c b/gdb/ppc-linux-tdep.c
index 3849ca665c9..4bdd13e2b0b 100644
--- a/gdb/ppc-linux-tdep.c
+++ b/gdb/ppc-linux-tdep.c
@@ -1801,8 +1801,6 @@ ppc_linux_init_abi (struct gdbarch_info info,
set_gdbarch_displaced_step_location (gdbarch,
linux_displaced_step_location);
- set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
-
/* Support reverse debugging. */
set_gdbarch_process_record (gdbarch, ppc_process_record);
set_gdbarch_process_record_signal (gdbarch, ppc_linux_record_signal);
diff --git a/gdb/ppc-sysv-tdep.c b/gdb/ppc-sysv-tdep.c
index 6487bec906b..ea98c6ebed5 100644
--- a/gdb/ppc-sysv-tdep.c
+++ b/gdb/ppc-sysv-tdep.c
@@ -1892,7 +1892,8 @@ ppc64_sysv_abi_return_value_base (struct gdbarch *gdbarch, struct type *valtype,
}
/* AltiVec vectors are returned in VRs starting at v2. */
- if (TYPE_CODE (valtype) == TYPE_CODE_ARRAY && TYPE_VECTOR (valtype)
+ if (TYPE_LENGTH (valtype) == 16
+ && TYPE_CODE (valtype) == TYPE_CODE_ARRAY && TYPE_VECTOR (valtype)
&& tdep->vector_abi == POWERPC_VEC_ALTIVEC)
{
int regnum = tdep->ppc_vr0_regnum + 2 + index;
@@ -1904,6 +1905,25 @@ ppc64_sysv_abi_return_value_base (struct gdbarch *gdbarch, struct type *valtype,
return 1;
}
+ /* Short vectors are returned in GPRs starting at r3. */
+ if (TYPE_LENGTH (valtype) <= 8
+ && TYPE_CODE (valtype) == TYPE_CODE_ARRAY && TYPE_VECTOR (valtype))
+ {
+ int regnum = tdep->ppc_gp0_regnum + 3 + index;
+ int offset = 0;
+
+ if (gdbarch_byte_order (gdbarch) == BFD_ENDIAN_BIG)
+ offset = 8 - TYPE_LENGTH (valtype);
+
+ if (writebuf != NULL)
+ regcache_cooked_write_part (regcache, regnum,
+ offset, TYPE_LENGTH (valtype), writebuf);
+ if (readbuf != NULL)
+ regcache_cooked_read_part (regcache, regnum,
+ offset, TYPE_LENGTH (valtype), readbuf);
+ return 1;
+ }
+
return 0;
}
@@ -1993,6 +2013,7 @@ ppc64_sysv_abi_return_value (struct gdbarch *gdbarch, struct value *function,
/* Small character arrays are returned, right justified, in r3. */
if (TYPE_CODE (valtype) == TYPE_CODE_ARRAY
+ && !TYPE_VECTOR (valtype)
&& TYPE_LENGTH (valtype) <= 8
&& TYPE_CODE (TYPE_TARGET_TYPE (valtype)) == TYPE_CODE_INT
&& TYPE_LENGTH (TYPE_TARGET_TYPE (valtype)) == 1)
@@ -2012,7 +2033,13 @@ ppc64_sysv_abi_return_value (struct gdbarch *gdbarch, struct value *function,
/* In the ELFv2 ABI, homogeneous floating-point or vector
aggregates are returned in registers. */
if (tdep->elf_abi == POWERPC_ELF_V2
- && ppc64_elfv2_abi_homogeneous_aggregate (valtype, &eltype, &nelt))
+ && ppc64_elfv2_abi_homogeneous_aggregate (valtype, &eltype, &nelt)
+ && (TYPE_CODE (eltype) == TYPE_CODE_FLT
+ || TYPE_CODE (eltype) == TYPE_CODE_DECFLOAT
+ || (TYPE_CODE (eltype) == TYPE_CODE_ARRAY
+ && TYPE_VECTOR (eltype)
+ && tdep->vector_abi == POWERPC_VEC_ALTIVEC
+ && TYPE_LENGTH (eltype) == 16)))
{
for (i = 0; i < nelt; i++)
{
diff --git a/gdb/printcmd.c b/gdb/printcmd.c
index deb501ae7cf..a739a892e7c 100644
--- a/gdb/printcmd.c
+++ b/gdb/printcmd.c
@@ -52,17 +52,6 @@
#include "tui/tui.h" /* For tui_active et al. */
#endif
-struct format_data
- {
- int count;
- char format;
- char size;
-
- /* True if the value should be printed raw -- that is, bypassing
- python-based formatters. */
- unsigned char raw;
- };
-
/* Last specified output format. */
static char last_format = 0;
@@ -939,6 +928,57 @@ validate_format (struct format_data fmt, const char *cmdname)
fmt.format, cmdname);
}
+/* Parse print command format string into *FMTP and update *EXPP.
+ CMDNAME should name the current command. */
+
+void
+print_command_parse_format (const char **expp, const char *cmdname,
+ struct format_data *fmtp)
+{
+ const char *exp = *expp;
+
+ if (exp && *exp == '/')
+ {
+ exp++;
+ *fmtp = decode_format (&exp, last_format, 0);
+ validate_format (*fmtp, cmdname);
+ last_format = fmtp->format;
+ }
+ else
+ {
+ fmtp->count = 1;
+ fmtp->format = 0;
+ fmtp->size = 0;
+ fmtp->raw = 0;
+ }
+
+ *expp = exp;
+}
+
+/* Print VAL to console according to *FMTP, including recording it to
+ the history. */
+
+void
+print_value (struct value *val, const struct format_data *fmtp)
+{
+ struct value_print_options opts;
+ int histindex = record_latest_value (val);
+
+ annotate_value_history_begin (histindex, value_type (val));
+
+ printf_filtered ("$%d = ", histindex);
+
+ annotate_value_history_value ();
+
+ get_formatted_print_options (&opts, fmtp->format);
+ opts.raw = fmtp->raw;
+
+ print_formatted (val, fmtp->size, &opts, gdb_stdout);
+ printf_filtered ("\n");
+
+ annotate_value_history_end ();
+}
+
/* Evaluate string EXP as an expression in the current language and
print the resulting value. EXP may contain a format specifier as the
first argument ("/x myvar" for example, to print myvar in hex). */
@@ -948,24 +988,10 @@ print_command_1 (const char *exp, int voidprint)
{
struct expression *expr;
struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
- char format = 0;
struct value *val;
struct format_data fmt;
- if (exp && *exp == '/')
- {
- exp++;
- fmt = decode_format (&exp, last_format, 0);
- validate_format (fmt, "print");
- last_format = format = fmt.format;
- }
- else
- {
- fmt.count = 1;
- fmt.format = 0;
- fmt.size = 0;
- fmt.raw = 0;
- }
+ print_command_parse_format (&exp, "print", &fmt);
if (exp && *exp)
{
@@ -978,24 +1004,7 @@ print_command_1 (const char *exp, int voidprint)
if (voidprint || (val && value_type (val) &&
TYPE_CODE (value_type (val)) != TYPE_CODE_VOID))
- {
- struct value_print_options opts;
- int histindex = record_latest_value (val);
-
- annotate_value_history_begin (histindex, value_type (val));
-
- printf_filtered ("$%d = ", histindex);
-
- annotate_value_history_value ();
-
- get_formatted_print_options (&opts, format);
- opts.raw = fmt.raw;
-
- print_formatted (val, fmt.size, &opts, gdb_stdout);
- printf_filtered ("\n");
-
- annotate_value_history_end ();
- }
+ print_value (val, &fmt);
do_cleanups (old_chain);
}
@@ -1497,61 +1506,50 @@ display_command (char *arg, int from_tty)
struct format_data fmt;
struct expression *expr;
struct display *newobj;
- int display_it = 1;
const char *exp = arg;
-#if defined(TUI)
- /* NOTE: cagney/2003-02-13 The `tui_active' was previously
- `tui_version'. */
- if (tui_active && exp != NULL && *exp == '$')
- display_it = (tui_set_layout_for_display_command (exp) == TUI_FAILURE);
-#endif
-
- if (display_it)
+ if (exp == 0)
{
- if (exp == 0)
- {
- do_displays ();
- return;
- }
+ do_displays ();
+ return;
+ }
- if (*exp == '/')
- {
- exp++;
- fmt = decode_format (&exp, 0, 0);
- if (fmt.size && fmt.format == 0)
- fmt.format = 'x';
- if (fmt.format == 'i' || fmt.format == 's')
- fmt.size = 'b';
- }
- else
- {
- fmt.format = 0;
- fmt.size = 0;
- fmt.count = 0;
- fmt.raw = 0;
- }
+ if (*exp == '/')
+ {
+ exp++;
+ fmt = decode_format (&exp, 0, 0);
+ if (fmt.size && fmt.format == 0)
+ fmt.format = 'x';
+ if (fmt.format == 'i' || fmt.format == 's')
+ fmt.size = 'b';
+ }
+ else
+ {
+ fmt.format = 0;
+ fmt.size = 0;
+ fmt.count = 0;
+ fmt.raw = 0;
+ }
- innermost_block = NULL;
- expr = parse_expression (exp);
+ innermost_block = NULL;
+ expr = parse_expression (exp);
- newobj = (struct display *) xmalloc (sizeof (struct display));
+ newobj = (struct display *) xmalloc (sizeof (struct display));
- newobj->exp_string = xstrdup (exp);
- newobj->exp = expr;
- newobj->block = innermost_block;
- newobj->pspace = current_program_space;
- newobj->next = display_chain;
- newobj->number = ++display_number;
- newobj->format = fmt;
- newobj->enabled_p = 1;
- display_chain = newobj;
+ newobj->exp_string = xstrdup (exp);
+ newobj->exp = expr;
+ newobj->block = innermost_block;
+ newobj->pspace = current_program_space;
+ newobj->next = display_chain;
+ newobj->number = ++display_number;
+ newobj->format = fmt;
+ newobj->enabled_p = 1;
+ display_chain = newobj;
- if (from_tty)
- do_one_display (newobj);
+ if (from_tty)
+ do_one_display (newobj);
- dont_repeat ();
- }
+ dont_repeat ();
}
static void
diff --git a/gdb/psympriv.h b/gdb/psympriv.h
index 9daddea6d17..ea2454cacfd 100644
--- a/gdb/psympriv.h
+++ b/gdb/psympriv.h
@@ -98,12 +98,6 @@ struct partial_symtab
const char *dirname;
- /* Set of relocation offsets to apply to each section.
- This is typically objfile->section_offsets, but in some cases
- it's different. See, e.g., elfstab_offset_sections. */
-
- struct section_offsets *section_offsets;
-
/* Range of text addresses covered by this file; texthigh is the
beginning of the next section. Do not use if PSYMTABS_ADDRMAP_SUPPORTED
is set. */
@@ -224,7 +218,6 @@ extern void add_psymbol_to_list (const char *, int,
extern void init_psymbol_list (struct objfile *, int);
extern struct partial_symtab *start_psymtab_common (struct objfile *,
- struct section_offsets *,
const char *, CORE_ADDR,
struct partial_symbol **,
struct partial_symbol **);
diff --git a/gdb/psymtab.c b/gdb/psymtab.c
index 383e4c4540f..ba677bcdbe6 100644
--- a/gdb/psymtab.c
+++ b/gdb/psymtab.c
@@ -516,7 +516,7 @@ psym_lookup_symbol (struct objfile *objfile,
if (!ps->readin && lookup_partial_symbol (objfile, ps, name,
psymtab_index, domain))
{
- struct symbol *sym = NULL;
+ struct symbol *sym, *with_opaque = NULL;
struct compunit_symtab *stab = psymtab_to_symtab (objfile, ps);
/* Note: While psymtab_to_symtab can return NULL if the partial symtab
is empty, we can assume it won't here because lookup_partial_symbol
@@ -524,18 +524,20 @@ psym_lookup_symbol (struct objfile *objfile,
const struct blockvector *bv = COMPUNIT_BLOCKVECTOR (stab);
struct block *block = BLOCKVECTOR_BLOCK (bv, block_index);
+ sym = block_find_symbol (block, name, domain,
+ block_find_non_opaque_type_preferred,
+ &with_opaque);
+
/* Some caution must be observed with overloaded functions
- and methods, since the psymtab will not contain any overload
+ and methods, since the index will not contain any overload
information (but NAME might contain it). */
- sym = block_lookup_symbol (block, name, domain);
-
- if (sym && strcmp_iw (SYMBOL_SEARCH_NAME (sym), name) == 0)
- {
- if (!TYPE_IS_OPAQUE (SYMBOL_TYPE (sym)))
- return stab;
- stab_best = stab;
- }
+ if (sym != NULL
+ && strcmp_iw (SYMBOL_SEARCH_NAME (sym), name) == 0)
+ return stab;
+ if (with_opaque != NULL
+ && strcmp_iw (SYMBOL_SEARCH_NAME (with_opaque), name) == 0)
+ stab_best = stab;
/* Keep looking through other psymtabs. */
}
@@ -1012,18 +1014,6 @@ dump_psymtab (struct objfile *objfile, struct partial_symtab *psymtab,
fprintf_filtered (outfile, ")\n");
}
- fprintf_filtered (outfile, " Relocate symbols by ");
- for (i = 0; i < objfile->num_sections; ++i)
- {
- if (i != 0)
- fprintf_filtered (outfile, ", ");
- wrap_here (" ");
- fputs_filtered (paddress (gdbarch,
- ANOFFSET (psymtab->section_offsets, i)),
- outfile);
- }
- fprintf_filtered (outfile, "\n");
-
fprintf_filtered (outfile, " Symbols cover text addresses ");
fputs_filtered (paddress (gdbarch, psymtab->textlow), outfile);
fprintf_filtered (outfile, "-");
@@ -1524,7 +1514,6 @@ sort_pst_symbols (struct objfile *objfile, struct partial_symtab *pst)
struct partial_symtab *
start_psymtab_common (struct objfile *objfile,
- struct section_offsets *section_offsets,
const char *filename,
CORE_ADDR textlow, struct partial_symbol **global_syms,
struct partial_symbol **static_syms)
@@ -1532,7 +1521,6 @@ start_psymtab_common (struct objfile *objfile,
struct partial_symtab *psymtab;
psymtab = allocate_psymtab (filename, objfile);
- psymtab->section_offsets = section_offsets;
psymtab->textlow = textlow;
psymtab->texthigh = psymtab->textlow; /* default */
psymtab->globals_offset = global_syms - objfile->global_psymbols.list;
diff --git a/gdb/python/py-lazy-string.c b/gdb/python/py-lazy-string.c
index c9774abe64a..97bc9cbc1ab 100644
--- a/gdb/python/py-lazy-string.c
+++ b/gdb/python/py-lazy-string.c
@@ -99,7 +99,7 @@ stpy_convert_to_value (PyObject *self, PyObject *args)
if (self_string->address == 0)
{
- PyErr_SetString (PyExc_MemoryError,
+ PyErr_SetString (gdbpy_gdb_memory_error,
_("Cannot create a value from NULL."));
return NULL;
}
@@ -133,7 +133,7 @@ gdbpy_create_lazy_string_object (CORE_ADDR address, long length,
if (address == 0 && length != 0)
{
- PyErr_SetString (PyExc_MemoryError,
+ PyErr_SetString (gdbpy_gdb_memory_error,
_("Cannot create a lazy string with address 0x0, " \
"and a non-zero length."));
return NULL;
diff --git a/gdb/python/py-objfile.c b/gdb/python/py-objfile.c
index c9528c31e25..5dc9ae65ed9 100644
--- a/gdb/python/py-objfile.c
+++ b/gdb/python/py-objfile.c
@@ -23,7 +23,6 @@
#include "objfiles.h"
#include "language.h"
#include "build-id.h"
-#include "elf-bfd.h"
#include "symtab.h"
typedef struct
@@ -134,7 +133,7 @@ objfpy_get_build_id (PyObject *self, void *closure)
{
objfile_object *obj = (objfile_object *) self;
struct objfile *objfile = obj->objfile;
- const struct elf_build_id *build_id = NULL;
+ const struct bfd_build_id *build_id = NULL;
OBJFPY_REQUIRE_VALID (obj);
@@ -484,7 +483,7 @@ objfpy_build_id_ok (const char *string)
It is assumed that objfpy_build_id_ok (string) returns TRUE. */
static int
-objfpy_build_id_matches (const struct elf_build_id *build_id,
+objfpy_build_id_matches (const struct bfd_build_id *build_id,
const char *string)
{
size_t i;
@@ -542,7 +541,7 @@ objfpy_lookup_objfile_by_build_id (const char *build_id)
ALL_OBJFILES (objfile)
{
- const struct elf_build_id *obfd_build_id;
+ const struct bfd_build_id *obfd_build_id;
if (objfile->obfd == NULL)
continue;
diff --git a/gdb/python/python-internal.h b/gdb/python/python-internal.h
index f881559d292..ee949b7025c 100644
--- a/gdb/python/python-internal.h
+++ b/gdb/python/python-internal.h
@@ -65,8 +65,6 @@
/* Python 2.4 doesn't include stdint.h soon enough to get {u,}intptr_t
needed by pyport.h. */
-#include <stdint.h>
-
/* /usr/include/features.h on linux systems will define _POSIX_C_SOURCE
if it sees _GNU_SOURCE (which config.h will define).
pyconfig.h defines _POSIX_C_SOURCE to a different value than
diff --git a/gdb/reggroups.c b/gdb/reggroups.c
index cbafc01d034..745c5ea5de8 100644
--- a/gdb/reggroups.c
+++ b/gdb/reggroups.c
@@ -150,6 +150,35 @@ reggroup_next (struct gdbarch *gdbarch, struct reggroup *last)
return NULL;
}
+/* See reggroups.h. */
+
+struct reggroup *
+reggroup_prev (struct gdbarch *gdbarch, struct reggroup *curr)
+{
+ struct reggroups *groups;
+ struct reggroup_el *el;
+ struct reggroup *prev;
+
+ /* Don't allow this function to be called during architecture
+ creation. If there are no groups, use the default groups list. */
+ groups = gdbarch_data (gdbarch, reggroups_data);
+ gdb_assert (groups != NULL);
+ if (groups->first == NULL)
+ groups = &default_groups;
+
+ prev = NULL;
+ for (el = groups->first; el != NULL; el = el->next)
+ {
+ gdb_assert (el->group != NULL);
+ if (el->group == curr)
+ return prev;
+ prev = el->group;
+ }
+ if (curr == NULL)
+ return prev;
+ return NULL;
+}
+
/* Is REGNUM a member of REGGROUP? */
int
default_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
diff --git a/gdb/reggroups.h b/gdb/reggroups.h
index 2ad74bc2653..425a25c8994 100644
--- a/gdb/reggroups.h
+++ b/gdb/reggroups.h
@@ -49,11 +49,14 @@ extern void reggroup_add (struct gdbarch *gdbarch, struct reggroup *group);
extern const char *reggroup_name (struct reggroup *reggroup);
extern enum reggroup_type reggroup_type (struct reggroup *reggroup);
-/* Interator for the architecture's register groups. Pass in NULL,
- returns the first group. Pass in a group, returns the next group,
- or NULL when the last group is reached. */
+/* Iterators for the architecture's register groups. Pass in NULL, returns
+ the first (for next), or last (for prev) group. Pass in a group,
+ returns the next or previous group, or NULL when either the end or the
+ beginning of the group list is reached. */
extern struct reggroup *reggroup_next (struct gdbarch *gdbarch,
struct reggroup *last);
+extern struct reggroup *reggroup_prev (struct gdbarch *gdbarch,
+ struct reggroup *curr);
/* Is REGNUM a member of REGGROUP? */
extern int default_register_reggroup_p (struct gdbarch *gdbarch, int regnum,
diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c
index fd2fd5872d2..82c129db9c0 100644
--- a/gdb/remote-sim.c
+++ b/gdb/remote-sim.c
@@ -21,6 +21,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "defs.h"
+#include "gdb_bfd.h"
#include "inferior.h"
#include "infrun.h"
#include "value.h"
@@ -669,8 +670,13 @@ gdbsim_open (const char *args, int from_tty)
int len;
char *arg_buf;
struct sim_inferior_data *sim_data;
+ const char *sysroot;
SIM_DESC gdbsim_desc;
+ sysroot = gdb_sysroot;
+ if (is_target_filename (sysroot))
+ sysroot += strlen (TARGET_SYSROOT_PREFIX);
+
if (remote_debug)
fprintf_unfiltered (gdb_stdlog,
"gdbsim_open: args \"%s\"\n", args ? args : "(null)");
@@ -688,7 +694,7 @@ gdbsim_open (const char *args, int from_tty)
len = (7 + 1 /* gdbsim */
+ strlen (" -E little")
+ strlen (" --architecture=xxxxxxxxxx")
- + strlen (" --sysroot=") + strlen (gdb_sysroot) +
+ + strlen (" --sysroot=") + strlen (sysroot) +
+ (args ? strlen (args) : 0)
+ 50) /* slack */ ;
arg_buf = (char *) alloca (len);
@@ -715,7 +721,7 @@ gdbsim_open (const char *args, int from_tty)
}
/* Pass along gdb's concept of the sysroot. */
strcat (arg_buf, " --sysroot=");
- strcat (arg_buf, gdb_sysroot);
+ strcat (arg_buf, sysroot);
/* finally, any explicit args */
if (args)
{
diff --git a/gdb/remote.c b/gdb/remote.c
index dfe115b3231..68dd99df8fc 100644
--- a/gdb/remote.c
+++ b/gdb/remote.c
@@ -373,6 +373,12 @@ struct remote_state
/* The branch trace configuration. */
struct btrace_config btrace_config;
+
+ /* The argument to the last "vFile:setfs:" packet we sent, used
+ to avoid sending repeated unnecessary "vFile:setfs:" packets.
+ Initialized to -1 to indicate that no "vFile:setfs:" packet
+ has yet been sent. */
+ int fs_pid;
};
/* Private data that we'll store in (struct thread_info)->private. */
@@ -415,6 +421,7 @@ new_remote_state (void)
result->buf = xmalloc (result->buf_size);
result->remote_traceframe_number = -1;
result->last_sent_signal = GDB_SIGNAL_0;
+ result->fs_pid = -1;
return result;
}
@@ -1249,6 +1256,7 @@ enum {
PACKET_Z2,
PACKET_Z3,
PACKET_Z4,
+ PACKET_vFile_setfs,
PACKET_vFile_open,
PACKET_vFile_pread,
PACKET_vFile_pwrite,
@@ -6913,51 +6921,74 @@ check_binary_download (CORE_ADDR addr)
}
}
+/* Helper function to resize the payload in order to try to get a good
+ alignment. We try to write an amount of data such that the next write will
+ start on an address aligned on REMOTE_ALIGN_WRITES. */
+
+static int
+align_for_efficient_write (int todo, CORE_ADDR memaddr)
+{
+ return ((memaddr + todo) & ~(REMOTE_ALIGN_WRITES - 1)) - memaddr;
+}
+
/* Write memory data directly to the remote machine.
This does not inform the data cache; the data cache uses this.
HEADER is the starting part of the packet.
MEMADDR is the address in the remote memory space.
MYADDR is the address of the buffer in our space.
- LEN is the number of bytes.
+ LEN_UNITS is the number of addressable units to write.
+ UNIT_SIZE is the length in bytes of an addressable unit.
PACKET_FORMAT should be either 'X' or 'M', and indicates if we
should send data as binary ('X'), or hex-encoded ('M').
The function creates packet of the form
<HEADER><ADDRESS>,<LENGTH>:<DATA>
- where encoding of <DATA> is termined by PACKET_FORMAT.
+ where encoding of <DATA> is terminated by PACKET_FORMAT.
If USE_LENGTH is 0, then the <LENGTH> field and the preceding comma
are omitted.
Return the transferred status, error or OK (an
- 'enum target_xfer_status' value). Save the number of bytes
- transferred in *XFERED_LEN. Only transfer a single packet. */
+ 'enum target_xfer_status' value). Save the number of addressable units
+ transferred in *XFERED_LEN_UNITS. Only transfer a single packet.
+
+ On a platform with an addressable memory size of 2 bytes (UNIT_SIZE == 2), an
+ exchange between gdb and the stub could look like (?? in place of the
+ checksum):
+
+ -> $m1000,4#??
+ <- aaaabbbbccccdddd
+
+ -> $M1000,3:eeeeffffeeee#??
+ <- OK
+
+ -> $m1000,4#??
+ <- eeeeffffeeeedddd */
static enum target_xfer_status
remote_write_bytes_aux (const char *header, CORE_ADDR memaddr,
- const gdb_byte *myaddr, ULONGEST len,
- ULONGEST *xfered_len, char packet_format,
- int use_length)
+ const gdb_byte *myaddr, ULONGEST len_units,
+ int unit_size, ULONGEST *xfered_len_units,
+ char packet_format, int use_length)
{
struct remote_state *rs = get_remote_state ();
char *p;
char *plen = NULL;
int plenlen = 0;
- int todo;
- int nr_bytes;
- int payload_size;
- int payload_length;
- int header_length;
+ int todo_units;
+ int units_written;
+ int payload_capacity_bytes;
+ int payload_length_bytes;
if (packet_format != 'X' && packet_format != 'M')
internal_error (__FILE__, __LINE__,
_("remote_write_bytes_aux: bad packet format"));
- if (len == 0)
+ if (len_units == 0)
return TARGET_XFER_EOF;
- payload_size = get_memory_write_packet_size ();
+ payload_capacity_bytes = get_memory_write_packet_size ();
/* The packet buffer will be large enough for the payload;
get_memory_packet_size ensures this. */
@@ -6966,13 +6997,12 @@ remote_write_bytes_aux (const char *header, CORE_ADDR memaddr,
/* Compute the size of the actual payload by subtracting out the
packet header and footer overhead: "$M<memaddr>,<len>:...#nn". */
- payload_size -= strlen ("$,:#NN");
+ payload_capacity_bytes -= strlen ("$,:#NN");
if (!use_length)
/* The comma won't be used. */
- payload_size += 1;
- header_length = strlen (header);
- payload_size -= header_length;
- payload_size -= hexnumlen (memaddr);
+ payload_capacity_bytes += 1;
+ payload_capacity_bytes -= strlen (header);
+ payload_capacity_bytes -= hexnumlen (memaddr);
/* Construct the packet excluding the data: "<header><memaddr>,<len>:". */
@@ -6983,28 +7013,28 @@ remote_write_bytes_aux (const char *header, CORE_ADDR memaddr,
if (packet_format == 'X')
{
/* Best guess at number of bytes that will fit. */
- todo = min (len, payload_size);
+ todo_units = min (len_units, payload_capacity_bytes / unit_size);
if (use_length)
- payload_size -= hexnumlen (todo);
- todo = min (todo, payload_size);
+ payload_capacity_bytes -= hexnumlen (todo_units);
+ todo_units = min (todo_units, payload_capacity_bytes / unit_size);
}
else
{
- /* Num bytes that will fit. */
- todo = min (len, payload_size / 2);
+ /* Number of bytes that will fit. */
+ todo_units = min (len_units, (payload_capacity_bytes / unit_size) / 2);
if (use_length)
- payload_size -= hexnumlen (todo);
- todo = min (todo, payload_size / 2);
+ payload_capacity_bytes -= hexnumlen (todo_units);
+ todo_units = min (todo_units, (payload_capacity_bytes / unit_size) / 2);
}
- if (todo <= 0)
+ if (todo_units <= 0)
internal_error (__FILE__, __LINE__,
_("minimum packet size too small to write data"));
/* If we already need another packet, then try to align the end
of this packet to a useful boundary. */
- if (todo > 2 * REMOTE_ALIGN_WRITES && todo < len)
- todo = ((memaddr + todo) & ~(REMOTE_ALIGN_WRITES - 1)) - memaddr;
+ if (todo_units > 2 * REMOTE_ALIGN_WRITES && todo_units < len_units)
+ todo_units = align_for_efficient_write (todo_units, memaddr);
/* Append "<memaddr>". */
memaddr = remote_address_masked (memaddr);
@@ -7015,10 +7045,10 @@ remote_write_bytes_aux (const char *header, CORE_ADDR memaddr,
/* Append ",". */
*p++ = ',';
- /* Append <len>. Retain the location/size of <len>. It may need to
- be adjusted once the packet body has been created. */
+ /* Append the length and retain its location and size. It may need to be
+ adjusted once the packet body has been created. */
plen = p;
- plenlen = hexnumstr (p, (ULONGEST) todo);
+ plenlen = hexnumstr (p, (ULONGEST) todo_units);
p += plenlen;
}
@@ -7032,32 +7062,35 @@ remote_write_bytes_aux (const char *header, CORE_ADDR memaddr,
/* Binary mode. Send target system values byte by byte, in
increasing byte addresses. Only escape certain critical
characters. */
- payload_length = remote_escape_output (myaddr, todo, (gdb_byte *) p,
- &nr_bytes, payload_size);
+ payload_length_bytes =
+ remote_escape_output (myaddr, todo_units, unit_size, (gdb_byte *) p,
+ &units_written, payload_capacity_bytes);
- /* If not all TODO bytes fit, then we'll need another packet. Make
+ /* If not all TODO units fit, then we'll need another packet. Make
a second try to keep the end of the packet aligned. Don't do
this if the packet is tiny. */
- if (nr_bytes < todo && nr_bytes > 2 * REMOTE_ALIGN_WRITES)
+ if (units_written < todo_units && units_written > 2 * REMOTE_ALIGN_WRITES)
{
- int new_nr_bytes;
-
- new_nr_bytes = (((memaddr + nr_bytes) & ~(REMOTE_ALIGN_WRITES - 1))
- - memaddr);
- if (new_nr_bytes != nr_bytes)
- payload_length = remote_escape_output (myaddr, new_nr_bytes,
- (gdb_byte *) p, &nr_bytes,
- payload_size);
+ int new_todo_units;
+
+ new_todo_units = align_for_efficient_write (units_written, memaddr);
+
+ if (new_todo_units != units_written)
+ payload_length_bytes =
+ remote_escape_output (myaddr, new_todo_units, unit_size,
+ (gdb_byte *) p, &units_written,
+ payload_capacity_bytes);
}
- p += payload_length;
- if (use_length && nr_bytes < todo)
+ p += payload_length_bytes;
+ if (use_length && units_written < todo_units)
{
/* Escape chars have filled up the buffer prematurely,
- and we have actually sent fewer bytes than planned.
+ and we have actually sent fewer units than planned.
Fix-up the length field of the packet. Use the same
number of characters as before. */
- plen += hexnumnstr (plen, (ULONGEST) nr_bytes, plenlen);
+ plen += hexnumnstr (plen, (ULONGEST) units_written,
+ plenlen);
*plen = ':'; /* overwrite \0 from hexnumnstr() */
}
}
@@ -7066,8 +7099,8 @@ remote_write_bytes_aux (const char *header, CORE_ADDR memaddr,
/* Normal mode: Send target system values byte by byte, in
increasing byte addresses. Each byte is encoded as a two hex
value. */
- nr_bytes = bin2hex (myaddr, p, todo);
- p += 2 * nr_bytes;
+ p += 2 * bin2hex (myaddr, p, todo_units * unit_size);
+ units_written = todo_units;
}
putpkt_binary (rs->buf, (int) (p - rs->buf));
@@ -7076,9 +7109,9 @@ remote_write_bytes_aux (const char *header, CORE_ADDR memaddr,
if (rs->buf[0] == 'E')
return TARGET_XFER_E_IO;
- /* Return NR_BYTES, not TODO, in case escape chars caused us to send
- fewer bytes than we'd planned. */
- *xfered_len = (ULONGEST) nr_bytes;
+ /* Return UNITS_WRITTEN, not TODO_UNITS, in case escape chars caused us to
+ send fewer units than we'd planned. */
+ *xfered_len_units = (ULONGEST) units_written;
return TARGET_XFER_OK;
}
@@ -7094,7 +7127,7 @@ remote_write_bytes_aux (const char *header, CORE_ADDR memaddr,
static enum target_xfer_status
remote_write_bytes (CORE_ADDR memaddr, const gdb_byte *myaddr, ULONGEST len,
- ULONGEST *xfered_len)
+ int unit_size, ULONGEST *xfered_len)
{
char *packet_format = 0;
@@ -7117,7 +7150,7 @@ remote_write_bytes (CORE_ADDR memaddr, const gdb_byte *myaddr, ULONGEST len,
}
return remote_write_bytes_aux (packet_format,
- memaddr, myaddr, len, xfered_len,
+ memaddr, myaddr, len, unit_size, xfered_len,
packet_format[0], 1);
}
@@ -7125,28 +7158,32 @@ remote_write_bytes (CORE_ADDR memaddr, const gdb_byte *myaddr, ULONGEST len,
This does not use the data cache; the data cache uses this.
MEMADDR is the address in the remote memory space.
MYADDR is the address of the buffer in our space.
- LEN is the number of bytes.
+ LEN_UNITS is the number of addressable memory units to read..
+ UNIT_SIZE is the length in bytes of an addressable unit.
Return the transferred status, error or OK (an
'enum target_xfer_status' value). Save the number of bytes
- transferred in *XFERED_LEN. */
+ transferred in *XFERED_LEN_UNITS.
+
+ See the comment of remote_write_bytes_aux for an example of
+ memory read/write exchange between gdb and the stub. */
static enum target_xfer_status
-remote_read_bytes_1 (CORE_ADDR memaddr, gdb_byte *myaddr, ULONGEST len,
- ULONGEST *xfered_len)
+remote_read_bytes_1 (CORE_ADDR memaddr, gdb_byte *myaddr, ULONGEST len_units,
+ int unit_size, ULONGEST *xfered_len_units)
{
struct remote_state *rs = get_remote_state ();
- int max_buf_size; /* Max size of packet output buffer. */
+ int buf_size_bytes; /* Max size of packet output buffer. */
char *p;
- int todo;
- int i;
+ int todo_units;
+ int decoded_bytes;
- max_buf_size = get_memory_read_packet_size ();
+ buf_size_bytes = get_memory_read_packet_size ();
/* The packet buffer will be large enough for the payload;
get_memory_packet_size ensures this. */
- /* Number if bytes that will fit. */
- todo = min (len, max_buf_size / 2);
+ /* Number of units that will fit. */
+ todo_units = min (len_units, (buf_size_bytes / unit_size) / 2);
/* Construct "m"<memaddr>","<len>". */
memaddr = remote_address_masked (memaddr);
@@ -7154,7 +7191,7 @@ remote_read_bytes_1 (CORE_ADDR memaddr, gdb_byte *myaddr, ULONGEST len,
*p++ = 'm';
p += hexnumstr (p, (ULONGEST) memaddr);
*p++ = ',';
- p += hexnumstr (p, (ULONGEST) todo);
+ p += hexnumstr (p, (ULONGEST) todo_units);
*p = '\0';
putpkt (rs->buf);
getpkt (&rs->buf, &rs->buf_size, 0);
@@ -7165,9 +7202,9 @@ remote_read_bytes_1 (CORE_ADDR memaddr, gdb_byte *myaddr, ULONGEST len,
/* Reply describes memory byte by byte, each byte encoded as two hex
characters. */
p = rs->buf;
- i = hex2bin (p, myaddr, todo);
+ decoded_bytes = hex2bin (p, myaddr, todo_units * unit_size);
/* Return what we have. Let higher layers handle partial reads. */
- *xfered_len = (ULONGEST) i;
+ *xfered_len_units = (ULONGEST) (decoded_bytes / unit_size);
return TARGET_XFER_OK;
}
@@ -7180,7 +7217,7 @@ remote_read_bytes_1 (CORE_ADDR memaddr, gdb_byte *myaddr, ULONGEST len,
static enum target_xfer_status
remote_xfer_live_readonly_partial (struct target_ops *ops, gdb_byte *readbuf,
ULONGEST memaddr, ULONGEST len,
- ULONGEST *xfered_len)
+ int unit_size, ULONGEST *xfered_len)
{
struct target_section *secp;
struct target_section_table *table;
@@ -7203,7 +7240,7 @@ remote_xfer_live_readonly_partial (struct target_ops *ops, gdb_byte *readbuf,
if (memend <= p->endaddr)
{
/* Entire transfer is within this section. */
- return remote_read_bytes_1 (memaddr, readbuf, len,
+ return remote_read_bytes_1 (memaddr, readbuf, len, unit_size,
xfered_len);
}
else if (memaddr >= p->endaddr)
@@ -7215,7 +7252,7 @@ remote_xfer_live_readonly_partial (struct target_ops *ops, gdb_byte *readbuf,
{
/* This section overlaps the transfer. Just do half. */
len = p->endaddr - memaddr;
- return remote_read_bytes_1 (memaddr, readbuf, len,
+ return remote_read_bytes_1 (memaddr, readbuf, len, unit_size,
xfered_len);
}
}
@@ -7231,7 +7268,8 @@ remote_xfer_live_readonly_partial (struct target_ops *ops, gdb_byte *readbuf,
static enum target_xfer_status
remote_read_bytes (struct target_ops *ops, CORE_ADDR memaddr,
- gdb_byte *myaddr, ULONGEST len, ULONGEST *xfered_len)
+ gdb_byte *myaddr, ULONGEST len, int unit_size,
+ ULONGEST *xfered_len)
{
if (len == 0)
return TARGET_XFER_EOF;
@@ -7269,7 +7307,7 @@ remote_read_bytes (struct target_ops *ops, CORE_ADDR memaddr,
/* This goes through the topmost target again. */
res = remote_xfer_live_readonly_partial (ops, myaddr, memaddr,
- len, xfered_len);
+ len, unit_size, xfered_len);
if (res == TARGET_XFER_OK)
return TARGET_XFER_OK;
else
@@ -7291,7 +7329,7 @@ remote_read_bytes (struct target_ops *ops, CORE_ADDR memaddr,
}
}
- return remote_read_bytes_1 (memaddr, myaddr, len, xfered_len);
+ return remote_read_bytes_1 (memaddr, myaddr, len, unit_size, xfered_len);
}
@@ -7377,7 +7415,7 @@ remote_flash_write (struct target_ops *ops, ULONGEST address,
&saved_remote_timeout);
remote_timeout = remote_flash_timeout;
- ret = remote_write_bytes_aux ("vFlashWrite:", address, data, length,
+ ret = remote_write_bytes_aux ("vFlashWrite:", address, data, length, 1,
xfered_len,'X', 0);
do_cleanups (back_to);
@@ -9117,7 +9155,7 @@ remote_write_qxfer (struct target_ops *ops, const char *object_name,
/* Escape as much data as fits into rs->buf. */
buf_len = remote_escape_output
- (writebuf, len, (gdb_byte *) rs->buf + i, &max_size, max_size);
+ (writebuf, len, 1, (gdb_byte *) rs->buf + i, &max_size, max_size);
if (putpkt_binary (rs->buf, i + buf_len) < 0
|| getpkt_sane (&rs->buf, &rs->buf_size, 0) < 0
@@ -9228,6 +9266,7 @@ remote_xfer_partial (struct target_ops *ops, enum target_object object,
int i;
char *p2;
char query_type;
+ int unit_size = gdbarch_addressable_memory_unit_size (target_gdbarch ());
set_remote_traceframe ();
set_general_thread (inferior_ptid);
@@ -9244,9 +9283,11 @@ remote_xfer_partial (struct target_ops *ops, enum target_object object,
return TARGET_XFER_EOF;
if (writebuf != NULL)
- return remote_write_bytes (offset, writebuf, len, xfered_len);
+ return remote_write_bytes (offset, writebuf, len, unit_size,
+ xfered_len);
else
- return remote_read_bytes (ops, offset, readbuf, len, xfered_len);
+ return remote_read_bytes (ops, offset, readbuf, len, unit_size,
+ xfered_len);
}
/* Handle SPU memory using qxfer packets. */
@@ -9484,7 +9525,7 @@ remote_search_memory (struct target_ops* ops,
/* Escape as much data as fits into rs->buf. */
escaped_pattern_len =
- remote_escape_output (pattern, pattern_len, (gdb_byte *) rs->buf + i,
+ remote_escape_output (pattern, pattern_len, 1, (gdb_byte *) rs->buf + i,
&used_pattern_len, max_size);
/* Bail if the pattern is too large. */
@@ -10213,28 +10254,57 @@ remote_hostio_send_command (int command_bytes, int which_packet,
return ret;
}
-/* Return nonzero if the filesystem accessed by the target_fileio_*
- methods is the local filesystem, zero otherwise. */
+/* Set the filesystem remote_hostio functions that take FILENAME
+ arguments will use. Return 0 on success, or -1 if an error
+ occurs (and set *REMOTE_ERRNO). */
static int
-remote_filesystem_is_local (struct target_ops *self)
+remote_hostio_set_filesystem (struct inferior *inf, int *remote_errno)
{
- return 0;
+ struct remote_state *rs = get_remote_state ();
+ int required_pid = (inf == NULL || inf->fake_pid_p) ? 0 : inf->pid;
+ char *p = rs->buf;
+ int left = get_remote_packet_size () - 1;
+ char arg[9];
+ int ret;
+
+ if (packet_support (PACKET_vFile_setfs) == PACKET_DISABLE)
+ return 0;
+
+ if (rs->fs_pid != -1 && required_pid == rs->fs_pid)
+ return 0;
+
+ remote_buffer_add_string (&p, &left, "vFile:setfs:");
+
+ xsnprintf (arg, sizeof (arg), "%x", required_pid);
+ remote_buffer_add_string (&p, &left, arg);
+
+ ret = remote_hostio_send_command (p - rs->buf, PACKET_vFile_setfs,
+ remote_errno, NULL, NULL);
+
+ if (packet_support (PACKET_vFile_setfs) == PACKET_DISABLE)
+ return 0;
+
+ if (ret == 0)
+ rs->fs_pid = required_pid;
+
+ return ret;
}
-/* Open FILENAME on the remote target, using FLAGS and MODE. Return a
- remote file descriptor, or -1 if an error occurs (and set
- *REMOTE_ERRNO). */
+/* Implementation of to_fileio_open. */
static int
remote_hostio_open (struct target_ops *self,
- const char *filename, int flags, int mode,
- int *remote_errno)
+ struct inferior *inf, const char *filename,
+ int flags, int mode, int *remote_errno)
{
struct remote_state *rs = get_remote_state ();
char *p = rs->buf;
int left = get_remote_packet_size () - 1;
+ if (remote_hostio_set_filesystem (inf, remote_errno) != 0)
+ return -1;
+
remote_buffer_add_string (&p, &left, "vFile:open:");
remote_buffer_add_bytes (&p, &left, (const gdb_byte *) filename,
@@ -10250,9 +10320,7 @@ remote_hostio_open (struct target_ops *self,
remote_errno, NULL, NULL);
}
-/* Write up to LEN bytes from WRITE_BUF to FD on the remote target.
- Return the number of bytes written, or -1 if an error occurs (and
- set *REMOTE_ERRNO). */
+/* Implementation of to_fileio_pwrite. */
static int
remote_hostio_pwrite (struct target_ops *self,
@@ -10272,16 +10340,14 @@ remote_hostio_pwrite (struct target_ops *self,
remote_buffer_add_int (&p, &left, offset);
remote_buffer_add_string (&p, &left, ",");
- p += remote_escape_output (write_buf, len, (gdb_byte *) p, &out_len,
+ p += remote_escape_output (write_buf, len, 1, (gdb_byte *) p, &out_len,
get_remote_packet_size () - (p - rs->buf));
return remote_hostio_send_command (p - rs->buf, PACKET_vFile_pwrite,
remote_errno, NULL, NULL);
}
-/* Read up to LEN bytes FD on the remote target into READ_BUF
- Return the number of bytes read, or -1 if an error occurs (and
- set *REMOTE_ERRNO). */
+/* Implementation of to_fileio_pread. */
static int
remote_hostio_pread (struct target_ops *self,
@@ -10320,8 +10386,7 @@ remote_hostio_pread (struct target_ops *self,
return ret;
}
-/* Close FD on the remote target. Return 0, or -1 if an error occurs
- (and set *REMOTE_ERRNO). */
+/* Implementation of to_fileio_close. */
static int
remote_hostio_close (struct target_ops *self, int fd, int *remote_errno)
@@ -10338,17 +10403,20 @@ remote_hostio_close (struct target_ops *self, int fd, int *remote_errno)
remote_errno, NULL, NULL);
}
-/* Unlink FILENAME on the remote target. Return 0, or -1 if an error
- occurs (and set *REMOTE_ERRNO). */
+/* Implementation of to_fileio_unlink. */
static int
remote_hostio_unlink (struct target_ops *self,
- const char *filename, int *remote_errno)
+ struct inferior *inf, const char *filename,
+ int *remote_errno)
{
struct remote_state *rs = get_remote_state ();
char *p = rs->buf;
int left = get_remote_packet_size () - 1;
+ if (remote_hostio_set_filesystem (inf, remote_errno) != 0)
+ return -1;
+
remote_buffer_add_string (&p, &left, "vFile:unlink:");
remote_buffer_add_bytes (&p, &left, (const gdb_byte *) filename,
@@ -10358,13 +10426,12 @@ remote_hostio_unlink (struct target_ops *self,
remote_errno, NULL, NULL);
}
-/* Read value of symbolic link FILENAME on the remote target. Return
- a null-terminated string allocated via xmalloc, or NULL if an error
- occurs (and set *REMOTE_ERRNO). */
+/* Implementation of to_fileio_readlink. */
static char *
remote_hostio_readlink (struct target_ops *self,
- const char *filename, int *remote_errno)
+ struct inferior *inf, const char *filename,
+ int *remote_errno)
{
struct remote_state *rs = get_remote_state ();
char *p = rs->buf;
@@ -10374,6 +10441,9 @@ remote_hostio_readlink (struct target_ops *self,
int read_len;
char *ret;
+ if (remote_hostio_set_filesystem (inf, remote_errno) != 0)
+ return NULL;
+
remote_buffer_add_string (&p, &left, "vFile:readlink:");
remote_buffer_add_bytes (&p, &left, (const gdb_byte *) filename,
@@ -10397,9 +10467,7 @@ remote_hostio_readlink (struct target_ops *self,
return ret;
}
-/* Read information about the open file FD on the remote target
- into ST. Return 0 on success, or -1 if an error occurs (and
- set *REMOTE_ERRNO). */
+/* Implementation of to_fileio_fstat. */
static int
remote_hostio_fstat (struct target_ops *self,
@@ -10459,6 +10527,57 @@ remote_hostio_fstat (struct target_ops *self,
return 0;
}
+/* Implementation of to_filesystem_is_local. */
+
+static int
+remote_filesystem_is_local (struct target_ops *self)
+{
+ /* Valgrind GDB presents itself as a remote target but works
+ on the local filesystem: it does not implement remote get
+ and users are not expected to set a sysroot. To handle
+ this case we treat the remote filesystem as local if the
+ sysroot is exactly TARGET_SYSROOT_PREFIX and if the stub
+ does not support vFile:open. */
+ if (strcmp (gdb_sysroot, TARGET_SYSROOT_PREFIX) == 0)
+ {
+ enum packet_support ps = packet_support (PACKET_vFile_open);
+
+ if (ps == PACKET_SUPPORT_UNKNOWN)
+ {
+ int fd, remote_errno;
+
+ /* Try opening a file to probe support. The supplied
+ filename is irrelevant, we only care about whether
+ the stub recognizes the packet or not. */
+ fd = remote_hostio_open (self, NULL, "just probing",
+ FILEIO_O_RDONLY, 0700,
+ &remote_errno);
+
+ if (fd >= 0)
+ remote_hostio_close (self, fd, &remote_errno);
+
+ ps = packet_support (PACKET_vFile_open);
+ }
+
+ if (ps == PACKET_DISABLE)
+ {
+ static int warning_issued = 0;
+
+ if (!warning_issued)
+ {
+ warning (_("remote target does not support file"
+ " transfer, attempting to access files"
+ " from local filesystem."));
+ warning_issued = 1;
+ }
+
+ return 1;
+ }
+ }
+
+ return 0;
+}
+
static int
remote_fileio_errno_to_host (int errnum)
{
@@ -10550,7 +10669,7 @@ remote_file_put (const char *local_file, const char *remote_file, int from_tty)
perror_with_name (local_file);
back_to = make_cleanup_fclose (file);
- fd = remote_hostio_open (find_target_at (process_stratum),
+ fd = remote_hostio_open (find_target_at (process_stratum), NULL,
remote_file, (FILEIO_O_WRONLY | FILEIO_O_CREAT
| FILEIO_O_TRUNC),
0700, &remote_errno);
@@ -10636,7 +10755,7 @@ remote_file_get (const char *remote_file, const char *local_file, int from_tty)
if (!rs->remote_desc)
error (_("command can only be used with remote target"));
- fd = remote_hostio_open (find_target_at (process_stratum),
+ fd = remote_hostio_open (find_target_at (process_stratum), NULL,
remote_file, FILEIO_O_RDONLY, 0, &remote_errno);
if (fd == -1)
remote_hostio_error (remote_errno);
@@ -10691,7 +10810,7 @@ remote_file_delete (const char *remote_file, int from_tty)
error (_("command can only be used with remote target"));
retcode = remote_hostio_unlink (find_target_at (process_stratum),
- remote_file, &remote_errno);
+ NULL, remote_file, &remote_errno);
if (retcode == -1)
remote_hostio_error (remote_errno);
@@ -12678,6 +12797,9 @@ Show the maximum size of the address (in bits) in a memory packet."), NULL,
add_packet_config_cmd (&remote_protocol_packets[PACKET_qTStatus],
"qTStatus", "trace-status", 0);
+ add_packet_config_cmd (&remote_protocol_packets[PACKET_vFile_setfs],
+ "vFile:setfs", "hostio-setfs", 0);
+
add_packet_config_cmd (&remote_protocol_packets[PACKET_vFile_open],
"vFile:open", "hostio-open", 0);
diff --git a/gdb/rs6000-tdep.c b/gdb/rs6000-tdep.c
index a1250004e7b..eb40430bee3 100644
--- a/gdb/rs6000-tdep.c
+++ b/gdb/rs6000-tdep.c
@@ -934,10 +934,10 @@ rs6000_in_function_epilogue_frame_p (struct frame_info *curfrm,
return 0;
}
-/* Implementation of gdbarch_in_function_epilogue_p. */
+/* Implement the stack_frame_destroyed_p gdbarch method. */
static int
-rs6000_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+rs6000_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
return rs6000_in_function_epilogue_frame_p (get_current_frame (),
gdbarch, pc);
@@ -5890,7 +5890,7 @@ rs6000_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_push_dummy_call (gdbarch, ppc64_sysv_abi_push_dummy_call);
set_gdbarch_skip_prologue (gdbarch, rs6000_skip_prologue);
- set_gdbarch_in_function_epilogue_p (gdbarch, rs6000_in_function_epilogue_p);
+ set_gdbarch_stack_frame_destroyed_p (gdbarch, rs6000_stack_frame_destroyed_p);
set_gdbarch_skip_main_prologue (gdbarch, rs6000_skip_main_prologue);
set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
diff --git a/gdb/rx-tdep.c b/gdb/rx-tdep.c
index aa44f7adc54..11d390b47c1 100644
--- a/gdb/rx-tdep.c
+++ b/gdb/rx-tdep.c
@@ -45,6 +45,7 @@ enum
RX_R4_REGNUM = 4,
RX_FP_REGNUM = 6,
RX_R15_REGNUM = 15,
+ RX_PSW_REGNUM = 18,
RX_PC_REGNUM = 19,
RX_ACC_REGNUM = 25,
RX_NUM_REGS = 26
@@ -764,6 +765,23 @@ rx_breakpoint_from_pc (struct gdbarch *gdbarch, CORE_ADDR *pcptr, int *lenptr)
return breakpoint;
}
+/* Implement the dwarf_reg_to_regnum" gdbarch method. */
+
+static int
+rx_dwarf_reg_to_regnum (struct gdbarch *gdbarch, int reg)
+{
+ if (0 <= reg && reg <= 15)
+ return reg;
+ else if (reg == 16)
+ return RX_PSW_REGNUM;
+ else if (reg == 17)
+ return RX_PC_REGNUM;
+ else
+ internal_error (__FILE__, __LINE__,
+ _("Undefined dwarf2 register mapping of reg %d"),
+ reg);
+}
+
/* Allocate and initialize a gdbarch object. */
static struct gdbarch *
rx_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
@@ -838,12 +856,11 @@ rx_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_long_double_format (gdbarch, floatformats_ieee_single);
}
+ /* DWARF register mapping. */
+ set_gdbarch_dwarf2_reg_to_regnum (gdbarch, rx_dwarf_reg_to_regnum);
+
/* Frame unwinding. */
-#if 0
- /* Note: The test results are better with the dwarf2 unwinder disabled,
- so it's turned off for now. */
dwarf2_append_unwinders (gdbarch);
-#endif
frame_unwind_append_unwinder (gdbarch, &rx_frame_unwind);
/* Methods for saving / extracting a dummy frame's ID.
diff --git a/gdb/s390-linux-nat.c b/gdb/s390-linux-nat.c
index 4cd3192a420..cedc505e1bd 100644
--- a/gdb/s390-linux-nat.c
+++ b/gdb/s390-linux-nat.c
@@ -27,6 +27,7 @@
#include "auxv.h"
#include "gregset.h"
#include "regset.h"
+#include "nat/linux-ptrace.h"
#include "s390-linux-tdep.h"
#include "elf/common.h"
@@ -38,14 +39,6 @@
#include <sys/ucontext.h>
#include <elf.h>
-#ifndef PTRACE_GETREGSET
-#define PTRACE_GETREGSET 0x4204
-#endif
-
-#ifndef PTRACE_SETREGSET
-#define PTRACE_SETREGSET 0x4205
-#endif
-
/* Per-thread arch-specific data. */
struct arch_lwp_info
diff --git a/gdb/s390-linux-tdep.c b/gdb/s390-linux-tdep.c
index edc0da11370..2460aa1d404 100644
--- a/gdb/s390-linux-tdep.c
+++ b/gdb/s390-linux-tdep.c
@@ -1487,10 +1487,9 @@ s390_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
return skip_pc ? skip_pc : pc;
}
-/* Return true if we are in the functin's epilogue, i.e. after the
- instruction that destroyed the function's stack frame. */
+/* Implmement the stack_frame_destroyed_p gdbarch method. */
static int
-s390_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+s390_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
int word_size = gdbarch_ptr_bit (gdbarch) / 8;
@@ -1838,9 +1837,9 @@ s390_prologue_frame_unwind_cache (struct frame_info *this_frame,
&& (next_frame == NULL
|| get_frame_type (get_next_frame (this_frame)) != NORMAL_FRAME))
{
- /* See the comment in s390_in_function_epilogue_p on why this is
+ /* See the comment in s390_stack_frame_destroyed_p on why this is
not completely reliable ... */
- if (s390_in_function_epilogue_p (gdbarch, get_frame_pc (this_frame)))
+ if (s390_stack_frame_destroyed_p (gdbarch, get_frame_pc (this_frame)))
{
memset (&data, 0, sizeof (data));
size = 0;
@@ -3220,7 +3219,7 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_inner_than (gdbarch, core_addr_lessthan);
set_gdbarch_breakpoint_from_pc (gdbarch, s390_breakpoint_from_pc);
set_gdbarch_skip_prologue (gdbarch, s390_skip_prologue);
- set_gdbarch_in_function_epilogue_p (gdbarch, s390_in_function_epilogue_p);
+ set_gdbarch_stack_frame_destroyed_p (gdbarch, s390_stack_frame_destroyed_p);
set_gdbarch_num_regs (gdbarch, S390_NUM_REGS);
set_gdbarch_sp_regnum (gdbarch, S390_SP_REGNUM);
@@ -3330,8 +3329,6 @@ s390_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_fetch_tls_load_module_address (gdbarch,
svr4_fetch_objfile_link_map);
- set_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
-
/* SystemTap functions. */
set_gdbarch_stap_register_prefixes (gdbarch, stap_register_prefixes);
set_gdbarch_stap_register_indirection_prefixes (gdbarch,
diff --git a/gdb/score-tdep.c b/gdb/score-tdep.c
index 9cd50380e8e..ef9336ead0a 100644
--- a/gdb/score-tdep.c
+++ b/gdb/score-tdep.c
@@ -737,8 +737,10 @@ score3_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
return pc;
}
+/* Implement the stack_frame_destroyed_p gdbarch method. */
+
static int
-score7_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR cur_pc)
+score7_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR cur_pc)
{
inst_t *inst = score7_fetch_inst (gdbarch, cur_pc, NULL);
@@ -761,8 +763,10 @@ score7_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR cur_pc)
return 0;
}
+/* Implement the stack_frame_destroyed_p gdbarch method. */
+
static int
-score3_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR cur_pc)
+score3_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR cur_pc)
{
CORE_ADDR pc = cur_pc;
inst_t *inst
@@ -1494,8 +1498,8 @@ score_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
case bfd_mach_score7:
set_gdbarch_breakpoint_from_pc (gdbarch, score7_breakpoint_from_pc);
set_gdbarch_skip_prologue (gdbarch, score7_skip_prologue);
- set_gdbarch_in_function_epilogue_p (gdbarch,
- score7_in_function_epilogue_p);
+ set_gdbarch_stack_frame_destroyed_p (gdbarch,
+ score7_stack_frame_destroyed_p);
set_gdbarch_register_name (gdbarch, score7_register_name);
set_gdbarch_num_regs (gdbarch, SCORE7_NUM_REGS);
/* Core file support. */
@@ -1506,8 +1510,8 @@ score_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
case bfd_mach_score3:
set_gdbarch_breakpoint_from_pc (gdbarch, score3_breakpoint_from_pc);
set_gdbarch_skip_prologue (gdbarch, score3_skip_prologue);
- set_gdbarch_in_function_epilogue_p (gdbarch,
- score3_in_function_epilogue_p);
+ set_gdbarch_stack_frame_destroyed_p (gdbarch,
+ score3_stack_frame_destroyed_p);
set_gdbarch_register_name (gdbarch, score3_register_name);
set_gdbarch_num_regs (gdbarch, SCORE3_NUM_REGS);
break;
diff --git a/gdb/sh-tdep.c b/gdb/sh-tdep.c
index 82cf2f4754f..6f66f0ea28e 100644
--- a/gdb/sh-tdep.c
+++ b/gdb/sh-tdep.c
@@ -2050,11 +2050,14 @@ static const struct frame_unwind sh_stub_unwind =
sh_stub_unwind_sniffer
};
-/* The epilogue is defined here as the area at the end of a function,
+/* Implement the stack_frame_destroyed_p gdbarch method.
+
+ The epilogue is defined here as the area at the end of a function,
either on the `ret' instruction itself or after an instruction which
destroys the function's stack frame. */
+
static int
-sh_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+sh_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
CORE_ADDR func_addr = 0, func_end = 0;
@@ -2294,7 +2297,7 @@ sh_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_dummy_id (gdbarch, sh_dummy_id);
frame_base_set_default (gdbarch, &sh_frame_base);
- set_gdbarch_in_function_epilogue_p (gdbarch, sh_in_function_epilogue_p);
+ set_gdbarch_stack_frame_destroyed_p (gdbarch, sh_stack_frame_destroyed_p);
dwarf2_frame_set_init_reg (gdbarch, sh_dwarf2_frame_init_reg);
diff --git a/gdb/solib-target.c b/gdb/solib-target.c
index bd8f58ad8c7..f14363a4d98 100644
--- a/gdb/solib-target.c
+++ b/gdb/solib-target.c
@@ -146,12 +146,18 @@ library_list_start_list (struct gdb_xml_parser *parser,
const struct gdb_xml_element *element,
void *user_data, VEC(gdb_xml_value_s) *attributes)
{
- char *version = xml_find_attribute (attributes, "version")->value;
+ struct gdb_xml_value *version = xml_find_attribute (attributes, "version");
- if (strcmp (version, "1.0") != 0)
- gdb_xml_error (parser,
- _("Library list has unsupported version \"%s\""),
- version);
+ /* #FIXED attribute may be omitted, Expat returns NULL in such case. */
+ if (version != NULL)
+ {
+ const char *string = version->value;
+
+ if (strcmp (string, "1.0") != 0)
+ gdb_xml_error (parser,
+ _("Library list has unsupported version \"%s\""),
+ version);
+ }
}
/* Discard the constructed library list. */
@@ -210,7 +216,7 @@ static const struct gdb_xml_element library_list_children[] = {
};
static const struct gdb_xml_attribute library_list_attributes[] = {
- { "version", GDB_XML_AF_NONE, NULL, NULL },
+ { "version", GDB_XML_AF_OPTIONAL, NULL, NULL },
{ NULL, GDB_XML_AF_NONE, NULL, NULL }
};
diff --git a/gdb/solib.c b/gdb/solib.c
index 0010c2fe45c..eb933c044d5 100644
--- a/gdb/solib.c
+++ b/gdb/solib.c
@@ -158,32 +158,27 @@ solib_find_1 (char *in_pathname, int *fd, int is_solib)
const char *fskind = effective_target_file_system_kind ();
struct cleanup *old_chain = make_cleanup (null_cleanup, NULL);
char *sysroot = gdb_sysroot;
-
- if (sysroot != NULL)
- {
- /* If the absolute prefix starts with "target:" but the
- filesystem accessed by the target_fileio_* methods
- is the local filesystem then we strip the "target:"
- prefix now and work with the local filesystem. This
- ensures that the same search algorithm is used for
- all local files regardless of whether a "target:"
- prefix was used. */
- if (is_target_filename (sysroot) && target_filesystem_is_local ())
- sysroot += strlen (TARGET_SYSROOT_PREFIX);
-
- if (*sysroot == '\0')
- sysroot = NULL;
- }
-
- if (sysroot != NULL)
+ int prefix_len, orig_prefix_len;
+
+ /* If the absolute prefix starts with "target:" but the filesystem
+ accessed by the target_fileio_* methods is the local filesystem
+ then we strip the "target:" prefix now and work with the local
+ filesystem. This ensures that the same search algorithm is used
+ for all local files regardless of whether a "target:" prefix was
+ used. */
+ if (is_target_filename (sysroot) && target_filesystem_is_local ())
+ sysroot += strlen (TARGET_SYSROOT_PREFIX);
+
+ /* Strip any trailing slashes from the absolute prefix. */
+ prefix_len = orig_prefix_len = strlen (sysroot);
+
+ while (prefix_len > 0 && IS_DIR_SEPARATOR (sysroot[prefix_len - 1]))
+ prefix_len--;
+
+ if (prefix_len == 0)
+ sysroot = NULL;
+ else if (prefix_len != orig_prefix_len)
{
- int prefix_len = strlen (sysroot);
-
- /* Remove trailing slashes from absolute prefix. */
- while (prefix_len > 0
- && IS_DIR_SEPARATOR (sysroot[prefix_len - 1]))
- prefix_len--;
-
sysroot = savestring (sysroot, prefix_len);
make_cleanup (xfree, sysroot);
}
diff --git a/gdb/sparc-tdep.c b/gdb/sparc-tdep.c
index aae4604945e..5c777841d6b 100644
--- a/gdb/sparc-tdep.c
+++ b/gdb/sparc-tdep.c
@@ -452,10 +452,10 @@ sparc32_pseudo_register_write (struct gdbarch *gdbarch,
regcache_raw_write (regcache, regnum + 1, buf + 4);
}
-/* Implement "in_function_epilogue_p". */
+/* Implement the stack_frame_destroyed_p gdbarch method. */
int
-sparc_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+sparc_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
/* This function must return true if we are one instruction after an
instruction that destroyed the stack frame of the current
diff --git a/gdb/sparc-tdep.h b/gdb/sparc-tdep.h
index b21652992ea..905d213701d 100644
--- a/gdb/sparc-tdep.h
+++ b/gdb/sparc-tdep.h
@@ -194,7 +194,7 @@ extern struct sparc_frame_cache *
sparc32_frame_cache (struct frame_info *this_frame, void **this_cache);
extern int
- sparc_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc);
+ sparc_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc);
diff --git a/gdb/sparc64-tdep.c b/gdb/sparc64-tdep.c
index eba810153b9..49788631602 100644
--- a/gdb/sparc64-tdep.c
+++ b/gdb/sparc64-tdep.c
@@ -1211,7 +1211,7 @@ sparc64_init_abi (struct gdbarch_info info, struct gdbarch *gdbarch)
(gdbarch, default_stabs_argument_has_addr);
set_gdbarch_skip_prologue (gdbarch, sparc64_skip_prologue);
- set_gdbarch_in_function_epilogue_p (gdbarch, sparc_in_function_epilogue_p);
+ set_gdbarch_stack_frame_destroyed_p (gdbarch, sparc_stack_frame_destroyed_p);
/* Hook in the DWARF CFI frame unwinder. */
dwarf2_frame_set_init_reg (gdbarch, sparc64_dwarf2_frame_init_reg);
diff --git a/gdb/spu-tdep.c b/gdb/spu-tdep.c
index 7e05834ed59..e2cd91f7722 100644
--- a/gdb/spu-tdep.c
+++ b/gdb/spu-tdep.c
@@ -881,8 +881,7 @@ spu_virtual_frame_pointer (struct gdbarch *gdbarch, CORE_ADDR pc,
}
}
-/* Return true if we are in the function's epilogue, i.e. after the
- instruction that destroyed the function's stack frame.
+/* Implement the stack_frame_destroyed_p gdbarch method.
1) scan forward from the point of execution:
a) If you find an instruction that modifies the stack pointer
@@ -899,7 +898,7 @@ spu_virtual_frame_pointer (struct gdbarch *gdbarch, CORE_ADDR pc,
limit for the size of an epilogue. */
static int
-spu_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+spu_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
CORE_ADDR scan_pc, func_start, func_end, epilogue_start, epilogue_end;
@@ -2785,7 +2784,7 @@ spu_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_virtual_frame_pointer (gdbarch, spu_virtual_frame_pointer);
set_gdbarch_frame_args_skip (gdbarch, 0);
set_gdbarch_skip_prologue (gdbarch, spu_skip_prologue);
- set_gdbarch_in_function_epilogue_p (gdbarch, spu_in_function_epilogue_p);
+ set_gdbarch_stack_frame_destroyed_p (gdbarch, spu_stack_frame_destroyed_p);
/* Cell/B.E. cross-architecture unwinder support. */
frame_unwind_prepend_unwinder (gdbarch, &spu2ppu_unwind);
diff --git a/gdb/stabsread.h b/gdb/stabsread.h
index 07e7a6ebcfe..dbf5e1de864 100644
--- a/gdb/stabsread.h
+++ b/gdb/stabsread.h
@@ -189,8 +189,6 @@ extern void coffstab_build_psymtabs
extern void stabsect_build_psymtabs (struct objfile *objfile, char *stab_name,
char *stabstr_name, char *text_name);
-extern void elfstab_offset_sections (struct objfile *,
- struct partial_symtab *);
extern int symbol_reference_defined (char **);
extern void ref_add (int, struct symbol *, char *, CORE_ADDR);
diff --git a/gdb/stub-termcap.c b/gdb/stub-termcap.c
index 722929f741c..2ee1c04469f 100644
--- a/gdb/stub-termcap.c
+++ b/gdb/stub-termcap.c
@@ -22,8 +22,6 @@
#include "defs.h"
-#include <stdlib.h>
-
#ifdef __cplusplus
extern "C" {
#endif
diff --git a/gdb/symtab.c b/gdb/symtab.c
index 72df872a9e7..2b6af6ccd19 100644
--- a/gdb/symtab.c
+++ b/gdb/symtab.c
@@ -2804,12 +2804,39 @@ basic_lookup_transparent_type_quick (struct objfile *objfile, int block_index,
bv = COMPUNIT_BLOCKVECTOR (cust);
block = BLOCKVECTOR_BLOCK (bv, block_index);
- sym = block_lookup_symbol (block, name, STRUCT_DOMAIN);
- if (!sym)
+ sym = block_find_symbol (block, name, STRUCT_DOMAIN,
+ block_find_non_opaque_type, NULL);
+ if (sym == NULL)
error_in_psymtab_expansion (block_index, name, cust);
+ gdb_assert (!TYPE_IS_OPAQUE (SYMBOL_TYPE (sym)));
+ return SYMBOL_TYPE (sym);
+}
+
+/* Subroutine of basic_lookup_transparent_type to simplify it.
+ Look up the non-opaque definition of NAME in BLOCK_INDEX of OBJFILE.
+ BLOCK_INDEX is either GLOBAL_BLOCK or STATIC_BLOCK. */
+
+static struct type *
+basic_lookup_transparent_type_1 (struct objfile *objfile, int block_index,
+ const char *name)
+{
+ const struct compunit_symtab *cust;
+ const struct blockvector *bv;
+ const struct block *block;
+ const struct symbol *sym;
- if (!TYPE_IS_OPAQUE (SYMBOL_TYPE (sym)))
- return SYMBOL_TYPE (sym);
+ ALL_OBJFILE_COMPUNITS (objfile, cust)
+ {
+ bv = COMPUNIT_BLOCKVECTOR (cust);
+ block = BLOCKVECTOR_BLOCK (bv, block_index);
+ sym = block_find_symbol (block, name, STRUCT_DOMAIN,
+ block_find_non_opaque_type, NULL);
+ if (sym != NULL)
+ {
+ gdb_assert (!TYPE_IS_OPAQUE (SYMBOL_TYPE (sym)));
+ return SYMBOL_TYPE (sym);
+ }
+ }
return NULL;
}
@@ -2837,16 +2864,9 @@ basic_lookup_transparent_type (const char *name)
ALL_OBJFILES (objfile)
{
- ALL_OBJFILE_COMPUNITS (objfile, cust)
- {
- bv = COMPUNIT_BLOCKVECTOR (cust);
- block = BLOCKVECTOR_BLOCK (bv, GLOBAL_BLOCK);
- sym = block_lookup_symbol (block, name, STRUCT_DOMAIN);
- if (sym && !TYPE_IS_OPAQUE (SYMBOL_TYPE (sym)))
- {
- return SYMBOL_TYPE (sym);
- }
- }
+ t = basic_lookup_transparent_type_1 (objfile, GLOBAL_BLOCK, name);
+ if (t)
+ return t;
}
ALL_OBJFILES (objfile)
@@ -2865,16 +2885,9 @@ basic_lookup_transparent_type (const char *name)
ALL_OBJFILES (objfile)
{
- ALL_OBJFILE_COMPUNITS (objfile, cust)
- {
- bv = COMPUNIT_BLOCKVECTOR (cust);
- block = BLOCKVECTOR_BLOCK (bv, STATIC_BLOCK);
- sym = block_lookup_symbol (block, name, STRUCT_DOMAIN);
- if (sym && !TYPE_IS_OPAQUE (SYMBOL_TYPE (sym)))
- {
- return SYMBOL_TYPE (sym);
- }
- }
+ t = basic_lookup_transparent_type_1 (objfile, STATIC_BLOCK, name);
+ if (t)
+ return t;
}
ALL_OBJFILES (objfile)
@@ -3592,7 +3605,9 @@ find_pc_line_pc_range (CORE_ADDR pc, CORE_ADDR *startptr, CORE_ADDR *endptr)
/* Given a function symbol SYM, find the symtab and line for the start
of the function.
If the argument FUNFIRSTLINE is nonzero, we want the first line
- of real code inside the function. */
+ of real code inside the function.
+ This function should return SALs matching those from minsym_found,
+ otherwise false multiple-locations breakpoints could be placed. */
struct symtab_and_line
find_function_start_sal (struct symbol *sym, int funfirstline)
@@ -3604,6 +3619,14 @@ find_function_start_sal (struct symbol *sym, int funfirstline)
section = SYMBOL_OBJ_SECTION (symbol_objfile (sym), sym);
sal = find_pc_sect_line (BLOCK_START (SYMBOL_BLOCK_VALUE (sym)), section, 0);
+ if (funfirstline && sal.symtab != NULL
+ && (COMPUNIT_LOCATIONS_VALID (SYMTAB_COMPUNIT (sal.symtab))
+ || SYMTAB_LANGUAGE (sal.symtab) == language_asm))
+ {
+ sal.pc = BLOCK_START (SYMBOL_BLOCK_VALUE (sym));
+ return sal;
+ }
+
/* We always should have a line for the function start address.
If we don't, something is odd. Create a plain SAL refering
just the PC and hope that skip_prologue_sal (if requested)
diff --git a/gdb/syscalls/s390-linux.xml b/gdb/syscalls/s390-linux.xml
index 9cecfeef1d9..a45011e2aa0 100644
--- a/gdb/syscalls/s390-linux.xml
+++ b/gdb/syscalls/s390-linux.xml
@@ -328,4 +328,15 @@
<syscall name="process_vm_writev" number="341"/>
<syscall name="s390_runtime_instr" number="342"/>
<syscall name="kcmp" number="343"/>
+ <syscall name="finit_module" number="344"/>
+ <syscall name="sched_setattr" number="345"/>
+ <syscall name="sched_getattr" number="346"/>
+ <syscall name="renameat2" number="347"/>
+ <syscall name="seccomp" number="348"/>
+ <syscall name="getrandom" number="349"/>
+ <syscall name="memfd_create" number="350"/>
+ <syscall name="bpf" number="351"/>
+ <syscall name="s390_pci_mmio_write" number="352"/>
+ <syscall name="s390_pci_mmio_read" number="353"/>
+ <syscall name="execveat" number="354"/>
</syscalls_info>
diff --git a/gdb/syscalls/s390x-linux.xml b/gdb/syscalls/s390x-linux.xml
index 7e727fb1fed..f2c046c48d1 100644
--- a/gdb/syscalls/s390x-linux.xml
+++ b/gdb/syscalls/s390x-linux.xml
@@ -295,4 +295,15 @@
<syscall name="process_vm_writev" number="341"/>
<syscall name="s390_runtime_instr" number="342"/>
<syscall name="kcmp" number="343"/>
+ <syscall name="finit_module" number="344"/>
+ <syscall name="sched_setattr" number="345"/>
+ <syscall name="sched_getattr" number="346"/>
+ <syscall name="renameat2" number="347"/>
+ <syscall name="seccomp" number="348"/>
+ <syscall name="getrandom" number="349"/>
+ <syscall name="memfd_create" number="350"/>
+ <syscall name="bpf" number="351"/>
+ <syscall name="s390_pci_mmio_write" number="352"/>
+ <syscall name="s390_pci_mmio_read" number="353"/>
+ <syscall name="execveat" number="354"/>
</syscalls_info>
diff --git a/gdb/target.c b/gdb/target.c
index 306c21d8060..4e2d0059680 100644
--- a/gdb/target.c
+++ b/gdb/target.c
@@ -1592,28 +1592,37 @@ target_read (struct target_ops *ops,
const char *annex, gdb_byte *buf,
ULONGEST offset, LONGEST len)
{
- LONGEST xfered = 0;
+ LONGEST xfered_total = 0;
+ int unit_size = 1;
- while (xfered < len)
+ /* If we are reading from a memory object, find the length of an addressable
+ unit for that architecture. */
+ if (object == TARGET_OBJECT_MEMORY
+ || object == TARGET_OBJECT_STACK_MEMORY
+ || object == TARGET_OBJECT_CODE_MEMORY
+ || object == TARGET_OBJECT_RAW_MEMORY)
+ unit_size = gdbarch_addressable_memory_unit_size (target_gdbarch ());
+
+ while (xfered_total < len)
{
- ULONGEST xfered_len;
+ ULONGEST xfered_partial;
enum target_xfer_status status;
status = target_read_partial (ops, object, annex,
- (gdb_byte *) buf + xfered,
- offset + xfered, len - xfered,
- &xfered_len);
+ buf + xfered_total * unit_size,
+ offset + xfered_total, len - xfered_total,
+ &xfered_partial);
/* Call an observer, notifying them of the xfer progress? */
if (status == TARGET_XFER_EOF)
- return xfered;
+ return xfered_total;
else if (status == TARGET_XFER_OK)
{
- xfered += xfered_len;
+ xfered_total += xfered_partial;
QUIT;
}
else
- return -1;
+ return TARGET_XFER_E_IO;
}
return len;
@@ -1642,7 +1651,8 @@ target_read (struct target_ops *ops,
static void
read_whatever_is_readable (struct target_ops *ops,
- ULONGEST begin, ULONGEST end,
+ const ULONGEST begin, const ULONGEST end,
+ int unit_size,
VEC(memory_read_result_s) **result)
{
gdb_byte *buf = xmalloc (end - begin);
@@ -1669,7 +1679,7 @@ read_whatever_is_readable (struct target_ops *ops,
++current_begin;
}
else if (target_read_partial (ops, TARGET_OBJECT_MEMORY, NULL,
- buf + (end-begin) - 1, end - 1, 1,
+ buf + (end - begin) - 1, end - 1, 1,
&xfered_len) == TARGET_XFER_OK)
{
forward = 0;
@@ -1691,7 +1701,7 @@ read_whatever_is_readable (struct target_ops *ops,
ULONGEST first_half_begin, first_half_end;
ULONGEST second_half_begin, second_half_end;
LONGEST xfer;
- ULONGEST middle = current_begin + (current_end - current_begin)/2;
+ ULONGEST middle = current_begin + (current_end - current_begin) / 2;
if (forward)
{
@@ -1709,7 +1719,7 @@ read_whatever_is_readable (struct target_ops *ops,
}
xfer = target_read (ops, TARGET_OBJECT_MEMORY, NULL,
- buf + (first_half_begin - begin),
+ buf + (first_half_begin - begin) * unit_size,
first_half_begin,
first_half_end - first_half_begin);
@@ -1723,7 +1733,7 @@ read_whatever_is_readable (struct target_ops *ops,
else
{
/* This half is not readable. Because we've tried one byte, we
- know some part of this half if actually redable. Go to the next
+ know some part of this half if actually readable. Go to the next
iteration to divide again and try to read.
We don't handle the other half, because this function only tries
@@ -1743,10 +1753,11 @@ read_whatever_is_readable (struct target_ops *ops,
else
{
/* The [current_end, end) range has been read. */
- LONGEST rlen = end - current_end;
+ LONGEST region_len = end - current_end;
- r.data = xmalloc (rlen);
- memcpy (r.data, buf + current_end - begin, rlen);
+ r.data = xmalloc (region_len * unit_size);
+ memcpy (r.data, buf + (current_end - begin) * unit_size,
+ region_len * unit_size);
r.begin = current_end;
r.end = end;
xfree (buf);
@@ -1769,57 +1780,60 @@ free_memory_read_result_vector (void *x)
}
VEC(memory_read_result_s) *
-read_memory_robust (struct target_ops *ops, ULONGEST offset, LONGEST len)
+read_memory_robust (struct target_ops *ops,
+ const ULONGEST offset, const LONGEST len)
{
VEC(memory_read_result_s) *result = 0;
+ int unit_size = gdbarch_addressable_memory_unit_size (target_gdbarch ());
- LONGEST xfered = 0;
- while (xfered < len)
+ LONGEST xfered_total = 0;
+ while (xfered_total < len)
{
- struct mem_region *region = lookup_mem_region (offset + xfered);
- LONGEST rlen;
+ struct mem_region *region = lookup_mem_region (offset + xfered_total);
+ LONGEST region_len;
/* If there is no explicit region, a fake one should be created. */
gdb_assert (region);
if (region->hi == 0)
- rlen = len - xfered;
+ region_len = len - xfered_total;
else
- rlen = region->hi - offset;
+ region_len = region->hi - offset;
if (region->attrib.mode == MEM_NONE || region->attrib.mode == MEM_WO)
{
/* Cannot read this region. Note that we can end up here only
if the region is explicitly marked inaccessible, or
'inaccessible-by-default' is in effect. */
- xfered += rlen;
+ xfered_total += region_len;
}
else
{
- LONGEST to_read = min (len - xfered, rlen);
- gdb_byte *buffer = (gdb_byte *)xmalloc (to_read);
+ LONGEST to_read = min (len - xfered_total, region_len);
+ gdb_byte *buffer = (gdb_byte *) xmalloc (to_read * unit_size);
- LONGEST xfer = target_read (ops, TARGET_OBJECT_MEMORY, NULL,
- (gdb_byte *) buffer,
- offset + xfered, to_read);
+ LONGEST xfered_partial =
+ target_read (ops, TARGET_OBJECT_MEMORY, NULL,
+ (gdb_byte *) buffer,
+ offset + xfered_total, to_read);
/* Call an observer, notifying them of the xfer progress? */
- if (xfer <= 0)
+ if (xfered_partial <= 0)
{
/* Got an error reading full chunk. See if maybe we can read
some subrange. */
xfree (buffer);
- read_whatever_is_readable (ops, offset + xfered,
- offset + xfered + to_read, &result);
- xfered += to_read;
+ read_whatever_is_readable (ops, offset + xfered_total, unit_size,
+ offset + xfered_total + to_read, &result);
+ xfered_total += to_read;
}
else
{
struct memory_read_result r;
r.data = buffer;
- r.begin = offset + xfered;
- r.end = r.begin + xfer;
+ r.begin = offset + xfered_total;
+ r.end = r.begin + xfered_partial;
VEC_safe_push (memory_read_result_s, result, &r);
- xfered += xfer;
+ xfered_total += xfered_partial;
}
QUIT;
}
@@ -1837,29 +1851,38 @@ target_write_with_progress (struct target_ops *ops,
ULONGEST offset, LONGEST len,
void (*progress) (ULONGEST, void *), void *baton)
{
- LONGEST xfered = 0;
+ LONGEST xfered_total = 0;
+ int unit_size = 1;
+
+ /* If we are writing to a memory object, find the length of an addressable
+ unit for that architecture. */
+ if (object == TARGET_OBJECT_MEMORY
+ || object == TARGET_OBJECT_STACK_MEMORY
+ || object == TARGET_OBJECT_CODE_MEMORY
+ || object == TARGET_OBJECT_RAW_MEMORY)
+ unit_size = gdbarch_addressable_memory_unit_size (target_gdbarch ());
/* Give the progress callback a chance to set up. */
if (progress)
(*progress) (0, baton);
- while (xfered < len)
+ while (xfered_total < len)
{
- ULONGEST xfered_len;
+ ULONGEST xfered_partial;
enum target_xfer_status status;
status = target_write_partial (ops, object, annex,
- (gdb_byte *) buf + xfered,
- offset + xfered, len - xfered,
- &xfered_len);
+ buf + xfered_total * unit_size,
+ offset + xfered_total, len - xfered_total,
+ &xfered_partial);
if (status != TARGET_XFER_OK)
- return status == TARGET_XFER_EOF ? xfered : -1;
+ return status == TARGET_XFER_EOF ? xfered_total : TARGET_XFER_E_IO;
if (progress)
- (*progress) (xfered_len, baton);
+ (*progress) (xfered_partial, baton);
- xfered += xfered_len;
+ xfered_total += xfered_partial;
QUIT;
}
return len;
@@ -2756,12 +2779,11 @@ release_fileio_fd (int fd, fileio_fh_t *fh)
#define fileio_fd_to_fh(fd) \
VEC_index (fileio_fh_t, fileio_fhandles, (fd))
-/* Open FILENAME on the target, using FLAGS and MODE. Return a
- target file descriptor, or -1 if an error occurs (and set
- *TARGET_ERRNO). */
+/* See target.h. */
+
int
-target_fileio_open (const char *filename, int flags, int mode,
- int *target_errno)
+target_fileio_open (struct inferior *inf, const char *filename,
+ int flags, int mode, int *target_errno)
{
struct target_ops *t;
@@ -2769,7 +2791,8 @@ target_fileio_open (const char *filename, int flags, int mode,
{
if (t->to_fileio_open != NULL)
{
- int fd = t->to_fileio_open (t, filename, flags, mode, target_errno);
+ int fd = t->to_fileio_open (t, inf, filename, flags, mode,
+ target_errno);
if (fd < 0)
fd = -1;
@@ -2778,7 +2801,9 @@ target_fileio_open (const char *filename, int flags, int mode,
if (targetdebug)
fprintf_unfiltered (gdb_stdlog,
- "target_fileio_open (%s,0x%x,0%o) = %d (%d)\n",
+ "target_fileio_open (%d,%s,0x%x,0%o)"
+ " = %d (%d)\n",
+ inf == NULL ? 0 : inf->num,
filename, flags, mode,
fd, fd != -1 ? 0 : *target_errno);
return fd;
@@ -2789,9 +2814,8 @@ target_fileio_open (const char *filename, int flags, int mode,
return -1;
}
-/* Write up to LEN bytes from WRITE_BUF to FD on the target.
- Return the number of bytes written, or -1 if an error occurs
- (and set *TARGET_ERRNO). */
+/* See target.h. */
+
int
target_fileio_pwrite (int fd, const gdb_byte *write_buf, int len,
ULONGEST offset, int *target_errno)
@@ -2814,9 +2838,8 @@ target_fileio_pwrite (int fd, const gdb_byte *write_buf, int len,
return ret;
}
-/* Read up to LEN bytes FD on the target into READ_BUF.
- Return the number of bytes read, or -1 if an error occurs
- (and set *TARGET_ERRNO). */
+/* See target.h. */
+
int
target_fileio_pread (int fd, gdb_byte *read_buf, int len,
ULONGEST offset, int *target_errno)
@@ -2840,6 +2863,7 @@ target_fileio_pread (int fd, gdb_byte *read_buf, int len,
}
/* See target.h. */
+
int
target_fileio_fstat (int fd, struct stat *sb, int *target_errno)
{
@@ -2858,8 +2882,8 @@ target_fileio_fstat (int fd, struct stat *sb, int *target_errno)
return ret;
}
-/* Close FD on the target. Return 0, or -1 if an error occurs
- (and set *TARGET_ERRNO). */
+/* See target.h. */
+
int
target_fileio_close (int fd, int *target_errno)
{
@@ -2881,10 +2905,11 @@ target_fileio_close (int fd, int *target_errno)
return ret;
}
-/* Unlink FILENAME on the target. Return 0, or -1 if an error
- occurs (and set *TARGET_ERRNO). */
+/* See target.h. */
+
int
-target_fileio_unlink (const char *filename, int *target_errno)
+target_fileio_unlink (struct inferior *inf, const char *filename,
+ int *target_errno)
{
struct target_ops *t;
@@ -2892,12 +2917,15 @@ target_fileio_unlink (const char *filename, int *target_errno)
{
if (t->to_fileio_unlink != NULL)
{
- int ret = t->to_fileio_unlink (t, filename, target_errno);
+ int ret = t->to_fileio_unlink (t, inf, filename,
+ target_errno);
if (targetdebug)
fprintf_unfiltered (gdb_stdlog,
- "target_fileio_unlink (%s) = %d (%d)\n",
- filename, ret, ret != -1 ? 0 : *target_errno);
+ "target_fileio_unlink (%d,%s)"
+ " = %d (%d)\n",
+ inf == NULL ? 0 : inf->num, filename,
+ ret, ret != -1 ? 0 : *target_errno);
return ret;
}
}
@@ -2906,11 +2934,11 @@ target_fileio_unlink (const char *filename, int *target_errno)
return -1;
}
-/* Read value of symbolic link FILENAME on the target. Return a
- null-terminated string allocated via xmalloc, or NULL if an error
- occurs (and set *TARGET_ERRNO). */
+/* See target.h. */
+
char *
-target_fileio_readlink (const char *filename, int *target_errno)
+target_fileio_readlink (struct inferior *inf, const char *filename,
+ int *target_errno)
{
struct target_ops *t;
@@ -2918,11 +2946,14 @@ target_fileio_readlink (const char *filename, int *target_errno)
{
if (t->to_fileio_readlink != NULL)
{
- char *ret = t->to_fileio_readlink (t, filename, target_errno);
+ char *ret = t->to_fileio_readlink (t, inf, filename,
+ target_errno);
if (targetdebug)
fprintf_unfiltered (gdb_stdlog,
- "target_fileio_readlink (%s) = %s (%d)\n",
+ "target_fileio_readlink (%d,%s)"
+ " = %s (%d)\n",
+ inf == NULL ? 0 : inf->num,
filename, ret? ret : "(nil)",
ret? 0 : *target_errno);
return ret;
@@ -2942,14 +2973,16 @@ target_fileio_close_cleanup (void *opaque)
target_fileio_close (fd, &target_errno);
}
-/* Read target file FILENAME. Store the result in *BUF_P and
- return the size of the transferred data. PADDING additional bytes are
- available in *BUF_P. This is a helper function for
- target_fileio_read_alloc; see the declaration of that function for more
- information. */
+/* Read target file FILENAME, in the filesystem as seen by INF. If
+ INF is NULL, use the filesystem seen by the debugger (GDB or, for
+ remote targets, the remote stub). Store the result in *BUF_P and
+ return the size of the transferred data. PADDING additional bytes
+ are available in *BUF_P. This is a helper function for
+ target_fileio_read_alloc; see the declaration of that function for
+ more information. */
static LONGEST
-target_fileio_read_alloc_1 (const char *filename,
+target_fileio_read_alloc_1 (struct inferior *inf, const char *filename,
gdb_byte **buf_p, int padding)
{
struct cleanup *close_cleanup;
@@ -2959,7 +2992,8 @@ target_fileio_read_alloc_1 (const char *filename,
int fd;
int target_errno;
- fd = target_fileio_open (filename, FILEIO_O_RDONLY, 0700, &target_errno);
+ fd = target_fileio_open (inf, filename, FILEIO_O_RDONLY, 0700,
+ &target_errno);
if (fd == -1)
return -1;
@@ -3006,30 +3040,25 @@ target_fileio_read_alloc_1 (const char *filename,
}
}
-/* Read target file FILENAME. Store the result in *BUF_P and return
- the size of the transferred data. See the declaration in "target.h"
- function for more information about the return value. */
+/* See target.h. */
LONGEST
-target_fileio_read_alloc (const char *filename, gdb_byte **buf_p)
+target_fileio_read_alloc (struct inferior *inf, const char *filename,
+ gdb_byte **buf_p)
{
- return target_fileio_read_alloc_1 (filename, buf_p, 0);
+ return target_fileio_read_alloc_1 (inf, filename, buf_p, 0);
}
-/* Read target file FILENAME. The result is NUL-terminated and
- returned as a string, allocated using xmalloc. If an error occurs
- or the transfer is unsupported, NULL is returned. Empty objects
- are returned as allocated but empty strings. A warning is issued
- if the result contains any embedded NUL bytes. */
+/* See target.h. */
char *
-target_fileio_read_stralloc (const char *filename)
+target_fileio_read_stralloc (struct inferior *inf, const char *filename)
{
gdb_byte *buffer;
char *bufstr;
LONGEST i, transferred;
- transferred = target_fileio_read_alloc_1 (filename, &buffer, 1);
+ transferred = target_fileio_read_alloc_1 (inf, filename, &buffer, 1);
bufstr = (char *) buffer;
if (transferred < 0)
diff --git a/gdb/target.h b/gdb/target.h
index 3a0ae7b1604..32234f7bba3 100644
--- a/gdb/target.h
+++ b/gdb/target.h
@@ -38,6 +38,7 @@ struct static_tracepoint_marker;
struct traceframe_info;
struct expression;
struct dcache_struct;
+struct inferior;
#include "infrun.h" /* For enum exec_direction_kind. */
@@ -264,13 +265,17 @@ typedef enum target_xfer_status
ULONGEST len,
ULONGEST *xfered_len);
-/* Request that OPS transfer up to LEN 8-bit bytes of the target's
- OBJECT. The OFFSET, for a seekable object, specifies the
- starting point. The ANNEX can be used to provide additional
- data-specific information to the target.
-
- Return the number of bytes actually transfered, or a negative error
- code (an 'enum target_xfer_error' value) if the transfer is not
+/* Request that OPS transfer up to LEN addressable units of the target's
+ OBJECT. When reading from a memory object, the size of an addressable unit
+ is architecture dependent and can be found using
+ gdbarch_addressable_memory_unit_size. Otherwise, an addressable unit is 1
+ byte long. BUF should point to a buffer large enough to hold the read data,
+ taking into account the addressable unit size. The OFFSET, for a seekable
+ object, specifies the starting point. The ANNEX can be used to provide
+ additional data-specific information to the target.
+
+ Return the number of addressable units actually transferred, or a negative
+ error code (an 'enum target_xfer_error' value) if the transfer is not
supported or otherwise fails. Return of a positive value less than
LEN indicates that no further transfer is possible. Unlike the raw
to_xfer_partial interface, callers of these functions do not need
@@ -296,9 +301,24 @@ DEF_VEC_O(memory_read_result_s);
extern void free_memory_read_result_vector (void *);
extern VEC(memory_read_result_s)* read_memory_robust (struct target_ops *ops,
- ULONGEST offset,
- LONGEST len);
-
+ const ULONGEST offset,
+ const LONGEST len);
+
+/* Request that OPS transfer up to LEN addressable units from BUF to the
+ target's OBJECT. When writing to a memory object, the addressable unit
+ size is architecture dependent and can be found using
+ gdbarch_addressable_memory_unit_size. Otherwise, an addressable unit is 1
+ byte long. The OFFSET, for a seekable object, specifies the starting point.
+ The ANNEX can be used to provide additional data-specific information to
+ the target.
+
+ Return the number of addressable units actually transferred, or a negative
+ error code (an 'enum target_xfer_status' value) if the transfer is not
+ supported or otherwise fails. Return of a positive value less than
+ LEN indicates that no further transfer is possible. Unlike the raw
+ to_xfer_partial interface, callers of these functions do not need to
+ retry partial transfers. */
+
extern LONGEST target_write (struct target_ops *ops,
enum target_object object,
const char *annex, const gdb_byte *buf,
@@ -830,18 +850,19 @@ struct target_ops
/* Target file operations. */
- /* Return nonzero if the filesystem accessed by the
- target_fileio_* methods is the local filesystem,
- zero otherwise. */
+ /* Return nonzero if the filesystem seen by the current inferior
+ is the local filesystem, zero otherwise. */
int (*to_filesystem_is_local) (struct target_ops *)
TARGET_DEFAULT_RETURN (1);
- /* Open FILENAME on the target, using FLAGS and MODE. Return a
- target file descriptor, or -1 if an error occurs (and set
- *TARGET_ERRNO). */
+ /* Open FILENAME on the target, in the filesystem as seen by INF,
+ using FLAGS and MODE. If INF is NULL, use the filesystem seen
+ by the debugger (GDB or, for remote targets, the remote stub).
+ Return a target file descriptor, or -1 if an error occurs (and
+ set *TARGET_ERRNO). */
int (*to_fileio_open) (struct target_ops *,
- const char *filename, int flags, int mode,
- int *target_errno);
+ struct inferior *inf, const char *filename,
+ int flags, int mode, int *target_errno);
/* Write up to LEN bytes from WRITE_BUF to FD on the target.
Return the number of bytes written, or -1 if an error occurs
@@ -867,16 +888,24 @@ struct target_ops
(and set *TARGET_ERRNO). */
int (*to_fileio_close) (struct target_ops *, int fd, int *target_errno);
- /* Unlink FILENAME on the target. Return 0, or -1 if an error
- occurs (and set *TARGET_ERRNO). */
+ /* Unlink FILENAME on the target, in the filesystem as seen by
+ INF. If INF is NULL, use the filesystem seen by the debugger
+ (GDB or, for remote targets, the remote stub). Return 0, or
+ -1 if an error occurs (and set *TARGET_ERRNO). */
int (*to_fileio_unlink) (struct target_ops *,
- const char *filename, int *target_errno);
-
- /* Read value of symbolic link FILENAME on the target. Return a
- null-terminated string allocated via xmalloc, or NULL if an error
- occurs (and set *TARGET_ERRNO). */
+ struct inferior *inf,
+ const char *filename,
+ int *target_errno);
+
+ /* Read value of symbolic link FILENAME on the target, in the
+ filesystem as seen by INF. If INF is NULL, use the filesystem
+ seen by the debugger (GDB or, for remote targets, the remote
+ stub). Return a null-terminated string allocated via xmalloc,
+ or NULL if an error occurs (and set *TARGET_ERRNO). */
char *(*to_fileio_readlink) (struct target_ops *,
- const char *filename, int *target_errno);
+ struct inferior *inf,
+ const char *filename,
+ int *target_errno);
/* Implement the "info proc" command. */
@@ -1935,16 +1964,19 @@ extern int target_search_memory (CORE_ADDR start_addr,
/* Target file operations. */
-/* Return nonzero if the filesystem accessed by the target_fileio_*
- methods is the local filesystem, zero otherwise. */
+/* Return nonzero if the filesystem seen by the current inferior
+ is the local filesystem, zero otherwise. */
#define target_filesystem_is_local() \
current_target.to_filesystem_is_local (&current_target)
-/* Open FILENAME on the target, using FLAGS and MODE. Return a
- target file descriptor, or -1 if an error occurs (and set
- *TARGET_ERRNO). */
-extern int target_fileio_open (const char *filename, int flags, int mode,
- int *target_errno);
+/* Open FILENAME on the target, in the filesystem as seen by INF,
+ using FLAGS and MODE. If INF is NULL, use the filesystem seen
+ by the debugger (GDB or, for remote targets, the remote stub).
+ Return a target file descriptor, or -1 if an error occurs (and
+ set *TARGET_ERRNO). */
+extern int target_fileio_open (struct inferior *inf,
+ const char *filename, int flags,
+ int mode, int *target_errno);
/* Write up to LEN bytes from WRITE_BUF to FD on the target.
Return the number of bytes written, or -1 if an error occurs
@@ -1968,33 +2000,48 @@ extern int target_fileio_fstat (int fd, struct stat *sb,
(and set *TARGET_ERRNO). */
extern int target_fileio_close (int fd, int *target_errno);
-/* Unlink FILENAME on the target. Return 0, or -1 if an error
+/* Unlink FILENAME on the target, in the filesystem as seen by INF.
+ If INF is NULL, use the filesystem seen by the debugger (GDB or,
+ for remote targets, the remote stub). Return 0, or -1 if an error
occurs (and set *TARGET_ERRNO). */
-extern int target_fileio_unlink (const char *filename, int *target_errno);
-
-/* Read value of symbolic link FILENAME on the target. Return a
- null-terminated string allocated via xmalloc, or NULL if an error
- occurs (and set *TARGET_ERRNO). */
-extern char *target_fileio_readlink (const char *filename, int *target_errno);
-
-/* Read target file FILENAME. The return value will be -1 if the transfer
- fails or is not supported; 0 if the object is empty; or the length
- of the object otherwise. If a positive value is returned, a
- sufficiently large buffer will be allocated using xmalloc and
- returned in *BUF_P containing the contents of the object.
+extern int target_fileio_unlink (struct inferior *inf,
+ const char *filename,
+ int *target_errno);
+
+/* Read value of symbolic link FILENAME on the target, in the
+ filesystem as seen by INF. If INF is NULL, use the filesystem seen
+ by the debugger (GDB or, for remote targets, the remote stub).
+ Return a null-terminated string allocated via xmalloc, or NULL if
+ an error occurs (and set *TARGET_ERRNO). */
+extern char *target_fileio_readlink (struct inferior *inf,
+ const char *filename,
+ int *target_errno);
+
+/* Read target file FILENAME, in the filesystem as seen by INF. If
+ INF is NULL, use the filesystem seen by the debugger (GDB or, for
+ remote targets, the remote stub). The return value will be -1 if
+ the transfer fails or is not supported; 0 if the object is empty;
+ or the length of the object otherwise. If a positive value is
+ returned, a sufficiently large buffer will be allocated using
+ xmalloc and returned in *BUF_P containing the contents of the
+ object.
This method should be used for objects sufficiently small to store
in a single xmalloc'd buffer, when no fixed bound on the object's
size is known in advance. */
-extern LONGEST target_fileio_read_alloc (const char *filename,
+extern LONGEST target_fileio_read_alloc (struct inferior *inf,
+ const char *filename,
gdb_byte **buf_p);
-/* Read target file FILENAME. The result is NUL-terminated and
+/* Read target file FILENAME, in the filesystem as seen by INF. If
+ INF is NULL, use the filesystem seen by the debugger (GDB or, for
+ remote targets, the remote stub). The result is NUL-terminated and
returned as a string, allocated using xmalloc. If an error occurs
or the transfer is unsupported, NULL is returned. Empty objects
are returned as allocated but empty strings. A warning is issued
if the result contains any embedded NUL bytes. */
-extern char *target_fileio_read_stralloc (const char *filename);
+extern char *target_fileio_read_stralloc (struct inferior *inf,
+ const char *filename);
/* Tracepoint-related operations. */
diff --git a/gdb/target/target.h b/gdb/target/target.h
index 05ac7581177..6ee0feeec0b 100644
--- a/gdb/target/target.h
+++ b/gdb/target/target.h
@@ -21,8 +21,6 @@
#define TARGET_COMMON_H
#include "target/waitstatus.h"
-#include <stdint.h>
-
/* This header is a stopgap until more code is shared. */
/* Read LEN bytes of target memory at address MEMADDR, placing the
diff --git a/gdb/testsuite/ChangeLog b/gdb/testsuite/ChangeLog
index cc2c1565b8d..d9ec5460f5d 100644
--- a/gdb/testsuite/ChangeLog
+++ b/gdb/testsuite/ChangeLog
@@ -1,3 +1,260 @@
+2015-06-29 Pedro Alves <palves@redhat.com>
+
+ PR threads/18127
+ * gdb.threads/hand-call-new-thread.c: New file.
+ * gdb.threads/hand-call-new-thread.c: New file.
+
+2015-06-26 Keith Seitz <keiths@redhat.com>
+ Doug Evans <dje@google.com>
+
+ PR 16253
+ * gdb.cp/var-tag-2.cc: New file.
+ * gdb.cp/var-tag-3.cc: New file.
+ * gdb.cp/var-tag-4.cc: New file.
+ * gdb.cp/var-tag.cc: New file.
+ * gdb.cp/var-tag.exp: New file.
+
+2015-06-26 Patrick Palka <patrick@parcs.ath.cx>
+
+ * gdb.base/history-duplicates.exp: New test.
+
+2015-06-26 Patrick Palka <patrick@parcs.ath.cx>
+
+ * gdb.base/completion.exp: Test the completion of the "focus"
+ command.
+
+2015-06-26 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * gdb.arch/amd64-prologue-skip.S: New file.
+ * gdb.arch/amd64-prologue-skip.exp: New file.
+
+2015-06-25 Simon Marchi <simon.marchi@ericsson.com>
+
+ * gdb.python/py-prettyprint.exp (run_lang_tests): Add
+ is_address_zero_readable check.
+
+2015-06-24 Peter Bergner <bergner@vnet.ibm.com>
+
+ * gdb.arch/powerpc-power.exp <rfebb>: Fixup test results.
+ * gdb.arch/powerpc-power.s <rfebb>: Likewise.
+
+2015-06-24 Yao Qi <yao.qi@linaro.org>
+
+ * lib/gdb.exp (supports_get_siginfo_type): Return 1 for all
+ linux targets.
+
+2015-06-24 Yao Qi <yao.qi@linaro.org>
+
+ * lib/gdb.exp (supports_get_siginfo_type): New proc.
+ * gdb.base/siginfo-obj.exp: Invoke supports_get_siginfo_type.
+ * gdb.base/siginfo-thread.exp: Likewise.
+
+2015-06-22 Yao Qi <yao.qi@linaro.org>
+
+ * boards/remote-gdbserver-on-localhost.exp: Add comments.
+
+2015-06-22 Yao Qi <yao.qi@linaro.org>
+
+ * lib/gdb.exp (skip_hw_breakpoint_tests): Return 0 for target
+ aarch64*-*-*.
+ (skip_hw_watchpoint_tests): Likewise.
+
+2015-06-18 Patrick Palka <patrick@parcs.ath.cx>
+
+ * gdb.base/gdbinit-history.exp: Test the interaction between
+ setting GDBHISTSIZE and setting the history size via .gdbinit.
+
+2015-06-17 Patrick Palka <patrick@parcs.ath.cx>
+
+ PR gdb/16999
+ * gdb.base/gdbhistsize-history.exp: New test.
+
+2015-06-17 Patrick Palka <patrick@parcs.ath.cx>
+
+ * gdb.base/gdbinit-history.exp: Replace occurrences of HISTSIZE
+ with GDBHISTSIZE.
+ * gdb.base/readline.exp: Likewise.
+
+2015-06-17 Yao Qi <yao.qi@linaro.org>
+
+ * lib/gdb.exp (get_build_id): Move braces and "else" to the same
+ line.
+
+2015-06-17 Patrick Palka <patrick@parcs.ath.cx>
+
+ * gdb.base/gdbinit-history.exp: Add test case to check that
+ an unlimited history file does not get truncated on exit.
+
+2015-06-17 Andreas Arnez <arnez@linux.vnet.ibm.com>
+
+ * gdb.base/gnu_vector.c: Include stdarg.h and stdio.h.
+ (VECTOR): New macro. Use it...
+ (int4, uint4, char4, float4, int2, longlong2, float2, double2):
+ ...for these typedefs.
+ (int8, char1, int1, double1): New typedefs.
+ (struct just_int2, struct two_int2): New structures.
+ (add_some_intvecs, add_many_charvecs, add_various_floatvecs)
+ (add_structvecs, add_singlevecs): New functions.
+ (main): Call add_some_intvecs twice.
+ * gdb.base/gnu_vector.exp: Drop GCC version check; just attempt
+ the compile and exit upon failure. Try compiling for the "native"
+ architecture. Test inferior function calls with vector arguments
+ and vector return value handling with "finish" and "return".
+
+2015-06-10 Jon Turney <jon.turney@dronecode.org.uk>
+
+ * gdb.base/sepdebug.exp: Add EXEEXT where needed.
+ * lib/gdb.exp (get_build_id): Teach how to extract build-id from a
+ PE file.
+ * lib/future.exp (gdb_find_objdump): Add gdb_find_objdump.
+
+2015-06-12 Antoine Tremblay <antoine.tremblay@ericsson.com>
+
+ PR breakpoints/16465
+ * gdb.mi/mi-dprintf-pending.c: New file.
+ * gdb.mi/mi-dprintf-pending.exp: New test.
+ * gdb.mi/mi-dprintf-pendshr.c: New file.
+
+2015-06-10 Walfred Tedeschi <walfred.tedeschi@intel.com>
+ Mircea Gherzan <mircea.gherzan@intel.com>
+
+ * gdb.arch/i386-mpx-map.c: New file.
+ * gdb.arch/i386-mpx-map.exp: New File.
+
+2015-06-10 Walfred Tedeschi <walfred.tedeschi@intel.com>
+
+ * gdb.arch/i386-mpx.c (have_mpx): Indentation fixed.
+ * gdb.arch/i386-mpx.exp: Indentation fixed.
+
+2015-06-10 Walfred Tedeschi <walfred.tedeschi@intel.com>
+
+ * gdb.arch/i386-mpx.c: Added final return to the have_mpx
+ function and improved indentation.
+ * gdb.arch/i386-mpx.exp: Exchanging gdb_send and gdb_expect for
+ gdb_test_multiple. Added additional tests to skip the test.
+
+2015-06-10 Walfred Tedeschi <walfred.tedeschi@intel.com>
+
+ * gdb.arch/i386-avx512.c: Change path in include file.
+ * gdb.arch/i386-avx512.exp: Change include dir path
+ compilation flag.
+ * gdb.arch/i386-mpx.c: Change path in include file.
+ * gdb.arch/i386-mpx.exp: Change include dir path compilation
+ flag.
+
+2015-06-04 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * gdb.compile/compile-print.exp (compile print *vararray@3)
+ (compile print *vararrayp@3): Change xfail to kfail compile/18489.
+
+2015-06-03 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * gdb.compile/compile.exp (keep jit in memory): Rename to ...
+ (do not keep jit in memory): ... this.
+ (expect 5): Change it to ...
+ (expect no 5): ... this.
+
+2015-06-02 Simon Marchi <simon.marchi@ericsson.com>
+
+ PR gdb/15564
+ * gdb.mi/mi-detach.exp: New file.
+
+2015-06-01 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ PR symtab/18392
+ * gdb.arch/amd64-tailcall-self.S: New file.
+ * gdb.arch/amd64-tailcall-self.c: New file.
+ * gdb.arch/amd64-tailcall-self.exp: New file.
+
+2015-05-28 Don Breazeal <donb@codesourcery.com>
+
+ * gdb.base/foll-vfork.exp (main): Disable exec-dependent
+ tests for remote targets by checking is_target_gdbserver.
+
+2015-05-27 Doug Evans <dje@google.com>
+
+ * gdb.dwarf2/opaque-type-lookup-2.c: New file.
+ * gdb.dwarf2/opaque-type-lookup.c: New file.
+ * gdb.dwarf2/opaque-type-lookup.exp: New file.
+
+2015-05-26 Doug Evans <dje@google.com>
+
+ * gdb.cp/iostream.cc: New file.
+ * gdb.cp/iostream.exp: New file.
+
+2015-05-26 Doug Evans <dje@google.com>
+
+ * gdb.dwarf2/dw2-op-call.exp: Update.
+ * gdb.dwarf2/dw4-sig-types.exp: Update.
+ * gdb.dwarf2/implptr.exp: Update.
+ * gdb.mi/mi-cmd-param-changed.exp: Update.
+
+2015-05-26 Doug Evans <dje@google.com>
+
+ * gdb.python/py-lazy-string.c: New file.
+ * gdb.python/py-lazy-string.exp: New file.
+ * gdb.python/py-prettyprint.c (lazystring) <len>: New member.
+ (main): Update. Add estring3.
+ * gdb.python/py-prettyprint.exp: Add tests for strings at address 0.
+ * gdb.python/py-prettyprint.py (pp_ls): Handle length.
+
+2015-05-26 Omair Javaid <omair.javaid@linaro.org>
+ Yao Qi <yao.qi@linaro.org>
+
+ * gdb.reverse/aarch64.c: New.
+ * gdb.reverse/aarch64.exp: New.
+
+2015-05-26 Omair Javaid <omair.javaid@linaro.org>
+
+ * lib/gdb.exp (supports_process_record): Return true for aarch64*-linux*.
+ (supports_reverse): Likewise.
+
+2015-05-22 Patrick Palka <patrick@parcs.ath.cx>
+
+ * gdb.base/gdbinit-history.exp (test_gdbinit_history_setting):
+ Use with_test_prefix.
+
+2015-05-21 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * gdb.base/completion.exp: Add test for completion of layout
+ names.
+
+2015-05-20 Andrew Burgess <andrew.burgess@embecosm.com>
+
+ * lib/gdb.exp (skip_tui_tests): New proc.
+ * gdb.base/tui-layout.exp: Check skip_tui_tests.
+
+2015-05-19 Pedro Alves <palves@redhat.com>
+
+ * gdb.base/gdbinit-history.exp (test_gdbinit_history_setting):
+ Save the whole env array instead of just HOME. Unset HISTSIZE in
+ the environment while testing. Restore whole environment
+ afterwards.
+
+2015-05-16 Doug Evans <xdje42@gmail.com>
+
+ * gdb.guile/scm-ports.c: New file.
+ * gdb.guile/scm-ports.exp: Add memory port tests.
+
+2015-05-16 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * gdb.compile/compile-print.c: New file.
+ * gdb.compile/compile-print.exp: New file.
+
+2015-05-16 Jan Kratochvil <jan.kratochvil@redhat.com>
+
+ * gdb.compile/compile-ops.exp: Cast param to void.
+ * gdb.compile/compile.exp: Complete type for _gdb_expr.
+ (compile code struct_object.selffield = &struct_object): Add xfail.
+
+2015-05-15 Joel Brobecker <brobecker@adacore.com>
+
+ * gdb.ada/arr_enum_with_gap: New testcase.
+
+2015-05-15 Joel Brobecker <brobecker@adacore.com>
+
+ * gdb.ada/byte_packed_arr: New testcase.
+
2015-05-15 Joel Brobecker <brobecker@adacore.com>
* gdb.ada/pckd_neg: New testcase.
diff --git a/gdb/testsuite/boards/remote-gdbserver-on-localhost.exp b/gdb/testsuite/boards/remote-gdbserver-on-localhost.exp
index 6a42b901db0..138782c1a40 100644
--- a/gdb/testsuite/boards/remote-gdbserver-on-localhost.exp
+++ b/gdb/testsuite/boards/remote-gdbserver-on-localhost.exp
@@ -27,6 +27,9 @@ set_board_info compiler "[find_gcc]"
process_multilib_options ""
+# The sshd should be running on localhost and ssh key should be
+# correctly set up that you ssh to localhost without having to type
+# password.
set_board_info rcp_prog "/usr/bin/scp"
set_board_info rsh_prog "/usr/bin/ssh"
set_board_info protocol standard
diff --git a/gdb/testsuite/gdb.ada/byte_packed_arr.exp b/gdb/testsuite/gdb.ada/byte_packed_arr.exp
new file mode 100644
index 00000000000..1a66f599c6c
--- /dev/null
+++ b/gdb/testsuite/gdb.ada/byte_packed_arr.exp
@@ -0,0 +1,32 @@
+# Copyright 2015 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"
+
+if { [skip_ada_tests] } { return -1 }
+
+standard_ada_testfile reprod_main
+
+if {[gdb_compile_ada "${srcfile}" "${binfile}" executable {debug}] != ""} {
+ return -1
+}
+
+clean_restart ${testfile}
+
+set bp_location [gdb_get_line_number "STOP" ${testdir}/reprod.adb]
+runto "reprod.adb:$bp_location"
+
+gdb_test "print broken" \
+ " = \\(len => 1, data => \\(\\(i => 1\\)\\)\\)"
diff --git a/gdb/testsuite/gdb.ada/byte_packed_arr/array_list_g.ads b/gdb/testsuite/gdb.ada/byte_packed_arr/array_list_g.ads
new file mode 100644
index 00000000000..288d88fa02b
--- /dev/null
+++ b/gdb/testsuite/gdb.ada/byte_packed_arr/array_list_g.ads
@@ -0,0 +1,27 @@
+-- Copyright 2015 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/>.
+
+generic
+ type Index_Base_T is range <>;
+ type Component_T is private;
+package Array_List_G is
+
+ subtype Length_T is Index_Base_T range 0 .. Index_Base_T'Last;
+ subtype Index_T is Length_T range 1 .. Length_T'Last;
+
+ type T is array (Index_T range <>) of Component_T;
+ pragma Pack(T);
+
+end Array_List_G;
diff --git a/gdb/testsuite/gdb.ada/byte_packed_arr/reprod.adb b/gdb/testsuite/gdb.ada/byte_packed_arr/reprod.adb
new file mode 100644
index 00000000000..6beacab8a70
--- /dev/null
+++ b/gdb/testsuite/gdb.ada/byte_packed_arr/reprod.adb
@@ -0,0 +1,22 @@
+-- Copyright 2015 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 Reprod is
+
+ procedure Do_Nothing (Broken : Obj_T) is
+ begin
+ null; -- STOP
+ end Do_Nothing;
+end Reprod;
diff --git a/gdb/testsuite/gdb.ada/byte_packed_arr/reprod.ads b/gdb/testsuite/gdb.ada/byte_packed_arr/reprod.ads
new file mode 100644
index 00000000000..9a2c325ca80
--- /dev/null
+++ b/gdb/testsuite/gdb.ada/byte_packed_arr/reprod.ads
@@ -0,0 +1,35 @@
+-- Copyright 2015 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 Array_List_G;
+
+package Reprod is
+
+ package Objects is
+ type T is record
+ I : Integer;
+ end record;
+ package List is new Array_List_G (Index_Base_T => Natural,
+ Component_T => T);
+ end Objects;
+
+ type Obj_T (Len : Natural) is record
+ Data : Objects.List.T (1 .. Len);
+ end record;
+
+ type T is access Obj_T;
+
+ procedure Do_Nothing (Broken : Obj_T);
+end Reprod;
diff --git a/gdb/testsuite/gdb.ada/byte_packed_arr/reprod_main.adb b/gdb/testsuite/gdb.ada/byte_packed_arr/reprod_main.adb
new file mode 100644
index 00000000000..09f804f2d56
--- /dev/null
+++ b/gdb/testsuite/gdb.ada/byte_packed_arr/reprod_main.adb
@@ -0,0 +1,23 @@
+-- Copyright 2015 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 Reprod; use Reprod;
+
+procedure Reprod_Main is
+ O : Obj_T (Len => 1);
+begin
+ O.Data := (others => (I => 1));
+ Do_Nothing (O);
+end Reprod_Main;
diff --git a/gdb/testsuite/gdb.arch/amd64-prologue-skip.S b/gdb/testsuite/gdb.arch/amd64-prologue-skip.S
new file mode 100644
index 00000000000..66b806a04fe
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/amd64-prologue-skip.S
@@ -0,0 +1,28 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2015 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/>. */
+
+ .text
+/*0*/ hlt
+pushrbp: .globl pushrbp
+#define PUSHRBP push %rbp; mov %rsp, %rbp; nop
+/*1*/ PUSHRBP
+/*6*/ hlt
+
+/*7*/ hlt
+#define MINSYM nop; .globl minsym; minsym: nop
+/*8*/ MINSYM
+/*a*/ hlt
diff --git a/gdb/testsuite/gdb.arch/amd64-prologue-skip.exp b/gdb/testsuite/gdb.arch/amd64-prologue-skip.exp
new file mode 100644
index 00000000000..015cd69d2c4
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/amd64-prologue-skip.exp
@@ -0,0 +1,35 @@
+# Copyright 2010-2015 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/>.
+
+standard_testfile .S
+set binfile ${binfile}.o
+
+if { ![istarget x86_64-*-* ] || ![is_lp64_target] } {
+ verbose "Skipping ${testfile}."
+ return
+}
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" object {debug}] != "" } {
+ untested ${testfile}
+ return
+}
+
+clean_restart ${binfile}
+
+gdb_test "break *pushrbp" " at 0x1: file .*"
+gdb_test "break pushrbp" " at 0x1: file .*"
+
+gdb_test "break *minsym" " at 0x9: file .*"
+gdb_test "break minsym" " at 0x9: file .*"
diff --git a/gdb/testsuite/gdb.arch/amd64-tailcall-self.S b/gdb/testsuite/gdb.arch/amd64-tailcall-self.S
new file mode 100644
index 00000000000..b1ca7c802c9
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/amd64-tailcall-self.S
@@ -0,0 +1,614 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2015 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 source file was generated by:
+ gcc -o gdb.arch/amd64-tailcall-self.S -S gdb.arch/amd64-tailcall-self.c -Wall -g -dA -Os
+ */
+
+ .file "amd64-tailcall-self.c"
+ .text
+.Ltext0:
+ .section .text.unlikely,"ax",@progbits
+.LCOLDB0:
+ .text
+.LHOTB0:
+ .section .text.unlikely
+.Ltext_cold0:
+ .text
+ .type b, @function
+b:
+.LFB0:
+ .file 1 "amd64-tailcall-self.c"
+ # amd64-tailcall-self.c:1
+ .loc 1 1 0
+ .cfi_startproc
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%] (FALLTHRU)
+ # amd64-tailcall-self.c:2
+ .loc 1 2 0
+# SUCC: EXIT [100.0%]
+ ret
+ .cfi_endproc
+.LFE0:
+ .size b, .-b
+ .section .text.unlikely
+.LCOLDE0:
+ .text
+.LHOTE0:
+ .section .text.unlikely
+.LCOLDB1:
+ .text
+.LHOTB1:
+ .globl c
+ .type c, @function
+c:
+.LFB1:
+ # amd64-tailcall-self.c:7
+ .loc 1 7 0
+ .cfi_startproc
+.LVL0:
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%] (FALLTHRU)
+ # amd64-tailcall-self.c:8
+ .loc 1 8 0
+ leal 1(%rdi), %eax
+# SUCC: EXIT [100.0%]
+ # amd64-tailcall-self.c:9
+ .loc 1 9 0
+ ret
+ .cfi_endproc
+.LFE1:
+ .size c, .-c
+ .section .text.unlikely
+.LCOLDE1:
+ .text
+.LHOTE1:
+ .section .text.unlikely
+.LCOLDB2:
+ .text
+.LHOTB2:
+ .globl a
+ .type a, @function
+a:
+.LFB2:
+ # amd64-tailcall-self.c:11
+ .loc 1 11 0
+ .cfi_startproc
+.LVL1:
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%] (FALLTHRU) 3 [100.0%] (DFS_BACK,CAN_FALLTHRU)
+.L5:
+ # amd64-tailcall-self.c:12
+ .loc 1 12 0
+#APP
+# 12 "amd64-tailcall-self.c" 1
+ nop;nop;nop
+# 0 "" 2
+ # amd64-tailcall-self.c:13
+ .loc 1 13 0
+#NO_APP
+ movl i(%rip), %edi
+ leal -1(%rdi), %eax
+ cmpl $9, %eax
+# SUCC: 3 [91.0%] (FALLTHRU,CAN_FALLTHRU) 4 [9.0%] (CAN_FALLTHRU,LOOP_EXIT)
+ ja .L4
+# BLOCK 3 freq:9100 seq:1
+# PRED: 2 [91.0%] (FALLTHRU,CAN_FALLTHRU)
+ # amd64-tailcall-self.c:14
+ .loc 1 14 0
+ orl $1, %edi
+ movl %edi, i(%rip)
+# SUCC: 2 [100.0%] (DFS_BACK,CAN_FALLTHRU)
+ jmp .L5
+.Lfirsttailcall:
+# BLOCK 4 freq:900 seq:2
+# PRED: 2 [9.0%] (CAN_FALLTHRU,LOOP_EXIT)
+.L4:
+ # amd64-tailcall-self.c:16
+ .loc 1 16 0
+ cmpl $0, %edi
+# SUCC: 5 [19.9%] (FALLTHRU,CAN_FALLTHRU) 6 [80.1%] (CAN_FALLTHRU)
+ jne .L3
+# BLOCK 5 freq:179 seq:3
+# PRED: 4 [19.9%] (FALLTHRU,CAN_FALLTHRU)
+# SUCC: EXIT [100.0%] (ABNORMAL,SIBCALL)
+ # amd64-tailcall-self.c:17
+ .loc 1 17 0
+ jmp b
+.LVL2:
+# BLOCK 6 freq:721 seq:4
+# PRED: 4 [80.1%] (CAN_FALLTHRU)
+.L3:
+# SUCC: EXIT [100.0%]
+ ret
+ .cfi_endproc
+.LFE2:
+ .size a, .-a
+ .section .text.unlikely
+.LCOLDE2:
+ .text
+.LHOTE2:
+ .section .text.unlikely
+.LCOLDB3:
+ .section .text.startup,"ax",@progbits
+.LHOTB3:
+ .globl main
+ .type main, @function
+main:
+.LFB3:
+ # amd64-tailcall-self.c:20
+ .loc 1 20 0
+ .cfi_startproc
+.LVL3:
+# BLOCK 2 freq:10000 seq:0
+# PRED: ENTRY [100.0%] (FALLTHRU)
+ # amd64-tailcall-self.c:21
+ .loc 1 21 0
+ call a
+.LVL4:
+ # amd64-tailcall-self.c:23
+ .loc 1 23 0
+ xorl %eax, %eax
+# SUCC: EXIT [100.0%]
+ ret
+ .cfi_endproc
+.LFE3:
+ .size main, .-main
+ .section .text.unlikely
+.LCOLDE3:
+ .section .text.startup
+.LHOTE3:
+ .comm i,4,4
+ .text
+.Letext0:
+ .section .text.unlikely
+.Letext_cold0:
+ .section .debug_info,"",@progbits
+.Ldebug_info0:
+ .long 2f-1f # Length of Compilation Unit Info
+1:
+ .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 .LASF4 # DW_AT_producer: "GNU C 4.9.2 20150212 (Red Hat 4.9.2-6) -mtune=generic -march=x86-64 -g -Os"
+ .byte 0x1 # DW_AT_language
+ .long .LASF5 # DW_AT_name: "amd64-tailcall-self.c"
+ .long .LASF6 # DW_AT_comp_dir: "/home/jkratoch/t"
+ .long .Ldebug_ranges0+0 # DW_AT_ranges
+ .quad 0 # DW_AT_low_pc
+ .long .Ldebug_line0 # DW_AT_stmt_list
+die29:
+ .uleb128 0x2 # (DIE (0x29) DW_TAG_subprogram)
+ .ascii "b\0" # DW_AT_name
+ .byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
+ .byte 0x1 # DW_AT_decl_line
+ # 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
+ .uleb128 0x3 # (DIE (0x40) DW_TAG_subprogram)
+ # DW_AT_external
+ .ascii "c\0" # DW_AT_name
+ .byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
+ .byte 0x7 # DW_AT_decl_line
+ # DW_AT_prototyped
+ .long die6b # DW_AT_type
+ .quad .LFB1 # DW_AT_low_pc
+ .quad .LFE1-.LFB1 # DW_AT_high_pc
+ .uleb128 0x1 # DW_AT_frame_base
+ .byte 0x9c # DW_OP_call_frame_cfa
+ # DW_AT_GNU_all_call_sites
+ .uleb128 0x4 # (DIE (0x5f) DW_TAG_formal_parameter)
+ .ascii "q\0" # DW_AT_name
+ .byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
+ .byte 0x7 # DW_AT_decl_line
+ .long die6b # DW_AT_type
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .byte 0 # end of children of DIE 0x40
+die6b:
+ .uleb128 0x5 # (DIE (0x6b) DW_TAG_base_type)
+ .byte 0x4 # DW_AT_byte_size
+ .byte 0x5 # DW_AT_encoding
+ .ascii "int\0" # DW_AT_name
+die72:
+ .uleb128 0x6 # (DIE (0x72) DW_TAG_subprogram)
+ # DW_AT_external
+ .ascii "a\0" # DW_AT_name
+ .byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
+ .byte 0xb # DW_AT_decl_line
+ # DW_AT_prototyped
+ .quad .LFB2 # DW_AT_low_pc
+ .quad .LFE2-.LFB2 # DW_AT_high_pc
+ .uleb128 0x1 # DW_AT_frame_base
+ .byte 0x9c # DW_OP_call_frame_cfa
+ # DW_AT_GNU_all_call_sites
+ .uleb128 0x4 # (DIE (0x8d) DW_TAG_formal_parameter)
+ .ascii "q\0" # DW_AT_name
+ .byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
+ .byte 0xb # DW_AT_decl_line
+ .long die6b # DW_AT_type
+ .uleb128 0x4 # DW_AT_location
+ .byte 0xf3 # DW_OP_GNU_entry_value
+ .uleb128 0x1
+ .byte 0x55 # DW_OP_reg5
+ .byte 0x9f # DW_OP_stack_value
+ .uleb128 0x7 # (DIE () DW_TAG_GNU_call_site)
+ .quad .Lfirsttailcall # DW_AT_low_pc
+ # DW_AT_GNU_tail_call
+ .long die72 # DW_AT_abstract_origin
+ .uleb128 0x7 # (DIE (0x9b) DW_TAG_GNU_call_site)
+ .quad .LVL2 # DW_AT_low_pc
+ # DW_AT_GNU_tail_call
+ .long die29 # DW_AT_abstract_origin
+ .byte 0 # end of children of DIE 0x72
+ .uleb128 0x8 # (DIE (0xa9) DW_TAG_subprogram)
+ # DW_AT_external
+ .long .LASF0 # DW_AT_name: "main"
+ .byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
+ .byte 0x14 # DW_AT_decl_line
+ # DW_AT_prototyped
+ .long die6b # DW_AT_type
+ .quad .LFB3 # DW_AT_low_pc
+ .quad .LFE3-.LFB3 # DW_AT_high_pc
+ .uleb128 0x1 # DW_AT_frame_base
+ .byte 0x9c # DW_OP_call_frame_cfa
+ # DW_AT_GNU_all_call_sites
+ .uleb128 0x9 # (DIE (0xca) DW_TAG_formal_parameter)
+ .long .LASF1 # DW_AT_name: "argc"
+ .byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
+ .byte 0x14 # DW_AT_decl_line
+ .long die6b # DW_AT_type
+ .long .LLST0 # DW_AT_location
+ .uleb128 0x9 # (DIE (0xd9) DW_TAG_formal_parameter)
+ .long .LASF2 # DW_AT_name: "argv"
+ .byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
+ .byte 0x14 # DW_AT_decl_line
+ .long diefe # DW_AT_type
+ .long .LLST1 # DW_AT_location
+ .uleb128 0xa # (DIE (0xe8) DW_TAG_GNU_call_site)
+ .quad .LVL4 # DW_AT_low_pc
+ .long die72 # DW_AT_abstract_origin
+ .uleb128 0xb # (DIE (0xf5) DW_TAG_GNU_call_site_parameter)
+ .uleb128 0x1 # DW_AT_location
+ .byte 0x55 # DW_OP_reg5
+ .uleb128 0x3 # DW_AT_GNU_call_site_value
+ .byte 0xf3 # DW_OP_GNU_entry_value
+ .uleb128 0x1
+ .byte 0x55 # DW_OP_reg5
+ .byte 0 # end of children of DIE 0xe8
+ .byte 0 # end of children of DIE 0xa9
+diefe:
+ .uleb128 0xc # (DIE (0xfe) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long die104 # DW_AT_type
+die104:
+ .uleb128 0xc # (DIE (0x104) DW_TAG_pointer_type)
+ .byte 0x8 # DW_AT_byte_size
+ .long die10a # DW_AT_type
+die10a:
+ .uleb128 0xd # (DIE (0x10a) DW_TAG_base_type)
+ .byte 0x1 # DW_AT_byte_size
+ .byte 0x6 # DW_AT_encoding
+ .long .LASF3 # DW_AT_name: "char"
+ .uleb128 0xe # (DIE (0x111) DW_TAG_variable)
+ .ascii "i\0" # DW_AT_name
+ .byte 0x1 # DW_AT_decl_file (amd64-tailcall-self.c)
+ .byte 0x5 # DW_AT_decl_line
+ .long die6b # DW_AT_type
+ # DW_AT_external
+ .uleb128 0x9 # DW_AT_location
+ .byte 0x3 # DW_OP_addr
+ .quad i
+ .byte 0 # end of children of DIE 0xb
+2:
+ .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 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 0x2 # (abbrev code)
+ .uleb128 0x2e # (TAG: DW_TAG_subprogram)
+ .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 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)
+ .byte 0
+ .byte 0
+ .uleb128 0x3 # (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 0x27 # (DW_AT_prototyped)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .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)
+ .byte 0
+ .byte 0
+ .uleb128 0x4 # (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 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x18 # (DW_FORM_exprloc)
+ .byte 0
+ .byte 0
+ .uleb128 0x5 # (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 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 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)
+ .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 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 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 0xb # (DW_FORM_data1)
+ .uleb128 0x27 # (DW_AT_prototyped)
+ .uleb128 0x19 # (DW_FORM_flag_present)
+ .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)
+ .byte 0
+ .byte 0
+ .uleb128 0x9 # (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 0x49 # (DW_AT_type)
+ .uleb128 0x13 # (DW_FORM_ref4)
+ .uleb128 0x2 # (DW_AT_location)
+ .uleb128 0x17 # (DW_FORM_sec_offset)
+ .byte 0
+ .byte 0
+ .uleb128 0xa # (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 0xb # (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 0xc # (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 0xd # (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 0xe # (abbrev code)
+ .uleb128 0x34 # (TAG: DW_TAG_variable)
+ .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 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
+ .byte 0
+ .section .debug_loc,"",@progbits
+.Ldebug_loc0:
+.LLST0:
+ .quad .LVL3 # Location list begin address (*.LLST0)
+ .quad .LVL4-1 # Location list end address (*.LLST0)
+ .value 0x1 # Location expression size
+ .byte 0x55 # DW_OP_reg5
+ .quad .LVL4-1 # Location list begin address (*.LLST0)
+ .quad .LFE3 # 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)
+.LLST1:
+ .quad .LVL3 # Location list begin address (*.LLST1)
+ .quad .LVL4-1 # Location list end address (*.LLST1)
+ .value 0x1 # Location expression size
+ .byte 0x54 # DW_OP_reg4
+ .quad .LVL4-1 # Location list begin address (*.LLST1)
+ .quad .LFE3 # Location list end address (*.LLST1)
+ .value 0x4 # Location expression size
+ .byte 0xf3 # DW_OP_GNU_entry_value
+ .uleb128 0x1
+ .byte 0x54 # DW_OP_reg4
+ .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 0x3c # Length of Address Ranges Info
+ .value 0x2 # DWARF 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 .LFB3 # Address
+ .quad .LFE3-.LFB3 # Length
+ .quad 0
+ .quad 0
+ .section .debug_ranges,"",@progbits
+.Ldebug_ranges0:
+ .quad .Ltext0 # Offset 0
+ .quad .Letext0
+ .quad .LFB3 # Offset 0x10
+ .quad .LFE3
+ .quad 0
+ .quad 0
+ .section .debug_line,"",@progbits
+.Ldebug_line0:
+ .section .debug_str,"MS",@progbits,1
+.LASF1:
+ .string "argc"
+.LASF0:
+ .string "main"
+.LASF4:
+ .string "GNU C 4.9.2 20150212 (Red Hat 4.9.2-6) -mtune=generic -march=x86-64 -g -Os"
+.LASF5:
+ .string "amd64-tailcall-self.c"
+.LASF6:
+ .string ""
+.LASF3:
+ .string "char"
+.LASF2:
+ .string "argv"
+ .ident "GCC: (GNU) 4.9.2 20150212 (Red Hat 4.9.2-6)"
diff --git a/gdb/testsuite/gdb.arch/amd64-tailcall-self.c b/gdb/testsuite/gdb.arch/amd64-tailcall-self.c
new file mode 100644
index 00000000000..0b40dcb18e4
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/amd64-tailcall-self.c
@@ -0,0 +1,40 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2015 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/>. */
+
+__attribute__((noinline,noclone)) static void b(void) {
+ asm volatile("");
+}
+
+int i;
+
+__attribute__((noinline,noclone)) int c(int q) {
+ return q+1;
+}
+
+__attribute__((noinline,noclone)) void a(int q) {
+ asm volatile("nop;nop;nop"::"g"(q):"memory");
+ if (i>=1&&i<=10) {
+ i|=1;
+ a(i);
+ } else if (i==0)
+ b();
+}
+
+int main(int argc,char **argv) {
+ a(argc);
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.arch/amd64-tailcall-self.exp b/gdb/testsuite/gdb.arch/amd64-tailcall-self.exp
new file mode 100644
index 00000000000..0803ff27887
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/amd64-tailcall-self.exp
@@ -0,0 +1,31 @@
+# Copyright (C) 2015 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/>.
+
+standard_testfile .S
+
+if { ![istarget x86_64-*-* ] || ![is_lp64_target] } {
+ verbose "Skipping ${testfile}."
+ return
+}
+
+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {}] } {
+ return -1
+}
+
+if ![runto b] {
+ return -1
+}
+
+gdb_test "bt" "#0 +b \\(\\) at \[^\r\n\]*\r\n#1 +0x\[0-9a-f\]+ in a \\(q=<optimized out>\\) at \[^\r\n\]*\r\n#2 +0x\[0-9a-f\]+ in main \\(\[^\r\n\]*\\) at .*"
diff --git a/gdb/testsuite/gdb.arch/i386-avx512.c b/gdb/testsuite/gdb.arch/i386-avx512.c
index 73c4179847f..26f2fb8fbd2 100644
--- a/gdb/testsuite/gdb.arch/i386-avx512.c
+++ b/gdb/testsuite/gdb.arch/i386-avx512.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 "nat/x86-cpuid.h"
+#include "x86-cpuid.h"
typedef struct
{
diff --git a/gdb/testsuite/gdb.arch/i386-avx512.exp b/gdb/testsuite/gdb.arch/i386-avx512.exp
index 41ee9d61593..42fc4eb87ae 100644
--- a/gdb/testsuite/gdb.arch/i386-avx512.exp
+++ b/gdb/testsuite/gdb.arch/i386-avx512.exp
@@ -26,7 +26,7 @@ if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } {
standard_testfile
-set comp_flags "-mavx512f -I${srcdir}/.."
+set comp_flags "-mavx512f -I${srcdir}/../nat"
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
[list debug nowarnings additional_flags=${comp_flags}]] } {
diff --git a/gdb/testsuite/gdb.arch/i386-mpx-map.c b/gdb/testsuite/gdb.arch/i386-mpx-map.c
new file mode 100644
index 00000000000..8a9094cf9c6
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/i386-mpx-map.c
@@ -0,0 +1,93 @@
+/* Test program for MPX map allocated bounds.
+
+ Copyright 2015 Free Software Foundation, Inc.
+
+ Contributed by Intel Corp. <walfred.tedeschi@intel.com>
+ <mircea.gherzan@intel.com>
+
+ 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 <stdlib.h>
+#include "x86-cpuid.h"
+
+#ifndef NOINLINE
+#define NOINLINE __attribute__ ((noinline))
+#endif
+
+#define SIZE 5
+
+typedef int T;
+
+unsigned int have_mpx (void) NOINLINE;
+
+unsigned int NOINLINE
+have_mpx (void)
+{
+ unsigned int eax, ebx, ecx, edx;
+
+ if (!__get_cpuid (1, &eax, &ebx, &ecx, &edx))
+ return 0;
+
+ if ((ecx & bit_OSXSAVE) == bit_OSXSAVE)
+ {
+ if (__get_cpuid_max (0, NULL) < 7)
+ return 0;
+
+ __cpuid_count (7, 0, eax, ebx, ecx, edx);
+
+ if ((ebx & bit_MPX) == bit_MPX)
+ return 1;
+ else
+ return 0;
+ }
+ return 0;
+}
+
+void
+foo (T *p)
+{
+ T *x;
+
+#if defined __GNUC__ && !defined __INTEL_COMPILER
+ __bnd_store_ptr_bounds (p, &p);
+#endif
+
+ x = p + SIZE - 1;
+
+#if defined __GNUC__ && !defined __INTEL_COMPILER
+ __bnd_store_ptr_bounds (x, &x);
+#endif
+
+ return; /* after-assign */
+}
+
+int
+main (void)
+{
+ if (have_mpx ())
+ {
+ T *a = NULL;
+
+ a = calloc (SIZE, sizeof (T)); /* after-decl */
+#if defined __GNUC__ && !defined __INTEL_COMPILER
+ __bnd_store_ptr_bounds (a, &a);
+#endif
+
+ foo (a); /* after-alloc */
+ free (a);
+ }
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.arch/i386-mpx-map.exp b/gdb/testsuite/gdb.arch/i386-mpx-map.exp
new file mode 100644
index 00000000000..47efb16ab33
--- /dev/null
+++ b/gdb/testsuite/gdb.arch/i386-mpx-map.exp
@@ -0,0 +1,76 @@
+# Copyright 2015 Free Software Foundation, Inc.
+#
+# Contributed by Intel Corp. <walfred.tedeschi@intel.com>,
+# <mircea.gherzan@intel.com>
+#
+# 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/>.
+
+if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } {
+ verbose "Skipping x86 MPX tests."
+ return
+}
+
+standard_testfile
+
+set comp_flags "-fmpx -I${srcdir}/../nat/"
+
+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
+ [list debug nowarnings additional_flags=${comp_flags}]] } {
+ return -1
+}
+
+if ![runto_main] {
+ untested "could not run to main"
+ return -1
+}
+
+set supports_mpx 0
+set test "probe MPX support"
+
+gdb_test_multiple "print have_mpx()" $test {
+ -re ".. = 1\r\n$gdb_prompt $" {
+ pass $test
+ set supports_mpx 1
+ }
+ -re ".. = 0\r\n$gdb_prompt $" {
+ pass $test
+ }
+}
+
+if { !$supports_mpx } {
+ unsupported "processor does not support MPX"
+ return
+}
+
+gdb_breakpoint [ gdb_get_line_number "after-decl" ]
+gdb_breakpoint [ gdb_get_line_number "after-alloc" ]
+gdb_breakpoint [ gdb_get_line_number "after-assign" ]
+
+gdb_test "show mpx bound 0x0" "Invalid bounds directory entry at $hex." "NULL address of the pointer"
+
+gdb_continue_to_breakpoint "after-decl" ".*after-decl.*"
+gdb_test "show mpx bound a" "Invalid bounds directory entry at $hex." "pointer instead of pointer address"
+
+gdb_continue_to_breakpoint "after-alloc" ".*after-alloc.*"
+gdb_test "show mpx bound a" "\\\{lbound = $hex, ubound = $hex\\\}: pointer value = $hex, size = \[8, 4\], metadata = 0x0+" "pointer after allocation"
+
+gdb_continue_to_breakpoint "after-assign" ".*after-assign.*"
+gdb_test "show mpx bound x" "\\\{lbound = $hex, ubound = $hex\\\}: pointer value = $hex, size = \[8, 4\], metadata = 0x0+" "pointer after assignment"
+gdb_test "set mpx bound 0x0, 0x1, 0x2" "Invalid bounds directory entry at $hex." "set mpx bound: NULL address of the pointer"
+gdb_test_no_output "set mpx bound x, 0xcafebabe, 0xdeadbeef" "set mpx bound: set bounds for a valid pointer address"
+gdb_test "show mpx bound x" "\\\{lbound = .*cafebabe, ubound = .*deadbeef\\\}: pointer value = $hex, size = $decimal, metadata = 0x0+" "set mpx bound: bounds map entry after set mpx bound"
+
+
+gdb_test "set mpx bound 0x0, 0x1 0x2" "A syntax error in expression.*" "set mpx bound: Controlling syntax error, missing comma "
+gdb_test "set mpx bound 0x0, 0x1" "Wrong number of arguments.*" "set mpx bound: Controlling syntax error, missing argument "
diff --git a/gdb/testsuite/gdb.arch/i386-mpx.c b/gdb/testsuite/gdb.arch/i386-mpx.c
index 7c6c2cebe60..23b96509376 100644
--- a/gdb/testsuite/gdb.arch/i386-mpx.c
+++ b/gdb/testsuite/gdb.arch/i386-mpx.c
@@ -18,7 +18,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include <stdio.h>
-#include "nat/x86-cpuid.h"
+#include "x86-cpuid.h"
#ifndef NOINLINE
#define NOINLINE __attribute__ ((noinline))
@@ -35,17 +35,18 @@ have_mpx (void)
return 0;
if ((ecx & bit_OSXSAVE) == bit_OSXSAVE)
- {
- if (__get_cpuid_max (0, NULL) < 7)
- return 0;
+ {
+ if (__get_cpuid_max (0, NULL) < 7)
+ return 0;
- __cpuid_count (7, 0, eax, ebx, ecx, edx);
+ __cpuid_count (7, 0, eax, ebx, ecx, edx);
- if ((ebx & bit_MPX) == bit_MPX)
- return 1;
- else
- return 0;
- }
+ if ((ebx & bit_MPX) == bit_MPX)
+ return 1;
+ else
+ return 0;
+ }
+ return 0;
}
int
diff --git a/gdb/testsuite/gdb.arch/i386-mpx.exp b/gdb/testsuite/gdb.arch/i386-mpx.exp
index f9d5d535df2..2db6401f27e 100644
--- a/gdb/testsuite/gdb.arch/i386-mpx.exp
+++ b/gdb/testsuite/gdb.arch/i386-mpx.exp
@@ -22,10 +22,15 @@ if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } {
standard_testfile
-set comp_flags "-fmpx -I${srcdir}/../common"
+if { ![istarget i?86-*-*] && ![istarget x86_64-*-* ] } {
+ verbose "Skipping x86 MPX tests."
+ return
+}
+
+set comp_flags "-fmpx -I${srcdir}/../nat/"
if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} \
- [list debug nowarnings additional_flags=${comp_flags}]] } {
+ [list debug nowarnings additional_flags=${comp_flags}]] } {
return -1
}
@@ -34,23 +39,23 @@ if ![runto_main] {
return -1
}
-send_gdb "print have_mpx ()\r"
-gdb_expect {
- -re ".. = 1\r\n$gdb_prompt " {
- pass "check whether processor supports MPX"
+set supports_mpx 0
+set test "probe MPX support"
+gdb_test_multiple "print have_mpx()" $test {
+ -re ".. = 1\r\n$gdb_prompt $" {
+ pass $test
+ set supports_mpx 1
}
- -re ".. = 0\r\n$gdb_prompt " {
- verbose "processor does not support MPX; skipping MPX tests"
- return
- }
- -re ".*$gdb_prompt $" {
- fail "check whether processor supports MPX"
- }
- timeout {
- fail "check whether processor supports MPX (timeout)"
+ -re ".. = 0\r\n$gdb_prompt $" {
+ pass $test
}
}
+if { !$supports_mpx } {
+ unsupported "processor does not support MPX"
+ return
+}
+
# Test bndcfg register and bndstatus at startup
set test_string "\\\{raw = 0x\[0-9a-f\]+, config = \\\{base = \[0-9\]+,\
reserved = \[0-9\]+, preserved = \[0-9\]+, enabled = \[0-9\]+\\\}\\\}"
diff --git a/gdb/testsuite/gdb.arch/powerpc-power.exp b/gdb/testsuite/gdb.arch/powerpc-power.exp
index 15a59ddfa8c..96d623f1767 100644
--- a/gdb/testsuite/gdb.arch/powerpc-power.exp
+++ b/gdb/testsuite/gdb.arch/powerpc-power.exp
@@ -194,8 +194,8 @@ func_check +500 "treclaim. r24"
func_check +504 "trechkpt."
func_check +508 "tsuspend."
func_check +512 "tresume."
-func_check +516 "rfebb"
-func_check +520 "rfebb 1"
+func_check +516 "rfebb 0"
+func_check +520 "rfebb"
func_check +524 "bctar- 12,4\\*cr5\\+gt"
func_check +528 "bctarl- 4,4\\*cr1\\+so"
func_check +532 "bctar\\+ 12,4\\*cr3\\+lt"
diff --git a/gdb/testsuite/gdb.arch/powerpc-power.s b/gdb/testsuite/gdb.arch/powerpc-power.s
index 335e35b4e3d..ed17b2eb1a2 100644
--- a/gdb/testsuite/gdb.arch/powerpc-power.s
+++ b/gdb/testsuite/gdb.arch/powerpc-power.s
@@ -147,7 +147,7 @@ func:
.long 0x7c0007dd /* <+504>: trechkpt. */
.long 0x7c0005dd /* <+508>: tsuspend. */
.long 0x7c2005dd /* <+512>: tresume. */
- .long 0x4c000124 /* <+516>: rfebb */
+ .long 0x4c000124 /* <+516>: rfebb 0 */
.long 0x4c000924 /* <+520>: rfebb 1 */
.long 0x4d950460 /* <+524>: bctar- 12,4*cr5+gt */
.long 0x4c870461 /* <+528>: bctarl- 4,4*cr1+so */
diff --git a/gdb/testsuite/gdb.base/completion.exp b/gdb/testsuite/gdb.base/completion.exp
index f77bfe23e5c..1eb0fd801a0 100644
--- a/gdb/testsuite/gdb.base/completion.exp
+++ b/gdb/testsuite/gdb.base/completion.exp
@@ -859,3 +859,40 @@ gdb_test_multiple "" "$test" {
pass "$test"
}
}
+
+gdb_test_no_output "set max-completions unlimited"
+
+if {![skip_tui_tests]} {
+ set test "test completion of layout names"
+ send_gdb "layout\t\t\t"
+ gdb_test_multiple "" "$test" {
+ -re "asm *next *prev *regs *split *src *\r\n$gdb_prompt layout $" {
+ pass "$test"
+ }
+ }
+ send_gdb "\003"
+ set test "quit command input after testing layout completion"
+ gdb_test_multiple "" "$test" {
+ -re "$gdb_prompt $" {
+ pass "$test"
+ }
+ }
+}
+if {![skip_tui_tests]} {
+ with_test_prefix "focus command" {
+ set test "test completion"
+ send_gdb "focus \t\t"
+ gdb_test_multiple "" "$test" {
+ -re "cmd *next *prev *src *\r\n$gdb_prompt focus $" {
+ pass "$test"
+ }
+ }
+ send_gdb "\003"
+ set test "quit command input after testing completion"
+ gdb_test_multiple "" "$test" {
+ -re "$gdb_prompt $" {
+ pass "$test"
+ }
+ }
+ }
+}
diff --git a/gdb/testsuite/gdb.base/foll-vfork.exp b/gdb/testsuite/gdb.base/foll-vfork.exp
index 78c5cc82245..b94b7ea7bc1 100644
--- a/gdb/testsuite/gdb.base/foll-vfork.exp
+++ b/gdb/testsuite/gdb.base/foll-vfork.exp
@@ -524,18 +524,23 @@ with_test_prefix "check vfork support" {
check_vfork_catchpoints
}
-# Follow parent and follow child vfork tests with a child that execs.
-with_test_prefix "exec" {
- # These are tests of gdb's ability to follow the parent of a Unix
- # vfork system call. The child will subsequently call a variant
- # of the Unix exec system call.
- do_vfork_and_follow_parent_tests
-
- # These are tests of gdb's ability to follow the child of a Unix
- # vfork system call. The child will subsequently call a variant
- # of a Unix exec system call.
- #
- do_vfork_and_follow_child_tests_exec
+# There is no support for exec events in the RSP yet.
+if { ![gdb_is_target_remote] } {
+ # Follow parent and follow child vfork tests with a child that execs.
+ with_test_prefix "exec" {
+ # These are tests of gdb's ability to follow the parent of a Unix
+ # vfork system call. The child will subsequently call a variant
+ # of the Unix exec system call.
+ do_vfork_and_follow_parent_tests
+
+ # These are tests of gdb's ability to follow the child of a Unix
+ # vfork system call. The child will subsequently call a variant
+ # of a Unix exec system call.
+ #
+ do_vfork_and_follow_child_tests_exec
+ }
+} else {
+ unsupported "vfork with exec: exec events not supported for remote"
}
# Switch to test the case of the child exiting. We can't use
diff --git a/gdb/testsuite/gdb.base/gdbhistsize-history.exp b/gdb/testsuite/gdb.base/gdbhistsize-history.exp
new file mode 100644
index 00000000000..0c3f93ff213
--- /dev/null
+++ b/gdb/testsuite/gdb.base/gdbhistsize-history.exp
@@ -0,0 +1,70 @@
+# Copyright 2015 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.
+
+# Test the setting of "history size" via the GDBHISTSIZE environment variable
+
+
+# Check that the history size is properly set to SIZE when the environment
+# variable ENV_VAR is set to GDBHISTSIZE.
+
+proc test_histsize_history_setting { histsize size { env_var "GDBHISTSIZE" } } {
+ global env
+
+ set have_old_gdbhistsize 0
+ if [info exists env($env_var)] {
+ set have_old_gdbhistsize 1
+ set old_gdbhistsize $env($env_var)
+ }
+ set env($env_var) $histsize
+
+ with_test_prefix "histsize=$histsize" {
+ gdb_exit
+ gdb_start
+
+ gdb_test "show history size" "The size of the command history is $size."
+
+ if { $size == "0" } {
+ gdb_test_no_output "show commands"
+ } elseif { $size != "1" } {
+ gdb_test "show commands" \
+ " . show history size\r\n . show commands"
+ }
+
+ if { $have_old_gdbhistsize } {
+ set env($env_var) $old_gdbhistsize
+ } else {
+ unset env($env_var)
+ }
+ }
+}
+
+test_histsize_history_setting "" "unlimited"
+test_histsize_history_setting "0" "0"
+test_histsize_history_setting "20" "20"
+test_histsize_history_setting " 20 " "20"
+test_histsize_history_setting "-5" "unlimited"
+
+# Test defaulting to 256 upon encountering a non-numeric GDBHISTSIZE.
+test_histsize_history_setting "not_an_integer" "256"
+test_histsize_history_setting "10zab" "256"
+test_histsize_history_setting "-5ab" "256"
+
+# A huge number (hopefully larger than INT_MAX)
+test_histsize_history_setting "99999999999999999999999999999999999" "unlimited"
+
+# We no longer read HISTSIZE
+test_histsize_history_setting "50" "256" "HISTSIZE"
diff --git a/gdb/testsuite/gdb.base/gdbinit-history.exp b/gdb/testsuite/gdb.base/gdbinit-history.exp
index 474680a7e13..85177f32e16 100644
--- a/gdb/testsuite/gdb.base/gdbinit-history.exp
+++ b/gdb/testsuite/gdb.base/gdbinit-history.exp
@@ -19,33 +19,118 @@
# Check that the history size is properly set to SIZE when reading the .gdbinit
-# file located in HOME.
+# file located in HOME with the environment variable GDBHISTSIZE optionally
+# set to GDBHISTSIZE_VAL.
-proc test_gdbinit_history_setting { home size } {
+proc test_gdbinit_history_setting { home size { gdbhistsize_val "-" } } {
global env
global INTERNAL_GDBFLAGS
global srcdir
global subdir
- set old_home $env(HOME)
+ array set old_env [array get env]
+
set env(HOME) "$srcdir/$subdir/$home"
+
+ # The GDBHISTSIZE environment variable takes precedence over whatever
+ # history size is set in .gdbinit. Make sure the former is not
+ # set.
+ unset -nocomplain env(GDBHISTSIZE)
+
+ if { $gdbhistsize_val != "-" } {
+ set env(GDBHISTSIZE) $gdbhistsize_val
+ }
+
set saved_internal_gdbflags $INTERNAL_GDBFLAGS
set INTERNAL_GDBFLAGS [string map {"-nx" ""} $INTERNAL_GDBFLAGS]
- gdb_exit
- gdb_start
+ set prefix "home=$home"
+ if { $gdbhistsize_val != "-" } {
+ append prefix " gdbhistsize=$gdbhistsize_val"
+ }
+
+ with_test_prefix $prefix {
+ gdb_exit
+ gdb_start
- gdb_test "show history size" "The size of the command history is $size."
+ gdb_test "show history size" "The size of the command history is $size."
- if { $size == "0" } {
- gdb_test_no_output "show commands"
- } elseif { $size != "1" } {
- gdb_test "show commands" " . show history size\r\n . show commands"
+ if { $size == "0" } {
+ gdb_test_no_output "show commands"
+ } elseif { $size != "1" } {
+ gdb_test "show commands" " . show history size\r\n . show commands"
+ }
}
set INTERNAL_GDBFLAGS $saved_internal_gdbflags
- set $env(HOME) $old_home
+
+ unset -nocomplain env(GDBHISTSIZE)
+ array set env [array get old_env]
+}
+
+# Check that the history file does not get truncated to zero when a gdbinit
+# file sets the history size to unlimited.
+
+proc test_no_truncation_of_unlimited_history_file { } {
+ global env
+ global INTERNAL_GDBFLAGS
+
+ array set old_env [array get env]
+
+ # The GDBHISTSIZE environment variable takes precedence over whatever
+ # history size is set in .gdbinit. Make sure the former is not
+ # set.
+ unset -nocomplain env(GDBHISTSIZE)
+
+ set saved_internal_gdbflags $INTERNAL_GDBFLAGS
+
+ set temp_gdbinit [standard_output_file "gdbinit-history.gdbinit"]
+ set temp_histfile [standard_output_file "gdbinit-history.gdb_history"]
+ file delete $temp_gdbinit
+ file delete $temp_histfile
+
+ set fd [open $temp_gdbinit "w"]
+ puts $fd "set history size unlimited\n"
+ puts $fd "set history filename $temp_histfile\n"
+ puts $fd "set history save\n"
+ close $fd
+
+ append INTERNAL_GDBFLAGS " -x $temp_gdbinit"
+
+ # We have to start then exit GDB twice: the first time to test the creation
+ # of the initial history file, and the second time to test appending to it.
+ # In either case the initial "print 1" command should persist through the
+ # history file.
+ with_test_prefix "truncation" {
+ gdb_exit
+ gdb_start
+ gdb_test "print 1"
+
+ with_test_prefix "creating" {
+ gdb_exit
+ gdb_start
+ gdb_test "server show commands" " . print 1.*"
+ }
+
+ with_test_prefix "appending" {
+ gdb_exit
+ gdb_start
+ gdb_test "server show commands" " . print 1.*"
+ }
+ }
+
+ set INTERNAL_GDBFLAGS $saved_internal_gdbflags
+
+ array set env [array get old_env]
}
test_gdbinit_history_setting "gdbinit-history/unlimited" "unlimited"
test_gdbinit_history_setting "gdbinit-history/zero" "0"
+
+test_no_truncation_of_unlimited_history_file
+
+# A valid GDBHISTSIZE value overrides the setting inside the .gdbinit file; an
+# invalid GDBHISTSIZE value is ignored, falling back on the setting inside the
+# .gdbinit file.
+test_gdbinit_history_setting "gdbinit-history/unlimited" "1000" "1000"
+test_gdbinit_history_setting "gdbinit-history/unlimited" "unlimited" "foo"
diff --git a/gdb/testsuite/gdb.base/gnu_vector.c b/gdb/testsuite/gdb.base/gnu_vector.c
index 4ad07ddd3f4..4e505d1e262 100644
--- a/gdb/testsuite/gdb.base/gnu_vector.c
+++ b/gdb/testsuite/gdb.base/gnu_vector.c
@@ -17,15 +17,27 @@
Contributed by Ken Werner <ken.werner@de.ibm.com> */
-typedef int __attribute__ ((vector_size (4 * sizeof(int)))) int4;
-typedef unsigned int __attribute__ ((vector_size (4 * sizeof(unsigned int)))) uint4;
-typedef char __attribute__ ((vector_size (4 * sizeof(char)))) char4;
-typedef float __attribute__ ((vector_size (4 * sizeof(float)))) float4;
+#include <stdarg.h>
+#include <stdio.h>
-typedef int __attribute__ ((vector_size (2 * sizeof(int)))) int2;
-typedef long long __attribute__ ((vector_size (2 * sizeof(long long)))) longlong2;
-typedef float __attribute__ ((vector_size (2 * sizeof(float)))) float2;
-typedef double __attribute__ ((vector_size (2 * sizeof(double)))) double2;
+#define VECTOR(n, type) \
+ type __attribute__ ((vector_size (n * sizeof(type))))
+
+typedef VECTOR (8, int) int8;
+
+typedef VECTOR (4, int) int4;
+typedef VECTOR (4, unsigned int) uint4;
+typedef VECTOR (4, char) char4;
+typedef VECTOR (4, float) float4;
+
+typedef VECTOR (2, int) int2;
+typedef VECTOR (2, long long) longlong2;
+typedef VECTOR (2, float) float2;
+typedef VECTOR (2, double) double2;
+
+typedef VECTOR (1, char) char1;
+typedef VECTOR (1, int) int1;
+typedef VECTOR (1, double) double1;
int ia = 2;
int ib = 1;
@@ -46,18 +58,91 @@ double2 d2 = {1, 2};
union
{
int i;
- char cv __attribute__ ((vector_size (sizeof (int))));
+ VECTOR (sizeof(int), char) cv;
} union_with_vector_1;
struct
{
int i;
- char cv __attribute__ ((vector_size (sizeof (int))));
+ VECTOR (sizeof(int), char) cv;
float4 f4;
} struct_with_vector_1;
+struct just_int2
+{
+ int2 i;
+};
+
+struct two_int2
+{
+ int2 i, j;
+};
+
+
+/* Simple vector-valued function with a few 16-byte vector
+ arguments. */
+
+int4
+add_some_intvecs (int4 a, int4 b, int4 c)
+{
+ return a + b + c;
+}
+
+/* Many small vector arguments, 4 bytes each. */
+
+char4
+add_many_charvecs (char4 a, char4 b, char4 c, char4 d, char4 e,
+ char4 f, char4 g, char4 h, char4 i, char4 j)
+{
+ return (a + b + c + d + e + f + g + h + i + j);
+}
+
+/* Varargs: One fixed and N-1 variable vector arguments. */
+
+float4
+add_various_floatvecs (int n, float4 a, ...)
+{
+ int i;
+ va_list argp;
+
+ va_start (argp, a);
+ for (i = 1; i < n; i++)
+ a += va_arg (argp, float4);
+ va_end (argp);
+
+ return a;
+}
+
+/* Struct-wrapped vectors (might be passed as if not wrapped). */
+
+struct just_int2
+add_structvecs (int2 a, struct just_int2 b, struct two_int2 c)
+{
+ struct just_int2 res;
+
+ res.i = a + b.i + c.i + c.j;
+ return res;
+}
+
+/* Single-element vectors (might be treated like scalars). */
+
+double1
+add_singlevecs (char1 a, int1 b, double1 c)
+{
+ return (double1) {a[0] + b[0] + c[0]};
+}
+
+
int
main ()
{
+ int4 res;
+
+ res = add_some_intvecs (i4a, i4a + i4b, i4b);
+ printf ("%d %d %d %d\n", res[0], res[1], res[2], res[3]);
+
+ res = add_some_intvecs (i4a, i4a + i4b, i4b);
+ printf ("%d %d %d %d\n", res[0], res[1], res[2], res[3]);
+
return 0;
}
diff --git a/gdb/testsuite/gdb.base/gnu_vector.exp b/gdb/testsuite/gdb.base/gnu_vector.exp
index 352fec0b727..cf91fbb22e1 100644
--- a/gdb/testsuite/gdb.base/gnu_vector.exp
+++ b/gdb/testsuite/gdb.base/gnu_vector.exp
@@ -20,20 +20,19 @@
standard_testfile .c
-if [get_compiler_info] {
+# If supported by the compiler, "-mcpu=native" or "-march=native"
+# should enable the highest available vector ABI. Try both, then try
+# without a CPU option. If all variants fail, assume that the
+# compiler can not handle GNU vectors.
+
+if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" ${binfile} executable {debug quiet additional_flags=-mcpu=native}] != ""
+ && [gdb_compile "${srcdir}/${subdir}/${srcfile}" ${binfile} executable {debug quiet additional_flags=-march=native}] != ""
+ && [gdb_compile "${srcdir}/${subdir}/${srcfile}" ${binfile} executable {debug quiet}] != ""} {
+ untested "compiler can't handle the vector_size attribute?"
return -1
}
-# Check if our compiler is a GCC that suppports the vector extension
-if { ![test_compiler_info gcc-4-*] } {
- setup_xfail "*-*-*"
- fail "This compiler can not handle GNU vectors"
- return 0
-}
-
-if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile} {debug}] } {
- return -1
-}
+clean_restart ${binfile}
if { ![runto main] } {
fail "runto main"
@@ -175,3 +174,34 @@ gdb_test "ptype float4" "type = float __attribute__ \\(\\(vector_size\\(4\\)\\)\
gdb_test "ptype union_with_vector_1" "type = union {\r\n\[\t \]+int i;\r\n\[\t \]+char cv __attribute__ \\(\\(vector_size\\(4\\)\\)\\);\r\n}"
gdb_test "ptype struct_with_vector_1" "type = struct {\r\n\[\t \]+int i;\r\n\[\t \]+char cv __attribute__ \\(\\(vector_size\\(4\\)\\)\\);\r\n\[\t \]+float4 f4;\r\n}"
+
+# Test inferior function calls with vector arguments and/or vector
+# return values.
+setup_kfail gdb/18537 "i?86-*-*" "x86_64-*-*"
+gdb_test "print add_some_intvecs(i4a, i4b, 3 * i4a)" "= \\{17, 34, 72, 132\\}" \
+ "call add_some_intvecs"
+setup_kfail gdb/18537 "i?86-*-*" "x86_64-*-*"
+gdb_test "print add_many_charvecs(c4, c4, c4, c4, c4, c4, c4, c4, c4, c4)" \
+ "= \\{10, 20, 30, 40\\}" "call add_many_charvecs"
+setup_kfail gdb/18537 "i?86-*-*" "x86_64-*-*"
+gdb_test "print add_various_floatvecs(2, f4a, f4b)" "= \\{3, 6, 16, 20\\}" \
+ "call add_various_floatvecs"
+setup_kfail gdb/18537 "i?86-*-*" "x86_64-*-*"
+gdb_test "print add_structvecs(i2, (struct just_int2)\{2*i2\}, (struct two_int2)\{3*i2, 4*i2\})" \
+ "= \\{i = \\{10, 20\\}\\}" "call add_structvecs"
+gdb_test "print add_singlevecs((char1) \{6\}, (int1) \{12\}, (double1) \{24\})" "= \\{42\\}" \
+ "call add_singlevecs"
+
+# Test vector return value handling with "finish" and "return".
+gdb_breakpoint "add_some_intvecs"
+gdb_continue "add_some_intvecs"
+setup_kfail gdb/18537 "i?86-*-*" "x86_64-*-*"
+gdb_test "finish" "Value returned is .* = \\{10, 20, 48, 72\\}" \
+ "finish shows vector return value"
+gdb_continue "add_some_intvecs"
+gdb_test "return (int4) \{4, 2, 7, 6\}" \
+ "#0 .* main .*" \
+ "set vector return value" \
+ "Make add_some_intvecs return now. .y or n.*" "y"
+setup_kfail gdb/18537 "i?86-*-*" "x86_64-*-*"
+gdb_test "continue" "4 2 7 6\r\n.*" "verify vector return value"
diff --git a/gdb/testsuite/gdb.base/history-duplicates.exp b/gdb/testsuite/gdb.base/history-duplicates.exp
new file mode 100644
index 00000000000..11bb1ed9caf
--- /dev/null
+++ b/gdb/testsuite/gdb.base/history-duplicates.exp
@@ -0,0 +1,117 @@
+# Copyright 2015 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.
+
+# Test the operation of the "history remove-duplicates" option.
+
+
+# Check that the previous history entry is ENTRY.
+
+proc check_prev_history_entry { entry { test_suffix "" } } {
+ set test_name "history entry is $entry"
+ if { $test_suffix != "" } {
+ append test_name " $test_suffix"
+ }
+
+ # Send ^P followed by ^L.
+ send_gdb "\x10\x0c"
+
+ gdb_expect {
+ -re $entry {
+ pass $test_name
+ }
+ timeout {
+ fail $test_name
+ }
+ }
+}
+
+# Foreach element ELT in THINGS, run the command "print $ELT", making sure that
+# each invocation of "print" has a unique test name.
+
+proc run_print_on_each_thing { things } {
+ set index 0
+
+ foreach thing $things {
+ gdb_test "print $thing" "" "printing $thing (item #$index)"
+ incr index
+ }
+}
+
+# By default the option is set to 0.
+gdb_exit
+gdb_start
+gdb_test "show history remove-duplicates" "is 0\\."
+
+# Test the "unlimited" setting.
+with_test_prefix "remove-duplicates=unlimited" {
+ gdb_exit
+ gdb_start
+ gdb_test "set history remove-duplicates unlimited"
+
+ run_print_on_each_thing { 0 1 2 1 1 2 3 3 4 1 2 3 4 }
+
+ check_prev_history_entry "print 4"
+ check_prev_history_entry "print 3"
+ check_prev_history_entry "print 2"
+ check_prev_history_entry "print 1"
+ check_prev_history_entry "print 0"
+}
+
+
+# Test the "1" setting.
+with_test_prefix "remove-duplicates=1" {
+ gdb_exit
+ gdb_start
+ gdb_test "set history remove-duplicates 1"
+
+ run_print_on_each_thing { 0 1 0 2 2 1 }
+
+ check_prev_history_entry "print 1"
+ check_prev_history_entry "print 2"
+ check_prev_history_entry "print 0"
+ check_prev_history_entry "print 1" "(again)"
+ check_prev_history_entry "print 0" "(again)"
+}
+
+
+# Test the "0" setting.
+with_test_prefix "remove-duplicates=0" {
+ gdb_exit
+ gdb_start
+ gdb_test "set history remove-duplicates 0"
+
+ run_print_on_each_thing { 0 0 1 1 }
+
+ check_prev_history_entry "print 1"
+ check_prev_history_entry "print 1" "(again)"
+ check_prev_history_entry "print 0"
+ check_prev_history_entry "print 0" "(again)"
+}
+
+
+# Test the "2" setting.
+with_test_prefix "remove-duplicates=2" {
+ gdb_exit
+ gdb_start
+ gdb_test "set history remove-duplicates 2"
+
+ run_print_on_each_thing { 1 2 0 2 0 }
+
+ check_prev_history_entry "print 0"
+ check_prev_history_entry "print 2"
+ check_prev_history_entry "print 1"
+}
diff --git a/gdb/testsuite/gdb.base/readline.exp b/gdb/testsuite/gdb.base/readline.exp
index c4442856e94..f0490a24261 100644
--- a/gdb/testsuite/gdb.base/readline.exp
+++ b/gdb/testsuite/gdb.base/readline.exp
@@ -185,11 +185,11 @@ gdb_test_multiple "if 1 > 0\n\033\[A\033\[A\nend" $msg {
if [info exists env(GDBHISTFILE)] {
set old_gdbhistfile $env(GDBHISTFILE)
}
-if [info exists env(HISTSIZE)] {
- set old_histsize $env(HISTSIZE)
+if [info exists env(GDBHISTSIZE)] {
+ set old_gdbhistsize $env(GDBHISTSIZE)
}
set env(GDBHISTFILE) "${srcdir}/${subdir}/gdb_history"
-set env(HISTSIZE) "10"
+set env(GDBHISTSIZE) "10"
gdb_exit
gdb_start
@@ -207,10 +207,10 @@ if [info exists old_gdbhistfile] {
} else {
unset env(GDBHISTFILE)
}
-if [info exists old_histsize] {
- set env(HISTSIZE) $old_histsize
+if [info exists old_gdbhistsize] {
+ set env(GDBHISTSIZE) $old_gdbhistsize
} else {
- unset env(HISTSIZE)
+ unset env(GDBHISTSIZE)
}
set timeout $oldtimeout1
diff --git a/gdb/testsuite/gdb.base/sepdebug.exp b/gdb/testsuite/gdb.base/sepdebug.exp
index 3194377010d..c363be46e55 100644
--- a/gdb/testsuite/gdb.base/sepdebug.exp
+++ b/gdb/testsuite/gdb.base/sepdebug.exp
@@ -42,7 +42,7 @@ if { [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {deb
# the name of a debuginfo only file. This file will be stored in the
# gdb.base/ subdirectory.
-if [gdb_gnu_strip_debug $binfile] {
+if [gdb_gnu_strip_debug $binfile$EXEEXT] {
# check that you have a recent version of strip and objcopy installed
unsupported "cannot produce separate debug info files"
return -1
@@ -60,7 +60,7 @@ set new_name [standard_output_file ${testfile}${EXEEXT}]
remote_exec build "rm -rf [file dirname $new_name]"
remote_exec build "mkdir [file dirname $new_name]"
-remote_exec build "ln -s ${binfile} $new_name"
+remote_exec build "ln -s ${binfile}${EXEEXT} $new_name"
clean_restart ${testfile}${EXEEXT}
if { $gdb_file_cmd_debug_info != "debug" } then {
fail "No debug information found."
@@ -716,10 +716,10 @@ proc test_different_dir {type test_different_dir xfail} {
# the "set debug-file-directory" command.
set different_dir [standard_output_file ${testfile}.dir]
-set debugfile "${different_dir}/[standard_output_file ${testfile}.debug]"
+set debugfile "${different_dir}/[standard_output_file ${testfile}${EXEEXT}.debug]"
remote_exec build "rm -rf $different_dir"
remote_exec build "mkdir -p [file dirname $debugfile]"
-remote_exec build "mv -f [standard_output_file ${testfile}.debug] $debugfile"
+remote_exec build "mv -f [standard_output_file ${testfile}${EXEEXT}.debug] $debugfile"
test_different_dir debuglink $different_dir 0
@@ -727,7 +727,7 @@ test_different_dir debuglink $different_dir 0
# Test CRC mismatch is reported.
if {[build_executable sepdebug.exp sepdebug2 sepdebug2.c debug] != -1
- && ![gdb_gnu_strip_debug [standard_output_file sepdebug2]]} {
+ && ![gdb_gnu_strip_debug [standard_output_file sepdebug2]$EXEEXT]} {
remote_exec build "cp ${debugfile} [standard_output_file sepdebug2.debug]"
@@ -743,7 +743,7 @@ if {[build_executable sepdebug.exp sepdebug2 sepdebug2.c debug] != -1
# NT_GNU_BUILD_ID / .note.gnu.build-id test:
-set build_id_debug_filename [build_id_debug_filename_get $binfile]
+set build_id_debug_filename [build_id_debug_filename_get $binfile$EXEEXT]
if ![string compare $build_id_debug_filename ""] then {
unsupported "build-id is not supported by the compiler"
diff --git a/gdb/testsuite/gdb.base/siginfo-obj.exp b/gdb/testsuite/gdb.base/siginfo-obj.exp
index 0d1b96dc6fe..578c12e3faf 100644
--- a/gdb/testsuite/gdb.base/siginfo-obj.exp
+++ b/gdb/testsuite/gdb.base/siginfo-obj.exp
@@ -26,9 +26,7 @@ if [target_info exists gdb,nosignals] {
continue
}
-if { ! [istarget "i?86-*-linux*"]
- && ! [istarget "x86_64-*-linux*"]
- && ! [istarget "arm*-*-linux*"] } {
+if { ![supports_get_siginfo_type] } {
verbose "Skipping siginfo-obj.exp because of lack of support."
return
}
diff --git a/gdb/testsuite/gdb.base/siginfo-thread.exp b/gdb/testsuite/gdb.base/siginfo-thread.exp
index 638bef3fb8b..a00b5aadeb5 100644
--- a/gdb/testsuite/gdb.base/siginfo-thread.exp
+++ b/gdb/testsuite/gdb.base/siginfo-thread.exp
@@ -21,9 +21,7 @@ if [target_info exists gdb,nosignals] {
continue
}
-if { ! [istarget "i?86-*-linux*"]
- && ! [istarget "x86_64-*-linux*"]
- && ! [istarget "arm*-*-linux*"] } {
+if { ![supports_get_siginfo_type] } {
verbose "Skipping siginfo-thread.exp because of lack of support."
return
}
diff --git a/gdb/testsuite/gdb.base/tui-layout.exp b/gdb/testsuite/gdb.base/tui-layout.exp
index 0dcf1cac564..cac2bc95567 100644
--- a/gdb/testsuite/gdb.base/tui-layout.exp
+++ b/gdb/testsuite/gdb.base/tui-layout.exp
@@ -19,4 +19,11 @@ if { [prepare_for_testing ${testfile}.exp ${testfile} $srcfile] } {
return -1
}
+if {[skip_tui_tests]} {
+ # TUI support is disabled. Check for error message.
+ gdb_test "layout asm" "Undefined command: \"layout\". Try \"help\"."
+ return
+}
+
+# Just check the command does not cause gdb to crash.
gdb_test "layout asm"
diff --git a/gdb/testsuite/gdb.compile/compile-ops.exp b/gdb/testsuite/gdb.compile/compile-ops.exp
index 26882bd2988..0ef3c8d2701 100644
--- a/gdb/testsuite/gdb.compile/compile-ops.exp
+++ b/gdb/testsuite/gdb.compile/compile-ops.exp
@@ -416,7 +416,7 @@ if {[skip_compile_feature_tests]} {
}
# If we have a bug, this will hang.
-gdb_test_no_output "compile code param"
+gdb_test_no_output "compile code (void) param"
# We can't access optimized-out variables, but their presence should
# not affect compilations that don't refer to them.
diff --git a/gdb/testsuite/gdb.compile/compile-print.c b/gdb/testsuite/gdb.compile/compile-print.c
new file mode 100644
index 00000000000..e83b620c0f6
--- /dev/null
+++ b/gdb/testsuite/gdb.compile/compile-print.c
@@ -0,0 +1,32 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2015 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 <stdlib.h>
+
+int varint = 10;
+int vararray[] = { 1, 2, 3, 4, 5 };
+int *vararrayp = vararray;
+struct object
+{
+ int field;
+} varobject = { 1 };
+
+int
+main (void)
+{
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.compile/compile-print.exp b/gdb/testsuite/gdb.compile/compile-print.exp
new file mode 100644
index 00000000000..de2f0e74be7
--- /dev/null
+++ b/gdb/testsuite/gdb.compile/compile-print.exp
@@ -0,0 +1,58 @@
+# Copyright 2015 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/>.
+
+standard_testfile
+
+if { [prepare_for_testing ${testfile}.exp "$testfile"] } {
+ return -1
+}
+
+if ![runto_main] {
+ return -1
+}
+
+if {[skip_compile_feature_tests]} {
+ untested "compile command not supported (could not find libcc1 shared library?)"
+ return -1
+}
+
+gdb_test "compile print varint" " = 10"
+gdb_test "compile print vararray" " = \\{1, 2, 3, 4, 5\\}"
+gdb_test "compile print main" " = \\{int \\(void\\)\\} 0x\[0-9a-f\]+"
+
+set test "compile print *vararray@3"
+gdb_test_multiple $test $test {
+ -re " = \\{1, 2, 3\\}\r\n$gdb_prompt $" {
+ pass $test
+ }
+ -re ": error: stray '@' in program\r\n.*\r\n$gdb_prompt $" {
+ kfail compile/18489 "$test"
+ }
+}
+
+set test "compile print *vararrayp@3"
+gdb_test_multiple $test $test {
+ -re " = \\{1, 2, 3\\}\r\n$gdb_prompt $" {
+ pass $test
+ }
+ -re ": error: stray '@' in program\r\n.*\r\n$gdb_prompt $" {
+ kfail compile/18489 "$test"
+ }
+}
+
+gdb_test "compile print/x 256" " = 0x100"
+gdb_test {print $} " = 256"
+
+gdb_test "compile print varobject" { = {field = 1}}
diff --git a/gdb/testsuite/gdb.compile/compile.exp b/gdb/testsuite/gdb.compile/compile.exp
index dc09770133a..dd46a5fac55 100644
--- a/gdb/testsuite/gdb.compile/compile.exp
+++ b/gdb/testsuite/gdb.compile/compile.exp
@@ -71,13 +71,13 @@ gdb_test_no_output "compile -- f = 10" \
gdb_test "compile f = 10;" ".*= 10;: No such file.*" \
"Test abbreviations and code collision"
-gdb_test_no_output "compile -r -- _gdb_expr(){int i = 5;}" \
+gdb_test_no_output "compile -r -- void _gdb_expr(){int i = 5;}" \
"Test delimiter with -r"
-gdb_test_no_output "compile -raw -- _gdb_expr(){int i = 5;}" \
+gdb_test_no_output "compile -raw -- void _gdb_expr(){int i = 5;}" \
"Test delimiter with -raw"
-gdb_test "compile -- -r _gdb_expr(){int i = 5;}" \
+gdb_test "compile -- -r void _gdb_expr(){int i = 5;}" \
".* error: 'r' undeclared \\(first use in this function\\).*" \
"Test delimiter with -r after it"
@@ -131,8 +131,8 @@ gdb_test_no_output "compile code globalvar = static_local"
gdb_test "p globalvar" " = 77000" "check static_local"
gdb_test_no_output "compile code static int staticvar = 5; intptr = &staticvar" \
- "keep jit in memory"
-gdb_test "p *intptr" " = 5" "expect 5"
+ "do not keep jit in memory"
+gdb_test "p *intptr" "Cannot access memory at address 0x\[0-9a-f\]+" "expect no 5"
gdb_test "compile code func_doesnotexist ();" "warning: Could not find symbol \"func_doesnotexist\" for .*"
@@ -189,7 +189,15 @@ gdb_test "p localvar" " = 1"
# Test setting fields and also many different types.
#
-gdb_test_no_output "compile code struct_object.selffield = &struct_object"
+set test "compile code struct_object.selffield = &struct_object"
+gdb_test_multiple $test $test {
+ -re "^$test\r\n$gdb_prompt $" {
+ pass "$test"
+ }
+ -re "gdb command line:1:25: warning: assignment discards 'volatile' qualifier from pointer target type \\\[-Wdiscarded-qualifiers\\\]\r\n$gdb_prompt $" {
+ xfail "$test (PR compile/18202)"
+ }
+}
gdb_test "print struct_object.selffield == &struct_object" " = 1"
gdb_test_no_output "compile code struct_object.charfield = 1"
@@ -261,7 +269,7 @@ gdb_test "print 'compile.c'::globalshadow" " = 77000" \
# Test GOT vs. resolving jit function pointers.
-gdb_test_no_output "compile -raw -- int func(){return 21;} _gdb_expr(){int (*funcp)()=func; if (funcp()!=21) abort();}" \
+gdb_test_no_output "compile -raw -- int func(){return 21;} void _gdb_expr(){ void abort (void); int (*funcp)()=func; if (funcp()!=21) abort(); }" \
"pointer to jit function"
#
diff --git a/gdb/testsuite/gdb.cp/iostream.cc b/gdb/testsuite/gdb.cp/iostream.cc
new file mode 100644
index 00000000000..7769e2af9f8
--- /dev/null
+++ b/gdb/testsuite/gdb.cp/iostream.cc
@@ -0,0 +1,27 @@
+/* Code to go along with tests in rtti.exp.
+
+ Copyright 2015 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 <iostream>
+
+int
+main ()
+{
+ std::cerr << "cerr\n";
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.cp/iostream.exp b/gdb/testsuite/gdb.cp/iostream.exp
new file mode 100644
index 00000000000..3b864a836ad
--- /dev/null
+++ b/gdb/testsuite/gdb.cp/iostream.exp
@@ -0,0 +1,44 @@
+# Copyright 2015 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 various aspects of iostream that have caused problems for gdb.
+
+if { [skip_cplus_tests] } { continue }
+
+standard_testfile .cc
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
+
+if ![runto_main] {
+ perror "couldn't run to breakpoint"
+ continue
+}
+
+# PR 18417
+# std::iostream is problematic because the minimal symbol for its vtable is
+# "_ZTVSo" which demangles as "vtable for std::ostream" and std::iostream
+# a typedef.
+set test "p std::cerr"
+gdb_test_multiple $test $test {
+ -re "warning: RTTI symbol for class '.*' has bad type.*$gdb_prompt $" {
+ fail $test
+ }
+ -re ".*$gdb_prompt $" {
+ pass $test
+ }
+}
diff --git a/gdb/testsuite/gdb.cp/var-tag-2.cc b/gdb/testsuite/gdb.cp/var-tag-2.cc
new file mode 100644
index 00000000000..7733473707a
--- /dev/null
+++ b/gdb/testsuite/gdb.cp/var-tag-2.cc
@@ -0,0 +1,22 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2015 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 object is in a separate file so that its debug info is not
+ expanded at startup. Once debug info is expanded we are no longer
+ exercising block_lookup_symbol, and instead are exercising
+ block_lookup_symbol_primary. */
+enum E2 {a2, b2, c2} E2;
diff --git a/gdb/testsuite/gdb.cp/var-tag-3.cc b/gdb/testsuite/gdb.cp/var-tag-3.cc
new file mode 100644
index 00000000000..7f2133f256d
--- /dev/null
+++ b/gdb/testsuite/gdb.cp/var-tag-3.cc
@@ -0,0 +1,22 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2015 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 object is in a separate file so that its debug info is not
+ expanded at startup. Once debug info is expanded we are no longer
+ exercising block_lookup_symbol, and instead are exercising
+ block_lookup_symbol_primary. */
+struct S2 {} S2;
diff --git a/gdb/testsuite/gdb.cp/var-tag-4.cc b/gdb/testsuite/gdb.cp/var-tag-4.cc
new file mode 100644
index 00000000000..162541cac3d
--- /dev/null
+++ b/gdb/testsuite/gdb.cp/var-tag-4.cc
@@ -0,0 +1,22 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2015 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 object is in a separate file so that its debug info is not
+ expanded at startup. Once debug info is expanded we are no longer
+ exercising block_lookup_symbol, and instead are exercising
+ block_lookup_symbol_primary. */
+union U2 {int a; char b;} U2;
diff --git a/gdb/testsuite/gdb.cp/var-tag.cc b/gdb/testsuite/gdb.cp/var-tag.cc
new file mode 100644
index 00000000000..93b9cafa434
--- /dev/null
+++ b/gdb/testsuite/gdb.cp/var-tag.cc
@@ -0,0 +1,44 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2014 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/>. */
+
+int global = 3;
+
+class C {
+public:
+ struct C1 {} C1;
+ enum E1 {a1, b1, c1} E1;
+ union U1 {int a1; char b1;} U1;
+
+ C () : E1 (b1) {}
+ void global (void) const {}
+ int f (void) const { global (); return 0; }
+} C;
+
+struct S {} S;
+enum E {a, b, c} E;
+union U {int a; char b;} U;
+
+class CC {} cc;
+struct SS {} ss;
+enum EE {ea, eb, ec} ee;
+union UU {int aa; char bb;} uu;
+
+int
+main (void)
+{
+ return C.f ();
+}
diff --git a/gdb/testsuite/gdb.cp/var-tag.exp b/gdb/testsuite/gdb.cp/var-tag.exp
new file mode 100644
index 00000000000..30aab99d82c
--- /dev/null
+++ b/gdb/testsuite/gdb.cp/var-tag.exp
@@ -0,0 +1,105 @@
+# Copyright 2014, 2015 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
+
+# Test expressions in which variable names shadow tag names.
+
+if {[skip_cplus_tests]} { continue }
+
+standard_testfile var-tag.cc var-tag-2.cc var-tag-3.cc var-tag-4.cc
+
+if {[prepare_for_testing $testfile.exp $testfile \
+ [list $srcfile $srcfile2 $srcfile3 $srcfile4] {debug c++}]} {
+ return -1
+}
+
+proc do_global_tests {lang} {
+ set invalid_print "Attempt to use a type name as an expression"
+ set ptypefmt "type = (class|enum|union|struct) %s {.*}"
+
+ with_test_prefix $lang {
+ gdb_test_no_output "set language $lang"
+ gdb_test "ptype C" "type = class C {.*}"
+ gdb_test "print E" "= a"
+ gdb_test "ptype E" "type = enum E {.*}"
+ gdb_test "print S" "= {<No data fields>}"
+ gdb_test "ptype S" "type = struct S {.*}"
+ gdb_test "print U" "= {.*}"
+ gdb_test "ptype U" "type = union U {.*}"
+ gdb_test "print cc" "= {.*}"
+ gdb_test "ptype cc" "type = class CC {.*}"
+ gdb_test "print CC" [format $invalid_print "CC"]
+ gdb_test "ptype CC" [format $ptypefmt "CC"]
+ gdb_test "print ss" "= {<No data fields>}"
+ gdb_test "ptype ss" "type = struct SS {.*}"
+ gdb_test "print SS" [format $invalid_print "SS"]
+ gdb_test "ptype SS" [format $ptypefmt "SS"]
+ gdb_test "print ee" "= .*"
+ gdb_test "ptype ee" "type = enum EE {.*}"
+ gdb_test "print EE" [format $invalid_print "EE"]
+ gdb_test "ptype EE" [format $ptypefmt "EE"]
+ gdb_test "print uu" "= {.*}"
+ gdb_test "ptype uu" "type = union UU {.*}"
+ gdb_test "print UU" [format $invalid_print "UU"]
+ gdb_test "ptype UU" [format $ptypefmt "UU"]
+
+ # These tests exercise lookup of symbols using the "quick fns" API.
+ # Each of them is in a separate CU as once its CU is expanded,
+ # we're no longer using the quick fns API.
+ gdb_test "print E2" "= a2"
+ gdb_test "ptype E2" "type = enum E2 {.*}"
+ gdb_test "print S2" "= {<No data fields>}"
+ gdb_test "ptype S2" "type = struct S2 {.*}"
+ gdb_test "print U2" "= {.*}"
+ gdb_test "ptype U2" "type = union U2 {.*}"
+ }
+}
+
+# First test expressions when there is no context.
+with_test_prefix "before start" {
+ do_global_tests c++
+ do_global_tests c
+}
+
+# Run to main and test again.
+if {![runto_main]} {
+ perror "couldn't run to main"
+ continue
+}
+
+with_test_prefix "in main" {
+ do_global_tests c++
+ do_global_tests c
+}
+
+# Run to C::f and test again.
+gdb_breakpoint "C::f"
+gdb_continue_to_breakpoint "continue to C::f"
+with_test_prefix "in C::f" {
+ do_global_tests c++
+ do_global_tests c
+}
+
+# Another hard-to-guess-the-users-intent bug...
+# It would be really nice if we could query the user!
+with_test_prefix "global collision" {
+ gdb_test_no_output "set language c++"
+ setup_kfail "c++/16463" "*-*-*"
+ gdb_test "print global" "= 3"
+
+ # ... with a simple workaround:
+ gdb_test "print ::global" "= 3"
+}
diff --git a/gdb/testsuite/gdb.dwarf2/dw2-op-call.exp b/gdb/testsuite/gdb.dwarf2/dw2-op-call.exp
index 1efb075c491..fd09923d5a1 100644
--- a/gdb/testsuite/gdb.dwarf2/dw2-op-call.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw2-op-call.exp
@@ -29,7 +29,7 @@ if { [prepare_for_testing ${testfile}.exp ${testfile} \
}
# Additional test to verify the referenced CU is not aged out.
-gdb_test_no_output "maintenance set dwarf2 max-cache-age 0"
+gdb_test_no_output "maintenance set dwarf max-cache-age 0"
gdb_test "p array1" " = 1"
gdb_test "p array2" " = 2" "array2 using DW_OP_call2"
diff --git a/gdb/testsuite/gdb.dwarf2/dw4-sig-types.exp b/gdb/testsuite/gdb.dwarf2/dw4-sig-types.exp
index 3523b66af25..dd8c4c7f142 100644
--- a/gdb/testsuite/gdb.dwarf2/dw4-sig-types.exp
+++ b/gdb/testsuite/gdb.dwarf2/dw4-sig-types.exp
@@ -28,7 +28,7 @@ if { [prepare_for_testing "${testfile}.exp" "${testfile}" \
}
# Stress test gdb's handling of cached comp units, disable the cache.
-gdb_test_no_output "maint set dwarf2 max-cache-age 0"
+gdb_test_no_output "maint set dwarf max-cache-age 0"
if ![runto_main] {
return -1
diff --git a/gdb/testsuite/gdb.dwarf2/implptr.exp b/gdb/testsuite/gdb.dwarf2/implptr.exp
index 6ffb8fe66d1..e97f7e3088b 100644
--- a/gdb/testsuite/gdb.dwarf2/implptr.exp
+++ b/gdb/testsuite/gdb.dwarf2/implptr.exp
@@ -39,7 +39,7 @@ if {[prepare_for_testing ${testfile}.exp ${testfile} $srcfile $opts]} {
}
# Additional test to verify the referenced CU is not aged out.
-gdb_test_no_output "maintenance set dwarf2 max-cache-age 0"
+gdb_test_no_output "maintenance set dwarf max-cache-age 0"
if ![runto_main] {
return -1
diff --git a/gdb/testsuite/gdb.dwarf2/opaque-type-lookup-2.c b/gdb/testsuite/gdb.dwarf2/opaque-type-lookup-2.c
new file mode 100644
index 00000000000..948e26de5f3
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/opaque-type-lookup-2.c
@@ -0,0 +1,24 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2015 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/>. */
+
+/* These are actually struct struct_{a,b}, but that's handled by the dwarf
+ in opaque-type-lookup.exp.
+ IWBN to give these a different name than what's in the dwarf so that minsym
+ lookup doesn't interfere with the testing. However, that currently doesn't
+ work (we don't record the linkage name of the symbol). */
+char variable_a = 'a';
+char variable_b = 'b';
diff --git a/gdb/testsuite/gdb.dwarf2/opaque-type-lookup.c b/gdb/testsuite/gdb.dwarf2/opaque-type-lookup.c
new file mode 100644
index 00000000000..7cfe08e1746
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/opaque-type-lookup.c
@@ -0,0 +1,23 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2015 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/>. */
+
+int
+main()
+{
+ asm ("main_label: .globl main_label");
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.dwarf2/opaque-type-lookup.exp b/gdb/testsuite/gdb.dwarf2/opaque-type-lookup.exp
new file mode 100644
index 00000000000..67f6dbfa6b5
--- /dev/null
+++ b/gdb/testsuite/gdb.dwarf2/opaque-type-lookup.exp
@@ -0,0 +1,200 @@
+# Copyright 2013-2015 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 PR 18258.
+
+load_lib dwarf.exp
+
+# This test can only be run on targets which support DWARF-2 and use gas.
+if {![dwarf2_support]} {
+ return 0
+}
+
+standard_testfile opaque-type-lookup.c opaque-type-lookup-1.S opaque-type-lookup-2.c
+
+# Create the DWARF.
+set asm_file [standard_output_file $srcfile2]
+Dwarf::assemble $asm_file {
+ declare_labels partial_unit_defining_a partial_unit_defining_b
+ declare_labels partial_unit_with_opaque
+ declare_labels struct_a_label struct_b_label
+ declare_labels opaque_struct_a_label opaque_struct_b_label
+ declare_labels char_type1_label char_type2_label
+ global srcdir subdir srcfile
+
+ extern main
+
+ # The partial units are laid out so we're not dependent on the order that
+ # they appear in compunit_symtab.includes. We need the one with the
+ # opaque definition to appear first to gdb, so we put it in the middle.
+ # Either the handling of variable_a or variable_b will be broken (in an
+ # unpatched gdb).
+ #
+ # However, once a partial unit with a non-opaque type is read in we can
+ # no longer see the bug as gdb will keep looking until it eventually gets
+ # to the defining partial unit, setting aside the symbol lookup cache.
+ # So heads up!
+
+ cu {} {
+ compile_unit {
+ {language @DW_LANG_C}
+ {name opaque_before}
+ } {
+ imported_unit {
+ {import $partial_unit_with_opaque ref_addr}
+ }
+
+ imported_unit {
+ {import $partial_unit_defining_a ref_addr}
+ }
+ }
+ }
+
+ cu {} {
+ compile_unit {
+ {language @DW_LANG_C}
+ {name opaque_after}
+ } {
+ imported_unit {
+ {import $partial_unit_defining_b ref_addr}
+ }
+
+ imported_unit {
+ {import $partial_unit_with_opaque ref_addr}
+ }
+ }
+ }
+
+ cu {} {
+ partial_unit_with_opaque: partial_unit {
+ {name "partial_unit_with_opaque"}
+ } {
+ # Normally gdb doesn't add opaque types to the symbol table
+ # but there are times when it will, and in order to exercise
+ # this bug we need this entry in the symbol table.
+ # By giving it a size of 1 we achieve this.
+
+ opaque_struct_a_label: structure_type {
+ {name struct_a}
+ {declaration 1 flag}
+ {byte_size 1 DW_FORM_sdata}
+ }
+
+ opaque_struct_b_label: structure_type {
+ {name struct_b}
+ {declaration 1 flag}
+ {byte_size 1 DW_FORM_sdata}
+ }
+
+ DW_TAG_variable {
+ {name variable_a}
+ {type :$opaque_struct_a_label}
+ {external 1 flag}
+ {declaration 1 flag}
+ }
+
+ DW_TAG_variable {
+ {name variable_b}
+ {type :$opaque_struct_b_label}
+ {external 1 flag}
+ {declaration 1 flag}
+ }
+ }
+ }
+
+ cu {} {
+ partial_unit_defining_a: partial_unit {
+ {name "partial_unit_defining_a"}
+ } {
+ char_type1_label: base_type {
+ {name "signed char"}
+ {encoding @DW_ATE_signed}
+ {byte_size 1 DW_FORM_sdata}
+ }
+
+ struct_a_label: structure_type {
+ {name struct_a}
+ {byte_size 1 DW_FORM_sdata}
+ } {
+ member {
+ {name xyz}
+ {type :$char_type1_label}
+ {data_member_location 0 DW_FORM_sdata}
+ }
+ }
+
+ DW_TAG_variable {
+ {name variable_a}
+ {type :$struct_a_label}
+ {external 1 flag}
+ {linkage_name variable_a}
+ }
+ }
+ }
+
+ cu {} {
+ partial_unit_defining_b: partial_unit {
+ {name "partial_unit_defining_b"}
+ } {
+ char_type2_label: base_type {
+ {name "signed char"}
+ {encoding @DW_ATE_signed}
+ {byte_size 1 DW_FORM_sdata}
+ }
+
+ struct_b_label: structure_type {
+ {name struct_b}
+ {byte_size 1 DW_FORM_sdata}
+ } {
+ member {
+ {name xyz}
+ {type :$char_type2_label}
+ {data_member_location 0 DW_FORM_sdata}
+ }
+ }
+
+ DW_TAG_variable {
+ {name variable_b}
+ {type :$struct_b_label}
+ {external 1 flag}
+ {linkage_name variable_b}
+ }
+ }
+ }
+
+ # GDB expands the symbol table with main at start up,
+ # so keep this separate.
+ cu {} {
+ compile_unit {
+ {language @DW_LANG_C}
+ {name main}
+ } {
+ subprogram {
+ {MACRO_AT_func { main ${srcdir}/${subdir}/${srcfile} }}
+ }
+ }
+ }
+}
+
+if [prepare_for_testing ${testfile}.exp $testfile "${asm_file} ${srcfile} ${srcfile3}" {nodebug}] {
+ return -1
+}
+
+if ![runto_main] {
+ return -1
+}
+
+gdb_test "p variable_a" " = {xyz = 97 'a'}"
+gdb_test "p variable_b" " = {xyz = 98 'b'}"
diff --git a/gdb/testsuite/gdb.guile/scm-ports.c b/gdb/testsuite/gdb.guile/scm-ports.c
new file mode 100644
index 00000000000..b92fefb7e50
--- /dev/null
+++ b/gdb/testsuite/gdb.guile/scm-ports.c
@@ -0,0 +1,22 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2015 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/>. */
+
+int
+main (void)
+{
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.guile/scm-ports.exp b/gdb/testsuite/gdb.guile/scm-ports.exp
index 099f5e66fb0..420f183955a 100644
--- a/gdb/testsuite/gdb.guile/scm-ports.exp
+++ b/gdb/testsuite/gdb.guile/scm-ports.exp
@@ -18,20 +18,150 @@
load_lib gdb-guile.exp
-# Start with a fresh gdb.
-gdb_exit
-gdb_start
+standard_testfile
+
+if { [prepare_for_testing ${testfile}.exp ${testfile} ${srcfile}] } {
+ return
+}
# Skip all tests if Guile scripting is not enabled.
if { [skip_guile_tests] } { continue }
+if ![gdb_guile_runto_main] {
+ return
+}
+
gdb_reinitialize_dir $srcdir/$subdir
gdb_install_guile_utils
gdb_install_guile_module
+gdb_scm_test_silent_cmd "guile (use-modules (rnrs io ports) (rnrs bytevectors))" \
+ "import (rnrs io ports) (rnrs bytevectors)"
+
gdb_test "guile (print (stdio-port? 42))" "= #f"
gdb_test "guile (print (stdio-port? (%make-void-port \"r\")))" "= #f"
gdb_test "guile (print (stdio-port? (input-port)))" "= #t"
gdb_test "guile (print (stdio-port? (output-port)))" "= #t"
gdb_test "guile (print (stdio-port? (error-port)))" "= #t"
+
+# Test memory port open/close.
+
+proc test_port { mode } {
+ with_test_prefix "basic $mode tests" {
+ gdb_test_no_output "guile (define my-port (open-memory #:mode \"$mode\"))" \
+ "create memory port"
+ gdb_test "guile (print (memory-port? my-port))" "= #t"
+ switch -glob $mode {
+ "r+*" {
+ gdb_test "guile (print (input-port? my-port))" "= #t"
+ gdb_test "guile (print (output-port? my-port))" "= #t"
+ }
+ "r*" {
+ gdb_test "guile (print (input-port? my-port))" "= #t"
+ gdb_test "guile (print (output-port? my-port))" "= #f"
+ }
+ "w*" {
+ gdb_test "guile (print (input-port? my-port))" "= #f"
+ gdb_test "guile (print (output-port? my-port))" "= #t"
+ }
+ default {
+ error "bad test mode"
+ }
+ }
+ gdb_test "guile (print (port-closed? my-port))" "= #f" \
+ "test port-closed? before it's closed"
+ gdb_test "guile (print (close-port my-port))" "= #t"
+ gdb_test "guile (print (port-closed? my-port))" "= #t" \
+ "test port-closed? after it's closed"
+ }
+}
+
+set port_variations { r w r+ rb wb r+b r0 w0 r+0 }
+foreach variation $port_variations {
+ test_port $variation
+}
+
+# Test read/write of memory ports.
+
+proc test_mem_port_rw { kind } {
+ if { "$kind" == "buffered" } {
+ set buffered 1
+ } else {
+ set buffered 0
+ }
+ with_test_prefix $kind {
+ if $buffered {
+ set mode "r+"
+ } else {
+ set mode "r+0"
+ }
+ gdb_test_no_output "guile (define rw-mem-port (open-memory #:mode \"$mode\"))" \
+ "create r/w memory port"
+ gdb_test "guile (print rw-mem-port)" \
+ "#<input-output: gdb:memory-port 0x0-0xf+>"
+ gdb_test_no_output "guile (define sp-reg (parse-and-eval \"\$sp\"))" \
+ "get sp reg"
+ # Note: Only use $sp_reg for gdb_test result matching, don't use it in
+ # gdb commands. Otherwise transcript.N becomes unusable.
+ set sp_reg [get_integer_valueof "\$sp" 0]
+ gdb_test_no_output "guile (define byte-at-sp (parse-and-eval \"*(char*) \$sp\"))" \
+ "save current value at sp"
+ # Pass the result of parse-and-eval through value-fetch-lazy!,
+ # otherwise the value gets left as a lazy reference to memory, which
+ # when re-evaluated after we flush the write will yield the newly
+ # written value. PR 18175
+ gdb_test_no_output "guile (value-fetch-lazy! byte-at-sp)" \
+ "un-lazyify byte-at-sp"
+ gdb_test "guile (print (seek rw-mem-port (value->integer sp-reg) SEEK_SET))" \
+ "= $sp_reg" \
+ "seek to \$sp"
+ gdb_test_no_output "guile (define old-value (value->integer byte-at-sp))" \
+ "define old-value"
+ gdb_test_no_output "guile (define new-value (logxor old-value 1))" \
+ "define new-value"
+ gdb_test "guile (print (put-bytevector rw-mem-port (make-bytevector 1 new-value)))" \
+ "= #<unspecified>"
+ if $buffered {
+ # Value shouldn't be in memory yet.
+ gdb_test "guile (print (value=? (parse-and-eval \"*(char*) \$sp\") byte-at-sp))" \
+ "= #t" \
+ "test byte at sp, before flush"
+ gdb_test_no_output "guile (force-output rw-mem-port)" \
+ "flush port"
+ }
+ # Value should be in memory now.
+ gdb_test "guile (print (value=? (parse-and-eval \"*(char*) \$sp\") byte-at-sp))" \
+ "= #f" \
+ "test byte at sp, after flush"
+ # Restore the value for cleanliness sake, and to verify close-port
+ # flushes the buffer.
+ gdb_test "guile (print (seek rw-mem-port (value->integer sp-reg) SEEK_SET))" \
+ "= $sp_reg" \
+ "seek to \$sp for restore"
+ gdb_test "guile (print (put-bytevector rw-mem-port (make-bytevector 1 old-value)))" \
+ "= #<unspecified>"
+ gdb_test "guile (print (close-port rw-mem-port))" \
+ "= #t"
+ gdb_test "guile (print (value=? (parse-and-eval \"*(char*) \$sp\") byte-at-sp))" \
+ "= #t" \
+ "test byte at sp, after close"
+ }
+}
+
+test_mem_port_rw buffered
+test_mem_port_rw unbuffered
+
+# Test zero-length memory ports.
+
+gdb_test_no_output "guile (define zero-mem-port (open-memory #:start 0 #:size 0 #:mode \"r+\"))" \
+ "create zero length memory port"
+gdb_test "guile (print (read-char zero-mem-port))" \
+ "= #<eof>"
+gdb_test "guile (print (write-char #\\a zero-mem-port))" \
+ "ERROR: .*Out of range: writing beyond end of memory range.*Error while executing Scheme code."
+gdb_test "guile (print (get-bytevector-n zero-mem-port 0))" \
+ "= #vu8\\(\\)"
+gdb_test "guile (print (put-bytevector zero-mem-port (make-bytevector 0)))" \
+ "= #<unspecified>"
+gdb_test "guile (print (close-port zero-mem-port))" "= #t"
diff --git a/gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp b/gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp
index 8f8f24e2ec4..0fd84e788c6 100644
--- a/gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp
+++ b/gdb/testsuite/gdb.mi/mi-cmd-param-changed.exp
@@ -85,9 +85,9 @@ proc test_command_param_changed { } {
# No notification is emitted for 'maint set' commands.
foreach boolean_opt { "on" "off" } {
- mi_gdb_test "maint set dwarf2 always-disassemble ${boolean_opt}" \
- "\\&\"maint set dwarf2 always-disassemble ${boolean_opt}\\\\n\"\r\n\\^done" \
- "\"maint dwarf2 always-disassemble ${boolean_opt}\""
+ mi_gdb_test "maint set dwarf always-disassemble ${boolean_opt}" \
+ "\\&\"maint set dwarf always-disassemble ${boolean_opt}\\\\n\"\r\n\\^done" \
+ "\"maint dwarf always-disassemble ${boolean_opt}\""
}
# Full command parameters are included in the notification when a
diff --git a/gdb/testsuite/gdb.mi/mi-detach.exp b/gdb/testsuite/gdb.mi/mi-detach.exp
new file mode 100644
index 00000000000..88759a965de
--- /dev/null
+++ b/gdb/testsuite/gdb.mi/mi-detach.exp
@@ -0,0 +1,35 @@
+# Copyright 2015 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 that detaching from the inferior produces the right MI records.
+
+load_lib mi-support.exp
+set MIFLAGS "-i=mi"
+
+gdb_exit
+if [mi_gdb_start] {
+ continue
+}
+
+standard_testfile basics.c
+
+if {[build_executable $testfile.exp $testfile $srcfile {debug}] == -1} {
+ untested mi-detach.exp
+ return -1
+}
+
+mi_run_to_main
+
+mi_gdb_test "-target-detach" "=thread-exited,id=\"1\".*=thread-group-exited,id=\"i1\".*" "detach"
diff --git a/gdb/testsuite/gdb.mi/mi-dprintf-pending.c b/gdb/testsuite/gdb.mi/mi-dprintf-pending.c
new file mode 100644
index 00000000000..191cab2592d
--- /dev/null
+++ b/gdb/testsuite/gdb.mi/mi-dprintf-pending.c
@@ -0,0 +1,25 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2015 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/>. */
+
+extern void pendfunc (void);
+
+int
+main (void)
+{
+ pendfunc ();
+ return 0; /* set breakpoint 1 here */
+}
diff --git a/gdb/testsuite/gdb.mi/mi-dprintf-pending.exp b/gdb/testsuite/gdb.mi/mi-dprintf-pending.exp
new file mode 100644
index 00000000000..5bb4a1b2e0f
--- /dev/null
+++ b/gdb/testsuite/gdb.mi/mi-dprintf-pending.exp
@@ -0,0 +1,79 @@
+# Copyright 2015 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 checks if dprintf prints correctly when it's resolved from
+# pending state.
+# See PR breakpoints/16465.
+
+load_lib mi-support.exp
+
+if {[skip_shlib_tests]} {
+ return 0
+}
+
+standard_testfile mi-dprintf-pending.c
+
+set libfile1 "mi-dprintf-pendshr"
+set libsrc1 $srcdir/$subdir/$libfile1.c
+set lib_sl1 [standard_output_file $libfile1.sl]
+set lib_opts debug
+set exec_opts [list debug shlib=$lib_sl1 shlib_load]
+
+if {[get_compiler_info]} {
+ return -1
+}
+
+if {[gdb_compile_shlib $libsrc1 $lib_sl1 $lib_opts] != ""} {
+ untested "Could not compile $libsrc1"
+ return -1
+}
+
+if {[gdb_compile $srcdir/$subdir/$srcfile $binfile executable $exec_opts] != ""} {
+ untested "Could not compile $srcdir/$subdir/$srcfile"
+ return -1
+}
+
+# Start with a fresh gdb.
+gdb_exit
+mi_gdb_start
+mi_gdb_reinitialize_dir $srcdir/$subdir
+mi_gdb_load ${binfile}
+mi_load_shlibs $lib_sl1
+
+set bp_location1 [gdb_get_line_number "set breakpoint 1 here"]
+
+# Set pending dprintf via MI.
+mi_gdb_test "-dprintf-insert -f pendfunc1 \"hello\"" \
+ ".*\\^done,bkpt={number=\"1\",type=\"dprintf\",disp=\"keep\",enabled=\"y\",addr=\"<PENDING>\",pending=\"pendfunc1\",times=\"0\",original-location=\"pendfunc1\"}" \
+ "mi set dprintf"
+
+mi_create_breakpoint $bp_location1 "mi insert breakpoint bp_location1" \
+ -type "breakpoint" -line $bp_location1 -file $srcdir/$subdir/$srcfile
+
+mi_run_cmd
+
+set msg "mi dprintf"
+gdb_expect {
+ -re ".*~\"hello\"" {
+ pass $msg
+ }
+ -re ".*$mi_gdb_prompt$" {
+ fail $msg
+ }
+ timeout {
+ fail $msg
+ }
+}
+mi_expect_stop ".*" "main" ".*" ".*$srcfile" "$bp_location1" "" "$msg stop"
diff --git a/gdb/testsuite/gdb.mi/mi-dprintf-pendshr.c b/gdb/testsuite/gdb.mi/mi-dprintf-pendshr.c
new file mode 100644
index 00000000000..05d188cbbdc
--- /dev/null
+++ b/gdb/testsuite/gdb.mi/mi-dprintf-pendshr.c
@@ -0,0 +1,27 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2015 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/>. */
+
+void
+pendfunc1 (void)
+{
+}
+
+void
+pendfunc (void)
+{
+ pendfunc1 ();
+}
diff --git a/gdb/testsuite/gdb.python/py-lazy-string.c b/gdb/testsuite/gdb.python/py-lazy-string.c
new file mode 100644
index 00000000000..c72e1fa3464
--- /dev/null
+++ b/gdb/testsuite/gdb.python/py-lazy-string.c
@@ -0,0 +1,24 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2015 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/>. */
+
+int
+main ()
+{
+ const char *null = 0;
+
+ return 0; /* break here */
+}
diff --git a/gdb/testsuite/gdb.python/py-lazy-string.exp b/gdb/testsuite/gdb.python/py-lazy-string.exp
new file mode 100644
index 00000000000..55e903e9281
--- /dev/null
+++ b/gdb/testsuite/gdb.python/py-lazy-string.exp
@@ -0,0 +1,42 @@
+# Copyright (C) 2015 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 lazy string support
+# not tested by py-prettyprinter.exp.
+
+load_lib gdb-python.exp
+
+standard_testfile
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile {debug c++}]} {
+ return -1
+}
+
+# Skip all tests if Python scripting is not enabled.
+if { [skip_python_tests] } { continue }
+
+if ![runto_main ] {
+ return -1
+}
+
+gdb_breakpoint [gdb_get_line_number "break here"]
+gdb_continue_to_breakpoint "break here"
+
+gdb_test_no_output "python null = gdb.parse_and_eval(\"null\")"
+
+gdb_test "python print null.lazy_string(length=0).value()" \
+ "gdb.MemoryError: Cannot create a value from NULL.*Error while executing Python code."
+gdb_test "python print null.lazy_string(length=3).value()" \
+ "gdb.MemoryError: Cannot create a lazy string with address 0x0, and a non-zero length.*Error while executing Python code."
diff --git a/gdb/testsuite/gdb.python/py-prettyprint.c b/gdb/testsuite/gdb.python/py-prettyprint.c
index 60163d6bb8f..b6e111d7e70 100644
--- a/gdb/testsuite/gdb.python/py-prettyprint.c
+++ b/gdb/testsuite/gdb.python/py-prettyprint.c
@@ -42,6 +42,8 @@ struct ns {
struct lazystring {
const char *lazy_str;
+ /* If -1, don't pass length to gdb.lazy_string(). */
+ int len;
};
struct hint_error {
@@ -270,7 +272,7 @@ main ()
nostring_type nstype, nstype2;
struct memory_error me;
struct ns ns, ns2;
- struct lazystring estring, estring2;
+ struct lazystring estring, estring2, estring3;
struct hint_error hint_error;
struct children_as_list children_as_list;
@@ -295,10 +297,15 @@ main ()
ns2.null_str = NULL;
ns2.length = 20;
- estring.lazy_str = "embedded x\201\202\203\204" ;
+ estring.lazy_str = "embedded x\201\202\203\204";
+ estring.len = -1;
/* Incomplete UTF-8, but ok Latin-1. */
estring2.lazy_str = "embedded x\302";
+ estring2.len = -1;
+
+ estring3.lazy_str = NULL;
+ estring3.len = 42;
#ifdef __cplusplus
S cps;
diff --git a/gdb/testsuite/gdb.python/py-prettyprint.exp b/gdb/testsuite/gdb.python/py-prettyprint.exp
index 094f956d0ee..bbcee563127 100644
--- a/gdb/testsuite/gdb.python/py-prettyprint.exp
+++ b/gdb/testsuite/gdb.python/py-prettyprint.exp
@@ -92,6 +92,10 @@ proc run_lang_tests {exefile lang} {
gdb_test "print cstring" " = \"const string\""
gdb_test "print estring" " = \"embedded x\\\\201\\\\202\\\\203\\\\204\""
+ if { ![is_address_zero_readable] } {
+ gdb_test "print estring3" \
+ " = <error reading variable: Cannot create a lazy string with address 0x0, and a non-zero length.>"
+ }
gdb_test_no_output "python pp_ls_encoding = 'UTF-8'"
gdb_test "print estring2" "\"embedded \", <incomplete sequence \\\\302>"
diff --git a/gdb/testsuite/gdb.python/py-prettyprint.py b/gdb/testsuite/gdb.python/py-prettyprint.py
index c350bfe9cad..442813b5e7c 100644
--- a/gdb/testsuite/gdb.python/py-prettyprint.py
+++ b/gdb/testsuite/gdb.python/py-prettyprint.py
@@ -152,10 +152,20 @@ class pp_ls (object):
self.val = val
def to_string(self):
+ length = self.val['len']
if pp_ls_encoding is not None:
- return self.val['lazy_str'].lazy_string(encoding = pp_ls_encoding)
+ if length >= 0:
+ return self.val['lazy_str'].lazy_string(
+ encoding = pp_ls_encoding,
+ length = length)
+ else:
+ return self.val['lazy_str'].lazy_string(
+ encoding = pp_ls_encoding)
else:
- return self.val['lazy_str'].lazy_string()
+ if length >= 0:
+ return self.val['lazy_str'].lazy_string(length = length)
+ else:
+ return self.val['lazy_str'].lazy_string()
def display_hint (self):
return 'string'
diff --git a/gdb/testsuite/gdb.reverse/aarch64.c b/gdb/testsuite/gdb.reverse/aarch64.c
new file mode 100644
index 00000000000..099ec028f67
--- /dev/null
+++ b/gdb/testsuite/gdb.reverse/aarch64.c
@@ -0,0 +1,99 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2015 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 <arm_neon.h>
+
+static void
+load (void)
+{
+ int buf[8];
+
+ asm ("ld1 { v1.8b }, [%[buf]]\n"
+ "ld1 { v2.8b, v3.8b }, [%[buf]]\n"
+ "ld1 { v3.8b, v4.8b, v5.8b }, [%[buf]]\n"
+ :
+ : [buf] "r" (buf)
+ : /* No clobbers */);
+}
+
+static void
+move (void)
+{
+ float32x2_t b1_ = vdup_n_f32(123.0f);
+ float32_t a1_ = 0;
+ float64x1_t b2_ = vdup_n_f64(456.0f);
+ float64_t a2_ = 0;
+
+ asm ("ins %0.s[0], %w1\n"
+ : "=w"(b1_)
+ : "r"(a1_), "0"(b1_)
+ : /* No clobbers */);
+
+ asm ("ins %0.d[1], %x1\n"
+ : "=w"(b2_)
+ : "r"(a2_), "0"(b2_)
+ : /* No clobbers */);
+}
+
+static void
+adv_simd_mod_imm (void)
+{
+ float32x2_t a1 = {2.0, 4.0};
+
+ asm ("bic %0.2s, #1\n"
+ "bic %0.2s, #1, lsl #8\n"
+ : "=w"(a1)
+ : "0"(a1)
+ : /* No clobbers */);
+}
+
+static void
+adv_simd_scalar_index (void)
+{
+ float64x2_t b_ = {0.0, 0.0};
+ float64_t a_ = 1.0;
+ float64_t result;
+
+ asm ("fmla %d0,%d1,%2.d[1]"
+ : "=w"(result)
+ : "w"(a_), "w"(b_)
+ : /* No clobbers */);
+}
+
+static void
+adv_simd_smlal (void)
+{
+ asm ("smlal v13.2d, v8.2s, v0.2s");
+}
+
+static void
+adv_simd_vect_shift (void)
+{
+ asm ("fcvtzs s0, s0, #1");
+}
+
+int
+main ()
+{
+ load ();
+ move ();
+ adv_simd_mod_imm ();
+ adv_simd_scalar_index ();
+ adv_simd_smlal ();
+ adv_simd_vect_shift ();
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.reverse/aarch64.exp b/gdb/testsuite/gdb.reverse/aarch64.exp
new file mode 100644
index 00000000000..800645e02dd
--- /dev/null
+++ b/gdb/testsuite/gdb.reverse/aarch64.exp
@@ -0,0 +1,115 @@
+# Copyright (C) 2015 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/>.
+
+if ![supports_reverse] {
+ return
+}
+
+# Test aarch64 instruction recording.
+
+if {![istarget "aarch64*-*-*"]} then {
+ verbose "Skipping aarch64 instruction recording tests."
+ return
+}
+
+standard_testfile
+
+if {[prepare_for_testing $testfile.exp $testfile $srcfile \
+ [list debug]]} {
+ untested ${testfile}.exp
+ return -1
+}
+if { ![runto main] } then {
+ fail "run to main"
+ return
+}
+
+# In each function FUNC, GDB turns on process record, and single step
+# until program goes to the end of the function. Then, single step
+# backward. In each of forward single step and backward single step,
+# the contents of registers are saved, and test compares them. If
+# there is any differences, a FAIL is emitted.
+
+proc test { func } {
+ global hex decimal
+ global gdb_prompt
+
+ with_test_prefix "$func" {
+ gdb_breakpoint $func
+ gdb_test "continue"
+
+ set last_insn ""
+ set test "disassemble $func"
+ gdb_test_multiple $test $test {
+ -re ".*($hex) <\\+$decimal>:\[^\r\n\]+\r\nEnd of assembler dump\.\r\n$gdb_prompt $" {
+ set last_insn $expect_out(1,string)
+ }
+ }
+ if { $last_insn == "" } {
+ fail "find the last instruction of function $func"
+ }
+
+ # Activate process record/replay
+ gdb_test_no_output "record" "Turn on process record"
+
+ # Registers contents before each forward single step.
+ set count 0
+ for {} {$count < 500} {incr count} {
+ gdb_test_multiple "x/i \$pc" "" {
+ -re ".* ($hex) <.*>:\[ \t\]*(.*)\r\n$gdb_prompt $" {
+ set insn_addr $expect_out(1,string)
+
+ if [expr {$last_insn == $insn_addr}] {
+ break
+ }
+
+ set insn_array($count) $expect_out(2,string)
+ }
+ }
+
+ set pre_regs($count) [capture_command_output "info all-registers" ""]
+ gdb_test "si" "" ""
+ }
+
+ incr count -1
+ # Registers contents after each backward single step.
+ for {set i $count} {$i >= 0} {incr i -1} {
+ gdb_test "reverse-stepi" "" ""
+ set post_regs($i) [capture_command_output "info all-registers" ""]
+ }
+
+ # Compare the register contents.
+ for {set i 0} {$i < $count} {incr i} {
+ if { ![gdb_assert { [string compare $pre_regs($i) $post_regs($i)] == 0 } \
+ "compare registers on insn $i:$insn_array($i)"] } {
+
+ foreach pre_line [split $pre_regs($i) \n] post_line [split $post_regs($i) \n] {
+ if { [string compare $pre_line $post_line] } {
+ verbose -log " -:$pre_line"
+ verbose -log " +:$post_line"
+ }
+ }
+ }
+ }
+ gdb_test "record stop"
+ }
+}
+
+test "load"
+test "move"
+test "adv_simd_mod_imm"
+test "adv_simd_scalar_index"
+test "adv_simd_smlal"
+test "adv_simd_vect_shift"
diff --git a/gdb/testsuite/gdb.threads/hand-call-new-thread.c b/gdb/testsuite/gdb.threads/hand-call-new-thread.c
new file mode 100644
index 00000000000..042be9beb12
--- /dev/null
+++ b/gdb/testsuite/gdb.threads/hand-call-new-thread.c
@@ -0,0 +1,50 @@
+/* This testcase is part of GDB, the GNU debugger.
+
+ Copyright 2015 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 <stdlib.h>
+#include <pthread.h>
+#include <assert.h>
+
+static int
+foo (void)
+{
+ usleep (1);
+}
+
+static void *
+thread_function (void *arg)
+{
+ while (1)
+ foo ();
+}
+
+void
+new_thread (void)
+{
+ pthread_t thread;
+ int res;
+
+ res = pthread_create (&thread, NULL, thread_function, NULL);
+ assert (res == 0);
+}
+
+int
+main (int argc, char **argv)
+{
+ return 0;
+}
diff --git a/gdb/testsuite/gdb.threads/hand-call-new-thread.exp b/gdb/testsuite/gdb.threads/hand-call-new-thread.exp
new file mode 100644
index 00000000000..a02d8ba5b3b
--- /dev/null
+++ b/gdb/testsuite/gdb.threads/hand-call-new-thread.exp
@@ -0,0 +1,48 @@
+# Copyright (C) 2015 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/>.
+
+# Ensure that new threads created while an infcall is ongoing are set
+# to stopped state once the call finishes.
+
+standard_testfile
+
+if [prepare_for_testing "failed to prepare" $testfile $srcfile {debug pthreads}] {
+ return -1
+}
+
+if ![runto_main] {
+ continue
+}
+
+# Set a thread-specific breakpoint that the wrong thread trips on
+# while running the infcall. Check that no thread ends up in stale
+# "running" state once the call finishes.
+gdb_test "b foo thread 1" "Breakpoint .*$srcfile.*"
+
+for {set i 0} {$i < 3} {incr i} {
+ with_test_prefix "iter $i" {
+ gdb_test "p new_thread ()" " = void"
+
+ set message "no thread marked running"
+ gdb_test_multiple "info threads" $message {
+ -re "\\\(running\\\).*$gdb_prompt $" {
+ fail $message
+ }
+ -re "$gdb_prompt $" {
+ pass $message
+ }
+ }
+ }
+}
diff --git a/gdb/testsuite/lib/future.exp b/gdb/testsuite/lib/future.exp
index 2fb635b67a5..a27e120dd53 100644
--- a/gdb/testsuite/lib/future.exp
+++ b/gdb/testsuite/lib/future.exp
@@ -104,6 +104,17 @@ proc gdb_find_objcopy {} {
return $objcopy
}
+# find target objdump
+proc gdb_find_objdump {} {
+ global OBJDUMP_FOR_TARGET
+ if [info exists OBJDUMP_FOR_TARGET] {
+ set objdump $OBJDUMP_FOR_TARGET
+ } else {
+ set objdump [transform objdump]
+ }
+ return $objdump
+}
+
proc gdb_find_readelf {} {
global READELF_FOR_TARGET
if [info exists READELF_FOR_TARGET] {
diff --git a/gdb/testsuite/lib/gdb.exp b/gdb/testsuite/lib/gdb.exp
index 73e55e3ea1f..c0e0cb1b09b 100644
--- a/gdb/testsuite/lib/gdb.exp
+++ b/gdb/testsuite/lib/gdb.exp
@@ -1727,6 +1727,22 @@ proc skip_shlib_tests {} {
return 1
}
+# Return 1 if we should skip tui related tests.
+
+proc skip_tui_tests {} {
+ global gdb_prompt
+
+ gdb_test_multiple "help layout" "verify tui support" {
+ -re "Undefined command: \"layout\".*$gdb_prompt $" {
+ return 1
+ }
+ -re "$gdb_prompt $" {
+ }
+ }
+
+ return 0
+}
+
# Test files shall make sure all the test result lines in gdb.sum are
# unique in a test run, so that comparing the gdb.sum files of two
# test runs gives correct results. Test files that exercise
@@ -1980,6 +1996,17 @@ gdb_caching_proc support_complex_tests {
return $result
}
+# Return 1 if GDB can get a type for siginfo from the target, otherwise
+# return 0.
+
+proc supports_get_siginfo_type {} {
+ if { [istarget "*-*-linux*"] } {
+ return 1
+ } else {
+ return 0
+ }
+}
+
# Return 1 if target hardware or OS supports single stepping to signal
# handler, otherwise, return 0.
@@ -2008,6 +2035,7 @@ proc supports_process_record {} {
if { [istarget "arm*-*-linux*"] || [istarget "x86_64-*-linux*"]
|| [istarget "i\[34567\]86-*-linux*"]
+ || [istarget "aarch64*-*-linux*"]
|| [istarget "powerpc*-*-linux*"] } {
return 1
}
@@ -2025,6 +2053,7 @@ proc supports_reverse {} {
if { [istarget "arm*-*-linux*"] || [istarget "x86_64-*-linux*"]
|| [istarget "i\[34567\]86-*-linux*"]
+ || [istarget "aarch64*-*-linux*"]
|| [istarget "powerpc*-*-linux*"] } {
return 1
}
@@ -2538,7 +2567,8 @@ proc skip_hw_breakpoint_tests {} {
if { [istarget "i?86-*-*"]
|| [istarget "x86_64-*-*"]
|| [istarget "ia64-*-*"]
- || [istarget "arm*-*-*"]} {
+ || [istarget "arm*-*-*"]
+ || [istarget "aarch64*-*-*"]} {
return 0
}
@@ -2558,6 +2588,7 @@ proc skip_hw_watchpoint_tests {} {
|| [istarget "x86_64-*-*"]
|| [istarget "ia64-*-*"]
|| [istarget "arm*-*-*"]
+ || [istarget "aarch64*-*-*"]
|| [istarget "powerpc*-*-linux*"]
|| [istarget "s390*-*-*"] } {
return 0
@@ -4521,28 +4552,39 @@ gdb_caching_proc gdb_has_argv0 {
# Returns "" if there is none.
proc get_build_id { filename } {
- set tmp [standard_output_file "${filename}-tmp"]
- set objcopy_program [gdb_find_objcopy]
-
- set result [catch "exec $objcopy_program -j .note.gnu.build-id -O binary $filename $tmp" output]
- verbose "result is $result"
- verbose "output is $output"
- if {$result == 1} {
- return ""
- }
- set fi [open $tmp]
- fconfigure $fi -translation binary
- # Skip the NOTE header.
- read $fi 16
- set data [read $fi]
- close $fi
- file delete $tmp
- if ![string compare $data ""] then {
- return ""
+ if { ([istarget "*-*-mingw*"]
+ || [istarget *-*-cygwin*]) } {
+ set objdump_program [gdb_find_objdump]
+ set result [catch {set data [exec $objdump_program -p $filename | grep signature | cut "-d " -f4]} output]
+ verbose "result is $result"
+ verbose "output is $output"
+ if {$result == 1} {
+ return ""
+ }
+ return $data
+ } else {
+ set tmp [standard_output_file "${filename}-tmp"]
+ set objcopy_program [gdb_find_objcopy]
+ set result [catch "exec $objcopy_program -j .note.gnu.build-id -O binary $filename $tmp" output]
+ verbose "result is $result"
+ verbose "output is $output"
+ if {$result == 1} {
+ return ""
+ }
+ set fi [open $tmp]
+ fconfigure $fi -translation binary
+ # Skip the NOTE header.
+ read $fi 16
+ set data [read $fi]
+ close $fi
+ file delete $tmp
+ if ![string compare $data ""] then {
+ return ""
+ }
+ # Convert it to hex.
+ binary scan $data H* data
+ return $data
}
- # Convert it to hex.
- binary scan $data H* data
- return $data
}
# Return the build-id hex string (usually 160 bits as 40 hex characters)
diff --git a/gdb/tic6x-tdep.c b/gdb/tic6x-tdep.c
index 140ffbc1998..2603f91c630 100644
--- a/gdb/tic6x-tdep.c
+++ b/gdb/tic6x-tdep.c
@@ -1122,10 +1122,10 @@ tic6x_push_dummy_call (struct gdbarch *gdbarch, struct value *function,
return sp;
}
-/* This is the implementation of gdbarch method in_function_epilogue_p. */
+/* This is the implementation of gdbarch method stack_frame_destroyed_p. */
static int
-tic6x_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+tic6x_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
unsigned long inst = tic6x_fetch_instruction (gdbarch, pc);
/* Normally, the epilogue is composed by instruction `b .S2 b3'. */
@@ -1328,7 +1328,7 @@ tic6x_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_get_longjmp_target (gdbarch, tic6x_get_longjmp_target);
- set_gdbarch_in_function_epilogue_p (gdbarch, tic6x_in_function_epilogue_p);
+ set_gdbarch_stack_frame_destroyed_p (gdbarch, tic6x_stack_frame_destroyed_p);
set_gdbarch_return_in_first_hidden_param_p (gdbarch,
tic6x_return_in_first_hidden_param_p);
diff --git a/gdb/tilegx-linux-tdep.c b/gdb/tilegx-linux-tdep.c
index 2de86e53f52..b3e34fe4753 100644
--- a/gdb/tilegx-linux-tdep.c
+++ b/gdb/tilegx-linux-tdep.c
@@ -133,8 +133,6 @@ tilegx_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_gdbarch_get_siginfo_type (gdbarch, linux_get_siginfo_type);
}
/* Provide a prototype to silence -Wmissing-prototypes. */
diff --git a/gdb/tilegx-tdep.c b/gdb/tilegx-tdep.c
index 7c5eea73025..18b1832f919 100644
--- a/gdb/tilegx-tdep.c
+++ b/gdb/tilegx-tdep.c
@@ -771,10 +771,10 @@ tilegx_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR start_pc)
NULL, NULL);
}
-/* This is the implementation of gdbarch method in_function_epilogue_p. */
+/* This is the implementation of gdbarch method stack_frame_destroyed_p. */
static int
-tilegx_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+tilegx_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
CORE_ADDR func_addr = 0, func_end = 0;
@@ -1051,8 +1051,7 @@ tilegx_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
set_gdbarch_skip_prologue (gdbarch, tilegx_skip_prologue);
- set_gdbarch_in_function_epilogue_p (gdbarch,
- tilegx_in_function_epilogue_p);
+ set_gdbarch_stack_frame_destroyed_p (gdbarch, tilegx_stack_frame_destroyed_p);
/* Map debug registers into internal register numbers. */
set_gdbarch_dwarf2_reg_to_regnum (gdbarch, tilegx_dwarf2_reg_to_regnum);
diff --git a/gdb/top.c b/gdb/top.c
index 74e1e071370..01fddd2c95f 100644
--- a/gdb/top.c
+++ b/gdb/top.c
@@ -698,6 +698,20 @@ show_history_size (struct ui_file *file, int from_tty,
value);
}
+/* Variable associated with the "history remove-duplicates" option.
+ The value -1 means unlimited. */
+static int history_remove_duplicates = 0;
+
+static void
+show_history_remove_duplicates (struct ui_file *file, int from_tty,
+ struct cmd_list_element *c, const char *value)
+{
+ fprintf_filtered (file,
+ _("The number of history entries to look back at for "
+ "duplicates is %s.\n"),
+ value);
+}
+
static char *history_filename;
static void
show_history_filename (struct ui_file *file, int from_tty,
@@ -897,8 +911,43 @@ static int command_count = 0;
void
gdb_add_history (const char *command)
{
- add_history (command);
command_count++;
+
+ if (history_remove_duplicates != 0)
+ {
+ int lookbehind;
+ int lookbehind_threshold;
+
+ /* The lookbehind threshold for finding a duplicate history entry is
+ bounded by command_count because we can't meaningfully delete
+ history entries that are already stored in the history file since
+ the history file is appended to. */
+ if (history_remove_duplicates == -1
+ || history_remove_duplicates > command_count)
+ lookbehind_threshold = command_count;
+ else
+ lookbehind_threshold = history_remove_duplicates;
+
+ using_history ();
+ for (lookbehind = 0; lookbehind < lookbehind_threshold; lookbehind++)
+ {
+ HIST_ENTRY *temp = previous_history ();
+
+ if (temp == NULL)
+ break;
+
+ if (strcmp (temp->line, command) == 0)
+ {
+ HIST_ENTRY *prev = remove_history (where_history ());
+ command_count--;
+ free_history_entry (prev);
+ break;
+ }
+ }
+ using_history ();
+ }
+
+ add_history (command);
}
/* Safely append new history entries to the history file in a corruption-free
@@ -941,7 +990,8 @@ gdb_safe_append_history (void)
else
{
append_history (command_count, local_history_filename);
- history_truncate_file (local_history_filename, history_max_entries);
+ if (history_is_stifled ())
+ history_truncate_file (local_history_filename, history_max_entries);
}
ret = rename (local_history_filename, history_filename);
@@ -1680,24 +1730,42 @@ init_history (void)
{
char *tmpenv;
- tmpenv = getenv ("HISTSIZE");
+ tmpenv = getenv ("GDBHISTSIZE");
if (tmpenv)
{
- int var;
-
- var = atoi (tmpenv);
- if (var < 0)
- {
- /* Prefer ending up with no history rather than overflowing
- readline's history interface, which uses signed 'int'
- everywhere. */
- var = 0;
- }
+ long var;
+ int saved_errno;
+ char *endptr;
- history_size_setshow_var = var;
+ tmpenv = skip_spaces (tmpenv);
+ errno = 0;
+ var = strtol (tmpenv, &endptr, 10);
+ saved_errno = errno;
+ endptr = skip_spaces (endptr);
+
+ /* If GDBHISTSIZE is non-numeric then ignore it. If GDBHISTSIZE is the
+ empty string, a negative number or a huge positive number (larger than
+ INT_MAX) then set the history size to unlimited. Otherwise set our
+ history size to the number we have read. This behavior is consistent
+ with how bash handles HISTSIZE. */
+ if (*endptr != '\0')
+ ;
+ else if (*tmpenv == '\0'
+ || var < 0
+ || var > INT_MAX
+ /* On targets where INT_MAX == LONG_MAX, we have to look at
+ errno after calling strtol to distinguish between a value that
+ is exactly INT_MAX and an overflowing value that was clamped
+ to INT_MAX. */
+ || (var == INT_MAX && saved_errno == ERANGE))
+ history_size_setshow_var = -1;
+ else
+ history_size_setshow_var = var;
}
- /* If the init file hasn't set a size yet, pick the default. */
- else if (history_size_setshow_var == -2)
+
+ /* If neither the init file nor GDBHISTSIZE has set a size yet, pick the
+ default. */
+ if (history_size_setshow_var == -2)
history_size_setshow_var = 256;
set_readline_history_size (history_size_setshow_var);
@@ -1856,11 +1924,26 @@ Show the size of the command history,"), _("\
ie. the number of previous commands to keep a record of.\n\
If set to \"unlimited\", the number of commands kept in the history\n\
list is unlimited. This defaults to the value of the environment\n\
-variable \"HISTSIZE\", or to 256 if this variable is not set."),
+variable \"GDBHISTSIZE\", or to 256 if this variable is not set."),
set_history_size_command,
show_history_size,
&sethistlist, &showhistlist);
+ add_setshow_zuinteger_unlimited_cmd ("remove-duplicates", no_class,
+ &history_remove_duplicates, _("\
+Set how far back in history to look for and remove duplicate entries."), _("\
+Show how far back in history to look for and remove duplicate entries."), _("\
+If set to a nonzero value N, GDB will look back at the last N history entries\n\
+and remove the first history entry that is a duplicate of the most recent\n\
+entry, each time a new history entry is added.\n\
+If set to \"unlimited\", this lookbehind is unbounded.\n\
+Only history entries added during this session are considered for removal.\n\
+If set to 0, removal of duplicate history entries is disabled.\n\
+By default this option is set to 0."),
+ NULL,
+ show_history_remove_duplicates,
+ &sethistlist, &showhistlist);
+
add_setshow_filename_cmd ("filename", no_class, &history_filename, _("\
Set the filename in which to record the command history"), _("\
Show the filename in which to record the command history"), _("\
diff --git a/gdb/tui/tui-data.c b/gdb/tui/tui-data.c
index ffd80d5912b..ed42c8d9b4e 100644
--- a/gdb/tui/tui-data.c
+++ b/gdb/tui/tui-data.c
@@ -44,9 +44,7 @@ static int default_tab_len = DEFAULT_TAB_LEN;
static struct tui_win_info *win_with_focus = (struct tui_win_info *) NULL;
static struct tui_layout_def layout_def = {
SRC_WIN, /* DISPLAY_MODE */
- FALSE, /* SPLIT */
- TUI_UNDEFINED_REGS, /* REGS_DISPLAY_TYPE */
- TUI_SFLOAT_REGS}; /* FLOAT_REGS_DISPLAY_TYPE */
+ FALSE}; /* SPLIT */
static int win_resized = FALSE;
@@ -224,8 +222,6 @@ tui_clear_win_detail (struct tui_win_info *win_info)
win_info->detail.data_display_info.regs_content =
(tui_win_content) NULL;
win_info->detail.data_display_info.regs_content_count = 0;
- win_info->detail.data_display_info.regs_display_type =
- TUI_UNDEFINED_REGS;
win_info->detail.data_display_info.regs_column_count = 1;
win_info->detail.data_display_info.display_regs = FALSE;
break;
@@ -544,8 +540,6 @@ init_win_info (struct tui_win_info *win_info)
win_info->detail.data_display_info.data_content_count = 0;
win_info->detail.data_display_info.regs_content = (tui_win_content) NULL;
win_info->detail.data_display_info.regs_content_count = 0;
- win_info->detail.data_display_info.regs_display_type =
- TUI_UNDEFINED_REGS;
win_info->detail.data_display_info.regs_column_count = 1;
win_info->detail.data_display_info.display_regs = FALSE;
win_info->detail.data_display_info.current_group = 0;
@@ -745,8 +739,6 @@ tui_free_window (struct tui_win_info *win_info)
win_info->detail.data_display_info.data_content =
(tui_win_content) NULL;
win_info->detail.data_display_info.data_content_count = 0;
- win_info->detail.data_display_info.regs_display_type =
- TUI_UNDEFINED_REGS;
win_info->detail.data_display_info.regs_column_count = 1;
win_info->detail.data_display_info.display_regs = FALSE;
win_info->generic.content = NULL;
diff --git a/gdb/tui/tui-data.h b/gdb/tui/tui-data.h
index 7651efd6cca..05263e318f5 100644
--- a/gdb/tui/tui-data.h
+++ b/gdb/tui/tui-data.h
@@ -92,15 +92,6 @@ struct tui_gen_win_info
#define MAX_TARGET_WIDTH 10
#define MAX_PID_WIDTH 19
-#define TUI_FLOAT_REGS_NAME "$FREGS"
-#define TUI_FLOAT_REGS_NAME_LOWER "$fregs"
-#define TUI_GENERAL_REGS_NAME "$GREGS"
-#define TUI_GENERAL_REGS_NAME_LOWER "$gregs"
-#define TUI_SPECIAL_REGS_NAME "$SREGS"
-#define TUI_SPECIAL_REGS_NAME_LOWER "$sregs"
-#define TUI_GENERAL_SPECIAL_REGS_NAME "$REGS"
-#define TUI_GENERAL_SPECIAL_REGS_NAME_LOWER "$regs"
-
/* Scroll direction enum. */
enum tui_scroll_direction
{
@@ -139,17 +130,6 @@ enum tui_data_type
TUI_STRUCT
};
-/* Types of register displays. */
-enum tui_register_display_type
-{
- TUI_UNDEFINED_REGS,
- TUI_GENERAL_REGS,
- TUI_SFLOAT_REGS,
- TUI_DFLOAT_REGS,
- TUI_SPECIAL_REGS,
- TUI_GENERAL_AND_SPECIAL_REGS
-};
-
enum tui_line_or_address_kind
{
LOA_LINE,
@@ -172,8 +152,6 @@ struct tui_layout_def
{
enum tui_win_type display_mode;
int split;
- enum tui_register_display_type regs_display_type;
- enum tui_register_display_type float_regs_display_type;
};
/* Elements in the Source/Disassembly Window. */
@@ -263,7 +241,6 @@ struct tui_data_info
int data_content_count;
tui_win_content regs_content; /* Start of regs display content. */
int regs_content_count;
- enum tui_register_display_type regs_display_type;
int regs_column_count;
int display_regs; /* Should regs be displayed at all? */
struct reggroup *current_group;
diff --git a/gdb/tui/tui-hooks.c b/gdb/tui/tui-hooks.c
index e53f5264ac3..8d8455148ae 100644
--- a/gdb/tui/tui-hooks.c
+++ b/gdb/tui/tui-hooks.c
@@ -127,11 +127,15 @@ tui_selected_frame_level_changed_hook (int level)
{
struct frame_info *fi;
CORE_ADDR pc;
+ struct cleanup *old_chain;
/* Negative level means that the selected frame was cleared. */
if (level < 0)
return;
+ old_chain = make_cleanup_restore_target_terminal ();
+ target_terminal_ours_for_output ();
+
fi = get_selected_frame (NULL);
/* Ensure that symbols for this frame are read in. Also, determine
the source language of this frame, and switch to it if
@@ -160,6 +164,8 @@ tui_selected_frame_level_changed_hook (int level)
tui_check_data_values (fi);
tui_refreshing_registers = 0;
}
+
+ do_cleanups (old_chain);
}
/* Called from print_frame_info to list the line we stopped in. */
diff --git a/gdb/tui/tui-layout.c b/gdb/tui/tui-layout.c
index 4c25d43d000..0255c39e58f 100644
--- a/gdb/tui/tui-layout.c
+++ b/gdb/tui/tui-layout.c
@@ -122,18 +122,13 @@ show_layout (enum tui_layout_type layout)
/* Function to set the layout to SRC_COMMAND, DISASSEM_COMMAND,
- SRC_DISASSEM_COMMAND, SRC_DATA_COMMAND, or DISASSEM_DATA_COMMAND.
- If the layout is SRC_DATA_COMMAND, DISASSEM_DATA_COMMAND, or
- UNDEFINED_LAYOUT, then the data window is populated according to
- regs_display_type. */
+ SRC_DISASSEM_COMMAND, SRC_DATA_COMMAND, or DISASSEM_DATA_COMMAND. */
enum tui_status
-tui_set_layout (enum tui_layout_type layout_type,
- enum tui_register_display_type regs_display_type)
+tui_set_layout (enum tui_layout_type layout_type)
{
enum tui_status status = TUI_SUCCESS;
- if (layout_type != UNDEFINED_LAYOUT
- || regs_display_type != TUI_UNDEFINED_REGS)
+ if (layout_type != UNDEFINED_LAYOUT)
{
enum tui_layout_type cur_layout = tui_current_layout (),
new_layout = UNDEFINED_LAYOUT;
@@ -145,113 +140,98 @@ tui_set_layout (enum tui_layout_type layout_type,
extract_display_start_addr (&gdbarch, &addr);
- if (layout_type == UNDEFINED_LAYOUT
- && regs_display_type != TUI_UNDEFINED_REGS)
- {
- if (cur_layout == SRC_DISASSEM_COMMAND)
- new_layout = DISASSEM_DATA_COMMAND;
- else if (cur_layout == SRC_COMMAND
- || cur_layout == SRC_DATA_COMMAND)
- new_layout = SRC_DATA_COMMAND;
- else if (cur_layout == DISASSEM_COMMAND
- || cur_layout == DISASSEM_DATA_COMMAND)
- new_layout = DISASSEM_DATA_COMMAND;
- }
- else
- new_layout = layout_type;
+ new_layout = layout_type;
- regs_populate = (new_layout == SRC_DATA_COMMAND
- || new_layout == DISASSEM_DATA_COMMAND
- || regs_display_type != TUI_UNDEFINED_REGS);
- if (new_layout != cur_layout
- || regs_display_type != TUI_UNDEFINED_REGS)
+ regs_populate = (new_layout == SRC_DATA_COMMAND
+ || new_layout == DISASSEM_DATA_COMMAND);
+ if (new_layout != cur_layout)
{
- if (new_layout != cur_layout)
- {
- show_layout (new_layout);
+ show_layout (new_layout);
- /* Now determine where focus should be. */
- if (win_with_focus != TUI_CMD_WIN)
+ /* Now determine where focus should be. */
+ if (win_with_focus != TUI_CMD_WIN)
+ {
+ switch (new_layout)
{
- switch (new_layout)
- {
- case SRC_COMMAND:
- tui_set_win_focus_to (TUI_SRC_WIN);
- layout_def->display_mode = SRC_WIN;
- layout_def->split = FALSE;
- break;
- case DISASSEM_COMMAND:
- /* The previous layout was not showing code.
- This can happen if there is no source
- available:
-
- 1. if the source file is in another dir OR
- 2. if target was compiled without -g
- We still want to show the assembly though! */
-
- tui_get_begin_asm_address (&gdbarch, &addr);
- tui_set_win_focus_to (TUI_DISASM_WIN);
- layout_def->display_mode = DISASSEM_WIN;
- layout_def->split = FALSE;
- break;
- case SRC_DISASSEM_COMMAND:
- /* The previous layout was not showing code.
- This can happen if there is no source
- available:
-
- 1. if the source file is in another dir OR
- 2. if target was compiled without -g
- We still want to show the assembly though! */
-
- tui_get_begin_asm_address (&gdbarch, &addr);
- if (win_with_focus == TUI_SRC_WIN)
- tui_set_win_focus_to (TUI_SRC_WIN);
- else
- tui_set_win_focus_to (TUI_DISASM_WIN);
- layout_def->split = TRUE;
- break;
- case SRC_DATA_COMMAND:
- if (win_with_focus != TUI_DATA_WIN)
- tui_set_win_focus_to (TUI_SRC_WIN);
- else
- tui_set_win_focus_to (TUI_DATA_WIN);
- layout_def->display_mode = SRC_WIN;
- layout_def->split = FALSE;
- break;
- case DISASSEM_DATA_COMMAND:
- /* The previous layout was not showing code.
- This can happen if there is no source
- available:
-
- 1. if the source file is in another dir OR
- 2. if target was compiled without -g
- We still want to show the assembly though! */
-
- tui_get_begin_asm_address (&gdbarch, &addr);
- if (win_with_focus != TUI_DATA_WIN)
- tui_set_win_focus_to (TUI_DISASM_WIN);
- else
- tui_set_win_focus_to (TUI_DATA_WIN);
- layout_def->display_mode = DISASSEM_WIN;
- layout_def->split = FALSE;
- break;
- default:
- break;
- }
+ case SRC_COMMAND:
+ tui_set_win_focus_to (TUI_SRC_WIN);
+ layout_def->display_mode = SRC_WIN;
+ layout_def->split = FALSE;
+ break;
+ case DISASSEM_COMMAND:
+ /* The previous layout was not showing code.
+ This can happen if there is no source
+ available:
+
+ 1. if the source file is in another dir OR
+ 2. if target was compiled without -g
+ We still want to show the assembly though! */
+
+ tui_get_begin_asm_address (&gdbarch, &addr);
+ tui_set_win_focus_to (TUI_DISASM_WIN);
+ layout_def->display_mode = DISASSEM_WIN;
+ layout_def->split = FALSE;
+ break;
+ case SRC_DISASSEM_COMMAND:
+ /* The previous layout was not showing code.
+ This can happen if there is no source
+ available:
+
+ 1. if the source file is in another dir OR
+ 2. if target was compiled without -g
+ We still want to show the assembly though! */
+
+ tui_get_begin_asm_address (&gdbarch, &addr);
+ if (win_with_focus == TUI_SRC_WIN)
+ tui_set_win_focus_to (TUI_SRC_WIN);
+ else
+ tui_set_win_focus_to (TUI_DISASM_WIN);
+ layout_def->split = TRUE;
+ break;
+ case SRC_DATA_COMMAND:
+ if (win_with_focus != TUI_DATA_WIN)
+ tui_set_win_focus_to (TUI_SRC_WIN);
+ else
+ tui_set_win_focus_to (TUI_DATA_WIN);
+ layout_def->display_mode = SRC_WIN;
+ layout_def->split = FALSE;
+ break;
+ case DISASSEM_DATA_COMMAND:
+ /* The previous layout was not showing code.
+ This can happen if there is no source
+ available:
+
+ 1. if the source file is in another dir OR
+ 2. if target was compiled without -g
+ We still want to show the assembly though! */
+
+ tui_get_begin_asm_address (&gdbarch, &addr);
+ if (win_with_focus != TUI_DATA_WIN)
+ tui_set_win_focus_to (TUI_DISASM_WIN);
+ else
+ tui_set_win_focus_to (TUI_DATA_WIN);
+ layout_def->display_mode = DISASSEM_WIN;
+ layout_def->split = FALSE;
+ break;
+ default:
+ break;
}
- /*
- * Now update the window content.
- */
- if (!regs_populate
- && (new_layout == SRC_DATA_COMMAND
- || new_layout == DISASSEM_DATA_COMMAND))
- tui_display_all_data ();
-
- tui_update_source_windows_with_addr (gdbarch, addr);
}
+ /*
+ * Now update the window content.
+ */
+ if (!regs_populate
+ && (new_layout == SRC_DATA_COMMAND
+ || new_layout == DISASSEM_DATA_COMMAND))
+ tui_display_all_data ();
+
+ tui_update_source_windows_with_addr (gdbarch, addr);
+
if (regs_populate)
{
- tui_show_registers (TUI_DATA_WIN->detail.data_display_info.current_group);
+ struct reggroup *group =
+ TUI_DATA_WIN->detail.data_display_info.current_group;
+ tui_show_registers (group);
}
}
}
@@ -370,6 +350,18 @@ tui_default_win_viewport_height (enum tui_win_type type,
return h;
}
+/* Complete possible layout names. TEXT is the complete text entered so
+ far, WORD is the word currently being completed. */
+
+static VEC (char_ptr) *
+layout_completer (struct cmd_list_element *ignore,
+ const char *text, const char *word)
+{
+ static const char *layout_names [] =
+ { "src", "asm", "split", "regs", "next", "prev", NULL };
+
+ return complete_on_enum (layout_names, text, word);
+}
/* Function to initialize gdb commands, for tui window layout
manipulation. */
@@ -380,7 +372,9 @@ extern initialize_file_ftype _initialize_tui_layout;
void
_initialize_tui_layout (void)
{
- add_com ("layout", class_tui, tui_layout_command, _("\
+ struct cmd_list_element *cmd;
+
+ cmd = add_com ("layout", class_tui, tui_layout_command, _("\
Change the layout of windows.\n\
Usage: layout prev | next | <layout_name> \n\
Layout names are:\n\
@@ -393,6 +387,7 @@ Layout names are:\n\
source/assembly/command (split) is displayed, \n\
the register window is displayed with \n\
the window that has current logical focus.\n"));
+ set_cmd_completer (cmd, layout_completer);
}
@@ -401,10 +396,10 @@ Layout names are:\n\
**************************/
-/* Function to set the layout to SRC, ASM, SPLIT, NEXT, PREV, DATA,
- REGS, $REGS, $GREGS, $FREGS, $SREGS. */
+/* Function to set the layout to SRC, ASM, SPLIT, NEXT, PREV, DATA, or
+ REGS. */
enum tui_status
-tui_set_layout_for_display_command (const char *layout_name)
+tui_set_layout_by_name (const char *layout_name)
{
enum tui_status status = TUI_SUCCESS;
@@ -413,16 +408,16 @@ tui_set_layout_for_display_command (const char *layout_name)
int i;
char *buf_ptr;
enum tui_layout_type new_layout = UNDEFINED_LAYOUT;
- enum tui_register_display_type dpy_type = TUI_UNDEFINED_REGS;
enum tui_layout_type cur_layout = tui_current_layout ();
+ struct cleanup *old_chain;
buf_ptr = (char *) xstrdup (layout_name);
for (i = 0; (i < strlen (layout_name)); i++)
buf_ptr[i] = toupper (buf_ptr[i]);
+ old_chain = make_cleanup (xfree, buf_ptr);
/* First check for ambiguous input. */
- if (strlen (buf_ptr) <= 1
- && (*buf_ptr == 'S' || *buf_ptr == '$'))
+ if (strlen (buf_ptr) <= 1 && *buf_ptr == 'S')
{
warning (_("Ambiguous command input."));
status = TUI_FAILURE;
@@ -435,59 +430,13 @@ tui_set_layout_for_display_command (const char *layout_name)
new_layout = DISASSEM_COMMAND;
else if (subset_compare (buf_ptr, "SPLIT"))
new_layout = SRC_DISASSEM_COMMAND;
- else if (subset_compare (buf_ptr, "REGS")
- || subset_compare (buf_ptr, TUI_GENERAL_SPECIAL_REGS_NAME)
- || subset_compare (buf_ptr, TUI_GENERAL_REGS_NAME)
- || subset_compare (buf_ptr, TUI_FLOAT_REGS_NAME)
- || subset_compare (buf_ptr, TUI_SPECIAL_REGS_NAME))
+ else if (subset_compare (buf_ptr, "REGS"))
{
- if (cur_layout == SRC_COMMAND
+ if (cur_layout == SRC_COMMAND
|| cur_layout == SRC_DATA_COMMAND)
new_layout = SRC_DATA_COMMAND;
else
new_layout = DISASSEM_DATA_COMMAND;
-
- /* Could ifdef out the following code. when compile with
- -z, there are null pointer references that cause a
- core dump if 'layout regs' is the first layout
- command issued by the user. HP has asked us to hook
- up this code. - edie epstein */
- if (subset_compare (buf_ptr, TUI_FLOAT_REGS_NAME))
- {
- if (TUI_DATA_WIN->detail.data_display_info.regs_display_type
- != TUI_SFLOAT_REGS
- && TUI_DATA_WIN->detail.data_display_info.regs_display_type
- != TUI_DFLOAT_REGS)
- dpy_type = TUI_SFLOAT_REGS;
- else
- dpy_type =
- TUI_DATA_WIN->detail.data_display_info.regs_display_type;
- }
- else if (subset_compare (buf_ptr,
- TUI_GENERAL_SPECIAL_REGS_NAME))
- dpy_type = TUI_GENERAL_AND_SPECIAL_REGS;
- else if (subset_compare (buf_ptr, TUI_GENERAL_REGS_NAME))
- dpy_type = TUI_GENERAL_REGS;
- else if (subset_compare (buf_ptr, TUI_SPECIAL_REGS_NAME))
- dpy_type = TUI_SPECIAL_REGS;
- else if (TUI_DATA_WIN)
- {
- if (TUI_DATA_WIN->detail.data_display_info.regs_display_type
- != TUI_UNDEFINED_REGS)
- dpy_type
- = TUI_DATA_WIN->detail.data_display_info.regs_display_type;
- else
- dpy_type = TUI_GENERAL_REGS;
- }
-
- /* End of potential ifdef.
- */
-
- /* If ifdefed out code above, then assume that the user
- wishes to display the general purpose registers .
- */
-
- /* dpy_type = TUI_GENERAL_REGS; */
}
else if (subset_compare (buf_ptr, "NEXT"))
new_layout = next_layout ();
@@ -496,9 +445,14 @@ tui_set_layout_for_display_command (const char *layout_name)
else
status = TUI_FAILURE;
- tui_set_layout (new_layout, dpy_type);
+ if (status == TUI_SUCCESS)
+ {
+ /* Make sure the curses mode is enabled. */
+ tui_enable ();
+ tui_set_layout (new_layout);
+ }
}
- xfree (buf_ptr);
+ do_cleanups (old_chain);
}
else
status = TUI_FAILURE;
@@ -545,11 +499,8 @@ extract_display_start_addr (struct gdbarch **gdbarch_p, CORE_ADDR *addr_p)
static void
tui_layout_command (char *arg, int from_tty)
{
- /* Make sure the curses mode is enabled. */
- tui_enable ();
-
/* Switch to the selected layout. */
- if (tui_set_layout_for_display_command (arg) != TUI_SUCCESS)
+ if (tui_set_layout_by_name (arg) != TUI_SUCCESS)
warning (_("Invalid layout specified.\n%s"), LAYOUT_USAGE);
}
diff --git a/gdb/tui/tui-layout.h b/gdb/tui/tui-layout.h
index 6dedb7d752c..623d254cd8d 100644
--- a/gdb/tui/tui-layout.h
+++ b/gdb/tui/tui-layout.h
@@ -30,7 +30,6 @@ extern int tui_default_win_height (enum tui_win_type,
enum tui_layout_type);
extern int tui_default_win_viewport_height (enum tui_win_type,
enum tui_layout_type);
-extern enum tui_status tui_set_layout (enum tui_layout_type,
- enum tui_register_display_type);
+extern enum tui_status tui_set_layout (enum tui_layout_type);
#endif /*TUI_LAYOUT_H */
diff --git a/gdb/tui/tui-regs.c b/gdb/tui/tui-regs.c
index 61918f82a98..a61fadb9668 100644
--- a/gdb/tui/tui-regs.c
+++ b/gdb/tui/tui-regs.c
@@ -39,6 +39,7 @@
#include "tui/tui-io.h"
#include "reggroups.h"
#include "valprint.h"
+#include "completer.h"
#include "gdb_curses.h"
@@ -139,7 +140,7 @@ tui_show_registers (struct reggroup *group)
/* Make sure the register window is visible. If not, select an
appropriate layout. */
if (TUI_DATA_WIN == NULL || !TUI_DATA_WIN->generic.is_visible)
- tui_set_layout_for_display_command (DATA_NAME);
+ tui_set_layout_by_name (DATA_NAME);
display_info = &TUI_DATA_WIN->detail.data_display_info;
if (group == 0)
@@ -556,51 +557,135 @@ tui_display_register (struct tui_data_element *data,
}
}
-static void
-tui_reg_next_command (char *arg, int from_tty)
+/* Helper for "tui reg next", wraps a call to REGGROUP_NEXT, but adds wrap
+ around behaviour. Returns the next register group, or NULL if the
+ register window is not currently being displayed. */
+
+static struct reggroup *
+tui_reg_next (struct gdbarch *gdbarch)
{
- struct gdbarch *gdbarch = get_current_arch ();
+ struct reggroup *group = NULL;
- if (TUI_DATA_WIN != 0)
+ if (TUI_DATA_WIN != NULL)
{
- struct reggroup *group
- = TUI_DATA_WIN->detail.data_display_info.current_group;
-
+ group = TUI_DATA_WIN->detail.data_display_info.current_group;
group = reggroup_next (gdbarch, group);
- if (group == 0)
- group = reggroup_next (gdbarch, 0);
-
- if (group)
- tui_show_registers (group);
+ if (group == NULL)
+ group = reggroup_next (gdbarch, NULL);
}
+ return group;
}
-static void
-tui_reg_float_command (char *arg, int from_tty)
-{
- tui_show_registers (float_reggroup);
-}
+/* Helper for "tui reg prev", wraps a call to REGGROUP_PREV, but adds wrap
+ around behaviour. Returns the previous register group, or NULL if the
+ register window is not currently being displayed. */
-static void
-tui_reg_general_command (char *arg, int from_tty)
+static struct reggroup *
+tui_reg_prev (struct gdbarch *gdbarch)
{
- tui_show_registers (general_reggroup);
+ struct reggroup *group = NULL;
+
+ if (TUI_DATA_WIN != NULL)
+ {
+ group = TUI_DATA_WIN->detail.data_display_info.current_group;
+ group = reggroup_prev (gdbarch, group);
+ if (group == NULL)
+ group = reggroup_prev (gdbarch, NULL);
+ }
+ return group;
}
+/* Implement the 'tui reg' command. Changes the register group displayed
+ in the tui register window. Displays the tui register window if it is
+ not already on display. */
+
static void
-tui_reg_system_command (char *arg, int from_tty)
+tui_reg_command (char *args, int from_tty)
{
- tui_show_registers (system_reggroup);
+ struct gdbarch *gdbarch = get_current_arch ();
+
+ if (args != NULL)
+ {
+ struct reggroup *group, *match = NULL;
+ size_t len = strlen (args);
+
+ /* Make sure the curses mode is enabled. */
+ tui_enable ();
+
+ /* Make sure the register window is visible. If not, select an
+ appropriate layout. We need to do this before trying to run the
+ 'next' or 'prev' commands. */
+ if (TUI_DATA_WIN == NULL || !TUI_DATA_WIN->generic.is_visible)
+ tui_set_layout_by_name (DATA_NAME);
+
+ if (strncmp (args, "next", len) == 0)
+ match = tui_reg_next (gdbarch);
+ else if (strncmp (args, "prev", len) == 0)
+ match = tui_reg_prev (gdbarch);
+
+ /* This loop matches on the initial part of a register group
+ name. If this initial part in ARGS matches only one register
+ group then the switch is made. */
+ for (group = reggroup_next (gdbarch, NULL);
+ group != NULL;
+ group = reggroup_next (gdbarch, group))
+ {
+ if (strncmp (reggroup_name (group), args, len) == 0)
+ {
+ if (match != NULL)
+ error (_("ambiguous register group name '%s'"), args);
+ match = group;
+ }
+ }
+
+ if (match == NULL)
+ error (_("unknown register group '%s'"), args);
+
+ tui_show_registers (match);
+ }
+ else
+ {
+ struct reggroup *group;
+ int first;
+
+ printf_unfiltered (_("\"tui reg\" must be followed by the name of "
+ "either a register group,\nor one of 'next' "
+ "or 'prev'. Known register groups are:\n"));
+
+ for (first = 1, group = reggroup_next (gdbarch, NULL);
+ group != NULL;
+ first = 0, group = reggroup_next (gdbarch, group))
+ {
+ if (!first)
+ printf_unfiltered (", ");
+ printf_unfiltered ("%s", reggroup_name (group));
+ }
+
+ printf_unfiltered ("\n");
+ }
}
-static struct cmd_list_element *tuireglist;
+/* Complete names of register groups, and add the special "prev" and "next"
+ names. */
-static void
-tui_reg_command (char *args, int from_tty)
+static VEC (char_ptr) *
+tui_reggroup_completer (struct cmd_list_element *ignore,
+ const char *text, const char *word)
{
- printf_unfiltered (_("\"tui reg\" must be followed by the name of a "
- "tui reg command.\n"));
- help_list (tuireglist, "tui reg ", all_commands, gdb_stdout);
+ VEC (char_ptr) *result = NULL;
+ static const char *extra[] = { "next", "prev", NULL };
+ size_t len = strlen (word);
+ const char **tmp;
+
+ result = reggroup_completer (ignore, text, word);
+
+ for (tmp = extra; *tmp != NULL; ++tmp)
+ {
+ if (strncmp (word, *tmp, len) == 0)
+ VEC_safe_push (char_ptr, result, xstrdup (*tmp));
+ }
+
+ return result;
}
/* Provide a prototype to silence -Wmissing-prototypes. */
@@ -609,27 +694,13 @@ extern initialize_file_ftype _initialize_tui_regs;
void
_initialize_tui_regs (void)
{
- struct cmd_list_element **tuicmd;
+ struct cmd_list_element **tuicmd, *cmd;
tuicmd = tui_get_cmd_list ();
- add_prefix_cmd ("reg", class_tui, tui_reg_command,
- _("TUI commands to control the register window."),
- &tuireglist, "tui reg ", 0,
- tuicmd);
-
- add_cmd ("float", class_tui, tui_reg_float_command,
- _("Display only floating point registers."),
- &tuireglist);
- add_cmd ("general", class_tui, tui_reg_general_command,
- _("Display only general registers."),
- &tuireglist);
- add_cmd ("system", class_tui, tui_reg_system_command,
- _("Display only system registers."),
- &tuireglist);
- add_cmd ("next", class_tui, tui_reg_next_command,
- _("Display next register group."),
- &tuireglist);
+ cmd = add_cmd ("reg", class_tui, tui_reg_command, _("\
+TUI command to control the register window."), tuicmd);
+ set_cmd_completer (cmd, tui_reggroup_completer);
}
diff --git a/gdb/tui/tui-win.c b/gdb/tui/tui-win.c
index 8c0685bd41d..feb360b0218 100644
--- a/gdb/tui/tui-win.c
+++ b/gdb/tui/tui-win.c
@@ -354,6 +354,71 @@ tui_set_var_cmd (char *null_args, int from_tty, struct cmd_list_element *c)
tui_rehighlight_all ();
}
+/* Complete possible window names to focus on. TEXT is the complete text
+ entered so far, WORD is the word currently being completed. */
+
+static VEC (char_ptr) *
+focus_completer (struct cmd_list_element *ignore,
+ const char *text, const char *word)
+{
+ VEC (const_char_ptr) *completion_name_vec = NULL;
+ VEC (char_ptr) *matches_vec;
+ int win_type;
+
+ for (win_type = SRC_WIN; win_type < MAX_MAJOR_WINDOWS; win_type++)
+ {
+ const char *completion_name = NULL;
+
+ /* We can't focus on an invisible window. */
+ if (tui_win_list[win_type] == NULL
+ || !tui_win_list[win_type]->generic.is_visible)
+ continue;
+
+ switch (win_type)
+ {
+ case SRC_WIN:
+ completion_name = "src";
+ break;
+ case DISASSEM_WIN:
+ completion_name = "asm";
+ break;
+ case DATA_WIN:
+ completion_name = "regs";
+ break;
+ case CMD_WIN:
+ completion_name = "cmd";
+ break;
+ default:
+ break;
+ }
+
+ if (completion_name != NULL)
+ VEC_safe_push (const_char_ptr, completion_name_vec, completion_name);
+ }
+
+ /* If no windows are considered visible then the TUI has not yet been
+ initialized. But still "focus src" and "focus cmd" will work because
+ invoking the focus command will entail initializing the TUI which sets the
+ default layout to SRC_COMMAND. */
+ if (VEC_length (const_char_ptr, completion_name_vec) == 0)
+ {
+ VEC_safe_push (const_char_ptr, completion_name_vec, "src");
+ VEC_safe_push (const_char_ptr, completion_name_vec, "cmd");
+ }
+
+ VEC_safe_push (const_char_ptr, completion_name_vec, "next");
+ VEC_safe_push (const_char_ptr, completion_name_vec, "prev");
+ VEC_safe_push (const_char_ptr, completion_name_vec, NULL);
+
+ matches_vec
+ = complete_on_enum (VEC_address (const_char_ptr, completion_name_vec),
+ text, word);
+
+ VEC_free (const_char_ptr, completion_name_vec);
+
+ return matches_vec;
+}
+
/* Function to initialize gdb commands, for tui window
manipulation. */
@@ -365,6 +430,7 @@ _initialize_tui_win (void)
{
static struct cmd_list_element *tui_setlist;
static struct cmd_list_element *tui_showlist;
+ struct cmd_list_element *focus_cmd;
/* Define the classes of commands.
They will appear in the help list in the reverse of this order. */
@@ -393,7 +459,7 @@ regs : the register display\n"));
add_com_alias ("wh", "winheight", class_tui, 0);
add_info ("win", tui_all_windows_info,
_("List of all displayed windows.\n"));
- add_com ("focus", class_tui, tui_set_focus_command, _("\
+ focus_cmd = add_com ("focus", class_tui, tui_set_focus_command, _("\
Set focus to named window or next/prev window.\n\
Usage: focus {<win> | next | prev}\n\
Valid Window names are:\n\
@@ -402,6 +468,7 @@ asm : the disassembly window\n\
regs : the register display\n\
cmd : the command window\n"));
add_com_alias ("fs", "focus", class_tui, 0);
+ set_cmd_completer (focus_cmd, focus_completer);
add_com ("+", class_tui, tui_scroll_forward_command, _("\
Scroll window forward.\n\
Usage: + [win] [n]\n"));
diff --git a/gdb/tui/tui.c b/gdb/tui/tui.c
index b04e106e5c4..838471d9b94 100644
--- a/gdb/tui/tui.c
+++ b/gdb/tui/tui.c
@@ -150,7 +150,6 @@ tui_rl_change_windows (int notused1, int notused2)
if (tui_active)
{
enum tui_layout_type new_layout;
- enum tui_register_display_type regs_type = TUI_UNDEFINED_REGS;
new_layout = tui_current_layout ();
@@ -182,7 +181,7 @@ tui_rl_change_windows (int notused1, int notused2)
new_layout = SRC_COMMAND;
break;
}
- tui_set_layout (new_layout, regs_type);
+ tui_set_layout (new_layout);
}
return 0;
}
@@ -198,7 +197,6 @@ tui_rl_delete_other_windows (int notused1, int notused2)
if (tui_active)
{
enum tui_layout_type new_layout;
- enum tui_register_display_type regs_type = TUI_UNDEFINED_REGS;
new_layout = tui_current_layout ();
@@ -217,7 +215,7 @@ tui_rl_delete_other_windows (int notused1, int notused2)
new_layout = DISASSEM_COMMAND;
break;
}
- tui_set_layout (new_layout, regs_type);
+ tui_set_layout (new_layout);
}
return 0;
}
@@ -464,7 +462,7 @@ tui_enable (void)
def_prog_mode ();
tui_show_frame_info (0);
- tui_set_layout (SRC_COMMAND, TUI_UNDEFINED_REGS);
+ tui_set_layout (SRC_COMMAND);
tui_set_win_focus_to (TUI_SRC_WIN);
keypad (TUI_CMD_WIN->generic.handle, TRUE);
wrefresh (TUI_CMD_WIN->generic.handle);
@@ -542,6 +540,22 @@ tui_disable (void)
tui_update_gdb_sizes ();
}
+/* Command wrapper for enabling tui mode. */
+
+static void
+tui_enable_command (char *args, int from_tty)
+{
+ tui_enable ();
+}
+
+/* Command wrapper for leaving tui mode. */
+
+static void
+tui_disable_command (char *args, int from_tty)
+{
+ tui_disable ();
+}
+
void
strcat_to_buf (char *buf, int buflen,
const char *item_to_add)
@@ -654,3 +668,21 @@ tui_get_command_dimension (unsigned int *width,
*height = TUI_CMD_WIN->generic.height;
return 1;
}
+
+/* Provide a prototype to silence -Wmissing-prototypes. */
+extern initialize_file_ftype _initialize_tui;
+
+void
+_initialize_tui (void)
+{
+ struct cmd_list_element **tuicmd;
+
+ tuicmd = tui_get_cmd_list ();
+
+ add_cmd ("enable", class_tui, tui_enable_command,
+ _("Enable TUI display mode."),
+ tuicmd);
+ add_cmd ("disable", class_tui, tui_disable_command,
+ _("Disable TUI display mode."),
+ tuicmd);
+}
diff --git a/gdb/tui/tui.h b/gdb/tui/tui.h
index 2ce5705576a..59bb7c901fe 100644
--- a/gdb/tui/tui.h
+++ b/gdb/tui/tui.h
@@ -96,6 +96,6 @@ extern void tui_show_source (const char *fullname, int line);
extern struct ui_out *tui_out_new (struct ui_file *stream);
/* tui-layout.c */
-extern enum tui_status tui_set_layout_for_display_command (const char *);
+extern enum tui_status tui_set_layout_by_name (const char *);
#endif
diff --git a/gdb/utils.c b/gdb/utils.c
index aaaf9c5d678..acb4c7d5295 100644
--- a/gdb/utils.c
+++ b/gdb/utils.c
@@ -191,23 +191,6 @@ make_cleanup_bfd_unref (bfd *abfd)
return make_cleanup (do_bfd_close_cleanup, abfd);
}
-static void
-do_close_cleanup (void *arg)
-{
- int *fd = arg;
-
- close (*fd);
-}
-
-struct cleanup *
-make_cleanup_close (int fd)
-{
- int *saved_fd = xmalloc (sizeof (fd));
-
- *saved_fd = fd;
- return make_cleanup_dtor (do_close_cleanup, saved_fd, xfree);
-}
-
/* Helper function which does the work for make_cleanup_fclose. */
static void
@@ -3004,105 +2987,6 @@ dummy_obstack_deallocate (void *object, void *data)
return;
}
-/* The bit offset of the highest byte in a ULONGEST, for overflow
- checking. */
-
-#define HIGH_BYTE_POSN ((sizeof (ULONGEST) - 1) * HOST_CHAR_BIT)
-
-/* True (non-zero) iff DIGIT is a valid digit in radix BASE,
- where 2 <= BASE <= 36. */
-
-static int
-is_digit_in_base (unsigned char digit, int base)
-{
- if (!isalnum (digit))
- return 0;
- if (base <= 10)
- return (isdigit (digit) && digit < base + '0');
- else
- return (isdigit (digit) || tolower (digit) < base - 10 + 'a');
-}
-
-static int
-digit_to_int (unsigned char c)
-{
- if (isdigit (c))
- return c - '0';
- else
- return tolower (c) - 'a' + 10;
-}
-
-/* As for strtoul, but for ULONGEST results. */
-
-ULONGEST
-strtoulst (const char *num, const char **trailer, int base)
-{
- unsigned int high_part;
- ULONGEST result;
- int minus = 0;
- int i = 0;
-
- /* Skip leading whitespace. */
- while (isspace (num[i]))
- i++;
-
- /* Handle prefixes. */
- if (num[i] == '+')
- i++;
- else if (num[i] == '-')
- {
- minus = 1;
- i++;
- }
-
- if (base == 0 || base == 16)
- {
- if (num[i] == '0' && (num[i + 1] == 'x' || num[i + 1] == 'X'))
- {
- i += 2;
- if (base == 0)
- base = 16;
- }
- }
-
- if (base == 0 && num[i] == '0')
- base = 8;
-
- if (base == 0)
- base = 10;
-
- if (base < 2 || base > 36)
- {
- errno = EINVAL;
- return 0;
- }
-
- result = high_part = 0;
- for (; is_digit_in_base (num[i], base); i += 1)
- {
- result = result * base + digit_to_int (num[i]);
- high_part = high_part * base + (unsigned int) (result >> HIGH_BYTE_POSN);
- result &= ((ULONGEST) 1 << HIGH_BYTE_POSN) - 1;
- if (high_part > 0xff)
- {
- errno = ERANGE;
- result = ~ (ULONGEST) 0;
- high_part = 0;
- minus = 0;
- break;
- }
- }
-
- if (trailer != NULL)
- *trailer = &num[i];
-
- result = result + ((ULONGEST) high_part << HIGH_BYTE_POSN);
- if (minus)
- return -result;
- else
- return result;
-}
-
/* Simple, portable version of dirname that does not modify its
argument. */
diff --git a/gdb/utils.h b/gdb/utils.h
index cae1ac05c4a..995a1cfb8ef 100644
--- a/gdb/utils.h
+++ b/gdb/utils.h
@@ -37,8 +37,6 @@ extern int streq (const char *, const char *);
extern int subset_compare (char *, char *);
-ULONGEST strtoulst (const char *num, const char **trailer, int base);
-
int compare_positive_ints (const void *ap, const void *bp);
int compare_strings (const void *ap, const void *bp);
@@ -80,7 +78,7 @@ struct section_addr_info;
extern struct cleanup *(make_cleanup_free_section_addr_info
(struct section_addr_info *));
-extern struct cleanup *make_cleanup_close (int fd);
+/* For make_cleanup_close see common/filestuff.h. */
extern struct cleanup *make_cleanup_fclose (FILE *file);
diff --git a/gdb/valprint.c b/gdb/valprint.c
index 9a70b2f208c..294c6a86e14 100644
--- a/gdb/valprint.c
+++ b/gdb/valprint.c
@@ -1626,7 +1626,7 @@ val_print_array_elements (struct type *type,
{
unsigned int things_printed = 0;
unsigned len;
- struct type *elttype, *index_type;
+ struct type *elttype, *index_type, *base_index_type;
unsigned eltlen;
/* Position of the array element we are examining to see
whether it is repeated. */
@@ -1634,6 +1634,7 @@ val_print_array_elements (struct type *type,
/* Number of repetitions we have detected so far. */
unsigned int reps;
LONGEST low_bound, high_bound;
+ LONGEST low_pos, high_pos;
elttype = TYPE_TARGET_TYPE (type);
eltlen = TYPE_LENGTH (check_typedef (elttype));
@@ -1641,15 +1642,33 @@ val_print_array_elements (struct type *type,
if (get_array_bounds (type, &low_bound, &high_bound))
{
- /* The array length should normally be HIGH_BOUND - LOW_BOUND + 1.
+ if (TYPE_CODE (index_type) == TYPE_CODE_RANGE)
+ base_index_type = TYPE_TARGET_TYPE (index_type);
+ else
+ base_index_type = index_type;
+
+ /* Non-contiguous enumerations types can by used as index types
+ in some languages (e.g. Ada). In this case, the array length
+ shall be computed from the positions of the first and last
+ literal in the enumeration type, and not from the values
+ of these literals. */
+ if (!discrete_position (base_index_type, low_bound, &low_pos)
+ || !discrete_position (base_index_type, high_bound, &high_pos))
+ {
+ warning (_("unable to get positions in array, use bounds instead"));
+ low_pos = low_bound;
+ high_pos = high_bound;
+ }
+
+ /* The array length should normally be HIGH_POS - LOW_POS + 1.
But we have to be a little extra careful, because some languages
- such as Ada allow LOW_BOUND to be greater than HIGH_BOUND for
+ such as Ada allow LOW_POS to be greater than HIGH_POS for
empty arrays. In that situation, the array length is just zero,
not negative! */
- if (low_bound > high_bound)
+ if (low_pos > high_pos)
len = 0;
else
- len = high_bound - low_bound + 1;
+ len = high_pos - low_pos + 1;
}
else
{
diff --git a/gdb/valprint.h b/gdb/valprint.h
index e3d0137e380..ed4964fd619 100644
--- a/gdb/valprint.h
+++ b/gdb/valprint.h
@@ -217,4 +217,19 @@ extern void output_command_const (const char *args, int from_tty);
extern int val_print_scalar_type_p (struct type *type);
+struct format_data
+ {
+ int count;
+ char format;
+ char size;
+
+ /* True if the value should be printed raw -- that is, bypassing
+ python-based formatters. */
+ unsigned char raw;
+ };
+
+extern void print_command_parse_format (const char **expp, const char *cmdname,
+ struct format_data *fmtp);
+extern void print_value (struct value *val, const struct format_data *fmtp);
+
#endif
diff --git a/gdb/windows-nat.c b/gdb/windows-nat.c
index 701d2c52e80..2f674b69ccd 100644
--- a/gdb/windows-nat.c
+++ b/gdb/windows-nat.c
@@ -310,8 +310,11 @@ thread_rec (DWORD id, int get_context)
/* We get Access Denied (5) when trying to suspend
threads that Windows started on behalf of the
debuggee, usually when those threads are just
- about to exit. */
- if (err != ERROR_ACCESS_DENIED)
+ about to exit.
+ We can get Invalid Handle (6) if the main thread
+ has exited. */
+ if (err != ERROR_INVALID_HANDLE
+ && err != ERROR_ACCESS_DENIED)
warning (_("SuspendThread (tid=0x%x) failed."
" (winerr %u)"),
(unsigned) id, (unsigned) err);
@@ -432,7 +435,7 @@ do_windows_fetch_inferior_registers (struct regcache *regcache, int r)
if (current_thread->reload_context)
{
-#ifdef __COPY_CONTEXT_SIZE
+#ifdef __CYGWIN__
if (have_saved_context)
{
/* Lie about where the program actually is stopped since
@@ -818,9 +821,15 @@ handle_output_debug_string (struct target_waitstatus *ourstatus)
#ifdef __CYGWIN__
if (!startswith (s, "cYg"))
#endif
- warning (("%s"), s);
+ {
+ char *p = strchr (s, '\0');
+
+ if (p > s && *--p == '\n')
+ *p = '\0';
+ warning (("%s"), s);
+ }
}
-#ifdef __COPY_CONTEXT_SIZE
+#ifdef __CYGWIN__
else
{
/* Got a cygwin signal marker. A cygwin signal is followed by
diff --git a/gdb/x86-linux-nat.c b/gdb/x86-linux-nat.c
index f8eb236fc86..04917d08571 100644
--- a/gdb/x86-linux-nat.c
+++ b/gdb/x86-linux-nat.c
@@ -41,6 +41,7 @@
#include "nat/linux-nat.h"
#include "nat/x86-linux.h"
#include "nat/x86-linux-dregs.h"
+#include "nat/linux-ptrace.h"
/* Per-thread arch-specific data we want to keep. */
@@ -50,8 +51,6 @@ struct arch_lwp_info
int debug_registers_changed;
};
-/* Does the current host support PTRACE_GETREGSET? */
-int have_ptrace_getregset = -1;
/* linux_nat_new_fork hook. */
@@ -163,13 +162,13 @@ x86_linux_read_description (struct target_ops *ops)
if (ptrace (PTRACE_GETFPXREGS, tid, 0, (int) &fpxregs) < 0)
{
have_ptrace_getfpxregs = 0;
- have_ptrace_getregset = 0;
+ have_ptrace_getregset = TRIBOOL_FALSE;
return tdesc_i386_mmx_linux;
}
}
#endif
- if (have_ptrace_getregset == -1)
+ if (have_ptrace_getregset == TRIBOOL_UNKNOWN)
{
uint64_t xstateregs[(X86_XSTATE_SSE_SIZE / sizeof (uint64_t))];
struct iovec iov;
@@ -180,10 +179,10 @@ x86_linux_read_description (struct target_ops *ops)
/* Check if PTRACE_GETREGSET works. */
if (ptrace (PTRACE_GETREGSET, tid,
(unsigned int) NT_X86_XSTATE, &iov) < 0)
- have_ptrace_getregset = 0;
+ have_ptrace_getregset = TRIBOOL_FALSE;
else
{
- have_ptrace_getregset = 1;
+ have_ptrace_getregset = TRIBOOL_TRUE;
/* Get XCR0 from XSAVE extended state. */
xcr0 = xstateregs[(I386_LINUX_XSAVE_XCR0_OFFSET
@@ -195,7 +194,7 @@ x86_linux_read_description (struct target_ops *ops)
PTRACE_GETREGSET is not available then set xcr0_features_bits to
zero so that the "no-features" descriptions are returned by the
switches below. */
- if (have_ptrace_getregset)
+ if (have_ptrace_getregset == TRIBOOL_TRUE)
xcr0_features_bits = xcr0 & X86_XSTATE_ALL_MASK;
else
xcr0_features_bits = 0;
diff --git a/gdb/x86-linux-nat.h b/gdb/x86-linux-nat.h
index 7928aa09f40..70c207a95b0 100644
--- a/gdb/x86-linux-nat.h
+++ b/gdb/x86-linux-nat.h
@@ -20,16 +20,6 @@
#ifndef X86_LINUX_NAT_H
#define X86_LINUX_NAT_H 1
-#ifndef PTRACE_GETREGSET
-#define PTRACE_GETREGSET 0x4204
-#endif
-
-#ifndef PTRACE_SETREGSET
-#define PTRACE_SETREGSET 0x4205
-#endif
-
-/* Does the current host support PTRACE_GETREGSET? */
-extern int have_ptrace_getregset;
/* Helper for ps_get_thread_area. Sets BASE_ADDR to a pointer to
diff --git a/gdb/xcoffread.c b/gdb/xcoffread.c
index 9571ac8f554..b5b2a1d27d3 100644
--- a/gdb/xcoffread.c
+++ b/gdb/xcoffread.c
@@ -2016,7 +2016,7 @@ xcoff_start_psymtab (struct objfile *objfile,
struct partial_symbol **static_syms)
{
struct partial_symtab *result =
- start_psymtab_common (objfile, objfile->section_offsets,
+ start_psymtab_common (objfile,
filename,
/* We fill in textlow later. */
0,
@@ -2079,7 +2079,6 @@ xcoff_end_psymtab (struct objfile *objfile, struct partial_symtab *pst,
struct partial_symtab *subpst =
allocate_psymtab (include_list[i], objfile);
- subpst->section_offsets = pst->section_offsets;
subpst->read_symtab_private = obstack_alloc (&objfile->objfile_obstack,
sizeof (struct symloc));
((struct symloc *) subpst->read_symtab_private)->first_symnum = 0;
diff --git a/gdb/xstormy16-tdep.c b/gdb/xstormy16-tdep.c
index 135e43a6708..4faad2efc52 100644
--- a/gdb/xstormy16-tdep.c
+++ b/gdb/xstormy16-tdep.c
@@ -453,11 +453,14 @@ xstormy16_skip_prologue (struct gdbarch *gdbarch, CORE_ADDR pc)
return (CORE_ADDR) pc;
}
-/* The epilogue is defined here as the area at the end of a function,
+/* Implement the stack_frame_destroyed_p gdbarch method.
+
+ The epilogue is defined here as the area at the end of a function,
either on the `ret' instruction itself or after an instruction which
destroys the function's stack frame. */
+
static int
-xstormy16_in_function_epilogue_p (struct gdbarch *gdbarch, CORE_ADDR pc)
+xstormy16_stack_frame_destroyed_p (struct gdbarch *gdbarch, CORE_ADDR pc)
{
enum bfd_endian byte_order = gdbarch_byte_order (gdbarch);
CORE_ADDR func_addr = 0, func_end = 0;
@@ -835,8 +838,8 @@ xstormy16_gdbarch_init (struct gdbarch_info info, struct gdbarch_list *arches)
frame_base_set_default (gdbarch, &xstormy16_frame_base);
set_gdbarch_skip_prologue (gdbarch, xstormy16_skip_prologue);
- set_gdbarch_in_function_epilogue_p (gdbarch,
- xstormy16_in_function_epilogue_p);
+ set_gdbarch_stack_frame_destroyed_p (gdbarch,
+ xstormy16_stack_frame_destroyed_p);
/* These values and methods are used when gdb calls a target function. */
set_gdbarch_push_dummy_call (gdbarch, xstormy16_push_dummy_call);
diff --git a/gdb/xtensa-linux-nat.c b/gdb/xtensa-linux-nat.c
index 921bc99644b..fa627320d6f 100644
--- a/gdb/xtensa-linux-nat.c
+++ b/gdb/xtensa-linux-nat.c
@@ -24,8 +24,6 @@
#include "regcache.h"
#include "target.h"
#include "linux-nat.h"
-
-#include <stdint.h>
#include <sys/types.h>
#include <signal.h>
#include <sys/user.h>
diff --git a/gdb/xtensa-tdep.c b/gdb/xtensa-tdep.c
index a66d00a21c4..55e7d9816fe 100644
--- a/gdb/xtensa-tdep.c
+++ b/gdb/xtensa-tdep.c
@@ -553,10 +553,6 @@ xtensa_pseudo_register_read (struct gdbarch *gdbarch,
DEBUGTRACE ("xtensa_pseudo_register_read (... regnum = %d (%s) ...)\n",
regnum, xtensa_register_name (gdbarch, regnum));
- if (regnum == gdbarch_num_regs (gdbarch)
- + gdbarch_num_pseudo_regs (gdbarch) - 1)
- regnum = gdbarch_tdep (gdbarch)->a0_base + 1;
-
/* Read aliases a0..a15, if this is a Windowed ABI. */
if (gdbarch_tdep (gdbarch)->isa_use_windowed_registers
&& (regnum >= gdbarch_tdep (gdbarch)->a0_base)
@@ -653,10 +649,6 @@ xtensa_pseudo_register_write (struct gdbarch *gdbarch,
DEBUGTRACE ("xtensa_pseudo_register_write (... regnum = %d (%s) ...)\n",
regnum, xtensa_register_name (gdbarch, regnum));
- if (regnum == gdbarch_num_regs (gdbarch)
- + gdbarch_num_pseudo_regs (gdbarch) -1)
- regnum = gdbarch_tdep (gdbarch)->a0_base + 1;
-
/* Renumber register, if aliase a0..a15 on Windowed ABI. */
if (gdbarch_tdep (gdbarch)->isa_use_windowed_registers
&& (regnum >= gdbarch_tdep (gdbarch)->a0_base)
diff --git a/gold/ChangeLog b/gold/ChangeLog
index 758e8aab77f..4b5b860687b 100644
--- a/gold/ChangeLog
+++ b/gold/ChangeLog
@@ -1,3 +1,230 @@
+2015-06-29 Han Shen <shenhan@google.com>
+
+ Patch for erratum 843419 internal error.
+
+ * AArch64.cc (Erratum_stub::Insn_utilities): New typedef.
+ (Erratum_stub::update_erratum_insn): New method.
+ (Stub_table::relocate_stubs): Modified to place relocated insn.
+ (AArch64_relobj::fix_errata): Modified gold_assert.
+
+2015-06-12 Han Shen <shenhan@google.com>
+
+ Fix erratum 835769.
+
+ * aarch64.cc (AArch64_insn_utilities::BYTES_PER_INSN): Move
+ defintion outside class definition.
+ (AArch64_insn_utilities::AARCH64_ZR): New static constant.
+ (AArch64_insn_utilities::aarch64_op31): New member.
+ (AArch64_insn_utilities::aarch64_ra): New member.
+ (AArch64_insn_utilities::aarch64_mac): New member.
+ (AArch64_insn_utilities::aarch64_mlxl): New member.
+ (ST_E_835769): New global enum member.
+ (Stub_table::relocate_stubs): Add 835769 handler.
+ (Stub_template_repertoire::Stub_template_repertoire): Install new
+ stub type.
+ (AArch64_relobj::scan_errata): This func is renamed from
+ scan_erratum_843419.
+ (AArch64_relobj::do_count_local_symbols): Add 835769 handler.
+ (AArch64_relobj::do_relocate_sections): Add 835769 handler.
+ (AArch64_relobj::scan_sections_for_stubs): Add 835769 handler.
+ (Target_aarch64::scan_erratum_835769_span): New method.
+ (Target_aarch64::create_erratum_stub): New method.
+ (Target_aarch64::is_erratum_835769_sequence): New method.
+ (Target_aarch64::scan_erratum_843419_sequence): Move part of the
+ code into create_erratum_stub.
+ * options.h (fix_cortex_a53_835769): New option.
+
+2015-06-11 Cary Coutant <ccoutant@gmail.com>
+
+ * aarch64.cc (Erratum_stub::STUB_ADDR_ALIGN): Move initialization
+ outside class body.
+ (Reloc_stub::STUB_ADDR_ALIGN): Likewise.
+
+2015-06-11 Cary Coutant <ccoutant@gmail.com>
+
+ PR gold/17731
+ * layout.cc (corresponding_uncompressed_section_name): New function.
+ (Layout::choose_output_section): Call it.
+ * layout.h (corresponding_uncompressed_section_name): New function.
+ * script-sections.cc (Input_section_info::set_section_name): Check
+ for compressed debug section (.zdebug style).
+
+2015-06-11 Jing Yu <jingyu@google.com>
+
+ * testsuite/Makefile.am: Add -O0 for script_test_12 test.
+ * testsuite/Makefile.in: Regenerate.
+
+2015-06-11 Davide Italiano <dccitaliano@gmail.com>
+
+ * gold.h (is_cident): Correct typo.
+
+2015-06-10 Han Shen <shenhan@google.com>
+ Patch for erratum-843419 (2 of 2 - fix erratum occurrences).
+
+ Now fixing for 843419 is fully functional.
+
+ The first part of the erratum fix CL is here -
+ https://sourceware.org/ml/binutils/2015-04/msg00229.html
+
+ * aarch64.cc(global enum): New constants representing stub types.
+ (Stub_template): New POD struct.
+ (Stub_template_repertoire): New class.
+ (Stub_base): New class.
+ (Erratum_stub): New class.
+ (Reloc_stub): Refactored to be a subclass of Stub_base.
+ (Reloc_stub::Stub_type): Removed.
+ (Reloc_stub::offset): Moved to Stub_base.
+ (Reloc_stub::set_offset): Moved to Stub_base.
+ (Reloc_stub::destination_address): Moved to Stub_base.
+ (Reloc_stub::set_destination_address): Moved to Stub_base.
+ (Reloc_stub::reset_destination_address): Moved to Stub_base.
+ (Reloc_stub::stub_type): Renamed and moved to Stub_base.
+ (Reloc_stub::stub_size): Renamed and moved to Stub_base.
+ (Reloc_stub::stub_insns): Renamed and moved to Stub_base.
+ (Reloc_stub::write): Moved to Stub_base.
+ (Reloc_stub::invalid_offset): Moved to Stub_base.
+ (Reloc_stub::invalid_address): Moved to Stub_base.
+ (Reloc_stub::stub_type_): Renamed and moved to Stub_base.
+ (Reloc_stub::stub_insns_): Moved to Stub_base.
+ (Reloc_stub::offset_): Moved to Stub_base.
+ (Reloc_stub::destination_address_): Moved to Stub_base.
+ (Stub_table::The_aarch64_relobj): New typedef.
+ (Stub_table::The_erratum_stub): New typedef.
+ (Stub_table::The_erratum_stub_less): New typedef.
+ (Stub_table::The_erratum_stub_set): New typedef.
+ (Stub_table::The_erratum_stub_set_iter): New typedef.
+ (Stub_table::empty): Added emptiness testing for erratum stubs.
+ (Stub_table::add_erratum_stub): New method to add an erratum stub.
+ (Stub_table::find_erratum_stub): New method.
+ (Stub_table::find_erratum_stubs_for_input_section): New method.
+ (Stub_table::erratum_stub_address): New method.
+ (Stub_table::update_date_size_changed_p): Modified to handle erratum stubs.
+ (Stub_table::do_addralign): Modified to handle erratum stubs.
+ (Stub_table::erratum_stubs_): New member.
+ (Stub_table::erratum_stub_size_): New member.
+ (Stub_table::relocate_stubs): Modified to handle erratum stubs.
+ (Stub_table::do_write): Modified to handle erratum stubs.
+ (AArch64_relobj::The_erratum_stub): New typedef.
+ (AArch64_relobj::Erratum_stub_set_iter): New typedef.
+ (AArch64_relobj::fix_errata): New method.
+ (Target_aarch64::The_reloc_stub_type): Removed.
+ (Target_aarch64::The_erratum_stub): New typede.
+ (AArch64_relocate_functions::construct_b): New method.
+
+2015-06-08 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: New French Translation.
+
+2015-06-07 Cary Coutant <ccoutant@gmail.com>
+
+ PR gold/18288
+ * resolve.cc (symbol_to_bits): Remove type parameter; adjust all
+ callers. Don't use STT_COMMON to check for common symbols.
+ (Symbol_table::resolve): Warn if relocatable object has STT_COMMON
+ symbol that's not in a common section.
+ * symtab.h (Symbol::is_common): Don't use STT_COMMON to check for
+ common symbols.
+
+2015-06-04 Cary Coutant <ccoutant@gmail.com>
+
+ PR gold/18200
+ * Makefile.am (diststuff): Add target.
+ * Makefile.in: Regenerate.
+
+2015-06-04 Cary Coutant <ccoutant@gmail.com>
+
+ PR gold/17498
+ * object.cc (Sized_relobj_file::do_count_local_symbols): Discard
+ temporary locals in merge sections.
+ * options.cc (General_options::parse_discard_all): New method.
+ (General_options::parse_discard_locals): New method.
+ (General_options::parse_discard_none): New method.
+ (General_options::General_options): Initialize discard_locals_.
+ * options.h (--discard-all): Convert to special option.
+ (--discard-locals): Likewise.
+ (--discard-none): New option.
+ (General_options::discard_all): New method.
+ (General_options::discard_locals): New method.
+ (General_options::discard_sec_merge): New method.
+ (General_options::Discard_locals): New enum.
+ (General_options::discard_locals_): New data member.
+
+2015-06-03 Cary Coutant <cary@google.com>
+
+ * script-sections.cc (Script_sections::Script_sections): Initialize
+ segments_created_.
+ (Script_sections::create_note_and_tls_segments): Set flag when
+ segments are created.
+ (Script_sections::expected_segment_count): Count PT_INTERP.
+ (Script_sections::attach_sections_using_phdrs_clause): Set flag when
+ segments are created.
+ * script-sections.h (Script_sections::segments_created_): New data
+ member.
+
+2015-06-03 Cary Coutant <ccoutant@gmail.com>
+
+ PR gold/15370
+ * script-sections.cc
+ (Output_section_element_input::set_section_addresses): When there
+ are several patterns with no sort spec, put all sections in the same
+ bin.
+ * testsuite/Makefile.am (script_test_12): New testcase.
+ (script_test_12i): New testcase.
+ * testsuite/Makefile.in: Regenerate.
+ * testsuite/script_test_12.t: New test linker script.
+ * testsuite/script_test_12i.t: New test linker script.
+ * testsuite/script_test_12a.c: New test source file.
+ * testsuite/script_test_12b.c: New test source file.
+
+2015-06-02 Cary Coutant <ccoutant@gmail.com>
+
+ * nacl.h (Sniff_file): Switch parameters to get_view to get an
+ aligned view.
+
+2015-06-03 Cary Coutant <ccoutant@gmail.com>
+
+ PR gold/17819
+ * gold.cc (queue_final_tasks): When --build-id=tree, queue a
+ separate task to schedule the build id computation.
+ * layout.cc (Hash_task::Hash_task): Remove build_id_blocker,
+ add Output_file and offset.
+ (Hash_task::run): Get and release the input views.
+ (Hash_task::is_runnable): Always return NULL (always runnable).
+ (Layout::queue_build_id_tasks): Remove.
+ (Layout::write_build_id): Add array_of_hashes and size_of_hashes
+ parameters; use them instead of class members.
+ (Build_id_task_runner::run): New function.
+ (Close_task_runner::run): Pass array_of_hashes and size_of_hashes
+ to write_build_id.
+ * layout.h (Layout::queue_build_id_tasks): Remove.
+ (Layout::write_build_id): Add array_of_hashes and size_of_hashes
+ parameters.
+ (Layout::array_of_hashes_): Remove.
+ (Layout::size_of_array_of_hashes_): Remove.
+ (Layout::input_view_): Remove.
+ (Build_id_task_runner): New class.
+ (Close_task_runner::Close_task_runner): Add array_of_hashes and
+ size_of_hashes parameters.
+ (Close_task_runner::array_of_hashes_): New data member.
+ (Close_task_runner::size_of_hashes_): New data member.
+ * testsuite/Makefile.am
+ (flagstest_compress_debug_sections_and_build_id_tree): New test.
+ * testsuite/Makefile.in: Regenerate.
+
+2015-06-01 Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
+
+ * merge.cc (get_input_merge_map): Update for data structure change.
+ (get_or_make_input_merge_map): Update for data structure change.
+ * merge.h (Object_merge_map): Use a std::vector<std::pair>> instead of
+ a std::map. Remove first_shnum_, first_map_, second_shnum_, second_map_.
+
+2015-05-16 Alan Modra <amodra@gmail.com>
+
+ * reloc.cc (Sized_relobj_file::find_functions): Use function_location.
+ * powerpc.cc (Target_powerpc::do_calls_non_split): New function.
+ (addi_12_1, addis_2_12, addis_12_1, cmpld_7_12_0): New constants.
+ (lis_0): Rename from lis_0_0.
+
2015-04-29 Cary Coutant <cary@google.com>
Rafael Ávila de Espíndola <rafael.espindola@gmail.com>
diff --git a/gold/Makefile.am b/gold/Makefile.am
index 5603f3cc801..01b00a41846 100644
--- a/gold/Makefile.am
+++ b/gold/Makefile.am
@@ -169,6 +169,8 @@ DEFFILES = arm-reloc.def aarch64-reloc.def
EXTRA_DIST = yyscript.c yyscript.h
+diststuff: $(EXTRA_DIST)
+
TARGETSOURCES = \
i386.cc x86_64.cc sparc.cc powerpc.cc arm.cc arm-reloc-property.cc tilegx.cc \
mips.cc aarch64.cc aarch64-reloc-property.cc
diff --git a/gold/Makefile.in b/gold/Makefile.in
index 8e0ff0e4adf..8a235246125 100644
--- a/gold/Makefile.in
+++ b/gold/Makefile.in
@@ -70,8 +70,8 @@ subdir = .
DIST_COMMON = NEWS README ChangeLog $(srcdir)/Makefile.in \
$(srcdir)/Makefile.am $(top_srcdir)/configure \
$(am__configure_deps) $(srcdir)/config.in \
- $(srcdir)/../mkinstalldirs $(top_srcdir)/po/Make-in ffsll.c \
- ftruncate.c pread.c mremap.c yyscript.h yyscript.c \
+ $(srcdir)/../mkinstalldirs $(top_srcdir)/po/Make-in mremap.c \
+ pread.c ffsll.c ftruncate.c yyscript.h yyscript.c \
$(srcdir)/../depcomp $(srcdir)/../ylwrap
ACLOCAL_M4 = $(top_srcdir)/aclocal.m4
am__aclocal_m4_deps = $(top_srcdir)/../config/depstand.m4 \
@@ -1297,6 +1297,8 @@ uninstall-am: uninstall-binPROGRAMS
uninstall-am uninstall-binPROGRAMS
+diststuff: $(EXTRA_DIST)
+
# Use an explicit dependency for the bison generated header file.
expression.$(OBJEXT): yyscript.h
script-sections.$(OBJEXT): yyscript.h
diff --git a/gold/aarch64.cc b/gold/aarch64.cc
index 27457760a15..e32f003737a 100644
--- a/gold/aarch64.cc
+++ b/gold/aarch64.cc
@@ -24,6 +24,7 @@
#include <cstring>
#include <map>
+#include <set>
#include "elfcpp.h"
#include "dwarf.h"
@@ -76,7 +77,10 @@ class AArch64_insn_utilities
public:
typedef typename elfcpp::Swap<32, big_endian>::Valtype Insntype;
- static const int BYTES_PER_INSN = 4;
+ static const int BYTES_PER_INSN;
+
+ // Zero register encoding - 31.
+ static const unsigned int AARCH64_ZR;
static unsigned int
aarch64_bit(Insntype insn, int pos)
@@ -86,6 +90,18 @@ public:
aarch64_bits(Insntype insn, int pos, int l)
{ return (insn >> pos) & ((1 << l) - 1); }
+ // Get the encoding field "op31" of 3-source data processing insns. "op31" is
+ // the name defined in armv8 insn manual C3.5.9.
+ static unsigned int
+ aarch64_op31(Insntype insn)
+ { return aarch64_bits(insn, 21, 3); }
+
+ // Get the encoding field "ra" of 3-source data processing insns. "ra" is the
+ // third source register. See armv8 insn manual C3.5.9.
+ static unsigned int
+ aarch64_ra(Insntype insn)
+ { return aarch64_bits(insn, 10, 5); }
+
static bool
is_adrp(const Insntype insn)
{ return (insn & 0x9F000000) == 0x90000000; }
@@ -329,8 +345,42 @@ public:
return true;
}
return false;
+ } // End of "aarch64_mem_op_p".
+
+ // Return true if INSN is mac insn.
+ static bool
+ aarch64_mac(Insntype insn)
+ { return (insn & 0xff000000) == 0x9b000000; }
+
+ // Return true if INSN is multiply-accumulate.
+ // (This is similar to implementaton in elfnn-aarch64.c.)
+ static bool
+ aarch64_mlxl(Insntype insn)
+ {
+ uint32_t op31 = aarch64_op31(insn);
+ if (aarch64_mac(insn)
+ && (op31 == 0 || op31 == 1 || op31 == 5)
+ /* Exclude MUL instructions which are encoded as a multiple-accumulate
+ with RA = XZR. */
+ && aarch64_ra(insn) != AARCH64_ZR)
+ {
+ return true;
+ }
+ return false;
}
-};
+}; // End of "AArch64_insn_utilities".
+
+
+// Insn length in byte.
+
+template<bool big_endian>
+const int AArch64_insn_utilities<big_endian>::BYTES_PER_INSN = 4;
+
+
+// Zero register encoding - 31.
+
+template<bool big_endian>
+const unsigned int AArch64_insn_utilities<big_endian>::AARCH64_ZR = 0x1f;
// Output_data_got_aarch64 class.
@@ -576,91 +626,184 @@ template<int size, bool big_endian>
class AArch64_output_section;
-// Reloc stub class.
-
template<int size, bool big_endian>
-class Reloc_stub
+class AArch64_relobj;
+
+
+// Stub type enum constants.
+
+enum
{
- public:
- typedef Reloc_stub<size, big_endian> This;
- typedef typename elfcpp::Elf_types<size>::Elf_Addr AArch64_address;
+ ST_NONE = 0,
- // Do not change the value of the enums, they are used to index into
- // stub_insns array.
- typedef enum
- {
- ST_NONE = 0,
+ // Using adrp/add pair, 4 insns (including alignment) without mem access,
+ // the fastest stub. This has a limited jump distance, which is tested by
+ // aarch64_valid_for_adrp_p.
+ ST_ADRP_BRANCH = 1,
- // Using adrp/add pair, 4 insns (including alignment) without mem access,
- // the fastest stub. This has a limited jump distance, which is tested by
- // aarch64_valid_for_adrp_p.
- ST_ADRP_BRANCH = 1,
+ // Using ldr-absolute-address/br-register, 4 insns with 1 mem access,
+ // unlimited in jump distance.
+ ST_LONG_BRANCH_ABS = 2,
- // Using ldr-absolute-address/br-register, 4 insns with 1 mem access,
- // unlimited in jump distance.
- ST_LONG_BRANCH_ABS = 2,
+ // Using ldr/calculate-pcrel/jump, 8 insns (including alignment) with 1
+ // mem access, slowest one. Only used in position independent executables.
+ ST_LONG_BRANCH_PCREL = 3,
- // Using ldr/calculate-pcrel/jump, 8 insns (including alignment) with 1 mem
- // access, slowest one. Only used in position independent executables.
- ST_LONG_BRANCH_PCREL = 3,
+ // Stub for erratum 843419 handling.
+ ST_E_843419 = 4,
- } Stub_type;
+ // Stub for erratum 835769 handling.
+ ST_E_835769 = 5,
- // Branch range. This is used to calculate the section group size, as well as
- // determine whether a stub is needed.
- static const int MAX_BRANCH_OFFSET = ((1 << 25) - 1) << 2;
- static const int MIN_BRANCH_OFFSET = -((1 << 25) << 2);
+ // Number of total stub types.
+ ST_NUMBER = 6
+};
- // Constant used to determine if an offset fits in the adrp instruction
- // encoding.
- static const int MAX_ADRP_IMM = (1 << 20) - 1;
- static const int MIN_ADRP_IMM = -(1 << 20);
- static const int BYTES_PER_INSN = 4;
- static const int STUB_ADDR_ALIGN = 4;
+// Struct that wraps insns for a particular stub. All stub templates are
+// created/initialized as constants by Stub_template_repertoire.
- // Determine whether the offset fits in the jump/branch instruction.
- static bool
- aarch64_valid_branch_offset_p(int64_t offset)
- { return offset >= MIN_BRANCH_OFFSET && offset <= MAX_BRANCH_OFFSET; }
+template<bool big_endian>
+struct Stub_template
+{
+ const typename AArch64_insn_utilities<big_endian>::Insntype* insns;
+ const int insn_num;
+};
- // Determine whether the offset fits in the adrp immediate field.
- static bool
- aarch64_valid_for_adrp_p(AArch64_address location, AArch64_address dest)
+
+// Simple singleton class that creates/initializes/stores all types of stub
+// templates.
+
+template<bool big_endian>
+class Stub_template_repertoire
+{
+public:
+ typedef typename AArch64_insn_utilities<big_endian>::Insntype Insntype;
+
+ // Single static method to get stub template for a given stub type.
+ static const Stub_template<big_endian>*
+ get_stub_template(int type)
{
- typedef AArch64_relocate_functions<size, big_endian> Reloc;
- int64_t adrp_imm = (Reloc::Page(dest) - Reloc::Page(location)) >> 12;
- return adrp_imm >= MIN_ADRP_IMM && adrp_imm <= MAX_ADRP_IMM;
+ static Stub_template_repertoire<big_endian> singleton;
+ return singleton.stub_templates_[type];
}
- // Determine the stub type for a certain relocation or ST_NONE, if no stub is
- // needed.
- static Stub_type
- stub_type_for_reloc(unsigned int r_type, AArch64_address address,
- AArch64_address target);
-
- Reloc_stub(Stub_type stub_type)
- : stub_type_(stub_type), offset_(invalid_offset),
- destination_address_(invalid_address)
+private:
+ // Constructor - creates/initializes all stub templates.
+ Stub_template_repertoire();
+ ~Stub_template_repertoire()
{ }
- ~Reloc_stub()
- { }
+ // Disallowing copy ctor and copy assignment operator.
+ Stub_template_repertoire(Stub_template_repertoire&);
+ Stub_template_repertoire& operator=(Stub_template_repertoire&);
- // Return offset of code stub from beginning of its containing stub table.
- section_offset_type
- offset() const
+ // Data that stores all insn templates.
+ const Stub_template<big_endian>* stub_templates_[ST_NUMBER];
+}; // End of "class Stub_template_repertoire".
+
+
+// Constructor - creates/initilizes all stub templates.
+
+template<bool big_endian>
+Stub_template_repertoire<big_endian>::Stub_template_repertoire()
+{
+ // Insn array definitions.
+ const static Insntype ST_NONE_INSNS[] = {};
+
+ const static Insntype ST_ADRP_BRANCH_INSNS[] =
+ {
+ 0x90000010, /* adrp ip0, X */
+ /* ADR_PREL_PG_HI21(X) */
+ 0x91000210, /* add ip0, ip0, :lo12:X */
+ /* ADD_ABS_LO12_NC(X) */
+ 0xd61f0200, /* br ip0 */
+ 0x00000000, /* alignment padding */
+ };
+
+ const static Insntype ST_LONG_BRANCH_ABS_INSNS[] =
+ {
+ 0x58000050, /* ldr ip0, 0x8 */
+ 0xd61f0200, /* br ip0 */
+ 0x00000000, /* address field */
+ 0x00000000, /* address fields */
+ };
+
+ const static Insntype ST_LONG_BRANCH_PCREL_INSNS[] =
+ {
+ 0x58000090, /* ldr ip0, 0x10 */
+ 0x10000011, /* adr ip1, #0 */
+ 0x8b110210, /* add ip0, ip0, ip1 */
+ 0xd61f0200, /* br ip0 */
+ 0x00000000, /* address field */
+ 0x00000000, /* address field */
+ 0x00000000, /* alignment padding */
+ 0x00000000, /* alignment padding */
+ };
+
+ const static Insntype ST_E_843419_INSNS[] =
+ {
+ 0x00000000, /* Placeholder for erratum insn. */
+ 0x14000000, /* b <label> */
+ };
+
+ // ST_E_835769 has the same stub template as ST_E_843419.
+ const static Insntype* ST_E_835769_INSNS = ST_E_843419_INSNS;
+
+#define install_insn_template(T) \
+ const static Stub_template<big_endian> template_##T = { \
+ T##_INSNS, sizeof(T##_INSNS) / sizeof(T##_INSNS[0]) }; \
+ this->stub_templates_[T] = &template_##T
+
+ install_insn_template(ST_NONE);
+ install_insn_template(ST_ADRP_BRANCH);
+ install_insn_template(ST_LONG_BRANCH_ABS);
+ install_insn_template(ST_LONG_BRANCH_PCREL);
+ install_insn_template(ST_E_843419);
+ install_insn_template(ST_E_835769);
+
+#undef install_insn_template
+}
+
+
+// Base class for stubs.
+
+template<int size, bool big_endian>
+class Stub_base
+{
+public:
+ typedef typename elfcpp::Elf_types<size>::Elf_Addr AArch64_address;
+ typedef typename AArch64_insn_utilities<big_endian>::Insntype Insntype;
+
+ static const AArch64_address invalid_address =
+ static_cast<AArch64_address>(-1);
+
+ static const section_offset_type invalid_offset =
+ static_cast<section_offset_type>(-1);
+
+ Stub_base(int type)
+ : destination_address_(invalid_address),
+ offset_(invalid_offset),
+ type_(type)
+ {}
+
+ ~Stub_base()
+ {}
+
+ // Get stub type.
+ int
+ type() const
+ { return this->type_; }
+
+ // Get stub template that provides stub insn information.
+ const Stub_template<big_endian>*
+ stub_template() const
{
- gold_assert(this->offset_ != invalid_offset);
- return this->offset_;
+ return Stub_template_repertoire<big_endian>::
+ get_stub_template(this->type());
}
- // Set offset of code stub from beginning of its containing stub table.
- void
- set_offset(section_offset_type offset)
- { this->offset_ = offset; }
-
- // Return destination address.
+ // Get destination address.
AArch64_address
destination_address() const
{
@@ -681,38 +824,289 @@ class Reloc_stub
reset_destination_address()
{ this->destination_address_ = this->invalid_address; }
- // Return the stub type.
- Stub_type
- stub_type() const
- { return stub_type_; }
+ // Get offset of code stub. For Reloc_stub, it is the offset from the
+ // beginning of its containing stub table; for Erratum_stub, it is the offset
+ // from the end of reloc_stubs.
+ section_offset_type
+ offset() const
+ {
+ gold_assert(this->offset_ != this->invalid_offset);
+ return this->offset_;
+ }
- // Return the stub size.
- uint32_t
- stub_size() const
- { return this->stub_insn_number() * BYTES_PER_INSN; }
+ // Set stub offset.
+ void
+ set_offset(section_offset_type offset)
+ { this->offset_ = offset; }
- // Return the instruction number of this stub instance.
- int
- stub_insn_number() const
- { return stub_insns_[this->stub_type_][0]; }
+ // Return the stub insn.
+ const Insntype*
+ insns() const
+ { return this->stub_template()->insns; }
+
+ // Return num of stub insns.
+ unsigned int
+ insn_num() const
+ { return this->stub_template()->insn_num; }
- // Note the first "insn" is the number of total insns in this array.
- const uint32_t*
- stub_insns() const
- { return stub_insns_[this->stub_type_]; }
+ // Get size of the stub.
+ int
+ stub_size() const
+ {
+ return this->insn_num() *
+ AArch64_insn_utilities<big_endian>::BYTES_PER_INSN;
+ }
// Write stub to output file.
void
write(unsigned char* view, section_size_type view_size)
{ this->do_write(view, view_size); }
+protected:
+ // Abstract method to be implemented by sub-classes.
+ virtual void
+ do_write(unsigned char*, section_size_type) = 0;
+
+private:
+ // The last insn of a stub is a jump to destination insn. This field records
+ // the destination address.
+ AArch64_address destination_address_;
+ // The stub offset. Note this has difference interpretations between an
+ // Reloc_stub and an Erratum_stub. For Reloc_stub this is the offset from the
+ // beginning of the containing stub_table, whereas for Erratum_stub, this is
+ // the offset from the end of reloc_stubs.
+ section_offset_type offset_;
+ // Stub type.
+ const int type_;
+}; // End of "Stub_base".
+
+
+// Erratum stub class. An erratum stub differs from a reloc stub in that for
+// each erratum occurrence, we generate an erratum stub. We never share erratum
+// stubs, whereas for reloc stubs, different branches insns share a single reloc
+// stub as long as the branch targets are the same. (More to the point, reloc
+// stubs can be shared because they're used to reach a specific target, whereas
+// erratum stubs branch back to the original control flow.)
+
+template<int size, bool big_endian>
+class Erratum_stub : public Stub_base<size, big_endian>
+{
+public:
+ typedef AArch64_relobj<size, big_endian> The_aarch64_relobj;
+ typedef typename elfcpp::Elf_types<size>::Elf_Addr AArch64_address;
+ typedef AArch64_insn_utilities<big_endian> Insn_utilities;
+ typedef typename AArch64_insn_utilities<big_endian>::Insntype Insntype;
+
+ static const int STUB_ADDR_ALIGN;
+
+ static const Insntype invalid_insn = static_cast<Insntype>(-1);
+
+ Erratum_stub(The_aarch64_relobj* relobj, int type,
+ unsigned shndx, unsigned int sh_offset)
+ : Stub_base<size, big_endian>(type), relobj_(relobj),
+ shndx_(shndx), sh_offset_(sh_offset),
+ erratum_insn_(invalid_insn),
+ erratum_address_(this->invalid_address)
+ {}
+
+ ~Erratum_stub() {}
+
+ // Return the object that contains the erratum.
+ The_aarch64_relobj*
+ relobj()
+ { return this->relobj_; }
+
+ // Get section index of the erratum.
+ unsigned int
+ shndx() const
+ { return this->shndx_; }
+
+ // Get section offset of the erratum.
+ unsigned int
+ sh_offset() const
+ { return this->sh_offset_; }
+
+ // Get the erratum insn. This is the insn located at erratum_insn_address.
+ Insntype
+ erratum_insn() const
+ {
+ gold_assert(this->erratum_insn_ != this->invalid_insn);
+ return this->erratum_insn_;
+ }
+
+ // Set the insn that the erratum happens to.
+ void
+ set_erratum_insn(Insntype insn)
+ { this->erratum_insn_ = insn; }
+
+ // For 843419, the erratum insn is ld/st xt, [xn, #uimm], which may be a
+ // relocation spot, in this case, the erratum_insn_ recorded at scanning phase
+ // is no longer the one we want to write out to the stub, update erratum_insn_
+ // with relocated version. Also note that in this case xn must not be "PC", so
+ // it is safe to move the erratum insn from the origin place to the stub. For
+ // 835769, the erratum insn is multiply-accumulate insn, which could not be a
+ // relocation spot (assertion added though).
+ void
+ update_erratum_insn(Insntype insn)
+ {
+ gold_assert(this->erratum_insn_ != this->invalid_insn);
+ switch (this->type())
+ {
+ case ST_E_843419:
+ gold_assert(Insn_utilities::aarch64_ldst_uimm(insn));
+ gold_assert(Insn_utilities::aarch64_ldst_uimm(this->erratum_insn()));
+ gold_assert(Insn_utilities::aarch64_rd(insn) ==
+ Insn_utilities::aarch64_rd(this->erratum_insn()));
+ gold_assert(Insn_utilities::aarch64_rn(insn) ==
+ Insn_utilities::aarch64_rn(this->erratum_insn()));
+ // Update plain ld/st insn with relocated insn.
+ this->erratum_insn_ = insn;
+ break;
+ case ST_E_835769:
+ gold_assert(insn == this->erratum_insn());
+ break;
+ default:
+ gold_unreachable();
+ }
+ }
+
+
+ // Return the address where an erratum must be done.
+ AArch64_address
+ erratum_address() const
+ {
+ gold_assert(this->erratum_address_ != this->invalid_address);
+ return this->erratum_address_;
+ }
+
+ // Set the address where an erratum must be done.
+ void
+ set_erratum_address(AArch64_address addr)
+ { this->erratum_address_ = addr; }
+
+ // Comparator used to group Erratum_stubs in a set by (obj, shndx,
+ // sh_offset). We do not include 'type' in the calculation, becuase there is
+ // at most one stub type at (obj, shndx, sh_offset).
+ bool
+ operator<(const Erratum_stub<size, big_endian>& k) const
+ {
+ if (this == &k)
+ return false;
+ // We group stubs by relobj.
+ if (this->relobj_ != k.relobj_)
+ return this->relobj_ < k.relobj_;
+ // Then by section index.
+ if (this->shndx_ != k.shndx_)
+ return this->shndx_ < k.shndx_;
+ // Lastly by section offset.
+ return this->sh_offset_ < k.sh_offset_;
+ }
+
+protected:
+ virtual void
+ do_write(unsigned char*, section_size_type);
+
+private:
+ // The object that needs to be fixed.
+ The_aarch64_relobj* relobj_;
+ // The shndx in the object that needs to be fixed.
+ const unsigned int shndx_;
+ // The section offset in the obejct that needs to be fixed.
+ const unsigned int sh_offset_;
+ // The insn to be fixed.
+ Insntype erratum_insn_;
+ // The address of the above insn.
+ AArch64_address erratum_address_;
+}; // End of "Erratum_stub".
+
+template<int size, bool big_endian>
+const int Erratum_stub<size, big_endian>::STUB_ADDR_ALIGN = 4;
+
+// Comparator used in set definition.
+template<int size, bool big_endian>
+struct Erratum_stub_less
+{
+ bool
+ operator()(const Erratum_stub<size, big_endian>* s1,
+ const Erratum_stub<size, big_endian>* s2) const
+ { return *s1 < *s2; }
+};
+
+// Erratum_stub implementation for writing stub to output file.
+
+template<int size, bool big_endian>
+void
+Erratum_stub<size, big_endian>::do_write(unsigned char* view, section_size_type)
+{
+ typedef typename elfcpp::Swap<32, big_endian>::Valtype Insntype;
+ const Insntype* insns = this->insns();
+ uint32_t num_insns = this->insn_num();
+ Insntype* ip = reinterpret_cast<Insntype*>(view);
+ // For current implemented erratum 843419 and 835769, the first insn in the
+ // stub is always a copy of the problematic insn (in 843419, the mem access
+ // insn, in 835769, the mac insn), followed by a jump-back.
+ elfcpp::Swap<32, big_endian>::writeval(ip, this->erratum_insn());
+ for (uint32_t i = 1; i < num_insns; ++i)
+ elfcpp::Swap<32, big_endian>::writeval(ip + i, insns[i]);
+}
+
+
+// Reloc stub class.
+
+template<int size, bool big_endian>
+class Reloc_stub : public Stub_base<size, big_endian>
+{
+ public:
+ typedef Reloc_stub<size, big_endian> This;
+ typedef typename elfcpp::Elf_types<size>::Elf_Addr AArch64_address;
+
+ // Branch range. This is used to calculate the section group size, as well as
+ // determine whether a stub is needed.
+ static const int MAX_BRANCH_OFFSET = ((1 << 25) - 1) << 2;
+ static const int MIN_BRANCH_OFFSET = -((1 << 25) << 2);
+
+ // Constant used to determine if an offset fits in the adrp instruction
+ // encoding.
+ static const int MAX_ADRP_IMM = (1 << 20) - 1;
+ static const int MIN_ADRP_IMM = -(1 << 20);
+
+ static const int BYTES_PER_INSN = 4;
+ static const int STUB_ADDR_ALIGN;
+
+ // Determine whether the offset fits in the jump/branch instruction.
+ static bool
+ aarch64_valid_branch_offset_p(int64_t offset)
+ { return offset >= MIN_BRANCH_OFFSET && offset <= MAX_BRANCH_OFFSET; }
+
+ // Determine whether the offset fits in the adrp immediate field.
+ static bool
+ aarch64_valid_for_adrp_p(AArch64_address location, AArch64_address dest)
+ {
+ typedef AArch64_relocate_functions<size, big_endian> Reloc;
+ int64_t adrp_imm = (Reloc::Page(dest) - Reloc::Page(location)) >> 12;
+ return adrp_imm >= MIN_ADRP_IMM && adrp_imm <= MAX_ADRP_IMM;
+ }
+
+ // Determine the stub type for a certain relocation or ST_NONE, if no stub is
+ // needed.
+ static int
+ stub_type_for_reloc(unsigned int r_type, AArch64_address address,
+ AArch64_address target);
+
+ Reloc_stub(int type)
+ : Stub_base<size, big_endian>(type)
+ { }
+
+ ~Reloc_stub()
+ { }
+
// The key class used to index the stub instance in the stub table's stub map.
class Key
{
public:
- Key(Stub_type stub_type, const Symbol* symbol, const Relobj* relobj,
+ Key(int type, const Symbol* symbol, const Relobj* relobj,
unsigned int r_sym, int32_t addend)
- : stub_type_(stub_type), addend_(addend)
+ : type_(type), addend_(addend)
{
if (symbol != NULL)
{
@@ -731,9 +1125,9 @@ class Reloc_stub
{ }
// Return stub type.
- Stub_type
- stub_type() const
- { return this->stub_type_; }
+ int
+ type() const
+ { return this->type_; }
// Return the local symbol index or invalid_index.
unsigned int
@@ -754,7 +1148,7 @@ class Reloc_stub
bool
eq(const Key& k) const
{
- return ((this->stub_type_ == k.stub_type_)
+ return ((this->type_ == k.type_)
&& (this->r_sym_ == k.r_sym_)
&& ((this->r_sym_ != Reloc_stub::invalid_index)
? (this->u_.relobj == k.u_.relobj)
@@ -771,7 +1165,7 @@ class Reloc_stub
? this->u_.relobj->name().c_str()
: this->u_.symbol->name());
// We only have 4 stub types.
- size_t stub_type_hash_value = 0x03 & this->stub_type_;
+ size_t stub_type_hash_value = 0x03 & this->type_;
return (name_hash_value
^ stub_type_hash_value
^ ((this->r_sym_ & 0x3fff) << 2)
@@ -795,7 +1189,7 @@ class Reloc_stub
private:
// Stub type.
- const Stub_type stub_type_;
+ const int type_;
// If this is a local symbol, this is the index in the defining object.
// Otherwise, it is invalid_index for a global symbol.
unsigned int r_sym_;
@@ -820,19 +1214,11 @@ class Reloc_stub
do_write(unsigned char*, section_size_type);
private:
- static const section_offset_type invalid_offset =
- static_cast<section_offset_type>(-1);
static const unsigned int invalid_index = static_cast<unsigned int>(-1);
- static const AArch64_address invalid_address =
- static_cast<AArch64_address>(-1);
-
- static const uint32_t stub_insns_[][10];
-
- const Stub_type stub_type_;
- section_offset_type offset_;
- AArch64_address destination_address_;
}; // End of Reloc_stub
+template<int size, bool big_endian>
+const int Reloc_stub<size, big_endian>::STUB_ADDR_ALIGN = 4;
// Write data to output file.
@@ -842,66 +1228,19 @@ Reloc_stub<size, big_endian>::
do_write(unsigned char* view, section_size_type)
{
typedef typename elfcpp::Swap<32, big_endian>::Valtype Insntype;
- const uint32_t* insns = this->stub_insns();
- uint32_t num_insns = this->stub_insn_number();
+ const uint32_t* insns = this->insns();
+ uint32_t num_insns = this->insn_num();
Insntype* ip = reinterpret_cast<Insntype*>(view);
- for (uint32_t i = 1; i <= num_insns; ++i)
- elfcpp::Swap<32, big_endian>::writeval(ip + i - 1, insns[i]);
+ for (uint32_t i = 0; i < num_insns; ++i)
+ elfcpp::Swap<32, big_endian>::writeval(ip + i, insns[i]);
}
-// Stubs instructions definition.
-
-template<int size, bool big_endian>
-const uint32_t
-Reloc_stub<size, big_endian>::stub_insns_[][10] =
- {
- // The first element of each group is the num of the insns.
-
- // ST_NONE
- {0, 0},
-
- // ST_ADRP_BRANCH
- {
- 4,
- 0x90000010, /* adrp ip0, X */
- /* ADR_PREL_PG_HI21(X) */
- 0x91000210, /* add ip0, ip0, :lo12:X */
- /* ADD_ABS_LO12_NC(X) */
- 0xd61f0200, /* br ip0 */
- 0x00000000, /* alignment padding */
- },
-
- // ST_LONG_BRANCH_ABS
- {
- 4,
- 0x58000050, /* ldr ip0, 0x8 */
- 0xd61f0200, /* br ip0 */
- 0x00000000, /* address field */
- 0x00000000, /* address fields */
- },
-
- // ST_LONG_BRANCH_PCREL
- {
- 8,
- 0x58000090, /* ldr ip0, 0x10 */
- 0x10000011, /* adr ip1, #0 */
- 0x8b110210, /* add ip0, ip0, ip1 */
- 0xd61f0200, /* br ip0 */
- 0x00000000, /* address field */
- 0x00000000, /* address field */
- 0x00000000, /* alignment padding */
- 0x00000000, /* alignment padding */
- }
- };
-
-
// Determine the stub type for a certain relocation or ST_NONE, if no stub is
// needed.
template<int size, bool big_endian>
-inline
-typename Reloc_stub<size, big_endian>::Stub_type
+inline int
Reloc_stub<size, big_endian>::stub_type_for_reloc(
unsigned int r_type, AArch64_address location, AArch64_address dest)
{
@@ -937,9 +1276,12 @@ class Stub_table : public Output_data
public:
typedef Target_aarch64<size, big_endian> The_target_aarch64;
typedef typename elfcpp::Elf_types<size>::Elf_Addr AArch64_address;
+ typedef AArch64_relobj<size, big_endian> The_aarch64_relobj;
typedef AArch64_input_section<size, big_endian> The_aarch64_input_section;
typedef Reloc_stub<size, big_endian> The_reloc_stub;
typedef typename The_reloc_stub::Key The_reloc_stub_key;
+ typedef Erratum_stub<size, big_endian> The_erratum_stub;
+ typedef Erratum_stub_less<size, big_endian> The_erratum_stub_less;
typedef typename The_reloc_stub_key::hash The_reloc_stub_key_hash;
typedef typename The_reloc_stub_key::equal_to The_reloc_stub_key_equal_to;
typedef Stub_table<size, big_endian> The_stub_table;
@@ -949,8 +1291,12 @@ class Stub_table : public Output_data
typedef typename Reloc_stub_map::const_iterator Reloc_stub_map_const_iter;
typedef Relocate_info<size, big_endian> The_relocate_info;
+ typedef std::set<The_erratum_stub*, The_erratum_stub_less> Erratum_stub_set;
+ typedef typename Erratum_stub_set::iterator Erratum_stub_set_iter;
+
Stub_table(The_aarch64_input_section* owner)
- : Output_data(), owner_(owner), reloc_stubs_size_(0), prev_data_size_(0)
+ : Output_data(), owner_(owner), reloc_stubs_size_(0),
+ erratum_stubs_size_(0), prev_data_size_(0)
{ }
~Stub_table()
@@ -963,7 +1309,7 @@ class Stub_table : public Output_data
// Whether this stub table is empty.
bool
empty() const
- { return reloc_stubs_.empty(); }
+ { return reloc_stubs_.empty() && erratum_stubs_.empty(); }
// Return the current data size.
off_t
@@ -975,6 +1321,32 @@ class Stub_table : public Output_data
void
add_reloc_stub(The_reloc_stub* stub, const The_reloc_stub_key& key);
+ // Add an erratum stub into the erratum stub set. The set is ordered by
+ // (relobj, shndx, sh_offset).
+ void
+ add_erratum_stub(The_erratum_stub* stub);
+
+ // Find if such erratum exists for any given (obj, shndx, sh_offset).
+ The_erratum_stub*
+ find_erratum_stub(The_aarch64_relobj* a64relobj,
+ unsigned int shndx, unsigned int sh_offset);
+
+ // Find all the erratums for a given input section. The return value is a pair
+ // of iterators [begin, end).
+ std::pair<Erratum_stub_set_iter, Erratum_stub_set_iter>
+ find_erratum_stubs_for_input_section(The_aarch64_relobj* a64relobj,
+ unsigned int shndx);
+
+ // Compute the erratum stub address.
+ AArch64_address
+ erratum_stub_address(The_erratum_stub* stub) const
+ {
+ AArch64_address r = align_address(this->address() + this->reloc_stubs_size_,
+ The_erratum_stub::STUB_ADDR_ALIGN);
+ r += stub->offset();
+ return r;
+ }
+
// Finalize stubs. No-op here, just for completeness.
void
finalize_stubs()
@@ -1003,7 +1375,9 @@ class Stub_table : public Output_data
update_data_size_changed_p()
{
// No addralign changed here.
- off_t s = this->reloc_stubs_size_;
+ off_t s = align_address(this->reloc_stubs_size_,
+ The_erratum_stub::STUB_ADDR_ALIGN)
+ + this->erratum_stubs_size_;
bool changed = (s != this->prev_data_size_);
this->prev_data_size_ = s;
return changed;
@@ -1017,7 +1391,10 @@ class Stub_table : public Output_data
// Return the required alignment.
uint64_t
do_addralign() const
- { return The_reloc_stub::STUB_ADDR_ALIGN; }
+ {
+ return std::max(The_reloc_stub::STUB_ADDR_ALIGN,
+ The_erratum_stub::STUB_ADDR_ALIGN);
+ }
// Reset address and file offset.
void
@@ -1045,13 +1422,79 @@ class Stub_table : public Output_data
The_aarch64_input_section* owner_;
// The relocation stubs.
Reloc_stub_map reloc_stubs_;
+ // The erratum stubs.
+ Erratum_stub_set erratum_stubs_;
// Size of reloc stubs.
off_t reloc_stubs_size_;
+ // Size of erratum stubs.
+ off_t erratum_stubs_size_;
// data size of this in the previous pass.
off_t prev_data_size_;
}; // End of Stub_table
+// Add an erratum stub into the erratum stub set. The set is ordered by
+// (relobj, shndx, sh_offset).
+
+template<int size, bool big_endian>
+void
+Stub_table<size, big_endian>::add_erratum_stub(The_erratum_stub* stub)
+{
+ std::pair<Erratum_stub_set_iter, bool> ret =
+ this->erratum_stubs_.insert(stub);
+ gold_assert(ret.second);
+ this->erratum_stubs_size_ = align_address(
+ this->erratum_stubs_size_, The_erratum_stub::STUB_ADDR_ALIGN);
+ stub->set_offset(this->erratum_stubs_size_);
+ this->erratum_stubs_size_ += stub->stub_size();
+}
+
+
+// Find if such erratum exists for given (obj, shndx, sh_offset).
+
+template<int size, bool big_endian>
+Erratum_stub<size, big_endian>*
+Stub_table<size, big_endian>::find_erratum_stub(
+ The_aarch64_relobj* a64relobj, unsigned int shndx, unsigned int sh_offset)
+{
+ // A dummy object used as key to search in the set.
+ The_erratum_stub key(a64relobj, ST_NONE,
+ shndx, sh_offset);
+ Erratum_stub_set_iter i = this->erratum_stubs_.find(&key);
+ if (i != this->erratum_stubs_.end())
+ {
+ The_erratum_stub* stub(*i);
+ gold_assert(stub->erratum_insn() != 0);
+ return stub;
+ }
+ return NULL;
+}
+
+
+// Find all the errata for a given input section. The return value is a pair of
+// iterators [begin, end).
+
+template<int size, bool big_endian>
+std::pair<typename Stub_table<size, big_endian>::Erratum_stub_set_iter,
+ typename Stub_table<size, big_endian>::Erratum_stub_set_iter>
+Stub_table<size, big_endian>::find_erratum_stubs_for_input_section(
+ The_aarch64_relobj* a64relobj, unsigned int shndx)
+{
+ typedef std::pair<Erratum_stub_set_iter, Erratum_stub_set_iter> Result_pair;
+ Erratum_stub_set_iter start, end;
+ The_erratum_stub low_key(a64relobj, ST_NONE, shndx, 0);
+ start = this->erratum_stubs_.lower_bound(&low_key);
+ if (start == this->erratum_stubs_.end())
+ return Result_pair(this->erratum_stubs_.end(),
+ this->erratum_stubs_.end());
+ end = start;
+ while (end != this->erratum_stubs_.end() &&
+ (*end)->relobj() == a64relobj && (*end)->shndx() == shndx)
+ ++end;
+ return Result_pair(start, end);
+}
+
+
// Add a STUB using KEY. The caller is responsible for avoiding addition
// if a STUB with the same key has already been added.
@@ -1060,7 +1503,7 @@ void
Stub_table<size, big_endian>::add_reloc_stub(
The_reloc_stub* stub, const The_reloc_stub_key& key)
{
- gold_assert(stub->stub_type() == key.stub_type());
+ gold_assert(stub->type() == key.type());
this->reloc_stubs_[key] = stub;
// Assign stub offset early. We can do this because we never remove
@@ -1091,6 +1534,42 @@ relocate_stubs(const The_relocate_info* relinfo,
p != this->reloc_stubs_.end(); ++p)
relocate_stub(p->second, relinfo, target_aarch64, output_section,
view, address, view_size);
+
+ // Just for convenience.
+ const int BPI = AArch64_insn_utilities<big_endian>::BYTES_PER_INSN;
+
+ // Now 'relocate' erratum stubs.
+ for(Erratum_stub_set_iter i = this->erratum_stubs_.begin();
+ i != this->erratum_stubs_.end(); ++i)
+ {
+ AArch64_address stub_address = this->erratum_stub_address(*i);
+ // The address of "b" in the stub that is to be "relocated".
+ AArch64_address stub_b_insn_address;
+ // Branch offset that is to be filled in "b" insn.
+ int b_offset = 0;
+ switch ((*i)->type())
+ {
+ case ST_E_843419:
+ case ST_E_835769:
+ // The 1st insn of the erratum could be a relocation spot,
+ // in this case we need to fix it with
+ // "(*i)->erratum_insn()".
+ elfcpp::Swap<32, big_endian>::writeval(
+ view + (stub_address - this->address()),
+ (*i)->erratum_insn());
+ // For the erratum, the 2nd insn is a b-insn to be patched
+ // (relocated).
+ stub_b_insn_address = stub_address + 1 * BPI;
+ b_offset = (*i)->destination_address() - stub_b_insn_address;
+ AArch64_relocate_functions<size, big_endian>::construct_b(
+ view + (stub_b_insn_address - this->address()),
+ ((unsigned int)(b_offset)) & 0xfffffff);
+ break;
+ default:
+ gold_unreachable();
+ break;
+ }
+ }
}
@@ -1140,6 +1619,17 @@ Stub_table<size, big_endian>::do_write(Output_file* of)
stub->write(oview + stub->offset(), stub->stub_size());
}
+ // Write erratum stubs.
+ unsigned int erratum_stub_start_offset =
+ align_address(this->reloc_stubs_size_, The_erratum_stub::STUB_ADDR_ALIGN);
+ for (typename Erratum_stub_set::iterator p = this->erratum_stubs_.begin();
+ p != this->erratum_stubs_.end(); ++p)
+ {
+ The_erratum_stub* stub(*p);
+ stub->write(oview + erratum_stub_start_offset + stub->offset(),
+ stub->stub_size());
+ }
+
of->write_output_view(this->offset(), oview_size, oview);
}
@@ -1155,6 +1645,8 @@ class AArch64_relobj : public Sized_relobj_file<size, big_endian>
typedef AArch64_input_section<size, big_endian> The_aarch64_input_section;
typedef typename elfcpp::Elf_types<size>::Elf_Addr AArch64_address;
typedef Stub_table<size, big_endian> The_stub_table;
+ typedef Erratum_stub<size, big_endian> The_erratum_stub;
+ typedef typename The_stub_table::Erratum_stub_set_iter Erratum_stub_set_iter;
typedef std::vector<The_stub_table*> Stub_table_list;
static const AArch64_address invalid_address =
static_cast<AArch64_address>(-1);
@@ -1184,12 +1676,12 @@ class AArch64_relobj : public Sized_relobj_file<size, big_endian>
this->stub_tables_[shndx] = stub_table;
}
- // Entrance to erratum_843419 scanning.
+ // Entrance to errata scanning.
void
- scan_erratum_843419(unsigned int shndx,
- const elfcpp::Shdr<size, big_endian>&,
- Output_section*, const Symbol_table*,
- The_target_aarch64*);
+ scan_errata(unsigned int shndx,
+ const elfcpp::Shdr<size, big_endian>&,
+ Output_section*, const Symbol_table*,
+ The_target_aarch64*);
// Scan all relocation sections for stub generation.
void
@@ -1258,6 +1750,10 @@ class AArch64_relobj : public Sized_relobj_file<size, big_endian>
Stringpool_template<char>*);
private:
+ // Fix all errata in the object.
+ void
+ fix_errata(typename Sized_relobj_file<size, big_endian>::Views* pviews);
+
// Whether a section needs to be scanned for relocation stubs.
bool
section_needs_reloc_stub_scanning(const elfcpp::Shdr<size, big_endian>&,
@@ -1282,7 +1778,8 @@ AArch64_relobj<size, big_endian>::do_count_local_symbols(
// Only erratum-fixing work needs mapping symbols, so skip this time consuming
// processing if not fixing erratum.
- if (!parameters->options().fix_cortex_a53_843419())
+ if (!parameters->options().fix_cortex_a53_843419()
+ && !parameters->options().fix_cortex_a53_835769())
return;
const unsigned int loccount = this->local_symbol_count();
@@ -1353,6 +1850,52 @@ AArch64_relobj<size, big_endian>::do_count_local_symbols(
}
+// Fix all errata in the object.
+
+template<int size, bool big_endian>
+void
+AArch64_relobj<size, big_endian>::fix_errata(
+ typename Sized_relobj_file<size, big_endian>::Views* pviews)
+{
+ typedef typename elfcpp::Swap<32,big_endian>::Valtype Insntype;
+ unsigned int shnum = this->shnum();
+ for (unsigned int i = 1; i < shnum; ++i)
+ {
+ The_stub_table* stub_table = this->stub_table(i);
+ if (!stub_table)
+ continue;
+ std::pair<Erratum_stub_set_iter, Erratum_stub_set_iter>
+ ipair(stub_table->find_erratum_stubs_for_input_section(this, i));
+ Erratum_stub_set_iter p = ipair.first, end = ipair.second;
+ while (p != end)
+ {
+ The_erratum_stub* stub = *p;
+ typename Sized_relobj_file<size, big_endian>::View_size&
+ pview((*pviews)[i]);
+
+ // Double check data before fix.
+ gold_assert(pview.address + stub->sh_offset()
+ == stub->erratum_address());
+
+ // Update previously recorded erratum insn with relocated
+ // version.
+ Insntype* ip =
+ reinterpret_cast<Insntype*>(pview.view + stub->sh_offset());
+ Insntype insn_to_fix = ip[0];
+ stub->update_erratum_insn(insn_to_fix);
+
+ // Replace the erratum insn with a branch-to-stub.
+ AArch64_address stub_address =
+ stub_table->erratum_stub_address(stub);
+ unsigned int b_offset = stub_address - stub->erratum_address();
+ AArch64_relocate_functions<size, big_endian>::construct_b(
+ pview.view + stub->sh_offset(), b_offset & 0xfffffff);
+ ++p;
+ }
+ }
+}
+
+
// Relocate sections.
template<int size, bool big_endian>
@@ -1370,6 +1913,10 @@ AArch64_relobj<size, big_endian>::do_relocate_sections(
if (parameters->options().relocatable())
return;
+ if (parameters->options().fix_cortex_a53_843419()
+ || parameters->options().fix_cortex_a53_835769())
+ this->fix_errata(pviews);
+
Relocate_info<size, big_endian> relinfo;
relinfo.symtab = symtab;
relinfo.layout = layout;
@@ -1493,11 +2040,11 @@ AArch64_relobj<size, big_endian>::section_needs_reloc_stub_scanning(
}
-// Scan section SHNDX for erratum 843419.
+// Scan section SHNDX for erratum 843419 and 835769.
template<int size, bool big_endian>
void
-AArch64_relobj<size, big_endian>::scan_erratum_843419(
+AArch64_relobj<size, big_endian>::scan_errata(
unsigned int shndx, const elfcpp::Shdr<size, big_endian>& shdr,
Output_section* os, const Symbol_table* symtab,
The_target_aarch64* target)
@@ -1549,7 +2096,18 @@ AArch64_relobj<size, big_endian>::scan_erratum_843419(
span_end = convert_to_section_size_type(p->first.offset_);
else
span_end = convert_to_section_size_type(shdr.get_sh_size());
- target->scan_erratum_843419_span(
+
+ // Here we do not share the scanning code of both errata. For 843419,
+ // only the last few insns of each page are examined, which is fast,
+ // whereas, for 835769, every insn pair needs to be checked.
+
+ if (parameters->options().fix_cortex_a53_843419())
+ target->scan_erratum_843419_span(
+ this, shndx, span_start, span_end,
+ const_cast<unsigned char*>(input_view), output_address);
+
+ if (parameters->options().fix_cortex_a53_835769())
+ target->scan_erratum_835769_span(
this, shndx, span_start, span_end,
const_cast<unsigned char*>(input_view), output_address);
}
@@ -1590,8 +2148,9 @@ AArch64_relobj<size, big_endian>::scan_sections_for_stubs(
for (unsigned int i = 1; i < shnum; ++i, p += shdr_size)
{
const elfcpp::Shdr<size, big_endian> shdr(p);
- if (parameters->options().fix_cortex_a53_843419())
- scan_erratum_843419(i, shdr, out_sections[i], symtab, target);
+ if (parameters->options().fix_cortex_a53_843419()
+ || parameters->options().fix_cortex_a53_835769())
+ scan_errata(i, shdr, out_sections[i], symtab, target);
if (this->section_needs_reloc_stub_scanning(shdr, out_sections, symtab,
pshdrs))
{
@@ -2088,7 +2647,7 @@ class Target_aarch64 : public Sized_target<size, big_endian>
typedef typename elfcpp::Elf_types<size>::Elf_Addr Address;
typedef AArch64_relobj<size, big_endian> The_aarch64_relobj;
typedef Reloc_stub<size, big_endian> The_reloc_stub;
- typedef typename The_reloc_stub::Stub_type The_reloc_stub_type;
+ typedef Erratum_stub<size, big_endian> The_erratum_stub;
typedef typename Reloc_stub<size, big_endian>::Key The_reloc_stub_key;
typedef Stub_table<size, big_endian> The_stub_table;
typedef std::vector<The_stub_table*> Stub_table_list;
@@ -2291,11 +2850,21 @@ class Target_aarch64 : public Sized_target<size, big_endian>
}
- // Scan erratum for a part of a section.
+ // Scan erratum 843419 for a part of a section.
void
scan_erratum_843419_span(
AArch64_relobj<size, big_endian>*,
- unsigned int shndx,
+ unsigned int,
+ const section_size_type,
+ const section_size_type,
+ unsigned char*,
+ Address);
+
+ // Scan erratum 835769 for a part of a section.
+ void
+ scan_erratum_835769_span(
+ AArch64_relobj<size, big_endian>*,
+ unsigned int,
const section_size_type,
const section_size_type,
unsigned char*,
@@ -2594,12 +3163,27 @@ class Target_aarch64 : public Sized_target<size, big_endian>
return this->plt_;
}
+ // Helper method to create erratum stubs for ST_E_843419 and ST_E_835769.
+ void create_erratum_stub(
+ AArch64_relobj<size, big_endian>* relobj,
+ unsigned int shndx,
+ section_size_type erratum_insn_offset,
+ Address erratum_address,
+ typename Insn_utilities::Insntype erratum_insn,
+ int erratum_type);
+
// Return whether this is a 3-insn erratum sequence.
bool is_erratum_843419_sequence(
typename elfcpp::Swap<32,big_endian>::Valtype insn1,
typename elfcpp::Swap<32,big_endian>::Valtype insn2,
typename elfcpp::Swap<32,big_endian>::Valtype insn3);
+ // Return whether this is a 835769 sequence.
+ // (Similarly implemented as in elfnn-aarch64.c.)
+ bool is_erratum_835769_sequence(
+ typename elfcpp::Swap<32,big_endian>::Valtype,
+ typename elfcpp::Swap<32,big_endian>::Valtype);
+
// Get the dynamic reloc section, creating it if necessary.
Reloc_section*
rela_dyn_section(Layout*);
@@ -3028,9 +3612,9 @@ Target_aarch64<size, big_endian>::scan_reloc_for_stub(
gold_unreachable();
}
- typename The_reloc_stub::Stub_type stub_type = The_reloc_stub::
+ int stub_type = The_reloc_stub::
stub_type_for_reloc(r_type, address, destination);
- if (stub_type == The_reloc_stub::ST_NONE)
+ if (stub_type == ST_NONE)
return;
The_stub_table* stub_table = aarch64_relobj->stub_table(relinfo->data_shndx);
@@ -3284,20 +3868,20 @@ relocate_stub(The_reloc_stub* stub,
typedef typename elfcpp::Swap<32,big_endian>::Valtype Insntype;
Insntype* ip = reinterpret_cast<Insntype*>(view);
- int insn_number = stub->stub_insn_number();
- const uint32_t* insns = stub->stub_insns();
+ int insn_number = stub->insn_num();
+ const uint32_t* insns = stub->insns();
// Check the insns are really those stub insns.
for (int i = 0; i < insn_number; ++i)
{
Insntype insn = elfcpp::Swap<32,big_endian>::readval(ip + i);
- gold_assert(((uint32_t)insn == insns[i+1]));
+ gold_assert(((uint32_t)insn == insns[i]));
}
Address dest = stub->destination_address();
- switch(stub->stub_type())
+ switch(stub->type())
{
- case The_reloc_stub::ST_ADRP_BRANCH:
+ case ST_ADRP_BRANCH:
{
// 1st reloc is ADR_PREL_PG_HI21
The_reloc_functions_status status =
@@ -3318,12 +3902,12 @@ relocate_stub(The_reloc_stub* stub,
}
break;
- case The_reloc_stub::ST_LONG_BRANCH_ABS:
+ case ST_LONG_BRANCH_ABS:
// 1st reloc is R_AARCH64_PREL64, at offset 8
elfcpp::Swap<64,big_endian>::writeval(view + 8, dest);
break;
- case The_reloc_stub::ST_LONG_BRANCH_PCREL:
+ case ST_LONG_BRANCH_PCREL:
{
// "PC" calculation is the 2nd insn in the stub.
uint64_t offset = dest - (address + 4);
@@ -4272,7 +4856,6 @@ class AArch64_relocate_functions
typedef Relocate_info<size, big_endian> The_relocate_info;
typedef AArch64_relobj<size, big_endian> The_aarch64_relobj;
typedef Reloc_stub<size, big_endian> The_reloc_stub;
- typedef typename The_reloc_stub::Stub_type The_reloc_stub_type;
typedef Stub_table<size, big_endian> The_stub_table;
typedef elfcpp::Rela<size, big_endian> The_rela;
typedef typename elfcpp::Swap<size, big_endian>::Valtype AArch64_valtype;
@@ -4405,6 +4988,15 @@ class AArch64_relocate_functions
public:
+ // Construct a B insn. Note, although we group it here with other relocation
+ // operation, there is actually no 'relocation' involved here.
+ static inline void
+ construct_b(unsigned char* view, unsigned int branch_offset)
+ {
+ update_view_two_parts<32>(view, 0x05, (branch_offset >> 2),
+ 26, 0, 0xffffffff);
+ }
+
// Do a simple rela relocation at unaligned addresses.
template<int valsize>
@@ -4650,9 +5242,9 @@ maybe_apply_stub(unsigned int r_type,
typename elfcpp::Elf_types<size>::Elf_Swxword addend = rela.get_r_addend();
Address branch_target = psymval->value(object, 0) + addend;
- The_reloc_stub_type stub_type = The_reloc_stub::
- stub_type_for_reloc(r_type, address, branch_target);
- if (stub_type == The_reloc_stub::ST_NONE)
+ int stub_type =
+ The_reloc_stub::stub_type_for_reloc(r_type, address, branch_target);
+ if (stub_type == ST_NONE)
return false;
const The_aarch64_relobj* aarch64_relobj =
@@ -7220,6 +7812,136 @@ Target_aarch64<size, big_endian>::is_erratum_843419_sequence(
}
+// Return whether this is a 835769 sequence.
+// (Similarly implemented as in elfnn-aarch64.c.)
+
+template<int size, bool big_endian>
+bool
+Target_aarch64<size, big_endian>::is_erratum_835769_sequence(
+ typename elfcpp::Swap<32,big_endian>::Valtype insn1,
+ typename elfcpp::Swap<32,big_endian>::Valtype insn2)
+{
+ uint32_t rt;
+ uint32_t rt2;
+ uint32_t rn;
+ uint32_t rm;
+ uint32_t ra;
+ bool pair;
+ bool load;
+
+ if (Insn_utilities::aarch64_mlxl(insn2)
+ && Insn_utilities::aarch64_mem_op_p (insn1, &rt, &rt2, &pair, &load))
+ {
+ /* Any SIMD memory op is independent of the subsequent MLA
+ by definition of the erratum. */
+ if (Insn_utilities::aarch64_bit(insn1, 26))
+ return true;
+
+ /* If not SIMD, check for integer memory ops and MLA relationship. */
+ rn = Insn_utilities::aarch64_rn(insn2);
+ ra = Insn_utilities::aarch64_ra(insn2);
+ rm = Insn_utilities::aarch64_rm(insn2);
+
+ /* If this is a load and there's a true(RAW) dependency, we are safe
+ and this is not an erratum sequence. */
+ if (load &&
+ (rt == rn || rt == rm || rt == ra
+ || (pair && (rt2 == rn || rt2 == rm || rt2 == ra))))
+ return false;
+
+ /* We conservatively put out stubs for all other cases (including
+ writebacks). */
+ return true;
+ }
+
+ return false;
+}
+
+
+// Helper method to create erratum stub for ST_E_843419 and ST_E_835769.
+
+template<int size, bool big_endian>
+void
+Target_aarch64<size, big_endian>::create_erratum_stub(
+ AArch64_relobj<size, big_endian>* relobj,
+ unsigned int shndx,
+ section_size_type erratum_insn_offset,
+ Address erratum_address,
+ typename Insn_utilities::Insntype erratum_insn,
+ int erratum_type)
+{
+ gold_assert(erratum_type == ST_E_843419 || erratum_type == ST_E_835769);
+ The_stub_table* stub_table = relobj->stub_table(shndx);
+ gold_assert(stub_table != NULL);
+ if (stub_table->find_erratum_stub(relobj,
+ shndx,
+ erratum_insn_offset) == NULL)
+ {
+ const int BPI = AArch64_insn_utilities<big_endian>::BYTES_PER_INSN;
+ The_erratum_stub* stub = new The_erratum_stub(
+ relobj, erratum_type, shndx, erratum_insn_offset);
+ stub->set_erratum_insn(erratum_insn);
+ stub->set_erratum_address(erratum_address);
+ // For erratum ST_E_843419 and ST_E_835769, the destination address is
+ // always the next insn after erratum insn.
+ stub->set_destination_address(erratum_address + BPI);
+ stub_table->add_erratum_stub(stub);
+ }
+}
+
+
+// Scan erratum for section SHNDX range [output_address + span_start,
+// output_address + span_end). Note here we do not share the code with
+// scan_erratum_843419_span function, because for 843419 we optimize by only
+// scanning the last few insns of a page, whereas for 835769, we need to scan
+// every insn.
+
+template<int size, bool big_endian>
+void
+Target_aarch64<size, big_endian>::scan_erratum_835769_span(
+ AArch64_relobj<size, big_endian>* relobj,
+ unsigned int shndx,
+ const section_size_type span_start,
+ const section_size_type span_end,
+ unsigned char* input_view,
+ Address output_address)
+{
+ typedef typename Insn_utilities::Insntype Insntype;
+
+ const int BPI = AArch64_insn_utilities<big_endian>::BYTES_PER_INSN;
+
+ // Adjust output_address and view to the start of span.
+ output_address += span_start;
+ input_view += span_start;
+
+ section_size_type span_length = span_end - span_start;
+ section_size_type offset = 0;
+ for (offset = 0; offset + BPI < span_length; offset += BPI)
+ {
+ Insntype* ip = reinterpret_cast<Insntype*>(input_view + offset);
+ Insntype insn1 = ip[0];
+ Insntype insn2 = ip[1];
+ if (is_erratum_835769_sequence(insn1, insn2))
+ {
+ Insntype erratum_insn = insn2;
+ // "span_start + offset" is the offset for insn1. So for insn2, it is
+ // "span_start + offset + BPI".
+ section_size_type erratum_insn_offset = span_start + offset + BPI;
+ Address erratum_address = output_address + offset + BPI;
+ gold_warning(_("Erratum 835769 found and fixed at \"%s\", "
+ "section %d, offset 0x%08x."),
+ relobj->name().c_str(), shndx,
+ (unsigned int)(span_start + offset));
+
+ this->create_erratum_stub(relobj, shndx,
+ erratum_insn_offset, erratum_address,
+ erratum_insn, ST_E_835769);
+ offset += BPI; // Skip mac insn.
+ }
+ }
+} // End of "Target_aarch64::scan_erratum_835769_span".
+
+
// Scan erratum for section SHNDX range
// [output_address + span_start, output_address + span_end).
@@ -7258,9 +7980,15 @@ Target_aarch64<size, big_endian>::scan_erratum_843419_span(
{
Insntype insn2 = ip[1];
Insntype insn3 = ip[2];
+ Insntype erratum_insn;
+ unsigned insn_offset;
bool do_report = false;
if (is_erratum_843419_sequence(insn1, insn2, insn3))
- do_report = true;
+ {
+ do_report = true;
+ erratum_insn = insn3;
+ insn_offset = 2 * Insn_utilities::BYTES_PER_INSN;
+ }
else if (offset + 4 * Insn_utilities::BYTES_PER_INSN <= span_length)
{
// Optionally we can have an insn between ins2 and ins3
@@ -7277,15 +8005,26 @@ Target_aarch64<size, big_endian>::scan_erratum_843419_span(
Insntype insn4 = ip[3];
if (is_erratum_843419_sequence(insn1, insn2, insn4))
- do_report = true;
+ {
+ do_report = true;
+ erratum_insn = insn4;
+ insn_offset = 3 * Insn_utilities::BYTES_PER_INSN;
+ }
}
}
if (do_report)
{
- gold_error(_("Erratum 943419 found at \"%s\", section %d, "
- "offset 0x%08x."),
- relobj->name().c_str(), shndx,
- (unsigned int)(span_start + offset));
+ gold_warning(_("Erratum 843419 found and fixed at \"%s\", "
+ "section %d, offset 0x%08x."),
+ relobj->name().c_str(), shndx,
+ (unsigned int)(span_start + offset));
+ unsigned int erratum_insn_offset =
+ span_start + offset + insn_offset;
+ Address erratum_address =
+ output_address + offset + insn_offset;
+ create_erratum_stub(relobj, shndx,
+ erratum_insn_offset, erratum_address,
+ erratum_insn, ST_E_843419);
}
}
@@ -7297,7 +8036,7 @@ Target_aarch64<size, big_endian>::scan_erratum_843419_span(
else // (page_offset == 0xffc), we move to next page's 0xff8.
offset += 0xffc;
}
-}
+} // End of "Target_aarch64::scan_erratum_843419_span".
// The selector for aarch64 object files.
diff --git a/gold/compressed_output.cc b/gold/compressed_output.cc
index 4a893188b66..26303309742 100644
--- a/gold/compressed_output.cc
+++ b/gold/compressed_output.cc
@@ -230,11 +230,11 @@ Output_compressed_section::set_final_data_size()
this->write_to_postprocessing_buffer();
bool success = false;
- enum { none, zlib, gnu_zlib, gabi_zlib } compress;
+ enum { none, gnu_zlib, gabi_zlib } compress;
int compression_header_size = 12;
const int size = parameters->target().get_size();
if (strcmp(this->options_->compress_debug_sections(), "zlib") == 0)
- compress = zlib;
+ compress = gnu_zlib;
else if (strcmp(this->options_->compress_debug_sections(), "zlib-gnu") == 0)
compress = gnu_zlib;
else if (strcmp(this->options_->compress_debug_sections(), "zlib-gabi") == 0)
@@ -308,8 +308,6 @@ Output_compressed_section::set_final_data_size()
// This converts .debug_foo to .zdebug_foo
this->new_section_name_ = std::string(".z") + (this->name() + 1);
this->set_name(this->new_section_name_.c_str());
- // Clear the SHF_COMPRESSED bit.
- flags &= ~elfcpp::SHF_COMPRESSED;
}
this->set_flags(flags);
this->set_data_size(compressed_size);
diff --git a/gold/dynobj.h b/gold/dynobj.h
index b7c60f82e58..c08c1dedcdc 100644
--- a/gold/dynobj.h
+++ b/gold/dynobj.h
@@ -72,6 +72,16 @@ class Dynobj : public Object
this->unknown_needed_ = set ? UNKNOWN_NEEDED_TRUE : UNKNOWN_NEEDED_FALSE;
}
+ // Return the word size of the object file.
+ int
+ elfsize() const
+ { gold_unreachable(); }
+
+ // Return TRUE if this is a big-endian object file.
+ bool
+ is_big_endian() const
+ { gold_unreachable(); }
+
// Compute the ELF hash code for a string.
static uint32_t
elf_hash(const char*);
diff --git a/gold/gold.cc b/gold/gold.cc
index 39843c28684..18b06b921db 100644
--- a/gold/gold.cc
+++ b/gold/gold.cc
@@ -880,14 +880,27 @@ queue_final_tasks(const General_options& options,
}
// Create tasks for tree-style build ID computation, if necessary.
- final_blocker = layout->queue_build_id_tasks(workqueue, final_blocker, of);
-
- // Queue a task to close the output file. This will be blocked by
- // FINAL_BLOCKER.
- workqueue->queue(new Task_function(new Close_task_runner(&options, layout,
- of),
- final_blocker,
- "Task_function Close_task_runner"));
+ if (strcmp(options.build_id(), "tree") == 0)
+ {
+ // Queue a task to compute the build id. This will be blocked by
+ // FINAL_BLOCKER, and will in turn schedule the task to close
+ // the output file.
+ workqueue->queue(new Task_function(new Build_id_task_runner(&options,
+ layout,
+ of),
+ final_blocker,
+ "Task_function Build_id_task_runner"));
+ }
+ else
+ {
+ // Queue a task to close the output file. This will be blocked by
+ // FINAL_BLOCKER.
+ workqueue->queue(new Task_function(new Close_task_runner(&options, layout,
+ of, NULL, 0),
+ final_blocker,
+ "Task_function Close_task_runner"));
+ }
+
}
} // End namespace gold.
diff --git a/gold/gold.h b/gold/gold.h
index 9dfafc897f1..2179dae599b 100644
--- a/gold/gold.h
+++ b/gold/gold.h
@@ -255,8 +255,8 @@ inline bool
is_cident(const char* name)
{
return (name[strspn(name,
- ("0123456789"
- "ABCDEFGHIJKLMNOPWRSTUVWXYZ"
+ ("0123456789"
+ "ABCDEFGHIJKLMNOPQRSTUVWXYZ"
"abcdefghijklmnopqrstuvwxyz"
"_"))]
== '\0');
diff --git a/gold/layout.cc b/gold/layout.cc
index 14bfda092c5..52f55516b97 100644
--- a/gold/layout.cc
+++ b/gold/layout.cc
@@ -236,27 +236,31 @@ Free_list::print_stats()
}
// A Hash_task computes the MD5 checksum of an array of char.
-// It has a blocker on either side (i.e., the task cannot run until
-// the first is unblocked, and it unblocks the second after running).
class Hash_task : public Task
{
public:
- Hash_task(const unsigned char* src,
+ Hash_task(Output_file* of,
+ size_t offset,
size_t size,
unsigned char* dst,
- Task_token* build_id_blocker,
Task_token* final_blocker)
- : src_(src), size_(size), dst_(dst), build_id_blocker_(build_id_blocker),
+ : of_(of), offset_(offset), size_(size), dst_(dst),
final_blocker_(final_blocker)
{ }
void
run(Workqueue*)
- { md5_buffer(reinterpret_cast<const char*>(src_), size_, dst_); }
+ {
+ const unsigned char* iv =
+ this->of_->get_input_view(this->offset_, this->size_);
+ md5_buffer(reinterpret_cast<const char*>(iv), this->size_, this->dst_);
+ this->of_->free_input_view(this->offset_, this->size_, iv);
+ }
Task_token*
- is_runnable();
+ is_runnable()
+ { return NULL; }
// Unblock FINAL_BLOCKER_ when done.
void
@@ -268,21 +272,13 @@ class Hash_task : public Task
{ return "Hash_task"; }
private:
- const unsigned char* const src_;
+ Output_file* of_;
+ const size_t offset_;
const size_t size_;
unsigned char* const dst_;
- Task_token* const build_id_blocker_;
Task_token* const final_blocker_;
};
-Task_token*
-Hash_task::is_runnable()
-{
- if (this->build_id_blocker_->is_blocked())
- return this->build_id_blocker_;
- return NULL;
-}
-
// Layout::Relaxation_debug_check methods.
// Check that sections and special data are in reset states.
@@ -449,9 +445,6 @@ Layout::Layout(int number_of_input_files, Script_options* script_options)
eh_frame_hdr_section_(NULL),
gdb_index_data_(NULL),
build_id_note_(NULL),
- array_of_hashes_(NULL),
- size_of_array_of_hashes_(0),
- input_view_(NULL),
debug_abbrev_(NULL),
debug_info_(NULL),
group_signatures_(),
@@ -643,6 +636,15 @@ is_compressed_debug_section(const char* secname)
return (is_prefix_of(".zdebug", secname));
}
+std::string
+corresponding_uncompressed_section_name(std::string secname)
+{
+ gold_assert(secname[0] == '.' && secname[1] == 'z');
+ std::string ret(".");
+ ret.append(secname, 2, std::string::npos);
+ return ret;
+}
+
// Whether to include this section in the link.
template<int size, bool big_endian>
@@ -1028,19 +1030,16 @@ Layout::choose_output_section(const Relobj* relobj, const char* name,
// FIXME: Handle SHF_OS_NONCONFORMING somewhere.
size_t len = strlen(name);
- char* uncompressed_name = NULL;
+ std::string uncompressed_name;
// Compressed debug sections should be mapped to the corresponding
// uncompressed section.
if (is_compressed_debug_section(name))
{
- uncompressed_name = new char[len];
- uncompressed_name[0] = '.';
- gold_assert(name[0] == '.' && name[1] == 'z');
- strncpy(&uncompressed_name[1], &name[2], len - 2);
- uncompressed_name[len - 1] = '\0';
- len -= 1;
- name = uncompressed_name;
+ uncompressed_name =
+ corresponding_uncompressed_section_name(std::string(name, len));
+ name = uncompressed_name.c_str();
+ len = uncompressed_name.length();
}
// Turn NAME from the name of the input section into the name of the
@@ -1058,9 +1057,6 @@ Layout::choose_output_section(const Relobj* relobj, const char* name,
Stringpool::Key name_key;
name = this->namepool_.add_with_length(name, len, true, &name_key);
- if (uncompressed_name != NULL)
- delete[] uncompressed_name;
-
// Find or make the output section. The output section is selected
// based on the section name, type, and flags.
return this->get_output_section(name, name_key, type, flags, order, is_relro);
@@ -5388,56 +5384,13 @@ Layout::write_sections_after_input_sections(Output_file* of)
this->section_headers_->write(of);
}
-// Build IDs can be computed as a "flat" sha1 or md5 of a string of bytes,
-// or as a "tree" where each chunk of the string is hashed and then those
-// hashes are put into a (much smaller) string which is hashed with sha1.
-// We compute a checksum over the entire file because that is simplest.
-
-Task_token*
-Layout::queue_build_id_tasks(Workqueue* workqueue, Task_token* build_id_blocker,
- Output_file* of)
-{
- const size_t filesize = (this->output_file_size() <= 0 ? 0
- : static_cast<size_t>(this->output_file_size()));
- if (this->build_id_note_ != NULL
- && strcmp(parameters->options().build_id(), "tree") == 0
- && parameters->options().build_id_chunk_size_for_treehash() > 0
- && filesize > 0
- && (filesize >=
- parameters->options().build_id_min_file_size_for_treehash()))
- {
- static const size_t MD5_OUTPUT_SIZE_IN_BYTES = 16;
- const size_t chunk_size =
- parameters->options().build_id_chunk_size_for_treehash();
- const size_t num_hashes = ((filesize - 1) / chunk_size) + 1;
- Task_token* post_hash_tasks_blocker = new Task_token(true);
- post_hash_tasks_blocker->add_blockers(num_hashes);
- this->size_of_array_of_hashes_ = num_hashes * MD5_OUTPUT_SIZE_IN_BYTES;
- const unsigned char* src = of->get_input_view(0, filesize);
- this->input_view_ = src;
- unsigned char *dst = new unsigned char[this->size_of_array_of_hashes_];
- this->array_of_hashes_ = dst;
- for (size_t i = 0, src_offset = 0; i < num_hashes;
- i++, dst += MD5_OUTPUT_SIZE_IN_BYTES, src_offset += chunk_size)
- {
- size_t size = std::min(chunk_size, filesize - src_offset);
- workqueue->queue(new Hash_task(src + src_offset,
- size,
- dst,
- build_id_blocker,
- post_hash_tasks_blocker));
- }
- return post_hash_tasks_blocker;
- }
- return build_id_blocker;
-}
-
// If a tree-style build ID was requested, the parallel part of that computation
// is already done, and the final hash-of-hashes is computed here. For other
// types of build IDs, all the work is done here.
void
-Layout::write_build_id(Output_file* of) const
+Layout::write_build_id(Output_file* of, unsigned char* array_of_hashes,
+ size_t size_of_hashes) const
{
if (this->build_id_note_ == NULL)
return;
@@ -5445,7 +5398,7 @@ Layout::write_build_id(Output_file* of) const
unsigned char* ov = of->get_output_view(this->build_id_note_->offset(),
this->build_id_note_->data_size());
- if (this->array_of_hashes_ == NULL)
+ if (array_of_hashes == NULL)
{
const size_t output_file_size = this->output_file_size();
const unsigned char* iv = of->get_input_view(0, output_file_size);
@@ -5466,10 +5419,9 @@ Layout::write_build_id(Output_file* of) const
{
// Non-overlapping substrings of the output file have been hashed.
// Compute SHA-1 hash of the hashes.
- sha1_buffer(reinterpret_cast<const char*>(this->array_of_hashes_),
- this->size_of_array_of_hashes_, ov);
- delete[] this->array_of_hashes_;
- of->free_input_view(0, this->output_file_size(), this->input_view_);
+ sha1_buffer(reinterpret_cast<const char*>(array_of_hashes),
+ size_of_hashes, ov);
+ delete[] array_of_hashes;
}
of->write_output_view(this->build_id_note_->offset(),
@@ -5668,6 +5620,57 @@ Write_after_input_sections_task::run(Workqueue*)
this->layout_->write_sections_after_input_sections(this->of_);
}
+// Build IDs can be computed as a "flat" sha1 or md5 of a string of bytes,
+// or as a "tree" where each chunk of the string is hashed and then those
+// hashes are put into a (much smaller) string which is hashed with sha1.
+// We compute a checksum over the entire file because that is simplest.
+
+void
+Build_id_task_runner::run(Workqueue* workqueue, const Task*)
+{
+ Task_token* post_hash_tasks_blocker = new Task_token(true);
+ const Layout* layout = this->layout_;
+ Output_file* of = this->of_;
+ const size_t filesize = (layout->output_file_size() <= 0 ? 0
+ : static_cast<size_t>(layout->output_file_size()));
+ unsigned char* array_of_hashes = NULL;
+ size_t size_of_hashes = 0;
+
+ if (strcmp(this->options_->build_id(), "tree") == 0
+ && this->options_->build_id_chunk_size_for_treehash() > 0
+ && filesize > 0
+ && (filesize >= this->options_->build_id_min_file_size_for_treehash()))
+ {
+ static const size_t MD5_OUTPUT_SIZE_IN_BYTES = 16;
+ const size_t chunk_size =
+ this->options_->build_id_chunk_size_for_treehash();
+ const size_t num_hashes = ((filesize - 1) / chunk_size) + 1;
+ post_hash_tasks_blocker->add_blockers(num_hashes);
+ size_of_hashes = num_hashes * MD5_OUTPUT_SIZE_IN_BYTES;
+ array_of_hashes = new unsigned char[size_of_hashes];
+ unsigned char *dst = array_of_hashes;
+ for (size_t i = 0, src_offset = 0; i < num_hashes;
+ i++, dst += MD5_OUTPUT_SIZE_IN_BYTES, src_offset += chunk_size)
+ {
+ size_t size = std::min(chunk_size, filesize - src_offset);
+ workqueue->queue(new Hash_task(of,
+ src_offset,
+ size,
+ dst,
+ post_hash_tasks_blocker));
+ }
+ }
+
+ // Queue the final task to write the build id and close the output file.
+ workqueue->queue(new Task_function(new Close_task_runner(this->options_,
+ layout,
+ of,
+ array_of_hashes,
+ size_of_hashes),
+ post_hash_tasks_blocker,
+ "Task_function Close_task_runner"));
+}
+
// Close_task_runner methods.
// Finish up the build ID computation, if necessary, and write a binary file,
@@ -5677,8 +5680,9 @@ void
Close_task_runner::run(Workqueue*, const Task*)
{
// At this point the multi-threaded part of the build ID computation,
- // if any, is done. See queue_build_id_tasks().
- this->layout_->write_build_id(this->of_);
+ // if any, is done. See Build_id_task_runner.
+ this->layout_->write_build_id(this->of_, this->array_of_hashes_,
+ this->size_of_hashes_);
// If we've been asked to create a binary file, we do so here.
if (this->options_->oformat_enum() != General_options::OBJECT_FORMAT_ELF)
diff --git a/gold/layout.h b/gold/layout.h
index 9039ee8851d..7bdaaca28d7 100644
--- a/gold/layout.h
+++ b/gold/layout.h
@@ -66,6 +66,10 @@ struct Timespec;
extern bool
is_compressed_debug_section(const char* secname);
+// Return the name of the corresponding uncompressed debug section.
+extern std::string
+corresponding_uncompressed_section_name(std::string secname);
+
// Maintain a list of free space within a section, segment, or file.
// Used for incremental update links.
@@ -897,16 +901,9 @@ class Layout
const Output_data_reloc_generic* dyn_rel,
bool add_debug, bool dynrel_includes_plt);
- // If a treehash is necessary to compute the build ID, then queue
- // the necessary tasks and return a blocker that will unblock when
- // they finish. Otherwise return BUILD_ID_BLOCKER.
- Task_token*
- queue_build_id_tasks(Workqueue* workqueue, Task_token* build_id_blocker,
- Output_file* of);
-
// Compute and write out the build ID if needed.
void
- write_build_id(Output_file*) const;
+ write_build_id(Output_file*, unsigned char*, size_t) const;
// Rewrite output file in binary format.
void
@@ -1380,12 +1377,6 @@ class Layout
Gdb_index* gdb_index_data_;
// The space for the build ID checksum if there is one.
Output_section_data* build_id_note_;
- // Temporary storage for tree hash of build ID.
- unsigned char* array_of_hashes_;
- // Size of array_of_hashes_ (in bytes).
- size_t size_of_array_of_hashes_;
- // Input view for computing tree hash of build ID. Freed in write_build_id().
- const unsigned char* input_view_;
// The output section containing dwarf abbreviations
Output_reduced_debug_abbrev_section* debug_abbrev_;
// The output section containing the dwarf debug info tree
@@ -1602,14 +1593,40 @@ class Write_after_input_sections_task : public Task
Task_token* final_blocker_;
};
+// This task function handles computation of the build id.
+// When using --build-id=tree, it schedules the tasks that
+// compute the hashes for each chunk of the file. This task
+// cannot run until we have finalized the size of the output
+// file, after the completion of Write_after_input_sections_task.
+
+class Build_id_task_runner : public Task_function_runner
+{
+ public:
+ Build_id_task_runner(const General_options* options, const Layout* layout,
+ Output_file* of)
+ : options_(options), layout_(layout), of_(of)
+ { }
+
+ // Run the operation.
+ void
+ run(Workqueue*, const Task*);
+
+ private:
+ const General_options* options_;
+ const Layout* layout_;
+ Output_file* of_;
+};
+
// This task function handles closing the file.
class Close_task_runner : public Task_function_runner
{
public:
Close_task_runner(const General_options* options, const Layout* layout,
- Output_file* of)
- : options_(options), layout_(layout), of_(of)
+ Output_file* of, unsigned char* array_of_hashes,
+ size_t size_of_hashes)
+ : options_(options), layout_(layout), of_(of),
+ array_of_hashes_(array_of_hashes), size_of_hashes_(size_of_hashes)
{ }
// Run the operation.
@@ -1620,6 +1637,8 @@ class Close_task_runner : public Task_function_runner
const General_options* options_;
const Layout* layout_;
Output_file* of_;
+ unsigned char* const array_of_hashes_;
+ const size_t size_of_hashes_;
};
// A small helper function to align an address.
diff --git a/gold/merge.cc b/gold/merge.cc
index d3953125005..50d13aff3eb 100644
--- a/gold/merge.cc
+++ b/gold/merge.cc
@@ -49,13 +49,13 @@ const Object_merge_map::Input_merge_map*
Object_merge_map::get_input_merge_map(unsigned int shndx) const
{
gold_assert(shndx != -1U);
- if (shndx == this->first_shnum_)
- return &this->first_map_;
- if (shndx == this->second_shnum_)
- return &this->second_map_;
- Section_merge_maps::const_iterator p = this->section_merge_maps_.find(shndx);
- if (p != this->section_merge_maps_.end())
- return p->second;
+ const Section_merge_maps &maps = this->section_merge_maps_;
+ for (Section_merge_maps::const_iterator i = maps.begin(), e = maps.end();
+ i != e; ++i)
+ {
+ if (i->first == shndx)
+ return i->second;
+ }
return NULL;
}
@@ -73,23 +73,10 @@ Object_merge_map::get_or_make_input_merge_map(
return map;
}
- // We need to create a new entry.
- if (this->first_shnum_ == -1U)
- {
- this->first_shnum_ = shndx;
- this->first_map_.output_data = output_data;
- return &this->first_map_;
- }
- if (this->second_shnum_ == -1U)
- {
- this->second_shnum_ = shndx;
- this->second_map_.output_data = output_data;
- return &this->second_map_;
- }
-
Input_merge_map* new_map = new Input_merge_map;
new_map->output_data = output_data;
- this->section_merge_maps_[shndx] = new_map;
+ Section_merge_maps &maps = this->section_merge_maps_;
+ maps.push_back(std::make_pair(shndx, new_map));
return new_map;
}
diff --git a/gold/merge.h b/gold/merge.h
index 54caed8accf..53846ee76eb 100644
--- a/gold/merge.h
+++ b/gold/merge.h
@@ -42,9 +42,7 @@ class Object_merge_map
{
public:
Object_merge_map()
- : first_shnum_(-1U), first_map_(),
- second_shnum_(-1U), second_map_(),
- section_merge_maps_()
+ : section_merge_maps_()
{ }
~Object_merge_map();
@@ -152,7 +150,8 @@ class Object_merge_map
};
// Map input section indices to merge maps.
- typedef std::map<unsigned int, Input_merge_map*> Section_merge_maps;
+ typedef std::vector<std::pair<unsigned int, Input_merge_map*> >
+ Section_merge_maps;
// Return a pointer to the Input_merge_map to use for the input
// section SHNDX, or NULL.
@@ -165,15 +164,6 @@ class Object_merge_map
this)->get_input_merge_map(shndx));
}
- // Any given object file will normally only have a couple of input
- // sections with mergeable contents. So we keep the first two input
- // section numbers inline, and push any further ones into a map. A
- // value of -1U in first_shnum_ or second_shnum_ means that we don't
- // have a corresponding entry.
- unsigned int first_shnum_;
- Input_merge_map first_map_;
- unsigned int second_shnum_;
- Input_merge_map second_map_;
Section_merge_maps section_merge_maps_;
};
diff --git a/gold/nacl.h b/gold/nacl.h
index 5b6f5a4cfaa..950a0c6d7cf 100644
--- a/gold/nacl.h
+++ b/gold/nacl.h
@@ -60,7 +60,7 @@ class Sniff_file
{
public:
View(File_read& file, off_t file_offset, off_t data_size)
- : data_(file.get_view(0, file_offset, data_size, true, false))
+ : data_(file.get_view(file_offset, 0, data_size, true, false))
{ }
const unsigned char* data()
diff --git a/gold/object.cc b/gold/object.cc
index 7d377a3a8da..316f8d40aac 100644
--- a/gold/object.cc
+++ b/gold/object.cc
@@ -663,14 +663,12 @@ Sized_relobj_file<size, big_endian>::find_eh_frame(
// Return TRUE if this is a section whose contents will be needed in the
// Add_symbols task. This function is only called for sections that have
-// already passed the test in is_compressed_debug_section(), so we know
-// that the section name begins with ".zdebug".
+// already passed the test in is_compressed_debug_section() and the debug
+// section name prefix, ".debug"/".zdebug", has been skipped.
static bool
need_decompressed_section(const char* name)
{
- // Skip over the ".zdebug" and a quick check for the "_".
- name += 7;
if (*name++ != '_')
return false;
@@ -740,19 +738,12 @@ build_compressed_section_map(
continue;
}
- bool is_zcompressed = false;
- bool is_compressed =
- (shdr.get_sh_flags() & elfcpp::SHF_COMPRESSED) != 0;
- const char* name;
+ const char* name = names + shdr.get_sh_name();
+ bool is_compressed = ((shdr.get_sh_flags()
+ & elfcpp::SHF_COMPRESSED) != 0);
+ bool is_zcompressed = (!is_compressed
+ && is_compressed_debug_section(name));
- if (is_compressed)
- name = NULL;
- else
- {
- name = names + shdr.get_sh_name();
- if (is_compressed_debug_section(name))
- is_zcompressed = true;
- }
if (is_zcompressed || is_compressed)
{
section_size_type len;
@@ -760,9 +751,15 @@ build_compressed_section_map(
obj->section_contents(i, &len, false);
uint64_t uncompressed_size;
if (is_zcompressed)
- uncompressed_size = get_uncompressed_size(contents, len);
+ {
+ // Skip over the ".zdebug" prefix.
+ name += 7;
+ uncompressed_size = get_uncompressed_size(contents, len);
+ }
else
{
+ // Skip over the ".debug" prefix.
+ name += 6;
elfcpp::Chdr<size, big_endian> chdr(contents);
uncompressed_size = chdr.get_ch_size();
}
@@ -773,9 +770,7 @@ build_compressed_section_map(
if (uncompressed_size != -1ULL)
{
unsigned char* uncompressed_data = NULL;
- if (decompress_if_needed
- && (is_compressed
- || need_decompressed_section(name)))
+ if (decompress_if_needed && need_decompressed_section(name))
{
uncompressed_data = new unsigned char[uncompressed_size];
if (decompress_input_section(contents, len,
@@ -812,7 +807,7 @@ Sized_relobj_file<size, big_endian>::do_find_special_sections(
Compressed_section_map* compressed_sections =
build_compressed_section_map<size, big_endian>(
- pshdrs, this->shnum(), names, sd->section_names_size, this, true);
+ pshdrs, this->shnum(), names, sd->section_names_size, this, true);
if (compressed_sections != NULL)
this->set_compressed_sections(compressed_sections);
@@ -2195,6 +2190,7 @@ Sized_relobj_file<size, big_endian>::do_count_local_symbols(Stringpool* pool,
// Loop over the local symbols.
const Output_sections& out_sections(this->output_sections());
+ std::vector<Address>& out_section_offsets(this->section_offsets());
unsigned int shnum = this->shnum();
unsigned int count = 0;
unsigned int dyncount = 0;
@@ -2203,6 +2199,7 @@ Sized_relobj_file<size, big_endian>::do_count_local_symbols(Stringpool* pool,
bool strip_all = parameters->options().strip_all();
bool discard_all = parameters->options().discard_all();
bool discard_locals = parameters->options().discard_locals();
+ bool discard_sec_merge = parameters->options().discard_sec_merge();
for (unsigned int i = 1; i < loccount; ++i, psyms += sym_size)
{
elfcpp::Sym<size, big_endian> sym(psyms);
@@ -2267,6 +2264,7 @@ Sized_relobj_file<size, big_endian>::do_count_local_symbols(Stringpool* pool,
continue;
}
+ // By default, discard temporary local symbols in merge sections.
// If --discard-locals option is used, discard all temporary local
// symbols. These symbols start with system-specific local label
// prefixes, typically .L for ELF system. We want to be compatible
@@ -2279,7 +2277,10 @@ Sized_relobj_file<size, big_endian>::do_count_local_symbols(Stringpool* pool,
// - the symbol has a name.
//
// We do not discard a symbol if it needs a dynamic symbol entry.
- if (discard_locals
+ if ((discard_locals
+ || (discard_sec_merge
+ && is_ordinary
+ && out_section_offsets[shndx] == invalid_address))
&& sym.get_st_type() != elfcpp::STT_FILE
&& !lv.needs_output_dynsym_entry()
&& lv.may_be_discarded_from_output_symtab()
@@ -2911,13 +2912,12 @@ Object::decompressed_section_contents(
}
unsigned char* uncompressed_data = new unsigned char[uncompressed_size];
- Relobj *relobj = static_cast<Relobj*>(this);
if (!decompress_input_section(buffer,
buffer_size,
uncompressed_data,
uncompressed_size,
- relobj->elfsize(),
- relobj->is_big_endian(),
+ elfsize(),
+ is_big_endian(),
p->second.flag))
this->error(_("could not decompress section %s"),
this->do_section_name(shndx).c_str());
diff --git a/gold/object.h b/gold/object.h
index b30925deb54..e8f74ac9bcb 100644
--- a/gold/object.h
+++ b/gold/object.h
@@ -381,6 +381,12 @@ class Object
is_dynamic() const
{ return this->is_dynamic_; }
+ // Return the word size of the object file.
+ virtual int elfsize() const = 0;
+
+ // Return TRUE if this is a big-endian object file.
+ virtual bool is_big_endian() const = 0;
+
// Return whether this object is needed--true if it is a dynamic
// object which defines some symbol referenced by a regular object.
// We keep the flag here rather than in Dynobj for convenience when
diff --git a/gold/options.cc b/gold/options.cc
index 39dc3112437..c42623f0196 100644
--- a/gold/options.cc
+++ b/gold/options.cc
@@ -346,6 +346,27 @@ General_options::parse_defsym(const char*, const char* arg,
}
void
+General_options::parse_discard_all(const char*, const char*,
+ Command_line*)
+{
+ this->discard_locals_ = DISCARD_ALL;
+}
+
+void
+General_options::parse_discard_locals(const char*, const char*,
+ Command_line*)
+{
+ this->discard_locals_ = DISCARD_LOCALS;
+}
+
+void
+General_options::parse_discard_none(const char*, const char*,
+ Command_line*)
+{
+ this->discard_locals_ = DISCARD_NONE;
+}
+
+void
General_options::parse_incremental(const char*, const char*,
Command_line*)
{
@@ -927,7 +948,8 @@ General_options::General_options()
symbols_to_retain_(),
section_starts_(),
fix_v4bx_(FIX_V4BX_NONE),
- endianness_(ENDIANNESS_NOT_SET)
+ endianness_(ENDIANNESS_NOT_SET),
+ discard_locals_(DISCARD_SEC_MERGE)
{
// Turn off option registration once construction is complete.
gold::options::ready_to_register = false;
diff --git a/gold/options.h b/gold/options.h
index d2d1b4bd934..f4da1280a65 100644
--- a/gold/options.h
+++ b/gold/options.h
@@ -739,10 +739,12 @@ class General_options
N_("Look for violations of the C++ One Definition Rule"),
N_("Do not look for violations of the C++ One Definition Rule"));
- DEFINE_bool(discard_all, options::TWO_DASHES, 'x', false,
- N_("Delete all local symbols"), NULL);
- DEFINE_bool(discard_locals, options::TWO_DASHES, 'X', false,
- N_("Delete all temporary local symbols"), NULL);
+ DEFINE_special(discard_all, options::TWO_DASHES, 'x',
+ N_("Delete all local symbols"), NULL);
+ DEFINE_special(discard_locals, options::TWO_DASHES, 'X',
+ N_("Delete all temporary local symbols"), NULL);
+ DEFINE_special(discard_none, options::TWO_DASHES, '\0',
+ N_("Keep all local symbols"), NULL);
DEFINE_bool(dynamic_list_data, options::TWO_DASHES, '\0', false,
N_("Add data symbols to dynamic symbols"), NULL);
@@ -803,9 +805,12 @@ class General_options
N_("(ARM only) Do not fix binaries for Cortex-A8 erratum."));
DEFINE_bool(fix_cortex_a53_843419, options::TWO_DASHES, '\0', false,
- N_("(AArch64 only) Scan binaries for Cortex-A53 errata 843419."),
- N_("(AArch64 only) Do not scan binaries for Cortex-A53 "
- "errata 843419."));
+ N_("(AArch64 only) Fix Cortex-A53 erratum 843419."),
+ N_("(AArch64 only) Do not fix Cortex-A53 erratum 843419."));
+
+ DEFINE_bool(fix_cortex_a53_835769, options::TWO_DASHES, '\0', false,
+ N_("(AArch64 only) Fix Cortex-A53 erratum 835769."),
+ N_("(AArch64 only) Do not fix Cortex-A53 erratum 835769."));
DEFINE_bool(fix_arm1176, options::TWO_DASHES, '\0', true,
N_("(ARM only) Fix binaries for ARM1176 erratum."),
@@ -1526,11 +1531,36 @@ class General_options
endianness() const
{ return this->endianness_; }
+ bool
+ discard_all() const
+ { return this->discard_locals_ == DISCARD_ALL; }
+
+ bool
+ discard_locals() const
+ { return this->discard_locals_ == DISCARD_LOCALS; }
+
+ bool
+ discard_sec_merge() const
+ { return this->discard_locals_ == DISCARD_SEC_MERGE; }
+
private:
// Don't copy this structure.
General_options(const General_options&);
General_options& operator=(const General_options&);
+ // What local symbols to discard.
+ enum Discard_locals
+ {
+ // Locals in merge sections (default).
+ DISCARD_SEC_MERGE,
+ // None (--discard-none).
+ DISCARD_NONE,
+ // Temporary locals (--discard-locals/-X).
+ DISCARD_LOCALS,
+ // All locals (--discard-all/-x).
+ DISCARD_ALL
+ };
+
// Whether to mark the stack as executable.
enum Execstack
{
@@ -1626,6 +1656,8 @@ class General_options
Fix_v4bx fix_v4bx_;
// Endianness.
Endianness endianness_;
+ // What local symbols to discard.
+ Discard_locals discard_locals_;
};
// The position-dependent options. We use this to store the state of
diff --git a/gold/plugin.h b/gold/plugin.h
index f926879897a..3e094d7591f 100644
--- a/gold/plugin.h
+++ b/gold/plugin.h
@@ -433,6 +433,16 @@ class Pluginobj : public Object
filesize()
{ return this->filesize_; }
+ // Return the word size of the object file.
+ int
+ elfsize() const
+ { gold_unreachable(); }
+
+ // Return TRUE if this is a big-endian object file.
+ bool
+ is_big_endian() const
+ { gold_unreachable(); }
+
protected:
// Return TRUE if this is an object claimed by a plugin.
virtual Pluginobj*
diff --git a/gold/po/fr.po b/gold/po/fr.po
new file mode 100644
index 00000000000..a75b5d679a5
--- /dev/null
+++ b/gold/po/fr.po
@@ -0,0 +1,3406 @@
+# Gold french translation
+# Copyright © 2015 Free Software Foundation, Inc.
+# This file is distributed under the same license as the binutils package.
+#
+# Grégoire Scano <gregoire.scano@malloc.fr>, 2015.
+#
+# stub => espace d'amorçage
+# patch space => espace de retouche
+# relocation => relocalisation
+msgid ""
+msgstr ""
+"Project-Id-Version: gold 2.24.90\n"
+"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
+"POT-Creation-Date: 2014-02-10 09:42+1030\n"
+"PO-Revision-Date: 2015-05-20 20:06+0200\n"
+"Last-Translator: Grégoire Scano <gregoire.scano@malloc.fr>\n"
+"Language-Team: French <traduc@traduc.org>\n"
+"Language: fr\n"
+"MIME-Version: 1.0\n"
+"Content-Type: text/plain; charset=utf-8\n"
+"Content-Transfer-Encoding: 8bit\n"
+
+#: archive.cc:135
+#, c-format
+msgid "script or expression reference to %s"
+msgstr "référence de script ou d'expression à %s"
+
+#: archive.cc:229
+#, c-format
+msgid "%s: no archive symbol table (run ranlib)"
+msgstr "%s : pas de table de symboles dans l'archive (exécuter ranlib)"
+
+#: archive.cc:317
+#, c-format
+msgid "%s: bad archive symbol table names"
+msgstr "%s : mauvais noms pour la table de symboles de l'archive"
+
+#: archive.cc:349
+#, c-format
+msgid "%s: malformed archive header at %zu"
+msgstr "%s : mauvais en-tête d'archive à la position %zu"
+
+#: archive.cc:369
+#, c-format
+msgid "%s: malformed archive header size at %zu"
+msgstr "%s : la taille de l'en-tête de l'archive n'est pas correcte à la position %zu"
+
+#: archive.cc:380
+#, c-format
+msgid "%s: malformed archive header name at %zu"
+msgstr "%s : le nom de l'en-tête de l'archive n'est pas correct à la position %zu"
+
+#: archive.cc:411
+#, c-format
+msgid "%s: bad extended name index at %zu"
+msgstr "%s : index de nom étendu incorrect à la position %zu"
+
+#: archive.cc:421
+#, c-format
+msgid "%s: bad extended name entry at header %zu"
+msgstr "%s : nom d'entrée étendu incorrect dans l'en-tête %zu"
+
+#: archive.cc:518
+#, c-format
+msgid "%s: short archive header at %zu"
+msgstr "%s : en-tête d'archive trop court à la position %zu"
+
+#: archive.cc:702
+#, c-format
+msgid "%s: member at %zu is not an ELF object"
+msgstr "%s : le membre à la position %zu n'est pas un objet ELF"
+
+#: archive.cc:1043
+#, c-format
+msgid "%s: archive libraries: %u\n"
+msgstr "%s : nombre de bibliothèques dans l'archive : %u\n"
+
+#: archive.cc:1045
+#, c-format
+msgid "%s: total archive members: %u\n"
+msgstr "%s : nombre total de membres dans l'archive : %u\n"
+
+#: archive.cc:1047
+#, c-format
+msgid "%s: loaded archive members: %u\n"
+msgstr "%s : nombre de membres de l'archive chargés : %u\n"
+
+#: archive.cc:1277
+#, c-format
+msgid "%s: lib groups: %u\n"
+msgstr "%s : groupes de la bibliothèque : %u\n"
+
+#: archive.cc:1279
+#, c-format
+msgid "%s: total lib groups members: %u\n"
+msgstr "%s : nombre total de membres de groupes de la bibliothèque : %u\n"
+
+#: archive.cc:1281
+#, c-format
+msgid "%s: loaded lib groups members: %u\n"
+msgstr "%s : nombre de membres de groupes de la bibliothèque chargés : %u\n"
+
+#: arm-reloc-property.cc:303
+#, c-format
+msgid "invalid reloc %u"
+msgstr "relocalisation %u invalide"
+
+#: arm-reloc-property.cc:316
+msgid "reloc "
+msgstr "relocalisation "
+
+#: arm-reloc-property.cc:316
+msgid "unimplemented reloc "
+msgstr "relocalisation non implémentée "
+
+#: arm-reloc-property.cc:319
+msgid "dynamic reloc "
+msgstr "relocalisation dynamique "
+
+#: arm-reloc-property.cc:322
+msgid "private reloc "
+msgstr "relocalisation privée "
+
+#: arm-reloc-property.cc:325
+msgid "obsolete reloc "
+msgstr "relocalisation obsolète"
+
+#: arm.cc:1074
+msgid "** ARM cantunwind"
+msgstr "** ARM cantunwind"
+
+#: arm.cc:4037
+#, c-format
+msgid "%s: Thumb BLX instruction targets thumb function '%s'."
+msgstr "%s : l'instruction Thumb BLX cible la fonction thumb « %s »."
+
+#: arm.cc:4183
+msgid "conditional branch to PLT in THUMB-2 not supported yet."
+msgstr "branche conditionnelle vers PLT dans THUMB-2 non prise en charge pour le moment."
+
+#: arm.cc:5263
+msgid "PREL31 overflow in EXIDX_CANTUNWIND entry"
+msgstr "débordement PREL31 dans l'entrée EXIDX_CANTUNWIND"
+
+#. Something is wrong with this section. Better not touch it.
+#: arm.cc:5509
+#, c-format
+msgid "uneven .ARM.exidx section size in %s section %u"
+msgstr "la taille de la section .ARM.exidx dans la %s section %u est impaire"
+
+#: arm.cc:5835
+msgid "Found non-EXIDX input sections in EXIDX output section"
+msgstr "A trouvé des sections d'entrée non EXIDX dans une section de sortie EXIDX"
+
+#: arm.cc:5889 arm.cc:5893
+#, c-format
+msgid "unwinding may not work because EXIDX input section %u of %s is not in EXIDX output section"
+msgstr "l'exécution de l'épilogue peut ne pas fonctionner parce que la section d'entrée EXIDX %u de %s n'est pas dans ma section de sortie EXIDX"
+
+#: arm.cc:6179
+#, c-format
+msgid "cannot scan executable section %u of %s for Cortex-A8 erratum because it has no mapping symbols."
+msgstr "impossible de balayer la section exécutable %u de %s pour l'erratum du Cortex-A8 parce qu'elle n'a pas de symboles associés"
+
+#: arm.cc:6381 object.cc:818
+#, c-format
+msgid "invalid symbol table name index: %u"
+msgstr "index de nom de table de symboles invalide : %u"
+
+#: arm.cc:6389 object.cc:824
+#, c-format
+msgid "symbol table name section has wrong type: %u"
+msgstr "la section de nom de table de symboles a un type incorrect : %u"
+
+#: arm.cc:6639
+#, c-format
+msgid "EXIDX section %s(%u) links to invalid section %u in %s"
+msgstr "la section EXIDX %s (%u) a un lien vers la section %u dans %s"
+
+#: arm.cc:6648
+#, c-format
+msgid "EXIDX sections %s(%u) and %s(%u) both link to text section%s(%u) in %s"
+msgstr "les sections EXIDX %s (%u) et %s (%u) ont toutes deux un lien vers la section de texte %s (%u) dans %s"
+
+#: arm.cc:6662
+#, c-format
+msgid "EXIDX section %s(%u) links to non-allocated section %s(%u) in %s"
+msgstr "la section EXIDX %s (%u) a un lien vers la section non allouée %s (%u) dans %s"
+
+#. I would like to make this an error but currently ld just ignores
+#. this.
+#: arm.cc:6672
+#, c-format
+msgid "EXIDX section %s(%u) links to non-executable section %s(%u) in %s"
+msgstr "la section EXIDX %s (%u) a un lien vers la section non exécutable %s (%u) dans %s"
+
+#: arm.cc:6756
+#, c-format
+msgid "SHF_LINK_ORDER not set in EXIDX section %s of %s"
+msgstr "SHF_LINK_ORDER n'est pas initialisé dans la section EXIDX %s de %s"
+
+#: arm.cc:6789
+#, c-format
+msgid "relocation section %u has invalid info %u"
+msgstr "la section de relocalisation %u a une information %u incorrecte"
+
+#: arm.cc:6795
+#, c-format
+msgid "section %u has multiple relocation sections %u and %u"
+msgstr "la section %u a de multiples sections de relocalisations %u et %u"
+
+#: arm.cc:7155
+#, c-format
+msgid "undefined or discarded local symbol %u from object %s in GOT"
+msgstr "symbole local %u de l'objet %s dans GOT non définit ou écarté"
+
+#: arm.cc:7177
+#, c-format
+msgid "undefined or discarded symbol %s in GOT"
+msgstr "symbole %s dans GOT non définit ou écarté"
+
+#: arm.cc:7293 i386.cc:168 sparc.cc:1349 tilegx.cc:182 x86_64.cc:257
+msgid "** PLT"
+msgstr "** PLT"
+
+#: arm.cc:7800 i386.cc:1685 powerpc.cc:5111 sparc.cc:2117 tilegx.cc:3123
+#: tilegx.cc:3575 x86_64.cc:2169 x86_64.cc:2598
+#, c-format
+msgid "%s: unsupported reloc %u against local symbol"
+msgstr "%s : la relocalisation %u vis à vis du symbole local n'est pas prise en charge"
+
+#: arm.cc:7844
+#, c-format
+msgid "requires unsupported dynamic reloc %s; recompile with -fPIC"
+msgstr "nécessite une relocalisation dynamique %s non prise en charge ; recompiler avec -fPIC"
+
+#: arm.cc:7935 i386.cc:1775 x86_64.cc:2377
+#, c-format
+msgid "section symbol %u has bad shndx %u"
+msgstr "le symbole de section %u a un mauvais shndx %u"
+
+#. These are relocations which should only be seen by the
+#. dynamic linker, and should never be seen here.
+#: arm.cc:8044 arm.cc:8477 i386.cc:1844 i386.cc:2293 sparc.cc:2532
+#: sparc.cc:3009 tilegx.cc:3570 tilegx.cc:4123 x86_64.cc:2470 x86_64.cc:2931
+#, c-format
+msgid "%s: unexpected reloc %u in object file"
+msgstr "%s : relocalisation %u inattendue dans le fichier objet"
+
+#: arm.cc:8076 i386.cc:1878 sparc.cc:2431 tilegx.cc:3474 x86_64.cc:2502
+#, c-format
+msgid "local symbol %u has bad shndx %u"
+msgstr "le symbole local %u a un mauvais shndx %u"
+
+#: arm.cc:8177 i386.cc:2021 powerpc.cc:5655 sparc.cc:2551 tilegx.cc:3591
+#: tilegx.cc:4128 x86_64.cc:2614 x86_64.cc:3053
+#, c-format
+msgid "%s: unsupported reloc %u against global symbol %s"
+msgstr "%s : la relocalisation %u vis à vis du symbole global %s n'est pas prise en charge"
+
+#: arm.cc:8635 i386.cc:2503
+#, c-format
+msgid "%s: unsupported RELA reloc section"
+msgstr "%s : section de relocalisation RELA non prise en charge"
+
+#: arm.cc:8725
+msgid "unable to provide V4BX reloc interworking fix up; the target profile does not support BX instruction"
+msgstr "impossible de fournir une correction de relocalisation V4BX interopérable ; le profil de la cible ne prend pas en charge l'instruction BX"
+
+#: arm.cc:8859
+#, c-format
+msgid "cannot relocate %s in object file"
+msgstr "impossible de relocaliser %s dans le fichier objet"
+
+#: arm.cc:9333 arm.cc:9914
+#, c-format
+msgid "relocation overflow in %s"
+msgstr "débordement de relocalisation dans %s"
+
+#: arm.cc:9341 arm.cc:9919
+#, c-format
+msgid "unexpected opcode while processing relocation %s"
+msgstr "code-opération (opcode) non attendu lors du traitement de la relocalisation %s"
+
+#: arm.cc:9485 i386.cc:2841 i386.cc:2923 i386.cc:2994 i386.cc:3030
+#: i386.cc:3102 powerpc.cc:7562 sparc.cc:3589 sparc.cc:3780 sparc.cc:3841
+#: sparc.cc:3948 tilegx.cc:4712 x86_64.cc:3486 x86_64.cc:3586 x86_64.cc:3664
+#: x86_64.cc:3698
+#, c-format
+msgid "unsupported reloc %u"
+msgstr "la relocalisation %u n'est pas prise en charge"
+
+#: arm.cc:9564
+#, c-format
+msgid "%s: unexpected %s in object file"
+msgstr "%s : %s inattendu dans le fichier objet"
+
+#: arm.cc:9899
+#, c-format
+msgid "cannot handle %s in a relocatable link"
+msgstr "impossible de traiter %s dans un lien relocalisable"
+
+#: arm.cc:10003
+#, c-format
+msgid "Source object %s has EABI version %d but output has EABI version %d."
+msgstr "L'object source %s a une version EABI %d alors que la sortie a une version EABI %d."
+
+#: arm.cc:10100 powerpc.cc:2077 target.cc:94
+#, c-format
+msgid "%s: unsupported ELF file type %d"
+msgstr "%s : type de fichier ELF %d non pris en charge"
+
+#: arm.cc:10296
+#, c-format
+msgid "%s: unknown CPU architecture"
+msgstr "%s : architecture de processeur inconnue"
+
+#: arm.cc:10333
+#, c-format
+msgid "%s: conflicting CPU architectures %d/%d"
+msgstr "%s : architectures de processeur %d/%d conflictuelles"
+
+#: arm.cc:10471
+#, c-format
+msgid "%s has both the current and legacy Tag_MPextension_use attributes"
+msgstr "%s possède à la fois les attributs Tag_MPextension_use modernes et hérités"
+
+#: arm.cc:10499
+#, c-format
+msgid "%s uses VFP register arguments, output does not"
+msgstr "%s utilise les arguments de registre VFP, ce qui n'est pas le cas de la sortie"
+
+#: arm.cc:10645
+#, c-format
+msgid "conflicting architecture profiles %c/%c"
+msgstr "profils d'architecture %c/%c conflictuels"
+
+#. It's sometimes ok to mix different configs, so this is only
+#. a warning.
+#: arm.cc:10703
+#, c-format
+msgid "%s: conflicting platform configuration"
+msgstr "%s : configuration de plate-forme conflictuelle"
+
+#: arm.cc:10712
+#, c-format
+msgid "%s: conflicting use of R9"
+msgstr "%s : utilisation conflictuelle de R9"
+
+#: arm.cc:10725
+#, c-format
+msgid "%s: SB relative addressing conflicts with use of R9"
+msgstr "%s : l'adressage relatif SB est conflictuel avec l'utilisation de R9"
+
+#: arm.cc:10740
+#, c-format
+msgid "%s uses %u-byte wchar_t yet the output is to use %u-byte wchar_t; use of wchar_t values across objects may fail"
+msgstr "%s utilise des wchar_t de %u octets alors que la sortie doit utiliser des wchar_t de %u octets ; l'utilisation de valeurs whcar_t entre des objets peut échouer"
+
+#: arm.cc:10766
+#, c-format
+msgid "%s uses %s enums yet the output is to use %s enums; use of enum values across objects may fail"
+msgstr "%s utilise %s énumérations alors que la sortie doit utiliser %s énumérations ; l'utilisation de valeurs d'énumération peut échouer au travers des différents objets"
+
+#: arm.cc:10782
+#, c-format
+msgid "%s uses iWMMXt register arguments, output does not"
+msgstr "%s utilise les arguments de registre iWMMXt, ce qui n'est pas le cas de la sortie"
+
+#: arm.cc:10803
+#, c-format
+msgid "fp16 format mismatch between %s and output"
+msgstr "le format fp16 diffère entre %s et la sortie"
+
+#: arm.cc:10849
+#, c-format
+msgid "%s has has both the current and legacy Tag_MPextension_use attributes"
+msgstr "%s a à la fois des attributs Tag_MPextension_use modernes et hérités"
+
+#: arm.cc:10895 arm.cc:10988
+#, c-format
+msgid "%s: unknown mandatory EABI object attribute %d"
+msgstr "%s : attribut obligatoire d'objet EABI %d inconnu"
+
+#: arm.cc:10899 arm.cc:10993
+#, c-format
+msgid "%s: unknown EABI object attribute %d"
+msgstr "%s : attribut d'objet EABI %d inconnu"
+
+#: arm.cc:11345
+#, c-format
+msgid "cannot handle branch to local %u in a merged section %s"
+msgstr "impossible de gérer une branche vers %u local dans une section fusionnée %s"
+
+#: arm.cc:11425 target-reloc.h:390
+msgid "relocation refers to discarded section"
+msgstr "la relocalisation fait référence à une section écartée"
+
+#. We cannot handle this now.
+#: arm.cc:11589
+#, c-format
+msgid "multiple SHT_ARM_EXIDX sections %s and %s in a non-relocatable link"
+msgstr "multiples sections SHT_ARM_EXIDX %s et %s dans un lien non relocalisable"
+
+#: attributes.cc:410
+#, c-format
+msgid "%s: must be processed by '%s' toolchain"
+msgstr "%s : doit être traité par la chaîne de compilation « %s »"
+
+#: attributes.cc:418
+#, c-format
+msgid "%s: object tag '%d, %s' is incompatible with tag '%d, %s'"
+msgstr "%s : l'étiquette d'objet « %d, %s » n'est pas compatible avec l'étiquette « %d, %s »"
+
+#: binary.cc:129
+#, c-format
+msgid "cannot open %s: %s:"
+msgstr "impossible d'ouvrir %s : %s :"
+
+#: common.cc:352 output.cc:2432 output.cc:2531
+#, c-format
+msgid "out of patch space in section %s; relink with --incremental-full"
+msgstr "à court d'espace de retouche dans la section %s ; rééditer les liens avec --incremental-full"
+
+#: compressed_output.cc:225
+msgid "not compressing section data: zlib error"
+msgstr "impossible de compresser les données de section : erreur de zlib"
+
+#: cref.cc:384
+#, c-format
+msgid "cannot open symbol count file %s: %s"
+msgstr "impossible d'ouvrir le fichier de comptage des symboles %s : %s"
+
+#: cref.cc:398
+#, c-format
+msgid ""
+"\n"
+"Cross Reference Table\n"
+"\n"
+msgstr ""
+"\n"
+"Table des Références Croisées\n"
+"\n"
+
+#: cref.cc:399
+msgid "Symbol"
+msgstr "Symbole"
+
+#: cref.cc:401
+msgid "File"
+msgstr "Fichier"
+
+#: descriptors.cc:125
+#, c-format
+msgid "file %s was removed during the link"
+msgstr "le fichier %s a été supprimé lors de l'édition de liens"
+
+#: descriptors.cc:177
+msgid "out of file descriptors and couldn't close any"
+msgstr "les descripteurs de fichier sont épuisés et aucun fichier ne peut être fermé"
+
+#: descriptors.cc:198 descriptors.cc:234 descriptors.cc:267
+#, c-format
+msgid "while closing %s: %s"
+msgstr "lors de la fermeture de %s : %s"
+
+#: dirsearch.cc:73
+#, c-format
+msgid "%s: can not read directory: %s"
+msgstr "%s : impossible de lire le dossier : %s"
+
+#: dwarf_reader.cc:454
+#, c-format
+msgid "%s: DWARF info may be corrupt; offsets in a range list entry are in different sections"
+msgstr "%s : les informations DWARF sont peut-être corrompues ; les décalages dans une entrée de liste d'intervalles sont dans des sections différentes"
+
+#: dwarf_reader.cc:1513
+#, c-format
+msgid "%s: corrupt debug info in %s"
+msgstr "%s : renseignements de débogage corrompus dans %s"
+
+#: dynobj.cc:176
+#, c-format
+msgid "unexpected duplicate type %u section: %u, %u"
+msgstr "duplication du type %u de section non attendu : %u, %u"
+
+#: dynobj.cc:231
+#, c-format
+msgid "unexpected link in section %u header: %u != %u"
+msgstr "lien non attendu dans l'en-tête %u de section : %u != %u"
+
+#: dynobj.cc:267
+#, c-format
+msgid "DYNAMIC section %u link out of range: %u"
+msgstr "le lien de section DYNAMIQUE %u est hors limite : %u"
+
+#: dynobj.cc:275
+#, c-format
+msgid "DYNAMIC section %u link %u is not a strtab"
+msgstr "le lien de la section %u DYNAMIQUE %u n'est pas un strtab"
+
+#: dynobj.cc:304
+#, c-format
+msgid "DT_SONAME value out of range: %lld >= %lld"
+msgstr "valeur de DT_SONAME hors limite : %lld >= %lld"
+
+#: dynobj.cc:316
+#, c-format
+msgid "DT_NEEDED value out of range: %lld >= %lld"
+msgstr "valeur de DT_NEEDED hors limite : %lld >= %lld"
+
+#: dynobj.cc:329
+msgid "missing DT_NULL in dynamic segment"
+msgstr "DT_NULL absent du segment dynamique"
+
+#: dynobj.cc:382
+#, c-format
+msgid "invalid dynamic symbol table name index: %u"
+msgstr "l'index du nom de la table des symboles dynamiques est incorrect : %u"
+
+#: dynobj.cc:389
+#, c-format
+msgid "dynamic symbol table name section has wrong type: %u"
+msgstr "le type de la section de nom de table des symboles dynamiques est incorrect : %u"
+
+#: dynobj.cc:476 object.cc:690 object.cc:1453
+#, c-format
+msgid "bad section name offset for section %u: %lu"
+msgstr "l'offset du nom de section pour la section %u est incorrect : %lu"
+
+#: dynobj.cc:506
+#, c-format
+msgid "duplicate definition for version %u"
+msgstr "définition redondante pour la version %u"
+
+#: dynobj.cc:535
+#, c-format
+msgid "unexpected verdef version %u"
+msgstr "version verdef %u inattendue"
+
+#: dynobj.cc:551
+#, c-format
+msgid "verdef vd_cnt field too small: %u"
+msgstr "champ vd_cnt de verdef trop petit : %u"
+
+#: dynobj.cc:559
+#, c-format
+msgid "verdef vd_aux field out of range: %u"
+msgstr "champ vd_aux de verdef hors limite : %u"
+
+#: dynobj.cc:570
+#, c-format
+msgid "verdaux vda_name field out of range: %u"
+msgstr "champ vda_name de verdaux hors limite : %u"
+
+#: dynobj.cc:580
+#, c-format
+msgid "verdef vd_next field out of range: %u"
+msgstr "champ vd_next de verdef hors limite : %u"
+
+#: dynobj.cc:614
+#, c-format
+msgid "unexpected verneed version %u"
+msgstr "version %u de verneed non attendue"
+
+#: dynobj.cc:623
+#, c-format
+msgid "verneed vn_aux field out of range: %u"
+msgstr "champ vn_aux de verneed hors limite : %u"
+
+#: dynobj.cc:637
+#, c-format
+msgid "vernaux vna_name field out of range: %u"
+msgstr "champ vna_name de vernaux hors limite : %u"
+
+#: dynobj.cc:648
+#, c-format
+msgid "verneed vna_next field out of range: %u"
+msgstr "champ vna_next de verneed hors limite : %u"
+
+#: dynobj.cc:659
+#, c-format
+msgid "verneed vn_next field out of range: %u"
+msgstr "champ vn_next de verneed hors limite : %u"
+
+#: dynobj.cc:708
+msgid "size of dynamic symbols is not multiple of symbol size"
+msgstr "la taille des symboles dynamiques n'est pas un multiple de la taille des symboles"
+
+#: dynobj.cc:1524
+#, c-format
+msgid "symbol %s has undefined version %s"
+msgstr "le symbole %s a une version %s indéfinie"
+
+#: ehframe.cc:381
+msgid "overflow in PLT unwind data; unwinding through PLT may fail"
+msgstr "débordement dans les données d'épilogue PLT ; l'exécution de l'épilogue à travers PLT peut échouer"
+
+#: ehframe.h:78
+msgid "** eh_frame_hdr"
+msgstr "** eh_frame_hdr"
+
+#: ehframe.h:419
+msgid "** eh_frame"
+msgstr "** eh_frame"
+
+#: errors.cc:81 errors.cc:92
+#, c-format
+msgid "%s: fatal error: "
+msgstr "%s : erreur fatale : "
+
+#: errors.cc:103 errors.cc:139
+#, c-format
+msgid "%s: error: "
+msgstr "%s : erreur : "
+
+#: errors.cc:115 errors.cc:155
+#, c-format
+msgid "%s: warning: "
+msgstr "%s : avertissement : "
+
+#: errors.cc:179
+msgid "warning"
+msgstr "avertissement"
+
+#: errors.cc:184
+msgid "error"
+msgstr "erreur"
+
+#: errors.cc:190
+#, c-format
+msgid "%s: %s: undefined reference to '%s'\n"
+msgstr "%s : %s : référence à « %s » non définie\n"
+
+#: errors.cc:194
+#, c-format
+msgid "%s: %s: undefined reference to '%s', version '%s'\n"
+msgstr "%s : %s : référence à « %s » non définie, version « %s »\n"
+
+#: errors.cc:198
+#, c-format
+msgid "%s: the vtable symbol may be undefined because the class is missing its key function"
+msgstr "%s : le symbole de la vtable peut être indéfini parce qu'il manque la fonction clé de la classe"
+
+#: errors.cc:208
+#, c-format
+msgid "%s: "
+msgstr "%s : "
+
+#: expression.cc:192
+#, c-format
+msgid "undefined symbol '%s' referenced in expression"
+msgstr "référence au symbole non défini « %s » dans l'expression"
+
+#: expression.cc:230
+msgid "invalid reference to dot symbol outside of SECTIONS clause"
+msgstr "référence invalide au symbole point en dehors de la clause SECTIONS"
+
+#. Handle unary operators. We use a preprocessor macro as a hack to
+#. capture the C operator.
+#: expression.cc:302
+msgid "unary "
+msgstr "unaire "
+
+#. Handle binary operators. We use a preprocessor macro as a hack to
+#. capture the C operator. KEEP_LEFT means that if the left operand
+#. is section relative and the right operand is not, the result uses
+#. the same section as the left operand. KEEP_RIGHT is the same with
+#. left and right swapped. IS_DIV means that we need to give an error
+#. if the right operand is zero. WARN means that we should warn if
+#. used on section relative values in a relocatable link. We always
+#. warn if used on values in different sections in a relocatable link.
+#: expression.cc:446
+msgid "binary "
+msgstr "binaire "
+
+#: expression.cc:450
+msgid " by zero"
+msgstr " par zéro"
+
+#: expression.cc:636
+msgid "max applied to section relative value"
+msgstr "maximum appliqué aux valeurs relatives de section"
+
+#: expression.cc:687
+msgid "min applied to section relative value"
+msgstr "minimum appliqué aux valeurs relatives de section"
+
+#: expression.cc:828
+msgid "aligning to section relative value"
+msgstr "alignement sur les valeurs relatives de section"
+
+#: expression.cc:993
+#, c-format
+msgid "unknown constant %s"
+msgstr "constante %s inconnue"
+
+#: fileread.cc:141
+#, c-format
+msgid "munmap failed: %s"
+msgstr "échec de munmap : %s"
+
+#: fileread.cc:209
+#, c-format
+msgid "%s: fstat failed: %s"
+msgstr "%s : échec de fstat() : %s"
+
+#: fileread.cc:250
+#, c-format
+msgid "could not reopen file %s"
+msgstr "impossible de rouvrir le fichier %s"
+
+#: fileread.cc:401
+#, c-format
+msgid "%s: pread failed: %s"
+msgstr "%s : échec de pread() : %s"
+
+#: fileread.cc:415
+#, c-format
+msgid "%s: file too short: read only %lld of %lld bytes at %lld"
+msgstr "%s : fichier trop court : seulement %lld octets lus sur %lld à la position %lld"
+
+#: fileread.cc:538
+#, c-format
+msgid "%s: attempt to map %lld bytes at offset %lld exceeds size of file; the file may be corrupt"
+msgstr "%s : taille du fichier dépassée lors de la tentative de mappage (map) de %lld octets à la position (offset) %lld ; le fichier est peut être corrompu"
+
+#: fileread.cc:678
+#, c-format
+msgid "%s: lseek failed: %s"
+msgstr "%s : échec de lseek() : %s"
+
+#: fileread.cc:684
+#, c-format
+msgid "%s: readv failed: %s"
+msgstr "%s : échec de readv() : %s"
+
+#: fileread.cc:687
+#, c-format
+msgid "%s: file too short: read only %zd of %zd bytes at %lld"
+msgstr "%s : fichier trop court : seulement %zd octets sur %zd lus à la position %lld"
+
+#: fileread.cc:854
+#, c-format
+msgid "%s: total bytes mapped for read: %llu\n"
+msgstr "%s : nombre d'octets mappés par read() : %llu\n"
+
+#: fileread.cc:856
+#, c-format
+msgid "%s: maximum bytes mapped for read at one time: %llu\n"
+msgstr "%s : nombre maximum d'octets mappés par read() pour une lecture seule : %llu\n"
+
+#: fileread.cc:949
+#, c-format
+msgid "%s: stat failed: %s"
+msgstr "%s : échec de stat() : %s"
+
+#: fileread.cc:1046
+#, c-format
+msgid "cannot find %s%s"
+msgstr "%s%s introuvable"
+
+#: fileread.cc:1071
+#, c-format
+msgid "cannot find %s"
+msgstr "%s introuvable"
+
+#: fileread.cc:1110
+#, c-format
+msgid "cannot open %s: %s"
+msgstr "impossible d'ouvrir %s : %s"
+
+#: gdb-index.cc:369
+#, c-format
+msgid "%s: --gdb-index currently supports only C and C++ languages"
+msgstr "%s : --gdb-index ne prend en charge que les langages C et C++ pour le moment"
+
+#. The top level DIE should be one of the above.
+#: gdb-index.cc:390
+#, c-format
+msgid "%s: top level DIE is not DW_TAG_compile_unit or DW_TAG_type_unit"
+msgstr "%s : le DIE du plus haut niveau n'est pas DW_TAG_compile_unit ou DW_TAG_type_unit"
+
+#: gdb-index.cc:844
+#, c-format
+msgid "%s: DWARF info may be corrupt; low_pc and high_pc are in different sections"
+msgstr "%s : les informations DWARF peuvent être corrompues ; low_pc et high_pc sont dans des sections différentes"
+
+#: gdb-index.cc:970
+#, c-format
+msgid "%s: DWARF CUs: %u\n"
+msgstr "%s : unités de compilation (CUs) DWARF : %u\n"
+
+#: gdb-index.cc:972
+#, c-format
+msgid "%s: DWARF CUs without pubnames/pubtypes: %u\n"
+msgstr "%s : unités de compilation (CUs) DWARF sans pubnames/pubtypes : %u\n"
+
+#: gdb-index.cc:974
+#, c-format
+msgid "%s: DWARF TUs: %u\n"
+msgstr "%s : unités de type (TUs) DWARF : %u\n"
+
+#: gdb-index.cc:976
+#, c-format
+msgid "%s: DWARF TUs without pubnames/pubtypes: %u\n"
+msgstr "%s : unités de type (TUs) DWARF sans pubnames/pubtypes : %u\n"
+
+#: gdb-index.h:149
+msgid "** gdb_index"
+msgstr "** gdb_index"
+
+#: gold-threads.cc:103
+#, c-format
+msgid "pthead_mutextattr_init failed: %s"
+msgstr "échec de pthread_mutexattr_init() : %s"
+
+#: gold-threads.cc:107
+#, c-format
+msgid "pthread_mutextattr_settype failed: %s"
+msgstr "échec de pthread_mutexattr_settype() : %s"
+
+#: gold-threads.cc:112
+#, c-format
+msgid "pthread_mutex_init failed: %s"
+msgstr "échec de pthread_mutex_init() : %s"
+
+#: gold-threads.cc:116
+#, c-format
+msgid "pthread_mutexattr_destroy failed: %s"
+msgstr "échec de pthread_mutexattr_destroy() : %s"
+
+#: gold-threads.cc:123
+#, c-format
+msgid "pthread_mutex_destroy failed: %s"
+msgstr "échec de pthread_mutex_destroy() : %s"
+
+#: gold-threads.cc:131 gold-threads.cc:396
+#, c-format
+msgid "pthread_mutex_lock failed: %s"
+msgstr "échec de pthread_mutex_lock() : %s"
+
+#: gold-threads.cc:139 gold-threads.cc:410
+#, c-format
+msgid "pthread_mutex_unlock failed: %s"
+msgstr "échec de pthread_mutex_unlock() : %s"
+
+#: gold-threads.cc:220
+#, c-format
+msgid "pthread_cond_init failed: %s"
+msgstr "échec de pthread_cond_init() : %s"
+
+#: gold-threads.cc:227
+#, c-format
+msgid "pthread_cond_destroy failed: %s"
+msgstr "échec de pthread_cond_destroy() : %s"
+
+#: gold-threads.cc:236
+#, c-format
+msgid "pthread_cond_wait failed: %s"
+msgstr "échec de pthread_cond_wait() : %s"
+
+#: gold-threads.cc:244
+#, c-format
+msgid "pthread_cond_signal failed: %s"
+msgstr "échec de pthread_cond_signal() : %s"
+
+#: gold-threads.cc:252
+#, c-format
+msgid "pthread_cond_broadcast failed: %s"
+msgstr "échec de pthread_cond_broadcast() : %s"
+
+#: gold-threads.cc:403
+#, c-format
+msgid "pthread_once failed: %s"
+msgstr "échec de pthread_once() : %s"
+
+#: gold.cc:101
+#, c-format
+msgid "%s: internal error in %s, at %s:%d\n"
+msgstr "%s : erreur interne dans %s, à la position %s : %d\n"
+
+#: gold.cc:191
+msgid "no input files"
+msgstr "pas de fichiers en entrée"
+
+#: gold.cc:221
+msgid "linking with --incremental-full"
+msgstr "édite les liens avec --incremental-full"
+
+#: gold.cc:223
+msgid "restart link with --incremental-full"
+msgstr "recommence l'édition de liens avec --incremental-full"
+
+#: gold.cc:285
+msgid "cannot mix -r with --gc-sections or --icf"
+msgstr "impossible d'utiliser -r avec --gc-sections ou --icf"
+
+#: gold.cc:612
+#, c-format
+msgid "cannot mix -static with dynamic object %s"
+msgstr "impossible d'utiliser -static avec l'objet dynamique %s"
+
+#: gold.cc:616
+#, c-format
+msgid "cannot mix -r with dynamic object %s"
+msgstr "impossible d'utiliser -r avec l'objet dynamique %s"
+
+#: gold.cc:620
+#, c-format
+msgid "cannot use non-ELF output format with dynamic object %s"
+msgstr "le format de sortie ELF est obligatoire avec l'objet dynamique %s"
+
+#: gold.cc:632
+#, c-format
+msgid "cannot mix split-stack '%s' and non-split-stack '%s' when using -r"
+msgstr "impossible d'utiliser split-stack « %s » et non-split-stack « %s » avec -r"
+
+#. FIXME: This needs to specify the location somehow.
+#: i386.cc:601 i386.cc:2655 sparc.cc:312 sparc.cc:3185 x86_64.cc:746
+#: x86_64.cc:3250
+msgid "missing expected TLS relocation"
+msgstr "absence de la relocalisation TLS attendue"
+
+#: i386.cc:1699 sparc.cc:2229 tilegx.cc:3209 x86_64.cc:2279
+#, c-format
+msgid "%s: unsupported TLS reloc %u for IFUNC symbol"
+msgstr "%s : la relocalisation TLS %u pour un symbole IFUNC n'est pas prise en charge"
+
+#: i386.cc:2809 i386.cc:3558 powerpc.cc:7521 sparc.cc:3583 tilegx.cc:4706
+#: x86_64.cc:3465 x86_64.cc:4205
+#, c-format
+msgid "unexpected reloc %u in object file"
+msgstr "relocalisation %u inattendue dans le fichier objet"
+
+#: i386.cc:3002
+msgid "both SUN and GNU model TLS relocations"
+msgstr "SUN et GNU modèlent les relocalisations TLS"
+
+#: i386.cc:3572
+#, c-format
+msgid "unsupported reloc %u in object file"
+msgstr "la relocalisation %u n'est pas prise en charge dans le fichier objet"
+
+#: i386.cc:3802 x86_64.cc:4459
+#, c-format
+msgid "failed to match split-stack sequence at section %u offset %0zx"
+msgstr "l'association de séquence de la pile scindée (split-stack) à l'offset %2$0zx de la section %1$u a échoué"
+
+#: icf.cc:768
+#, c-format
+msgid "%s: ICF Converged after %u iteration(s)"
+msgstr "%s : ICF a convergé après %u iteration(s)"
+
+#: icf.cc:771
+#, c-format
+msgid "%s: ICF stopped after %u iteration(s)"
+msgstr "%s : ICF s'est arrêté après %u iteration(s)"
+
+#: icf.cc:785
+#, c-format
+msgid "Could not find symbol %s to unfold\n"
+msgstr "N'a pu trouver le symbole à étendre %s\n"
+
+#: incremental.cc:80
+msgid "** incremental_inputs"
+msgstr "** incremental_inputs"
+
+#: incremental.cc:145
+#, c-format
+msgid "the link might take longer: cannot perform incremental link: %s"
+msgstr "il se peut que l'édition de liens prenne plus de temps : impossible d'effectuer l'édition de liens de façon incrémentale : %s"
+
+#: incremental.cc:411
+msgid "no incremental data from previous build"
+msgstr "pas de données incrémentales issues de l'édition précédente"
+
+#: incremental.cc:417
+msgid "different version of incremental build data"
+msgstr "version différente des données d'édition incrémentale"
+
+#: incremental.cc:429
+msgid "command line changed"
+msgstr "la ligne de commande a changée"
+
+#: incremental.cc:456
+#, c-format
+msgid "%s: script file changed"
+msgstr "%s : fichier de script a changé"
+
+#: incremental.cc:859
+#, c-format
+msgid "unsupported ELF machine number %d"
+msgstr "le numéro de machine ELF %d n'est pas pris en charge"
+
+#: incremental.cc:867 object.cc:3063
+#, c-format
+msgid "%s: incompatible target"
+msgstr "%s : cible incompatible"
+
+#: incremental.cc:889
+msgid "output is not an ELF file."
+msgstr "la sortie n'est pas un fichier ELF."
+
+#: incremental.cc:912
+msgid "unsupported file: 32-bit, big-endian"
+msgstr "fichier non pris en charge : 32 bits, gros-boutiste"
+
+#: incremental.cc:921
+msgid "unsupported file: 32-bit, little-endian"
+msgstr "fichier non pris en charge : 32 bits, petit-boutiste"
+
+#: incremental.cc:933
+msgid "unsupported file: 64-bit, big-endian"
+msgstr "fichier non pris en charge : 64 bits, gros-boutiste"
+
+#: incremental.cc:942
+msgid "unsupported file: 64-bit, little-endian"
+msgstr "fichier non pris en charge : 64 bits, petit-boutiste"
+
+#: incremental.cc:2078
+msgid "COMDAT group has no signature"
+msgstr "groupe COMDAT sans signature"
+
+#: incremental.cc:2084
+#, c-format
+msgid "COMDAT group %s included twice in incremental link"
+msgstr "double inclusion du groupe COMDAT %s lors d'une édition de liens incrémentale"
+
+#: int_encoding.cc:50 int_encoding.cc:83
+msgid "Unusually large LEB128 decoded, debug information may be corrupted"
+msgstr "Le décodage de LEB128 est anormalement volumineux, les informations de débogage sont peut être corrompues"
+
+#: layout.cc:225
+#, c-format
+msgid "%s: total free lists: %u\n"
+msgstr "%s : nombre total de listes libérées : %u\n"
+
+#: layout.cc:227
+#, c-format
+msgid "%s: total free list nodes: %u\n"
+msgstr "%s : nombre total de nœuds de liste libérés : %u\n"
+
+#: layout.cc:229
+#, c-format
+msgid "%s: calls to Free_list::remove: %u\n"
+msgstr "%s : appels à Free_list::remove : %u\n"
+
+#: layout.cc:231 layout.cc:235
+#, c-format
+msgid "%s: nodes visited: %u\n"
+msgstr "%s : nœuds visités : %u\n"
+
+#: layout.cc:233
+#, c-format
+msgid "%s: calls to Free_list::allocate: %u\n"
+msgstr "%s : appels à Free_list::allocate : %u\n"
+
+#: layout.cc:946
+#, c-format
+msgid "Unable to create output section '%s' because it is not allowed by the SECTIONS clause of the linker script"
+msgstr "Impossible de créer la section d'entrée « %s » car ceci n'est pas autorisé par la clause SECTIONS du script de l'éditeur de liens"
+
+#: layout.cc:2015
+msgid "multiple '.interp' sections in input files may cause confusing PT_INTERP segment"
+msgstr "de multiples sections « .interp » dans les fichiers d'entrée peuvent produire des segments PT_INTERP ambigus"
+
+#: layout.cc:2079
+#, c-format
+msgid "%s: missing .note.GNU-stack section implies executable stack"
+msgstr "%s : l'absence de section .note.GNU-stack implique une pile exécutable"
+
+#: layout.cc:2091
+#, c-format
+msgid "%s: requires executable stack"
+msgstr "%s : nécessite une pile exécutable"
+
+#: layout.cc:2590
+#, c-format
+msgid "unable to open --section-ordering-file file %s: %s"
+msgstr "impossible d'ouvrir le fichier %s relatif à l'option --section-ordering-file : %s"
+
+#: layout.cc:3024
+#, c-format
+msgid "--build-id=uuid failed: could not open /dev/urandom: %s"
+msgstr "--build-id=uuid a échoué : impossible d'ouvrir /dev/urandom : %s"
+
+#: layout.cc:3031
+#, c-format
+msgid "/dev/urandom: read failed: %s"
+msgstr "/dev/urandom : échec de read() : %s"
+
+#: layout.cc:3033
+#, c-format
+msgid "/dev/urandom: expected %zu bytes, got %zd bytes"
+msgstr "/dev/urandom : %zu octets attendus, %zd octets lus"
+
+#: layout.cc:3055
+#, c-format
+msgid "--build-id argument '%s' not a valid hex number"
+msgstr "l'argument « %s » de --build-id n'est pas un nombre hexadécimal valide"
+
+#: layout.cc:3061
+#, c-format
+msgid "unrecognized --build-id argument '%s'"
+msgstr "l'argument « %s » de --build-id n'est pas reconnu"
+
+#: layout.cc:3626
+#, c-format
+msgid "load segment overlap [0x%llx -> 0x%llx] and [0x%llx -> 0x%llx]"
+msgstr "le segment de chargement chevauche [0x%llx -> 0x%llx] et [0x%llx -> 0x%llx]"
+
+#: layout.cc:3785 output.cc:4557
+#, c-format
+msgid "out of patch space for section %s; relink with --incremental-full"
+msgstr "à court d'espace de retouche pour la section %s ; rééditer les liens avec --incremental-full"
+
+#: layout.cc:3794 output.cc:4565
+#, c-format
+msgid "%s: section changed size; relink with --incremental-full"
+msgstr "%s : changement de taille de la section ; rééditer les liens avec --incremental-full"
+
+#: layout.cc:4051
+msgid "out of patch space for symbol table; relink with --incremental-full"
+msgstr "à court d'espace de retouche pour la table de symboles ; rééditer les liens avec --incremental-full"
+
+#: layout.cc:4122
+msgid "out of patch space for section header table; relink with --incremental-full"
+msgstr "à court d'espace de retouche pour la table d'en-tête de section ; rééditer les liens avec --incremental-full"
+
+#: layout.cc:4840
+msgid "read-only segment has dynamic relocations"
+msgstr "segment en lecture seule ayant des relocalisations dynamiques"
+
+#: layout.cc:4843
+msgid "shared library text segment is not shareable"
+msgstr "segment de texte de bibliothèque partagée non partageable"
+
+#: mapfile.cc:70
+#, c-format
+msgid "cannot open map file %s: %s"
+msgstr "impossible d'ouvrir le fichier de mappage %s : %s"
+
+#: mapfile.cc:84
+#, c-format
+msgid "cannot close map file: %s"
+msgstr "impossible de fermer le fichier de mappage : %s"
+
+#: mapfile.cc:116
+#, c-format
+msgid ""
+"Archive member included because of file (symbol)\n"
+"\n"
+msgstr ""
+"Membre d'archive inclus en raison du fichier (symbole)\n"
+"\n"
+
+#: mapfile.cc:159
+#, c-format
+msgid ""
+"\n"
+"Allocating common symbols\n"
+msgstr ""
+"\n"
+"Allocation des symboles communs\n"
+
+#: mapfile.cc:161
+#, c-format
+msgid ""
+"Common symbol size file\n"
+"\n"
+msgstr ""
+"Symbole commun taille fichier\n"
+"\n"
+
+#: mapfile.cc:195
+#, c-format
+msgid ""
+"\n"
+"Memory map\n"
+"\n"
+msgstr ""
+"\n"
+"Mappage mémoire\n"
+"\n"
+
+#: mapfile.cc:367
+#, c-format
+msgid ""
+"\n"
+"Discarded input sections\n"
+"\n"
+msgstr ""
+"\n"
+"Sections d'entrée écartées\n"
+"\n"
+
+#: merge.cc:493
+#, c-format
+msgid "%s: %s merged constants size: %lu; input: %zu; output: %zu\n"
+msgstr "%s : %s a fusionné la taille des constantes : %lu ; entrée : %zu ; sortie : %zu\n"
+
+#: merge.cc:520
+msgid "mergeable string section length not multiple of character size"
+msgstr "la longueur de la section des chaînes fusionnables n'est pas un multiple de la taille d'un caractère"
+
+#: merge.cc:529
+#, c-format
+msgid "%s: last entry in mergeable string section '%s' not null terminated"
+msgstr "%s : la dernière entrée de la section des chaînes fusionnables « %s » ne termine pas par le caractère nul"
+
+#: merge.cc:604
+#, c-format
+msgid "%s: section %s contains incorrectly aligned strings; the alignment of those strings won't be preserved"
+msgstr "%s : la section %s contient des chaînes de caractères incorrectement alignées ; leur alignement ne sera pas préservé"
+
+#: merge.cc:726
+#, c-format
+msgid "%s: %s input bytes: %zu\n"
+msgstr "%s : %s octets en entrée : %zu\n"
+
+#: merge.cc:728
+#, c-format
+msgid "%s: %s input strings: %zu\n"
+msgstr "%s : %s chaînes de caractères en entrée : %zu\n"
+
+#: merge.h:366
+msgid "** merge constants"
+msgstr "** merge constants"
+
+#: merge.h:495
+msgid "** merge strings"
+msgstr "** merge strings"
+
+#: nacl.cc:43 object.cc:174 object.cc:3111 output.cc:5185
+#, c-format
+msgid "%s: %s"
+msgstr "%s : %s"
+
+#: object.cc:101
+msgid "missing SHT_SYMTAB_SHNDX section"
+msgstr "la section SHT_SYMTAB_SHNDX est manquante"
+
+#: object.cc:145
+#, c-format
+msgid "symbol %u out of range for SHT_SYMTAB_SHNDX section"
+msgstr "le symbole %u est hors de portée de la section SHT_SYMTAB_SHNDX"
+
+#: object.cc:152
+#, c-format
+msgid "extended index for symbol %u out of range: %u"
+msgstr "l'index étendu du symbole %u est hors de portée : %u"
+
+#: object.cc:207
+#, c-format
+msgid "section name section has wrong type: %u"
+msgstr "la section de nom de section est de type incorrect : %u"
+
+#: object.cc:914
+#, c-format
+msgid "section group %u info %u out of range"
+msgstr "l'information %u du groupe de section %u est hors limite"
+
+#: object.cc:933
+#, c-format
+msgid "symbol %u name offset %u out of range"
+msgstr "l'offset %u du nom de symbole %u est hors de portée"
+
+#: object.cc:951
+#, c-format
+msgid "symbol %u invalid section index %u"
+msgstr "l'index de section %u du symbole %u est invalide"
+
+#: object.cc:1003
+#, c-format
+msgid "section %u in section group %u out of range"
+msgstr "la section %u dans le groupe de section %u est hors limite"
+
+#: object.cc:1011
+#, c-format
+msgid "invalid section group %u refers to earlier section %u"
+msgstr "le groupe de section %u n'est pas correct et fait référence à la section antérieure %u"
+
+#: object.cc:1380 reloc.cc:290 reloc.cc:939
+#, c-format
+msgid "relocation section %u has bad info %u"
+msgstr "la section de relocalisation %u a une mauvaise information %u"
+
+#: object.cc:1610
+#, c-format
+msgid "%s: removing unused section from '%s' in file '%s'"
+msgstr "%s : suppression de la section inutilisée depuis « %s » dans le fichier « %s »"
+
+#: object.cc:1636
+#, c-format
+msgid "%s: ICF folding section '%s' in file '%s'into '%s' in file '%s'"
+msgstr "%s : ICF place la section « %s » du fichier « %s » dans la section « %s » du fichier « %s »"
+
+#: object.cc:1927
+msgid "size of symbols is not multiple of symbol size"
+msgstr "la taille des symboles n'est pas un multiple de la taille d'un symbole"
+
+#: object.cc:2156
+#, c-format
+msgid "local symbol %u section name out of range: %u >= %u"
+msgstr "le nom de section du symbole local %u est hors limite : %u >= %u"
+
+#: object.cc:2246
+#, c-format
+msgid "unknown section index %u for local symbol %u"
+msgstr "l'index de section %u n'est pas connu pour le symbole local %u"
+
+#: object.cc:2256
+#, c-format
+msgid "local symbol %u section index %u out of range"
+msgstr "l'index de section %u du symbole local %u est hors de portée"
+
+#: object.cc:2826 reloc.cc:870
+#, c-format
+msgid "could not decompress section %s"
+msgstr "impossible de décompresser la section %s"
+
+#: object.cc:2942
+#, c-format
+msgid "%s is not supported but is required for %s in %s"
+msgstr "%s n'est pas pris en charge mais reste nécessaire pour %s dans %s"
+
+#: object.cc:3019
+msgid "function "
+msgstr "fonction"
+
+#: object.cc:3053
+#, c-format
+msgid "%s: unsupported ELF machine number %d"
+msgstr "%s : numéro de machine ELF %d non pris en charge"
+
+#: object.cc:3127 plugin.cc:1822
+#, c-format
+msgid "%s: not configured to support 32-bit big-endian object"
+msgstr "%s : non configuré pour prendre en charge les objets 32 bits gros-boutistes"
+
+#: object.cc:3143 plugin.cc:1831
+#, c-format
+msgid "%s: not configured to support 32-bit little-endian object"
+msgstr "%s : non configuré pour prendre en charge les objets 32 bits petits-boutistes"
+
+#: object.cc:3162 plugin.cc:1843
+#, c-format
+msgid "%s: not configured to support 64-bit big-endian object"
+msgstr "%s : non configuré pour prendre en charge les objets 64 bits gros-boutistes"
+
+#: object.cc:3178 plugin.cc:1852
+#, c-format
+msgid "%s: not configured to support 64-bit little-endian object"
+msgstr "%s : non configuré pour prendre en charge les objets 64 bits petits-boutistes"
+
+#: options.cc:157
+#, c-format
+msgid ""
+"Usage: %s [options] file...\n"
+"Options:\n"
+msgstr ""
+"Usage : %s [options] fichier…\n"
+"Options :\n"
+
+#. config.guess and libtool.m4 look in ld --help output for the
+#. string "supported targets".
+#: options.cc:165
+#, c-format
+msgid "%s: supported targets:"
+msgstr "%s : cibles prises en charge :"
+
+#: options.cc:174
+#, c-format
+msgid "%s: supported emulations:"
+msgstr "%s : émulations prises en charge :"
+
+#: options.cc:186
+#, c-format
+msgid "Report bugs to %s\n"
+msgstr "Rapporter toutes anomalies à %s\n"
+
+#: options.cc:203 options.cc:213 options.cc:223
+#, c-format
+msgid "%s: invalid option value (expected an integer): %s"
+msgstr "%s : valeur d'option invalide (attend un entier) : %s"
+
+#: options.cc:233 options.cc:244
+#, c-format
+msgid "%s: invalid option value (expected a floating point number): %s"
+msgstr "%s : valeur d'option invalide (attend un nombre à virgule flottant) : %s"
+
+#: options.cc:253
+#, c-format
+msgid "%s: must take a non-empty argument"
+msgstr "%s : argument non vide requit"
+
+#: options.cc:294
+#, c-format
+msgid "%s: must take one of the following arguments: %s"
+msgstr "%s : doit prendre l'un des arguments suivants : %s"
+
+#: options.cc:325
+#, c-format
+msgid " Supported targets:\n"
+msgstr " Cibles prises en charges :\n"
+
+#: options.cc:333
+#, c-format
+msgid " Supported emulations:\n"
+msgstr " Emulations prises en charges :\n"
+
+#: options.cc:476
+msgid "invalid argument to --section-start; must be SECTION=ADDRESS"
+msgstr "argument de --section-start invalide ; doit être SECTION=ADRESSE"
+
+#: options.cc:489
+msgid "--section-start address missing"
+msgstr "l'adresse de --section-start est manquante"
+
+#: options.cc:498
+#, c-format
+msgid "--section-start argument %s is not a valid hex number"
+msgstr "l'argument « %s » de --section-start n'est pas un nombre hexadécimal correct"
+
+#: options.cc:535
+#, c-format
+msgid "unable to parse script file %s"
+msgstr "impossible d'analyser (parse) le fichier de script %s"
+
+#: options.cc:543
+#, c-format
+msgid "unable to parse version script file %s"
+msgstr "impossible d'analyser (parse) le fichier de script de version %s"
+
+#: options.cc:551
+#, c-format
+msgid "unable to parse dynamic-list script file %s"
+msgstr "impossible d'analyser (parse) le fichier de script de liste dynamique (dynamic-list) %s"
+
+#: options.cc:663
+#, c-format
+msgid "format '%s' not supported; treating as elf (supported formats: elf, binary)"
+msgstr "format « %s » non pris en charge ; traité comme un format elf (formats pris en charge : elf, binaire)"
+
+#: options.cc:705
+#, c-format
+msgid "%s: use the --help option for usage information\n"
+msgstr "%s : utiliser l'option --help pour avoir les informations d'utilisation\n"
+
+#: options.cc:714
+#, c-format
+msgid "%s: %s: %s\n"
+msgstr "%s : %s : %s\n"
+
+#: options.cc:818
+msgid "unexpected argument"
+msgstr "argument inattendu"
+
+#: options.cc:831 options.cc:892
+msgid "missing argument"
+msgstr "argument manquant"
+
+#: options.cc:903
+msgid "unknown -z option"
+msgstr "option -z inconnue"
+
+#: options.cc:1115
+#, c-format
+msgid "ignoring --threads: %s was compiled without thread support"
+msgstr "--threads ignoré : %s a été compilé sans prise en charge des threads"
+
+#: options.cc:1122
+#, c-format
+msgid "ignoring --thread-count: %s was compiled without thread support"
+msgstr "--thread-count ignoré : %s a été compilé sans prise en charge des threads"
+
+#: options.cc:1176
+#, c-format
+msgid "unable to open -retain-symbols-file file %s: %s"
+msgstr "impossible d'ouvrir le fichier %s relatif à l'option -retain-symbols-file : %s"
+
+#: options.cc:1213
+msgid "-shared and -static are incompatible"
+msgstr "-shared et -static ne sont pas compatibles"
+
+#: options.cc:1215
+msgid "-shared and -pie are incompatible"
+msgstr "-shared et -pie ne sont pas compatibles"
+
+#: options.cc:1217
+msgid "-pie and -static are incompatible"
+msgstr "-pie et -static ne sont pas compatibles"
+
+#: options.cc:1220
+msgid "-shared and -r are incompatible"
+msgstr "-shared et -r ne sont pas compatibles"
+
+#: options.cc:1222
+msgid "-pie and -r are incompatible"
+msgstr "-pie et -r ne sont pas compatibles"
+
+#: options.cc:1227
+msgid "-F/--filter may not used without -shared"
+msgstr "-F/--filter ne peut être utilisé sans -shared"
+
+#: options.cc:1229
+msgid "-f/--auxiliary may not be used without -shared"
+msgstr "-f/--auxiliary ne peut être utilisé sans -shared"
+
+#: options.cc:1234
+msgid "-retain-symbols-file does not yet work with -r"
+msgstr "-retain-symbols-file ne fonctionne pas avec -r pour le moment"
+
+#: options.cc:1240
+msgid "binary output format not compatible with -shared or -pie or -r"
+msgstr "le format de sortie binaire n'est pas compatible avec -shared, -pie ou -r"
+
+#: options.cc:1246
+#, c-format
+msgid "--hash-bucket-empty-fraction value %g out of range [0.0, 1.0)"
+msgstr "la valeur %g pour --hash-bucket-fraction n'est pas dans l'intervalle [0.0, 1.0)"
+
+#: options.cc:1251
+msgid "Options --incremental-changed, --incremental-unchanged, --incremental-unknown require the use of --incremental"
+msgstr ""
+"Les options --incremental-changed, --incremental-unchanged, --incremental-\n"
+"unknown nécessite l'utilisation de --incremental"
+
+#: options.cc:1261
+msgid "incremental linking is not compatible with -r"
+msgstr "l'édition de liens incrémentale n'est pas compatible avec -r"
+
+#: options.cc:1263
+msgid "incremental linking is not compatible with --emit-relocs"
+msgstr "l'édition de liens incrémentale n'est pas compatible avec --emit-relocs"
+
+#: options.cc:1266
+msgid "incremental linking is not compatible with --plugin"
+msgstr "l'édition de liens incrémentale n'est pas compatible avec --plugin"
+
+#: options.cc:1269
+msgid "ignoring --gc-sections for an incremental link"
+msgstr "--gc-sections ignoré pour l'édition de liens incrémentale"
+
+#: options.cc:1274
+msgid "ignoring --icf for an incremental link"
+msgstr "--icf ignoré pour l'édition de liens incrémentale"
+
+#: options.cc:1279
+msgid "ignoring --compress-debug-sections for an incremental link"
+msgstr "--compress-debug-sections ignoré pour l'édition de liens incrémentale"
+
+#: options.cc:1359
+msgid "May not nest groups"
+msgstr "Ne peut pas imbriquer des groupes"
+
+#: options.cc:1361
+msgid "may not nest groups in libraries"
+msgstr "ne peut pas imbriquer des groupes dans les bibliothèques"
+
+#: options.cc:1373
+msgid "Group end without group start"
+msgstr "Fin de groupe sans début de groupe"
+
+#: options.cc:1383
+msgid "may not nest libraries"
+msgstr "ne peut imbriquer les bibliothèques"
+
+#: options.cc:1385
+msgid "may not nest libraries in groups"
+msgstr "ne peut imbriquer des bibliothèques dans des groupes"
+
+#: options.cc:1397
+msgid "lib end without lib start"
+msgstr "fin de bibliothèque sans début de bibliothèque"
+
+#. I guess it's neither a long option nor a short option.
+#: options.cc:1462
+msgid "unknown option"
+msgstr "option inconnue"
+
+#: options.cc:1489
+#, c-format
+msgid "%s: missing group end\n"
+msgstr "%s : fin de groupe manquante\n"
+
+#: options.h:624
+msgid "Report usage information"
+msgstr "Signaler les informations d'usage"
+
+#: options.h:626
+msgid "Report version information"
+msgstr "Signaler les informations de version"
+
+#: options.h:628
+msgid "Report version and target information"
+msgstr "Signaler la version et les informations de la cible"
+
+#: options.h:637 options.h:712
+msgid "Not supported"
+msgstr "Non pris en charge"
+
+#: options.h:638 options.h:713
+msgid "Do not copy DT_NEEDED tags from shared libraries"
+msgstr "Ne pas copier l'étiquette DT_NEEDED depuis des bibliothèques partagées"
+
+#: options.h:641 options.h:1289
+msgid "Allow multiple definitions of symbols"
+msgstr "Autorise les définitions multiples de symboles"
+
+#: options.h:642
+msgid "Do not allow multiple definitions"
+msgstr "Interdit les définitions multiples"
+
+#: options.h:645
+msgid "Allow unresolved references in shared libraries"
+msgstr "Autoriser les références non résolues dans les bibliothèques partagées"
+
+#: options.h:646
+msgid "Do not allow unresolved references in shared libraries"
+msgstr "Ne pas autoriser les références non résolues dans les bibliothèques partagées"
+
+#: options.h:649
+msgid "Only set DT_NEEDED for shared libraries if used"
+msgstr "Utiliser DT_NEEDED pour les bibliothèques partagées seulement si besoin"
+
+#: options.h:650
+msgid "Always DT_NEEDED for shared libraries"
+msgstr "Toujours DT_NEEDED pour les bibliothèques partagées"
+
+#: options.h:653 options.h:831 options.h:1197 options.h:1207
+msgid "Ignored"
+msgstr "Ignoré"
+
+#: options.h:653
+msgid "[ignored]"
+msgstr "[ignoré]"
+
+#: options.h:661
+msgid "Set input format"
+msgstr "Choisir le format d'entrée"
+
+#: options.h:664
+msgid "-l searches for shared libraries"
+msgstr "-l cherche les bibliothèques partagées"
+
+#: options.h:666
+msgid "-l does not search for shared libraries"
+msgstr "-l ne cherche pas les bibliothèques partagées"
+
+#: options.h:669
+msgid "alias for -Bdynamic"
+msgstr "alias de -Bdynamic"
+
+#: options.h:671
+msgid "alias for -Bstatic"
+msgstr "alias de -Bstatic"
+
+#: options.h:674
+msgid "Use group name lookup rules for shared library"
+msgstr "Utiliser les règles de recherche par groupe de nom pour les bibliothèques partagées"
+
+#: options.h:677
+msgid "Bind defined symbols locally"
+msgstr "Lier les symboles définis localement"
+
+#: options.h:680
+msgid "Bind defined function symbols locally"
+msgstr "Lier les symboles de fonction définis localement"
+
+#: options.h:683
+msgid "Generate build ID note"
+msgstr "Générer l'EMPREINTE de l'édition de liens"
+
+#: options.h:684 options.h:740
+msgid "[=STYLE]"
+msgstr "[=STYLE]"
+
+#: options.h:688
+msgid "Chunk size for '--build-id=tree'"
+msgstr "Taille des morceaux pour « --build-id=tree »"
+
+#: options.h:688 options.h:693 options.h:1086 options.h:1100 options.h:1268
+#: options.h:1287
+msgid "SIZE"
+msgstr "TAILLE"
+
+#: options.h:692
+msgid "Minimum output file size for '--build-id=tree' to work differently than '--build-id=sha1'"
+msgstr "Taille minimale du fichier de sortie pour que « --build-id=tree » fonctionne différemment de « --build-id=sha1 »"
+
+#: options.h:696
+msgid "Check segment addresses for overlaps (default)"
+msgstr "Vérifier le chevauchement des adresses de segment (défaut)"
+
+#: options.h:697
+msgid "Do not check segment addresses for overlaps"
+msgstr "Ne pas vérifier le chevauchement des adresses de segment"
+
+#: options.h:701 options.h:706
+msgid "Compress .debug_* sections in the output file"
+msgstr "Compresser les sections .debug_* dans le fichier de sortie"
+
+#: options.h:707
+msgid "[none]"
+msgstr "[rien]"
+
+#: options.h:716
+msgid "Output cross reference table"
+msgstr "Afficher la table de références croisées"
+
+#: options.h:717
+msgid "Do not output cross reference table"
+msgstr "Ne pas afficher la table des références croisées"
+
+#: options.h:720
+msgid "Use DT_INIT_ARRAY for all constructors (default)"
+msgstr "Utiliser DT_INIT_ARRAY pour tous les constructeurs (défaut)"
+
+#: options.h:721
+msgid "Handle constructors as directed by compiler"
+msgstr "Traiter les constructeurs comme stipulé par le compilateur"
+
+#: options.h:724
+msgid "Define common symbols"
+msgstr "Définir les symboles communs"
+
+#: options.h:725
+msgid "Do not define common symbols"
+msgstr "Ne pas définir les symboles communs"
+
+#: options.h:727 options.h:729
+msgid "Alias for -d"
+msgstr "Alias de -d"
+
+#: options.h:732
+msgid "Turn on debugging"
+msgstr "Activer le débogage"
+
+#: options.h:733
+msgid "[all,files,script,task][,...]"
+msgstr "[tous,fichiers,script,tâche][,…]"
+
+#: options.h:736
+msgid "Define a symbol"
+msgstr "Définir un symbole"
+
+#: options.h:736
+msgid "SYMBOL=EXPRESSION"
+msgstr "SYMBOLE=EXPRESSION"
+
+#: options.h:739
+msgid "Demangle C++ symbols in log messages"
+msgstr "Recouvrir les symboles C++ dans les messages du journal d'événements (log)"
+
+#: options.h:743
+msgid "Do not demangle C++ symbols in log messages"
+msgstr "Ne pas recouvrir les symboles C++ dans les messages du journal d'événements"
+
+#: options.h:747
+msgid "Look for violations of the C++ One Definition Rule"
+msgstr "Rechercher les violations de la Règle de Définition Unique du C++"
+
+#: options.h:748
+msgid "Do not look for violations of the C++ One Definition Rule"
+msgstr "Ne pas rechercher les violations de la Règle de Définition Unique du C++"
+
+#: options.h:751
+msgid "Delete all local symbols"
+msgstr "Supprimer tous les symboles locaux"
+
+#: options.h:753
+msgid "Delete all temporary local symbols"
+msgstr "Supprimer tous les symboles locaux temporaires"
+
+#: options.h:756
+msgid "Add data symbols to dynamic symbols"
+msgstr "Ajouter les symboles de données aux symboles dynamiques"
+
+#: options.h:759
+msgid "Add C++ operator new/delete to dynamic symbols"
+msgstr "Ajouter les opérateurs C++ de création et de destruction d'objets (new/delete) aux symboles dynamiques"
+
+#: options.h:762
+msgid "Add C++ typeinfo to dynamic symbols"
+msgstr "Ajouter les informations de type C++ (typeinfo) aux symboles dynamiques"
+
+#: options.h:765
+msgid "Read a list of dynamic symbols"
+msgstr "Lire une liste de symboles dynamiques"
+
+#: options.h:765 options.h:873 options.h:896 options.h:964 options.h:1033
+#: options.h:1142 options.h:1190
+msgid "FILE"
+msgstr "FICHIER"
+
+#: options.h:768
+msgid "Set program start address"
+msgstr "Définir l'adresse de début du programme"
+
+#: options.h:768 options.h:1157 options.h:1159 options.h:1161 options.h:1164
+#: options.h:1166
+msgid "ADDRESS"
+msgstr "ADRESSE"
+
+#: options.h:771
+msgid "Exclude libraries from automatic export"
+msgstr "Exclure les bibliothèques de l'export automatique"
+
+#: options.h:775
+msgid "Export all dynamic symbols"
+msgstr "Exporter tous les symboles dynamiques"
+
+#: options.h:776
+msgid "Do not export all dynamic symbols (default)"
+msgstr "Ne pas exporter tous les symboles dynamiques (défaut)"
+
+#: options.h:779
+msgid "Export SYMBOL to dynamic symbol table"
+msgstr "Exporter SYMBOLE vers la table de symboles dynamiques"
+
+#: options.h:779 options.h:807 options.h:893 options.h:1122 options.h:1177
+#: options.h:1234 options.h:1237
+msgid "SYMBOL"
+msgstr "SYMBOLE"
+
+#: options.h:782
+msgid "Link big-endian objects."
+msgstr "Éditer les liens des objets gros-boutistes"
+
+#: options.h:785
+msgid "Link little-endian objects."
+msgstr "Éditer les liens des objets petits-boutistes"
+
+#: options.h:788
+msgid "Create exception frame header"
+msgstr "Créer l'en-tête du cadre pour les exceptions"
+
+#: options.h:791
+msgid "(ARM only) Do not warn about objects with incompatible enum sizes"
+msgstr "(ARM seulement) Ne pas avertir des objets avec des tailles d'énumération incompatibles"
+
+#: options.h:795
+msgid "Auxiliary filter for shared object symbol table"
+msgstr "Filtre auxiliaire pour la table de symboles des objets partagés"
+
+#: options.h:796 options.h:800
+msgid "SHLIB"
+msgstr "SHLIB"
+
+#: options.h:799
+msgid "Filter for shared object symbol table"
+msgstr "Filtre pour la table de symboles des objets partagés"
+
+#: options.h:803
+msgid "Treat warnings as errors"
+msgstr "Traiter les avertissements comme des erreurs"
+
+#: options.h:804
+msgid "Do not treat warnings as errors"
+msgstr "Ne pas traiter les avertissements comme des erreurs"
+
+#: options.h:807
+msgid "Call SYMBOL at unload-time"
+msgstr "Appeler le SYMBOLE au moment du déchargement"
+
+#: options.h:810
+msgid "(ARM only) Fix binaries for Cortex-A8 erratum."
+msgstr "(ARM seulement) Corriger les binaires conformément à l'erratum du Cortex-A8"
+
+#: options.h:811
+msgid "(ARM only) Do not fix binaries for Cortex-A8 erratum."
+msgstr "(ARM seulement) Ne pas corriger les binaires conformément à l'erratum du Cortex-A8"
+
+#: options.h:814
+msgid "(ARM only) Fix binaries for ARM1176 erratum."
+msgstr "(ARM seulement) Corriger les binaires conformément à l'erratum de l'ARM1176"
+
+#: options.h:815
+msgid "(ARM only) Do not fix binaries for ARM1176 erratum."
+msgstr "(ARM seulement) Ne pas corriger les binaires conformément à l'erratum de l'ARM1176"
+
+#: options.h:818
+msgid "(ARM only) Merge exidx entries in debuginfo."
+msgstr "(ARM seulement) Fusionner les entrées exidx dans debuginfo."
+
+#: options.h:819
+msgid "(ARM only) Do not merge exidx entries in debuginfo."
+msgstr "(ARM seulement) Ne pas fusionner les entrées exidx dans debuginfo."
+
+#: options.h:822
+msgid "(ARM only) Rewrite BX rn as MOV pc, rn for ARMv4"
+msgstr "(ARM seulement) Réécrire BX rn en MOV pc, rn pour ARMv4"
+
+#: options.h:826
+msgid "(ARM only) Rewrite BX rn branch to ARMv4 interworking veneer"
+msgstr "(ARM seulement) Réécrire BX rn branch en vernis ARMv4 interopérable"
+
+#: options.h:834
+msgid "Generate .gdb_index section"
+msgstr "Générer la section .gdb_index"
+
+#: options.h:835
+msgid "Do not generate .gdb_index section"
+msgstr "Ne pas générer la section .gdb_index"
+
+#: options.h:838
+msgid "Enable STB_GNU_UNIQUE symbol binding (default)"
+msgstr "Activer la liaison de symboles STB_GNU_UNIQUE (défaut)"
+
+#: options.h:839
+msgid "Disable STB_GNU_UNIQUE symbol binding"
+msgstr "Désactiver la liaison de symboles STB_GNU_UNIQUE"
+
+#: options.h:842
+msgid "Set shared library name"
+msgstr "Définir le nom de la bibliothèque partagée"
+
+#: options.h:842 options.h:1016 options.h:1050
+msgid "FILENAME"
+msgstr "NOM DE FICHIER"
+
+#: options.h:845
+msgid "Min fraction of empty buckets in dynamic hash"
+msgstr "Fraction minimale de godets (buckets) vide dans le hachage dynamique"
+
+#: options.h:846
+msgid "FRACTION"
+msgstr "FRACTION"
+
+#: options.h:849
+msgid "Dynamic hash style"
+msgstr "Style de hachage dynamique"
+
+#: options.h:849
+msgid "[sysv,gnu,both]"
+msgstr "[sysv,gnu,both(sysv+gnu)]"
+
+#: options.h:853
+msgid "Set dynamic linker path"
+msgstr "Définir le chemin de l'éditeur de liens dynamiques"
+
+#: options.h:853
+msgid "PROGRAM"
+msgstr "PROGRAMME"
+
+#: options.h:856
+msgid "Do an incremental link if possible; otherwise, do a full link and prepare output for incremental linking"
+msgstr "Effectuer une édition de liens incrémentale si possible ; autrement, faire une édition de liens complète et préparer la sortie pour une édition de liens incrémentale"
+
+#: options.h:861
+msgid "Do a full link (default)"
+msgstr "Faire une édition de liens complète (défaut)"
+
+#: options.h:864
+msgid "Do a full link and prepare output for incremental linking"
+msgstr "Faire une édition de liens complète et préparer la sortie pour une édition de liens incrémentale"
+
+#: options.h:868
+msgid "Do an incremental link; exit if not possible"
+msgstr "Éditer les liens incrémentalement ; quitter si cela n'est pas possible"
+
+#: options.h:871
+msgid "Set base file for incremental linking (default is output file)"
+msgstr "Fixer le fichier de base pour l'édition de liens incrémentale (le fichier de sortie est utilisé par défaut)"
+
+#: options.h:876
+msgid "Assume files changed"
+msgstr "Considère que les fichiers ont changés"
+
+#: options.h:879
+msgid "Assume files didn't change"
+msgstr "Considère que les fichiers n'ont pas changés"
+
+#: options.h:882
+msgid "Use timestamps to check files (default)"
+msgstr "Utiliser l'horodatage (timestamp) pour tester les fichiers (défaut)"
+
+#: options.h:885
+msgid "Assume startup files unchanged (files preceding this option)"
+msgstr "Suppose que les fichiers de démarrage n'ont pas changés (fichiers précédents cette option)"
+
+#: options.h:889
+msgid "Amount of extra space to allocate for patches"
+msgstr "Quantité d'espace supplémentaire à allouer pour les retouches"
+
+#: options.h:890
+msgid "PERCENT"
+msgstr "POUR CENT"
+
+#: options.h:893
+msgid "Call SYMBOL at load-time"
+msgstr "Appeler SYMBOLE lors du chargement"
+
+#: options.h:896
+msgid "Read only symbol values from FILE"
+msgstr "Lire les valeurs des symboles uniquement depuis FICHIER"
+
+#: options.h:900
+msgid "Map whole files to memory (default on 64-bit hosts)"
+msgstr "Projeter les fichiers entiers en mémoire (défaut sur les hôtes 64 bits)"
+
+#: options.h:901
+msgid "Map relevant file parts to memory (default on 32-bit hosts)"
+msgstr "Projeter les parties appropriées des fichiers en mémoire (défaut sur les hôtes 32 bits)"
+
+#: options.h:904
+msgid "Keep files mapped across passes (default)"
+msgstr "Conserver la projection des fichiers entre les différentes passes (défaut)"
+
+#: options.h:905
+msgid "Release mapped files after each pass"
+msgstr "Détruire la projection des fichiers après chaque passe"
+
+#: options.h:908
+msgid "Generate unwind information for PLT (default)"
+msgstr "Générer les informations d'épilogue pour PLT (défaut)"
+
+#: options.h:909
+msgid "Do not generate unwind information for PLT"
+msgstr "Ne pas générer les informations d'épilogue pour PLT"
+
+#: options.h:912
+msgid "Search for library LIBNAME"
+msgstr "Chercher la bibliothèque de nom BIBLIOTHÈQUE"
+
+#: options.h:912
+msgid "LIBNAME"
+msgstr "NOM DE BIBLIOTHÈQUE"
+
+#: options.h:915
+msgid "Add directory to search path"
+msgstr "Ajouter les dossiers lors de l'exploration de l'arborescence"
+
+#: options.h:915 options.h:1039 options.h:1042 options.h:1046 options.h:1136
+msgid "DIR"
+msgstr "DOSSIER"
+
+#: options.h:918
+msgid "Enable text section reordering for GCC section names (default)"
+msgstr "Activer le réordonnancement des sections texte pour les noms de section GCC (défaut)"
+
+#: options.h:920
+msgid "Disable text section reordering for GCC section names"
+msgstr "Désactiver le réordonnancement des sections texte pour les noms de section GCC"
+
+#: options.h:923
+msgid "Only search directories specified on the command line."
+msgstr "Rechercher uniquement dans les répertoires spécifiés sur la ligne de commande."
+
+#: options.h:927
+msgid "Put read-only non-executable sections in their own segment"
+msgstr "Mettre les sections non exécutables en lecture seule dans leur propre segment"
+
+#: options.h:931
+msgid "Set offset between executable and read-only segments"
+msgstr "Définir le décalage entre les segments exécutables et en lecture seule"
+
+#: options.h:932
+msgid "OFFSET"
+msgstr "DÉCALAGE"
+
+#: options.h:935
+msgid "Set GNU linker emulation; obsolete"
+msgstr "Activer l'émulation de l'éditeur de liens GNU ; obsolète"
+
+#: options.h:935
+msgid "EMULATION"
+msgstr "EMULATION"
+
+#: options.h:938
+msgid "Map the output file for writing (default)."
+msgstr "Projeter le fichier de sortie en écriture (défaut)."
+
+#: options.h:939
+msgid "Do not map the output file for writing."
+msgstr "Ne pas projeter le fichier de sortie en écriture."
+
+#: options.h:942
+msgid "Write map file on standard output"
+msgstr "Écrire le ficher de projection sur la sortie standard"
+
+#: options.h:943
+msgid "Write map file"
+msgstr "Écrire le fichier de projection"
+
+#: options.h:944
+msgid "MAPFILENAME"
+msgstr "NOMDUFICHIERDEPROJECTION"
+
+#: options.h:947
+msgid "Do not page align data"
+msgstr "Ne pas aligner les données sur les pages"
+
+#: options.h:949
+msgid "Do not page align data, do not make text readonly"
+msgstr "Ne pas aligner les données sur les pages, ne pas définir le texte en lecture seule"
+
+#: options.h:950
+msgid "Page align data, make text readonly"
+msgstr "Aligner les données sur les pages, définir le texte en lecture seule"
+
+#: options.h:953
+msgid "Enable use of DT_RUNPATH and DT_FLAGS"
+msgstr "Activer l'utilisation de DT_RUNPATH et DT_FLAGS"
+
+#: options.h:954
+msgid "Disable use of DT_RUNPATH and DT_FLAGS"
+msgstr "Désactiver l'utilisation de DT_RUNPATH et DT_FLAGS"
+
+#: options.h:957
+msgid "Create an output file even if errors occur"
+msgstr "Créer un fichier de sortie même en cas d'erreurs"
+
+#: options.h:960 options.h:1270
+msgid "Report undefined symbols (even with --shared)"
+msgstr "Signaler les symboles non définis (même avec --shared)"
+
+#: options.h:964
+msgid "Set output file name"
+msgstr "Définir le nom du fichier de sortie"
+
+#: options.h:967
+msgid "Optimize output file size"
+msgstr "Optimiser la taille du fichier de sortie"
+
+#: options.h:967
+msgid "LEVEL"
+msgstr "NIVEAU"
+
+#: options.h:970
+msgid "Set output format"
+msgstr "Définir le format de sortie"
+
+#: options.h:970
+msgid "[binary]"
+msgstr "[binaire]"
+
+#: options.h:973 options.h:982
+msgid "(ARM only) Ignore for backward compatibility"
+msgstr "(ARM seulement) Ignorer pour rétrocompatibilité"
+
+#: options.h:976 options.h:978
+msgid "Create a position independent executable"
+msgstr "Créer un exécutable indépendant de la position"
+
+#: options.h:985
+msgid "(PowerPC64 only) Align PLT call stubs to fit cache lines"
+msgstr "(PowerPC64 seulement) Aligner les espaces d'amorçage d'appel PLT pour qu'ils conviennent aux lignes de cache"
+
+#: options.h:986
+msgid "[=P2ALIGN]"
+msgstr "[=P2ALIGN]"
+
+#: options.h:989
+msgid "(PowerPC64 only) PLT call stubs should load r11"
+msgstr "(PowerPC64 seulement) Les espaces d'amorçage d'appel PLT doivent charger r11"
+
+#: options.h:990
+msgid "(PowerPC64 only) PLT call stubs should not load r11"
+msgstr "(PowerPC64 seulement) Les espaces d'amorçage d'appel PLT ne doivent pas charger r11"
+
+#: options.h:993
+msgid "(PowerPC64 only) PLT call stubs with load-load barrier"
+msgstr "(PowerPC64 seulement) Espaces d'amorçage d'appel PLT avec barrière load-load"
+
+#: options.h:994
+msgid "(PowerPC64 only) PLT call stubs without barrier"
+msgstr "(PowerPC64 seulement) Espaces d'amorçage d'appel PLT sans barrière"
+
+#: options.h:998
+msgid "Load a plugin library"
+msgstr "Charger une bibliothèque greffon"
+
+#: options.h:998
+msgid "PLUGIN"
+msgstr "GREFFON"
+
+#: options.h:1000
+msgid "Pass an option to the plugin"
+msgstr "Passer une option au greffon"
+
+#: options.h:1000
+msgid "OPTION"
+msgstr "OPTION"
+
+#: options.h:1004
+msgid "Use posix_fallocate to reserve space in the output file (default)."
+msgstr "Utiliser posix_fallocate() pour réserver de l'espace dans le fichier de sortie (défaut)."
+
+#: options.h:1006
+msgid "Use fallocate or ftruncate to reserve space."
+msgstr "Utiliser fallocate() ou ftruncate() pour réserver de l'espace."
+
+#: options.h:1009
+msgid "Preread archive symbols when multi-threaded"
+msgstr "Lire en amont (preread) les symboles d'archive lorsqu'en multi-thread"
+
+#: options.h:1012
+msgid "Print default output format"
+msgstr "Afficher le format de sortie par défaut"
+
+#: options.h:1015
+msgid "Print symbols defined and used for each input"
+msgstr "Afficher les symboles définis et utilisés pour chaque entrée"
+
+#: options.h:1019
+msgid "Ignored for SVR4 compatibility"
+msgstr "Ignoré pour compatibilité avec SVR4"
+
+#: options.h:1022
+msgid "Generate relocations in output"
+msgstr "Générer les relocalisations dans la sortie"
+
+#: options.h:1025
+msgid "Generate relocatable output"
+msgstr "Générer une sortie relocalisable"
+
+#: options.h:1027
+msgid "Synonym for -r"
+msgstr "Synonyme de -r"
+
+#: options.h:1030
+msgid "Relax branches on certain targets"
+msgstr "Relâcher les branches pour certaines cibles"
+
+#: options.h:1033
+msgid "keep only symbols listed in this file"
+msgstr "garder uniquement les symboles listés dans ce fichier"
+
+#: options.h:1039 options.h:1042
+msgid "Add DIR to runtime search path"
+msgstr "Ajouter le DOSSIER au chemin de recherche utilisé à l'exécution"
+
+#: options.h:1045
+msgid "Add DIR to link time shared library search path"
+msgstr "Ajouter le DOSSIER au chemin de recherche de bibliothèques partagées au moment de l'édition de liens"
+
+#: options.h:1049
+msgid "Layout sections in the order specified."
+msgstr "Disposer les sections dans l'ordre spécifié."
+
+#: options.h:1053
+msgid "Set address of section"
+msgstr "Définir l'adresse de section"
+
+#: options.h:1053
+msgid "SECTION=ADDRESS"
+msgstr "SECTION=ADRESSE"
+
+#: options.h:1056
+msgid "Sort common symbols by alignment"
+msgstr "Trier les symboles communs en fonction de leur alignement"
+
+#: options.h:1057
+msgid "[={ascending,descending}]"
+msgstr "[={ascending (croissant),descending (décroissant)}]"
+
+#: options.h:1060
+msgid "Sort sections by name. '--no-text-reorder' will override '--sort-section=name' for .text"
+msgstr "Trier les sections par nom. « --no-text-reorder » sera utilisé à la place de « --sort-section=name » pour .text"
+
+#: options.h:1062
+msgid "[none,name]"
+msgstr "[none(rien),name(nom)]"
+
+#: options.h:1066
+msgid "Dynamic tag slots to reserve (default 5)"
+msgstr "Emplacements de tags dynamiques à réserver (5 par défaut)"
+
+#: options.h:1067 options.h:1115 options.h:1148 options.h:1150 options.h:1152
+#: options.h:1154
+msgid "COUNT"
+msgstr "DÉCOMPTE"
+
+#: options.h:1070
+msgid "Strip all symbols"
+msgstr "Élaguer tous les symboles"
+
+#: options.h:1072
+msgid "Strip debugging information"
+msgstr "Élaguer les informations de débogage"
+
+#: options.h:1074
+msgid "Emit only debug line number information"
+msgstr "Émettre uniquement les informations de débogage de numéro de ligne"
+
+#: options.h:1076
+msgid "Strip debug symbols that are unused by gdb (at least versions <= 7.4)"
+msgstr "Éliminer les symboles de débogage qui ne sont pas utilisés par gdb (du moins pour les versions inférieures à la 7.4)"
+
+#: options.h:1079
+msgid "Strip LTO intermediate code sections"
+msgstr "Éliminer les sections LTO de code intermédiaire"
+
+#: options.h:1082
+msgid "(ARM, PowerPC only) The maximum distance from instructions in a group of sections to their stubs. Negative values mean stubs are always after (PowerPC before) the group. 1 means use default size.\n"
+msgstr "(ARM ou PowerPC seulement) La distance maximale des instructions dans un groupe de sections à leurs espace d'amorçage de l'éditeur dynamique de liens. Des valeurs négatives impliquent qu'ils se trouvent toujours après (avant pour PowerPC) le groupe. La valeur 1 correspond à l'utilisation de la taille par défaut.\n"
+
+#: options.h:1089
+msgid "Use less memory and more disk I/O (included only for compatibility with GNU ld)"
+msgstr "Utiliser moins de mémoire et plus d'entrées/sorties disque (présent uniquement pour compatibilité avec GNU ld)"
+
+#: options.h:1093 options.h:1096
+msgid "Generate shared library"
+msgstr "Générer une bibliothèque partagée"
+
+#: options.h:1099
+msgid "Stack size when -fsplit-stack function calls non-split"
+msgstr "Taille de la pile lorsque la fonctionnalité -fsplit-stack appelle non-split"
+
+#: options.h:1105
+msgid "Do not link against shared libraries"
+msgstr "Ne pas établir de liens avec des bibliothèques partagées"
+
+#: options.h:1108
+msgid "Identical Code Folding. '--icf=safe' Folds ctors, dtors and functions whose pointers are definitely not taken."
+msgstr "Regroupement de Code Identique. « --icf=safe » regroupe les constructeurs, les destructeurs et les fonctions pour lesquelles les pointeurs ne sont sans aucun doute pas utilisés."
+
+#: options.h:1115
+msgid "Number of iterations of ICF (default 2)"
+msgstr "Nombre d'itérations pour ICF (2 par défaut)"
+
+#: options.h:1118
+msgid "List folded identical sections on stderr"
+msgstr "Lister les sections identiques regroupées sur la sortie d'erreurs standard"
+
+#: options.h:1119
+msgid "Do not list folded identical sections"
+msgstr "Ne pas lister les sections identiques regroupées"
+
+#: options.h:1122
+msgid "Do not fold this symbol during ICF"
+msgstr "Ne pas joindre ce symbole pendant l'ICF"
+
+#: options.h:1125
+msgid "Remove unused sections"
+msgstr "Supprimer les sections inutiles"
+
+#: options.h:1126
+msgid "Don't remove unused sections (default)"
+msgstr "Ne pas supprimer les sections inutiles (défaut)"
+
+#: options.h:1129
+msgid "List removed unused sections on stderr"
+msgstr "Lister les sections non utilisées et supprimées sur la sortie d'erreurs standard"
+
+#: options.h:1130
+msgid "Do not list removed unused sections"
+msgstr "Ne pas lister les sections non utilisées et supprimées"
+
+#: options.h:1133
+msgid "Print resource usage statistics"
+msgstr "Afficher les statistiques d'utilisation des ressources"
+
+#: options.h:1136
+msgid "Set target system root directory"
+msgstr "Définir le dossier racine du système cible"
+
+#: options.h:1139
+msgid "Print the name of each input file"
+msgstr "Afficher le nom de chaque fichier d'entrée"
+
+#: options.h:1142
+msgid "Read linker script"
+msgstr "Lire le script de l'éditeur de liens"
+
+#: options.h:1145
+msgid "Run the linker multi-threaded"
+msgstr "Lancer l'éditeur de liens en multi-threads"
+
+#: options.h:1146
+msgid "Do not run the linker multi-threaded"
+msgstr "Ne pas lancer l'éditeur de liens en multi-threads"
+
+#: options.h:1148
+msgid "Number of threads to use"
+msgstr "Nombre de threads à utiliser"
+
+#: options.h:1150
+msgid "Number of threads to use in initial pass"
+msgstr "Nombre de threads à utiliser lors de la passe initiale"
+
+#: options.h:1152
+msgid "Number of threads to use in middle pass"
+msgstr "Nombre de threads à utiliser lors de la passe intermédiaire"
+
+#: options.h:1154
+msgid "Number of threads to use in final pass"
+msgstr "Nombre de threads à utiliser lors de la dernière passe"
+
+#: options.h:1157
+msgid "Set the address of the bss segment"
+msgstr "Définir l'adresse du segment bss"
+
+#: options.h:1159
+msgid "Set the address of the data segment"
+msgstr "Définir l'adresse du segment de données"
+
+#: options.h:1161 options.h:1163
+msgid "Set the address of the text segment"
+msgstr "Définir l'adresse du segment de texte"
+
+#: options.h:1166
+msgid "Set the address of the rodata segment"
+msgstr "Définir l'adresse du segment de données constantes en lecture seule (rodata)"
+
+#: options.h:1169
+msgid "(PowerPC64 only) Optimize TOC code sequences"
+msgstr "(PowerPC64 seulement) Optimiser les séquences de code TOC"
+
+#: options.h:1170
+msgid "(PowerPC64 only) Don't optimize TOC code sequences"
+msgstr "(PowerPC64 seulement) Ne pas optimiser les séquence de code TOC"
+
+#: options.h:1173
+msgid "(PowerPC64 only) Sort TOC and GOT sections"
+msgstr "(PowerPC64 seulement) Trier les sections TOC and GOT"
+
+#: options.h:1174
+msgid "(PowerPC64 only) Don't sort TOC and GOT sections"
+msgstr "(PowerPC64 seulement) Ne pas trier les sections TOC and GOT"
+
+#: options.h:1177
+msgid "Create undefined reference to SYMBOL"
+msgstr "Créer une référence non définie au SYMBOLE"
+
+#: options.h:1180
+msgid "How to handle unresolved symbols"
+msgstr "Comment traiter les symboles non résolus"
+
+#: options.h:1187
+msgid "Synonym for --debug=files"
+msgstr "Synonyme de --debug=fichiers"
+
+#: options.h:1190
+msgid "Read version script"
+msgstr "Lire le script de version"
+
+#: options.h:1193
+msgid "Warn about duplicate common symbols"
+msgstr "Avertir des symboles communs dupliqués"
+
+#: options.h:1194
+msgid "Do not warn about duplicate common symbols (default)"
+msgstr "Ne pas avertir des symboles communs dupliqués (défaut)"
+
+#: options.h:1200
+msgid "Warn if the stack is executable"
+msgstr "Avertir si la pile est exécutable"
+
+#: options.h:1201
+msgid "Do not warn if the stack is executable (default)"
+msgstr "Ne pas avertir si le tas est exécutable (défaut)"
+
+#: options.h:1204
+msgid "Don't warn about mismatched input files"
+msgstr "Ne pas avertir à propos des discordances dans les fichiers d'entrée"
+
+#: options.h:1210
+msgid "Warn when skipping an incompatible library"
+msgstr "Avertir lorsqu'une bibliothèque incompatible est écartée"
+
+#: options.h:1211
+msgid "Don't warn when skipping an incompatible library"
+msgstr "Ne pas avertir lorsqu'une bibliothèque incompatible est écartée"
+
+#: options.h:1214
+msgid "Warn if text segment is not shareable"
+msgstr "Avertir si le segment de texte n'est pas partageable"
+
+#: options.h:1215
+msgid "Do not warn if text segment is not shareable (default)"
+msgstr "Ne pas avertir si le segment de texte n'est pas partageable (défaut)"
+
+#: options.h:1218
+msgid "Report unresolved symbols as warnings"
+msgstr "Signaler les symboles non définis comme des avertissements"
+
+#: options.h:1222
+msgid "Report unresolved symbols as errors"
+msgstr "Signaler les symboles non définis comme des erreurs"
+
+#: options.h:1226
+msgid "(ARM only) Do not warn about objects with incompatible wchar_t sizes"
+msgstr "(ARM seulement) Ne pas avertir des objets avec des tailles du type wchar_t incompatibles"
+
+#: options.h:1230
+msgid "Include all archive contents"
+msgstr "Inclure tout le contenu de l'archive"
+
+#: options.h:1231
+msgid "Include only needed archive contents"
+msgstr "Inclure uniquement le contenu utile de l'archive"
+
+#: options.h:1234
+msgid "Use wrapper functions for SYMBOL"
+msgstr "Encapsuler le SYMBOLE dans des fonctions"
+
+#: options.h:1237
+msgid "Trace references to symbol"
+msgstr "Tracer les références au symbole"
+
+#: options.h:1240
+msgid "Allow unused version in script (default)"
+msgstr "Autoriser les versions inutilisés dans les scripts (défaut)"
+
+#: options.h:1241
+msgid "Do not allow unused version in script"
+msgstr "Ne pas autoriser les versions inutilisées dans les scripts"
+
+#: options.h:1244
+msgid "Default search path for Solaris compatibility"
+msgstr "Chemin de recherche par défaut pour la compatibilité Solaris"
+
+#: options.h:1245
+msgid "PATH"
+msgstr "CHEMIN"
+
+#: options.h:1248
+msgid "Start a library search group"
+msgstr "Démarrer un groupe de recherche de bibliothèque"
+
+#: options.h:1250
+msgid "End a library search group"
+msgstr "Arrêter un groupe de recherche de bibliothèque"
+
+#: options.h:1254
+msgid "Start a library"
+msgstr "Démarrer une bibliothèque"
+
+#: options.h:1256
+msgid "End a library "
+msgstr "Arrêter une bibliothèque"
+
+#: options.h:1259
+msgid "Ignored for GCC linker option compatibility"
+msgstr "Ignoré pour compatibilité avec les options de l'éditeur de liens GCC"
+
+#: options.h:1265
+msgid "Sort dynamic relocs"
+msgstr "Trier les relocalisations dynamiques"
+
+#: options.h:1266
+msgid "Do not sort dynamic relocs"
+msgstr "Ne pas trier les relocalisations dynamiques"
+
+#: options.h:1268
+msgid "Set common page size to SIZE"
+msgstr "Fixer la taille des pages mémoire communes à TAILLE"
+
+#: options.h:1273
+msgid "Mark output as requiring executable stack"
+msgstr "Marquer la sortie comme nécessitant une pile exécutable"
+
+#: options.h:1275
+msgid "Mark DSO to be initialized first at runtime"
+msgstr "Marquer le DSO afin qu'il soit initialisé en premier lors de l'exécution"
+
+#: options.h:1278
+msgid "Mark object to interpose all DSOs but executable"
+msgstr "Marquer l'objet afin qu'il interpose tous les DSO sauf l'exécutable"
+
+#: options.h:1281
+msgid "Mark object for lazy runtime binding (default)"
+msgstr "Marquer l'objet pour une liaison paresseuse lors de l'exécution (par défaut)"
+
+#: options.h:1284
+msgid "Mark object requiring immediate process"
+msgstr "Marquer l'objet comme nécessitant un traitement immédiat"
+
+#: options.h:1287
+msgid "Set maximum page size to SIZE"
+msgstr "Fixer la taille maximale des pages à TAILLE"
+
+#: options.h:1295
+msgid "Do not create copy relocs"
+msgstr "Ne pas créer de copies de relocalisations"
+
+#: options.h:1297
+msgid "Mark object not to use default search paths"
+msgstr "Marquer l'objet comme ne devant pas utiliser les chemins de recherches par défaut"
+
+#: options.h:1300
+msgid "Mark DSO non-deletable at runtime"
+msgstr "Marquer le DSO comme non supprimable à l'exécution"
+
+#: options.h:1303
+msgid "Mark DSO not available to dlopen"
+msgstr "Marquer le DSO comme non disponible pour dlopen()"
+
+#: options.h:1306
+msgid "Mark DSO not available to dldump"
+msgstr "Marquer le DSO comme non disponible pour dldump()"
+
+#: options.h:1309
+msgid "Mark output as not requiring executable stack"
+msgstr "Marquer la sortie comme ne nécessitant pas une pile exécutable"
+
+#: options.h:1311
+msgid "Mark object for immediate function binding"
+msgstr "Marquer l'objet pour la liaison immédiate des fonctions"
+
+#: options.h:1314
+msgid "Mark DSO to indicate that needs immediate $ORIGIN processing at runtime"
+msgstr "Marquer le DSO pour indiquer qu'il nécessite un traitement immédiat de $ORIGINE à l'exécution"
+
+#: options.h:1317
+msgid "Where possible mark variables read-only after relocation"
+msgstr "Marquer les variables en lecture seule après relocalisation lorsque cela est possible"
+
+#: options.h:1318
+msgid "Don't mark variables read-only after relocation"
+msgstr "Ne pas marquer les variables en lecture seule après relocalisation"
+
+#: options.h:1320
+msgid "Do not permit relocations in read-only segments"
+msgstr "Ne pas permettre de relocalisations dans des segments en lecture seule"
+
+#: options.h:1321 options.h:1323
+msgid "Permit relocations in read-only segments (default)"
+msgstr "Permettre des relocalisations dans des segments en lecture seule (défaut)"
+
+#: output.cc:1344
+msgid "section group retained but group element discarded"
+msgstr "groupe de section retenu mais élément de groupe éliminé"
+
+#: output.cc:1711 output.cc:1743
+msgid "out of patch space (GOT); relink with --incremental-full"
+msgstr "à court d'espace de retouche (GOT) ; rééditer les liens avec --incremental-full"
+
+#: output.cc:2372
+#, c-format
+msgid "invalid alignment %lu for section \"%s\""
+msgstr "l'alignement %lu de la section « %s » n'est pas valide"
+
+#: output.cc:4598
+#, c-format
+msgid "dot moves backward in linker script from 0x%llx to 0x%llx"
+msgstr "le point est déplacé en arrière dans le script de l'éditeur de liens de 0x%llx à 0x%llx"
+
+#: output.cc:4601
+#, c-format
+msgid "address of section '%s' moves backward from 0x%llx to 0x%llx"
+msgstr "l'adresse de la section « %s » est déplacée en arrière de 0x%llx à 0x%llx"
+
+#: output.cc:4965
+#, c-format
+msgid "%s: incremental base and output file name are the same"
+msgstr "%s : les noms des fichiers de sortie et de base incrémentale sont identiques"
+
+#: output.cc:4972
+#, c-format
+msgid "%s: stat: %s"
+msgstr "%s : stat : %s"
+
+#: output.cc:4977
+#, c-format
+msgid "%s: incremental base file is empty"
+msgstr "%s : le fichier incrémental de base est vide"
+
+#: output.cc:4989 output.cc:5087
+#, c-format
+msgid "%s: open: %s"
+msgstr "%s : open() : %s"
+
+#: output.cc:5006
+#, c-format
+msgid "%s: read failed: %s"
+msgstr "%s : échec de read() : %s"
+
+#: output.cc:5011
+#, c-format
+msgid "%s: file too short: read only %lld of %lld bytes"
+msgstr "%s : fichier trop court : seulement %lld octets lus sur %lld"
+
+#: output.cc:5111
+#, c-format
+msgid "%s: mremap: %s"
+msgstr "%s : mremap() : %s"
+
+#: output.cc:5130
+#, c-format
+msgid "%s: mmap: %s"
+msgstr "%s : mmap() : %s"
+
+#: output.cc:5222
+#, c-format
+msgid "%s: mmap: failed to allocate %lu bytes for output file: %s"
+msgstr "%s : mmap() : impossible d'allouer %lu octet(s) pour le fichier de sortie : %s"
+
+#: output.cc:5240
+#, c-format
+msgid "%s: munmap: %s"
+msgstr "%s : munmap() : %s"
+
+#: output.cc:5260
+#, c-format
+msgid "%s: write: unexpected 0 return-value"
+msgstr "%s : valeur de retour 0 inattendue"
+
+#: output.cc:5262
+#, c-format
+msgid "%s: write: %s"
+msgstr "%s : write() : %s"
+
+#: output.cc:5277
+#, c-format
+msgid "%s: close: %s"
+msgstr "%s : close() : %s"
+
+#: output.h:501
+msgid "** section headers"
+msgstr "** en-têtes de section"
+
+#: output.h:551
+msgid "** segment headers"
+msgstr "** en-têtes de segment"
+
+#: output.h:598
+msgid "** file header"
+msgstr "** en-tête de fichier"
+
+#: output.h:824
+msgid "** fill"
+msgstr "** remplir"
+
+#: output.h:990
+msgid "** string table"
+msgstr "** table de chaînes"
+
+#: output.h:1513
+msgid "** dynamic relocs"
+msgstr "** relocalisations dynamiques"
+
+#: output.h:1514 output.h:2214
+msgid "** relocs"
+msgstr "** relocalisations"
+
+#: output.h:2239
+msgid "** group"
+msgstr "** groupe"
+
+#: output.h:2415
+msgid "** GOT"
+msgstr "** GOT"
+
+#: output.h:2597
+msgid "** dynamic"
+msgstr "** dynamique"
+
+#: output.h:2734
+msgid "** symtab xindex"
+msgstr "** symtab xindex"
+
+#: parameters.cc:221
+msgid "input file does not match -EB/EL option"
+msgstr "le fichier d'entrée ne correspond pas aux options -EB et -EL"
+
+#: parameters.cc:231
+msgid "-Trodata-segment is meaningless without --rosegment"
+msgstr "-Trodata-segment n'a pas de sens sans --rosegment"
+
+#: parameters.cc:339 target-select.cc:199
+#, c-format
+msgid "unrecognized output format %s"
+msgstr "format de sortie %s non reconnu"
+
+#: parameters.cc:352
+#, c-format
+msgid "unrecognized emulation %s"
+msgstr "émulation %s inconnue"
+
+#: parameters.cc:375
+msgid "no supported target for -EB/-EL option"
+msgstr "cible non prise en charge pour les options -EB et -EL"
+
+#: plugin.cc:178
+#, c-format
+msgid "%s: could not load plugin library: %s"
+msgstr "%s : impossible de charger le greffon de bibliothèque : %s"
+
+#: plugin.cc:187
+#, c-format
+msgid "%s: could not find onload entry point"
+msgstr "%s : impossible de trouver le point d'entrée de chargement"
+
+#: plugin.cc:852
+msgid "input files added by plug-ins in --incremental mode not supported yet"
+msgstr "les fichiers d'entrée ajoutés par les greffons pour le mode --incremental ne sont pas encore pris en charge"
+
+#: powerpc.cc:856
+msgid "missing expected __tls_get_addr call"
+msgstr "un appel attendu à __tls_get_addr est manquant"
+
+#: powerpc.cc:1663 powerpc.cc:1865
+#, c-format
+msgid "%s: ABI version %d is not compatible with ABI version %d output"
+msgstr "%s : la version ABI %d n'est pas compatible avec la sortie de la version ABI %d"
+
+#: powerpc.cc:1697 powerpc.cc:1907
+#, c-format
+msgid "%s: .opd invalid in abiv%d"
+msgstr "%s : .opd invalide dans abiv%d"
+
+#: powerpc.cc:1765
+#, c-format
+msgid "%s: unexpected reloc type %u in .opd section"
+msgstr "%s : type relocalisation %u inattendue dans la section .opd"
+
+#: powerpc.cc:1776
+#, c-format
+msgid "%s: .opd is not a regular array of opd entries"
+msgstr "%s : .opd n'est pas un tableau licite d'entrées opd"
+
+#: powerpc.cc:1843
+#, c-format
+msgid "%s: local symbol %d has invalid st_other for ABI version 1"
+msgstr "%s : le symbole local %da un st_other invalide pour la version ABI 1"
+
+#: powerpc.cc:2420
+#, c-format
+msgid "%s:%s exceeds group size"
+msgstr "%s : %s dépasse la taille d'un groupe"
+
+#: powerpc.cc:2643
+#, c-format
+msgid "%s:%s: branch in non-executable section, no long branch stub for you"
+msgstr "%s : %s : branchement dans une section non exécutable, pas d'espace d'amorçage pour branche distante pour toi"
+
+#: powerpc.cc:3966
+msgid "** glink"
+msgstr "** glink"
+
+#: powerpc.cc:4136 powerpc.cc:4500
+#, c-format
+msgid "%s: linkage table error against `%s'"
+msgstr "%s : erreur dans la table d'édition de liens vers « %s »"
+
+#: powerpc.cc:4607
+msgid "** save/restore"
+msgstr "** sauvegarder/restaurer"
+
+#: powerpc.cc:5216 sparc.cc:2212
+msgid "requires unsupported dynamic reloc; recompile with -fPIC"
+msgstr "nécessite une relocalisation dynamique non prise en charge ; veuillez recompiler avec -fPIC"
+
+#: powerpc.cc:5289
+#, c-format
+msgid "%s: unsupported reloc %u for IFUNC symbol"
+msgstr "%s : relocalisation %u pour un symbole IFUNC non prise en charge"
+
+#: powerpc.cc:6329 sparc.cc:3076 tilegx.cc:4193 x86_64.cc:3114
+#, c-format
+msgid "%s: unsupported REL reloc section"
+msgstr "%s : section de relocalisation REL non prise en charge"
+
+#: powerpc.cc:6626
+msgid "__tls_get_addr call lacks marker reloc"
+msgstr "appel __tls_get_add sans marqueur de relocalisation"
+
+#: powerpc.cc:6772
+msgid "call lacks nop, can't restore toc; recompile with -fPIC"
+msgstr "nop fait défaut lors de l'appel, impossible de restaurer la toc ; recompiler avec -fPIC"
+
+#: powerpc.cc:7206 powerpc.cc:7230
+#, c-format
+msgid "toc optimization is not supported for %#08x instruction"
+msgstr "optimization toc non prise en charge pour l'instruction %#08x"
+
+#: powerpc.cc:7568
+msgid "relocation overflow"
+msgstr "débordement de relocalisation"
+
+#: readsyms.cc:285
+#, c-format
+msgid "%s: file is empty"
+msgstr "%s : le fichier est vide"
+
+#. Here we have to handle any other input file types we need.
+#: readsyms.cc:920
+#, c-format
+msgid "%s: not an object or archive"
+msgstr "%s : n'est pas un objet ou une archive"
+
+#: reduced_debug_output.cc:187
+msgid "Debug abbreviations extend beyond .debug_abbrev section; failed to reduce debug abbreviations"
+msgstr "Les abréviations de débogage s'étendent au-delà de la section .debug_abbrev ; échec de la réduction des abréviations de débogage"
+
+#: reduced_debug_output.cc:273
+msgid "Extremely large compile unit in debug info; failed to reduce debug info"
+msgstr "Unité de compilation des informations de débogage très volumineuse ; échec de la réduction des informations de débogage"
+
+#: reduced_debug_output.cc:281
+msgid "Debug info extends beyond .debug_info section;failed to reduce debug info"
+msgstr "Les informations de débogage s'étendent au-delà de la section .debug_info ; échec de la réduction des informations de débogage"
+
+#: reduced_debug_output.cc:301 reduced_debug_output.cc:343
+msgid "Invalid DIE in debug info; failed to reduce debug info"
+msgstr "Les informations de débogage contiennent un DIE invalide ; échec de la réduction des informations de débogage"
+
+#: reduced_debug_output.cc:324
+msgid "Debug info extends beyond .debug_info section; failed to reduce debug info"
+msgstr "Les informations de débogage s'étendent au-delà de la section .debug_info ; échec de la réduction des informations de débogage"
+
+#: reloc.cc:317 reloc.cc:959
+#, c-format
+msgid "relocation section %u uses unexpected symbol table %u"
+msgstr "la section de relocalisation %u utilise de façon inattendue la table de symbole %u"
+
+#: reloc.cc:335 reloc.cc:976
+#, c-format
+msgid "unexpected entsize for reloc section %u: %lu != %u"
+msgstr "la taille de entsize est inattendue pour la section de relocalisation %u : %lu != %u"
+
+#: reloc.cc:344 reloc.cc:985
+#, c-format
+msgid "reloc section %u size %lu uneven"
+msgstr "la taille %2$lu de la section de relocalisation %1$u est impaire"
+
+#: reloc.cc:1367
+#, c-format
+msgid "could not convert call to '%s' to '%s'"
+msgstr "n'a pu convertir l'appel de « %s » en « %s »"
+
+#: reloc.cc:1527
+#, c-format
+msgid "reloc section size %zu is not a multiple of reloc size %d\n"
+msgstr "%zu, taille de la section de relocalisation, n'est pas un multiple de la taille de relocalisation %d\n"
+
+#. We should only see externally visible symbols in the symbol
+#. table.
+#: resolve.cc:194
+msgid "invalid STB_LOCAL symbol in external symbols"
+msgstr "symbole STB_LOCAL invalide dans les symboles externes"
+
+#. Any target which wants to handle STB_LOOS, etc., needs to
+#. define a resolve method.
+#: resolve.cc:200
+#, c-format
+msgid "unsupported symbol binding %d"
+msgstr "liaison de symbole %d non prise en charge"
+
+#. A dynamic object cannot reference a hidden or internal symbol
+#. defined in another object.
+#: resolve.cc:284
+#, c-format
+msgid "%s symbol '%s' in %s is referenced by DSO %s"
+msgstr "le symbole %s « %s » dans %s est référencé par le DSO %s"
+
+#: resolve.cc:406
+#, c-format
+msgid "common of '%s' overriding smaller common"
+msgstr "le commun de « %s » écrase un commun plus petit"
+
+#: resolve.cc:411
+#, c-format
+msgid "common of '%s' overidden by larger common"
+msgstr "le commun de « %s » est écrasé par un commun plus grand"
+
+#: resolve.cc:416
+#, c-format
+msgid "multiple common of '%s'"
+msgstr "commun multiple de « %s »"
+
+#: resolve.cc:458
+#, c-format
+msgid "symbol '%s' used as both __thread and non-__thread"
+msgstr "le symbole « %s » est utilisé à la fois comme __thread et comme non-__thread"
+
+#: resolve.cc:501
+#, c-format
+msgid "multiple definition of '%s'"
+msgstr "définitions redondantes de « %s »"
+
+#: resolve.cc:540
+#, c-format
+msgid "definition of '%s' overriding common"
+msgstr "la définition de « %s » écrase le commun"
+
+#: resolve.cc:575
+#, c-format
+msgid "definition of '%s' overriding dynamic common definition"
+msgstr "la définition de « %s » écrase la définition du commun dynamique"
+
+#: resolve.cc:725
+#, c-format
+msgid "common '%s' overridden by previous definition"
+msgstr "le commun « %s » est écrasé par la définition précédente"
+
+#: resolve.cc:860
+msgid "COPY reloc"
+msgstr "COPIE de relocalisation"
+
+#: resolve.cc:864 resolve.cc:887
+msgid "command line"
+msgstr "ligne de commande"
+
+#: resolve.cc:867
+msgid "linker script"
+msgstr "script de l'éditeur de liens"
+
+#: resolve.cc:871
+msgid "linker defined"
+msgstr "éditeur de liens défini"
+
+#: script-sections.cc:105
+#, c-format
+msgid "section %s overflows end of region %s"
+msgstr "la section %s déborde la fin de la région %s"
+
+#: script-sections.cc:646
+msgid "Attempt to set a memory region for a non-output section"
+msgstr "Tentative d'affectation d'une région mémoire pour une section qui n'est pas en sortie"
+
+#: script-sections.cc:952 script-sections.cc:3583
+msgid "dot may not move backward"
+msgstr "point (.) ne doit pas se déplacer en arrière"
+
+#: script-sections.cc:1019
+msgid "** expression"
+msgstr "** expression"
+
+#: script-sections.cc:1204
+msgid "fill value is not absolute"
+msgstr "la valeur de remplissage n'est pas absolue"
+
+#: script-sections.cc:2348
+#, c-format
+msgid "alignment of section %s is not absolute"
+msgstr "l'alignement de la section %s n'est pas absolu"
+
+#: script-sections.cc:2449
+#, c-format
+msgid "subalign of section %s is not absolute"
+msgstr "le sous alignement de la section %s n'est pas absolu"
+
+#: script-sections.cc:2464
+#, c-format
+msgid "fill of section %s is not absolute"
+msgstr "le remplissage de la section %s n'est pas absolu"
+
+#: script-sections.cc:2577
+msgid "SPECIAL constraints are not implemented"
+msgstr "les contraintes SPÉCIALES ne sont pas implémentées"
+
+#: script-sections.cc:2619
+msgid "mismatched definition for constrained sections"
+msgstr "définition inadéquate pour des sections contraintes"
+
+#: script-sections.cc:3095
+#, c-format
+msgid "region '%.*s' already defined"
+msgstr "région « %.*s » déjà définie"
+
+#: script-sections.cc:3321
+msgid "DATA_SEGMENT_ALIGN may only appear once in a linker script"
+msgstr "DATA_SEGMENT_ALIGN ne peut apparaître qu'une seule fois dans un script d'éditeur de liens"
+
+#: script-sections.cc:3336
+msgid "DATA_SEGMENT_RELRO_END may only appear once in a linker script"
+msgstr "DATA_SEGMENT_RELRO_END ne peut apparaître qu'une seule fois dans un script d'éditeur de liens"
+
+#: script-sections.cc:3341
+msgid "DATA_SEGMENT_RELRO_END must follow DATA_SEGMENT_ALIGN"
+msgstr "DATA_SEGMENT_RELRO_END doit nécessairement suivre DATA_SEGMENT_ALIGN"
+
+#: script-sections.cc:3519
+msgid "no matching section constraint"
+msgstr "pas de contrainte de section associée"
+
+#: script-sections.cc:3914
+msgid "creating a segment to contain the file and program headers outside of any MEMORY region"
+msgstr "crée un segment pour contenir les en-têtes de fichier et de programme en dehors de toute région MEMOIRE"
+
+#: script-sections.cc:3963
+msgid "TLS sections are not adjacent"
+msgstr "sections TLS disjointes"
+
+#: script-sections.cc:4110
+#, c-format
+msgid "allocated section %s not in any segment"
+msgstr "la section %s allouée n'est dans aucun segment"
+
+#: script-sections.cc:4156
+#, c-format
+msgid "no segment %s"
+msgstr "pas de segment %s"
+
+#: script-sections.cc:4169
+msgid "section in two PT_LOAD segments"
+msgstr "section dans deux segments PT_LOAD"
+
+#: script-sections.cc:4176
+msgid "allocated section not in any PT_LOAD segment"
+msgstr "la section allouée n'est dans aucun segment PT_LOAD"
+
+#: script-sections.cc:4205
+msgid "may only specify load address for PT_LOAD segment"
+msgstr "peut seulement spécifier l'adresse de chargement pour le segment PT_LOAD"
+
+#: script-sections.cc:4231
+#, c-format
+msgid "PHDRS load address overrides section %s load address"
+msgstr "l'adresse de chargement PHDRS écrase l'adresse de chargement de la section %s"
+
+#. We could support this if we wanted to.
+#: script-sections.cc:4242
+msgid "using only one of FILEHDR and PHDRS is not currently supported"
+msgstr "l'utilisation disjointe de FILEHDR et PHDRS n'est pas prise en charge pour le moment"
+
+#: script-sections.cc:4257
+msgid "sections loaded on first page without room for file and program headers are not supported"
+msgstr "les sections chargées sur la première page sans espace pour les en-têtes de fichiers et de programmes ne sont pas prises en charge"
+
+#: script-sections.cc:4263
+msgid "using FILEHDR and PHDRS on more than one PT_LOAD segment is not currently supported"
+msgstr "l'utilisation de FILEHDR et PHDR sur plus d'un segment PT_LOAD n'est pas prise en charge pour le moment"
+
+#: script.cc:1132
+msgid "invalid use of PROVIDE for dot symbol"
+msgstr "utilisation invalide de FOURNI (PROVIDE) pour le symbole point (dot)"
+
+#: script.cc:1508
+#, c-format
+msgid "%s: SECTIONS seen after other input files; try -T/--script"
+msgstr "%s : SECTIONS vues après les autres fichiers d'entrée ; essayer -T/--script"
+
+#. We have a match for both the global and local entries for a
+#. version tag. That's got to be wrong.
+#: script.cc:2212
+#, c-format
+msgid "'%s' appears as both a global and a local symbol for version '%s' in script"
+msgstr "« %s » apparaît comme un symbole global mais aussi local pour la version « %s » du script"
+
+#: script.cc:2239
+#, c-format
+msgid "wildcard match appears in both version '%s' and '%s' in script"
+msgstr "une correspondance à un métacaractère apparaît dans les versions « %s » et « %s » du script"
+
+#: script.cc:2244
+#, c-format
+msgid "wildcard match appears as both global and local in version '%s' in script"
+msgstr "une correspondance à un métacaractère apparaît comme locale et globale dans la version « %s » du script"
+
+#: script.cc:2329
+#, c-format
+msgid "using '%s' as version for '%s' which is also named in version '%s' in script"
+msgstr "utilise « %s » comme version pour « %s » qui est également nommé dans la version « %s » du script"
+
+#: script.cc:2427
+#, c-format
+msgid "version script assignment of %s to symbol %s failed: symbol not defined"
+msgstr "échec de l'affectation de %s vers le symbole %s par le script de version : symbole non défini"
+
+#: script.cc:2623
+#, c-format
+msgid "%s:%d:%d: %s"
+msgstr "%s : %d : %d : %s"
+
+#: script.cc:2689
+msgid "library name must be prefixed with -l"
+msgstr "le nom de la bibliothèque doit obligatoirement être préfixé avec -l"
+
+#. There are some options that we could handle here--e.g.,
+#. -lLIBRARY. Should we bother?
+#: script.cc:2816
+#, c-format
+msgid "%s:%d:%d: ignoring command OPTION; OPTION is only valid for scripts specified via -T/--script"
+msgstr "%s : %d : %d : commande OPTION ignorée ; OPTION est seulement valide pour les scripts spécifiés via -T/--script"
+
+#: script.cc:2881
+#, c-format
+msgid "%s:%d:%d: ignoring SEARCH_DIR; SEARCH_DIR is only valid for scripts specified via -T/--script"
+msgstr "%s : %d : %d : RECHERCHE_DE_DOSSIER ignoré ; RECHERCHE_DE_DOSSIER est seulement valide pour les scripts spécifiés via -T/--script"
+
+#: script.cc:2909
+#, c-format
+msgid "%s:%d:%d: invalid use of VERSION in input file"
+msgstr "%s : %d : %d : utilisation incorrecte de VERSION dans le fichier d'entrée"
+
+#: script.cc:3025
+#, c-format
+msgid "unrecognized version script language '%s'"
+msgstr "langage de script de version « %s » inconnu"
+
+#: script.cc:3144 script.cc:3158
+#, c-format
+msgid "%s:%d:%d: DATA_SEGMENT_ALIGN not in SECTIONS clause"
+msgstr "%s : %d : %d : DATA_SEGMENT_ALIGN pas dans la clause SECTIONS"
+
+#: script.cc:3277
+msgid "unknown PHDR type (try integer)"
+msgstr "type PHDR inconnu (essayez le type entier)"
+
+#: script.cc:3296
+#, c-format
+msgid "%s:%d:%d: MEMORY region '%.*s' referred to outside of SECTIONS clause"
+msgstr "%s : %d : %d : région MÉMOIRE « %.*s » pointe en dehors de la clause SECTIONS"
+
+#: script.cc:3307
+#, c-format
+msgid "%s:%d:%d: MEMORY region '%.*s' not declared"
+msgstr "%s : %d : %d : région MÉMOIRE « %.*s » non déclarée"
+
+#: script.cc:3352
+msgid "unknown MEMORY attribute"
+msgstr "attribut MÉMOIRE inconnu"
+
+#: script.cc:3382
+#, c-format
+msgid "undefined memory region '%s' referenced in ORIGIN expression"
+msgstr "la région mémoire « %s » référencée dans l'expression ORIGINE n'a pas été définie"
+
+#: script.cc:3401
+#, c-format
+msgid "undefined memory region '%s' referenced in LENGTH expression"
+msgstr "la région mémoire « %s » référencée dans l'expression LONGUEUR n'a pas été définie"
+
+#: sparc.cc:4326
+#, c-format
+msgid "%s: little endian elf flag set on BE object"
+msgstr "%s : attribut elf petit-boutiste activé sur un objet BE"
+
+#: sparc.cc:4329
+#, c-format
+msgid "%s: little endian elf flag clear on LE object"
+msgstr "%s : attribut elf gros-boutiste activé sur un objet LE"
+
+#: stringpool.cc:510
+#, c-format
+msgid "%s: %s entries: %zu; buckets: %zu\n"
+msgstr "%s : entrées %s : %zu ; groupes de blocs : %zu\n"
+
+#: stringpool.cc:514
+#, c-format
+msgid "%s: %s entries: %zu\n"
+msgstr "%s : %s entrées : %zu\n"
+
+#: stringpool.cc:517
+#, c-format
+msgid "%s: %s Stringdata structures: %zu\n"
+msgstr "%s : %s structures de données de chaînes de caractères : %zu\n"
+
+#: symtab.cc:374
+#, c-format
+msgid "Cannot export local symbol '%s'"
+msgstr "Impossible d'exporter le symbole local « %s »"
+
+#: symtab.cc:904
+#, c-format
+msgid "%s: reference to %s"
+msgstr "%s : référence à %s"
+
+#: symtab.cc:906
+#, c-format
+msgid "%s: definition of %s"
+msgstr "%s : définition de %s"
+
+#: symtab.cc:1104
+#, c-format
+msgid "bad global symbol name offset %u at %zu"
+msgstr "l'offset %u du nom de symbole global à la position %zu est incorrect"
+
+#: symtab.cc:1358
+msgid "--just-symbols does not make sense with a shared object"
+msgstr "--just-symbols n'a pas de sens avec un objet partagé"
+
+#: symtab.cc:1369
+msgid "too few symbol versions"
+msgstr "pas assez de versions de symboles"
+
+#: symtab.cc:1418
+#, c-format
+msgid "bad symbol name offset %u at %zu"
+msgstr "l'offset %u du nom de symbole à la position %zu est incorrect"
+
+#: symtab.cc:1481
+#, c-format
+msgid "versym for symbol %zu out of range: %u"
+msgstr "versym hors de portée pour le symbole %zu : %u"
+
+#: symtab.cc:1489
+#, c-format
+msgid "versym for symbol %zu has no name: %u"
+msgstr "versym sans nom pour le symbole %zu : %u"
+
+#: symtab.cc:2742 symtab.cc:2881
+#, c-format
+msgid "%s: unsupported symbol section 0x%x"
+msgstr "%s : la section de symbole 0x%x n'est pas prise en charge"
+
+#: symtab.cc:3155
+#, c-format
+msgid "%s: symbol table entries: %zu; buckets: %zu\n"
+msgstr "%s : entrées de la table de symboles : %zu ; groupes de blocs : %zu\n"
+
+#: symtab.cc:3158
+#, c-format
+msgid "%s: symbol table entries: %zu\n"
+msgstr "%s : entrées de la table de symbole : %zu\n"
+
+#: symtab.cc:3310
+#, c-format
+msgid "while linking %s: symbol '%s' defined in multiple places (possible ODR violation):"
+msgstr "lors de l'édition de liens de %s : le symbole « %s » est défini à plusieurs endroits (violation ODR possible) :"
+
+#: symtab.cc:3319 symtab.cc:3322
+#, c-format
+msgid " %s from %s\n"
+msgstr " %s depuis %s\n"
+
+#: target-reloc.h:163
+msgid "internal"
+msgstr "interne"
+
+#: target-reloc.h:166
+msgid "hidden"
+msgstr "caché"
+
+#: target-reloc.h:169
+msgid "protected"
+msgstr "protégé"
+
+#: target-reloc.h:174
+#, c-format
+msgid "%s symbol '%s' is not defined locally"
+msgstr "le symbole %s « %s » n'est pas défini localement"
+
+#: target-reloc.h:414
+#, c-format
+msgid "reloc has bad offset %zu"
+msgstr "la relocalisation a un mauvais offset %zu"
+
+#: target.cc:170
+#, c-format
+msgid "linker does not include stack split support required by %s"
+msgstr "l'éditeur de liens n'inclut pas la prise en charge de la scission de pile requis par %s"
+
+#: tilegx.cc:2074 x86_64.cc:1244
+msgid "out of patch space (PLT); relink with --incremental-full"
+msgstr "à court d'espace de retouche (PLT) ; rééditer les liens avec --incremental-full"
+
+#: tilegx.cc:2724 x86_64.cc:1871
+msgid "TLS_DESC not yet supported for incremental linking"
+msgstr "TLS_DESC n'est pas encore pris en charge pour l'édition de liens incrémentale"
+
+#: tilegx.cc:2779
+msgid "TLS_DESC not yet supported for TILEGX"
+msgstr "TLS_DESC n'est pas encore pris en charge pour TILEGX"
+
+#: tilegx.cc:3188 x86_64.cc:2257
+#, c-format
+msgid "requires unsupported dynamic reloc %u; recompile with -fPIC"
+msgstr "nécessite une relocalisation dynamique %u non prise en charge ; veuillez recompiler avec -fPIC"
+
+#: tls.h:59
+msgid "TLS relocation out of range"
+msgstr "relocalisation TLS hors de portée"
+
+#: tls.h:73
+msgid "TLS relocation against invalid instruction"
+msgstr "relocalisation TLS pour une instruction invalide"
+
+#. This output is intended to follow the GNU standards.
+#: version.cc:66
+#, c-format
+msgid "Copyright 2014 Free Software Foundation, Inc.\n"
+msgstr "Copyright 2014 Free Software Foundation, Inc.\n"
+
+#: version.cc:67
+#, c-format
+msgid ""
+"This program is free software; you may redistribute it under the terms of\n"
+"the GNU General Public License version 3 or (at your option) a later version.\n"
+"This program has absolutely no warranty.\n"
+msgstr ""
+"Ce logiciel est libre ; vous pouvez le redistribuer selon les termes de la\n"
+"version 3 ou suivante de la licence GNU General Public License.\n"
+"Ce programme n'est couvert par AUCUNE garantie.\n"
+
+# le premier %s est le nom d'une fonction
+#: workqueue-threads.cc:106
+#, c-format
+msgid "%s failed: %s"
+msgstr "%s() a échoué : %s"
+
+#: x86_64.cc:2222
+msgid "requires dynamic R_X86_64_32 reloc which may overflow at runtime; recompile with -fPIC"
+msgstr "nécessite une relocalisation dynamique R_X86_64_32 pouvant déborder à l'exécution ; veuillez recompiler avec -fPIC"
+
+#: x86_64.cc:2242
+#, c-format
+msgid "requires dynamic %s reloc against '%s' which may overflow at runtime; recompile with -fPIC"
+msgstr "nécessite une relocalisation dynamique %s vers « %s » pouvant déborder à l'exécution ; recompiler avec -fPIC"
+
+#: x86_64.cc:3776
+#, c-format
+msgid "unsupported reloc type %u"
+msgstr "le type de relocalisation %u n'est pas pris en charge"
+
+#: x86_64.cc:4211
+#, c-format
+msgid "unsupported reloc %u against local symbol"
+msgstr "la relocalisation %u vers un symbole local n'est pas prise en charge"
diff --git a/gold/powerpc.cc b/gold/powerpc.cc
index 3e9fe8176d9..540e1977c62 100644
--- a/gold/powerpc.cc
+++ b/gold/powerpc.cc
@@ -624,6 +624,13 @@ class Target_powerpc : public Sized_target<size, big_endian>
do_can_check_for_function_pointers() const
{ return true; }
+ // Adjust -fsplit-stack code which calls non-split-stack code.
+ void
+ do_calls_non_split(Relobj* object, unsigned int shndx,
+ section_offset_type fnoffset, section_size_type fnsize,
+ unsigned char* view, section_size_type view_size,
+ std::string* from, std::string* to) const;
+
// Relocate a section.
void
relocate_section(const Relocate_info<size, big_endian>*,
@@ -3175,12 +3182,15 @@ static const uint32_t addi_0_12 = 0x380c0000;
static const uint32_t addi_2_2 = 0x38420000;
static const uint32_t addi_3_3 = 0x38630000;
static const uint32_t addi_11_11 = 0x396b0000;
+static const uint32_t addi_12_1 = 0x39810000;
static const uint32_t addi_12_12 = 0x398c0000;
static const uint32_t addis_0_2 = 0x3c020000;
static const uint32_t addis_0_13 = 0x3c0d0000;
+static const uint32_t addis_2_12 = 0x3c4c0000;
static const uint32_t addis_11_2 = 0x3d620000;
static const uint32_t addis_11_11 = 0x3d6b0000;
static const uint32_t addis_11_30 = 0x3d7e0000;
+static const uint32_t addis_12_1 = 0x3d810000;
static const uint32_t addis_12_2 = 0x3d820000;
static const uint32_t addis_12_12 = 0x3d8c0000;
static const uint32_t b = 0x48000000;
@@ -3188,6 +3198,7 @@ static const uint32_t bcl_20_31 = 0x429f0005;
static const uint32_t bctr = 0x4e800420;
static const uint32_t blr = 0x4e800020;
static const uint32_t bnectr_p4 = 0x4ce20420;
+static const uint32_t cmpld_7_12_0 = 0x7fac0040;
static const uint32_t cmpldi_2_0 = 0x28220000;
static const uint32_t cror_15_15_15 = 0x4def7b82;
static const uint32_t cror_31_31_31 = 0x4ffffb82;
@@ -3204,7 +3215,7 @@ static const uint32_t ld_12_12 = 0xe98c0000;
static const uint32_t lfd_0_1 = 0xc8010000;
static const uint32_t li_0_0 = 0x38000000;
static const uint32_t li_12_0 = 0x39800000;
-static const uint32_t lis_0_0 = 0x3c000000;
+static const uint32_t lis_0 = 0x3c000000;
static const uint32_t lis_11 = 0x3d600000;
static const uint32_t lis_12 = 0x3d800000;
static const uint32_t lvx_0_12_0 = 0x7c0c00ce;
@@ -4619,7 +4630,7 @@ Output_data_glink<size, big_endian>::do_write(Output_file* of)
}
else
{
- write_insn<big_endian>(p, lis_0_0 + hi(indx)), p += 4;
+ write_insn<big_endian>(p, lis_0 + hi(indx)), p += 4;
write_insn<big_endian>(p, ori_0_0_0 + l(indx)), p += 4;
}
}
@@ -6479,6 +6490,113 @@ Target_powerpc<size, big_endian>::do_function_location(
}
}
+// FNOFFSET in section SHNDX in OBJECT is the start of a function
+// compiled with -fsplit-stack. The function calls non-split-stack
+// code. Change the function to ensure it has enough stack space to
+// call some random function.
+
+template<int size, bool big_endian>
+void
+Target_powerpc<size, big_endian>::do_calls_non_split(
+ Relobj* object,
+ unsigned int shndx,
+ section_offset_type fnoffset,
+ section_size_type fnsize,
+ unsigned char* view,
+ section_size_type view_size,
+ std::string* from,
+ std::string* to) const
+{
+ // 32-bit not supported.
+ if (size == 32)
+ {
+ // warn
+ Target::do_calls_non_split(object, shndx, fnoffset, fnsize,
+ view, view_size, from, to);
+ return;
+ }
+
+ // The function always starts with
+ // ld %r0,-0x7000-64(%r13) # tcbhead_t.__private_ss
+ // addis %r12,%r1,-allocate@ha
+ // addi %r12,%r12,-allocate@l
+ // cmpld %r12,%r0
+ // but note that the addis or addi may be replaced with a nop
+
+ unsigned char *entry = view + fnoffset;
+ uint32_t insn = elfcpp::Swap<32, big_endian>::readval(entry);
+
+ if ((insn & 0xffff0000) == addis_2_12)
+ {
+ /* Skip ELFv2 global entry code. */
+ entry += 8;
+ insn = elfcpp::Swap<32, big_endian>::readval(entry);
+ }
+
+ unsigned char *pinsn = entry;
+ bool ok = false;
+ const uint32_t ld_private_ss = 0xe80d8fc0;
+ if (insn == ld_private_ss)
+ {
+ int32_t allocate = 0;
+ while (1)
+ {
+ pinsn += 4;
+ insn = elfcpp::Swap<32, big_endian>::readval(pinsn);
+ if ((insn & 0xffff0000) == addis_12_1)
+ allocate += (insn & 0xffff) << 16;
+ else if ((insn & 0xffff0000) == addi_12_1
+ || (insn & 0xffff0000) == addi_12_12)
+ allocate += ((insn & 0xffff) ^ 0x8000) - 0x8000;
+ else if (insn != nop)
+ break;
+ }
+ if (insn == cmpld_7_12_0 && pinsn == entry + 12)
+ {
+ int extra = parameters->options().split_stack_adjust_size();
+ allocate -= extra;
+ if (allocate >= 0 || extra < 0)
+ {
+ object->error(_("split-stack stack size overflow at "
+ "section %u offset %0zx"),
+ shndx, static_cast<size_t>(fnoffset));
+ return;
+ }
+ pinsn = entry + 4;
+ insn = addis_12_1 | (((allocate + 0x8000) >> 16) & 0xffff);
+ if (insn != addis_12_1)
+ {
+ elfcpp::Swap<32, big_endian>::writeval(pinsn, insn);
+ pinsn += 4;
+ insn = addi_12_12 | (allocate & 0xffff);
+ if (insn != addi_12_12)
+ {
+ elfcpp::Swap<32, big_endian>::writeval(pinsn, insn);
+ pinsn += 4;
+ }
+ }
+ else
+ {
+ insn = addi_12_1 | (allocate & 0xffff);
+ elfcpp::Swap<32, big_endian>::writeval(pinsn, insn);
+ pinsn += 4;
+ }
+ if (pinsn != entry + 12)
+ elfcpp::Swap<32, big_endian>::writeval(pinsn, nop);
+
+ ok = true;
+ }
+ }
+
+ if (!ok)
+ {
+ if (!object->has_no_split_stack())
+ object->error(_("failed to match split-stack sequence at "
+ "section %u offset %0zx"),
+ shndx, static_cast<size_t>(fnoffset));
+ }
+}
+
// Scan relocations for a section.
template<int size, bool big_endian>
diff --git a/gold/reloc.cc b/gold/reloc.cc
index df897d3c307..b0f9b1c01aa 100644
--- a/gold/reloc.cc
+++ b/gold/reloc.cc
@@ -1417,13 +1417,21 @@ Sized_relobj_file<size, big_endian>::find_functions(
continue;
bool is_ordinary;
- unsigned int sym_shndx = this->adjust_sym_shndx(i, isym.get_st_shndx(),
- &is_ordinary);
- if (!is_ordinary || sym_shndx != shndx)
+ Symbol_location loc;
+ loc.shndx = this->adjust_sym_shndx(i, isym.get_st_shndx(),
+ &is_ordinary);
+ if (!is_ordinary)
+ continue;
+
+ loc.object = this;
+ loc.offset = isym.get_st_value();
+ parameters->target().function_location(&loc);
+
+ if (loc.shndx != shndx)
continue;
section_offset_type value =
- convert_to_section_size_type(isym.get_st_value());
+ convert_to_section_size_type(loc.offset);
section_size_type fnsize =
convert_to_section_size_type(isym.get_st_size());
diff --git a/gold/resolve.cc b/gold/resolve.cc
index 1c0344c689c..fdae0bae4a4 100644
--- a/gold/resolve.cc
+++ b/gold/resolve.cc
@@ -173,7 +173,7 @@ static const unsigned int common_flag = 2 << def_undef_or_common_shift;
static unsigned int
symbol_to_bits(elfcpp::STB binding, bool is_dynamic,
- unsigned int shndx, bool is_ordinary, elfcpp::STT type)
+ unsigned int shndx, bool is_ordinary)
{
unsigned int bits;
@@ -218,9 +218,7 @@ symbol_to_bits(elfcpp::STB binding, bool is_dynamic,
break;
default:
- if (type == elfcpp::STT_COMMON)
- bits |= common_flag;
- else if (!is_ordinary && Symbol::is_common_shndx(shndx))
+ if (!is_ordinary && Symbol::is_common_shndx(shndx))
bits |= common_flag;
else
bits |= def_flag;
@@ -272,6 +270,15 @@ Symbol_table::resolve(Sized_symbol<size>* to,
if (!object->is_dynamic())
{
+ if (sym.get_st_type() == elfcpp::STT_COMMON
+ && (is_ordinary || !Symbol::is_common_shndx(st_shndx)))
+ {
+ gold_warning(_("STT_COMMON symbol '%s' in %s "
+ "is not in a common section"),
+ to->demangled_name().c_str(),
+ to->object()->name().c_str());
+ return;
+ }
// Record that we've seen this symbol in a regular object.
to->set_in_reg();
}
@@ -314,7 +321,8 @@ Symbol_table::resolve(Sized_symbol<size>* to,
bool adjust_common = false;
typename Sized_symbol<size>::Size_type tosize = 0;
typename Sized_symbol<size>::Value_type tovalue = 0;
- if (to->is_common() && !is_ordinary && st_shndx == elfcpp::SHN_COMMON)
+ if (to->is_common()
+ && !is_ordinary && Symbol::is_common_shndx(st_shndx))
{
adjust_common = true;
tosize = to->symsize();
@@ -370,8 +378,7 @@ Symbol_table::resolve(Sized_symbol<size>* to,
: sym.get_st_type());
unsigned int frombits = symbol_to_bits(sym.get_st_bind(),
object->is_dynamic(),
- st_shndx, is_ordinary,
- fromtype);
+ st_shndx, is_ordinary);
bool adjust_common_sizes;
bool adjust_dyndef;
@@ -454,11 +461,9 @@ Symbol_table::should_override(const Symbol* to, unsigned int frombits,
unsigned int tobits;
if (to->source() == Symbol::IS_UNDEFINED)
- tobits = symbol_to_bits(to->binding(), false, elfcpp::SHN_UNDEF, true,
- to->type());
+ tobits = symbol_to_bits(to->binding(), false, elfcpp::SHN_UNDEF, true);
else if (to->source() != Symbol::FROM_OBJECT)
- tobits = symbol_to_bits(to->binding(), false, elfcpp::SHN_ABS, false,
- to->type());
+ tobits = symbol_to_bits(to->binding(), false, elfcpp::SHN_ABS, false);
else
{
bool is_ordinary;
@@ -466,8 +471,7 @@ Symbol_table::should_override(const Symbol* to, unsigned int frombits,
tobits = symbol_to_bits(to->binding(),
to->object()->is_dynamic(),
shndx,
- is_ordinary,
- to->type());
+ is_ordinary);
}
if ((to->type() == elfcpp::STT_TLS) ^ (fromtype == elfcpp::STT_TLS)
diff --git a/gold/script-sections.cc b/gold/script-sections.cc
index 9ff0feec358..3e377aa3826 100644
--- a/gold/script-sections.cc
+++ b/gold/script-sections.cc
@@ -1457,7 +1457,12 @@ class Input_section_info
// Set the section name.
void
set_section_name(const std::string name)
- { this->section_name_ = name; }
+ {
+ if (is_compressed_debug_section(name.c_str()))
+ this->section_name_ = corresponding_uncompressed_section_name(name);
+ else
+ this->section_name_ = name;
+ }
// Return the section size.
uint64_t
@@ -1555,9 +1560,33 @@ Output_section_element_input::set_section_addresses(
// We build a list of sections which match each
// Input_section_pattern.
+ // If none of the patterns specify a sort option, we throw all
+ // matching input sections into a single bin, in the order we
+ // find them. Otherwise, we put matching input sections into
+ // a separate bin for each pattern, and sort each one as
+ // specified. Thus, an input section spec like this:
+ // *(.foo .bar)
+ // will group all .foo and .bar sections in the order seen,
+ // whereas this:
+ // *(.foo) *(.bar)
+ // will group all .foo sections followed by all .bar sections.
+ // This matches Gnu ld behavior.
+
+ // Things get really weird, though, when you add a sort spec
+ // on some, but not all, of the patterns, like this:
+ // *(SORT_BY_NAME(.foo) .bar)
+ // We do not attempt to match Gnu ld behavior in this case.
+
typedef std::vector<std::vector<Input_section_info> > Matching_sections;
size_t input_pattern_count = this->input_section_patterns_.size();
- if (input_pattern_count == 0)
+ bool any_patterns_with_sort = false;
+ for (size_t i = 0; i < input_pattern_count; ++i)
+ {
+ const Input_section_pattern& isp(this->input_section_patterns_[i]);
+ if (isp.sort != SORT_WILDCARD_NONE)
+ any_patterns_with_sort = true;
+ }
+ if (input_pattern_count == 0 || !any_patterns_with_sort)
input_pattern_count = 1;
Matching_sections matching_sections(input_pattern_count);
@@ -1620,6 +1649,8 @@ Output_section_element_input::set_section_addresses(
++p;
else
{
+ if (!any_patterns_with_sort)
+ i = 0;
matching_sections[i].push_back(isi);
p = input_sections->erase(p);
}
@@ -3174,7 +3205,8 @@ Script_sections::Script_sections()
data_segment_align_start_(),
saw_data_segment_align_(false),
saw_relro_end_(false),
- saw_segment_start_expression_(false)
+ saw_segment_start_expression_(false),
+ segments_created_(false)
{
}
@@ -3981,8 +4013,8 @@ Script_sections::create_note_and_tls_segments(
saw_tls = true;
}
- // If we are making a shared library, and we see a section named
- // .interp then put the .interp section in a PT_INTERP segment.
+ // If we see a section named .interp then put the .interp section
+ // in a PT_INTERP segment.
// This is for GNU ld compatibility.
if (strcmp((*p)->name(), ".interp") == 0)
{
@@ -3993,6 +4025,8 @@ Script_sections::create_note_and_tls_segments(
oseg->add_output_section_to_nonload(*p, seg_flags);
}
}
+
+ this->segments_created_ = true;
}
// Add a program header. The PHDRS clause is syntactically distinct
@@ -4020,6 +4054,10 @@ Script_sections::add_phdr(const char* name, size_t namelen, unsigned int type,
size_t
Script_sections::expected_segment_count(const Layout* layout) const
{
+ // If we've already created the segments, we won't be adding any more.
+ if (this->segments_created_)
+ return 0;
+
if (this->saw_phdrs_clause())
return this->phdrs_elements_->size();
@@ -4031,6 +4069,7 @@ Script_sections::expected_segment_count(const Layout* layout) const
bool saw_note = false;
bool saw_tls = false;
+ bool saw_interp = false;
for (Layout::Section_list::const_iterator p = sections.begin();
p != sections.end();
++p)
@@ -4054,6 +4093,15 @@ Script_sections::expected_segment_count(const Layout* layout) const
saw_tls = true;
}
}
+ else if (strcmp((*p)->name(), ".interp") == 0)
+ {
+ // There can only be one PT_INTERP segment.
+ if (!saw_interp)
+ {
+ ++ret;
+ saw_interp = true;
+ }
+ }
}
return ret;
@@ -4082,6 +4130,7 @@ Script_sections::attach_sections_using_phdrs_clause(Layout* layout)
p != this->phdrs_elements_->end();
++p)
name_to_segment[(*p)->name()] = (*p)->create_segment(layout);
+ this->segments_created_ = true;
// Walk through the output sections and attach them to segments.
// Output sections in the script which do not list segments are
diff --git a/gold/script-sections.h b/gold/script-sections.h
index 2e07aa2b31d..e247ea54ed7 100644
--- a/gold/script-sections.h
+++ b/gold/script-sections.h
@@ -319,6 +319,8 @@ class Script_sections
bool saw_relro_end_;
// Whether we have seen SEGMENT_START.
bool saw_segment_start_expression_;
+ // Whether we have created all necessary segments.
+ bool segments_created_;
};
// Attributes for memory regions.
diff --git a/gold/symtab.h b/gold/symtab.h
index f6c0ac65795..2c9aa32eb0a 100644
--- a/gold/symtab.h
+++ b/gold/symtab.h
@@ -557,8 +557,6 @@ class Symbol
{
if (this->source_ != FROM_OBJECT)
return false;
- if (this->type_ == elfcpp::STT_COMMON)
- return true;
bool is_ordinary;
unsigned int shndx = this->shndx(&is_ordinary);
return !is_ordinary && Symbol::is_common_shndx(shndx);
diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
index a5266b37193..d2f466825be 100644
--- a/gold/testsuite/Makefile.am
+++ b/gold/testsuite/Makefile.am
@@ -1339,6 +1339,15 @@ flagstest_compress_debug_sections: flagstest_debug.o gcctestdir/ld
$(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,--compress-debug-sections=zlib
test -s $@
+# Test --compress-debug-sections with --build-id=tree.
+check_PROGRAMS += flagstest_compress_debug_sections_and_build_id_tree
+flagstest_compress_debug_sections_and_build_id_tree: flagstest_debug.o gcctestdir/ld
+ $(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,--compress-debug-sections=zlib \
+ -Wl,--build-id=tree \
+ -Wl,--build-id-chunk-size-for-treehash=4096 \
+ -Wl,--build-id-min-file-size-for-treehash=0
+ test -s $@
+
# Dump compressed DWARF debug sections.
flagstest_compress_debug_sections.stdout: flagstest_compress_debug_sections
$(TEST_READELF) -w $< | sed -e "s/.zdebug_/.debug_/" > $@.tmp
@@ -1749,6 +1758,19 @@ script_test_11_r.o: gcctestdir/ld $(srcdir)/script_test_11.t script_test_11.o
script_test_11.o: script_test_11.c
$(COMPILE) -c -g -o $@ $<
+# Test difference between "*(a b)" and "*(a) *(b)" in input section spec.
+check_PROGRAMS += script_test_12
+script_test_12: gcctestdir/ld $(srcdir)/script_test_12.t script_test_12a.o script_test_12b.o
+ $(LINK) -Bgcctestdir/ -Wl,-T,$(srcdir)/script_test_12.t script_test_12a.o script_test_12b.o
+
+check_PROGRAMS += script_test_12i
+script_test_12i: gcctestdir/ld $(srcdir)/script_test_12i.t script_test_12a.o script_test_12b.o
+ $(LINK) -Bgcctestdir/ -Wl,-T,$(srcdir)/script_test_12i.t script_test_12a.o script_test_12b.o
+script_test_12a.o: script_test_12a.c
+ $(COMPILE) -O0 -c -o $@ $<
+script_test_12b.o: script_test_12b.c
+ $(COMPILE) -O0 -c -o $@ $<
+
# Test --dynamic-list, --dynamic-list-data, --dynamic-list-cpp-new,
# and --dynamic-list-cpp-typeinfo
diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in
index bcfa3af8f13..1c336c6a78f 100644
--- a/gold/testsuite/Makefile.in
+++ b/gold/testsuite/Makefile.in
@@ -228,6 +228,8 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
# Test --compress-debug-sections.
+# Test --compress-debug-sections with --build-id=tree.
+
# The specialfile output has a tricky case when we also compress debug
# sections, because it requires output-file resizing.
@@ -238,12 +240,15 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
# Test scripts with a relocatable link.
# The -g option is necessary to trigger a bug where a section
# declared in a script file is assigned a non-zero starting address.
+
+# Test difference between "*(a b)" and "*(a) *(b)" in input section spec.
@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_32 = many_sections_test \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ many_sections_r_test initpri1 \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ initpri2 initpri3a \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_specialfile \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections_none \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections_and_build_id_tree \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections_gnu \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections_gabi \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_specialfile_and_compress_debug_sections \
@@ -259,6 +264,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_3 \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ tls_phdrs_script_test \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ tls_script_test script_test_11 \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_12 script_test_12i \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ dynamic_list_2 \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ thin_archive_test_1 \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ thin_archive_test_2
@@ -916,6 +922,7 @@ libgoldtest_a_OBJECTS = $(am_libgoldtest_a_OBJECTS)
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_specialfile$(EXEEXT) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections_none$(EXEEXT) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections$(EXEEXT) \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections_and_build_id_tree$(EXEEXT) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections_gnu$(EXEEXT) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections_gabi$(EXEEXT) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_specialfile_and_compress_debug_sections$(EXEEXT) \
@@ -942,6 +949,8 @@ libgoldtest_a_OBJECTS = $(am_libgoldtest_a_OBJECTS)
@GCC_TRUE@@NATIVE_LINKER_TRUE@ tls_phdrs_script_test$(EXEEXT) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ tls_script_test$(EXEEXT) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_11$(EXEEXT) \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_12$(EXEEXT) \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_12i$(EXEEXT) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ dynamic_list_2$(EXEEXT) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ thin_archive_test_1$(EXEEXT) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ thin_archive_test_2$(EXEEXT)
@@ -1197,6 +1206,15 @@ flagstest_compress_debug_sections_DEPENDENCIES = libgoldtest.a \
../libgold.a ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1)
+flagstest_compress_debug_sections_and_build_id_tree_SOURCES = \
+ flagstest_compress_debug_sections_and_build_id_tree.c
+flagstest_compress_debug_sections_and_build_id_tree_OBJECTS = \
+ flagstest_compress_debug_sections_and_build_id_tree.$(OBJEXT)
+flagstest_compress_debug_sections_and_build_id_tree_LDADD = $(LDADD)
+flagstest_compress_debug_sections_and_build_id_tree_DEPENDENCIES = \
+ libgoldtest.a ../libgold.a ../../libiberty/libiberty.a \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
flagstest_compress_debug_sections_gabi_SOURCES = \
flagstest_compress_debug_sections_gabi.c
flagstest_compress_debug_sections_gabi_OBJECTS = \
@@ -1696,6 +1714,20 @@ script_test_11_DEPENDENCIES = libgoldtest.a ../libgold.a \
../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
$(am__DEPENDENCIES_1)
+script_test_12_SOURCES = script_test_12.c
+script_test_12_OBJECTS = script_test_12.$(OBJEXT)
+script_test_12_LDADD = $(LDADD)
+script_test_12_DEPENDENCIES = libgoldtest.a ../libgold.a \
+ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1)
+script_test_12i_SOURCES = script_test_12i.c
+script_test_12i_OBJECTS = script_test_12i.$(OBJEXT)
+script_test_12i_LDADD = $(LDADD)
+script_test_12i_DEPENDENCIES = libgoldtest.a ../libgold.a \
+ ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
+ $(am__DEPENDENCIES_1)
@GCC_TRUE@@NATIVE_LINKER_TRUE@am_script_test_2_OBJECTS = \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_2.$(OBJEXT) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ script_test_2a.$(OBJEXT) \
@@ -2061,6 +2093,7 @@ SOURCES = $(libgoldtest_a_SOURCES) basic_pic_test.c basic_pie_test.c \
$(exception_x86_64_bnd_test_SOURCES) \
$(exclude_libs_test_SOURCES) \
flagstest_compress_debug_sections.c \
+ flagstest_compress_debug_sections_and_build_id_tree.c \
flagstest_compress_debug_sections_gabi.c \
flagstest_compress_debug_sections_gnu.c \
flagstest_compress_debug_sections_none.c \
@@ -2097,7 +2130,8 @@ SOURCES = $(libgoldtest_a_SOURCES) basic_pic_test.c basic_pie_test.c \
$(protected_2_SOURCES) $(relro_now_test_SOURCES) \
$(relro_script_test_SOURCES) $(relro_strip_test_SOURCES) \
$(relro_test_SOURCES) $(script_test_1_SOURCES) \
- script_test_11.c $(script_test_2_SOURCES) script_test_3.c \
+ script_test_11.c script_test_12.c script_test_12i.c \
+ $(script_test_2_SOURCES) script_test_3.c \
$(searched_file_test_SOURCES) start_lib_test.c \
$(thin_archive_test_1_SOURCES) $(thin_archive_test_2_SOURCES) \
$(tls_phdrs_script_test_SOURCES) $(tls_pic_test_SOURCES) \
@@ -3102,6 +3136,12 @@ exclude_libs_test$(EXEEXT): $(exclude_libs_test_OBJECTS) $(exclude_libs_test_DEP
@NATIVE_LINKER_FALSE@flagstest_compress_debug_sections$(EXEEXT): $(flagstest_compress_debug_sections_OBJECTS) $(flagstest_compress_debug_sections_DEPENDENCIES)
@NATIVE_LINKER_FALSE@ @rm -f flagstest_compress_debug_sections$(EXEEXT)
@NATIVE_LINKER_FALSE@ $(LINK) $(flagstest_compress_debug_sections_OBJECTS) $(flagstest_compress_debug_sections_LDADD) $(LIBS)
+@GCC_FALSE@flagstest_compress_debug_sections_and_build_id_tree$(EXEEXT): $(flagstest_compress_debug_sections_and_build_id_tree_OBJECTS) $(flagstest_compress_debug_sections_and_build_id_tree_DEPENDENCIES)
+@GCC_FALSE@ @rm -f flagstest_compress_debug_sections_and_build_id_tree$(EXEEXT)
+@GCC_FALSE@ $(LINK) $(flagstest_compress_debug_sections_and_build_id_tree_OBJECTS) $(flagstest_compress_debug_sections_and_build_id_tree_LDADD) $(LIBS)
+@NATIVE_LINKER_FALSE@flagstest_compress_debug_sections_and_build_id_tree$(EXEEXT): $(flagstest_compress_debug_sections_and_build_id_tree_OBJECTS) $(flagstest_compress_debug_sections_and_build_id_tree_DEPENDENCIES)
+@NATIVE_LINKER_FALSE@ @rm -f flagstest_compress_debug_sections_and_build_id_tree$(EXEEXT)
+@NATIVE_LINKER_FALSE@ $(LINK) $(flagstest_compress_debug_sections_and_build_id_tree_OBJECTS) $(flagstest_compress_debug_sections_and_build_id_tree_LDADD) $(LIBS)
@GCC_FALSE@flagstest_compress_debug_sections_gabi$(EXEEXT): $(flagstest_compress_debug_sections_gabi_OBJECTS) $(flagstest_compress_debug_sections_gabi_DEPENDENCIES)
@GCC_FALSE@ @rm -f flagstest_compress_debug_sections_gabi$(EXEEXT)
@GCC_FALSE@ $(LINK) $(flagstest_compress_debug_sections_gabi_OBJECTS) $(flagstest_compress_debug_sections_gabi_LDADD) $(LIBS)
@@ -3627,6 +3667,18 @@ script_test_1$(EXEEXT): $(script_test_1_OBJECTS) $(script_test_1_DEPENDENCIES)
@NATIVE_LINKER_FALSE@script_test_11$(EXEEXT): $(script_test_11_OBJECTS) $(script_test_11_DEPENDENCIES)
@NATIVE_LINKER_FALSE@ @rm -f script_test_11$(EXEEXT)
@NATIVE_LINKER_FALSE@ $(LINK) $(script_test_11_OBJECTS) $(script_test_11_LDADD) $(LIBS)
+@GCC_FALSE@script_test_12$(EXEEXT): $(script_test_12_OBJECTS) $(script_test_12_DEPENDENCIES)
+@GCC_FALSE@ @rm -f script_test_12$(EXEEXT)
+@GCC_FALSE@ $(LINK) $(script_test_12_OBJECTS) $(script_test_12_LDADD) $(LIBS)
+@NATIVE_LINKER_FALSE@script_test_12$(EXEEXT): $(script_test_12_OBJECTS) $(script_test_12_DEPENDENCIES)
+@NATIVE_LINKER_FALSE@ @rm -f script_test_12$(EXEEXT)
+@NATIVE_LINKER_FALSE@ $(LINK) $(script_test_12_OBJECTS) $(script_test_12_LDADD) $(LIBS)
+@GCC_FALSE@script_test_12i$(EXEEXT): $(script_test_12i_OBJECTS) $(script_test_12i_DEPENDENCIES)
+@GCC_FALSE@ @rm -f script_test_12i$(EXEEXT)
+@GCC_FALSE@ $(LINK) $(script_test_12i_OBJECTS) $(script_test_12i_LDADD) $(LIBS)
+@NATIVE_LINKER_FALSE@script_test_12i$(EXEEXT): $(script_test_12i_OBJECTS) $(script_test_12i_DEPENDENCIES)
+@NATIVE_LINKER_FALSE@ @rm -f script_test_12i$(EXEEXT)
+@NATIVE_LINKER_FALSE@ $(LINK) $(script_test_12i_OBJECTS) $(script_test_12i_LDADD) $(LIBS)
script_test_2$(EXEEXT): $(script_test_2_OBJECTS) $(script_test_2_DEPENDENCIES)
@rm -f script_test_2$(EXEEXT)
$(script_test_2_LINK) $(script_test_2_OBJECTS) $(script_test_2_LDADD) $(LIBS)
@@ -3858,6 +3910,7 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exception_test_main.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exclude_libs_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flagstest_compress_debug_sections.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flagstest_compress_debug_sections_and_build_id_tree.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flagstest_compress_debug_sections_gabi.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flagstest_compress_debug_sections_gnu.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flagstest_compress_debug_sections_none.Po@am__quote@
@@ -3932,6 +3985,8 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/relro_test_main.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/script_test_1.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/script_test_11.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/script_test_12.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/script_test_12i.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/script_test_2.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/script_test_2a.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/script_test_2b.Po@am__quote@
@@ -4626,6 +4681,8 @@ flagstest_compress_debug_sections_none.log: flagstest_compress_debug_sections_no
@p='flagstest_compress_debug_sections_none$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
flagstest_compress_debug_sections.log: flagstest_compress_debug_sections$(EXEEXT)
@p='flagstest_compress_debug_sections$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+flagstest_compress_debug_sections_and_build_id_tree.log: flagstest_compress_debug_sections_and_build_id_tree$(EXEEXT)
+ @p='flagstest_compress_debug_sections_and_build_id_tree$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
flagstest_compress_debug_sections_gnu.log: flagstest_compress_debug_sections_gnu$(EXEEXT)
@p='flagstest_compress_debug_sections_gnu$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
flagstest_compress_debug_sections_gabi.log: flagstest_compress_debug_sections_gabi$(EXEEXT)
@@ -4678,6 +4735,10 @@ tls_script_test.log: tls_script_test$(EXEEXT)
@p='tls_script_test$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
script_test_11.log: script_test_11$(EXEEXT)
@p='script_test_11$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+script_test_12.log: script_test_12$(EXEEXT)
+ @p='script_test_12$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+script_test_12i.log: script_test_12i$(EXEEXT)
+ @p='script_test_12i$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
dynamic_list_2.log: dynamic_list_2$(EXEEXT)
@p='dynamic_list_2$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
thin_archive_test_1.log: thin_archive_test_1$(EXEEXT)
@@ -5545,6 +5606,12 @@ uninstall-am:
@GCC_TRUE@@NATIVE_LINKER_TRUE@flagstest_compress_debug_sections: flagstest_debug.o gcctestdir/ld
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,--compress-debug-sections=zlib
@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -s $@
+@GCC_TRUE@@NATIVE_LINKER_TRUE@flagstest_compress_debug_sections_and_build_id_tree: flagstest_debug.o gcctestdir/ld
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,--compress-debug-sections=zlib \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id=tree \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-chunk-size-for-treehash=4096 \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-min-file-size-for-treehash=0
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -s $@
# Dump compressed DWARF debug sections.
@GCC_TRUE@@NATIVE_LINKER_TRUE@flagstest_compress_debug_sections.stdout: flagstest_compress_debug_sections
@@ -5748,6 +5815,14 @@ uninstall-am:
@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld -r -o $@ -T $(srcdir)/script_test_11.t script_test_11.o
@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_11.o: script_test_11.c
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -c -g -o $@ $<
+@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_12: gcctestdir/ld $(srcdir)/script_test_12.t script_test_12a.o script_test_12b.o
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -Wl,-T,$(srcdir)/script_test_12.t script_test_12a.o script_test_12b.o
+@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_12i: gcctestdir/ld $(srcdir)/script_test_12i.t script_test_12a.o script_test_12b.o
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(LINK) -Bgcctestdir/ -Wl,-T,$(srcdir)/script_test_12i.t script_test_12a.o script_test_12b.o
+@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_12a.o: script_test_12a.c
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -O0 -c -o $@ $<
+@GCC_TRUE@@NATIVE_LINKER_TRUE@script_test_12b.o: script_test_12b.c
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(COMPILE) -O0 -c -o $@ $<
@GCC_TRUE@@NATIVE_LINKER_TRUE@dynamic_list: basic_test.o gcctestdir/ld $(srcdir)/dynamic_list.t
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ basic_test.o \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--dynamic-list $(srcdir)/dynamic_list.t \
diff --git a/gold/testsuite/script_test_12.t b/gold/testsuite/script_test_12.t
new file mode 100644
index 00000000000..f7e0116c187
--- /dev/null
+++ b/gold/testsuite/script_test_12.t
@@ -0,0 +1,63 @@
+/* script_test_12.t -- linker script test 12 for gold
+
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Written by Cary Coutant <ccoutant@gmail.com>.
+
+ This file is part of gold.
+
+ 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. */
+
+interleaved = 0;
+
+SECTIONS
+{
+ . = 0x400000 + SIZEOF_HEADERS;
+
+ .interp : { *(.interp) }
+ .note : { *(.note .note.*) }
+ .rel.dyn : { *(.rel.dyn) }
+ .rela.dyn : { *(.rela.dyn) }
+ .rel.plt : { *(.rel.plt) }
+ .rela.plt : { *(.rela.plt) }
+ .init : { *(.init) }
+ .plt : { *(.plt) }
+ .text : { *(.text) }
+ .fini : { *(.fini) }
+ .rodata : { *(.rodata .rodata.*) }
+ .eh_frame_hdr : { *(.eh_frame_hdr) }
+ .eh_frame : { *(.eh_frame) }
+
+ . = DATA_SEGMENT_ALIGN(0x1000, 0x1000);
+
+ .init_array : {
+ __init_array_start = .;
+ *(.init_array);
+ __init_array_end = .;
+ }
+ .fini_array : { *(.fini_array) }
+ .jcr : { *(.jcr) }
+ .dynamic : { *(.dynamic) }
+ .got : { *(.got) }
+ .got.plt : { *(.got.plt) }
+ .data : { *(.data) }
+ .test : {
+ test_array_start = .;
+ *(.x1 .x2 .x3);
+ test_array_end = .;
+ }
+ .bss : { *(.bss) }
+
+}
diff --git a/gold/testsuite/script_test_12a.c b/gold/testsuite/script_test_12a.c
new file mode 100644
index 00000000000..6540027d27d
--- /dev/null
+++ b/gold/testsuite/script_test_12a.c
@@ -0,0 +1,75 @@
+/* script_test_12a.c -- a test case for gold
+
+ Copyright (C) 2015 Free Software Foundation, Inc.
+ Written by Cary Coutant <ccoutant@gmail.com>.
+
+ This file is part of gold.
+
+ 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.
+
+ This tests linker script behavior, that gold distinguishes correctly
+ between
+ *(.x1) *(.x2) *(.x3)
+ and
+ *(.x1 .x2 .x3)
+ in an input section spec. In the first case, the output section
+ should contain all .x1 sections, followed by all .x2 sections,
+ then all .x3 sections; i.e.:
+ script_test_12a.o(.x1)
+ script_test_12b.o(.x1)
+ script_test_12a.o(.x2)
+ script_test_12b.o(.x2)
+ script_test_12a.o(.x3)
+ script_test_12b.o(.x3)
+
+ In the second case, the output section should interleave the
+ .x1, .x2, and .x3 sections in the order seen; i.e.:
+ script_test_12a.o(.x1)
+ script_test_12a.o(.x2)
+ script_test_12a.o(.x3)
+ script_test_12b.o(.x1)
+ script_test_12b.o(.x2)
+ script_test_12b.o(.x3)
+
+ The linker scripts set the absolute symbol INTERLEAVED, which we
+ test here to determine which ordering to expect. The scripts also
+ define the symbols test_array_start and test_array_end.
+*/
+
+extern int test_array_start;
+extern int test_array_end;
+extern char interleaved;
+
+int
+main(void)
+{
+ int last = 0;
+ int *p;
+ long should_be_interleaved = (long)&interleaved;
+ int mask = (should_be_interleaved == 1 ? 0x7f : 0xff);
+ for (p = &test_array_start; p < &test_array_end; ++p)
+ {
+ int next = *p & mask;
+ if (next <= last)
+ return 1;
+ last = next;
+ }
+ return 0;
+}
+
+int a1[] __attribute((section(".x1"))) = { 0x01, 0x02, 0x03, 0x04 };
+int a2[] __attribute((section(".x2"))) = { 0x11, 0x12, 0x13, 0x14};
+int a3[] __attribute((section(".x3"))) = { 0x21, 0x22, 0x23, 0x24 };
diff --git a/gold/testsuite/script_test_12b.c b/gold/testsuite/script_test_12b.c
new file mode 100644
index 00000000000..a69866eae98
--- /dev/null
+++ b/gold/testsuite/script_test_12b.c
@@ -0,0 +1,3 @@
+int b1[] __attribute((section(".x1"))) = { 0x85, 0x86, 0x87, 0x88 };
+int b2[] __attribute((section(".x2"))) = { 0x95, 0x96, 0x97, 0x98 };
+int b3[] __attribute((section(".x3"))) = { 0xa5, 0xa6, 0xa7, 0xa8 };
diff --git a/gold/testsuite/script_test_12i.t b/gold/testsuite/script_test_12i.t
new file mode 100644
index 00000000000..d4ef91c969d
--- /dev/null
+++ b/gold/testsuite/script_test_12i.t
@@ -0,0 +1,63 @@
+/* script_test_12i.t -- linker script test 12 for gold, with interleaved sections
+
+ Copyright (C) 2008-2015 Free Software Foundation, Inc.
+ Written by Cary Coutant <ccoutant@gmail.com>.
+
+ This file is part of gold.
+
+ 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. */
+
+interleaved = 1;
+
+SECTIONS
+{
+ . = 0x400000 + SIZEOF_HEADERS;
+
+ .interp : { *(.interp) }
+ .note : { *(.note .note.*) }
+ .rel.dyn : { *(.rel.dyn) }
+ .rela.dyn : { *(.rela.dyn) }
+ .rel.plt : { *(.rel.plt) }
+ .rela.plt : { *(.rela.plt) }
+ .init : { *(.init) }
+ .plt : { *(.plt) }
+ .text : { *(.text) }
+ .fini : { *(.fini) }
+ .rodata : { *(.rodata .rodata.*) }
+ .eh_frame_hdr : { *(.eh_frame_hdr) }
+ .eh_frame : { *(.eh_frame) }
+
+ . = DATA_SEGMENT_ALIGN(0x1000, 0x1000);
+
+ .init_array : {
+ __init_array_start = .;
+ *(.init_array);
+ __init_array_end = .;
+ }
+ .fini_array : { *(.fini_array) }
+ .jcr : { *(.jcr) }
+ .dynamic : { *(.dynamic) }
+ .got : { *(.got) }
+ .got.plt : { *(.got.plt) }
+ .data : { *(.data) }
+ .test : {
+ test_array_start = .;
+ *(.x1) *(.x2) *(.x3)
+ test_array_end = .;
+ }
+ .bss : { *(.bss) }
+
+}
diff --git a/gprof/configure b/gprof/configure
index a4620c95a05..bf4df762c2b 100755
--- a/gprof/configure
+++ b/gprof/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for gprof 2.25.51.0.2.
+# Generated by GNU Autoconf 2.64 for gprof 2.25.51.0.3.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
@@ -556,8 +556,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='gprof'
PACKAGE_TARNAME='gprof'
-PACKAGE_VERSION='2.25.51.0.2'
-PACKAGE_STRING='gprof 2.25.51.0.2'
+PACKAGE_VERSION='2.25.51.0.3'
+PACKAGE_STRING='gprof 2.25.51.0.3'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1299,7 +1299,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures gprof 2.25.51.0.2 to adapt to many kinds of systems.
+\`configure' configures gprof 2.25.51.0.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1370,7 +1370,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of gprof 2.25.51.0.2:";;
+ short | recursive ) echo "Configuration of gprof 2.25.51.0.3:";;
esac
cat <<\_ACEOF
@@ -1476,7 +1476,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-gprof configure 2.25.51.0.2
+gprof configure 2.25.51.0.3
generated by GNU Autoconf 2.64
Copyright (C) 2009 Free Software Foundation, Inc.
@@ -1841,7 +1841,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by gprof $as_me 2.25.51.0.2, which was
+It was created by gprof $as_me 2.25.51.0.3, which was
generated by GNU Autoconf 2.64. Invocation command line was
$ $0 $@
@@ -3649,7 +3649,7 @@ fi
# Define the identity of the package.
PACKAGE='gprof'
- VERSION='2.25.51.0.2'
+ VERSION='2.25.51.0.3'
cat >>confdefs.h <<_ACEOF
@@ -12706,7 +12706,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by gprof $as_me 2.25.51.0.2, which was
+This file was extended by gprof $as_me 2.25.51.0.3, which was
generated by GNU Autoconf 2.64. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -12770,7 +12770,7 @@ Report bugs to the package provider."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-gprof config.status 2.25.51.0.2
+gprof config.status 2.25.51.0.3
configured by $0, generated by GNU Autoconf 2.64,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/include/ChangeLog b/include/ChangeLog
index 91e07ed94af..d85a1b0e73c 100644
--- a/include/ChangeLog
+++ b/include/ChangeLog
@@ -1,3 +1,21 @@
+2015-06-26 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * elf/mips.h (DT_MIPS_RLD_MAP_REL): New macro.
+
+2015-06-22 Nick Clifton <nickc@redhat.com>
+
+ * dis-asm.h (struct disassemble_info): Add stop_vma field.
+
+2015-05-28 Catherine Moore <clm@codesourcery.com>
+
+ include/
+ * bfdlink.h: Rename eh_frame_hdr to eh_frame_hdr_type.
+
+2015-05-22 Yunlian Jiang <yunlian@google.com>
+
+ * libiberty.h (asprintf): Don't declare if HAVE_DECL_ASPRINTF is
+ not defined.
+
2015-05-12 Jiong Wang <jiong.wang@arm.com>
* elf/aarch64.h (R_AARCH64_P32_LD32_GOTPAGE_LO14): New enumeration.
diff --git a/include/bfdlink.h b/include/bfdlink.h
index a1e2911ced7..ff04ef5ac7d 100644
--- a/include/bfdlink.h
+++ b/include/bfdlink.h
@@ -345,9 +345,9 @@ struct bfd_link_info
/* TRUE if PT_GNU_RELRO segment should be created. */
unsigned int relro: 1;
- /* TRUE if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment
- should be created. */
- unsigned int eh_frame_hdr: 1;
+ /* Nonzero if .eh_frame_hdr section and PT_GNU_EH_FRAME ELF segment
+ should be created. 1 for DWARF2 tables, 2 for compact tables. */
+ unsigned int eh_frame_hdr_type: 2;
/* TRUE if we should warn when adding a DT_TEXTREL to a shared object. */
unsigned int warn_shared_textrel: 1;
diff --git a/include/dis-asm.h b/include/dis-asm.h
index ad060eeda74..ebc26048a2c 100644
--- a/include/dis-asm.h
+++ b/include/dis-asm.h
@@ -212,6 +212,14 @@ typedef struct disassemble_info
/* Command line options specific to the target disassembler. */
char * disassembler_options;
+ /* If non-zero then try not disassemble beyond this address, even if
+ there are values left in the buffer. This address is the address
+ of the nearest symbol forwards from the start of the disassembly,
+ and it is assumed that it lies on the boundary between instructions.
+ If an instruction spans this address then this is an error in the
+ file being disassembled. */
+ bfd_vma stop_vma;
+
} disassemble_info;
diff --git a/include/elf/ChangeLog b/include/elf/ChangeLog
index c09a05b05e3..3e7671c5b6a 100644
--- a/include/elf/ChangeLog
+++ b/include/elf/ChangeLog
@@ -1,3 +1,8 @@
+2015-05-29 Roland McGrath <mcgrathr@google.com>
+
+ * common.h (GNU_ABI_TAG_SYLLABLE): New macro.
+ (GNU_ABI_TAG_NACL): New macro.
+
2015-05-11 H.J. Lu <hongjiu.lu@intel.com>
* common.h (EM_486): Renamed to ...
diff --git a/include/elf/common.h b/include/elf/common.h
index 3e9b73a999e..c77b65fcd90 100644
--- a/include/elf/common.h
+++ b/include/elf/common.h
@@ -639,6 +639,8 @@
#define GNU_ABI_TAG_SOLARIS 2
#define GNU_ABI_TAG_FREEBSD 3
#define GNU_ABI_TAG_NETBSD 4
+#define GNU_ABI_TAG_SYLLABLE 5
+#define GNU_ABI_TAG_NACL 6
/* Values for NetBSD .note.netbsd.ident notes. Note name is "NetBSD". */
diff --git a/include/elf/mips.h b/include/elf/mips.h
index 23c21e208f6..3926380e45c 100644
--- a/include/elf/mips.h
+++ b/include/elf/mips.h
@@ -748,6 +748,9 @@ extern void bfd_mips_elf32_swap_reginfo_out
/* Points to the base of a writable PLT. */
#define DT_MIPS_RWPLT 0x70000034
+
+/* Relative offset of run time loader map, used for debugging. */
+#define DT_MIPS_RLD_MAP_REL 0x70000035
/* Flags which may appear in a DT_MIPS_FLAGS entry. */
diff --git a/include/gdb/ChangeLog b/include/gdb/ChangeLog
index d36d6b8f247..24fe00f9193 100644
--- a/include/gdb/ChangeLog
+++ b/include/gdb/ChangeLog
@@ -1,3 +1,10 @@
+2015-06-17 Mike Frysinger <vapier@gentoo.org>
+
+ * callback.h (CB_TARGET_DEFS_MAP): Add name member.
+ (cb_host_str_syscall, cb_host_str_errno, cb_host_str_signal,
+ cb_target_str_syscall, cb_target_str_errno, cb_target_str_signal):
+ Declare.
+
2015-03-28 James Bowman <james.bowman@ftdichip.com>
* sim-ft32.h: New file.
diff --git a/include/gdb/callback.h b/include/gdb/callback.h
index 4628b7eb2aa..80299f13d06 100644
--- a/include/gdb/callback.h
+++ b/include/gdb/callback.h
@@ -59,6 +59,7 @@
name of the symbol. */
typedef struct {
+ const char *name;
int host_val;
int target_val;
} CB_TARGET_DEFS_MAP;
@@ -316,6 +317,14 @@ int cb_target_to_host_signal (host_callback *, int);
/* Translate host signal number to target. */
int cb_host_to_gdb_signal (host_callback *, int);
+/* Translate symbols into human readable strings. */
+const char *cb_host_str_syscall (host_callback *, int);
+const char *cb_host_str_errno (host_callback *, int);
+const char *cb_host_str_signal (host_callback *, int);
+const char *cb_target_str_syscall (host_callback *, int);
+const char *cb_target_str_errno (host_callback *, int);
+const char *cb_target_str_signal (host_callback *, int);
+
/* Translate host stat struct to target.
If stat struct ptr is NULL, just compute target stat struct size.
Result is size of target stat struct or 0 if error. */
diff --git a/include/libiberty.h b/include/libiberty.h
index b33dd65982d..8e096a0db0c 100644
--- a/include/libiberty.h
+++ b/include/libiberty.h
@@ -621,7 +621,7 @@ extern int pexecute (const char *, char * const *, const char *,
extern int pwait (int, int *, int);
-#if !HAVE_DECL_ASPRINTF
+#if defined(HAVE_DECL_ASPRINTF) && !HAVE_DECL_ASPRINTF
/* Like sprintf but provides a pointer to malloc'd storage, which must
be freed by the caller. */
diff --git a/include/opcode/ChangeLog b/include/opcode/ChangeLog
index b5702c5be87..f1b3f1fa264 100644
--- a/include/opcode/ChangeLog
+++ b/include/opcode/ChangeLog
@@ -1,3 +1,44 @@
+2015-06-19 Peter Bergner <bergner@vnet.ibm.com>
+
+ * ppc.h (PPC_OPERAND_OPTIONAL_VALUE): New.
+ (ppc_optional_operand_value): New inline function.
+
+2015-06-04 Matthew Wahab <matthew.wahab@arm.com>
+
+ * aarch64.h (AARCH64_V8_1): New.
+
+2015-06-03 Matthew Wahab <matthew.wahab@arm.com>
+
+ * arm.h (FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_1): New.
+ (ARM_ARCH_V8_1A): New.
+ (ARM_ARCH_V8_1A_FP): New.
+ (ARM_ARCH_V8_1A_SIMD): New.
+ (ARM_ARCH_V8_1A_CRYPTOV1): New.
+ (ARM_FEATURE_CORE): New.
+
+2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
+
+ * arm.h (ARM_EXT2_PAN): New.
+ (ARM_FEATURE_CORE_HIGH): New.
+
+2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
+
+ * arm.h (ARM_FEATURE_ALL): New.
+
+2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
+
+ * aarch64.h (AARCH64_FEATURE_RDMA): New.
+
+2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
+
+ * aarch64.h (AARCH64_FEATURE_LOR): New.
+
+2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
+
+ * aarch64.h (AARCH64_FEATURE_PAN): New.
+ (aarch64_sys_reg_supported_p): Declare.
+ (aarch64_pstatefield_supported_p): Declare.
+
2015-04-30 DJ Delorie <dj@redhat.com>
* rl78.h (RL78_Dis_Isa): New.
diff --git a/include/opcode/aarch64.h b/include/opcode/aarch64.h
index 7130d2dd0c6..dcf0fefd19e 100644
--- a/include/opcode/aarch64.h
+++ b/include/opcode/aarch64.h
@@ -39,11 +39,23 @@ typedef uint32_t aarch64_insn;
#define AARCH64_FEATURE_SIMD 0x00040000 /* SIMD instructions. */
#define AARCH64_FEATURE_CRC 0x00080000 /* CRC instructions. */
#define AARCH64_FEATURE_LSE 0x00100000 /* LSE instructions. */
+#define AARCH64_FEATURE_PAN 0x00200000 /* PAN instructions. */
+#define AARCH64_FEATURE_LOR 0x00400000 /* LOR instructions. */
+#define AARCH64_FEATURE_RDMA 0x00800000 /* v8.1 SIMD instructions. */
/* Architectures are the sum of the base and extensions. */
#define AARCH64_ARCH_V8 AARCH64_FEATURE (AARCH64_FEATURE_V8, \
AARCH64_FEATURE_FP \
| AARCH64_FEATURE_SIMD)
+#define AARCH64_ARCH_V8_1 AARCH64_FEATURE (AARCH64_FEATURE_V8, \
+ AARCH64_FEATURE_FP \
+ | AARCH64_FEATURE_SIMD \
+ | AARCH64_FEATURE_LSE \
+ | AARCH64_FEATURE_PAN \
+ | AARCH64_FEATURE_LOR \
+ | AARCH64_FEATURE_RDMA)
+
+
#define AARCH64_ARCH_NONE AARCH64_FEATURE (0, 0)
#define AARCH64_ANY AARCH64_FEATURE (-1, 0) /* Any basic core. */
@@ -629,6 +641,10 @@ typedef struct
extern const aarch64_sys_reg aarch64_sys_regs [];
extern const aarch64_sys_reg aarch64_pstatefields [];
extern bfd_boolean aarch64_sys_reg_deprecated_p (const aarch64_sys_reg *);
+extern bfd_boolean aarch64_sys_reg_supported_p (const aarch64_feature_set,
+ const aarch64_sys_reg *);
+extern bfd_boolean aarch64_pstatefield_supported_p (const aarch64_feature_set,
+ const aarch64_sys_reg *);
typedef struct
{
diff --git a/include/opcode/arm.h b/include/opcode/arm.h
index 1bf6b3cb55b..a5aa3a1bf3f 100644
--- a/include/opcode/arm.h
+++ b/include/opcode/arm.h
@@ -57,6 +57,8 @@
state. */
#define ARM_EXT_VIRT 0x80000000 /* Virtualization extensions. */
+#define ARM_EXT2_PAN 0x00000001 /* PAN extension. */
+
/* Co-processor space extensions. */
#define ARM_CEXT_XSCALE 0x00000001 /* Allow MIA etc. */
#define ARM_CEXT_MAVERICK 0x00000002 /* Use Cirrus/DSP coprocessor. */
@@ -83,6 +85,7 @@
#define FPU_CRYPTO_EXT_ARMV8 0x00008000 /* Crypto for ARMv8. */
#define CRC_EXT_ARMV8 0x00004000 /* CRC32 for ARMv8. */
#define FPU_VFP_EXT_ARMV8xD 0x00002000 /* Single-precision FP for ARMv8. */
+#define FPU_NEON_EXT_RDMA 0x00001000 /* v8.1 Adv.SIMD extensions. */
/* Architectures are the sum of the base and extensions. The ARM ARM (rev E)
defines the following: ARMv3, ARMv3M, ARMv4xM, ARMv4, ARMv4TxM, ARMv4T,
@@ -201,6 +204,14 @@
#define FPU_ARCH_CRYPTO_NEON_VFP_ARMV8 \
ARM_FEATURE_COPROC (FPU_CRYPTO_ARMV8 | FPU_NEON_ARMV8 | FPU_VFP_ARMV8)
#define ARCH_CRC_ARMV8 ARM_FEATURE_COPROC (CRC_EXT_ARMV8)
+#define FPU_ARCH_NEON_VFP_ARMV8_1 \
+ ARM_FEATURE_COPROC (FPU_NEON_ARMV8 \
+ | FPU_VFP_ARMV8 \
+ | FPU_NEON_EXT_RDMA)
+#define FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_1 \
+ ARM_FEATURE_COPROC (FPU_CRYPTO_ARMV8 | FPU_NEON_ARMV8 | FPU_VFP_ARMV8 \
+ | FPU_NEON_EXT_RDMA)
+
#define FPU_ARCH_ENDIAN_PURE ARM_FEATURE_COPROC (FPU_ENDIAN_PURE)
@@ -239,11 +250,13 @@
#define ARM_ARCH_V7M ARM_FEATURE_CORE_LOW (ARM_AEXT_V7M)
#define ARM_ARCH_V7EM ARM_FEATURE_CORE_LOW (ARM_AEXT_V7EM)
#define ARM_ARCH_V8A ARM_FEATURE_CORE_LOW (ARM_AEXT_V8A)
+#define ARM_ARCH_V8_1A ARM_FEATURE_CORE (ARM_AEXT_V8A, ARM_EXT2_PAN)
/* Some useful combinations: */
#define ARM_ARCH_NONE ARM_FEATURE_LOW (0, 0)
#define FPU_NONE ARM_FEATURE_LOW (0, 0)
#define ARM_ANY ARM_FEATURE (-1, -1, 0) /* Any basic core. */
+#define ARM_FEATURE_ALL ARM_FEATURE (-1, -1, -1)/* All CPU and FPU features. */
#define FPU_ANY_HARD ARM_FEATURE_COPROC (FPU_FPA | FPU_VFP_HARD | FPU_MAVERICK)
#define ARM_ARCH_THUMB2 ARM_FEATURE_CORE_LOW (ARM_EXT_V6T2 | ARM_EXT_V7 \
| ARM_EXT_V7A | ARM_EXT_V7R \
@@ -266,6 +279,17 @@
#define ARM_ARCH_V8A_CRYPTOV1 ARM_FEATURE_LOW (ARM_AEXT_V8A, \
FPU_ARCH_CRYPTO_NEON_VFP_ARMV8)
+/* v8.1-a+fp. */
+#define ARM_ARCH_V8_1A_FP ARM_FEATURE (ARM_AEXT_V8A, ARM_EXT2_PAN, \
+ FPU_ARCH_VFP_ARMV8)
+/* v8.1-a+simd (implies fp). */
+#define ARM_ARCH_V8_1A_SIMD ARM_FEATURE (ARM_AEXT_V8A, ARM_EXT2_PAN, \
+ FPU_ARCH_NEON_VFP_ARMV8_1)
+/* v8.1-a+crypto (implies simd+fp). */
+#define ARM_ARCH_V8_1A_CRYPTOV1 ARM_FEATURE (ARM_AEXT_V8A, ARM_EXT2_PAN, \
+ FPU_ARCH_CRYPTO_NEON_VFP_ARMV8_1)
+
+
/* There are too many feature bits to fit in a single word, so use a
structure. For simplicity we put all core features in array CORE
and everything else in the other. All the bits in element core[0]
@@ -319,6 +343,8 @@ typedef struct
((T1).core[0] == (T2).core[0] && (T1).core[1] == (T2).core[1])
#define ARM_FEATURE_LOW(core, coproc) {{(core), 0}, (coproc)}
+#define ARM_FEATURE_CORE(core1, core2) {{(core1), (core2)}, 0}
#define ARM_FEATURE_CORE_LOW(core) {{(core), 0}, 0}
+#define ARM_FEATURE_CORE_HIGH(core) {{0, (core)}, 0}
#define ARM_FEATURE_COPROC(coproc) {{0, 0}, (coproc)}
#define ARM_FEATURE(core1, core2, coproc) {{(core1), (core2)}, (coproc)}
diff --git a/include/opcode/ppc.h b/include/opcode/ppc.h
index 5dc132ea383..52463653250 100644
--- a/include/opcode/ppc.h
+++ b/include/opcode/ppc.h
@@ -380,6 +380,11 @@ extern const unsigned int num_powerpc_operands;
/* This is a CR FIELD that does not use symbolic names. */
#define PPC_OPERAND_CR_REG (0x200000)
+
+/* This flag is only used with PPC_OPERAND_OPTIONAL. If this operand
+ is omitted, then the value it should use for the operand is stored
+ in the SHIFT field of the immediatly following operand field. */
+#define PPC_OPERAND_OPTIONAL_VALUE (0x400000)
/* The POWER and PowerPC assemblers use a few macros. We keep them
with the operands table for simplicity. The macro table is an
@@ -409,4 +414,12 @@ extern const int powerpc_num_macros;
extern ppc_cpu_t ppc_parse_cpu (ppc_cpu_t, ppc_cpu_t *, const char *);
+static inline long
+ppc_optional_operand_value (const struct powerpc_operand *operand)
+{
+ if ((operand->flags & PPC_OPERAND_OPTIONAL_VALUE) != 0)
+ return (operand+1)->shift;
+ return 0;
+}
+
#endif /* PPC_H */
diff --git a/ld/ChangeLog b/ld/ChangeLog
index f8493186f08..eeb08cdac38 100644
--- a/ld/ChangeLog
+++ b/ld/ChangeLog
@@ -1,3 +1,52 @@
+2015-06-28 H.J. Lu <hongjiu.lu@intel.com>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_handle_option):
+ Replace COMPRESS_DEBUG_ZLIB with COMPRESS_DEBUG_GNU_ZLIB.
+
+2015-06-26 H.J. Lu <hongjiu.lu@intel.com>
+
+ * emulparams/elf_iamcu.sh (COMPILE_IN): New.
+
+2015-06-15 Nick Clifton <nickc@redhat.com>
+
+ PR ld/18466
+ * emultempl/pe.em (pe_find_data_imports): Generate an error if a
+ symbol name is too long to handle.
+ * emultempl/pep.em (pep_find_data_imports): Likewise.
+
+2015-06-12 Tristan Gingold <gingold@adacore.com>
+
+ * NEWS: Mention new option.
+ * lexsup.c (parse_args): Handle --print-memory-usage.
+ (ld_options): Add --print-memory-usage.
+ * ldmain.c (main): Call lang_print_memory_usage.
+ * ldlex.h (enum option_values): Add OPTION_PRINT_MEMORY_USAGE.
+ * ldlang.h: Add prototype of lang_print_memory_usage.
+ * ldlang.c (lang_print_memory_size, lang_print_memory_usage): New
+ functions.
+ * ld.texinfo (Options): Document --print-memory-usage.
+ * ld.h (args_type): Add print_memory_usage field.
+
+2015-06-08 Nick Clifton <nickc@redhat.com>
+
+ * po/fr.po: Updated French Translation.
+
+2015-05-28 Catherine Moore <clm@codesourcery.com>
+ Paul Brook <paul@codesourcery.com>
+
+ * emultempl/elf32.em (gld${EMULATION_NAME}_after_open):
+ Add Compact EH support.
+ * scripttempl/elf.sc: Handle .eh_frame_entry and .gnu_extab
+ sections.
+
+2015-05-17 Chung-Lin Tang <cltang@codesourcery.com>
+
+ * configure.ac (AC_PROG_GREP): Check for grep program.
+ (elf_list_options,elf_shlib_list_options,elf_plt_unwind_list_options):
+ Enable ELF option printing for emulations containing
+ 'TEMPLATE_NAME=elf32'.
+ * configure: Regenerate.
+
2015-05-14 Nick Clifton <nickc@redhat.com>
* ld.texinfo (ASSERT): Describe the interaction with PROVIDEd
diff --git a/ld/NEWS b/ld/NEWS
index 4e84d5a5a6a..140d3c95905 100644
--- a/ld/NEWS
+++ b/ld/NEWS
@@ -7,6 +7,8 @@
* Add support for LLVM plugin.
+* Add --print-memory-usage option to report memory blocks usage.
+
Changes in 2.25:
* PE binaries now once again contain real timestamps by default. To disable
diff --git a/ld/configure b/ld/configure
index ca0f29e8095..d0a07bde3ef 100755
--- a/ld/configure
+++ b/ld/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for ld 2.25.51.0.2.
+# Generated by GNU Autoconf 2.64 for ld 2.25.51.0.3.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
@@ -556,8 +556,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='ld'
PACKAGE_TARNAME='ld'
-PACKAGE_VERSION='2.25.51.0.2'
-PACKAGE_STRING='ld 2.25.51.0.2'
+PACKAGE_VERSION='2.25.51.0.3'
+PACKAGE_STRING='ld 2.25.51.0.3'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -669,8 +669,8 @@ FGREP
SED
LIBTOOL
EGREP
-GREP
CPP
+GREP
am__fastdepCXX_FALSE
am__fastdepCXX_TRUE
CXXDEPMODE
@@ -1349,7 +1349,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures ld 2.25.51.0.2 to adapt to many kinds of systems.
+\`configure' configures ld 2.25.51.0.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1420,7 +1420,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of ld 2.25.51.0.2:";;
+ short | recursive ) echo "Configuration of ld 2.25.51.0.3:";;
esac
cat <<\_ACEOF
@@ -1542,7 +1542,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-ld configure 2.25.51.0.2
+ld configure 2.25.51.0.3
generated by GNU Autoconf 2.64
Copyright (C) 2009 Free Software Foundation, Inc.
@@ -2251,7 +2251,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by ld $as_me 2.25.51.0.2, which was
+It was created by ld $as_me 2.25.51.0.3, which was
generated by GNU Autoconf 2.64. Invocation command line was
$ $0 $@
@@ -4060,7 +4060,7 @@ fi
# Define the identity of the package.
PACKAGE='ld'
- VERSION='2.25.51.0.2'
+ VERSION='2.25.51.0.3'
cat >>confdefs.h <<_ACEOF
@@ -5175,6 +5175,69 @@ else
fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
ac_ext=c
ac_cpp='$CPP $CPPFLAGS'
ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
@@ -5313,69 +5376,6 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
$as_echo_n "checking for egrep... " >&6; }
if test "${ac_cv_path_EGREP+set}" = set; then :
@@ -17073,6 +17073,14 @@ do
case "${i}" in
*elf*)
elf_list_options=TRUE
+ ;;
+ *)
+ if $GREP "TEMPLATE_NAME=elf32" ${srcdir}/emulparams/${i}.sh >/dev/null 2>/dev/null; then
+ elf_list_options=TRUE
+ fi
+ ;;
+ esac
+ if test "$elf_list_options" = "TRUE"; then
. ${srcdir}/emulparams/${i}.sh
if test x${GENERATE_SHLIB_SCRIPT} = xyes; then
elf_shlib_list_options=TRUE
@@ -17080,8 +17088,7 @@ do
if test x${PLT_UNWIND} = xyes; then
elf_plt_unwind_list_options=TRUE
fi
- ;;
- esac
+ fi
;;
esac
done
@@ -17711,7 +17718,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by ld $as_me 2.25.51.0.2, which was
+This file was extended by ld $as_me 2.25.51.0.3, which was
generated by GNU Autoconf 2.64. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -17775,7 +17782,7 @@ Report bugs to the package provider."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-ld config.status 2.25.51.0.2
+ld config.status 2.25.51.0.3
configured by $0, generated by GNU Autoconf 2.64,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/ld/configure.ac b/ld/configure.ac
index e120a05c64d..62aed09aed9 100644
--- a/ld/configure.ac
+++ b/ld/configure.ac
@@ -31,6 +31,7 @@ AM_MAINTAINER_MODE
AC_PROG_CC
AC_PROG_CXX
+AC_PROG_GREP
AC_GNU_SOURCE
AC_USE_SYSTEM_EXTENSIONS
AC_PROG_INSTALL
@@ -326,6 +327,14 @@ do
case "${i}" in
*elf*)
elf_list_options=TRUE
+ ;;
+ *)
+ if $GREP "TEMPLATE_NAME=elf32" ${srcdir}/emulparams/${i}.sh >/dev/null 2>/dev/null; then
+ elf_list_options=TRUE
+ fi
+ ;;
+ esac
+ if test "$elf_list_options" = "TRUE"; then
. ${srcdir}/emulparams/${i}.sh
if test x${GENERATE_SHLIB_SCRIPT} = xyes; then
elf_shlib_list_options=TRUE
@@ -333,8 +342,7 @@ do
if test x${PLT_UNWIND} = xyes; then
elf_plt_unwind_list_options=TRUE
fi
- ;;
- esac
+ fi
;;
esac
done
diff --git a/ld/emulparams/elf_iamcu.sh b/ld/emulparams/elf_iamcu.sh
index adab897174b..39c7a57e6ce 100644
--- a/ld/emulparams/elf_iamcu.sh
+++ b/ld/emulparams/elf_iamcu.sh
@@ -8,6 +8,7 @@ MAXPAGESIZE="CONSTANT (MAXPAGESIZE)"
COMMONPAGESIZE="CONSTANT (COMMONPAGESIZE)"
ARCH=iamcu
MACHINE=
+COMPILE_IN=yes
TEMPLATE_NAME=elf32
GENERATE_SHLIB_SCRIPT=yes
GENERATE_PIE_SCRIPT=yes
diff --git a/ld/emultempl/elf32.em b/ld/emultempl/elf32.em
index 724abf9cefa..284985fdc32 100644
--- a/ld/emultempl/elf32.em
+++ b/ld/emultempl/elf32.em
@@ -1047,30 +1047,57 @@ gld${EMULATION_NAME}_after_open (void)
return;
}
- if (link_info.eh_frame_hdr
- && !link_info.traditional_format)
+ if (!link_info.traditional_format)
{
bfd *abfd, *elfbfd = NULL;
bfd_boolean warn_eh_frame = FALSE;
asection *s;
+ int seen_type = 0;
for (abfd = link_info.input_bfds; abfd; abfd = abfd->link.next)
{
- if (bfd_count_sections (abfd) == 0)
- continue;
- if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
- elfbfd = abfd;
- if (!warn_eh_frame)
+ int type = 0;
+ for (s = abfd->sections; s && type < COMPACT_EH_HDR; s = s->next)
{
- s = bfd_get_section_by_name (abfd, ".eh_frame");
- while (s != NULL
- && (s->size <= 8
- || bfd_is_abs_section (s->output_section)))
- s = bfd_get_next_section_by_name (s);
- warn_eh_frame = s != NULL;
+ const char *name = bfd_get_section_name (abfd, s);
+
+ if (bfd_is_abs_section (s->output_section))
+ continue;
+ if (CONST_STRNEQ (name, ".eh_frame_entry"))
+ type = COMPACT_EH_HDR;
+ else if (strcmp (name, ".eh_frame") == 0 && s->size > 8)
+ type = DWARF2_EH_HDR;
}
- if (elfbfd && warn_eh_frame)
- break;
+
+ if (type != 0)
+ {
+ if (seen_type == 0)
+ {
+ seen_type = type;
+ }
+ else if (seen_type != type)
+ {
+ einfo (_("%P%F: compact frame descriptions incompatible with"
+ " DWARF2 .eh_frame from %B\n"),
+ type == DWARF2_EH_HDR ? abfd : elfbfd);
+ break;
+ }
+
+ if (!elfbfd
+ && (type == COMPACT_EH_HDR || link_info.eh_frame_hdr_type != 0))
+ {
+ if (bfd_get_flavour (abfd) == bfd_target_elf_flavour)
+ elfbfd = abfd;
+
+ warn_eh_frame = TRUE;
+ }
+ }
+
+ if (seen_type == COMPACT_EH_HDR)
+ link_info.eh_frame_hdr_type = COMPACT_EH_HDR;
+
+ if (bfd_count_sections (abfd) == 0)
+ continue;
}
if (elfbfd)
{
@@ -1274,6 +1301,10 @@ fragment <<EOF
einfo ("%P: warning: %s, needed by %B, not found (try using -rpath or -rpath-link)\n",
l->name, l->by);
}
+
+ if (link_info.eh_frame_hdr_type == COMPACT_EH_HDR)
+ if (bfd_elf_parse_eh_frame_entries (NULL, &link_info) == FALSE)
+ einfo (_("%P%F: Failed to parse EH frame entries.\n"));
}
EOF
@@ -2230,7 +2261,7 @@ gld${EMULATION_NAME}_handle_option (int optc)
if (strcasecmp (optarg, "none") == 0)
link_info.compress_debug = COMPRESS_DEBUG_NONE;
else if (strcasecmp (optarg, "zlib") == 0)
- link_info.compress_debug = COMPRESS_DEBUG_ZLIB;
+ link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB;
else if (strcasecmp (optarg, "zlib-gnu") == 0)
link_info.compress_debug = COMPRESS_DEBUG_GNU_ZLIB;
else if (strcasecmp (optarg, "zlib-gabi") == 0)
@@ -2260,7 +2291,7 @@ fragment <<EOF
break;
case OPTION_EH_FRAME_HDR:
- link_info.eh_frame_hdr = TRUE;
+ link_info.eh_frame_hdr_type = DWARF2_EH_HDR;
break;
case OPTION_GROUP:
diff --git a/ld/emultempl/pe.em b/ld/emultempl/pe.em
index 60882cef909..0a5dcbf6fba 100644
--- a/ld/emultempl/pe.em
+++ b/ld/emultempl/pe.em
@@ -1171,11 +1171,20 @@ pe_find_data_imports (void)
if (undef->type == bfd_link_hash_undefined)
{
/* C++ symbols are *long*. */
- char buf[4096];
+#define BUF_SIZE 4096
+ char buf[BUF_SIZE];
if (pe_dll_extra_pe_debug)
printf ("%s:%s\n", __FUNCTION__, undef->root.string);
+ if (strlen (undef->root.string) > (BUF_SIZE - 6))
+ {
+ /* PR linker/18466. */
+ einfo (_("%P: internal error: symbol too long: %s\n"),
+ undef->root.string);
+ return;
+ }
+
sprintf (buf, "__imp_%s", undef->root.string);
sym = bfd_link_hash_lookup (link_info.hash, buf, 0, 0, 1);
diff --git a/ld/emultempl/pep.em b/ld/emultempl/pep.em
index d6de792a7a6..bf362760dba 100644
--- a/ld/emultempl/pep.em
+++ b/ld/emultempl/pep.em
@@ -1151,11 +1151,20 @@ pep_find_data_imports (void)
if (undef->type == bfd_link_hash_undefined)
{
/* C++ symbols are *long*. */
- char buf[4096];
+#define BUF_SIZE 4096
+ char buf[BUF_SIZE];
if (pep_dll_extra_pe_debug)
printf ("%s:%s\n", __FUNCTION__, undef->root.string);
+ if (strlen (undef->root.string) > (BUF_SIZE - 6))
+ {
+ /* PR linker/18466. */
+ einfo (_("%P: internal error: symbol too long: %s\n"),
+ undef->root.string);
+ return;
+ }
+
sprintf (buf, "__imp_%s", undef->root.string);
sym = bfd_link_hash_lookup (link_info.hash, buf, 0, 0, 1);
diff --git a/ld/ld.h b/ld/ld.h
index f804f9c0696..e6ebaae90f5 100644
--- a/ld/ld.h
+++ b/ld/ld.h
@@ -161,6 +161,9 @@ typedef struct {
/* If TRUE we'll just print the default output on stdout. */
bfd_boolean print_output_format;
+ /* If set, display the target memory usage (per memory region). */
+ bfd_boolean print_memory_usage;
+
/* Big or little endian as set on command line. */
enum endian_enum endian;
diff --git a/ld/ld.texinfo b/ld/ld.texinfo
index bf4017d7f90..8c20e5a2c31 100644
--- a/ld/ld.texinfo
+++ b/ld/ld.texinfo
@@ -1476,6 +1476,21 @@ Print the name of the default output format (perhaps influenced by
other command-line options). This is the string that would appear
in an @code{OUTPUT_FORMAT} linker script command (@pxref{File Commands}).
+@kindex --print-memory-usage
+@cindex memory usage
+@item --print-memory-usage
+Print used size, total size and used size of memory regions created with
+the @ref{MEMORY} command. This is useful on embedded targets to have a
+quick view of amount of free memory. The format of the output has one
+headline and one line per region. It is both human readable and easily
+parsable by tools. Here is an example of an output:
+
+@smallexample
+Memory region Used Size Region Size %age Used
+ ROM: 256 KB 1 MB 25.00%
+ RAM: 32 B 2 GB 0.00%
+@end smallexample
+
@cindex help
@cindex usage
@kindex --help
diff --git a/ld/ldlang.c b/ld/ldlang.c
index 2f8f01f1f19..7539ef7f66b 100644
--- a/ld/ldlang.c
+++ b/ld/ldlang.c
@@ -8185,6 +8185,44 @@ lang_ld_feature (char *str)
}
}
+/* Pretty print memory amount. */
+
+static void
+lang_print_memory_size (bfd_vma sz)
+{
+ if ((sz & 0x3fffffff) == 0)
+ printf ("%10" BFD_VMA_FMT "u GB", sz >> 30);
+ else if ((sz & 0xfffff) == 0)
+ printf ("%10" BFD_VMA_FMT "u MB", sz >> 20);
+ else if ((sz & 0x3ff) == 0)
+ printf ("%10" BFD_VMA_FMT "u KB", sz >> 10);
+ else
+ printf (" %10" BFD_VMA_FMT "u B", sz);
+}
+
+/* Implement --print-memory-usage: disply per region memory usage. */
+
+void
+lang_print_memory_usage (void)
+{
+ lang_memory_region_type *r;
+
+ printf ("Memory region Used Size Region Size %%age Used\n");
+ for (r = lang_memory_region_list; r->next != NULL; r = r->next)
+ {
+ bfd_vma used_length = r->current - r->origin;
+ double percent;
+
+ printf ("%16s: ",r->name_list.name);
+ lang_print_memory_size (used_length);
+ lang_print_memory_size ((bfd_vma) r->length);
+
+ percent = used_length * 100.0 / r->length;
+
+ printf (" %6.2f%%\n", percent);
+ }
+}
+
static void
cmdline_lists_init (void)
{
diff --git a/ld/ldlang.h b/ld/ldlang.h
index 6503863d996..3dfee756eaf 100644
--- a/ld/ldlang.h
+++ b/ld/ldlang.h
@@ -688,6 +688,9 @@ ldlang_override_segment_assignment
extern void
lang_ld_feature (char *);
+extern void
+lang_print_memory_usage (void);
+
typedef enum
{
cmdline_is_file_enum,
diff --git a/ld/ldlex.h b/ld/ldlex.h
index 6bdb04edd17..ec5ffcc711e 100644
--- a/ld/ldlex.h
+++ b/ld/ldlex.h
@@ -143,6 +143,7 @@ enum option_values
OPTION_IGNORE_UNRESOLVED_SYMBOL,
OPTION_PUSH_STATE,
OPTION_POP_STATE,
+ OPTION_PRINT_MEMORY_USAGE,
};
/* The initial parser states. */
diff --git a/ld/ldmain.c b/ld/ldmain.c
index eff0add6fef..63b86a03fce 100644
--- a/ld/ldmain.c
+++ b/ld/ldmain.c
@@ -418,6 +418,8 @@ main (int argc, char **argv)
output_cref (config.map_file != NULL ? config.map_file : stdout);
if (nocrossref_list != NULL)
check_nocrossrefs ();
+ if (command_line.print_memory_usage)
+ lang_print_memory_usage ();
#if 0
{
struct bfd_link_hash_entry * h;
diff --git a/ld/lexsup.c b/ld/lexsup.c
index 52727987770..7fecc365c79 100644
--- a/ld/lexsup.c
+++ b/ld/lexsup.c
@@ -526,6 +526,8 @@ static const struct ld_option ld_options[] =
{ {"pop-state", no_argument, NULL, OPTION_POP_STATE},
'\0', NULL, N_("Pop state of flags governing input file handling"),
TWO_DASHES },
+ { {"print-memory-usage", no_argument, NULL, OPTION_PRINT_MEMORY_USAGE},
+ '\0', NULL, N_("Report target memory usage"), TWO_DASHES },
};
#define OPTION_COUNT ARRAY_SIZE (ld_options)
@@ -1496,6 +1498,10 @@ parse_args (unsigned argc, char **argv)
free (oldp);
}
break;
+
+ case OPTION_PRINT_MEMORY_USAGE:
+ command_line.print_memory_usage = TRUE;
+ break;
}
}
diff --git a/ld/po/fr.po b/ld/po/fr.po
index c944ea8e46e..a66527aa172 100644
--- a/ld/po/fr.po
+++ b/ld/po/fr.po
@@ -9,7 +9,7 @@ msgstr ""
"Project-Id-Version: ld 2.24.90\n"
"Report-Msgid-Bugs-To: bug-binutils@gnu.org\n"
"POT-Creation-Date: 2014-02-10 09:42+1030\n"
-"PO-Revision-Date: 2015-04-04 18:53+0200\n"
+"PO-Revision-Date: 2015-06-05 21:14+0200\n"
"Last-Translator: Grégoire Scano <gregoire.scano@malloc.fr>\n"
"Language-Team: French <traduc@traduc.org>\n"
"Language: fr\n"
@@ -35,11 +35,11 @@ msgstr "Erreur rencontrées lors du traitement du fichier %s"
#: emultempl/armcoff.em:192 emultempl/pe.em:1827
msgid "%P: warning: '--thumb-entry %s' is overriding '-e %s'\n"
-msgstr "%P : avertissement : « --thumb-entry %s » écrase « -e %s »\n"
+msgstr "%P : avertissement : « --thumb-entry %s » écrase « -e %s »\n"
#: emultempl/armcoff.em:197 emultempl/pe.em:1832
msgid "%P: warning: cannot find thumb start symbol %s\n"
-msgstr "%P : avertissement : ne peut repérer le symbole thumb de départ %s\n"
+msgstr "%P : avertissement : ne peut repérer le symbole thumb de départ %s\n"
#: emultempl/pe.em:425
#, c-format
@@ -371,36 +371,36 @@ msgstr " --tsaware L'image est avisée du Server Terminal\n"
#: emultempl/pe.em:624
msgid "%P: warning: bad version number in -subsystem option\n"
-msgstr "%P : avertissement : mauvais numéro de version dans l'option -subsystem\n"
+msgstr "%P : avertissement : mauvais numéro de version dans l'option -subsystem\n"
#: emultempl/pe.em:649
msgid "%P%F: invalid subsystem type %s\n"
-msgstr "%P%F : type de sous-système invalide %s\n"
+msgstr "%P%F : type de sous-système invalide %s\n"
#: emultempl/pe.em:670
msgid "%P%F: invalid hex number for PE parameter '%s'\n"
-msgstr "%P%F : nombre hexadécimal invalide pour un paramètre PE « %s »\n"
+msgstr "%P%F : nombre hexadécimal invalide pour un paramètre PE « %s »\n"
#: emultempl/pe.em:687
msgid "%P%F: strange hex info for PE parameter '%s'\n"
-msgstr "%P%F : info étrange en hexadécimal pour un paramètre PE « %s »\n"
+msgstr "%P%F : info étrange en hexadécimal pour un paramètre PE « %s »\n"
#: emultempl/pe.em:702
msgid "%F%P: cannot open base file %s\n"
-msgstr "%F%P : impossible d'ouvrir le fichier de base %s\n"
+msgstr "%F%P : impossible d'ouvrir le fichier de base %s\n"
#: emultempl/pe.em:981
msgid "%P: warning, file alignment > section alignment.\n"
-msgstr "%P : avertissement, alignement de fichier > alignement de section\n"
+msgstr "%P : avertissement, alignement de fichier > alignement de section\n"
#: emultempl/pe.em:994
msgid "%P: warning: --export-dynamic is not supported for PE targets, did you mean --export-all-symbols?\n"
-msgstr "%P : avertissement : --export-dynamic n'est pas pris en charge pour les cibles PE, vouliez-vous dire --export-all-symbols?\n"
+msgstr "%P : avertissement : --export-dynamic n'est pas pris en charge pour les cibles PE, vouliez-vous dire --export-all-symbols?\n"
#: emultempl/pe.em:1070 emultempl/pe.em:1097
#, c-format
msgid "Warning: resolving %s by linking to %s\n"
-msgstr "Avertissement : résolution de %s par un lien vers %s\n"
+msgstr "Avertissement : résolution de %s par un lien vers %s\n"
#: emultempl/pe.em:1075 emultempl/pe.em:1102
msgid "Use --enable-stdcall-fixup to disable these warnings\n"
@@ -413,28 +413,28 @@ msgstr "Utiliser --disable-stdcall-fixup pour inhiber les correctifs\n"
#: emultempl/pe.em:1122
#, c-format
msgid "%C: Cannot get section contents - auto-import exception\n"
-msgstr "%C : Impossible d'obtenir le contenu de section - exception auto-import\n"
+msgstr "%C : Impossible d'obtenir le contenu de section - exception auto-import\n"
#: emultempl/pe.em:1162
#, c-format
msgid "Info: resolving %s by linking to %s (auto-import)\n"
-msgstr "Info : résolution de %s par un lien vers %s (auto-importé)\n"
+msgstr "Info : résolution de %s par un lien vers %s (auto-importé)\n"
#: emultempl/pe.em:1169
msgid ""
"%P: warning: auto-importing has been activated without --enable-auto-import specified on the command line.\n"
"This should work unless it involves constant data structures referencing symbols from auto-imported DLLs.\n"
-msgstr "%P : avertissement : auto-importing a été activé sans que --enable-auto-import n'ait été spécifié dans la ligne de commande.\n"
+msgstr "%P : avertissement : auto-importing a été activé sans que --enable-auto-import n'ait été spécifié dans la ligne de commande.\n"
#: emultempl/pe.em:1176 emultempl/pe.em:1383 emultempl/pe.em:1590 ldcref.c:503
#: ldcref.c:601 ldmain.c:1183 ldmisc.c:300 pe-dll.c:710 pe-dll.c:1276
#: pe-dll.c:1371
msgid "%B%F: could not read symbols: %E\n"
-msgstr "%B%F : impossible de lire les symboles : %E\n"
+msgstr "%B%F : impossible de lire les symboles : %E\n"
#: emultempl/pe.em:1258
msgid "%F%P: cannot perform PE operations on non PE output file '%B'.\n"
-msgstr "%F%P : ne peut effectuer des opérations PE sur le fichier de sortie « %B » qui n'est pas PE.\n"
+msgstr "%F%P : ne peut effectuer des opérations PE sur le fichier de sortie « %B » qui n'est pas PE.\n"
#: emultempl/pe.em:1633
#, c-format
@@ -448,19 +448,19 @@ msgstr "Erreurs rencontrées lors du traitement du fichier %s pour l'interfoncti
#: emultempl/pe.em:1718 ldexp.c:631 ldlang.c:3451 ldmain.c:1128
msgid "%P%F: bfd_link_hash_lookup failed: %E\n"
-msgstr "%P%F : bfd_link_hash_lookup en échec : %E\n"
+msgstr "%P%F : bfd_link_hash_lookup en échec : %E\n"
#: ldcref.c:167
msgid "%X%P: bfd_hash_table_init of cref table failed: %E\n"
-msgstr "%X%P : échec de bfd_hash_table_init sur la table cref : %E\n"
+msgstr "%X%P : échec de bfd_hash_table_init sur la table cref : %E\n"
#: ldcref.c:173
msgid "%X%P: cref_hash_lookup failed: %E\n"
-msgstr "%X%P : cref_hash_lookup en échec : %E\n"
+msgstr "%X%P : cref_hash_lookup en échec : %E\n"
#: ldcref.c:183
msgid "%X%P: cref alloc failed: %E\n"
-msgstr "%X%P : cref alloc en échec : %E\n"
+msgstr "%X%P : cref alloc en échec : %E\n"
#: ldcref.c:365
#, c-format
@@ -489,11 +489,11 @@ msgstr "Aucun symbol\n"
#: ldcref.c:545
msgid "%P: symbol `%T' missing from main hash table\n"
-msgstr "%P : symbole « %T » manquant dans la table de hachage principale\n"
+msgstr "%P : symbole « %T » manquant dans la table de hachage principale\n"
#: ldcref.c:663 ldcref.c:670 ldmain.c:1217 ldmain.c:1224
msgid "%B%F: could not read relocs: %E\n"
-msgstr "%B%F : impossible de lire les relocalisations : %E\n"
+msgstr "%B%F : impossible de lire les relocalisations : %E\n"
#. We found a reloc for the symbol. The symbol is defined
#. in OUTSECNAME. This reloc is from a section which is
@@ -501,23 +501,23 @@ msgstr "%B%F : impossible de lire les relocalisations : %E\n"
#. are prohibited. We must report an error.
#: ldcref.c:697
msgid "%X%C: prohibited cross reference from %s to `%T' in %s\n"
-msgstr "%X%C : référence croisée prohibé de %s vers « %T » dans %s\n"
+msgstr "%X%C : référence croisée prohibé de %s vers « %T » dans %s\n"
#: ldctor.c:85
msgid "%P%X: Different relocs used in set %s\n"
-msgstr "%P%X : Différentes relocalisations utilisées dans l'ensemble %s\n"
+msgstr "%P%X : Différentes relocalisations utilisées dans l'ensemble %s\n"
#: ldctor.c:103
msgid "%P%X: Different object file formats composing set %s\n"
-msgstr "%P%X : Différents format de fichiers objet composant l'ensemble %s\n"
+msgstr "%P%X : Différents format de fichiers objet composant l'ensemble %s\n"
#: ldctor.c:281 ldctor.c:295
msgid "%P%X: %s does not support reloc %s for set %s\n"
-msgstr "%P%X : %s ne prend pas en charge la relocalisation %s pour l'ensemble %s\n"
+msgstr "%P%X : %s ne prend pas en charge la relocalisation %s pour l'ensemble %s\n"
#: ldctor.c:316
msgid "%P%X: Unsupported size %d for set %s\n"
-msgstr "%P%X : Taille %d non prise en charge pour l'ensemble %s\n"
+msgstr "%P%X : Taille %d non prise en charge pour l'ensemble %s\n"
#: ldctor.c:339
msgid ""
@@ -541,11 +541,11 @@ msgstr "%S HLL ignoré\n"
#: ldemul.c:291
msgid "%P: unrecognised emulation mode: %s\n"
-msgstr "%P : mode d'émulation non reconnu : %s\n"
+msgstr "%P : mode d'émulation non reconnu : %s\n"
#: ldemul.c:292
msgid "Supported emulations: "
-msgstr "Émulations prises en charge : "
+msgstr "Émulations prises en charge : "
#: ldemul.c:334
#, c-format
@@ -554,7 +554,7 @@ msgstr " aucune option spécifique d'émulation.\n"
#: ldexp.c:346
msgid "%P: warning: address of `%s' isn't multiple of maximum page size\n"
-msgstr "%P : avertissement : l'adresse de «%s» n'est pas un multiple de la taille maximale des pages\n"
+msgstr "%P : avertissement : l'adresse de «%s» n'est pas un multiple de la taille maximale des pages\n"
#: ldexp.c:439
#, c-format
@@ -569,27 +569,27 @@ msgstr "%F%S / by zéro\n"
#: ldexp.c:643
#, c-format
msgid "%X%S: unresolvable symbol `%s' referenced in expression\n"
-msgstr "%X%S : symbole non résolu « %s » référencé dans l'expression\n"
+msgstr "%X%S : symbole non résolu « %s » référencé dans l'expression\n"
#: ldexp.c:658
#, c-format
msgid "%F%S: undefined symbol `%s' referenced in expression\n"
-msgstr "%F%S : symbole non résolu « %s » référencé dans l'expression\n"
+msgstr "%F%S : symbole non résolu « %s » référencé dans l'expression\n"
#: ldexp.c:680 ldexp.c:698 ldexp.c:726
#, c-format
msgid "%F%S: undefined section `%s' referenced in expression\n"
-msgstr "%F%S : section non définie « %s » référencée dans l'expression\n"
+msgstr "%F%S : section non définie « %s » référencée dans l'expression\n"
#: ldexp.c:756 ldexp.c:771
#, c-format
msgid "%F%S: undefined MEMORY region `%s' referenced in expression\n"
-msgstr "%F%S : région MÉMOIRE indéfinie « %s » référencé dans l'expression\n"
+msgstr "%F%S : région MÉMOIRE indéfinie « %s » référencé dans l'expression\n"
#: ldexp.c:783
#, c-format
msgid "%F%S: unknown constant `%s' referenced in expression\n"
-msgstr "%F%S : constante inconnue « %s » référencée dans l'expression\n"
+msgstr "%F%S : constante inconnue « %s » référencée dans l'expression\n"
#: ldexp.c:931
#, c-format
@@ -612,12 +612,12 @@ msgstr "%F%S ne peut déplacer le compteur de localisation par en arrière (de %
#: ldexp.c:1035
msgid "%P%F:%s: hash creation failed\n"
-msgstr "%P%F : %s : la création de la table de hachage a échoué\n"
+msgstr "%P%F : %s : la création de la table de hachage a échoué\n"
#: ldexp.c:1368 ldexp.c:1394 ldexp.c:1454
#, c-format
msgid "%F%S: nonconstant expression for %s\n"
-msgstr "%F%S : expression non constante pour %s\n"
+msgstr "%F%S : expression non constante pour %s\n"
#: ldfile.c:132
#, c-format
@@ -631,31 +631,31 @@ msgstr "succès de la tentative d'ouverture de %s\n"
#: ldfile.c:140
msgid "%F%P: invalid BFD target `%s'\n"
-msgstr "%F%P : cible BFD invalide « %s »\n"
+msgstr "%F%P : cible BFD invalide « %s »\n"
#: ldfile.c:257 ldfile.c:286
msgid "%P: skipping incompatible %s when searching for %s\n"
-msgstr "%P : escamotage incompatible %s lors de la recherche de %s\n"
+msgstr "%P : escamotage incompatible %s lors de la recherche de %s\n"
#: ldfile.c:270
msgid "%F%P: attempted static link of dynamic object `%s'\n"
-msgstr "%F%P : tentative de liaison statique de l'objet dynamique `%s'\n"
+msgstr "%F%P : tentative de liaison statique de l'objet dynamique `%s'\n"
#: ldfile.c:408
msgid "%P: cannot find %s (%s): %E\n"
-msgstr "%P : ne peut pas trouver %s (%s) : %E\n"
+msgstr "%P : ne peut pas trouver %s (%s) : %E\n"
#: ldfile.c:411
msgid "%P: cannot find %s: %E\n"
-msgstr "%P : ne peut pas trouver %s : %E\n"
+msgstr "%P : ne peut pas trouver %s : %E\n"
#: ldfile.c:446
msgid "%P: cannot find %s inside %s\n"
-msgstr "%P : ne peut trouver %s à l'intérieur de %s\n"
+msgstr "%P : ne peut trouver %s à l'intérieur de %s\n"
#: ldfile.c:449
msgid "%P: cannot find %s\n"
-msgstr "%P : ne peut trouver %s\n"
+msgstr "%P : ne peut trouver %s\n"
#: ldfile.c:471
#, c-format
@@ -669,39 +669,39 @@ msgstr "fichier de scripts ouvert %s\n"
#: ldfile.c:604
msgid "%P%F: cannot open linker script file %s: %E\n"
-msgstr "%P%F : ne peut ouvrir le fichier de scripts de l'éditeur de liens %s : %E\n"
+msgstr "%P%F : ne peut ouvrir le fichier de scripts de l'éditeur de liens %s : %E\n"
#: ldfile.c:669
msgid "%P%F: cannot represent machine `%s'\n"
-msgstr "%P%F : ne peut représenter la machine « %s »\n"
+msgstr "%P%F : ne peut représenter la machine « %s »\n"
#: ldlang.c:1194 ldlang.c:1232 ldlang.c:3154
msgid "%P%F: can not create hash table: %E\n"
-msgstr "%P%F : ne peut créer une table de hachage : %E\n"
+msgstr "%P%F : ne peut créer une table de hachage : %E\n"
#: ldlang.c:1288
msgid "%P:%S: warning: redeclaration of memory region `%s'\n"
-msgstr "%P : %S : avertissement : redéclaration de la région mémoire « %s »\n"
+msgstr "%P : %S : avertissement : redéclaration de la région mémoire « %s »\n"
#: ldlang.c:1294
msgid "%P:%S: warning: memory region `%s' not declared\n"
-msgstr "%P : %S : avertissement : région mémoire %s non déclarée\n"
+msgstr "%P : %S : avertissement : région mémoire %s non déclarée\n"
#: ldlang.c:1329
msgid "%F%P:%S: error: alias for default memory region\n"
-msgstr "%F%P : %S : erreur : alias pour la région mémoire par défault\n"
+msgstr "%F%P : %S : erreur : alias pour la région mémoire par défault\n"
#: ldlang.c:1340
msgid "%F%P:%S: error: redefinition of memory region alias `%s'\n"
-msgstr "%F%P : %S : erreur : redéfinition de l'alias de la région mémoire « %s »\n"
+msgstr "%F%P : %S : erreur : redéfinition de l'alias de la région mémoire « %s »\n"
#: ldlang.c:1347
msgid "%F%P:%S: error: memory region `%s' for alias `%s' does not exist\n"
-msgstr "%F%P : %S : erreur : la région mémoire « %s » de nom « %s » n'existe pas\n"
+msgstr "%F%P : %S : erreur : la région mémoire « %s » de nom « %s » n'existe pas\n"
#: ldlang.c:1406 ldlang.c:1445
msgid "%P%F: failed creating section `%s': %E\n"
-msgstr "%P%F : ne peut créer la section « %s » : %E\n"
+msgstr "%P%F : ne peut créer la section « %s » : %E\n"
#: ldlang.c:2000
#, c-format
@@ -764,69 +764,69 @@ msgstr ""
#: ldlang.c:2168
msgid "%P%F: Illegal use of `%s' section\n"
-msgstr "%P%F : Utilisation illégale de la section « %s »\n"
+msgstr "%P%F : Utilisation illégale de la section « %s »\n"
#: ldlang.c:2177
msgid "%P%F: output format %s cannot represent section called %s\n"
-msgstr "%P%F : le format de sortie %s ne peut pas représenter la section %s\n"
+msgstr "%P%F : le format de sortie %s ne peut pas représenter la section %s\n"
#: ldlang.c:2739
msgid "%B: file not recognized: %E\n"
-msgstr "%B : fichier non reconnue : %E\n"
+msgstr "%B : fichier non reconnue : %E\n"
#: ldlang.c:2740
msgid "%B: matching formats:"
-msgstr "%B : formats concordants :"
+msgstr "%B : formats concordants :"
#: ldlang.c:2747
msgid "%F%B: file not recognized: %E\n"
-msgstr "%F%B : fichier non reconnu : %E\n"
+msgstr "%F%B : fichier non reconnu : %E\n"
#: ldlang.c:2821
msgid "%F%B: member %B in archive is not an object\n"
-msgstr "%F%B : membre %B dans l'archive n'est pas un objet\n"
+msgstr "%F%B : membre %B dans l'archive n'est pas un objet\n"
#: ldlang.c:2836 ldlang.c:2850
msgid "%F%B: error adding symbols: %E\n"
-msgstr "%F%B : erreur lors de l'ajout de symboles : %E\n"
+msgstr "%F%B : erreur lors de l'ajout de symboles : %E\n"
#: ldlang.c:3124
msgid "%P: warning: could not find any targets that match endianness requirement\n"
msgstr ""
-"%P : avertissement: le repérage des cibles qui concordent avec\n"
+"%P : avertissement: le repérage des cibles qui concordent avec\n"
"les types de système à octets de poids faibles ou forts requis a échoué\n"
#: ldlang.c:3138
msgid "%P%F: target %s not found\n"
-msgstr "%P%F : cible %s non trouvée\n"
+msgstr "%P%F : cible %s non trouvée\n"
#: ldlang.c:3140
msgid "%P%F: cannot open output file %s: %E\n"
-msgstr "%P%F : ne peut ouvrir le fichier de sortie %s : %E\n"
+msgstr "%P%F : ne peut ouvrir le fichier de sortie %s : %E\n"
#: ldlang.c:3146
msgid "%P%F:%s: can not make object file: %E\n"
-msgstr "%P%F : %s : ne peut créer le fichier objet : %E\n"
+msgstr "%P%F : %s : ne peut créer le fichier objet : %E\n"
#: ldlang.c:3150
msgid "%P%F:%s: can not set architecture: %E\n"
-msgstr "%P%F : %s : ne peut initialiser l'architecture : %E\n"
+msgstr "%P%F : %s : ne peut initialiser l'architecture : %E\n"
#: ldlang.c:3322
msgid "%P: warning: %s contains output sections; did you forget -T?\n"
-msgstr "%P : avertissement : %s contient des sections de sortie; avez-vous oublié -T?\n"
+msgstr "%P : avertissement : %s contient des sections de sortie; avez-vous oublié -T?\n"
#: ldlang.c:3372
msgid "%P%F: bfd_hash_allocate failed creating symbol %s\n"
-msgstr "%P%F : échec de bfd_hash_allocate lors de la création du symbole %s\n"
+msgstr "%P%F : échec de bfd_hash_allocate lors de la création du symbole %s\n"
#: ldlang.c:3402
msgid "%P%F: bfd_hash_lookup failed creating symbol %s\n"
-msgstr "%P%F : échec de bfd_hash_lookup lors de la création du symbole %s\n"
+msgstr "%P%F : échec de bfd_hash_lookup lors de la création du symbole %s\n"
#: ldlang.c:3759
msgid "%F%P: %s not found for insert\n"
-msgstr "%F%P : %s pas trouvé pour insertion\n"
+msgstr "%F%P : %s pas trouvé pour insertion\n"
#: ldlang.c:3974
msgid " load address 0x%V"
@@ -848,92 +848,92 @@ msgstr "Échec avec %d\n"
#: ldlang.c:4733
msgid "%X%P: section %s loaded at [%V,%V] overlaps section %s loaded at [%V,%V]\n"
-msgstr "%X%P : la section %s chargée à [%V -> %V] chevauche la section %s chargée à [%V -> %V]\n"
+msgstr "%X%P : la section %s chargée à [%V -> %V] chevauche la section %s chargée à [%V -> %V]\n"
#: ldlang.c:4749
msgid "%X%P: region `%s' overflowed by %ld bytes\n"
-msgstr "%X%P : la région «%s» est débordée de %ld octets\n"
+msgstr "%X%P : la région «%s» est débordée de %ld octets\n"
#: ldlang.c:4772
msgid "%X%P: address 0x%v of %B section `%s' is not within region `%s'\n"
-msgstr "%X%P : l'adresse 0x%v de %B de la section «%s» n'est pas dans la région «%s»\n"
+msgstr "%X%P : l'adresse 0x%v de %B de la section «%s» n'est pas dans la région «%s»\n"
#: ldlang.c:4783
msgid "%X%P: %B section `%s' will not fit in region `%s'\n"
-msgstr "%X%P : %B la section «%s» ne va pas s'adapter à la région «%s»\n"
+msgstr "%X%P : %B la section «%s» ne va pas s'adapter à la région «%s»\n"
#: ldlang.c:4840
#, c-format
msgid "%F%S: non constant or forward reference address expression for section %s\n"
-msgstr "%F%S : référence d'adresse avant d'expression ou non constante pour la section %s\n"
+msgstr "%F%S : référence d'adresse avant d'expression ou non constante pour la section %s\n"
#: ldlang.c:4865
msgid "%P%X: Internal error on COFF shared library section %s\n"
-msgstr "%P%X : erreur interne dans la section de bibliothèque partagée COFF %s\n"
+msgstr "%P%X : erreur interne dans la section de bibliothèque partagée COFF %s\n"
#: ldlang.c:4923
msgid "%P%F: error: no memory region specified for loadable section `%s'\n"
-msgstr "%P%F : erreur : aucune région mémoire spécifiée pour la section chargeable « %s »\n"
+msgstr "%P%F : erreur : aucune région mémoire spécifiée pour la section chargeable « %s »\n"
#: ldlang.c:4928
msgid "%P: warning: no memory region specified for loadable section `%s'\n"
-msgstr "%P : avertissement : aucune région mémoire spécifiée pour la section chargeable « %s »\n"
+msgstr "%P : avertissement : aucune région mémoire spécifiée pour la section chargeable « %s »\n"
#: ldlang.c:4951
msgid "%P: warning: changing start of section %s by %lu bytes\n"
-msgstr "%P : avertissement : modification du début de section %s de %lu octets\n"
+msgstr "%P : avertissement : modification du début de section %s de %lu octets\n"
#: ldlang.c:5040
msgid "%P: warning: dot moved backwards before `%s'\n"
-msgstr "%P : avertissement : point (.) déplacé avant « %s »\n"
+msgstr "%P : avertissement : point (.) déplacé avant « %s »\n"
#: ldlang.c:5212
msgid "%P%F: can't relax section: %E\n"
-msgstr "%P%F : ne peut relâcher la section : %E\n"
+msgstr "%P%F : ne peut relâcher la section : %E\n"
#: ldlang.c:5557
msgid "%F%P: invalid data statement\n"
-msgstr "%F%P : déclaration invalide de données\n"
+msgstr "%F%P : déclaration invalide de données\n"
#: ldlang.c:5590
msgid "%F%P: invalid reloc statement\n"
-msgstr "%F%P : déclaration invalide de relocalisation\n"
+msgstr "%F%P : déclaration invalide de relocalisation\n"
#: ldlang.c:5802
msgid "%P%F: gc-sections requires either an entry or an undefined symbol\n"
-msgstr "%P%F : gc-sections requière soit une entrée, soit un symbole non définit\n"
+msgstr "%P%F : gc-sections requière soit une entrée, soit un symbole non définit\n"
#: ldlang.c:5827
msgid "%P%F:%s: can't set start address\n"
-msgstr "%P%F : %s : ne peut initialiser l'adresse de départ\n"
+msgstr "%P%F : %s : ne peut initialiser l'adresse de départ\n"
#: ldlang.c:5840 ldlang.c:5859
msgid "%P%F: can't set start address\n"
-msgstr "%P%F : impossible d'initialiser l'adresse de départ\n"
+msgstr "%P%F : impossible d'initialiser l'adresse de départ\n"
#: ldlang.c:5852
msgid "%P: warning: cannot find entry symbol %s; defaulting to %V\n"
-msgstr "%P : avertissement : le symbole d'entrée %s est introuvable ; utilise par défaut %V\n"
+msgstr "%P : avertissement : le symbole d'entrée %s est introuvable ; utilise par défaut %V\n"
#: ldlang.c:5864
msgid "%P: warning: cannot find entry symbol %s; not setting start address\n"
-msgstr "%P : avertissement : le symbole d'entrée %s est introuvable ; pas d'initialisation de l'adresse de départ\n"
+msgstr "%P : avertissement : le symbole d'entrée %s est introuvable ; pas d'initialisation de l'adresse de départ\n"
#: ldlang.c:5916
msgid "%P%F: Relocatable linking with relocations from format %s (%B) to format %s (%B) is not supported\n"
-msgstr "%P%F : L'édition de liens relocalisables avec une relocalisation du format %s (%B) vers le format %s (%B) n'est pas prise en charge\n"
+msgstr "%P%F : L'édition de liens relocalisables avec une relocalisation du format %s (%B) vers le format %s (%B) n'est pas prise en charge\n"
#: ldlang.c:5926
msgid "%P%X: %s architecture of input file `%B' is incompatible with %s output\n"
-msgstr "%P%X : architecture %s du fichier d'entrée « %B » est incompatible avec la sortie %s\n"
+msgstr "%P%X : architecture %s du fichier d'entrée « %B » est incompatible avec la sortie %s\n"
#: ldlang.c:5948
msgid "%P%X: failed to merge target specific data of file %B\n"
-msgstr "%E%X : échec de fusion des données spécifiques cibles du fichier %B\n"
+msgstr "%E%X : échec de fusion des données spécifiques cibles du fichier %B\n"
#: ldlang.c:6019
msgid "%P%F: Could not define common symbol `%T': %E\n"
-msgstr "%P%F : Impossible de définir le symbole commun «%T» : %E\n"
+msgstr "%P%F : Impossible de définir le symbole commun «%T» : %E\n"
#: ldlang.c:6031
msgid ""
@@ -953,75 +953,75 @@ msgstr ""
#: ldlang.c:6178
msgid "%P%F: invalid syntax in flags\n"
-msgstr "%P%F : syntaxe invalide dans les fanions\n"
+msgstr "%P%F : syntaxe invalide dans les fanions\n"
#: ldlang.c:6304
msgid "%F%P:%S: error: align with input and explicit align specified\n"
-msgstr "%F%P : %S : erreur : alignement avec l'entrée et alignement explicite défini\n"
+msgstr "%F%P : %S : erreur : alignement avec l'entrée et alignement explicite défini\n"
#: ldlang.c:6645
msgid "%P%F: Failed to create hash table\n"
-msgstr "%P%F : Échec de création de la table de hachage\n"
+msgstr "%P%F : Échec de création de la table de hachage\n"
#: ldlang.c:6668
msgid "%P%F: %s: plugin reported error after all symbols read\n"
-msgstr "%P%F : %s : le greffon a reporté une erreur après avoir lu tous les symboles\n"
+msgstr "%P%F : %s : le greffon a reporté une erreur après avoir lu tous les symboles\n"
#: ldlang.c:6991
msgid "%P%F: multiple STARTUP files\n"
-msgstr "%P%F : fichiers DÉPART multiples\n"
+msgstr "%P%F : fichiers DÉPART multiples\n"
#: ldlang.c:7037
msgid "%X%P:%S: section has both a load address and a load region\n"
-msgstr "%X%P : %S : section a à la fois une adresse de chargement et une région de chargement\n"
+msgstr "%X%P : %S : section a à la fois une adresse de chargement et une région de chargement\n"
#: ldlang.c:7162
msgid "%X%P:%S: PHDRS and FILEHDR are not supported when prior PT_LOAD headers lack them\n"
-msgstr "%X%P : %S : PHDRS et FILEHDR ne sont pas pris en charge lorsque des entêtes prioritaires PT_LOAD ne les ont pas\n"
+msgstr "%X%P : %S : PHDRS et FILEHDR ne sont pas pris en charge lorsque des entêtes prioritaires PT_LOAD ne les ont pas\n"
#: ldlang.c:7235
msgid "%F%P: no sections assigned to phdrs\n"
-msgstr "%F%P : aucune section n'est assignée à phdrs\n"
+msgstr "%F%P : aucune section n'est assignée à phdrs\n"
#: ldlang.c:7273
msgid "%F%P: bfd_record_phdr failed: %E\n"
-msgstr "%F%P : bfd_record_phdr en échec : %E\n"
+msgstr "%F%P : bfd_record_phdr en échec : %E\n"
#: ldlang.c:7293
msgid "%X%P: section `%s' assigned to non-existent phdr `%s'\n"
-msgstr "%X%P : section « %s » affectée à phdr inexistent « %s »\n"
+msgstr "%X%P : section « %s » affectée à phdr inexistent « %s »\n"
#: ldlang.c:7705
msgid "%X%P: unknown language `%s' in version information\n"
-msgstr "%X%P : langage inconnue « %s » dans l'information de la version\n"
+msgstr "%X%P : langage inconnue « %s » dans l'information de la version\n"
#: ldlang.c:7850
msgid "%X%P: anonymous version tag cannot be combined with other version tags\n"
-msgstr "%X%P : étiquette de version anonyme ne peut être combinée avec d'autres étiquettes de version\n"
+msgstr "%X%P : étiquette de version anonyme ne peut être combinée avec d'autres étiquettes de version\n"
#: ldlang.c:7859
msgid "%X%P: duplicate version tag `%s'\n"
-msgstr "%X%P : duplication de l'étiquette de version « %s »\n"
+msgstr "%X%P : duplication de l'étiquette de version « %s »\n"
#: ldlang.c:7880 ldlang.c:7889 ldlang.c:7907 ldlang.c:7917
msgid "%X%P: duplicate expression `%s' in version information\n"
-msgstr "%X%P : duplication de l'expression « %s » dans l'information de version\n"
+msgstr "%X%P : duplication de l'expression « %s » dans l'information de version\n"
#: ldlang.c:7957
msgid "%X%P: unable to find version dependency `%s'\n"
-msgstr "%X%P : incapable de repérer les dépendences de version « %s »\n"
+msgstr "%X%P : incapable de repérer les dépendences de version « %s »\n"
#: ldlang.c:7980
msgid "%X%P: unable to read .exports section contents\n"
-msgstr "%X%P : incapable de lire le contenu de la section .exports\n"
+msgstr "%X%P : incapable de lire le contenu de la section .exports\n"
#: ldlang.c:8104
msgid "%X%P: unknown feature `%s'\n"
-msgstr "%P%F : caractéristique inconnue «%s»\n"
+msgstr "%P%F : caractéristique inconnue «%s»\n"
#: ldmain.c:246
msgid "%X%P: can't set BFD default target to `%s': %E\n"
-msgstr "%X%P : impossible d'initialiser la cible par défaut de BFD à « %s » : %E\n"
+msgstr "%X%P : impossible d'initialiser la cible par défaut de BFD à « %s » : %E\n"
#: ldmain.c:336
msgid "built in linker script"
@@ -1029,82 +1029,82 @@ msgstr "construit dans le script d'édition de liens"
#: ldmain.c:346
msgid "using external linker script:"
-msgstr "utilisation du script externe d'édition de liens :"
+msgstr "utilisation du script externe d'édition de liens :"
#: ldmain.c:348
msgid "using internal linker script:"
-msgstr "utilisation du script interne d'édition de liens :"
+msgstr "utilisation du script interne d'édition de liens :"
#: ldmain.c:385
msgid "%P%F: no input files\n"
-msgstr "%P%F : aucun fichier d'entrée\n"
+msgstr "%P%F : aucun fichier d'entrée\n"
#: ldmain.c:389
msgid "%P: mode %s\n"
-msgstr "%P : mode %s\n"
+msgstr "%P : mode %s\n"
#: ldmain.c:405
msgid "%P%F: cannot open map file %s: %E\n"
-msgstr "%P%F : impossible d'ouvrir le fichier de la table de projection %s : %E\n"
+msgstr "%P%F : impossible d'ouvrir le fichier de la table de projection %s : %E\n"
#: ldmain.c:437
msgid "%P: link errors found, deleting executable `%s'\n"
-msgstr "%P : erreurs de lien trouvés, destruction de l'exécutable « %s »\n"
+msgstr "%P : erreurs de lien trouvés, destruction de l'exécutable « %s »\n"
#: ldmain.c:446
msgid "%F%B: final close failed: %E\n"
-msgstr "%F%B : fermeture finale en échec : %E\n"
+msgstr "%F%B : fermeture finale en échec : %E\n"
#: ldmain.c:472
msgid "%X%P: unable to open for source of copy `%s'\n"
-msgstr "%X%P : incapable d'ouvrir la copie source de « %s »\n"
+msgstr "%X%P : incapable d'ouvrir la copie source de « %s »\n"
#: ldmain.c:475
msgid "%X%P: unable to open for destination of copy `%s'\n"
-msgstr "%X%P : incpapable d'ouvrir la copie destination de « %s »\n"
+msgstr "%X%P : incpapable d'ouvrir la copie destination de « %s »\n"
#: ldmain.c:482
msgid "%P: Error writing file `%s'\n"
-msgstr "%P : Erreur lors de l'écriture du fichier « %s »\n"
+msgstr "%P : Erreur lors de l'écriture du fichier « %s »\n"
#: ldmain.c:487 pe-dll.c:1761
#, c-format
msgid "%P: Error closing file `%s'\n"
-msgstr "%P : Erreur lors de la fermeture du fichier « %s »\n"
+msgstr "%P : Erreur lors de la fermeture du fichier « %s »\n"
#: ldmain.c:504
#, c-format
msgid "%s: total time in link: %ld.%06ld\n"
-msgstr "%s : temps total d'édition de liens : %ld.%06ld\n"
+msgstr "%s : temps total d'édition de liens : %ld.%06ld\n"
#: ldmain.c:507
#, c-format
msgid "%s: data size %ld\n"
-msgstr "%s : tailles des données %ld\n"
+msgstr "%s : tailles des données %ld\n"
#: ldmain.c:591
msgid "%P%F: missing argument to -m\n"
-msgstr "%P%F : argument manquant pour -m\n"
+msgstr "%P%F : argument manquant pour -m\n"
#: ldmain.c:639 ldmain.c:656 ldmain.c:676 ldmain.c:708
msgid "%P%F: bfd_hash_table_init failed: %E\n"
-msgstr "%P%F : bfd_hash_table_init en échec : %E\n"
+msgstr "%P%F : bfd_hash_table_init en échec : %E\n"
#: ldmain.c:643 ldmain.c:660 ldmain.c:680
msgid "%P%F: bfd_hash_lookup failed: %E\n"
-msgstr "%P%F : bfd_hash_lookup en échec : %E\n"
+msgstr "%P%F : bfd_hash_lookup en échec : %E\n"
#: ldmain.c:694
msgid "%X%P: error: duplicate retain-symbols-file\n"
-msgstr "%X%P : erreur : duplication dans retain-symbols-file\n"
+msgstr "%X%P : erreur : duplication dans retain-symbols-file\n"
#: ldmain.c:738
msgid "%P%F: bfd_hash_lookup for insertion failed: %E\n"
-msgstr "%P%F : échec de bfd_hash_lookup lors d'une insertion : %E\n"
+msgstr "%P%F : échec de bfd_hash_lookup lors d'une insertion : %E\n"
#: ldmain.c:743
msgid "%P: `-retain-symbols-file' overrides `-s' and `-S'\n"
-msgstr "%P : « -retain-symbols-file » écrase les options « -s » et « -S »\n"
+msgstr "%P : « -retain-symbols-file » écrase les options « -s » et « -S »\n"
#: ldmain.c:844
#, c-format
@@ -1117,100 +1117,100 @@ msgstr ""
#: ldmain.c:951
msgid "%X%C: multiple definition of `%T'\n"
-msgstr "%X%C : définitions multiples de « %T »\n"
+msgstr "%X%C : définitions multiples de « %T »\n"
#: ldmain.c:954
msgid "%D: first defined here\n"
-msgstr "%D : défini pour la première fois ici\n"
+msgstr "%D : défini pour la première fois ici\n"
#: ldmain.c:958
msgid "%P: Disabling relaxation: it will not work with multiple definitions\n"
-msgstr "%P : Désactivation de la relâche : il ne pourra pas travailler avec des définitions multiples\n"
+msgstr "%P : Désactivation de la relâche : il ne pourra pas travailler avec des définitions multiples\n"
#: ldmain.c:1012
msgid "%B: warning: definition of `%T' overriding common\n"
-msgstr "%B : avertissement : définition de « %T » écrase le commun\n"
+msgstr "%B : avertissement : définition de « %T » écrase le commun\n"
#: ldmain.c:1015
msgid "%B: warning: common is here\n"
-msgstr "%B : avertissement : le commun est ici\n"
+msgstr "%B : avertissement : le commun est ici\n"
#: ldmain.c:1022
msgid "%B: warning: common of `%T' overridden by definition\n"
-msgstr "%B : avertissement : le commun de « %T » écrasé par définition\n"
+msgstr "%B : avertissement : le commun de « %T » écrasé par définition\n"
#: ldmain.c:1025
msgid "%B: warning: defined here\n"
-msgstr "%B : avertissement : défini ici\n"
+msgstr "%B : avertissement : défini ici\n"
#: ldmain.c:1032
msgid "%B: warning: common of `%T' overridden by larger common\n"
-msgstr "%B : avertissement : le commun de « %T » écrasé par un commun de plus grande taille\n"
+msgstr "%B : avertissement : le commun de « %T » écrasé par un commun de plus grande taille\n"
#: ldmain.c:1035
msgid "%B: warning: larger common is here\n"
-msgstr "%B : avertissement : le commun de plus grande taille est ici\n"
+msgstr "%B : avertissement : le commun de plus grande taille est ici\n"
#: ldmain.c:1039
msgid "%B: warning: common of `%T' overriding smaller common\n"
-msgstr "%B : avertissement : le commun de « %T » écrasé par un commun de plus petite taille\n"
+msgstr "%B : avertissement : le commun de « %T » écrasé par un commun de plus petite taille\n"
#: ldmain.c:1042
msgid "%B: warning: smaller common is here\n"
-msgstr "%B : avertissement : le commun de plus petite taille est ici\n"
+msgstr "%B : avertissement : le commun de plus petite taille est ici\n"
#: ldmain.c:1046
msgid "%B: warning: multiple common of `%T'\n"
-msgstr "%B : avertissement : communs multiples de « %T »\n"
+msgstr "%B : avertissement : communs multiples de « %T »\n"
#: ldmain.c:1048
msgid "%B: warning: previous common is here\n"
-msgstr "%B : avertissement : commun précédent est ici\n"
+msgstr "%B : avertissement : commun précédent est ici\n"
#: ldmain.c:1068 ldmain.c:1106
msgid "%P: warning: global constructor %s used\n"
-msgstr "%P : avertissement : constructeur global %s est utilisé\n"
+msgstr "%P : avertissement : constructeur global %s est utilisé\n"
#: ldmain.c:1116
msgid "%P%F: BFD backend error: BFD_RELOC_CTOR unsupported\n"
-msgstr "%P%F : BFD erreur de terminaison arrière (backend) : BFD_RELOC_CTOR non pris en charge\n"
+msgstr "%P%F : BFD erreur de terminaison arrière (backend) : BFD_RELOC_CTOR non pris en charge\n"
#. We found a reloc for the symbol we are looking for.
#: ldmain.c:1170 ldmain.c:1172 ldmain.c:1174 ldmain.c:1192 ldmain.c:1237
msgid "warning: "
-msgstr "avertissement : "
+msgstr "avertissement : "
#: ldmain.c:1290
msgid "%X%C: undefined reference to `%T'\n"
-msgstr "%X%C : référence indéfinie vers « %T »\n"
+msgstr "%X%C : référence indéfinie vers « %T »\n"
#: ldmain.c:1293
msgid "%C: warning: undefined reference to `%T'\n"
-msgstr "%C : avertissement : référence indéfinie vers « %T »\n"
+msgstr "%C : avertissement : référence indéfinie vers « %T »\n"
#: ldmain.c:1299
msgid "%X%D: more undefined references to `%T' follow\n"
-msgstr "%X%D : encore plus de références indéfinies suivent vers « %T »\n"
+msgstr "%X%D : encore plus de références indéfinies suivent vers « %T »\n"
#: ldmain.c:1302
msgid "%D: warning: more undefined references to `%T' follow\n"
-msgstr "%D : avertissement : encore plus de références indéfinies suivent vers « %T »\n"
+msgstr "%D : avertissement : encore plus de références indéfinies suivent vers « %T »\n"
#: ldmain.c:1313
msgid "%X%B: undefined reference to `%T'\n"
-msgstr "%X%B : référence indéfinie vers « %T »\n"
+msgstr "%X%B : référence indéfinie vers « %T »\n"
#: ldmain.c:1316
msgid "%B: warning: undefined reference to `%T'\n"
-msgstr "%B : avertissement : référence indéfinie vers « %T »\n"
+msgstr "%B : avertissement : référence indéfinie vers « %T »\n"
#: ldmain.c:1322
msgid "%X%B: more undefined references to `%T' follow\n"
-msgstr "%X%B : encore plus de références indéfinies suivent vers « %T »\n"
+msgstr "%X%B : encore plus de références indéfinies suivent vers « %T »\n"
#: ldmain.c:1325
msgid "%B: warning: more undefined references to `%T' follow\n"
-msgstr "%B : avertissement : encore plus de références indéfinies suivent vers « %T »\n"
+msgstr "%B : avertissement : encore plus de références indéfinies suivent vers « %T »\n"
#: ldmain.c:1364
msgid " additional relocation overflows omitted from the output\n"
@@ -1218,23 +1218,23 @@ msgstr " débordement de relocalisation additionnelle omise à partir de la sort
#: ldmain.c:1377
msgid " relocation truncated to fit: %s against undefined symbol `%T'"
-msgstr " relocalisation tronquée pour concorder avec la taille : %s vers le symbole indéfini %T"
+msgstr " relocalisation tronquée pour concorder avec la taille : %s vers le symbole indéfini %T"
#: ldmain.c:1382
msgid " relocation truncated to fit: %s against symbol `%T' defined in %A section in %B"
-msgstr " relocalisation tronquée pour concorder : %s vers le symbole %T défini sans la section %A dans %B"
+msgstr " relocalisation tronquée pour concorder : %s vers le symbole %T défini sans la section %A dans %B"
#: ldmain.c:1394
msgid " relocation truncated to fit: %s against `%T'"
-msgstr " relocalisation tronquée pour concorder : %s avec %T"
+msgstr " relocalisation tronquée pour concorder : %s avec %T"
#: ldmain.c:1411
msgid "%X%H: dangerous relocation: %s\n"
-msgstr "%X%H : relocalisation dangereuse : %s\n"
+msgstr "%X%H : relocalisation dangereuse : %s\n"
#: ldmain.c:1426
msgid "%X%H: reloc refers to symbol `%T' which is not being output\n"
-msgstr "%X%H : la relocalisation réfère au symbole «%T» qui n'est pas écrit\n"
+msgstr "%X%H : la relocalisation réfère au symbole «%T» qui n'est pas écrit\n"
#: ldmisc.c:154
#, c-format
@@ -1243,23 +1243,23 @@ msgstr "aucun symbole"
#: ldmisc.c:339
msgid "%B: In function `%T':\n"
-msgstr "%B : Dans la fonction « %T » :\n"
+msgstr "%B : Dans la fonction « %T » :\n"
#: ldmisc.c:474
msgid "%F%P: internal error %s %d\n"
-msgstr "%F%P : erreur interne %s %d\n"
+msgstr "%F%P : erreur interne %s %d\n"
#: ldmisc.c:538
msgid "%P: internal error: aborting at %s line %d in %s\n"
-msgstr "%P : erreur interne : arrêt immédiat %s, ligne %d dans %s\n"
+msgstr "%P : erreur interne : arrêt immédiat %s, ligne %d dans %s\n"
#: ldmisc.c:541
msgid "%P: internal error: aborting at %s line %d\n"
-msgstr "%P : erreur interne : arrêt immédiat à %s ligne %d\n"
+msgstr "%P : erreur interne : arrêt immédiat à %s ligne %d\n"
#: ldmisc.c:543
msgid "%P%F: please report this bug\n"
-msgstr "%P%F : rapporter cette anomalie\n"
+msgstr "%P%F : rapporter cette anomalie\n"
#. Output for noisy == 2 is intended to follow the GNU standards.
#: ldver.c:39
@@ -1286,19 +1286,19 @@ msgstr ""
#: ldver.c:54
#, c-format
msgid " Supported emulations:\n"
-msgstr " Émulations prises en charge :\n"
+msgstr " Émulations prises en charge :\n"
#: ldwrite.c:62 ldwrite.c:208
msgid "%P%F: bfd_new_link_order failed\n"
-msgstr "%P%F : bfd_new_link_order en échec\n"
+msgstr "%P%F : bfd_new_link_order en échec\n"
#: ldwrite.c:366
msgid "%F%P: cannot create split section name for %s\n"
-msgstr "%F%P : impossible de créer un nom de section scindé pour %s\n"
+msgstr "%F%P : impossible de créer un nom de section scindé pour %s\n"
#: ldwrite.c:378
msgid "%F%P: clone section failed: %E\n"
-msgstr "%F%P : section clone en échec : %E\n"
+msgstr "%F%P : section clone en échec : %E\n"
#: ldwrite.c:419
#, c-format
@@ -1307,7 +1307,7 @@ msgstr "%8x quelque chose d'autre\n"
#: ldwrite.c:589
msgid "%F%P: final link failed: %E\n"
-msgstr "%F%P : échec de l'édition de liens finale : %E\n"
+msgstr "%F%P : échec de l'édition de liens finale : %E\n"
#: lexsup.c:104 lexsup.c:261
msgid "KEYWORD"
@@ -2008,35 +2008,35 @@ msgstr "Le SYMBOLE non résolu ne causera ni erreur ni avertissement"
#: lexsup.c:659
msgid "%P: unrecognized option '%s'\n"
-msgstr "%P : option « %s » non reconnue\n"
+msgstr "%P : option « %s » non reconnue\n"
#: lexsup.c:663
msgid "%P%F: use the --help option for usage information\n"
-msgstr "%P%F : utiliser --help pour afficher l'aide-mémoire\n"
+msgstr "%P%F : utiliser --help pour afficher l'aide-mémoire\n"
#: lexsup.c:681
msgid "%P%F: unrecognized -a option `%s'\n"
-msgstr "%P%F : -a option non reconnue « %s »\n"
+msgstr "%P%F : -a option non reconnue « %s »\n"
#: lexsup.c:694
msgid "%P%F: unrecognized -assert option `%s'\n"
-msgstr "%P%F : -assert option non reconnue « %s »\n"
+msgstr "%P%F : -assert option non reconnue « %s »\n"
#: lexsup.c:735
msgid "%F%P: unknown demangling style `%s'\n"
-msgstr "%F%P : style inconnu de recouvrement du transcodage par mutilisation « %s »\n"
+msgstr "%F%P : style inconnu de recouvrement du transcodage par mutilisation « %s »\n"
#: lexsup.c:801 lexsup.c:1239
msgid "%P%F: invalid number `%s'\n"
-msgstr "%P%F : nombre invalide « %s »\n"
+msgstr "%P%F : nombre invalide « %s »\n"
#: lexsup.c:899
msgid "%P%F: bad --unresolved-symbols option: %s\n"
-msgstr "%P%F : option erronée de --unresolved-symbols : %s\n"
+msgstr "%P%F : option erronée de --unresolved-symbols : %s\n"
#: lexsup.c:968
msgid "%P%F: bad -plugin-opt option\n"
-msgstr "%P%F : mauvaise option -plugin-opt\n"
+msgstr "%P%F : mauvaise option -plugin-opt\n"
#. This can happen if the user put "-rpath,a" on the command
#. line. (Or something similar. The comma is important).
@@ -2048,15 +2048,15 @@ msgstr "%P%F : mauvaise option -plugin-opt\n"
#. and will seg-fault the next time around.
#: lexsup.c:985
msgid "%P%F: bad -rpath option\n"
-msgstr "%P%F : option -rpath non reconnue\n"
+msgstr "%P%F : option -rpath non reconnue\n"
#: lexsup.c:1099
msgid "%P%F: -shared not supported\n"
-msgstr "%P%F : -shared non pris en charge\n"
+msgstr "%P%F : -shared non pris en charge\n"
#: lexsup.c:1108
msgid "%P%F: -pie not supported\n"
-msgstr "%P%F : -pie n'est pas prise en charge\n"
+msgstr "%P%F : -pie n'est pas prise en charge\n"
#: lexsup.c:1116
msgid "descending"
@@ -2068,7 +2068,7 @@ msgstr "croissant"
#: lexsup.c:1121
msgid "%P%F: invalid common section sorting option: %s\n"
-msgstr "%P%F : option de trie de section invalide : %s\n"
+msgstr "%P%F : option de trie de section invalide : %s\n"
#: lexsup.c:1125
msgid "name"
@@ -2080,49 +2080,49 @@ msgstr "alignement"
#: lexsup.c:1130
msgid "%P%F: invalid section sorting option: %s\n"
-msgstr "%P%F : option de trie de section invalide : %s\n"
+msgstr "%P%F : option de trie de section invalide : %s\n"
#: lexsup.c:1164
msgid "%P%F: invalid argument to option \"--section-start\"\n"
-msgstr "%P%F : argument invalide pour l'option \"--section-start\"\n"
+msgstr "%P%F : argument invalide pour l'option \"--section-start\"\n"
#: lexsup.c:1171
msgid "%P%F: missing argument(s) to option \"--section-start\"\n"
-msgstr "%P%F : un ou plusieurs arguments manquants pour l'option \"--section-start\"\n"
+msgstr "%P%F : un ou plusieurs arguments manquants pour l'option \"--section-start\"\n"
#: lexsup.c:1414
msgid "%P%F: group ended before it began (--help for usage)\n"
-msgstr "%P%F : fin du groupe avant son début (--help pour l'usage)\n"
+msgstr "%P%F : fin du groupe avant son début (--help pour l'usage)\n"
#: lexsup.c:1442
msgid "%P%X: --hash-size needs a numeric argument\n"
-msgstr "%P%X : --hash-size a beoin d'un argument numérique\n"
+msgstr "%P%X : --hash-size a beoin d'un argument numérique\n"
#: lexsup.c:1473
msgid "%P%F: -r and -shared may not be used together\n"
-msgstr "%P%F : -r et -shared ne peuvent être utilisés ensemble\n"
+msgstr "%P%F : -r et -shared ne peuvent être utilisés ensemble\n"
#: lexsup.c:1516
msgid "%P%F: -F may not be used without -shared\n"
-msgstr "%P%F : -F ne peut être utilisé sans -shared\n"
+msgstr "%P%F : -F ne peut être utilisé sans -shared\n"
#: lexsup.c:1518
msgid "%P%F: -f may not be used without -shared\n"
-msgstr "%P%F : -f ne peut être utilisé sans -shared\n"
+msgstr "%P%F : -f ne peut être utilisé sans -shared\n"
#: lexsup.c:1562 lexsup.c:1575
msgid "%P%F: invalid hex number `%s'\n"
-msgstr "%P%F : nombre hexadécimal invalide « %s »\n"
+msgstr "%P%F : nombre hexadécimal invalide « %s »\n"
#: lexsup.c:1611
#, c-format
msgid "Usage: %s [options] file...\n"
-msgstr "Usage : %s [options] fichier...\n"
+msgstr "Usage : %s [options] fichier...\n"
#: lexsup.c:1613
#, c-format
msgid "Options:\n"
-msgstr "Options :\n"
+msgstr "Options :\n"
#: lexsup.c:1691
#, c-format
@@ -2139,17 +2139,17 @@ msgstr "Lire les options à partir du FICHIER\n"
#: lexsup.c:1699
#, c-format
msgid "%s: supported targets:"
-msgstr "%s : cibles prises en charge :"
+msgstr "%s : cibles prises en charge :"
#: lexsup.c:1707
#, c-format
msgid "%s: supported emulations: "
-msgstr "%s : émulations prises en charge : "
+msgstr "%s : émulations prises en charge : "
#: lexsup.c:1712
#, c-format
msgid "%s: emulation specific options:\n"
-msgstr "%s : options spécifiques d'émulation :\n"
+msgstr "%s : options spécifiques d'émulation :\n"
#: lexsup.c:1717
#, c-format
@@ -2158,57 +2158,57 @@ msgstr "Rapporter toutes anomalies à %s\n"
#: mri.c:294
msgid "%P%F: unknown format type %s\n"
-msgstr "%P%F : type de format inconnu %s\n"
+msgstr "%P%F : type de format inconnu %s\n"
#: pe-dll.c:430
#, c-format
msgid "%XUnsupported PEI architecture: %s\n"
-msgstr "%XArchitecture PEI non prise en charge : %s\n"
+msgstr "%XArchitecture PEI non prise en charge : %s\n"
#: pe-dll.c:799
#, c-format
msgid "%XCannot export %s: invalid export name\n"
-msgstr "%XNe peut exporter %s : nom d'export invalide\n"
+msgstr "%XNe peut exporter %s : nom d'export invalide\n"
#: pe-dll.c:851
#, c-format
msgid "%XError, duplicate EXPORT with ordinals: %s (%d vs %d)\n"
-msgstr "%XErreur, duplicattion EXPORT avec nombre ordinal : %s (%d vs %d)\n"
+msgstr "%XErreur, duplicattion EXPORT avec nombre ordinal : %s (%d vs %d)\n"
#: pe-dll.c:858
#, c-format
msgid "Warning, duplicate EXPORT: %s\n"
-msgstr "AVERTISSEMENT, duplication EXPORT : %s\n"
+msgstr "AVERTISSEMENT, duplication EXPORT : %s\n"
#: pe-dll.c:961
#, c-format
msgid "%XCannot export %s: symbol not defined\n"
-msgstr "%XNe peut exporter %s : symbole indéfini\n"
+msgstr "%XNe peut exporter %s : symbole indéfini\n"
#: pe-dll.c:967
#, c-format
msgid "%XCannot export %s: symbol wrong type (%d vs %d)\n"
-msgstr "%XNe peut exporter %s : mauvais type de symbole (%d vs %d)\n"
+msgstr "%XNe peut exporter %s : mauvais type de symbole (%d vs %d)\n"
#: pe-dll.c:974
#, c-format
msgid "%XCannot export %s: symbol not found\n"
-msgstr "%XNe peut exporter %s : symbole non repéré\n"
+msgstr "%XNe peut exporter %s : symbole non repéré\n"
#: pe-dll.c:1088
#, c-format
msgid "%XError, ordinal used twice: %d (%s vs %s)\n"
-msgstr "%XErreur, ordinal utilisé 2 fois : %d (%s vs %s)\n"
+msgstr "%XErreur, ordinal utilisé 2 fois : %d (%s vs %s)\n"
#: pe-dll.c:1478
#, c-format
msgid "%XError: %d-bit reloc in dll\n"
-msgstr "%XErreur : %d-bit relocalisation dans dll\n"
+msgstr "%XErreur : %d-bit relocalisation dans dll\n"
#: pe-dll.c:1606
#, c-format
msgid "%s: Can't open output def file %s\n"
-msgstr "%s : Impossible d'ouvrir le fichier def %s\n"
+msgstr "%s : Impossible d'ouvrir le fichier def %s\n"
#: pe-dll.c:1757
#, c-format
@@ -2217,37 +2217,37 @@ msgstr "; aucun contenu disponible\n"
#: pe-dll.c:2684
msgid "%C: variable '%T' can't be auto-imported. Please read the documentation for ld's --enable-auto-import for details.\n"
-msgstr "%C : variable « %T » ne peut être auto-importée. SVP lire la documentation de ld --enable-auto-import pour plus de détails.\n"
+msgstr "%C : variable « %T » ne peut être auto-importée. SVP lire la documentation de ld --enable-auto-import pour plus de détails.\n"
#: pe-dll.c:2714
#, c-format
msgid "%XCan't open .lib file: %s\n"
-msgstr "%XImpossible d'ouvrir le fichier .lib : %s\n"
+msgstr "%XImpossible d'ouvrir le fichier .lib : %s\n"
#: pe-dll.c:2720
#, c-format
msgid "Creating library file: %s\n"
-msgstr "Création du fichier de bibliothèque : %s\n"
+msgstr "Création du fichier de bibliothèque : %s\n"
#: pe-dll.c:2749
#, c-format
msgid "%Xbfd_openr %s: %E\n"
-msgstr "%Xbfd_openr %s : %E\n"
+msgstr "%Xbfd_openr %s : %E\n"
#: pe-dll.c:2761
#, c-format
msgid "%X%s(%s): can't find member in non-archive file"
-msgstr "%X%s (%s) : impossible de trouver le membre dans le fichier qui n'est pas une archive"
+msgstr "%X%s (%s) : impossible de trouver le membre dans le fichier qui n'est pas une archive"
#: pe-dll.c:2773
#, c-format
msgid "%X%s(%s): can't find member in archive"
-msgstr "%X%s (%s) : impossible de trouver le membre dans l'archive"
+msgstr "%X%s (%s) : impossible de trouver le membre dans l'archive"
#: pe-dll.c:3356
#, c-format
msgid "%XError: can't use long section names on this arch\n"
-msgstr "%XError : Impossible d'utiliser de longs noms de section pour cette architecture\n"
+msgstr "%XError : impossible d'utiliser de longs noms de section pour cette architecture\n"
#: plugin.c:185 plugin.c:218
msgid "<no plugin>"
@@ -2255,33 +2255,33 @@ msgstr "<no plugin>"
#: plugin.c:199 plugin.c:814
msgid "%P%F: %s: error loading plugin: %s\n"
-msgstr "%P%F : %s : erreur lors du chargement du greffon : %s\n"
+msgstr "%P%F : %s : erreur lors du chargement du greffon : %s\n"
#: plugin.c:257
#, c-format
msgid "could not create dummy IR bfd: %F%E\n"
-msgstr "impossible de créer l'IR bfd factice : %F%E\n"
+msgstr "impossible de créer l'IR bfd factice : %F%E\n"
#: plugin.c:350
msgid "%P%F: %s: non-ELF symbol in ELF BFD!\n"
-msgstr "%P%F : %s : symbole non conforme au format ELF dans ELF BFD !\n"
+msgstr "%P%F : %s : symbole non conforme au format ELF dans ELF BFD !\n"
#: plugin.c:354
msgid "%P%F: unknown ELF symbol visibility: %d!\n"
-msgstr "%P%F : symbole de visibilité ELF inconnu : %d !\n"
+msgstr "%P%F : symbole de visibilité ELF inconnu : %d !\n"
#: plugin.c:591
msgid "%P: %B: symbol `%s' definition: %d, visibility: %d, resolution: %d\n"
-msgstr "%P : %B : définition du symbole « %s » : %d, visibilité: %d, résolution: %d\n"
+msgstr "%P : %B : définition du symbole « %s » : %d, visibilité: %d, résolution: %d\n"
#: plugin.c:821
msgid "%P%F: %s: plugin error: %d\n"
-msgstr "%P%F : %s : erreur du greffon : %d\n"
+msgstr "%P%F : %s : erreur du greffon : %d\n"
#: plugin.c:871
msgid "%P%F: %s: plugin reported error claiming file\n"
-msgstr "%P%F : %s : le greffon à signalé une erreur lors de la recherche d'un fichier\n"
+msgstr "%P%F : %s : le greffon à signalé une erreur lors de la recherche d'un fichier\n"
#: plugin.c:936
msgid "%P: %s: error in plugin cleanup: %d (ignored)\n"
-msgstr "%P : %s : erreur lors du nettoyage du greffon : %d (ignoré)\n"
+msgstr "%P : %s : erreur lors du nettoyage du greffon : %d (ignoré)\n"
diff --git a/ld/scripttempl/elf.sc b/ld/scripttempl/elf.sc
index cbaae0ef347..c7928db3312 100644
--- a/ld/scripttempl/elf.sc
+++ b/ld/scripttempl/elf.sc
@@ -573,10 +573,11 @@ cat <<EOF
${CREATE_SHLIB-${SDATA2}}
${CREATE_SHLIB-${SBSS2}}
${OTHER_READONLY_SECTIONS}
- .eh_frame_hdr : { *(.eh_frame_hdr) }
- .eh_frame ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) }
+ .eh_frame_hdr : { *(.eh_frame_hdr) ${RELOCATING+*(.eh_frame_entry .eh_frame_entry.*)} }
+ .eh_frame ${RELOCATING-0} : ONLY_IF_RO { KEEP (*(.eh_frame)) ${RELOCATING+*(.eh_frame.*)} }
.gcc_except_table ${RELOCATING-0} : ONLY_IF_RO { *(.gcc_except_table
.gcc_except_table.*) }
+ .gnu_extab ${RELOCATING-0} : ONLY_IF_RO { *(.gnu_extab*) }
/* These sections are generated by the Sun/Oracle C++ compiler. */
.exception_ranges ${RELOCATING-0} : ONLY_IF_RO { *(.exception_ranges
.exception_ranges*) }
@@ -589,7 +590,8 @@ cat <<EOF
${CREATE_PIE+${RELOCATING+. = ${SHLIB_DATA_ADDR-${DATA_SEGMENT_ALIGN}};}}
/* Exception handling */
- .eh_frame ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.eh_frame)) }
+ .eh_frame ${RELOCATING-0} : ONLY_IF_RW { KEEP (*(.eh_frame)) ${RELOCATING+*(.eh_frame.*)} }
+ .gnu_extab ${RELOCATING-0} : ONLY_IF_RW { *(.gnu_extab) }
.gcc_except_table ${RELOCATING-0} : ONLY_IF_RW { *(.gcc_except_table .gcc_except_table.*) }
.exception_ranges ${RELOCATING-0} : ONLY_IF_RW { *(.exception_ranges .exception_ranges*) }
diff --git a/ld/testsuite/ChangeLog b/ld/testsuite/ChangeLog
index 43c7c2488a5..e4f913f0cda 100644
--- a/ld/testsuite/ChangeLog
+++ b/ld/testsuite/ChangeLog
@@ -1,3 +1,160 @@
+2015-06-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-xtensa/tlsbin.rd: Updated.
+ * ld-xtensa/tlspic.rd: Likewise.
+
+2015-06-26 Matthew Fortune <matthew.fortune@imgtec.com>
+
+ * ld-mips-elf/pic-and-nonpic-3b.ad: Adjust for extra dynamic tag.
+ * ld-mips-elf/pic-and-nonpic-4b.ad: Likewise.
+ * ld-mips-elf/pic-and-nonpic-5b.ad: Likewise.
+ * ld-mips-elf/pic-and-nonpic-6-n32.ad: Likewise.
+ * ld-mips-elf/pic-and-nonpic-6-n64.ad: Likewise.
+ * ld-mips-elf/pic-and-nonpic-6-o32.ad: Likewise.
+ * ld-mips-elf/tlsdyn-o32-1.d: Likewise.
+ * ld-mips-elf/tlsdyn-o32-1.got: Likewise.
+ * ld-mips-elf/tlsdyn-o32-2.d: Likewise.
+ * ld-mips-elf/tlsdyn-o32-2.got: Likewise.
+ * ld-mips-elf/tlsdyn-o32-3.d: Likewise.
+ * ld-mips-elf/tlsdyn-o32-3.got: Likewise.
+ * ld-mips-elf/tlsdyn-o32.d: Likewise.
+ * ld-mips-elf/tlsdyn-o32.got: Likewise.
+ * ld-mips-elf/pie-n32.d: New file.
+ * ld-mips-elf/pie-n64.d: Likewise.
+ * ld-mips-elf/pie-o32.d: Likewise.
+ * ld-mips-elf/pie.s: Likewise.
+ * ld-mips-elf/mips-elf.exp: Add new tests.
+
+2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-elf/strtab.d: Only run on *-*-linux* and *-*-gnu* targets.
+
+2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-mmix/bspec1.d: Updated.
+ * ld-mmix/bspec2.d: Likewise.
+ * ld-mmix/undef-3.d: Likewise.
+
+2015-06-25 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR gas/18451
+ * ld-elf/strtab.d: New file.
+ * ld-elf/strtab.s: Likewise.
+
+2015-06-24 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-i386/i386.exp: Run pltgot-2 for Linux targets.
+ * ld-x86-64/x86-64.exp: Likewise.
+ * ld-i386/pltgot-1.d: Updated.
+ * ld-x86-64/pltgot-1.d: Likewise.
+ * ld-i386/pltgot-2.d: New file.
+ * ld-x86-64/pltgot-2.d: Likewise.
+
+2015-06-23 Jiong Wang <jiong.wang@arm.com>
+
+ * ld-aarch64/dt_textrel.s: New testcase.
+ * ld-aarch64/dt_textrel.d: New expectation file.
+ * ld-aarch64/aarch64-elf.exp: Run new testcase.
+
+2015-06-17 Jiong Wang <jiong.wang@arm.com>
+
+ * ld-aarch64/aarch64-elf.exp (aarch64_choose_ilp32_emul): New function.
+ * ld-aarch64/emit-relocs-28.d: Use aarch64_choose_ilp32_emul to choose
+ emulation mode.
+
+2015-06-16 Alan Modra <amodra@gmail.com>
+
+ * ld-powerpc/ppc476-shared.s: Repeat dynamic reloc generating insns.
+ * ld-powerpc/ppc476-shared.d: Update.
+ * ld-powerpc/ppc476-shared2.d: Update.
+
+2015-06-12 Tristan Gingold <gingold@adacore.com>
+
+ * ld-scripts/print-memory-usage-1.t,
+ * ld-scripts/print-memory-usage-1.s,
+ * ld-scripts/print-memory-usage-1.l,
+ * ld-scripts/print-memory-usage-2.t,
+ * ld-scripts/print-memory-usage-2.l,
+ * ld-scripts/print-memory-usage-3.s,
+ * ld-scripts/print-memory-usage-3.t,
+ * ld-scripts/print-memory-usage-3.l,
+ * ld-scripts/print-memory-usage.t: New tests.
+ * ld-scripts/print-memory-usage.exp: Run them.
+
+2015-06-05 Nick Clifton <nickc@redhat.com>
+
+ * ld-elf/compressed1d.d: Fix typo: iq200 -> iq2000.
+
+2015-06-05 Alan Modra <amodra@gmail.com>
+
+ * ld-powerpc/ppc476-shared.s,
+ * ld-powerpc/ppc476-shared.lnk,
+ * ld-powerpc/ppc476-shared.d,
+ * ld-powerpc/ppc476-shared2.d: New tests.
+ * ld-powerpc/powerpc.exp: Run them.
+
+2015-06-02 Jiong Wang <jiong.wang@arm.com>
+
+ * ld-aarch64/emit-relocs-313.s: Use gotpage_lo15.
+
+2015-06-01 Jiong Wang <jiong.wang@arm.com>
+
+ * ld-aarch64/emit-relocs-28.s: New test file.
+ * ld-aarch64/emit-relocs-28.d: Ditto.
+ * ld-aarch64/aarch64-elf.exp: Run new test.
+
+2015-06-01 Jiong Wang <jiong.wang@arm.com>
+
+ * ld-aarch64/tprel_add_lo12_overflow.s: New testcase.
+ * ld-aarch64/tprel_add_lo12_overflow.d: Nex expectation file.
+ * ld-aarch64/aarch64-elf.exp: Run new testcase.
+
+2015-06-01 Jiong Wang <jiong.wang@arm.com>
+
+ * ld-aarch64/emit-relocs-313.s: New test file.
+ * ld-aarch64/emit-relocs-313.d: Ditto.
+ * ld-aarch64/aarch64-elf.exp: Run new test.
+
+2015-05-29 Stephen Kitt <steve@sk2.org>
+
+ * ld-pe/pe-run2.exp (test_direct2_link_dll): Add $CFLAGS to the
+ compiler command line.
+
+2015-05-28 Catherine Moore <clm@codesourcery.com>
+
+ ld/testsuite/
+ * ld-mips-elf/compact-eh.ld: New linker script.
+ * ld-mips-elf/compact-eh1.d: New.
+ * ld-mips-elf/compact-eh1.s: New.
+ * ld-mips-elf/compact-eh1a.s: New.
+ * ld-mips-elf/compact-eh1b.s: New.
+ * ld-mips-elf/compact-eh2.d: New.
+ * ld-mips-elf/compact-eh2.s: New.
+ * ld-mips-elf/compact-eh3.d: New.
+ * ld-mips-elf/compact-eh3.s: New.
+ * ld-mips-elf/compact-eh3a.s: New.
+ * ld-mips-elf/compact-eh4.d: New.
+ * ld-mips-elf/compact-eh5.d: New.
+ * ld-mips-elf/compact-eh6.d: New.
+ * ld-mips-elf/mips-elf.exp: Run new tests.
+
+2015-05-27 H.J. Lu <hongjiu.lu@intel.com>
+
+ PR binutils/18458
+ * ld-elf/shared.exp (build_tests): Build libpr18458a.so and
+ libpr18458b.so.
+ (run_tests): Run pr18458 test.
+ * ld-elf/pr18458a.c: New file.
+ * ld-elf/pr18458b.c: Likewise.
+ * ld-elf/pr18458c.c: Likewise.
+
+2015-05-16 H.J. Lu <hongjiu.lu@intel.com>
+
+ * ld-i386/i386.exp: Run PR ld/17689 tests with -z now.
+ * ld-x86-64/x86-64.exp: Likewise
+ * ld-i386/pr17689now.rd: New file.
+ * ld-x86-64/pr17689now.rd: Likewise
+
2015-05-15 H.J. Lu <hongjiu.lu@intel.com>
PR binutis/18386
diff --git a/ld/testsuite/ld-aarch64/aarch64-elf.exp b/ld/testsuite/ld-aarch64/aarch64-elf.exp
index bfbbe2425ae..ac21d14956c 100644
--- a/ld/testsuite/ld-aarch64/aarch64-elf.exp
+++ b/ld/testsuite/ld-aarch64/aarch64-elf.exp
@@ -45,11 +45,20 @@ set aarch64elftests {
"erratum835769"}
}
+proc aarch64_choose_ilp32_emul {} {
+ if [istarget aarch64_be*-*-*] then {
+ return "aarch64elf32b"
+ } else {
+ return "aarch64linux32"
+ }
+}
+
run_ld_link_tests $aarch64elftests
run_dump_test "erratum843419"
# Relocation Tests
run_dump_test "weak-undefined"
+run_dump_test "emit-relocs-28"
run_dump_test "emit-relocs-257"
run_dump_test "emit-relocs-257-be"
# 258 is tested in 257
@@ -99,6 +108,7 @@ run_dump_test "emit-relocs-309-low-bad"
# 310 not done yet
run_dump_test "emit-relocs-311"
run_dump_test "emit-relocs-312"
+run_dump_test "emit-relocs-313"
# test addend correctness when --emit-relocs specified for non-relocatable obj.
run_dump_test "emit-relocs-local-addend"
@@ -145,6 +155,7 @@ run_dump_test "gc-relocs-257-dyn"
run_dump_test "gc-relocs-257"
run_dump_test "pr17415"
run_dump_test "tprel_g2_overflow"
+run_dump_test "tprel_add_lo12_overflow"
# ifunc tests
run_dump_test "ifunc-1"
@@ -192,6 +203,8 @@ run_dump_test "ifunc-22"
run_dump_test "relasz"
run_dump_test "relocs-257-symbolic-func"
+run_dump_test "dt_textrel"
+
set aarch64elflinktests {
{"ld-aarch64/so with global symbol" "-shared" "" "" {copy-reloc-so.s}
{} "copy-reloc-so.so"}
diff --git a/ld/testsuite/ld-aarch64/dt_textrel.d b/ld/testsuite/ld-aarch64/dt_textrel.d
new file mode 100644
index 00000000000..2dbbd2fdb68
--- /dev/null
+++ b/ld/testsuite/ld-aarch64/dt_textrel.d
@@ -0,0 +1,7 @@
+#source: dt_textrel.s
+#ld: -shared
+#readelf: -d
+#...
+.*TEXTREL.*
+.*
+
diff --git a/ld/testsuite/ld-aarch64/dt_textrel.s b/ld/testsuite/ld-aarch64/dt_textrel.s
new file mode 100644
index 00000000000..f37f45672ea
--- /dev/null
+++ b/ld/testsuite/ld-aarch64/dt_textrel.s
@@ -0,0 +1,9 @@
+ .cpu generic+fp+simd
+ .global p
+ .comm x,4,4
+ .section .rodata
+ .align 3
+ .type p, %object
+ .size p, 8
+p:
+ .xword x
diff --git a/ld/testsuite/ld-aarch64/emit-relocs-28.d b/ld/testsuite/ld-aarch64/emit-relocs-28.d
new file mode 100644
index 00000000000..24424b93871
--- /dev/null
+++ b/ld/testsuite/ld-aarch64/emit-relocs-28.d
@@ -0,0 +1,19 @@
+#source: emit-relocs-28.s
+#as: -mabi=ilp32
+#ld: -m [aarch64_choose_ilp32_emul] --defsym globala=0x11000 --defsym globalb=0x45000 --defsym globalc=0x1234 -e0 --emit-relocs
+#objdump: -dr
+
+.*: +file format .*
+
+
+Disassembly of section .text:
+
+.* <\.text>:
+ .*: .* adrp x2, .* <.*>
+ .*: R_AARCH64_P32_ADR_PREL_PG_HI21 _GLOBAL_OFFSET_TABLE_
+ .*: .* ldr x0, \[x2,#.*\]
+ .*: R_AARCH64_P32_LD32_GOTPAGE_LO14 globala
+ .*: .* ldr x0, \[x2,#.*\]
+ .*: R_AARCH64_P32_LD32_GOTPAGE_LO14 globalb
+ .*: .* ldr x0, \[x2,#.*\]
+ .*: R_AARCH64_P32_LD32_GOTPAGE_LO14 globalc
diff --git a/ld/testsuite/ld-aarch64/emit-relocs-28.s b/ld/testsuite/ld-aarch64/emit-relocs-28.s
new file mode 100644
index 00000000000..b13a0e5262b
--- /dev/null
+++ b/ld/testsuite/ld-aarch64/emit-relocs-28.s
@@ -0,0 +1,5 @@
+ .text
+ adrp x2, _GLOBAL_OFFSET_TABLE_
+ ldr x0, [x2, #:gotpage_lo14:globala]
+ ldr x0, [x2, #:gotpage_lo14:globalb]
+ ldr x0, [x2, #:gotpage_lo14:globalc]
diff --git a/ld/testsuite/ld-aarch64/emit-relocs-313.d b/ld/testsuite/ld-aarch64/emit-relocs-313.d
new file mode 100644
index 00000000000..0a7b5d151bc
--- /dev/null
+++ b/ld/testsuite/ld-aarch64/emit-relocs-313.d
@@ -0,0 +1,18 @@
+#source: emit-relocs-313.s
+#ld: -T relocs.ld --defsym globala=0x11000 --defsym globalb=0x45000 --defsym globalc=0x1234 -e0 --emit-relocs
+#objdump: -dr
+
+.*: +file format .*
+
+
+Disassembly of section .text:
+
+0000000000010000 <\.text>:
+ 10000: 90000082 adrp x2, 20000 <_GLOBAL_OFFSET_TABLE_>
+ 10000: R_AARCH64_ADR_PREL_PG_HI21 _GLOBAL_OFFSET_TABLE_
+ 10004: f9400840 ldr x0, \[x2,#16\]
+ 10004: R_AARCH64_LD64_GOTPAGE_LO15 globala
+ 10008: f9400c40 ldr x0, \[x2,#24\]
+ 10008: R_AARCH64_LD64_GOTPAGE_LO15 globalb
+ 1000c: f9400440 ldr x0, \[x2,#8\]
+ 1000c: R_AARCH64_LD64_GOTPAGE_LO15 globalc
diff --git a/ld/testsuite/ld-aarch64/emit-relocs-313.s b/ld/testsuite/ld-aarch64/emit-relocs-313.s
new file mode 100644
index 00000000000..e3858e3791d
--- /dev/null
+++ b/ld/testsuite/ld-aarch64/emit-relocs-313.s
@@ -0,0 +1,5 @@
+ .text
+ adrp x2, _GLOBAL_OFFSET_TABLE_
+ ldr x0, [x2, #:gotpage_lo15:globala]
+ ldr x0, [x2, #:gotpage_lo15:globalb]
+ ldr x0, [x2, #:gotpage_lo15:globalc]
diff --git a/ld/testsuite/ld-aarch64/tprel_add_lo12_overflow.d b/ld/testsuite/ld-aarch64/tprel_add_lo12_overflow.d
new file mode 100644
index 00000000000..297ee22102e
--- /dev/null
+++ b/ld/testsuite/ld-aarch64/tprel_add_lo12_overflow.d
@@ -0,0 +1,6 @@
+#name: TLS offset out of range - TPREL_ADD_LO12
+#source: tprel_add_lo12_overflow.s
+#as:
+#ld: -e0
+#error: .*\(.text\+0x\d+\): relocation truncated to fit: R_AARCH64_TLSLE_ADD_TPREL_LO12 against symbol `i' .*
+
diff --git a/ld/testsuite/ld-aarch64/tprel_add_lo12_overflow.s b/ld/testsuite/ld-aarch64/tprel_add_lo12_overflow.s
new file mode 100644
index 00000000000..7c93d0dc3af
--- /dev/null
+++ b/ld/testsuite/ld-aarch64/tprel_add_lo12_overflow.s
@@ -0,0 +1,23 @@
+ .cpu generic
+ .global ff
+ .section .tdata,"awT",%progbits
+ .align 2
+ .type ff, %object
+ # Maximum 12bit - 16byte TCB header is the upper limit
+ # for tprel_add_lo12
+ .size ff, 4096 - 16
+ff:
+ .zero 4096 - 16
+ .global i
+ .type i, %object
+ .size i, 4
+i:
+ .zero 4
+ .text
+ .align 2
+ .global main
+ .type main, %function
+main:
+ add x0, x0, #:tprel_lo12:i
+ ret
+ .size main, .-main
diff --git a/ld/testsuite/ld-elf/compressed1d.d b/ld/testsuite/ld-elf/compressed1d.d
index 7f91bb1822a..5c070469bd7 100644
--- a/ld/testsuite/ld-elf/compressed1d.d
+++ b/ld/testsuite/ld-elf/compressed1d.d
@@ -2,7 +2,7 @@
#as: --compress-debug-sections=none
#ld: -r --compress-debug-sections=zlib-gnu
#readelf: -SW
-#notarget: arc-*-* d30v-*-* dlx-*-* fr30-*-* frv-*-* i370-*-* i860-*-* iq200-*-* mn10200-*-* msp430-*-* mt-*-* or1k-*-* pj-*-*
+#notarget: arc-*-* d30v-*-* dlx-*-* fr30-*-* frv-*-* i370-*-* i860-*-* iq2000-*-* mn10200-*-* moxie-*-* msp430-*-* mt-*-* or1k-*-* pj-*-*
# Not all ELF targets use the elf.em emulation...
#failif
diff --git a/ld/testsuite/ld-elf/pr18458a.c b/ld/testsuite/ld-elf/pr18458a.c
new file mode 100644
index 00000000000..d6aa49f42dc
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr18458a.c
@@ -0,0 +1,6 @@
+#include <stdio.h>
+void
+a (void)
+{
+ printf("PASS\n");
+}
diff --git a/ld/testsuite/ld-elf/pr18458b.c b/ld/testsuite/ld-elf/pr18458b.c
new file mode 100644
index 00000000000..33c1cb69c76
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr18458b.c
@@ -0,0 +1,6 @@
+extern void a (void);
+void
+b (void)
+{
+ a();
+}
diff --git a/ld/testsuite/ld-elf/pr18458c.c b/ld/testsuite/ld-elf/pr18458c.c
new file mode 100644
index 00000000000..d40f98c7b88
--- /dev/null
+++ b/ld/testsuite/ld-elf/pr18458c.c
@@ -0,0 +1,18 @@
+extern void a(void);
+extern void b(void);
+
+void dummy (void)
+{
+ a();
+}
+int
+compare (void (*f)(void))
+{
+ return a == f;
+}
+int
+main (void)
+{
+ b ();
+ return 0;
+}
diff --git a/ld/testsuite/ld-elf/shared.exp b/ld/testsuite/ld-elf/shared.exp
index 8aa7a323c13..bcbe8e211e9 100644
--- a/ld/testsuite/ld-elf/shared.exp
+++ b/ld/testsuite/ld-elf/shared.exp
@@ -267,6 +267,12 @@ set build_tests {
{"Build pr16457"
"tmpdir/libpr16452b.so -Wl,-rpath=tmpdir" ""
{pr16452b.c} {{objdump {-p} pr16457.od}} "pr16457"}
+ {"Build libpr18458a.so"
+ "-shared -Wl,-z,now" "-fPIC"
+ {pr18458a.c} {} "libpr18458a.so"}
+ {"Build libpr18458b.so"
+ "-shared -Wl,-z,now tmpdir/libpr18458a.so" "-fPIC"
+ {pr18458b.c} {} "libpr18458b.so"}
}
run_cc_link_tests $build_tests
@@ -417,6 +423,9 @@ set run_tests {
{"Run pr2404"
"tmpdir/pr2404b.o tmpdir/libpr2404a.so" ""
{dummy.c} "pr2404" "pr2404.out"}
+ {"Run pr18458"
+ "tmpdir/libpr18458a.so tmpdir/libpr18458b.so -z now" ""
+ {pr18458c.c} "pr18458" "pass.out"}
}
# NetBSD ELF systems do not currently support the .*_array sections.
diff --git a/ld/testsuite/ld-elf/strtab.d b/ld/testsuite/ld-elf/strtab.d
new file mode 100644
index 00000000000..c1e90969227
--- /dev/null
+++ b/ld/testsuite/ld-elf/strtab.d
@@ -0,0 +1,8 @@
+#ld: -shared
+#readelf: -W -x .strtab
+#target: *-*-linux* *-*-gnu*
+
+#failif
+#...
+ +0x[0-9 ]+.*\.xxxx\..*
+#...
diff --git a/ld/testsuite/ld-elf/strtab.s b/ld/testsuite/ld-elf/strtab.s
new file mode 100644
index 00000000000..931d9ef31df
--- /dev/null
+++ b/ld/testsuite/ld-elf/strtab.s
@@ -0,0 +1,8 @@
+ .text
+.globl x; x:
+.globl xx; xx:
+.globl xxx; xxx:
+.globl xxxx; xxxx:
+.globl xxxxx; xxxxx:
+.globl xxxxxx; xxxxxx:
+ .byte 0
diff --git a/ld/testsuite/ld-i386/i386.exp b/ld/testsuite/ld-i386/i386.exp
index bbc6005160a..61f95998461 100644
--- a/ld/testsuite/ld-i386/i386.exp
+++ b/ld/testsuite/ld-i386/i386.exp
@@ -406,6 +406,14 @@ if { [isnative]
"pr17689.so" \
] \
[list \
+ "Build pr17689.so with -z now" \
+ "-shared -Wl,-z,now" \
+ "-fPIC" \
+ { pr17689a.c } \
+ {{readelf {-Wr} pr17689now.rd}} \
+ "pr17689now.so" \
+ ] \
+ [list \
"Build pr17689ver.so" \
"-shared -Wl,--version-script,pr17689a.t" \
"-fPIC" \
@@ -430,6 +438,14 @@ if { [isnative]
"pr17689" \
] \
[list \
+ "Build pr17689 with PIE, -z now and GOTOFF" \
+ "tmpdir/pr17689b.o tmpdir/pr17689.so -pie -Wl,-z,now" \
+ "" \
+ { dummy.c } \
+ {{readelf {-Wr} pr17689now.rd}} \
+ "pr17689now" \
+ ] \
+ [list \
"Build pr17689ver with PIE and GOTOFF" \
"tmpdir/pr17689b.o tmpdir/pr17689ver.so -pie" \
"" \
@@ -484,6 +500,14 @@ if { [isnative]
"pr17689.out" \
] \
[list \
+ "Run pr17689 with PIE, -z now and GOTOFF" \
+ "tmpdir/pr17689b.o tmpdir/pr17689.so -pie -z now" \
+ "" \
+ { dummy.c } \
+ "pr17689now" \
+ "pr17689.out" \
+ ] \
+ [list \
"Run pr17689ver with PIE and GOTOFF" \
"tmpdir/pr17689b.o tmpdir/pr17689ver.so -pie" \
"" \
@@ -501,3 +525,4 @@ if { !([istarget "i?86-*-linux*"]
# Linux only tests
run_dump_test "pltgot-1"
+run_dump_test "pltgot-2"
diff --git a/ld/testsuite/ld-i386/pltgot-1.d b/ld/testsuite/ld-i386/pltgot-1.d
index 66296354f54..165ae33750a 100644
--- a/ld/testsuite/ld-i386/pltgot-1.d
+++ b/ld/testsuite/ld-i386/pltgot-1.d
@@ -2,7 +2,8 @@
#readelf: -S --wide
#as: --32
-#failif
#...
- +\[ [0-9]+\] \.plt +PROGBITS +.*
+ +\[ *[0-9]+\] \.plt +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+10 +.*
#...
+ +\[ *[0-9]+\] \.got\.plt +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+c +.*
+#pass
diff --git a/ld/testsuite/ld-i386/pltgot-2.d b/ld/testsuite/ld-i386/pltgot-2.d
new file mode 100644
index 00000000000..3b878982a4b
--- /dev/null
+++ b/ld/testsuite/ld-i386/pltgot-2.d
@@ -0,0 +1,9 @@
+#source: pltgot-1.s
+#ld: -shared -melf_i386
+#readelf: -d --wide
+#as: --32
+
+#failif
+#...
+ +0x[0-9a-f]+ +\(PLTREL.*
+#...
diff --git a/ld/testsuite/ld-i386/pr17689now.rd b/ld/testsuite/ld-i386/pr17689now.rd
new file mode 100644
index 00000000000..9741df82e8a
--- /dev/null
+++ b/ld/testsuite/ld-i386/pr17689now.rd
@@ -0,0 +1,4 @@
+#failif
+#...
+[0-9a-f ]+R_386_JUMP_SLOT +0+.*
+#...
diff --git a/ld/testsuite/ld-mips-elf/compact-eh.ld b/ld/testsuite/ld-mips-elf/compact-eh.ld
new file mode 100644
index 00000000000..e395fa607ed
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/compact-eh.ld
@@ -0,0 +1,15 @@
+ENTRY (__start)
+SECTIONS
+{
+ .text :
+ {
+ *(.text .text.*)
+ *(.gnu_extab .gnu_extab.*)
+ }
+ .eh_frame_hdr :
+ {
+ KEEP (*(.eh_frame_hdr))
+ *(.eh_frame_entry .eh_frame_entry.*)
+ }
+ .data : {*(.data) }
+}
diff --git a/ld/testsuite/ld-mips-elf/compact-eh1.d b/ld/testsuite/ld-mips-elf/compact-eh1.d
new file mode 100644
index 00000000000..b3faafa9565
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/compact-eh1.d
@@ -0,0 +1,15 @@
+#name: MIPS Compact EH 1
+#source: compact-eh1.s
+#source: compact-eh1a.s
+#source: compact-eh1b.s
+#as: -EB
+#readelf: -x .eh_frame_hdr
+#ld: -EB -Tcompact-eh.ld -e main
+#
+
+Hex dump of section \'\.eh_frame_hdr\':
+
+ 0x[0-9a-f]+ 021b0000 00000005 ffffff[0-9a-f]+ ffffff[0-9a-f]+.*
+ 0x[0-9a-f]+ ffffff[0-9a-f]+ ffffff[0-9a-f]+ ffffff[0-9a-f]+ 01555c5c.*
+ 0x[0-9a-f]+ ffffff[0-9a-f]+ 01555c5c ffffff[0-9a-f]+ 015d5d01.*
+
diff --git a/ld/testsuite/ld-mips-elf/compact-eh1.s b/ld/testsuite/ld-mips-elf/compact-eh1.s
new file mode 100644
index 00000000000..941ac8f447d
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/compact-eh1.s
@@ -0,0 +1,37 @@
+ .section .text.startup,"ax",@progbits
+ .align 2
+ .cfi_sections .eh_frame_entry
+.LFB3 = .
+ .cfi_startproc
+ .cfi_personality_id 0x2
+ .cfi_lsda 0x1b,.LLSDA3
+ .global main
+main:
+.LEHB0 = .
+ jal compact1a
+ move $4,$2
+
+.LEHE0 = .
+.L11:
+ nop
+
+ lw $31,28($sp)
+ nop
+
+ jal compact1b
+ move $4,$2
+ .cfi_fde_data 0x3,0x42
+ .cfi_endproc
+ .globl __gnu_compact_pr2
+ .cfi_inline_lsda 2
+.LLSDA3:
+ .byte 0x2
+ .uleb128 .LLSDACSE3-.LLSDACSB3
+.LLSDACSB3:
+ # Region 0 -- NoThrow
+ .uleb128 (.LEHB0-.LFB3)|1 # Length
+ # Region 1 -- Action Chain
+ .uleb128 (.LEHE0-.LEHB0) # Length
+ .sleb128 (.L11-(.LEHE0)) # Landing Pad Offset
+ .sleb128 (0<<2)|0x1 # Action/Chain Pair
+.LLSDACSE3:
diff --git a/ld/testsuite/ld-mips-elf/compact-eh1a.s b/ld/testsuite/ld-mips-elf/compact-eh1a.s
new file mode 100644
index 00000000000..3f5c7ec0860
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/compact-eh1a.s
@@ -0,0 +1,11 @@
+ .cfi_sections .eh_frame_entry
+ .section .text.compact1a,"ax",@progbits
+ .globl compact1a
+ .cfi_startproc
+compact1a:
+ sw $2,16($fp)
+ lw $2,16($fp)
+ lw $5,4($3)
+ addiu $3,$2,1
+ .cfi_fde_data 0x5e,0x3,0x59,0xf1
+ .cfi_endproc
diff --git a/ld/testsuite/ld-mips-elf/compact-eh1b.s b/ld/testsuite/ld-mips-elf/compact-eh1b.s
new file mode 100644
index 00000000000..e96289a81e9
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/compact-eh1b.s
@@ -0,0 +1,21 @@
+ .cfi_sections .eh_frame_entry
+ .section .text.compact1b,"ax",@progbits
+ .globl compact1b
+ .cfi_startproc
+compact1b:
+ lw $31,44($sp)
+ lw $fp,40($sp)
+ addiu $sp,$sp,48
+ j $31
+ nop
+ .cfi_fde_data 0x55
+ .cfi_endproc
+ .globl e22
+ .cfi_startproc
+__e22:
+ sw $2,24($fp)
+ lw $2,24($fp)
+ xori $2,$2,0x1
+ andi $2,$2,0x00ff
+ .cfi_fde_data 0x55
+ .cfi_endproc
diff --git a/ld/testsuite/ld-mips-elf/compact-eh2.d b/ld/testsuite/ld-mips-elf/compact-eh2.d
new file mode 100644
index 00000000000..e9764d57819
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/compact-eh2.d
@@ -0,0 +1,11 @@
+#name: MIPS Compact EH 2
+#source: compact-eh2.s
+#as: -EB
+#readelf: -x .eh_frame_hdr
+#ld: -EB -Tcompact-eh.ld -e main
+#
+
+Hex dump of section \'\.eh_frame_hdr\':
+
+ 0x[0-9a-f]+ 021b0000 00000002 ffffff[0-9a-f]+ 00000041.*
+ 0x[0-9a-f]+ ffffff[0-9a-f]+ 015d5d01.*
diff --git a/ld/testsuite/ld-mips-elf/compact-eh2.s b/ld/testsuite/ld-mips-elf/compact-eh2.s
new file mode 100644
index 00000000000..b899e563c34
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/compact-eh2.s
@@ -0,0 +1,34 @@
+ .section .text.startup,"ax",@progbits
+ .align 2
+ .cfi_sections .eh_frame_entry
+.LFB3 = .
+ .cfi_startproc
+ .cfi_personality_id 0x2
+ .cfi_lsda 0x1b,.LLSDA3
+ .global main
+main:
+.LEHB0 = .
+ move $4,$2
+
+.LEHE0 = .
+.L11:
+ nop
+
+ lw $31,28($sp)
+ nop
+
+ move $4,$2
+ .cfi_endproc
+ .globl __gnu_compact_pr2
+ .cfi_inline_lsda 2
+.LLSDA3:
+ .byte 0x2
+ .uleb128 .LLSDACSE3-.LLSDACSB3
+.LLSDACSB3:
+ # Region 0 -- NoThrow
+ .uleb128 (.LEHB0-.LFB3)|1 # Length
+ # Region 1 -- Action Chain
+ .uleb128 (.LEHE0-.LEHB0) # Length
+ .sleb128 (.L11-(.LEHE0)) # Landing Pad Offset
+ .sleb128 (0<<2)|0x1 # Action/Chain Pair
+.LLSDACSE3:
diff --git a/ld/testsuite/ld-mips-elf/compact-eh3.d b/ld/testsuite/ld-mips-elf/compact-eh3.d
new file mode 100644
index 00000000000..7a0ecd6b465
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/compact-eh3.d
@@ -0,0 +1,13 @@
+#name: MIPS Compact EH 3
+#source: compact-eh3.s
+#source: compact-eh3a.s
+#as: -EB
+#readelf: -x .eh_frame_hdr
+#ld: -EB -Tcompact-eh.ld -e main
+#
+
+Hex dump of section \'\.eh_frame_hdr\':
+
+ 0x[0-9a-f]+ 021b0000 00000004 ffffff[0-9a-f]+ ffffff[0-9a-f][0-9a-f].*
+ 0x[0-9a-f]+ ffffff[0-9a-f]+ 00000041 ffffff[0-9a-f]+ 0000004d.*
+ 0x[0-9a-f]+ ffffff[0-9a-f]+ 015d5d01.*
diff --git a/ld/testsuite/ld-mips-elf/compact-eh3.s b/ld/testsuite/ld-mips-elf/compact-eh3.s
new file mode 100644
index 00000000000..2bcf5ca6c30
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/compact-eh3.s
@@ -0,0 +1,36 @@
+ .section .text.startup,"ax",@progbits
+ .align 2
+ .cfi_sections .eh_frame_entry
+.LFB3 = .
+ .cfi_startproc
+ .cfi_personality_id 0x2
+ .cfi_lsda 0x1b,.LLSDA3
+ .global main
+main:
+.LEHB0 = .
+ move $4,$2
+
+.LEHE0 = .
+.L11:
+ nop
+
+ lw $31,28($sp)
+ nop
+
+ jal compact3a
+ move $4,$2
+ .cfi_fde_data 0x3,0x42
+ .cfi_endproc
+ .globl __gnu_compact_pr2
+ .cfi_inline_lsda 2
+.LLSDA3:
+ .byte 0x2
+ .uleb128 .LLSDACSE3-.LLSDACSB3
+.LLSDACSB3:
+ # Region 0 -- NoThrow
+ .uleb128 (.LEHB0-.LFB3)|1 # Length
+ # Region 1 -- Action Chain
+ .uleb128 (.LEHE0-.LEHB0) # Length
+ .sleb128 (.L11-(.LEHE0)) # Landing Pad Offset
+ .sleb128 (0<<2)|0x1 # Action/Chain Pair
+.LLSDACSE3:
diff --git a/ld/testsuite/ld-mips-elf/compact-eh3a.s b/ld/testsuite/ld-mips-elf/compact-eh3a.s
new file mode 100644
index 00000000000..3780cf23e37
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/compact-eh3a.s
@@ -0,0 +1,19 @@
+ .cfi_sections .eh_frame_entry
+ .section .text.compact3a,"ax",@progbits
+ .globl compact3a
+ .cfi_startproc
+compact3a:
+ lw $31,44($sp)
+ lw $fp,40($sp)
+ addiu $sp,$sp,48
+ j $31
+ nop
+ .cfi_endproc
+ .globl e22
+ .cfi_startproc
+__e22:
+ sw $2,24($fp)
+ lw $2,24($fp)
+ xori $3,$4,0x1
+ andi $5,$6,0x00ff
+ .cfi_endproc
diff --git a/ld/testsuite/ld-mips-elf/compact-eh4.d b/ld/testsuite/ld-mips-elf/compact-eh4.d
new file mode 100644
index 00000000000..4608ac86c77
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/compact-eh4.d
@@ -0,0 +1,13 @@
+#name: MIPS Compact EH 4
+#source: compact-eh1.s
+#source: compact-eh1a.s
+#source: compact-eh1b.s
+#as: -EB
+#readelf: -x .eh_frame_hdr
+#ld: -EB -e main
+
+Hex dump of section \'\.eh_frame_hdr\':
+
+ 0x[0-9a-f]+ 021b0000 00000005 ffffff[0-9a-f][0-9a-f] 00000024.*
+ 0x[0-9a-f]+ ffffff[0-9a-f][0-9a-f] 00000028 ffffff[0-9a-f][0-9a-f] 01555c5c.*
+ 0x[0-9a-f]+ ffffff[0-9a-f][0-9a-f] 01555c5c ffffff[0-9a-f][0-9a-f] 015d5d01.*
diff --git a/ld/testsuite/ld-mips-elf/compact-eh5.d b/ld/testsuite/ld-mips-elf/compact-eh5.d
new file mode 100644
index 00000000000..7f0141f2055
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/compact-eh5.d
@@ -0,0 +1,10 @@
+#name: MIPS Compact EH 5
+#source: compact-eh2.s
+#as: -EB
+#readelf: -x .eh_frame_hdr
+#ld: -EB -e main
+
+Hex dump of section \'\.eh_frame_hdr\':
+
+ 0x[0-9a-f]+ 021b0000 00000002 ffffff[0-9a-f]+ 00000025.*
+ 0x[0-9a-f]+ ffffff[0-9a-f]+ 015d5d01.*
diff --git a/ld/testsuite/ld-mips-elf/compact-eh6.d b/ld/testsuite/ld-mips-elf/compact-eh6.d
new file mode 100644
index 00000000000..e81285afc02
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/compact-eh6.d
@@ -0,0 +1,13 @@
+#name: MIPS Compact EH 6
+#source: compact-eh3.s
+#source: compact-eh3a.s
+#as: -EB
+#readelf: -x .eh_frame_hdr
+#ld: -EB -e main
+#
+
+Hex dump of section \'\.eh_frame_hdr\':
+
+ 0x[0-9a-f]+ 021b0000 00000005 ffffff[0-9a-f]+ 00000060.*
+ 0x[0-9a-f]+ ffffff[0-9a-f]+ 015d5d01 ffffff[0-9a-f]+ 00000029.*
+ 0x[0-9a-f]+ ffffff[0-9a-f]+ 00000035 ffffff[0-9a-f]+ 015d5d01.*
diff --git a/ld/testsuite/ld-mips-elf/mips-elf.exp b/ld/testsuite/ld-mips-elf/mips-elf.exp
index 63c55b857d1..923d8dffc60 100644
--- a/ld/testsuite/ld-mips-elf/mips-elf.exp
+++ b/ld/testsuite/ld-mips-elf/mips-elf.exp
@@ -186,6 +186,15 @@ if { $linux_gnu } {
}
}
+# Test PIE debug dynamic tags
+if { $linux_gnu } {
+ run_dump_test "pie-o32"
+ if { $has_newabi } {
+ run_dump_test "pie-n32"
+ run_dump_test "pie-n64"
+ }
+}
+
if $has_newabi {
if { $embedded_elf } {
run_dump_test "elf-rel-got-n32-embed" \
@@ -432,6 +441,18 @@ if {$linux_gnu} {
run_ld_link_tests $eh_frame5_test
}
+if {$embedded_elf} {
+ run_dump_test "compact-eh1"
+ run_dump_test "compact-eh2"
+ run_dump_test "compact-eh3"
+}
+
+if {$linux_gnu} {
+ run_dump_test "compact-eh4"
+ run_dump_test "compact-eh5"
+ run_dump_test "compact-eh6"
+}
+
run_dump_test "jaloverflow"
run_dump_test "jaloverflow-2"
run_dump_test "undefweak-overflow" [list [list as $abi_asflags(o32)] \
diff --git a/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.ad b/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.ad
index 227d15d0cd9..9f5ca905bd3 100644
--- a/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.ad
+++ b/ld/testsuite/ld-mips-elf/pic-and-nonpic-3b.ad
@@ -8,6 +8,7 @@ Dynamic section at offset .* contains .*:
0x0000000a \(STRSZ\) .*
0x0000000b \(SYMENT\) .*
0x70000016 \(MIPS_RLD_MAP\) * 0x80000
+ 0x70000035 \(MIPS_RLD_MAP_REL\) .*
0x00000015 \(DEBUG\) * 0x0
0x00000003 \(PLTGOT\) * 0xa0000
0x70000001 \(MIPS_RLD_VERSION\) * 1
diff --git a/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.ad b/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.ad
index e14a2d38796..1bea0447026 100644
--- a/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.ad
+++ b/ld/testsuite/ld-mips-elf/pic-and-nonpic-4b.ad
@@ -8,6 +8,7 @@ Dynamic section at offset .* contains .*:
0x0000000a \(STRSZ\) .*
0x0000000b \(SYMENT\) .*
0x70000016 \(MIPS_RLD_MAP\) * 0x80000
+ 0x70000035 \(MIPS_RLD_MAP_REL\) .*
0x00000015 \(DEBUG\) * 0x0
0x00000003 \(PLTGOT\) * 0xa0000
0x00000011 \(REL\) * 0x43000
diff --git a/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.ad b/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.ad
index d7a672fcbe8..972ace16f13 100644
--- a/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.ad
+++ b/ld/testsuite/ld-mips-elf/pic-and-nonpic-5b.ad
@@ -9,6 +9,7 @@ Dynamic section at offset .* contains .*:
0x0000000a \(STRSZ\) .*
0x0000000b \(SYMENT\) .*
0x70000016 \(MIPS_RLD_MAP\) * 0x80000
+ 0x70000035 \(MIPS_RLD_MAP_REL\) .*
0x00000015 \(DEBUG\) * 0x0
0x00000016 \(TEXTREL\) * 0x0
0x00000003 \(PLTGOT\) * 0xa0000
diff --git a/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.ad b/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.ad
index 5df3c6ca16e..28ee34ada1e 100644
--- a/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.ad
+++ b/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n32.ad
@@ -8,6 +8,7 @@ Dynamic section at offset .* contains .*:
0x0000000a \(STRSZ\) .*
0x0000000b \(SYMENT\) .*
0x70000016 \(MIPS_RLD_MAP\) * 0x80000
+ 0x70000035 \(MIPS_RLD_MAP_REL\) .*
0x00000015 \(DEBUG\) * 0x0
0x00000003 \(PLTGOT\) * 0xa0000
0x00000011 \(REL\) * 0x43000
diff --git a/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.ad b/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.ad
index d8fc300e5ca..7b2ce4cfc1d 100644
--- a/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.ad
+++ b/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-n64.ad
@@ -8,6 +8,7 @@ Dynamic section at offset .* contains .*:
0x0+0000000a \(STRSZ\) .*
0x0+0000000b \(SYMENT\) .*
0x0+70000016 \(MIPS_RLD_MAP\) * 0x80000
+ 0x0+70000035 \(MIPS_RLD_MAP_REL\) .*
0x0+00000015 \(DEBUG\) * 0x0
0x0+00000003 \(PLTGOT\) * 0xa0000
0x0+00000011 \(REL\) * 0x43000
diff --git a/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.ad b/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.ad
index 5df3c6ca16e..28ee34ada1e 100644
--- a/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.ad
+++ b/ld/testsuite/ld-mips-elf/pic-and-nonpic-6-o32.ad
@@ -8,6 +8,7 @@ Dynamic section at offset .* contains .*:
0x0000000a \(STRSZ\) .*
0x0000000b \(SYMENT\) .*
0x70000016 \(MIPS_RLD_MAP\) * 0x80000
+ 0x70000035 \(MIPS_RLD_MAP_REL\) .*
0x00000015 \(DEBUG\) * 0x0
0x00000003 \(PLTGOT\) * 0xa0000
0x00000011 \(REL\) * 0x43000
diff --git a/ld/testsuite/ld-mips-elf/pie-n32.d b/ld/testsuite/ld-mips-elf/pie-n32.d
new file mode 100644
index 00000000000..bcfbcd20968
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/pie-n32.d
@@ -0,0 +1,23 @@
+#source: pie.s
+#as: -march=from-abi -mabi=n32 -EB
+#ld: -melf32btsmipn32 -pie
+#readelf: -d
+
+Dynamic section at offset 0x180 contains 16 entries:
+ Tag * Type * Name/Value
+ 0x00000004 \(HASH\) * 0x228
+ 0x00000005 \(STRTAB\) * 0x304
+ 0x00000006 \(SYMTAB\) * 0x264
+ 0x0000000a \(STRSZ\) * 72 \(bytes\)
+ 0x0000000b \(SYMENT\) * 16 \(bytes\)
+ 0x70000035 \(MIPS_RLD_MAP_REL\) * 0x101b8
+ 0x00000015 \(DEBUG\) * 0x0
+ 0x00000003 \(PLTGOT\) * 0x10370
+ 0x70000001 \(MIPS_RLD_VERSION\) * 1
+ 0x70000005 \(MIPS_FLAGS\) * NOTPOT
+ 0x70000006 \(MIPS_BASE_ADDRESS\) * 0x0
+ 0x7000000a \(MIPS_LOCAL_GOTNO\) * 2
+ 0x70000011 \(MIPS_SYMTABNO\) * 10
+ 0x70000012 \(MIPS_UNREFEXTNO\) * 13
+ 0x70000013 \(MIPS_GOTSYM\) * 0xa
+ 0x00000000 \(NULL\) * 0x0
diff --git a/ld/testsuite/ld-mips-elf/pie-n64.d b/ld/testsuite/ld-mips-elf/pie-n64.d
new file mode 100644
index 00000000000..bf2238c5410
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/pie-n64.d
@@ -0,0 +1,23 @@
+#source: pie.s
+#as: -march=from-abi -mabi=64 -EB
+#ld: -melf64btsmip -pie
+#readelf: -d
+
+Dynamic section at offset 0x208 contains 16 entries:
+ Tag * Type * Name/Value
+ 0x0+00000004 \(HASH\) * 0x358
+ 0x0+00000005 \(STRTAB\) * 0x488
+ 0x0+00000006 \(SYMTAB\) * 0x398
+ 0x0+0000000a \(STRSZ\) * 72 \(bytes\)
+ 0x0+0000000b \(SYMENT\) * 24 \(bytes\)
+ 0x0+70000035 \(MIPS_RLD_MAP_REL\) * 0x102a8
+ 0x0+00000015 \(DEBUG\) * 0x0
+ 0x0+00000003 \(PLTGOT\) * 0x10510
+ 0x0+70000001 \(MIPS_RLD_VERSION\) * 1
+ 0x0+70000005 \(MIPS_FLAGS\) * NOTPOT
+ 0x0+70000006 \(MIPS_BASE_ADDRESS\) * 0x0
+ 0x0+7000000a \(MIPS_LOCAL_GOTNO\) * 2
+ 0x0+70000011 \(MIPS_SYMTABNO\) * 10
+ 0x0+70000012 \(MIPS_UNREFEXTNO\) * 13
+ 0x0+70000013 \(MIPS_GOTSYM\) * 0xa
+ 0x0+00000000 \(NULL\) * 0x0
diff --git a/ld/testsuite/ld-mips-elf/pie-o32.d b/ld/testsuite/ld-mips-elf/pie-o32.d
new file mode 100644
index 00000000000..5a9a30889e6
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/pie-o32.d
@@ -0,0 +1,23 @@
+#source: pie.s
+#as: -mabi=32 -EB
+#ld: -melf32btsmip -pie
+#readelf: -d
+
+Dynamic section at offset 0x178 contains 16 entries:
+ Tag * Type * Name/Value
+ 0x00000004 \(HASH\) * 0x220
+ 0x00000005 \(STRTAB\) * 0x2fc
+ 0x00000006 \(SYMTAB\) * 0x25c
+ 0x0000000a \(STRSZ\) * 72 \(bytes\)
+ 0x0000000b \(SYMENT\) * 16 \(bytes\)
+ 0x70000035 \(MIPS_RLD_MAP_REL\) * 0x101c0
+ 0x00000015 \(DEBUG\) * 0x0
+ 0x00000003 \(PLTGOT\) * 0x10370
+ 0x70000001 \(MIPS_RLD_VERSION\) * 1
+ 0x70000005 \(MIPS_FLAGS\) * NOTPOT
+ 0x70000006 \(MIPS_BASE_ADDRESS\) * 0x0
+ 0x7000000a \(MIPS_LOCAL_GOTNO\) * 2
+ 0x70000011 \(MIPS_SYMTABNO\) * 10
+ 0x70000012 \(MIPS_UNREFEXTNO\) * 13
+ 0x70000013 \(MIPS_GOTSYM\) * 0xa
+ 0x00000000 \(NULL\) * 0x0
diff --git a/ld/testsuite/ld-mips-elf/pie.s b/ld/testsuite/ld-mips-elf/pie.s
new file mode 100644
index 00000000000..c7f2b206b9f
--- /dev/null
+++ b/ld/testsuite/ld-mips-elf/pie.s
@@ -0,0 +1,6 @@
+ .abicalls
+ .global __start
+ .ent __start
+__start:
+ jr $31
+ .end __start
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d b/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d
index ca52d8b18c0..6b8f96cbfc4 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.d
@@ -5,7 +5,7 @@ Disassembly of section .text:
.* <__start>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7c40 addiu gp,gp,31808
+ .*: 279c7c30 addiu gp,gp,31792
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
@@ -55,7 +55,7 @@ Disassembly of section .text:
.* <other>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7b80 addiu gp,gp,31616
+ .*: 279c7b70 addiu gp,gp,31600
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got b/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got
index 163aeb5273b..1dbcab40a0a 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-1.got
@@ -13,6 +13,6 @@ OFFSET TYPE VALUE
Contents of section .got:
- 10000020 00000000 80000000 0040047c 00000000 ................
+ 10000020 00000000 80000000 0040048c 00000000 .........@......
10000030 00000000 00000000 00000000 00000000 ................
10000040 00000000 00000001 00000000 ............
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d b/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d
index ca52d8b18c0..6b8f96cbfc4 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.d
@@ -5,7 +5,7 @@ Disassembly of section .text:
.* <__start>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7c40 addiu gp,gp,31808
+ .*: 279c7c30 addiu gp,gp,31792
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
@@ -55,7 +55,7 @@ Disassembly of section .text:
.* <other>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7b80 addiu gp,gp,31616
+ .*: 279c7b70 addiu gp,gp,31600
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got b/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got
index 80e914818b5..fb50635f049 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-2.got
@@ -13,6 +13,6 @@ OFFSET TYPE VALUE
Contents of section .got:
- 10000020 00000000 80000000 0040047c 00000000 .*
+ 10000020 00000000 80000000 0040048c 00000000 .*
10000030 00000000 00000000 00000000 00000000 .*
10000040 00000000 00000001 00000000 .*
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d b/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d
index 78eb8825521..758a4f22c9a 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.d
@@ -5,7 +5,7 @@ Disassembly of section .text:
.* <other>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7c40 addiu gp,gp,31808
+ .*: 279c7c30 addiu gp,gp,31792
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
@@ -51,7 +51,7 @@ Disassembly of section .text:
.* <__start>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7b90 addiu gp,gp,31632
+ .*: 279c7b80 addiu gp,gp,31616
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got b/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got
index a1191e7960b..4a97099885d 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32-3.got
@@ -13,6 +13,6 @@ OFFSET TYPE VALUE
Contents of section .got:
- 10000020 00000000 80000000 0040052c 00000000 .*
+ 10000020 00000000 80000000 0040053c 00000000 .*
10000030 00000000 00000000 00000000 00000000 .*
10000040 00000000 00000001 00000000 .*
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32.d b/ld/testsuite/ld-mips-elf/tlsdyn-o32.d
index 699035bb3c6..ea50960ac6f 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32.d
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32.d
@@ -5,7 +5,7 @@ Disassembly of section .text:
.* <__start>:
.*: 3c1c0fc0 lui gp,0xfc0
- .*: 279c7bf0 addiu gp,gp,31728
+ .*: 279c7be0 addiu gp,gp,31712
.*: 0399e021 addu gp,gp,t9
.*: 27bdfff0 addiu sp,sp,-16
.*: afbe0008 sw s8,8\(sp\)
diff --git a/ld/testsuite/ld-mips-elf/tlsdyn-o32.got b/ld/testsuite/ld-mips-elf/tlsdyn-o32.got
index a1587a69e9c..7942188441e 100644
--- a/ld/testsuite/ld-mips-elf/tlsdyn-o32.got
+++ b/ld/testsuite/ld-mips-elf/tlsdyn-o32.got
@@ -13,6 +13,6 @@ OFFSET TYPE VALUE
Contents of section .got:
- 10000020 00000000 80000000 004004cc 00000000 ................
+ 10000020 00000000 80000000 004004dc 00000000 .........@......
10000030 00000000 00000000 00000001 00000000 ................
10000040 00000000 00000000 00000000 ............
diff --git a/ld/testsuite/ld-mmix/bspec1.d b/ld/testsuite/ld-mmix/bspec1.d
index 784ed55ae59..6440bbeefed 100644
--- a/ld/testsuite/ld-mmix/bspec1.d
+++ b/ld/testsuite/ld-mmix/bspec1.d
@@ -19,7 +19,7 @@ Section Headers:
+\[ 4\] \.symtab +SYMTAB +0+ .*
+0+d8 +0+18 +5 +3 +8
+\[ 5\] \.strtab +STRTAB +0+ .*
- +0+2d +0+ +0 +0 +1
+ +0+26 +0+ +0 +0 +1
Key to Flags:
#...
diff --git a/ld/testsuite/ld-mmix/bspec2.d b/ld/testsuite/ld-mmix/bspec2.d
index 85d847d3cf0..e881b08b830 100644
--- a/ld/testsuite/ld-mmix/bspec2.d
+++ b/ld/testsuite/ld-mmix/bspec2.d
@@ -24,7 +24,7 @@ Section Headers:
+\[ 5\] \.symtab +SYMTAB +0+ .*
+0+108 +0+18 +6 +4 +8
+\[ 6\] \.strtab +STRTAB +0+ .*
- +0+32 +0+ +0 +0 +1
+ +0+2b +0+ +0 +0 +1
Key to Flags:
#...
diff --git a/ld/testsuite/ld-mmix/undef-3.d b/ld/testsuite/ld-mmix/undef-3.d
index c0352a6964f..94eeeaa5a7b 100644
--- a/ld/testsuite/ld-mmix/undef-3.d
+++ b/ld/testsuite/ld-mmix/undef-3.d
@@ -16,7 +16,7 @@ Section Headers:
+\[ 3\] \.symtab +SYMTAB +0+ .*
+0+a8 +0+18 +4 +2 +8
+\[ 4\] \.strtab +STRTAB +0+ .*
- +0+28 +0+ +0 +0 +1
+ +0+21 +0+ +0 +0 +1
Key to Flags:
#...
diff --git a/ld/testsuite/ld-pe/pe-run2.exp b/ld/testsuite/ld-pe/pe-run2.exp
index 43f9f5da387..e010dd0085d 100644
--- a/ld/testsuite/ld-pe/pe-run2.exp
+++ b/ld/testsuite/ld-pe/pe-run2.exp
@@ -84,7 +84,7 @@ proc test_direct2_link_dll {} {
} else {
# Check linking directly to direct2_dll.dll.
set msg "linking client (.dll) fastcall/stdcall"
- if [ld_simple_link "$CC -Wl,--enable-stdcall-fixup -Wl,--enable-auto-import" $tmpdir/direct2_client_dll.exe \
+ if [ld_simple_link "$CC $CFLAGS -Wl,--enable-stdcall-fixup -Wl,--enable-auto-import" $tmpdir/direct2_client_dll.exe \
"$tmpdir/direct2_client.o $tmpdir/direct2_dll.dll" ] {
pass $msg
} else {
@@ -93,7 +93,7 @@ proc test_direct2_link_dll {} {
# Check linking directly to direct2_dll.sl.
set msg "linking client (.sl) fastcall/stdcall"
- if [ld_simple_link "$CC -Wl,--enable-stdcall-fixup -Wl,--enable-auto-import" $tmpdir/direct2_client_sl.exe \
+ if [ld_simple_link "$CC $CFLAGS -Wl,--enable-stdcall-fixup -Wl,--enable-auto-import" $tmpdir/direct2_client_sl.exe \
"$tmpdir/direct2_client.o $tmpdir/direct2_dll.sl" ] {
pass $msg
} else {
@@ -104,7 +104,7 @@ proc test_direct2_link_dll {} {
# Create symbolic link.
catch "exec ln -fs direct2_dll.dll $tmpdir/libdirect2_dll.dll.a" ln_catch
set msg "linking client (symlink -> .dll) fastcall/stdcall"
- if [ld_simple_link "$CC -Wl,--enable-stdcall-fixup -Wl,--enable-auto-import" $tmpdir/direct2_client_symlink_dll.exe \
+ if [ld_simple_link "$CC $CFLAGS -Wl,--enable-stdcall-fixup -Wl,--enable-auto-import" $tmpdir/direct2_client_symlink_dll.exe \
"$tmpdir/direct2_client.o $tmpdir/libdirect2_dll.dll.a" ] {
pass $msg
} else {
@@ -115,7 +115,7 @@ proc test_direct2_link_dll {} {
# Create symbolic link.
catch "exec ln -fs direct2_dll.sl $tmpdir/libdirect2_sl.dll.a" ln_catch
set msg "linking client (symlink -> .sl) fastcall/stdcall"
- if [ld_simple_link "$CC -Wl,--enable-stdcall-fixup -Wl,--enable-auto-import" $tmpdir/direct2_client_symlink_sl.exe \
+ if [ld_simple_link "$CC $CFLAGS -Wl,--enable-stdcall-fixup -Wl,--enable-auto-import" $tmpdir/direct2_client_symlink_sl.exe \
"$tmpdir/direct2_client.o $tmpdir/libdirect2_sl.dll.a" ] {
pass $msg
} else {
diff --git a/ld/testsuite/ld-powerpc/powerpc.exp b/ld/testsuite/ld-powerpc/powerpc.exp
index 48aec4ae4fc..976e89bc013 100644
--- a/ld/testsuite/ld-powerpc/powerpc.exp
+++ b/ld/testsuite/ld-powerpc/powerpc.exp
@@ -325,3 +325,6 @@ run_dump_test "attr-gnu-12-11"
run_dump_test "attr-gnu-12-21"
run_dump_test "vle-multiseg-6"
+
+run_dump_test "ppc476-shared"
+run_dump_test "ppc476-shared2"
diff --git a/ld/testsuite/ld-powerpc/ppc476-shared.d b/ld/testsuite/ld-powerpc/ppc476-shared.d
new file mode 100644
index 00000000000..fe438f40f42
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/ppc476-shared.d
@@ -0,0 +1,48 @@
+#source: ppc476-shared.s
+#as: -a32
+#ld: -melf32ppc -q -shared --ppc476-workaround -T ppc476-shared.lnk
+#objdump: -dr
+#target: powerpc*-*-*
+
+.*: file format .*
+
+Disassembly of section \.text:
+
+0000fffc <\.text>:
+ fffc: (48 03 00 04|04 00 03 48) b 40000 .*
+ 10000: (38 63 00 00|00 00 63 38) addi r3,r3,0
+ 1000[02]: R_PPC_ADDR16_LO \.bss
+ \.\.\.
+ 1fffc: (48 02 00 14|14 00 02 48) b 40010 .*
+ 20000: (38 63 00 00|00 00 63 38) addi r3,r3,0
+ 2000[02]: R_PPC_ADDR16_LO \.bss
+ \.\.\.
+ 2fffc: (48 01 00 24|24 00 01 48) b 40020 .*
+ 30000: (38 63 00 00|00 00 63 38) addi r3,r3,0
+ 3000[02]: R_PPC_ADDR16_LO \.bss
+ \.\.\.
+ 3fff0: (42 9f 00 05|05 00 9f 42) bcl .*
+ 3fff4: (7d 28 02 a6|a6 02 28 7d) mflr r9
+ 3fff8: (3d 29 00 00|00 00 29 3d) addis r9,r9,0
+ 3fff[8a]: R_PPC_REL16_HA \.bss\+0x[46]
+ 3fffc: (48 00 00 34|34 00 00 48) b 40030 .*
+ 40000: (3c 60 00 00|00 00 60 3c) lis r3,0
+ 4000[02]: R_PPC_ADDR16_HA \.bss
+ 40004: (4b fc ff fc|fc ff fc 4b) b 10000 .*
+ 40008: (48 00 00 02|02 00 00 48) ba 0 .*
+ 4000c: (48 00 00 02|02 00 00 48) ba 0 .*
+ 40010: (3c 60 00 00|00 00 60 3c) lis r3,0
+ 4001[02]: R_PPC_ADDR16_HA \.bss
+ 40014: (4b fd ff ec|ec ff fd 4b) b 20000 .*
+ 40018: (48 00 00 02|02 00 00 48) ba 0 .*
+ 4001c: (48 00 00 02|02 00 00 48) ba 0 .*
+ 40020: (3c 60 00 00|00 00 60 3c) lis r3,0
+ 4002[02]: R_PPC_ADDR16_HA \.bss
+ 40024: (4b fe ff dc|dc ff fe 4b) b 30000 .*
+ 40028: (48 00 00 02|02 00 00 48) ba 0 .*
+ 4002c: (48 00 00 02|02 00 00 48) ba 0 .*
+ 40030: (39 29 01 50|50 01 29 39) addi r9,r9,336
+ 4003[02]: R_PPC_REL16_LO \.bss\+0x3[ce]
+ 40034: (4b ff ff cc|cc ff ff 4b) b 40000 .*
+ 40038: (48 00 00 02|02 00 00 48) ba 0 .*
+ 4003c: (48 00 00 02|02 00 00 48) ba 0 .*
diff --git a/ld/testsuite/ld-powerpc/ppc476-shared.lnk b/ld/testsuite/ld-powerpc/ppc476-shared.lnk
new file mode 100644
index 00000000000..5339358dbdf
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/ppc476-shared.lnk
@@ -0,0 +1,6 @@
+SECTIONS
+{
+ . = 0xfffc;
+ .text : { *(.text) }
+ .bss : { *(.bss) }
+}
diff --git a/ld/testsuite/ld-powerpc/ppc476-shared.s b/ld/testsuite/ld-powerpc/ppc476-shared.s
new file mode 100644
index 00000000000..e23b78a47fb
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/ppc476-shared.s
@@ -0,0 +1,19 @@
+ .text
+ lis 3,x@ha
+ addi 3,3,x@l
+ .org 0x10000
+ lis 3,x@ha
+ addi 3,3,x@l
+ .org 0x20000
+ lis 3,x@ha
+ addi 3,3,x@l
+
+ .org 0x2fff4
+ bcl 20,31,.+4
+0:
+ mflr 9
+ addis 9,9,x-0b@ha
+ addi 9,9,x-0b@l
+
+ .section .bss,"aw",@nobits
+x: .space 4
diff --git a/ld/testsuite/ld-powerpc/ppc476-shared2.d b/ld/testsuite/ld-powerpc/ppc476-shared2.d
new file mode 100644
index 00000000000..813ea2eccc9
--- /dev/null
+++ b/ld/testsuite/ld-powerpc/ppc476-shared2.d
@@ -0,0 +1,16 @@
+#source: ppc476-shared.s
+#as: -a32
+#ld: -melf32ppc -shared --ppc476-workaround -T ppc476-shared.lnk
+#objdump: -R
+#target: powerpc*-*-*
+
+.*: file format .*
+
+DYNAMIC RELOCATION RECORDS
+OFFSET TYPE VALUE
+0001000[02] R_PPC_ADDR16_LO \.text\+0x00040144
+0002000[02] R_PPC_ADDR16_LO \.text\+0x00040144
+0003000[02] R_PPC_ADDR16_LO \.text\+0x00040144
+0004000[02] R_PPC_ADDR16_HA \.text\+0x00040144
+0004001[02] R_PPC_ADDR16_HA \.text\+0x00040144
+0004002[02] R_PPC_ADDR16_HA \.text\+0x00040144
diff --git a/ld/testsuite/ld-scripts/print-memory-usage-1.l b/ld/testsuite/ld-scripts/print-memory-usage-1.l
new file mode 100644
index 00000000000..34bc8951c07
--- /dev/null
+++ b/ld/testsuite/ld-scripts/print-memory-usage-1.l
@@ -0,0 +1,3 @@
+Memory region Used Size Region Size %age Used
+ ROM: 32 B 1 KB 3.12%
+ RAM: 32 B 256 KB 0.01%
diff --git a/ld/testsuite/ld-scripts/print-memory-usage-1.s b/ld/testsuite/ld-scripts/print-memory-usage-1.s
new file mode 100644
index 00000000000..ccb94bff034
--- /dev/null
+++ b/ld/testsuite/ld-scripts/print-memory-usage-1.s
@@ -0,0 +1,8 @@
+ .text
+ .globl text_symbol
+text_symbol:
+ .space 32
+ .data
+ .globl data_symbol
+data_symbol:
+ .space 32
diff --git a/ld/testsuite/ld-scripts/print-memory-usage-1.t b/ld/testsuite/ld-scripts/print-memory-usage-1.t
new file mode 100644
index 00000000000..97065b30c52
--- /dev/null
+++ b/ld/testsuite/ld-scripts/print-memory-usage-1.t
@@ -0,0 +1,5 @@
+MEMORY
+{
+ ROM (RX) : ORIGIN = 0x1000, LENGTH = 1K
+ RAM (W) : ORIGIN = 0x100000, LENGTH = 256K
+}
diff --git a/ld/testsuite/ld-scripts/print-memory-usage-2.l b/ld/testsuite/ld-scripts/print-memory-usage-2.l
new file mode 100644
index 00000000000..8797120ceea
--- /dev/null
+++ b/ld/testsuite/ld-scripts/print-memory-usage-2.l
@@ -0,0 +1 @@
+Memory region Used Size Region Size %age Used
diff --git a/ld/testsuite/ld-scripts/print-memory-usage-2.t b/ld/testsuite/ld-scripts/print-memory-usage-2.t
new file mode 100644
index 00000000000..11ce1ba243d
--- /dev/null
+++ b/ld/testsuite/ld-scripts/print-memory-usage-2.t
@@ -0,0 +1,14 @@
+SECTIONS
+{
+ .text 0x1000 :
+ {
+ *(.text)
+ *(.pr)
+ }
+
+ .data :
+ {
+ *(.data)
+ *(.rw)
+ }
+}
diff --git a/ld/testsuite/ld-scripts/print-memory-usage-3.l b/ld/testsuite/ld-scripts/print-memory-usage-3.l
new file mode 100644
index 00000000000..1044101c98e
--- /dev/null
+++ b/ld/testsuite/ld-scripts/print-memory-usage-3.l
@@ -0,0 +1,3 @@
+Memory region Used Size Region Size %age Used
+ ROM: 256 KB 1 MB 25.00%
+ RAM: 32 B 2 GB 0.00%
diff --git a/ld/testsuite/ld-scripts/print-memory-usage-3.s b/ld/testsuite/ld-scripts/print-memory-usage-3.s
new file mode 100644
index 00000000000..917ff20cfa3
--- /dev/null
+++ b/ld/testsuite/ld-scripts/print-memory-usage-3.s
@@ -0,0 +1,8 @@
+ .text
+ .globl text_symbol
+text_symbol:
+ .space 256*1024
+ .data
+ .globl data_symbol
+data_symbol:
+ .space 32
diff --git a/ld/testsuite/ld-scripts/print-memory-usage-3.t b/ld/testsuite/ld-scripts/print-memory-usage-3.t
new file mode 100644
index 00000000000..eff51b6bed3
--- /dev/null
+++ b/ld/testsuite/ld-scripts/print-memory-usage-3.t
@@ -0,0 +1,5 @@
+MEMORY
+{
+ ROM (RX) : ORIGIN = 0x100000, LENGTH = 1M
+ RAM (W) : ORIGIN = 0x1000000, LENGTH = 2048M
+}
diff --git a/ld/testsuite/ld-scripts/print-memory-usage.exp b/ld/testsuite/ld-scripts/print-memory-usage.exp
new file mode 100644
index 00000000000..bbae75f1816
--- /dev/null
+++ b/ld/testsuite/ld-scripts/print-memory-usage.exp
@@ -0,0 +1,69 @@
+# Test --print-memory-usage linker functionality
+# By Tristan Gingold, AdaCore
+# Copyright (C) 2015 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.
+
+# Mips adds MIPS.abiflags section.
+# Spu, pdp11 memory is too small.
+# Tic30 needs a special linker script.
+# Tic54x interpret space values in bits.
+# XCOFF has garbage collection
+if { [istarget mips*-*-*]
+ || [istarget spu*-*-*]
+ || [istarget pdp11*-*-*]
+ || [istarget tic30*-*-*]
+ || [istarget tic54x*-*-*]
+ || [istarget *-*-aix*]
+ || [istarget *-*-xcoff*] } {
+ return
+}
+
+run_ld_link_tests {
+ {
+ "print-memory-usage-1"
+ "-T print-memory-usage-1.t -T print-memory-usage.t --print-memory-usage"
+ ""
+ ""
+ { "print-memory-usage-1.s" }
+ { { ld "print-memory-usage-1.l" } }
+ "print-memory-usage-1"
+ }
+
+ {
+ "print-memory-usage-2"
+ "-T print-memory-usage-2.t --print-memory-usage"
+ ""
+ ""
+ { "print-memory-usage-1.s" }
+ { { ld "print-memory-usage-2.l" } }
+ "print-memory-usage-2"
+ }
+
+ {
+ "print-memory-usage-3"
+ "-T print-memory-usage-3.t -T print-memory-usage.t --print-memory-usage"
+ ""
+ ""
+ { "print-memory-usage-3.s" }
+ { { ld "print-memory-usage-3.l" } }
+ "print-memory-usage-3"
+ }
+
+}
+
diff --git a/ld/testsuite/ld-scripts/print-memory-usage.t b/ld/testsuite/ld-scripts/print-memory-usage.t
new file mode 100644
index 00000000000..5ff057a5e30
--- /dev/null
+++ b/ld/testsuite/ld-scripts/print-memory-usage.t
@@ -0,0 +1,14 @@
+SECTIONS
+{
+ .text :
+ {
+ *(.text)
+ *(.pr)
+ }
+
+ .data :
+ {
+ *(.data)
+ *(.rw)
+ }
+}
diff --git a/ld/testsuite/ld-x86-64/pltgot-1.d b/ld/testsuite/ld-x86-64/pltgot-1.d
index 9a6c2fd6473..17d4f438c63 100644
--- a/ld/testsuite/ld-x86-64/pltgot-1.d
+++ b/ld/testsuite/ld-x86-64/pltgot-1.d
@@ -2,7 +2,8 @@
#readelf: -S --wide
#as: --64
-#failif
#...
- +\[ [0-9]+\] \.plt +PROGBITS +.*
+ +\[ *[0-9]+\] \.plt +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+10 +.*
#...
+ +\[ *[0-9]+\] \.got\.plt +PROGBITS +[0-9a-f]+ +[0-9a-f]+ +0+18 +.*
+#pass
diff --git a/ld/testsuite/ld-x86-64/pltgot-2.d b/ld/testsuite/ld-x86-64/pltgot-2.d
new file mode 100644
index 00000000000..086d6dd62ab
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pltgot-2.d
@@ -0,0 +1,9 @@
+#source: pltgot-1.s
+#ld: -shared -melf_x86_64
+#readelf: -d --wide
+#as: --64
+
+#failif
+#...
+ +0x[0-9a-f]+ +\(PLTREL.*
+#...
diff --git a/ld/testsuite/ld-x86-64/pr17689now.rd b/ld/testsuite/ld-x86-64/pr17689now.rd
new file mode 100644
index 00000000000..8fd9371a9f2
--- /dev/null
+++ b/ld/testsuite/ld-x86-64/pr17689now.rd
@@ -0,0 +1,4 @@
+#failif
+#...
+[0-9a-f ]+R_X86_64_JUMP_SLOT +0+ +.*
+#...
diff --git a/ld/testsuite/ld-x86-64/x86-64.exp b/ld/testsuite/ld-x86-64/x86-64.exp
index a3122714314..3669446aaf3 100644
--- a/ld/testsuite/ld-x86-64/x86-64.exp
+++ b/ld/testsuite/ld-x86-64/x86-64.exp
@@ -440,6 +440,14 @@ if { [isnative] && [which $CC] != 0 } {
"pr17689.so" \
] \
[list \
+ "Build pr17689now.so with -z now" \
+ "-shared -Wl,-z,now" \
+ "-fPIC" \
+ { pr17689a.c } \
+ {{readelf {-Wr} pr17689now.rd}} \
+ "pr17689now.so" \
+ ] \
+ [list \
"Build pr17689 with PIE without -fPIE" \
"tmpdir/pr17689.so -pie" \
"" \
@@ -448,6 +456,14 @@ if { [isnative] && [which $CC] != 0 } {
"pr17689" \
] \
[list \
+ "Build pr17689 with PIE -z now without -fPIE" \
+ "tmpdir/pr17689.so -pie -Wl,-z,now" \
+ "" \
+ { pr17689b.S } \
+ {{readelf {-Wr} pr17689now.rd}} \
+ "pr17689now" \
+ ] \
+ [list \
"Build pr17827 with PIE without -fPIE" \
"tmpdir/pr17689.so -pie" \
"" \
@@ -493,6 +509,14 @@ if { [isnative] && [which $CC] != 0 } {
"pr17689" \
"pr17689.out" \
] \
+ [list \
+ "Run pr17689 with PIE -z now without -fPIE" \
+ "tmpdir/pr17689.so -pie -z now" \
+ "" \
+ { pr17689b.S } \
+ "pr17689now" \
+ "pr17689.out" \
+ ] \
]
if { [istarget "x86_64-*-linux*"] \
@@ -550,3 +574,4 @@ if { ![istarget "x86_64-*-linux*"]} {
# Linux only tests
run_dump_test "pr17618"
run_dump_test "pltgot-1"
+run_dump_test "pltgot-2"
diff --git a/ld/testsuite/ld-xtensa/tlsbin.rd b/ld/testsuite/ld-xtensa/tlsbin.rd
index dcb9fab7bb4..6226ea704f5 100644
--- a/ld/testsuite/ld-xtensa/tlsbin.rd
+++ b/ld/testsuite/ld-xtensa/tlsbin.rd
@@ -19,9 +19,9 @@ Section Headers:
+\[[ 0-9]+\] .tdata +PROGBITS +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 00 +WAT +0 +0 +4
+\[[ 0-9]+\] .dynamic +DYNAMIC +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 08 +WA +4 +0 +4
+\[[ 0-9]+\] .got +PROGBITS +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 00 +WA +0 +0 +4
+ +\[[ 0-9]+\] .xtensa.info +NOTE +0+ .*
+\[[ 0-9]+\] .xt.lit +PROGBITS +0+ .*
+\[[ 0-9]+\] .xt.prop +PROGBITS +0+ .*
- +\[[ 0-9]+\] .xtensa.info +NOTE +0+ .*
+\[[ 0-9]+\] .shstrtab +.*
+\[[ 0-9]+\] .symtab +.*
+\[[ 0-9]+\] .strtab +.*
@@ -63,10 +63,10 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
+[0-9]+: 0+ +0 +NOTYPE +LOCAL +DEFAULT +UND *
+[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG2
- +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start
+ +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
+[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
- +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata
- +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end
+ +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
+ +[0-9]+: 0+[0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
Symbol table '\.symtab' contains [0-9]+ entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -84,6 +84,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
+[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +11 *
+[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +12 *
+[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +13 *
+ +[0-9]+: [0-9a-f]+ +0 +FILE +LOCAL +DEFAULT +ABS +tmpdir/tlsbin.o
+[0-9]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +8 sl1
+[0-9]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +8 sl2
+[0-9]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +8 sl3
@@ -92,6 +93,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
+[0-9]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +8 sl6
+[0-9]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +8 sl7
+[0-9]+: [0-9a-f]+ +0 +TLS +LOCAL +DEFAULT +8 sl8
+ +[0-9]+: 0+ +0 +FILE +LOCAL +DEFAULT +ABS *
+[0-9]+: 0+ +0 +TLS +LOCAL +DEFAULT +8 _TLS_MODULE_BASE_
+[0-9]+: [0-9a-f]+ +0 +OBJECT +LOCAL +DEFAULT +9 _DYNAMIC
+[0-9]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +8 sg8
@@ -106,13 +108,13 @@ Symbol table '\.symtab' contains [0-9]+ entries:
+[0-9]+: [0-9a-f]+ +0 +FUNC +GLOBAL +DEFAULT +6 _start
+[0-9]+: [0-9a-f]+ +0 +TLS +GLOBAL +HIDDEN +8 sh4
+[0-9]+: [0-9a-f]+ +0 +TLS +GLOBAL +HIDDEN +8 sh5
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start
+ +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
+[0-9]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +8 sg2
+[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +UND sG1
+[0-9]+: [0-9a-f]+ +0 +TLS +GLOBAL +HIDDEN +8 sh1
+[0-9]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +8 sg6
+[0-9]+: [0-9a-f]+ +0 +TLS +GLOBAL +DEFAULT +8 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end
+ +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
+ +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
+[0-9]+: [0-9a-f]+ +0 +TLS +GLOBAL +HIDDEN +8 sh2
+[0-9]+: [0-9a-f]+ +0 +TLS +GLOBAL +HIDDEN +8 sh6
diff --git a/ld/testsuite/ld-xtensa/tlspic.rd b/ld/testsuite/ld-xtensa/tlspic.rd
index 92d704e5004..2edd54f8068 100644
--- a/ld/testsuite/ld-xtensa/tlspic.rd
+++ b/ld/testsuite/ld-xtensa/tlspic.rd
@@ -20,9 +20,9 @@ Section Headers:
+\[[ 0-9]+\] .tbss +NOBITS +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 00 +WAT +0 +0 +4
+\[[ 0-9]+\] .dynamic +DYNAMIC +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 08 +WA +3 +0 +4
+\[[ 0-9]+\] .got +PROGBITS +[0-9a-f]+ [0-9a-f]+ [0-9a-f]+ 00 +WA +0 +0 +4
+ +\[[ 0-9]+\] .xtensa.info +NOTE +0+ .*
+\[[ 0-9]+\] .xt.lit +PROGBITS +0+ .*
+\[[ 0-9]+\] .xt.prop +PROGBITS +0+ .*
- +\[[ 0-9]+\] .xtensa.info +NOTE +0+ .*
+\[[ 0-9]+\] .shstrtab +.*
+\[[ 0-9]+\] .symtab +.*
+\[[ 0-9]+\] .strtab +.*
@@ -55,20 +55,20 @@ Relocation section '.rela.dyn' at offset 0x[0-9a-f]+ contains 18 entries:
[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLSDESC_ARG +0+ +sg1 \+ 0
[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLS_TPOFF +0+4 +sg2 \+ 0
[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLS_TPOFF +0+4 +sg2 \+ 0
-[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLSDESC_FN +0+20
-[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLSDESC_ARG +0+20
-[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLS_TPOFF +0+24
-[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLSDESC_FN +0+40
-[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLSDESC_ARG +0+40
-[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLS_TPOFF +0+44
-[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLSDESC_FN +0+60
-[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLSDESC_ARG +0+60
-[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLS_TPOFF +0+64
-[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLSDESC_FN +0+
-[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLSDESC_ARG +0+
-[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLS_TPOFF +0+24
-[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLS_TPOFF +0+44
-[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLS_TPOFF +0+64
+[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLSDESC_FN +20
+[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLSDESC_ARG +20
+[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLS_TPOFF +24
+[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLSDESC_FN +40
+[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLSDESC_ARG +40
+[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLS_TPOFF +44
+[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLSDESC_FN +60
+[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLSDESC_ARG +60
+[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLS_TPOFF +64
+[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLSDESC_FN +0
+[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLSDESC_ARG +0
+[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLS_TPOFF +24
+[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLS_TPOFF +44
+[0-9a-f]+ +[0-9a-f]+ R_XTENSA_TLS_TPOFF +64
Symbol table '\.dynsym' contains [0-9]+ entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -79,12 +79,12 @@ Symbol table '\.dynsym' contains [0-9]+ entries:
+[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5
+[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1
+[0-9]+: 0+350 +0 +FUNC +GLOBAL +DEFAULT +5 _start
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start
+ +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
+[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2
+[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6
+[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end
+ +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
+ +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
Symbol table '\.symtab' contains [0-9]+ entries:
+Num: +Value +Size +Type +Bind +Vis +Ndx +Name
@@ -102,6 +102,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
+[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +11 *
+[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +12 *
+[0-9]+: [0-9a-f]+ +0 +SECTION +LOCAL +DEFAULT +13 *
+ +[0-9]+: [0-9a-f]+ +0 +FILE +LOCAL +DEFAULT +ABS +tmpdir/tlspic1.o
+[0-9]+: 0+20 +0 +TLS +LOCAL +DEFAULT +7 sl1
+[0-9]+: 0+24 +0 +TLS +LOCAL +DEFAULT +7 sl2
+[0-9]+: 0+28 +0 +TLS +LOCAL +DEFAULT +7 sl3
@@ -110,6 +111,7 @@ Symbol table '\.symtab' contains [0-9]+ entries:
+[0-9]+: 0+34 +0 +TLS +LOCAL +DEFAULT +7 sl6
+[0-9]+: 0+38 +0 +TLS +LOCAL +DEFAULT +7 sl7
+[0-9]+: 0+3c +0 +TLS +LOCAL +DEFAULT +7 sl8
+ +[0-9]+: 0+ +0 +FILE +LOCAL +DEFAULT +ABS *
+[0-9]+: 0+60 +0 +TLS +LOCAL +DEFAULT +8 sH1
+[0-9]+: 0+ +0 +TLS +LOCAL +DEFAULT +7 _TLS_MODULE_BASE_
+[0-9]+: 0+144c +0 +OBJECT +LOCAL +DEFAULT +ABS _DYNAMIC
@@ -134,9 +136,9 @@ Symbol table '\.symtab' contains [0-9]+ entries:
+[0-9]+: 0+10 +0 +TLS +GLOBAL +DEFAULT +7 sg5
+[0-9]+: 0+ +0 +TLS +GLOBAL +DEFAULT +7 sg1
+[0-9]+: 0+350 +0 +FUNC +GLOBAL +DEFAULT +5 _start
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS __bss_start
+ +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 __bss_start
+[0-9]+: 0+4 +0 +TLS +GLOBAL +DEFAULT +7 sg2
+[0-9]+: 0+14 +0 +TLS +GLOBAL +DEFAULT +7 sg6
+[0-9]+: 0+18 +0 +TLS +GLOBAL +DEFAULT +7 sg7
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _edata
- +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +ABS _end
+ +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _edata
+ +[0-9]+: [0-9a-f]+ +0 +NOTYPE +GLOBAL +DEFAULT +10 _end
diff --git a/libiberty/ChangeLog b/libiberty/ChangeLog
index 923613d8caf..f2b014841aa 100644
--- a/libiberty/ChangeLog
+++ b/libiberty/ChangeLog
@@ -1,3 +1,85 @@
+2015-06-01 Jason Merrill <jason@redhat.com>
+
+ * cp-demangle.c (cplus_demangle_type): Handle arguments to vendor
+ extended qualifier.
+
+2015-05-22 Yunlian Jiang <yunlian@google.com>
+
+ * configure.ac: Add AC_GNU_SOURCE.
+ * Makefile.in (COMPILE.c): Add -D_GNU_SOURCE.
+ * configure, config.in: Rebuild.
+ * floatformat.c (_GNU_SOURCE): Don't define if already defined.
+
+2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-demangle.c (dlang_symbol_kinds): New enum.
+ (dlang_parse_symbol): Update signature. Handle an ambiguity between
+ pascal functions and template value arguments. Only check for a type
+ if parsing a function, or at the top level. Return failure if the
+ entire symbol was not successfully demangled.
+ (dlang_identifier): Update signature. Handle an ambiguity between two
+ adjacent digits in a mangled symbol string.
+ (dlang_type): Update call to dlang_parse_symbol.
+ (dlang_template_args): Likewise.
+ (dlang_parse_template): Likewise.
+ (dlang_demangle): Likewise.
+ * testsuite/d-demangle-expected: Fix bad tests found, and add problematic
+ examples to the unittests.
+
+2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-demangle.c (dlang_template_args): Skip over specialized template
+ parameters in mangled symbol.
+ * testsuite/d-demangle-expected: Add coverage and unittest for specialized
+ template parameters.
+
+2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-demangle.c (dlang_type): Handle cent and ucent types.
+ * testsuite/d-demangle-expected: Add coverage tests for cent and ucent.
+
+2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-demangle.c (dlang_attributes): Handle return attributes, ignoring
+ return parameters in the mangled string. Return NULL if have encountered
+ an unknown attribute.
+ (dlang_function_args): Handle return parameters in the mangled string.
+ * testsuite/d-demangle-expected: Add coverage tests for functions with
+ return parameters and return attributes.
+
+2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-demangle.c (dlang_identifier): Check encoded length of identifier
+ to verify strncmp matches entire string.
+ * testsuite/d-demangle-expected: Fix wrong test for postblit symbol.
+
+2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-demangle.c (dlang_type_modifiers): New function.
+ (dlang_type_modifier_p): New function.
+ (dlang_call_convention_p): Ignore any kind of type modifier.
+ (dlang_type): Handle and emit the type modifier after delegate types.
+ (dlang_parse_symbol): Handle and emit the type modifier after the symbol.
+ * testsuite/d-demangle-expected: Add coverage tests for all valid
+ usages of function symbols with type modifiers.
+
+2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-demangle.c (dlang_call_convention): Return NULL if have reached the
+ end of the symbol, but expected something to read.
+ (dlang_attributes): Likewise.
+ (dlang_function_type): Likewise.
+ (dlang_type): Likewise.
+ (dlang_identifier): Likewise.
+ (dlang_value): Likewise.
+
+2015-05-16 Iain Buclaw <ibuclaw@gdcproject.org>
+
+ * d-demangle.c (dlang_parse_string): Represent embedded whitespace or
+ non-printable characters as hex or escape sequences.
+ * testsuite/d-demangle-expected: Add test for templates with tabs and
+ newlines embedded into the signature.
+
2015-05-08 Joel Brobecker <brobecker@adacore.com>
* mkstemps.c: #include <time.h> if HAVE_TIME_H is defined
@@ -7,6 +89,22 @@
* setenv.c <environ>: Declare only if not a macro.
+2015-04-14 Max Ostapenko <m.ostapenko@partner.samsung.com>
+
+ * testsuite/Makefile.in (LIBCFLAGS): Add LDFLAGS.
+
+2015-04-10 Jakub Jelinek <jakub@redhat.com>
+ Iain Sandoe <iain@codesourcery.com>
+
+ PR target/65351
+ * configure: Regenerate.
+
+2015-04-07 Jakub Jelinek <jakub@redhat.com>
+ Iain Sandoe <iain@codesourcery.com>
+
+ PR target/65351
+ * configure: Regenerate.
+
2015-01-19 Eli Zaretskii <eliz@gnu.org>
* strerror.c <sys_nerr, sys_errlist>: Declare only if they aren't
diff --git a/libiberty/Makefile.in b/libiberty/Makefile.in
index f06cc69a973..7d7e2f41efa 100644
--- a/libiberty/Makefile.in
+++ b/libiberty/Makefile.in
@@ -3,7 +3,7 @@
#
# Copyright (C) 1990, 1991, 1992, 1993, 1994, 1995, 1996, 1997, 1998,
# 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009, 2010, 2011,
-# 2012, 2014 Free Software Foundation
+# 2012, 2014, 2015 Free Software Foundation
#
# This file is part of the libiberty library.
# Libiberty is free software; you can redistribute it and/or
@@ -113,7 +113,8 @@ installcheck: installcheck-subdir
INCDIR=$(srcdir)/$(MULTISRCTOP)../include
-COMPILE.c = $(CC) -c @DEFS@ $(CFLAGS) $(CPPFLAGS) -I. -I$(INCDIR) $(HDEFINES) @ac_libiberty_warn_cflags@
+COMPILE.c = $(CC) -c @DEFS@ $(CFLAGS) $(CPPFLAGS) -I. -I$(INCDIR) \
+ $(HDEFINES) @ac_libiberty_warn_cflags@ -D_GNU_SOURCE
# Just to make sure we don't use a built-in rule with VPATH
.c.$(objext):
diff --git a/libiberty/config.in b/libiberty/config.in
index 7c05b9d846e..0dedbf08e0f 100644
--- a/libiberty/config.in
+++ b/libiberty/config.in
@@ -485,6 +485,28 @@
/* Define to an unsigned 64-bit type available in the compiler. */
#undef UNSIGNED_64BIT_TYPE
+/* Enable extensions on AIX 3, Interix. */
+#ifndef _ALL_SOURCE
+# undef _ALL_SOURCE
+#endif
+/* Enable GNU extensions on systems that have them. */
+#ifndef _GNU_SOURCE
+# undef _GNU_SOURCE
+#endif
+/* Enable threading extensions on Solaris. */
+#ifndef _POSIX_PTHREAD_SEMANTICS
+# undef _POSIX_PTHREAD_SEMANTICS
+#endif
+/* Enable extensions on HP NonStop. */
+#ifndef _TANDEM_SOURCE
+# undef _TANDEM_SOURCE
+#endif
+/* Enable general extensions on Solaris. */
+#ifndef __EXTENSIONS__
+# undef __EXTENSIONS__
+#endif
+
+
/* 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
@@ -503,6 +525,16 @@
/* Define for large files, on AIX-style hosts. */
#undef _LARGE_FILES
+/* Define to 1 if on MINIX. */
+#undef _MINIX
+
+/* Define to 2 if the system does not provide POSIX.1 features except with
+ this defined. */
+#undef _POSIX_1_SOURCE
+
+/* Define to 1 if you need to in order for `stat' and other things to work. */
+#undef _POSIX_SOURCE
+
/* Define to empty if `const' does not conform to ANSI C. */
#undef const
diff --git a/libiberty/configure b/libiberty/configure
index 2007ecc76b1..da2df4ec740 100755
--- a/libiberty/configure
+++ b/libiberty/configure
@@ -599,11 +599,11 @@ PICFLAG
INSTALL_DATA
INSTALL_SCRIPT
INSTALL_PROGRAM
-EGREP
-GREP
OUTPUT_OPTION
NO_MINUS_C_MINUS_O
ac_libiberty_warn_cflags
+EGREP
+GREP
CPP
OBJEXT
EXEEXT
@@ -1480,6 +1480,93 @@ fi
} # ac_fn_c_try_cpp
+# ac_fn_c_check_header_mongrel LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists, giving a warning if it cannot be compiled using
+# the include files in INCLUDES and setting the cache variable VAR
+# accordingly.
+ac_fn_c_check_header_mongrel ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+else
+ # Is the header compilable?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 usability" >&5
+$as_echo_n "checking $2 usability... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_header_compiler=yes
+else
+ ac_header_compiler=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_compiler" >&5
+$as_echo "$ac_header_compiler" >&6; }
+
+# Is the header present?
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking $2 presence" >&5
+$as_echo_n "checking $2 presence... " >&6; }
+cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <$2>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ ac_header_preproc=yes
+else
+ ac_header_preproc=no
+fi
+rm -f conftest.err conftest.$ac_ext
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_header_preproc" >&5
+$as_echo "$ac_header_preproc" >&6; }
+
+# So? What about this header?
+case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in #((
+ yes:no: )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&5
+$as_echo "$as_me: WARNING: $2: accepted by the compiler, rejected by the preprocessor!" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+ ;;
+ no:yes:* )
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: present but cannot be compiled" >&5
+$as_echo "$as_me: WARNING: $2: present but cannot be compiled" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: check for missing prerequisite headers?" >&5
+$as_echo "$as_me: WARNING: $2: check for missing prerequisite headers?" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: see the Autoconf documentation" >&5
+$as_echo "$as_me: WARNING: $2: see the Autoconf documentation" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&5
+$as_echo "$as_me: WARNING: $2: section \"Present But Cannot Be Compiled\"" >&2;}
+ { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $2: proceeding with the compiler's result" >&5
+$as_echo "$as_me: WARNING: $2: proceeding with the compiler's result" >&2;}
+ ;;
+esac
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+else
+ eval "$3=\$ac_header_compiler"
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+fi
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_header_mongrel
+
# ac_fn_c_try_run LINENO
# ----------------------
# Try to link conftest.$ac_ext, and return whether this succeeded. Assumes
@@ -1522,6 +1609,37 @@ fi
} # ac_fn_c_try_run
+# ac_fn_c_check_header_compile LINENO HEADER VAR INCLUDES
+# -------------------------------------------------------
+# Tests whether HEADER exists and can be compiled using the include files in
+# INCLUDES, setting the cache variable VAR accordingly.
+ac_fn_c_check_header_compile ()
+{
+ as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
+$as_echo_n "checking for $2... " >&6; }
+if { as_var=$3; eval "test \"\${$as_var+set}\" = set"; }; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+$4
+#include <$2>
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ eval "$3=yes"
+else
+ eval "$3=no"
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+eval ac_res=\$$3
+ { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
+$as_echo "$ac_res" >&6; }
+ eval $as_lineno_stack; test "x$as_lineno_stack" = x && { as_lineno=; unset as_lineno;}
+
+} # ac_fn_c_check_header_compile
+
# ac_fn_c_check_header_preproc LINENO HEADER VAR
# ----------------------------------------------
# Tests whether HEADER is present, setting the cache variable VAR accordingly.
@@ -3610,6 +3728,466 @@ ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $
ac_compiler_gnu=$ac_cv_c_compiler_gnu
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
+$as_echo_n "checking how to run the C preprocessor... " >&6; }
+# On Suns, sometimes $CPP names a directory.
+if test -n "$CPP" && test -d "$CPP"; then
+ CPP=
+fi
+if test -z "$CPP"; then
+ if test "${ac_cv_prog_CPP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ # Double quotes because CPP needs to be expanded
+ for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
+ do
+ ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+ break
+fi
+
+ done
+ ac_cv_prog_CPP=$CPP
+
+fi
+ CPP=$ac_cv_prog_CPP
+else
+ ac_cv_prog_CPP=$CPP
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
+$as_echo "$CPP" >&6; }
+ac_preproc_ok=false
+for ac_c_preproc_warn_flag in '' yes
+do
+ # Use a header file that comes with gcc, so configuring glibc
+ # with a fresh cross-compiler works.
+ # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
+ # <limits.h> exists even on freestanding compilers.
+ # On the NeXT, cc -E runs the code through the compiler's parser,
+ # not just through cpp. "Syntax error" is here to catch this case.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#ifdef __STDC__
+# include <limits.h>
+#else
+# include <assert.h>
+#endif
+ Syntax error
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+
+else
+ # Broken: fails on valid input.
+continue
+fi
+rm -f conftest.err conftest.$ac_ext
+
+ # OK, works on sane cases. Now check whether nonexistent headers
+ # can be detected and how.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ac_nonexistent.h>
+_ACEOF
+if ac_fn_c_try_cpp "$LINENO"; then :
+ # Broken: success on invalid input.
+continue
+else
+ # Passes both tests.
+ac_preproc_ok=:
+break
+fi
+rm -f conftest.err conftest.$ac_ext
+
+done
+# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
+rm -f conftest.err conftest.$ac_ext
+if $ac_preproc_ok; then :
+
+else
+ { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
+$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
+as_fn_error "C preprocessor \"$CPP\" fails sanity check
+See \`config.log' for more details." "$LINENO" 5; }
+fi
+
+ac_ext=c
+ac_cpp='$CPP $CPPFLAGS'
+ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
+ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
+ac_compiler_gnu=$ac_cv_c_compiler_gnu
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
+$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
+if test "${ac_cv_path_GREP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if test -z "$GREP"; then
+ ac_path_GREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in grep ggrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
+# Check for GNU ac_path_GREP and select it if it is found.
+ # Check for GNU $ac_path_GREP
+case `"$ac_path_GREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'GREP' >> "conftest.nl"
+ "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_GREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_GREP="$ac_path_GREP"
+ ac_path_GREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_GREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_GREP"; then
+ as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_GREP=$GREP
+fi
+
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
+$as_echo "$ac_cv_path_GREP" >&6; }
+ GREP="$ac_cv_path_GREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
+$as_echo_n "checking for egrep... " >&6; }
+if test "${ac_cv_path_EGREP+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
+ then ac_cv_path_EGREP="$GREP -E"
+ else
+ if test -z "$EGREP"; then
+ ac_path_EGREP_found=false
+ # Loop through the user's path and test for each of PROGNAME-LIST
+ as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
+for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
+do
+ IFS=$as_save_IFS
+ test -z "$as_dir" && as_dir=.
+ for ac_prog in egrep; do
+ for ac_exec_ext in '' $ac_executable_extensions; do
+ ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
+ { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
+# Check for GNU ac_path_EGREP and select it if it is found.
+ # Check for GNU $ac_path_EGREP
+case `"$ac_path_EGREP" --version 2>&1` in
+*GNU*)
+ ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
+*)
+ ac_count=0
+ $as_echo_n 0123456789 >"conftest.in"
+ while :
+ do
+ cat "conftest.in" "conftest.in" >"conftest.tmp"
+ mv "conftest.tmp" "conftest.in"
+ cp "conftest.in" "conftest.nl"
+ $as_echo 'EGREP' >> "conftest.nl"
+ "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
+ diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
+ as_fn_arith $ac_count + 1 && ac_count=$as_val
+ if test $ac_count -gt ${ac_path_EGREP_max-0}; then
+ # Best one so far, save it but keep looking for a better one
+ ac_cv_path_EGREP="$ac_path_EGREP"
+ ac_path_EGREP_max=$ac_count
+ fi
+ # 10*(2^10) chars as input seems more than enough
+ test $ac_count -gt 10 && break
+ done
+ rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
+esac
+
+ $ac_path_EGREP_found && break 3
+ done
+ done
+ done
+IFS=$as_save_IFS
+ if test -z "$ac_cv_path_EGREP"; then
+ as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
+ fi
+else
+ ac_cv_path_EGREP=$EGREP
+fi
+
+ fi
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
+$as_echo "$ac_cv_path_EGREP" >&6; }
+ EGREP="$ac_cv_path_EGREP"
+
+
+{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
+$as_echo_n "checking for ANSI C header files... " >&6; }
+if test "${ac_cv_header_stdc+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+#include <stdarg.h>
+#include <string.h>
+#include <float.h>
+
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_header_stdc=yes
+else
+ ac_cv_header_stdc=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+
+if test $ac_cv_header_stdc = yes; then
+ # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <string.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "memchr" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <stdlib.h>
+
+_ACEOF
+if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
+ $EGREP "free" >/dev/null 2>&1; then :
+
+else
+ ac_cv_header_stdc=no
+fi
+rm -f conftest*
+
+fi
+
+if test $ac_cv_header_stdc = yes; then
+ # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
+ if test "$cross_compiling" = yes; then :
+ :
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+#include <ctype.h>
+#include <stdlib.h>
+#if ((' ' & 0x0FF) == 0x020)
+# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
+# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
+#else
+# define ISLOWER(c) \
+ (('a' <= (c) && (c) <= 'i') \
+ || ('j' <= (c) && (c) <= 'r') \
+ || ('s' <= (c) && (c) <= 'z'))
+# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
+#endif
+
+#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
+int
+main ()
+{
+ int i;
+ for (i = 0; i < 256; i++)
+ if (XOR (islower (i), ISLOWER (i))
+ || toupper (i) != TOUPPER (i))
+ return 2;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_run "$LINENO"; then :
+
+else
+ ac_cv_header_stdc=no
+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_header_stdc" >&5
+$as_echo "$ac_cv_header_stdc" >&6; }
+if test $ac_cv_header_stdc = yes; then
+
+$as_echo "#define STDC_HEADERS 1" >>confdefs.h
+
+fi
+
+# On IRIX 5.3, sys/types and inttypes.h are conflicting.
+for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
+ inttypes.h stdint.h unistd.h
+do :
+ as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
+ac_fn_c_check_header_compile "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default
+"
+eval as_val=\$$as_ac_Header
+ if test "x$as_val" = x""yes; then :
+ cat >>confdefs.h <<_ACEOF
+#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
+_ACEOF
+
+fi
+
+done
+
+
+
+ ac_fn_c_check_header_mongrel "$LINENO" "minix/config.h" "ac_cv_header_minix_config_h" "$ac_includes_default"
+if test "x$ac_cv_header_minix_config_h" = x""yes; then :
+ MINIX=yes
+else
+ MINIX=
+fi
+
+
+ if test "$MINIX" = yes; then
+
+$as_echo "#define _POSIX_SOURCE 1" >>confdefs.h
+
+
+$as_echo "#define _POSIX_1_SOURCE 2" >>confdefs.h
+
+
+$as_echo "#define _MINIX 1" >>confdefs.h
+
+ fi
+
+
+ { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether it is safe to define __EXTENSIONS__" >&5
+$as_echo_n "checking whether it is safe to define __EXTENSIONS__... " >&6; }
+if test "${ac_cv_safe_to_define___extensions__+set}" = set; then :
+ $as_echo_n "(cached) " >&6
+else
+ cat confdefs.h - <<_ACEOF >conftest.$ac_ext
+/* end confdefs.h. */
+
+# define __EXTENSIONS__ 1
+ $ac_includes_default
+int
+main ()
+{
+
+ ;
+ return 0;
+}
+_ACEOF
+if ac_fn_c_try_compile "$LINENO"; then :
+ ac_cv_safe_to_define___extensions__=yes
+else
+ ac_cv_safe_to_define___extensions__=no
+fi
+rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
+fi
+{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_safe_to_define___extensions__" >&5
+$as_echo "$ac_cv_safe_to_define___extensions__" >&6; }
+ test $ac_cv_safe_to_define___extensions__ = yes &&
+ $as_echo "#define __EXTENSIONS__ 1" >>confdefs.h
+
+ $as_echo "#define _ALL_SOURCE 1" >>confdefs.h
+
+ $as_echo "#define _GNU_SOURCE 1" >>confdefs.h
+
+ $as_echo "#define _POSIX_PTHREAD_SEMANTICS 1" >>confdefs.h
+
+ $as_echo "#define _TANDEM_SOURCE 1" >>confdefs.h
+
+
+
# Check whether --enable-largefile was given.
if test "${enable_largefile+set}" = set; then :
enableval=$enable_largefile;
@@ -3808,143 +4386,6 @@ rm -rf conftest*
fi
fi
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to run the C preprocessor" >&5
-$as_echo_n "checking how to run the C preprocessor... " >&6; }
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- # Double quotes because CPP needs to be expanded
- for CPP in "$CC -E" "$CC -E -traditional-cpp" "/lib/cpp"
- do
- ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $CPP" >&5
-$as_echo "$CPP" >&6; }
-ac_preproc_ok=false
-for ac_c_preproc_warn_flag in '' yes
-do
- # Use a header file that comes with gcc, so configuring glibc
- # with a fresh cross-compiler works.
- # Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
- # <limits.h> exists even on freestanding compilers.
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp. "Syntax error" is here to catch this case.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
-
-else
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether nonexistent headers
- # can be detected and how.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if ac_fn_c_try_cpp "$LINENO"; then :
- # Broken: success on invalid input.
-continue
-else
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then :
-
-else
- { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error "C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." "$LINENO" 5; }
-fi
-
-ac_ext=c
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='$CC -c $CFLAGS $CPPFLAGS conftest.$ac_ext >&5'
-ac_link='$CC -o conftest$ac_exeext $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS >&5'
-ac_compiler_gnu=$ac_cv_c_compiler_gnu
-
ac_c_preproc_warn_flag=yes
@@ -4274,265 +4715,6 @@ _ACEOF
;;
esac
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for grep that handles long lines and -e" >&5
-$as_echo_n "checking for grep that handles long lines and -e... " >&6; }
-if test "${ac_cv_path_GREP+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- if test -z "$GREP"; then
- ac_path_GREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in grep ggrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_GREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_GREP" && $as_test_x "$ac_path_GREP"; } || continue
-# Check for GNU ac_path_GREP and select it if it is found.
- # Check for GNU $ac_path_GREP
-case `"$ac_path_GREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_GREP="$ac_path_GREP" ac_path_GREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'GREP' >> "conftest.nl"
- "$ac_path_GREP" -e 'GREP$' -e '-(cannot match)-' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_GREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_GREP="$ac_path_GREP"
- ac_path_GREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_GREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_GREP"; then
- as_fn_error "no acceptable grep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_GREP=$GREP
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_GREP" >&5
-$as_echo "$ac_cv_path_GREP" >&6; }
- GREP="$ac_cv_path_GREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for egrep" >&5
-$as_echo_n "checking for egrep... " >&6; }
-if test "${ac_cv_path_EGREP+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- if echo a | $GREP -E '(a|b)' >/dev/null 2>&1
- then ac_cv_path_EGREP="$GREP -E"
- else
- if test -z "$EGREP"; then
- ac_path_EGREP_found=false
- # Loop through the user's path and test for each of PROGNAME-LIST
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH$PATH_SEPARATOR/usr/xpg4/bin
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for ac_prog in egrep; do
- for ac_exec_ext in '' $ac_executable_extensions; do
- ac_path_EGREP="$as_dir/$ac_prog$ac_exec_ext"
- { test -f "$ac_path_EGREP" && $as_test_x "$ac_path_EGREP"; } || continue
-# Check for GNU ac_path_EGREP and select it if it is found.
- # Check for GNU $ac_path_EGREP
-case `"$ac_path_EGREP" --version 2>&1` in
-*GNU*)
- ac_cv_path_EGREP="$ac_path_EGREP" ac_path_EGREP_found=:;;
-*)
- ac_count=0
- $as_echo_n 0123456789 >"conftest.in"
- while :
- do
- cat "conftest.in" "conftest.in" >"conftest.tmp"
- mv "conftest.tmp" "conftest.in"
- cp "conftest.in" "conftest.nl"
- $as_echo 'EGREP' >> "conftest.nl"
- "$ac_path_EGREP" 'EGREP$' < "conftest.nl" >"conftest.out" 2>/dev/null || break
- diff "conftest.out" "conftest.nl" >/dev/null 2>&1 || break
- as_fn_arith $ac_count + 1 && ac_count=$as_val
- if test $ac_count -gt ${ac_path_EGREP_max-0}; then
- # Best one so far, save it but keep looking for a better one
- ac_cv_path_EGREP="$ac_path_EGREP"
- ac_path_EGREP_max=$ac_count
- fi
- # 10*(2^10) chars as input seems more than enough
- test $ac_count -gt 10 && break
- done
- rm -f conftest.in conftest.tmp conftest.nl conftest.out;;
-esac
-
- $ac_path_EGREP_found && break 3
- done
- done
- done
-IFS=$as_save_IFS
- if test -z "$ac_cv_path_EGREP"; then
- as_fn_error "no acceptable egrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
- fi
-else
- ac_cv_path_EGREP=$EGREP
-fi
-
- fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_EGREP" >&5
-$as_echo "$ac_cv_path_EGREP" >&6; }
- EGREP="$ac_cv_path_EGREP"
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for ANSI C header files" >&5
-$as_echo_n "checking for ANSI C header files... " >&6; }
-if test "${ac_cv_header_stdc+set}" = set; then :
- $as_echo_n "(cached) " >&6
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
- ac_cv_header_stdc=yes
-else
- ac_cv_header_stdc=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <string.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "memchr" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # ISC 2.0.2 stdlib.h does not declare free, contrary to ANSI.
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <stdlib.h>
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "free" >/dev/null 2>&1; then :
-
-else
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-fi
-
-if test $ac_cv_header_stdc = yes; then
- # /bin/cc in Irix-4.0.5 gets non-ANSI ctype macros unless using -ansi.
- if test "$cross_compiling" = yes; then :
- :
-else
- cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h. */
-#include <ctype.h>
-#include <stdlib.h>
-#if ((' ' & 0x0FF) == 0x020)
-# define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-# define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#else
-# define ISLOWER(c) \
- (('a' <= (c) && (c) <= 'i') \
- || ('j' <= (c) && (c) <= 'r') \
- || ('s' <= (c) && (c) <= 'z'))
-# define TOUPPER(c) (ISLOWER(c) ? ((c) | 0x40) : (c))
-#endif
-
-#define XOR(e, f) (((e) && !(f)) || (!(e) && (f)))
-int
-main ()
-{
- int i;
- for (i = 0; i < 256; i++)
- if (XOR (islower (i), ISLOWER (i))
- || toupper (i) != TOUPPER (i))
- return 2;
- return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-
-else
- ac_cv_header_stdc=no
-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_header_stdc" >&5
-$as_echo "$ac_cv_header_stdc" >&6; }
-if test $ac_cv_header_stdc = yes; then
-
-$as_echo "#define STDC_HEADERS 1" >>confdefs.h
-
-fi
-
-# On IRIX 5.3, sys/types and inttypes.h are conflicting.
-for ac_header in sys/types.h sys/stat.h stdlib.h string.h memory.h strings.h \
- inttypes.h stdint.h unistd.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"
-eval as_val=\$$as_ac_Header
- if test "x$as_val" = x""yes; then :
- cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
{ $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 test "${ac_cv_c_bigendian+set}" = set; then :
@@ -4885,9 +5067,15 @@ fi
case "${host}" in
# PIC is the default on some targets or must not be used.
*-*-darwin*)
- # PIC is the default on this platform
- # Common symbols not allowed in MH_DYLIB files
- PICFLAG=-fno-common
+ # For darwin, common symbols are not allowed in MH_DYLIB files
+ case "${CFLAGS}" in
+ # If we are using a compiler supporting mdynamic-no-pic
+ # and the option has been tested as safe to add, then cancel
+ # it here, since the code generated is incompatible with shared
+ # libs.
+ *-mdynamic-no-pic*) PICFLAG='-fno-common -mno-dynamic-no-pic' ;;
+ *) PICFLAG=-fno-common ;;
+ esac
;;
alpha*-dec-osf5*)
# PIC is the default.
diff --git a/libiberty/configure.ac b/libiberty/configure.ac
index 922aa86e9b0..868be8e72d1 100644
--- a/libiberty/configure.ac
+++ b/libiberty/configure.ac
@@ -155,6 +155,7 @@ AC_MSG_NOTICE([target_header_dir = $target_header_dir])
GCC_NO_EXECUTABLES
AC_PROG_CC
+AC_GNU_SOURCE
AC_SYS_LARGEFILE
AC_PROG_CPP_WERROR
diff --git a/libiberty/cp-demangle.c b/libiberty/cp-demangle.c
index 77c2cee9d17..2988b6bcb01 100644
--- a/libiberty/cp-demangle.c
+++ b/libiberty/cp-demangle.c
@@ -2470,6 +2470,9 @@ cplus_demangle_type (struct d_info *di)
case 'U':
d_advance (di, 1);
ret = d_source_name (di);
+ if (d_peek_char (di) == 'I')
+ ret = d_make_comp (di, DEMANGLE_COMPONENT_TEMPLATE, ret,
+ d_template_args (di));
ret = d_make_comp (di, DEMANGLE_COMPONENT_VENDOR_TYPE_QUAL,
cplus_demangle_type (di), ret);
break;
diff --git a/libiberty/d-demangle.c b/libiberty/d-demangle.c
index bb481c0998e..a2a3b32af6a 100644
--- a/libiberty/d-demangle.c
+++ b/libiberty/d-demangle.c
@@ -1,5 +1,5 @@
/* Demangler for the D programming language
- Copyright 2014 Free Software Foundation, Inc.
+ Copyright 2014, 2015 Free Software Foundation, Inc.
Written by Iain Buclaw (ibuclaw@gdcproject.org)
This file is part of the libiberty library.
@@ -165,6 +165,21 @@ string_prepend (string *p, const char *s)
}
}
+/* What kinds of symbol we could be parsing. */
+enum dlang_symbol_kinds
+{
+ /* Top-level symbol, needs it's type checked. */
+ dlang_top_level,
+ /* Function symbol, needs it's type checked. */
+ dlang_function,
+ /* Strongly typed name, such as for classes, structs and enums. */
+ dlang_type_name,
+ /* Template identifier. */
+ dlang_template_ident,
+ /* Template symbol parameter. */
+ dlang_template_param
+};
+
/* Prototypes for forward referenced functions */
static const char *dlang_function_args (string *, const char *);
@@ -172,7 +187,8 @@ static const char *dlang_type (string *, const char *);
static const char *dlang_value (string *, const char *, const char *, char);
-static const char *dlang_parse_symbol (string *, const char *);
+static const char *dlang_parse_symbol (string *, const char *,
+ enum dlang_symbol_kinds);
static const char *dlang_parse_tuple (string *, const char *);
@@ -185,7 +201,7 @@ static const char *
dlang_call_convention (string *decl, const char *mangled)
{
if (mangled == NULL || *mangled == '\0')
- return mangled;
+ return NULL;
switch (*mangled)
{
@@ -215,13 +231,51 @@ dlang_call_convention (string *decl, const char *mangled)
return mangled;
}
+/* Extract the type modifiers from MANGLED and append them to DECL.
+ Returns the remaining signature on success or NULL on failure. */
+static const char *
+dlang_type_modifiers (string *decl, const char *mangled)
+{
+ if (mangled == NULL || *mangled == '\0')
+ return NULL;
+
+ switch (*mangled)
+ {
+ case 'x': /* const */
+ mangled++;
+ string_append (decl, " const");
+ return mangled;
+ case 'y': /* immutable */
+ mangled++;
+ string_append (decl, " immutable");
+ return mangled;
+ case 'O': /* shared */
+ mangled++;
+ string_append (decl, " shared");
+ return dlang_type_modifiers (decl, mangled);
+ case 'N':
+ mangled++;
+ if (*mangled == 'g') /* wild */
+ {
+ mangled++;
+ string_append (decl, " inout");
+ return dlang_type_modifiers (decl, mangled);
+ }
+ else
+ return NULL;
+
+ default:
+ return mangled;
+ }
+}
+
/* Demangle the D function attributes from MANGLED and append it to DECL.
Return the remaining string on success or NULL on failure. */
static const char *
dlang_attributes (string *decl, const char *mangled)
{
if (mangled == NULL || *mangled == '\0')
- return mangled;
+ return NULL;
while (*mangled == 'N')
{
@@ -254,8 +308,10 @@ dlang_attributes (string *decl, const char *mangled)
continue;
case 'g':
case 'h':
+ case 'k':
/* inout parameter is represented as 'Ng'.
vector parameter is represented as 'Nh'.
+ return paramenter is represented as 'Nk'.
If we see this, then we know we're really in the
parameter list. Rewind and break. */
mangled--;
@@ -264,6 +320,13 @@ dlang_attributes (string *decl, const char *mangled)
mangled++;
string_append (decl, "@nogc ");
continue;
+ case 'j': /* return */
+ mangled++;
+ string_append (decl, "return ");
+ continue;
+
+ default: /* unknown attribute */
+ return NULL;
}
break;
}
@@ -280,7 +343,7 @@ dlang_function_type (string *decl, const char *mangled)
size_t szattr, szargs, sztype;
if (mangled == NULL || *mangled == '\0')
- return mangled;
+ return NULL;
/* The order of the mangled string is:
CallConvention FuncAttrs Arguments ArgClose Type
@@ -353,6 +416,12 @@ dlang_function_args (string *decl, const char *mangled)
string_append (decl, "scope ");
}
+ if (mangled[0] == 'N' && mangled[1] == 'k') /* return(T) */
+ {
+ mangled += 2;
+ string_append (decl, "return ");
+ }
+
switch (*mangled)
{
case 'J': /* out(T) */
@@ -380,7 +449,7 @@ static const char *
dlang_type (string *decl, const char *mangled)
{
if (mangled == NULL || *mangled == '\0')
- return mangled;
+ return NULL;
switch (*mangled)
{
@@ -474,12 +543,24 @@ dlang_type (string *decl, const char *mangled)
case 'E': /* enum T */
case 'T': /* typedef T */
mangled++;
- return dlang_parse_symbol (decl, mangled);
+ return dlang_parse_symbol (decl, mangled, dlang_type_name);
case 'D': /* delegate T */
+ {
+ string mods;
+ size_t szmods;
mangled++;
+
+ string_init (&mods);
+ mangled = dlang_type_modifiers (&mods, mangled);
+ szmods = string_length (&mods);
+
mangled = dlang_function_type (decl, mangled);
string_append (decl, "delegate");
+ string_appendn (decl, mods.b, szmods);
+
+ string_delete (&mods);
return mangled;
+ }
case 'B': /* tuple T */
mangled++;
return dlang_parse_tuple (decl, mangled);
@@ -588,6 +669,20 @@ dlang_type (string *decl, const char *mangled)
mangled++;
string_append (decl, "dchar");
return mangled;
+ case 'z':
+ mangled++;
+ switch (*mangled)
+ {
+ case 'i':
+ mangled++;
+ string_append (decl, "cent");
+ return mangled;
+ case 'k':
+ mangled++;
+ string_append (decl, "ucent");
+ return mangled;
+ }
+ return NULL;
default: /* unhandled */
return NULL;
@@ -597,97 +692,162 @@ dlang_type (string *decl, const char *mangled)
/* Extract the identifier from MANGLED and append it to DECL.
Return the remaining string on success or NULL on failure. */
static const char *
-dlang_identifier (string *decl, const char *mangled)
+dlang_identifier (string *decl, const char *mangled,
+ enum dlang_symbol_kinds kind)
{
+ char *endptr;
+ long len;
+
if (mangled == NULL || *mangled == '\0')
- return mangled;
+ return NULL;
- if (ISDIGIT (*mangled))
+ len = strtol (mangled, &endptr, 10);
+
+ if (endptr == NULL || len <= 0)
+ return NULL;
+
+ /* In template parameter symbols, the first character of the mangled
+ name can be a digit. This causes ambiguity issues because the
+ digits of the two numbers are adjacent. */
+ if (kind == dlang_template_param)
{
- char *endptr;
- long i = strtol (mangled, &endptr, 10);
+ long psize = len;
+ char *pend;
+ int saved = string_length (decl);
- if (endptr == NULL || i <= 0 || strlen (endptr) < (size_t) i)
+ /* Work backwards until a match is found. */
+ for (pend = endptr; endptr != NULL; pend--)
+ {
+ mangled = pend;
+
+ /* Reached the beginning of the pointer to the name length,
+ try parsing the entire symbol. */
+ if (psize == 0)
+ {
+ psize = len;
+ pend = endptr;
+ endptr = NULL;
+ }
+
+ /* Check whether template parameter is a function with a valid
+ return type or an untyped identifier. */
+ if (ISDIGIT (*mangled))
+ mangled = dlang_parse_symbol (decl, mangled, dlang_template_ident);
+ else if (strncmp (mangled, "_D", 2) == 0)
+ {
+ mangled += 2;
+ mangled = dlang_parse_symbol (decl, mangled, dlang_function);
+ }
+
+ /* Check for name length mismatch. */
+ if (mangled && (mangled - pend) == psize)
+ return mangled;
+
+ psize /= 10;
+ string_setlength (decl, saved);
+ }
+
+ /* No match on any combinations. */
+ return NULL;
+ }
+ else
+ {
+ if (strlen (endptr) < (size_t) len)
return NULL;
mangled = endptr;
/* May be a template instance. */
- if (i >= 5 && strncmp (mangled, "__T", 3) == 0)
+ if (len >= 5 && strncmp (mangled, "__T", 3) == 0)
{
/* Template symbol. */
if (ISDIGIT (mangled[3]) && mangled[3] != '0')
- return dlang_parse_template (decl, mangled, i);
+ return dlang_parse_template (decl, mangled, len);
return NULL;
}
- if (strncmp (mangled, "__ctor", i) == 0)
- {
- /* Constructor symbol for a class/struct. */
- string_append (decl, "this");
- mangled += i;
- return mangled;
- }
- else if (strncmp (mangled, "__dtor", i) == 0)
- {
- /* Destructor symbol for a class/struct. */
- string_append (decl, "~this");
- mangled += i;
- return mangled;
- }
- else if (strncmp (mangled, "__postblit", i) == 0)
- {
- /* Postblit symbol for a struct. */
- string_append (decl, "this(this)");
- mangled += i;
- return mangled;
- }
- else if (strncmp (mangled, "__initZ", i+1) == 0)
- {
- /* The static initialiser for a given symbol. */
- string_append (decl, "init$");
- mangled += i + 1;
- return mangled;
- }
- else if (strncmp (mangled, "__ClassZ", i+1) == 0)
+ switch (len)
{
- /* The classinfo symbol for a given class. */
- string_prepend (decl, "ClassInfo for ");
- string_setlength (decl, string_length (decl) - 1);
- mangled += i + 1;
- return mangled;
- }
- else if (strncmp (mangled, "__vtblZ", i+1) == 0)
- {
- /* The vtable symbol for a given class. */
- string_prepend (decl, "vtable for ");
- string_setlength (decl, string_length (decl) - 1);
- mangled += i + 1;
- return mangled;
- }
- else if (strncmp (mangled, "__InterfaceZ", i+1) == 0)
- {
- /* The interface symbol for a given class. */
- string_prepend (decl, "Interface for ");
- string_setlength (decl, string_length (decl) - 1);
- mangled += i + 1;
- return mangled;
- }
- else if (strncmp (mangled, "__ModuleInfoZ", i+1) == 0)
- {
- /* The ModuleInfo symbol for a given module. */
- string_prepend (decl, "ModuleInfo for ");
- string_setlength (decl, string_length (decl) - 1);
- mangled += i + 1;
- return mangled;
+ case 6:
+ if (strncmp (mangled, "__ctor", len) == 0)
+ {
+ /* Constructor symbol for a class/struct. */
+ string_append (decl, "this");
+ mangled += len;
+ return mangled;
+ }
+ else if (strncmp (mangled, "__dtor", len) == 0)
+ {
+ /* Destructor symbol for a class/struct. */
+ string_append (decl, "~this");
+ mangled += len;
+ return mangled;
+ }
+ else if (strncmp (mangled, "__initZ", len+1) == 0)
+ {
+ /* The static initialiser for a given symbol. */
+ string_append (decl, "init$");
+ mangled += len;
+ return mangled;
+ }
+ else if (strncmp (mangled, "__vtblZ", len+1) == 0)
+ {
+ /* The vtable symbol for a given class. */
+ string_prepend (decl, "vtable for ");
+ string_setlength (decl, string_length (decl) - 1);
+ mangled += len;
+ return mangled;
+ }
+ break;
+
+ case 7:
+ if (strncmp (mangled, "__ClassZ", len+1) == 0)
+ {
+ /* The classinfo symbol for a given class. */
+ string_prepend (decl, "ClassInfo for ");
+ string_setlength (decl, string_length (decl) - 1);
+ mangled += len;
+ return mangled;
+ }
+ break;
+
+ case 10:
+ if (strncmp (mangled, "__postblitMFZ", len+3) == 0)
+ {
+ /* Postblit symbol for a struct. */
+ string_append (decl, "this(this)");
+ mangled += len + 3;
+ return mangled;
+ }
+ break;
+
+ case 11:
+ if (strncmp (mangled, "__InterfaceZ", len+1) == 0)
+ {
+ /* The interface symbol for a given class. */
+ string_prepend (decl, "Interface for ");
+ string_setlength (decl, string_length (decl) - 1);
+ mangled += len;
+ return mangled;
+ }
+ break;
+
+ case 12:
+ if (strncmp (mangled, "__ModuleInfoZ", len+1) == 0)
+ {
+ /* The ModuleInfo symbol for a given module. */
+ string_prepend (decl, "ModuleInfo for ");
+ string_setlength (decl, string_length (decl) - 1);
+ mangled += len;
+ return mangled;
+ }
+ break;
}
- string_appendn (decl, mangled, i);
- mangled += i;
+ string_appendn (decl, mangled, len);
+ mangled += len;
}
- else
- return NULL;
return mangled;
}
@@ -931,7 +1091,38 @@ dlang_parse_string (string *decl, const char *mangled)
char a = ascii2hex (mangled[0]);
char b = ascii2hex (mangled[1]);
char val = (a << 4) | b;
- string_appendn (decl, &val, 1);
+
+ /* Sanitize white and non-printable characters. */
+ switch (val)
+ {
+ case ' ':
+ string_append (decl, " ");
+ break;
+ case '\t':
+ string_append (decl, "\\t");
+ break;
+ case '\n':
+ string_append (decl, "\\n");
+ break;
+ case '\r':
+ string_append (decl, "\\r");
+ break;
+ case '\f':
+ string_append (decl, "\\f");
+ break;
+ case '\v':
+ string_append (decl, "\\v");
+ break;
+
+ default:
+ if (ISPRINT (val))
+ string_appendn (decl, &val, 1);
+ else
+ {
+ string_append (decl, "\\x");
+ string_appendn (decl, mangled, 2);
+ }
+ }
}
else
return NULL;
@@ -1030,7 +1221,7 @@ static const char *
dlang_value (string *decl, const char *mangled, const char *name, char type)
{
if (mangled == NULL || *mangled == '\0')
- return mangled;
+ return NULL;
switch (*mangled)
{
@@ -1104,28 +1295,54 @@ dlang_value (string *decl, const char *mangled, const char *name, char type)
return mangled;
}
+/* Extract the type modifiers from MANGLED and return the string
+ length that it consumes in MANGLED on success or 0 on failure. */
static int
-dlang_call_convention_p (const char *mangled)
+dlang_type_modifier_p (const char *mangled)
{
- size_t i;
+ int i;
switch (*mangled)
{
- case 'F': case 'U': case 'V':
- case 'W': case 'R':
+ case 'x': case 'y':
return 1;
- case 'M': /* Prefix for functions needing 'this' */
- i = 1;
- if (mangled[i] == 'x')
- i++;
+ case 'O':
+ mangled++;
+ i = dlang_type_modifier_p (mangled);
+ return i + 1;
- switch (mangled[i])
+ case 'N':
+ mangled++;
+ if (*mangled == 'g')
{
- case 'F': case 'U': case 'V':
- case 'W': case 'R':
- return 1;
+ mangled++;
+ i = dlang_type_modifier_p (mangled);
+ return i + 2;
}
+ }
+
+ return 0;
+}
+
+/* Extract the function calling convention from MANGLED and
+ return 1 on success or 0 on failure. */
+static int
+dlang_call_convention_p (const char *mangled)
+{
+ /* Prefix for functions needing 'this' */
+ if (*mangled == 'M')
+ {
+ mangled++;
+ /* Also skip over any type modifiers. */
+ mangled += dlang_type_modifier_p (mangled);
+ }
+
+ switch (*mangled)
+ {
+ case 'F': case 'U': case 'V':
+ case 'W': case 'R':
+ return 1;
default:
return 0;
@@ -1135,23 +1352,41 @@ dlang_call_convention_p (const char *mangled)
/* Extract and demangle the symbol in MANGLED and append it to DECL.
Returns the remaining signature on success or NULL on failure. */
static const char *
-dlang_parse_symbol (string *decl, const char *mangled)
+dlang_parse_symbol (string *decl, const char *mangled,
+ enum dlang_symbol_kinds kind)
{
+ int saved;
size_t n = 0;
do
{
if (n++)
string_append (decl, ".");
- mangled = dlang_identifier (decl, mangled);
+ mangled = dlang_identifier (decl, mangled, kind);
if (mangled && dlang_call_convention_p (mangled))
{
- int saved;
+ string mods;
+ const char *start = NULL;
+ int checkpoint = 0;
/* Skip over 'this' parameter. */
if (*mangled == 'M')
- mangled += (mangled[1] == 'x') ? 2 : 1;
+ mangled++;
+
+ /* We have reached here because we expect an extern(Pascal) function.
+ However this is so rare, that it is more likely a template value
+ parameter. Since this can't be assumed, first attempt parsing
+ the symbol as a function, and then back out on failure. */
+ if (*mangled == 'V')
+ {
+ start = mangled;
+ checkpoint = string_length (decl);
+ }
+
+ /* Save the type modifiers for appending at the end. */
+ string_init (&mods);
+ mangled = dlang_type_modifiers (&mods, mangled);
/* Skip over calling convention and attributes in qualified name. */
saved = string_length (decl);
@@ -1163,17 +1398,41 @@ dlang_parse_symbol (string *decl, const char *mangled)
mangled = dlang_function_args (decl, mangled);
string_append (decl, ")");
- /* Demangle the function return type as a kind of sanity test. */
- if (mangled && !ISDIGIT (*mangled))
+ /* Add any const/immutable/shared modifier. */
+ string_appendn (decl, mods.b, string_length (&mods));
+ string_delete (&mods);
+
+ if (mangled == NULL && checkpoint != 0)
{
- saved = string_length (decl);
- mangled = dlang_type (decl, mangled);
- string_setlength (decl, saved);
+ mangled = start;
+ string_setlength (decl, checkpoint);
}
}
}
while (mangled && ISDIGIT (*mangled));
+ /* Only top-level symbols or function template parameters have
+ a type that needs checking. */
+ if (kind == dlang_top_level || kind == dlang_function)
+ {
+ /* Artificial symbols end with 'Z' and have no type. */
+ if (mangled && *mangled == 'Z')
+ mangled++;
+ else
+ {
+ saved = string_length (decl);
+ mangled = dlang_type (decl, mangled);
+ string_setlength (decl, saved);
+ }
+
+ /* Check that the entire symbol was successfully demangled. */
+ if (kind == dlang_top_level)
+ {
+ if (mangled == NULL || *mangled != '\0')
+ return NULL;
+ }
+ }
+
return mangled;
}
@@ -1221,11 +1480,15 @@ dlang_template_args (string *decl, const char *mangled)
if (n++)
string_append (decl, ", ");
+ /* Skip over specialised template prefix. */
+ if (*mangled == 'H')
+ mangled++;
+
switch (*mangled)
{
case 'S': /* Symbol parameter. */
mangled++;
- mangled = dlang_parse_symbol (decl, mangled);
+ mangled = dlang_parse_symbol (decl, mangled, dlang_template_param);
break;
case 'T': /* Type parameter. */
mangled++;
@@ -1283,7 +1546,7 @@ dlang_parse_template (string *decl, const char *mangled, long len)
mangled += 3;
/* Template identifier. */
- mangled = dlang_identifier (decl, mangled);
+ mangled = dlang_identifier (decl, mangled, dlang_template_ident);
/* Template arguments. */
string_append (decl, "!(");
@@ -1322,7 +1585,7 @@ dlang_demangle (const char *mangled, int option ATTRIBUTE_UNUSED)
{
mangled += 2;
- if (dlang_parse_symbol (&decl, mangled) == NULL)
+ if (dlang_parse_symbol (&decl, mangled, dlang_top_level) == NULL)
string_delete (&decl);
}
diff --git a/libiberty/floatformat.c b/libiberty/floatformat.c
index 789fa05777d..9190e1469d9 100644
--- a/libiberty/floatformat.c
+++ b/libiberty/floatformat.c
@@ -1,5 +1,5 @@
/* IEEE floating point support routines, for GDB, the GNU Debugger.
- Copyright 1991, 1994, 1999, 2000, 2003, 2005, 2006, 2010, 2012
+ Copyright 1991, 1994, 1999, 2000, 2003, 2005, 2006, 2010, 2012, 2015
Free Software Foundation, Inc.
This file is part of GDB.
@@ -19,7 +19,9 @@ along with this program; if not, write to the Free Software
Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
/* This is needed to pick up the NAN macro on some systems. */
+#ifndef _GNU_SOURCE
#define _GNU_SOURCE
+#endif
#ifdef HAVE_CONFIG_H
#include "config.h"
diff --git a/libiberty/testsuite/Makefile.in b/libiberty/testsuite/Makefile.in
index 4324a8f1dc4..8f5f7b50b73 100644
--- a/libiberty/testsuite/Makefile.in
+++ b/libiberty/testsuite/Makefile.in
@@ -33,7 +33,7 @@ SHELL = @SHELL@
CC = @CC@
CFLAGS = @CFLAGS@
-LIBCFLAGS = $(CFLAGS)
+LIBCFLAGS = $(CFLAGS) $(LDFLAGS)
# Multilib support variables.
MULTISRCTOP =
diff --git a/libiberty/testsuite/d-demangle-expected b/libiberty/testsuite/d-demangle-expected
index 2aeacb8389f..6c8ccdff4b5 100644
--- a/libiberty/testsuite/d-demangle-expected
+++ b/libiberty/testsuite/d-demangle-expected
@@ -114,6 +114,14 @@ _D8demangle4testFwZv
demangle.test(dchar)
#
--format=dlang
+_D8demangle4testFziZv
+demangle.test(cent)
+#
+--format=dlang
+_D8demangle4testFzkZv
+demangle.test(ucent)
+#
+--format=dlang
_D8demangle4testFOaZv
demangle.test(shared(char))
#
@@ -314,6 +322,14 @@ _D8demangle4testFMaZv
demangle.test(scope char)
#
--format=dlang
+_D8demangle4testFNjaZv
+demangle.test(char)
+#
+--format=dlang
+_D8demangle4testFNkaZv
+demangle.test(return char)
+#
+--format=dlang
_D8demangle4testFaXv
demangle.test(char...)
#
@@ -434,6 +450,22 @@ _D8demangle4testFDFNdNfNaZaZv
demangle.test(char() @property @safe pure delegate)
#
--format=dlang
+_D8demangle4testFNjDFZaZv
+demangle.test(char() delegate)
+#
+--format=dlang
+_D8demangle4testFNkDFZaZv
+demangle.test(return char() delegate)
+#
+--format=dlang
+_D8demangle4testFDFNjZaZv
+demangle.test(char() return delegate)
+#
+--format=dlang
+_D8demangle4testFNjNkDFNjZaZv
+demangle.test(return char() return delegate)
+#
+--format=dlang
_D8demangle4testFFNaZaZv
demangle.test(char() pure function)
#
@@ -474,6 +506,22 @@ _D8demangle4testFFNdNfNaZaZv
demangle.test(char() @property @safe pure function)
#
--format=dlang
+_D8demangle4testFNjFZaZv
+demangle.test(char() function)
+#
+--format=dlang
+_D8demangle4testFNkFZaZv
+demangle.test(return char() function)
+#
+--format=dlang
+_D8demangle4testFFNjZaZv
+demangle.test(char() return function)
+#
+--format=dlang
+_D8demangle4testFNjNkFNjZaZv
+demangle.test(return char() return function)
+#
+--format=dlang
_D8demangle4test6__initZ
demangle.test.init$
#
@@ -502,7 +550,7 @@ _D8demangle4test6__dtorMFZv
demangle.test.~this()
#
--format=dlang
-_D8demangle4test6__postblitMFZv
+_D8demangle4test10__postblitMFZv
demangle.test.this(this)
#
--format=dlang
@@ -566,12 +614,12 @@ _D8demangle17__T4testS6symbolZv
demangle.test!(symbol)
#
--format=dlang
-_D8demangle21__T4testS6symbol3fooZv
+_D8demangle23__T4testS116symbol3fooZv
demangle.test!(symbol.foo)
#
--format=dlang
-_D8demangle25__T4testS6symbol3foo3barZv
-demangle.test!(symbol.foo.bar)
+_D8demangle32__T4testS20_D6symbol3foo3barFZvZv
+demangle.test!(symbol.foo.bar())
#
--format=dlang
_D8demangle19__T4testTaS6symbolZv
@@ -582,6 +630,10 @@ _D8demangle19__T4testS6symbolTaZv
demangle.test!(symbol, char)
#
--format=dlang
+_D8demangle12__T4testHTaZv
+demangle.test!(char)
+#
+--format=dlang
_D8demangle13__T4testVPinZv
demangle.test!(null)
#
@@ -753,6 +805,70 @@ demangle.test!(demangle.S(1, 2))
_D8demangle35__T4testVS8demangle1SS2i1a3_616263Zv
demangle.test!(demangle.S(1, "abc"))
#
+--format=dlang
+_D8demangle4testMxFZv
+demangle.test() const
+#
+--format=dlang
+_D8demangle4testMyFZv
+demangle.test() immutable
+#
+--format=dlang
+_D8demangle4testMNgFZv
+demangle.test() inout
+#
+--format=dlang
+_D8demangle4testMNgxFZv
+demangle.test() inout const
+#
+--format=dlang
+_D8demangle4testMOFZv
+demangle.test() shared
+#
+--format=dlang
+_D8demangle4testMOxFZv
+demangle.test() shared const
+#
+--format=dlang
+_D8demangle4testMONgFZv
+demangle.test() shared inout
+#
+--format=dlang
+_D8demangle4testMONgxFZv
+demangle.test() shared inout const
+#
+--format=dlang
+_D8demangle4testFDxFZaZv
+demangle.test(char() delegate const)
+#
+--format=dlang
+_D8demangle4testFDyFZaZv
+demangle.test(char() delegate immutable)
+#
+--format=dlang
+_D8demangle4testFDNgFZaZv
+demangle.test(char() delegate inout)
+#
+--format=dlang
+_D8demangle4testFDNgxFZaZv
+demangle.test(char() delegate inout const)
+#
+--format=dlang
+_D8demangle4testFDOFZaZv
+demangle.test(char() delegate shared)
+#
+--format=dlang
+_D8demangle4testFDOxFZaZv
+demangle.test(char() delegate shared const)
+#
+--format=dlang
+_D8demangle4testFDONgFZaZv
+demangle.test(char() delegate shared inout)
+#
+--format=dlang
+_D8demangle4testFDONgxFZaZv
+demangle.test(char() delegate shared inout const)
+#
# Unittests
#
--format=dlang
@@ -816,19 +932,19 @@ _D6plugin8generateFiiZAOa
plugin.generate(int, int)
#
--format=dlang
-_D8demangle3fnAFZv3fnBMFZv
+_D8demangle3fnAFZ3fnBMFZv
demangle.fnA().fnB()
#
--format=dlang
-_D8demangle4mainFZv1S3fnCFZv
+_D8demangle4mainFZ1S3fnCMFZv
demangle.main().S.fnC()
#
--format=dlang
-_D8demangle4mainFZv1S3fnDMFZv
+_D8demangle4mainFZ1S3fnDMFZv
demangle.main().S.fnD()
#
--format=dlang
-_D8demangle4mainFZv5localMFZi
+_D8demangle4mainFZ5localMFZi
demangle.main().local()
#
--format=dlang
@@ -872,7 +988,7 @@ _D6object14TypeInfo_Array8argTypesMFNbNfJC8TypeInfoJC8TypeInfoZi
object.TypeInfo_Array.argTypes(out TypeInfo, out TypeInfo)
#
--format=dlang
-_D2rt6dmain211_d_run_mainUiPPaPUAAaZiZi7tryExecMFMDFZvZv
+_D2rt6dmain211_d_run_mainUiPPaPUAAaZiZ7tryExecMFMDFZvZv
rt.dmain2._d_run_main(int, char**, extern(C) int(char[][]) function*).tryExec(scope void() delegate)
#
--format=dlang
@@ -928,9 +1044,37 @@ _D2gc11gctemplates56__T8mkBitmapTS3std5range13__T4iotaTiTiZ4iotaFiiZ6ResultZ8mkB
gc.gctemplates.mkBitmap!(std.range.iota!(int, int).iota(int, int).Result).mkBitmap(ulong*, ulong)
#
--format=dlang
-_D8serenity9persister6Sqlite70__T15SqlitePersisterTS8serenity9persister6Sqlite11__unittest6FZv4TestZ15SqlitePersister12__T7opIndexZ7opIndexMFmZS8serenity9persister6Sqlite11__unittest6FZv4Test
+_D8serenity9persister6Sqlite69__T15SqlitePersisterTS8serenity9persister6Sqlite11__unittest6FZ4TestZ15SqlitePersister12__T7opIndexZ7opIndexMFmZS8serenity9persister6Sqlite11__unittest6FZ4Test
serenity.persister.Sqlite.SqlitePersister!(serenity.persister.Sqlite.__unittest6().Test).SqlitePersister.opIndex!().opIndex(ulong)
#
--format=dlang
-_D4test4mainFZv5localMFZi
-test.main().local()
+_D3std6socket12InternetHost221__T13getHostNoSyncVAyaa96_0a09202020206175746f2078203d2068746f6e6c28706172616d293b0a09202020206175746f206865203d20676574686f73746279616464722826782c20342c206361737428696e74294164647265737346616d696c792e494e4554293b0a09TkZ13getHostNoSyncMFkZb
+std.socket.InternetHost.getHostNoSync!("\n\t auto x = htonl(param);\n\t auto he = gethostbyaddr(&x, 4, cast(int)AddressFamily.INET);\n\t", uint).getHostNoSync(uint)
+#
+--format=dlang
+_D2gc6config13__T5parseHTfZ5parseFNbNiAxaKAxaKfZb
+gc.config.parse!(float).parse(const(char)[], ref const(char)[], ref float)
+#
+--format=dlang
+_D3std11parallelism273__T4TaskS213std11parallelism3runTDFS3std9algorithm87__T9MapResultS27_D4test4mainFZ7getTermMFiZeTS3std5range13__T4iotaTiTiZ4iotaFiiZ6ResultZ9MapResultmmZeTS3std9algorithm87__T9MapResultS27_D4test4mainFZ7getTermMFiZeTS3std5range13__T4iotaTiTiZ4iotaFiiZ6ResultZ9MapResultTmTmZ4Task4implFPvZv
+std.parallelism.Task!(std.parallelism.run, real(std.algorithm.MapResult!(test.main().getTerm(int), std.range.iota!(int, int).iota(int, int).Result).MapResult, ulong, ulong) delegate, std.algorithm.MapResult!(test.main().getTerm(int), std.range.iota!(int, int).iota(int, int).Result).MapResult, ulong, ulong).Task.impl(void*)
+#
+--format=dlang
+_D2rt5minfo16__unittestL518_6FZ12UTModuleInfo6__ctorMFNckZS2rt5minfo16__unittestL518_6FZ12UTModuleInfo
+rt.minfo.__unittestL518_6().UTModuleInfo.this(uint)
+#
+--format=dlang
+_D3std6traits37__T7fqnTypeTC6ObjectVbi0Vbi0Vbi0Vbi0Z13addQualifiersFAyabbbbZAya
+std.traits.fqnType!(Object, false, false, false, false).addQualifiers(immutable(char)[], bool, bool, bool, bool)
+#
+--format=dlang
+_D3std9algorithm117__T9MapResultS153std5range4onlyTS3std9algorithm53__T12FilterResultS28_D3std3uni7isUpperFNaNbNfwZbTAyaZ12FilterResultZ9MapResult5frontMFNaNdNfZS3std5range22__T10OnlyResultTwVmi1Z10OnlyResult
+std.algorithm.MapResult!(std.range.only, std.algorithm.FilterResult!(std.uni.isUpper(dchar), immutable(char)[]).FilterResult).MapResult.front()
+#
+--format=dlang
+_D3std6traits17__T6fqnSymS43stdZ11adjustIdentFAyaZAya
+std.traits.fqnSym!(std).adjustIdent(immutable(char)[])
+#
+--format=dlang
+_D2rt8lifetime36__T14_d_newarrayOpTS13_d_newarrayiTZ14_d_newarrayOpTFNaNbxC8TypeInfomPmZAv
+rt.lifetime._d_newarrayOpT!(_d_newarrayiT)._d_newarrayOpT(const(TypeInfo), ulong, ulong*)
diff --git a/libiberty/testsuite/demangle-expected b/libiberty/testsuite/demangle-expected
index a030685de08..6ea64aef859 100644
--- a/libiberty/testsuite/demangle-expected
+++ b/libiberty/testsuite/demangle-expected
@@ -4356,3 +4356,6 @@ _QueueNotification_QueueController__$4PPPPPPPM_A_INotice___Z
--format=gnu-v3
_Z1fSsB3fooS_
f(std::string[abi:foo], std::string[abi:foo])
+--format=gnu-v3
+_Z18IndirectExternCallIPU7stdcallU7regparmILi3EEFviiEiEvT_T0_S3_
+void IndirectExternCall<void ( regparm<3> stdcall*)(int, int), int>(void ( regparm<3> stdcall*)(int, int), int, void ( regparm<3> stdcall*)(int, int))
diff --git a/opcodes/ChangeLog b/opcodes/ChangeLog
index d3f914c6516..84eff1edba4 100644
--- a/opcodes/ChangeLog
+++ b/opcodes/ChangeLog
@@ -1,3 +1,109 @@
+2015-06-22 Peter Bergner <bergner@vnet.ibm.com>
+
+ * ppc-opc.c (insert_ls): Test for invalid LS operands.
+ (insert_esync): New function.
+ (LS, WC): Use insert_ls.
+ (ESYNC): Use insert_esync.
+
+2015-06-22 Nick Clifton <nickc@redhat.com>
+
+ * dis-buf.c (buffer_read_memory): Fail is stop_vma is set and the
+ requested region lies beyond it.
+ * bfin-dis.c (print_insn_bfin): Ignore sysop instructions when
+ looking for 32-bit insns.
+ * mcore-dis.c (print_insn_mcore): Disable stop_vma when reading
+ data.
+ * sh-dis.c (print_insn_sh): Likewise.
+ * tic6x-dis.c (print_insn_tic6x): Disable stop_vma when reading
+ blocks of instructions.
+ * vax-dis.c (print_insn_vax): Check that the requested address
+ does not clash with the stop_vma.
+
+2015-06-19 Peter Bergner <bergner@vnet.ibm.com>
+
+ * ppc-dis.h (skip_optional_operands): Use ppc_optional_operand_value.
+ * ppc-opc.c (FXM4): Add non-zero optional value.
+ (TBR): Likewise.
+ (SXL): Likewise.
+ (insert_fxm): Handle new default operand value.
+ (extract_fxm): Likewise.
+ (insert_tbr): Likewise.
+ (extract_tbr): Likewise.
+
+2015-06-16 Matthew Wahab <matthew.wahab@arm.com>
+
+ * arch64-opc.c (aarch64_sys_regs): Add "id_mmfr4_el1".
+
+2015-06-16 Szabolcs Nagy <szabolcs.nagy@arm.com>
+
+ * arm-dis.c (print_insn_coprocessor): Avoid negative shift.
+
+2015-06-12 Peter Bergner <bergner@vnet.ibm.com>
+
+ * ppc-opc.c: Add comment accidentally removed by old commit.
+ (MTMSRD_L): Delete.
+
+2015-06-04 Nick Clifton <nickc@redhat.com>
+
+ PR 18474
+ * msp430-dis.c (msp430_nooperands): Fix check for emulated insns.
+
+2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
+
+ * arm-dis.c (arm_opcodes): Add "setpan".
+ (thumb_opcodes): Add "setpan".
+
+2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
+
+ * arm-dis.c (select_arm_features): Rework to avoid used of redefined
+ macros.
+
+2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
+
+ * aarch64-tbl.h (aarch64_feature_rdma): New.
+ (RDMA): New.
+ (aarch64_opcode_table): Add "sqrmlah" and "sqrdmlsh" instructions.
+ * aarch64-asm-2.c: Regenerate.
+ * aarch64-dis-2.c: Regenerate.
+ * aarch64-opc-2.c: Regenerate.
+
+2015-06-02 Matthew Wahab <matthew.wahab@arm.com>
+
+ * aarch64-tbl.h (aarch64_feature_lor): New.
+ (LOR): New.
+ (aarch64_opdocde_table): Add "ldlar", "ldlarb", "ldlarh", "stllr",
+ "stllrb", "stllrh".
+ * aarch64-asm-2.c: Regenerate.
+ * aarch64-dis-2.c: Regenerate.
+ * aarch64-opc-2.c: Regenerate.
+
+2015-06-01 Matthew Wahab <matthew.wahab@arm.com>
+
+ * aarch64-opc.c (F_ARCHEXT): New.
+ (aarch64_sys_regs): Add "pan".
+ (aarch64_sys_reg_supported_p): New.
+ (aarch64_pstatefields): Add "pan".
+ (aarch64_pstatefield_supported_p): New.
+
+2015-06-01 Jan Beulich <jbeulich@suse.com>
+
+ * i386-tbl.h: Regenerate.
+
+2015-06-01 Jan Beulich <jbeulich@suse.com>
+
+ * i386-dis.c (print_insn): Swap rounding mode specifier and
+ general purpose register in Intel mode.
+
+2015-06-01 Jan Beulich <jbeulich@suse.com>
+
+ * i386-opc.tbl: New IntelSyntax entries for vcvt{,u}si2s{d,s}.
+ * i386-tbl.h: Regenerate.
+
+2015-05-18 H.J. Lu <hongjiu.lu@intel.com>
+
+ * i386-opc.tbl: Remove Disp32 from AMD64 direct call/jmp.
+ * i386-init.h: Regenerated.
+
2015-05-15 H.J. Lu <hongjiu.lu@intel.com>
PR binutis/18386
diff --git a/opcodes/aarch64-asm-2.c b/opcodes/aarch64-asm-2.c
index dd69dbee0b1..04576955014 100644
--- a/opcodes/aarch64-asm-2.c
+++ b/opcodes/aarch64-asm-2.c
@@ -61,282 +61,282 @@ aarch64_find_real_opcode (const aarch64_opcode *opcode)
case 25: /* cmp */
value = 24; /* --> subs. */
break;
- case 139: /* mov */
- value = 138; /* --> umov. */
- break;
case 141: /* mov */
- value = 140; /* --> ins. */
+ value = 140; /* --> umov. */
break;
case 143: /* mov */
value = 142; /* --> ins. */
break;
- case 204: /* mvn */
- value = 203; /* --> not. */
+ case 145: /* mov */
+ value = 144; /* --> ins. */
+ break;
+ case 206: /* mvn */
+ value = 205; /* --> not. */
break;
- case 259: /* mov */
- value = 258; /* --> orr. */
+ case 261: /* mov */
+ value = 260; /* --> orr. */
break;
- case 314: /* sxtl */
- value = 313; /* --> sshll. */
+ case 318: /* sxtl */
+ value = 317; /* --> sshll. */
break;
- case 316: /* sxtl2 */
- value = 315; /* --> sshll2. */
+ case 320: /* sxtl2 */
+ value = 319; /* --> sshll2. */
break;
- case 336: /* uxtl */
- value = 335; /* --> ushll. */
+ case 340: /* uxtl */
+ value = 339; /* --> ushll. */
break;
- case 338: /* uxtl2 */
- value = 337; /* --> ushll2. */
+ case 342: /* uxtl2 */
+ value = 341; /* --> ushll2. */
break;
- case 431: /* mov */
- value = 430; /* --> dup. */
+ case 437: /* mov */
+ value = 436; /* --> dup. */
break;
- case 498: /* sxtw */
- case 497: /* sxth */
- case 496: /* sxtb */
- case 499: /* asr */
- case 495: /* sbfx */
- case 494: /* sbfiz */
- value = 493; /* --> sbfm. */
+ case 506: /* sxtw */
+ case 505: /* sxth */
+ case 504: /* sxtb */
+ case 507: /* asr */
+ case 503: /* sbfx */
+ case 502: /* sbfiz */
+ value = 501; /* --> sbfm. */
break;
- case 502: /* bfxil */
- case 501: /* bfi */
- value = 500; /* --> bfm. */
+ case 510: /* bfxil */
+ case 509: /* bfi */
+ value = 508; /* --> bfm. */
break;
- case 507: /* uxth */
- case 506: /* uxtb */
- case 509: /* lsr */
- case 508: /* lsl */
- case 505: /* ubfx */
- case 504: /* ubfiz */
- value = 503; /* --> ubfm. */
+ case 515: /* uxth */
+ case 514: /* uxtb */
+ case 517: /* lsr */
+ case 516: /* lsl */
+ case 513: /* ubfx */
+ case 512: /* ubfiz */
+ value = 511; /* --> ubfm. */
break;
- case 527: /* cset */
- case 526: /* cinc */
- value = 525; /* --> csinc. */
+ case 535: /* cset */
+ case 534: /* cinc */
+ value = 533; /* --> csinc. */
break;
- case 530: /* csetm */
- case 529: /* cinv */
- value = 528; /* --> csinv. */
+ case 538: /* csetm */
+ case 537: /* cinv */
+ value = 536; /* --> csinv. */
break;
- case 532: /* cneg */
- value = 531; /* --> csneg. */
+ case 540: /* cneg */
+ value = 539; /* --> csneg. */
break;
- case 557: /* lsl */
- value = 556; /* --> lslv. */
+ case 565: /* lsl */
+ value = 564; /* --> lslv. */
break;
- case 559: /* lsr */
- value = 558; /* --> lsrv. */
+ case 567: /* lsr */
+ value = 566; /* --> lsrv. */
break;
- case 561: /* asr */
- value = 560; /* --> asrv. */
+ case 569: /* asr */
+ value = 568; /* --> asrv. */
break;
- case 563: /* ror */
- value = 562; /* --> rorv. */
+ case 571: /* ror */
+ value = 570; /* --> rorv. */
break;
- case 573: /* mul */
- value = 572; /* --> madd. */
+ case 581: /* mul */
+ value = 580; /* --> madd. */
break;
- case 575: /* mneg */
- value = 574; /* --> msub. */
+ case 583: /* mneg */
+ value = 582; /* --> msub. */
break;
- case 577: /* smull */
- value = 576; /* --> smaddl. */
+ case 585: /* smull */
+ value = 584; /* --> smaddl. */
break;
- case 579: /* smnegl */
- value = 578; /* --> smsubl. */
+ case 587: /* smnegl */
+ value = 586; /* --> smsubl. */
break;
- case 582: /* umull */
- value = 581; /* --> umaddl. */
+ case 590: /* umull */
+ value = 589; /* --> umaddl. */
break;
- case 584: /* umnegl */
- value = 583; /* --> umsubl. */
+ case 592: /* umnegl */
+ value = 591; /* --> umsubl. */
break;
- case 595: /* ror */
- value = 594; /* --> extr. */
+ case 603: /* ror */
+ value = 602; /* --> extr. */
break;
- case 746: /* bic */
- value = 745; /* --> and. */
+ case 760: /* bic */
+ value = 759; /* --> and. */
break;
- case 748: /* mov */
- value = 747; /* --> orr. */
+ case 762: /* mov */
+ value = 761; /* --> orr. */
break;
- case 751: /* tst */
- value = 750; /* --> ands. */
+ case 765: /* tst */
+ value = 764; /* --> ands. */
break;
- case 756: /* uxtw */
- case 755: /* mov */
- value = 754; /* --> orr. */
+ case 770: /* uxtw */
+ case 769: /* mov */
+ value = 768; /* --> orr. */
break;
- case 758: /* mvn */
- value = 757; /* --> orn. */
+ case 772: /* mvn */
+ value = 771; /* --> orn. */
break;
- case 762: /* tst */
- value = 761; /* --> ands. */
+ case 776: /* tst */
+ value = 775; /* --> ands. */
break;
- case 888: /* staddb */
- value = 792; /* --> ldaddb. */
+ case 902: /* staddb */
+ value = 806; /* --> ldaddb. */
break;
- case 889: /* staddh */
- value = 793; /* --> ldaddh. */
+ case 903: /* staddh */
+ value = 807; /* --> ldaddh. */
break;
- case 890: /* stadd */
- value = 794; /* --> ldadd. */
+ case 904: /* stadd */
+ value = 808; /* --> ldadd. */
break;
- case 891: /* staddlb */
- value = 796; /* --> ldaddlb. */
+ case 905: /* staddlb */
+ value = 810; /* --> ldaddlb. */
break;
- case 892: /* staddlh */
- value = 799; /* --> ldaddlh. */
+ case 906: /* staddlh */
+ value = 813; /* --> ldaddlh. */
break;
- case 893: /* staddl */
- value = 802; /* --> ldaddl. */
+ case 907: /* staddl */
+ value = 816; /* --> ldaddl. */
break;
- case 894: /* stclrb */
- value = 804; /* --> ldclrb. */
+ case 908: /* stclrb */
+ value = 818; /* --> ldclrb. */
break;
- case 895: /* stclrh */
- value = 805; /* --> ldclrh. */
+ case 909: /* stclrh */
+ value = 819; /* --> ldclrh. */
break;
- case 896: /* stclr */
- value = 806; /* --> ldclr. */
+ case 910: /* stclr */
+ value = 820; /* --> ldclr. */
break;
- case 897: /* stclrlb */
- value = 808; /* --> ldclrlb. */
+ case 911: /* stclrlb */
+ value = 822; /* --> ldclrlb. */
break;
- case 898: /* stclrlh */
- value = 811; /* --> ldclrlh. */
+ case 912: /* stclrlh */
+ value = 825; /* --> ldclrlh. */
break;
- case 899: /* stclrl */
- value = 814; /* --> ldclrl. */
+ case 913: /* stclrl */
+ value = 828; /* --> ldclrl. */
break;
- case 900: /* steorb */
- value = 816; /* --> ldeorb. */
+ case 914: /* steorb */
+ value = 830; /* --> ldeorb. */
break;
- case 901: /* steorh */
- value = 817; /* --> ldeorh. */
+ case 915: /* steorh */
+ value = 831; /* --> ldeorh. */
break;
- case 902: /* steor */
- value = 818; /* --> ldeor. */
+ case 916: /* steor */
+ value = 832; /* --> ldeor. */
break;
- case 903: /* steorlb */
- value = 820; /* --> ldeorlb. */
+ case 917: /* steorlb */
+ value = 834; /* --> ldeorlb. */
break;
- case 904: /* steorlh */
- value = 823; /* --> ldeorlh. */
+ case 918: /* steorlh */
+ value = 837; /* --> ldeorlh. */
break;
- case 905: /* steorl */
- value = 826; /* --> ldeorl. */
+ case 919: /* steorl */
+ value = 840; /* --> ldeorl. */
break;
- case 906: /* stsetb */
- value = 828; /* --> ldsetb. */
+ case 920: /* stsetb */
+ value = 842; /* --> ldsetb. */
break;
- case 907: /* stseth */
- value = 829; /* --> ldseth. */
+ case 921: /* stseth */
+ value = 843; /* --> ldseth. */
break;
- case 908: /* stset */
- value = 830; /* --> ldset. */
+ case 922: /* stset */
+ value = 844; /* --> ldset. */
break;
- case 909: /* stsetlb */
- value = 832; /* --> ldsetlb. */
+ case 923: /* stsetlb */
+ value = 846; /* --> ldsetlb. */
break;
- case 910: /* stsetlh */
- value = 835; /* --> ldsetlh. */
+ case 924: /* stsetlh */
+ value = 849; /* --> ldsetlh. */
break;
- case 911: /* stsetl */
- value = 838; /* --> ldsetl. */
+ case 925: /* stsetl */
+ value = 852; /* --> ldsetl. */
break;
- case 912: /* stsmaxb */
- value = 840; /* --> ldsmaxb. */
+ case 926: /* stsmaxb */
+ value = 854; /* --> ldsmaxb. */
break;
- case 913: /* stsmaxh */
- value = 841; /* --> ldsmaxh. */
+ case 927: /* stsmaxh */
+ value = 855; /* --> ldsmaxh. */
break;
- case 914: /* stsmax */
- value = 842; /* --> ldsmax. */
+ case 928: /* stsmax */
+ value = 856; /* --> ldsmax. */
break;
- case 915: /* stsmaxlb */
- value = 844; /* --> ldsmaxlb. */
+ case 929: /* stsmaxlb */
+ value = 858; /* --> ldsmaxlb. */
break;
- case 916: /* stsmaxlh */
- value = 847; /* --> ldsmaxlh. */
+ case 930: /* stsmaxlh */
+ value = 861; /* --> ldsmaxlh. */
break;
- case 917: /* stsmaxl */
- value = 850; /* --> ldsmaxl. */
+ case 931: /* stsmaxl */
+ value = 864; /* --> ldsmaxl. */
break;
- case 918: /* stsminb */
- value = 852; /* --> ldsminb. */
+ case 932: /* stsminb */
+ value = 866; /* --> ldsminb. */
break;
- case 919: /* stsminh */
- value = 853; /* --> ldsminh. */
+ case 933: /* stsminh */
+ value = 867; /* --> ldsminh. */
break;
- case 920: /* stsmin */
- value = 854; /* --> ldsmin. */
+ case 934: /* stsmin */
+ value = 868; /* --> ldsmin. */
break;
- case 921: /* stsminlb */
- value = 856; /* --> ldsminlb. */
+ case 935: /* stsminlb */
+ value = 870; /* --> ldsminlb. */
break;
- case 922: /* stsminlh */
- value = 859; /* --> ldsminlh. */
+ case 936: /* stsminlh */
+ value = 873; /* --> ldsminlh. */
break;
- case 923: /* stsminl */
- value = 862; /* --> ldsminl. */
+ case 937: /* stsminl */
+ value = 876; /* --> ldsminl. */
break;
- case 924: /* stumaxb */
- value = 864; /* --> ldumaxb. */
+ case 938: /* stumaxb */
+ value = 878; /* --> ldumaxb. */
break;
- case 925: /* stumaxh */
- value = 865; /* --> ldumaxh. */
+ case 939: /* stumaxh */
+ value = 879; /* --> ldumaxh. */
break;
- case 926: /* stumax */
- value = 866; /* --> ldumax. */
+ case 940: /* stumax */
+ value = 880; /* --> ldumax. */
break;
- case 927: /* stumaxlb */
- value = 868; /* --> ldumaxlb. */
+ case 941: /* stumaxlb */
+ value = 882; /* --> ldumaxlb. */
break;
- case 928: /* stumaxlh */
- value = 871; /* --> ldumaxlh. */
+ case 942: /* stumaxlh */
+ value = 885; /* --> ldumaxlh. */
break;
- case 929: /* stumaxl */
- value = 874; /* --> ldumaxl. */
+ case 943: /* stumaxl */
+ value = 888; /* --> ldumaxl. */
break;
- case 930: /* stuminb */
- value = 876; /* --> lduminb. */
+ case 944: /* stuminb */
+ value = 890; /* --> lduminb. */
break;
- case 931: /* stuminh */
- value = 877; /* --> lduminh. */
+ case 945: /* stuminh */
+ value = 891; /* --> lduminh. */
break;
- case 932: /* stumin */
- value = 878; /* --> ldumin. */
+ case 946: /* stumin */
+ value = 892; /* --> ldumin. */
break;
- case 933: /* stuminlb */
- value = 880; /* --> lduminlb. */
+ case 947: /* stuminlb */
+ value = 894; /* --> lduminlb. */
break;
- case 934: /* stuminlh */
- value = 883; /* --> lduminlh. */
+ case 948: /* stuminlh */
+ value = 897; /* --> lduminlh. */
break;
- case 935: /* stuminl */
- value = 886; /* --> lduminl. */
+ case 949: /* stuminl */
+ value = 900; /* --> lduminl. */
break;
- case 937: /* mov */
- value = 936; /* --> movn. */
+ case 951: /* mov */
+ value = 950; /* --> movn. */
break;
- case 939: /* mov */
- value = 938; /* --> movz. */
+ case 953: /* mov */
+ value = 952; /* --> movz. */
break;
- case 950: /* sevl */
- case 949: /* sev */
- case 948: /* wfi */
- case 947: /* wfe */
- case 946: /* yield */
- case 945: /* nop */
- value = 944; /* --> hint. */
+ case 964: /* sevl */
+ case 963: /* sev */
+ case 962: /* wfi */
+ case 961: /* wfe */
+ case 960: /* yield */
+ case 959: /* nop */
+ value = 958; /* --> hint. */
break;
- case 959: /* tlbi */
- case 958: /* ic */
- case 957: /* dc */
- case 956: /* at */
- value = 955; /* --> sys. */
+ case 973: /* tlbi */
+ case 972: /* ic */
+ case 971: /* dc */
+ case 970: /* at */
+ value = 969; /* --> sys. */
break;
default: return NULL;
}
diff --git a/opcodes/aarch64-dis-2.c b/opcodes/aarch64-dis-2.c
index ded92929a85..3c7d5c6a4b7 100644
--- a/opcodes/aarch64-dis-2.c
+++ b/opcodes/aarch64-dis-2.c
@@ -40,7 +40,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx0000xxx0
adr. */
- return 941;
+ return 955;
}
else
{
@@ -48,7 +48,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx0000xxx1
adrp. */
- return 942;
+ return 956;
}
}
else
@@ -115,7 +115,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx000x0010000
stxrb. */
- return 705;
+ return 713;
}
else
{
@@ -123,7 +123,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx000x0010010
stxrh. */
- return 711;
+ return 719;
}
}
else
@@ -132,7 +132,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx000x00100x1
stxr. */
- return 717;
+ return 725;
}
}
else
@@ -143,7 +143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx100x00100x0
casp. */
- return 776;
+ return 790;
}
else
{
@@ -151,7 +151,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx100x00100x1
stxp. */
- return 719;
+ return 727;
}
}
}
@@ -167,7 +167,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx000x0010000
stlxrb. */
- return 706;
+ return 714;
}
else
{
@@ -175,7 +175,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx000x0010010
stlxrh. */
- return 712;
+ return 720;
}
}
else
@@ -184,7 +184,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx000x00100x1
stlxr. */
- return 718;
+ return 726;
}
}
else
@@ -195,7 +195,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx100x00100x0
caspl. */
- return 778;
+ return 792;
}
else
{
@@ -203,7 +203,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx100x00100x1
stlxp. */
- return 720;
+ return 728;
}
}
}
@@ -214,7 +214,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx00x00101xx
stnp. */
- return 727;
+ return 741;
}
}
else
@@ -223,32 +223,54 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 15) & 0x1) == 0)
{
- if (((word >> 31) & 0x1) == 0)
+ if (((word >> 21) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 31) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxxxxxxxxxxxxxx0xxxxxx01x0010000
- casb. */
- return 764;
+ xxxxxxxxxxxxxxx0xxxxx001x00100x0
+ stllrb. */
+ return 739;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxxxxxxxxxxxxxx0xxxxxx01x0010010
- cash. */
- return 765;
+ xxxxxxxxxxxxxxx0xxxxx001x00100x1
+ stllr. */
+ return 738;
}
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxx0xxxxxx01x00100x1
- cas. */
- return 766;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx101x0010000
+ casb. */
+ return 778;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx101x0010010
+ cash. */
+ return 779;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx101x00100x1
+ cas. */
+ return 780;
+ }
}
}
else
@@ -263,7 +285,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx001x0010000
stlrb. */
- return 709;
+ return 717;
}
else
{
@@ -271,7 +293,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx001x0010010
stlrh. */
- return 715;
+ return 723;
}
}
else
@@ -280,7 +302,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx001x00100x1
stlr. */
- return 725;
+ return 733;
}
}
else
@@ -293,7 +315,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx101x0010000
caslb. */
- return 768;
+ return 782;
}
else
{
@@ -301,7 +323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx101x0010010
caslh. */
- return 771;
+ return 785;
}
}
else
@@ -310,7 +332,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx101x00100x1
casl. */
- return 774;
+ return 788;
}
}
}
@@ -321,7 +343,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx01x00101xx
stp. */
- return 736;
+ return 750;
}
}
}
@@ -343,7 +365,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx010x0010000
ldxrb. */
- return 707;
+ return 715;
}
else
{
@@ -351,7 +373,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx010x0010010
ldxrh. */
- return 713;
+ return 721;
}
}
else
@@ -360,7 +382,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx010x00100x1
ldxr. */
- return 721;
+ return 729;
}
}
else
@@ -371,7 +393,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx110x00100x0
caspa. */
- return 777;
+ return 791;
}
else
{
@@ -379,7 +401,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx110x00100x1
ldxp. */
- return 723;
+ return 731;
}
}
}
@@ -395,7 +417,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx010x0010000
ldaxrb. */
- return 708;
+ return 716;
}
else
{
@@ -403,7 +425,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx010x0010010
ldaxrh. */
- return 714;
+ return 722;
}
}
else
@@ -412,7 +434,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx010x00100x1
ldaxr. */
- return 722;
+ return 730;
}
}
else
@@ -423,7 +445,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx110x00100x0
caspal. */
- return 779;
+ return 793;
}
else
{
@@ -431,7 +453,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx110x00100x1
ldaxp. */
- return 724;
+ return 732;
}
}
}
@@ -444,7 +466,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx10x001010x
ldnp. */
- return 728;
+ return 742;
}
else
{
@@ -452,7 +474,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx10x001011x
ldpsw. */
- return 735;
+ return 749;
}
}
}
@@ -462,32 +484,65 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 15) & 0x1) == 0)
{
- if (((word >> 31) & 0x1) == 0)
+ if (((word >> 21) & 0x1) == 0)
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 31) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxx0xxxxxx11x0010000
- casab. */
- return 767;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx011x0010000
+ ldlarb. */
+ return 736;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx011x0010010
+ ldlarh. */
+ return 737;
+ }
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxxxxxxxxxxxxxx0xxxxxx11x0010010
- casah. */
- return 770;
+ xxxxxxxxxxxxxxx0xxxxx011x00100x1
+ ldlar. */
+ return 735;
}
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxx0xxxxxx11x00100x1
- casa. */
- return 773;
+ if (((word >> 31) & 0x1) == 0)
+ {
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx111x0010000
+ casab. */
+ return 781;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx111x0010010
+ casah. */
+ return 784;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxx0xxxxx111x00100x1
+ casa. */
+ return 787;
+ }
}
}
else
@@ -502,7 +557,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx011x0010000
ldarb. */
- return 710;
+ return 718;
}
else
{
@@ -510,7 +565,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx011x0010010
ldarh. */
- return 716;
+ return 724;
}
}
else
@@ -519,7 +574,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx011x00100x1
ldar. */
- return 726;
+ return 734;
}
}
else
@@ -532,7 +587,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx111x0010000
casalb. */
- return 769;
+ return 783;
}
else
{
@@ -540,7 +595,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx111x0010010
casalh. */
- return 772;
+ return 786;
}
}
else
@@ -549,7 +604,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx111x00100x1
casal. */
- return 775;
+ return 789;
}
}
}
@@ -562,7 +617,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx11x001010x
ldp. */
- return 737;
+ return 751;
}
else
{
@@ -570,7 +625,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx11x001011x
ldpsw. */
- return 740;
+ return 754;
}
}
}
@@ -588,7 +643,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx000110x0
ldr. */
- return 741;
+ return 755;
}
else
{
@@ -598,7 +653,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx00011001
ldrsw. */
- return 743;
+ return 757;
}
else
{
@@ -606,7 +661,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx00011011
prfm. */
- return 744;
+ return 758;
}
}
}
@@ -630,7 +685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00xxxxxxxxx00000011100
sturb. */
- return 693;
+ return 701;
}
else
{
@@ -638,7 +693,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00xxxxxxxxx00000011110
sturh. */
- return 698;
+ return 706;
}
}
else
@@ -647,7 +702,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00xxxxxxxxx000000111x1
stur. */
- return 701;
+ return 709;
}
}
else
@@ -660,7 +715,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00xxxxxxxxx01000011100
ldurb. */
- return 694;
+ return 702;
}
else
{
@@ -668,7 +723,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00xxxxxxxxx01000011110
ldurh. */
- return 699;
+ return 707;
}
}
else
@@ -677,7 +732,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00xxxxxxxxx010000111x1
ldur. */
- return 702;
+ return 710;
}
}
}
@@ -691,7 +746,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00xxxxxxxxx0x100011100
ldursb. */
- return 695;
+ return 703;
}
else
{
@@ -699,7 +754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00xxxxxxxxx0x100011101
ldursw. */
- return 703;
+ return 711;
}
}
else
@@ -710,7 +765,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00xxxxxxxxx0x100011110
ldursh. */
- return 700;
+ return 708;
}
else
{
@@ -718,7 +773,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00xxxxxxxxx0x100011111
prfum. */
- return 704;
+ return 712;
}
}
}
@@ -745,7 +800,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx10000011100
ldaddb. */
- return 792;
+ return 806;
}
else
{
@@ -753,7 +808,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx10000011110
ldaddh. */
- return 793;
+ return 807;
}
}
else
@@ -762,7 +817,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx100000111x1
ldadd. */
- return 794;
+ return 808;
}
}
else
@@ -775,7 +830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx10100011100
ldaddab. */
- return 795;
+ return 809;
}
else
{
@@ -783,7 +838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx10100011110
ldaddah. */
- return 798;
+ return 812;
}
}
else
@@ -792,7 +847,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx101000111x1
ldadda. */
- return 801;
+ return 815;
}
}
}
@@ -808,7 +863,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx11000011100
ldaddlb. */
- return 796;
+ return 810;
}
else
{
@@ -816,7 +871,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx11000011110
ldaddlh. */
- return 799;
+ return 813;
}
}
else
@@ -825,7 +880,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx110000111x1
ldaddl. */
- return 802;
+ return 816;
}
}
else
@@ -838,7 +893,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx11100011100
ldaddalb. */
- return 797;
+ return 811;
}
else
{
@@ -846,7 +901,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx11100011110
ldaddalh. */
- return 800;
+ return 814;
}
}
else
@@ -855,7 +910,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000xxxxx111000111x1
ldaddal. */
- return 803;
+ return 817;
}
}
}
@@ -874,7 +929,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx10000011100
swpb. */
- return 780;
+ return 794;
}
else
{
@@ -882,7 +937,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx10000011110
swph. */
- return 781;
+ return 795;
}
}
else
@@ -891,7 +946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx100000111x1
swp. */
- return 782;
+ return 796;
}
}
else
@@ -904,7 +959,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx10100011100
swpab. */
- return 783;
+ return 797;
}
else
{
@@ -912,7 +967,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx10100011110
swpah. */
- return 786;
+ return 800;
}
}
else
@@ -921,7 +976,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx101000111x1
swpa. */
- return 789;
+ return 803;
}
}
}
@@ -937,7 +992,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx11000011100
swplb. */
- return 784;
+ return 798;
}
else
{
@@ -945,7 +1000,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx11000011110
swplh. */
- return 787;
+ return 801;
}
}
else
@@ -954,7 +1009,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx110000111x1
swpl. */
- return 790;
+ return 804;
}
}
else
@@ -967,7 +1022,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx11100011100
swpalb. */
- return 785;
+ return 799;
}
else
{
@@ -975,7 +1030,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx11100011110
swpalh. */
- return 788;
+ return 802;
}
}
else
@@ -984,7 +1039,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000001xxxxx111000111x1
swpal. */
- return 791;
+ return 805;
}
}
}
@@ -1004,7 +1059,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx10000011100
ldsmaxb. */
- return 840;
+ return 854;
}
else
{
@@ -1012,7 +1067,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx10000011110
ldsmaxh. */
- return 841;
+ return 855;
}
}
else
@@ -1021,7 +1076,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx100000111x1
ldsmax. */
- return 842;
+ return 856;
}
}
else
@@ -1034,7 +1089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx10100011100
ldsmaxab. */
- return 843;
+ return 857;
}
else
{
@@ -1042,7 +1097,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx10100011110
ldsmaxah. */
- return 846;
+ return 860;
}
}
else
@@ -1051,7 +1106,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx101000111x1
ldsmaxa. */
- return 849;
+ return 863;
}
}
}
@@ -1067,7 +1122,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx11000011100
ldsmaxlb. */
- return 844;
+ return 858;
}
else
{
@@ -1075,7 +1130,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx11000011110
ldsmaxlh. */
- return 847;
+ return 861;
}
}
else
@@ -1084,7 +1139,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx110000111x1
ldsmaxl. */
- return 850;
+ return 864;
}
}
else
@@ -1097,7 +1152,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx11100011100
ldsmaxalb. */
- return 845;
+ return 859;
}
else
{
@@ -1105,7 +1160,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx11100011110
ldsmaxalh. */
- return 848;
+ return 862;
}
}
else
@@ -1114,7 +1169,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx111000111x1
ldsmaxal. */
- return 851;
+ return 865;
}
}
}
@@ -1136,7 +1191,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx10000011100
ldeorb. */
- return 816;
+ return 830;
}
else
{
@@ -1144,7 +1199,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx10000011110
ldeorh. */
- return 817;
+ return 831;
}
}
else
@@ -1153,7 +1208,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx100000111x1
ldeor. */
- return 818;
+ return 832;
}
}
else
@@ -1166,7 +1221,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx10100011100
ldeorab. */
- return 819;
+ return 833;
}
else
{
@@ -1174,7 +1229,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx10100011110
ldeorah. */
- return 822;
+ return 836;
}
}
else
@@ -1183,7 +1238,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx101000111x1
ldeora. */
- return 825;
+ return 839;
}
}
}
@@ -1199,7 +1254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx11000011100
ldeorlb. */
- return 820;
+ return 834;
}
else
{
@@ -1207,7 +1262,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx11000011110
ldeorlh. */
- return 823;
+ return 837;
}
}
else
@@ -1216,7 +1271,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx110000111x1
ldeorl. */
- return 826;
+ return 840;
}
}
else
@@ -1229,7 +1284,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx11100011100
ldeoralb. */
- return 821;
+ return 835;
}
else
{
@@ -1237,7 +1292,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx11100011110
ldeoralh. */
- return 824;
+ return 838;
}
}
else
@@ -1246,7 +1301,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00010xxxxxx111000111x1
ldeoral. */
- return 827;
+ return 841;
}
}
}
@@ -1265,7 +1320,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx10000011100
ldumaxb. */
- return 864;
+ return 878;
}
else
{
@@ -1273,7 +1328,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx10000011110
ldumaxh. */
- return 865;
+ return 879;
}
}
else
@@ -1282,7 +1337,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx100000111x1
ldumax. */
- return 866;
+ return 880;
}
}
else
@@ -1295,7 +1350,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx10100011100
ldumaxab. */
- return 867;
+ return 881;
}
else
{
@@ -1303,7 +1358,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx10100011110
ldumaxah. */
- return 870;
+ return 884;
}
}
else
@@ -1312,7 +1367,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx101000111x1
ldumaxa. */
- return 873;
+ return 887;
}
}
}
@@ -1328,7 +1383,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx11000011100
ldumaxlb. */
- return 868;
+ return 882;
}
else
{
@@ -1336,7 +1391,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx11000011110
ldumaxlh. */
- return 871;
+ return 885;
}
}
else
@@ -1345,7 +1400,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx110000111x1
ldumaxl. */
- return 874;
+ return 888;
}
}
else
@@ -1358,7 +1413,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx11100011100
ldumaxalb. */
- return 869;
+ return 883;
}
else
{
@@ -1366,7 +1421,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx11100011110
ldumaxalh. */
- return 872;
+ return 886;
}
}
else
@@ -1375,7 +1430,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00011xxxxxx111000111x1
ldumaxal. */
- return 875;
+ return 889;
}
}
}
@@ -1400,7 +1455,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx10000011100
ldclrb. */
- return 804;
+ return 818;
}
else
{
@@ -1408,7 +1463,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx10000011110
ldclrh. */
- return 805;
+ return 819;
}
}
else
@@ -1417,7 +1472,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx100000111x1
ldclr. */
- return 806;
+ return 820;
}
}
else
@@ -1430,7 +1485,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx10100011100
ldclrab. */
- return 807;
+ return 821;
}
else
{
@@ -1438,7 +1493,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx10100011110
ldclrah. */
- return 810;
+ return 824;
}
}
else
@@ -1447,7 +1502,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx101000111x1
ldclra. */
- return 813;
+ return 827;
}
}
}
@@ -1463,7 +1518,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx11000011100
ldclrlb. */
- return 808;
+ return 822;
}
else
{
@@ -1471,7 +1526,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx11000011110
ldclrlh. */
- return 811;
+ return 825;
}
}
else
@@ -1480,7 +1535,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx110000111x1
ldclrl. */
- return 814;
+ return 828;
}
}
else
@@ -1493,7 +1548,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx11100011100
ldclralb. */
- return 809;
+ return 823;
}
else
{
@@ -1501,7 +1556,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx11100011110
ldclralh. */
- return 812;
+ return 826;
}
}
else
@@ -1510,7 +1565,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx111000111x1
ldclral. */
- return 815;
+ return 829;
}
}
}
@@ -1529,7 +1584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx10000011100
ldsminb. */
- return 852;
+ return 866;
}
else
{
@@ -1537,7 +1592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx10000011110
ldsminh. */
- return 853;
+ return 867;
}
}
else
@@ -1546,7 +1601,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx100000111x1
ldsmin. */
- return 854;
+ return 868;
}
}
else
@@ -1559,7 +1614,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx10100011100
ldsminab. */
- return 855;
+ return 869;
}
else
{
@@ -1567,7 +1622,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx10100011110
ldsminah. */
- return 858;
+ return 872;
}
}
else
@@ -1576,7 +1631,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx101000111x1
ldsmina. */
- return 861;
+ return 875;
}
}
}
@@ -1592,7 +1647,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx11000011100
ldsminlb. */
- return 856;
+ return 870;
}
else
{
@@ -1600,7 +1655,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx11000011110
ldsminlh. */
- return 859;
+ return 873;
}
}
else
@@ -1609,7 +1664,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx110000111x1
ldsminl. */
- return 862;
+ return 876;
}
}
else
@@ -1622,7 +1677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx11100011100
ldsminalb. */
- return 857;
+ return 871;
}
else
{
@@ -1630,7 +1685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx11100011110
ldsminalh. */
- return 860;
+ return 874;
}
}
else
@@ -1639,7 +1694,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx111000111x1
ldsminal. */
- return 863;
+ return 877;
}
}
}
@@ -1661,7 +1716,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx10000011100
ldsetb. */
- return 828;
+ return 842;
}
else
{
@@ -1669,7 +1724,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx10000011110
ldseth. */
- return 829;
+ return 843;
}
}
else
@@ -1678,7 +1733,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx100000111x1
ldset. */
- return 830;
+ return 844;
}
}
else
@@ -1691,7 +1746,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx10100011100
ldsetab. */
- return 831;
+ return 845;
}
else
{
@@ -1699,7 +1754,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx10100011110
ldsetah. */
- return 834;
+ return 848;
}
}
else
@@ -1708,7 +1763,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx101000111x1
ldseta. */
- return 837;
+ return 851;
}
}
}
@@ -1724,7 +1779,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx11000011100
ldsetlb. */
- return 832;
+ return 846;
}
else
{
@@ -1732,7 +1787,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx11000011110
ldsetlh. */
- return 835;
+ return 849;
}
}
else
@@ -1741,7 +1796,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx110000111x1
ldsetl. */
- return 838;
+ return 852;
}
}
else
@@ -1754,7 +1809,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx11100011100
ldsetalb. */
- return 833;
+ return 847;
}
else
{
@@ -1762,7 +1817,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx11100011110
ldsetalh. */
- return 836;
+ return 850;
}
}
else
@@ -1771,7 +1826,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00110xxxxxx111000111x1
ldsetal. */
- return 839;
+ return 853;
}
}
}
@@ -1790,7 +1845,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx10000011100
lduminb. */
- return 876;
+ return 890;
}
else
{
@@ -1798,7 +1853,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx10000011110
lduminh. */
- return 877;
+ return 891;
}
}
else
@@ -1807,7 +1862,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx100000111x1
ldumin. */
- return 878;
+ return 892;
}
}
else
@@ -1820,7 +1875,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx10100011100
lduminab. */
- return 879;
+ return 893;
}
else
{
@@ -1828,7 +1883,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx10100011110
lduminah. */
- return 882;
+ return 896;
}
}
else
@@ -1837,7 +1892,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx101000111x1
ldumina. */
- return 885;
+ return 899;
}
}
}
@@ -1853,7 +1908,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx11000011100
lduminlb. */
- return 880;
+ return 894;
}
else
{
@@ -1861,7 +1916,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx11000011110
lduminlh. */
- return 883;
+ return 897;
}
}
else
@@ -1870,7 +1925,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx110000111x1
lduminl. */
- return 886;
+ return 900;
}
}
else
@@ -1883,7 +1938,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx11100011100
lduminalb. */
- return 881;
+ return 895;
}
else
{
@@ -1891,7 +1946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx11100011110
lduminalh. */
- return 884;
+ return 898;
}
}
else
@@ -1900,7 +1955,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00111xxxxxx111000111x1
lduminal. */
- return 887;
+ return 901;
}
}
}
@@ -1925,7 +1980,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx00000011100
sttrb. */
- return 684;
+ return 692;
}
else
{
@@ -1933,7 +1988,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx00000011110
sttrh. */
- return 687;
+ return 695;
}
}
else
@@ -1942,7 +1997,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx000000111x1
sttr. */
- return 690;
+ return 698;
}
}
else
@@ -1955,7 +2010,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx01000011100
ldtrb. */
- return 685;
+ return 693;
}
else
{
@@ -1963,7 +2018,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx01000011110
ldtrh. */
- return 688;
+ return 696;
}
}
else
@@ -1972,7 +2027,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx010000111x1
ldtr. */
- return 691;
+ return 699;
}
}
}
@@ -1986,7 +2041,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx0x100011100
ldtrsb. */
- return 686;
+ return 694;
}
else
{
@@ -1994,7 +2049,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx0x100011101
ldtrsw. */
- return 692;
+ return 700;
}
}
else
@@ -2003,7 +2058,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx0x10001111x
ldtrsh. */
- return 689;
+ return 697;
}
}
}
@@ -2021,7 +2076,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx10000011100
strb. */
- return 672;
+ return 680;
}
else
{
@@ -2029,7 +2084,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx10000011110
strh. */
- return 677;
+ return 685;
}
}
else
@@ -2038,7 +2093,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx100000111x1
str. */
- return 680;
+ return 688;
}
}
else
@@ -2051,7 +2106,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx11000011100
ldrb. */
- return 673;
+ return 681;
}
else
{
@@ -2059,7 +2114,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx11000011110
ldrh. */
- return 678;
+ return 686;
}
}
else
@@ -2068,7 +2123,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx110000111x1
ldr. */
- return 681;
+ return 689;
}
}
}
@@ -2082,7 +2137,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx1x100011100
ldrsb. */
- return 674;
+ return 682;
}
else
{
@@ -2090,7 +2145,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx1x100011101
ldrsw. */
- return 682;
+ return 690;
}
}
else
@@ -2101,7 +2156,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx1x100011110
ldrsh. */
- return 679;
+ return 687;
}
else
{
@@ -2109,7 +2164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx1x100011111
prfm. */
- return 683;
+ return 691;
}
}
}
@@ -2130,7 +2185,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1xxxxxxxxxxx0000011100
strb. */
- return 649;
+ return 657;
}
else
{
@@ -2138,7 +2193,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1xxxxxxxxxxx0000011110
strh. */
- return 654;
+ return 662;
}
}
else
@@ -2147,7 +2202,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1xxxxxxxxxxx00000111x1
str. */
- return 657;
+ return 665;
}
}
else
@@ -2160,7 +2215,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1xxxxxxxxxxx1000011100
ldrb. */
- return 650;
+ return 658;
}
else
{
@@ -2168,7 +2223,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1xxxxxxxxxxx1000011110
ldrh. */
- return 655;
+ return 663;
}
}
else
@@ -2177,7 +2232,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1xxxxxxxxxxx10000111x1
ldr. */
- return 658;
+ return 666;
}
}
}
@@ -2191,7 +2246,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1xxxxxxxxxxxx100011100
ldrsb. */
- return 651;
+ return 659;
}
else
{
@@ -2199,7 +2254,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1xxxxxxxxxxxx100011101
ldrsw. */
- return 659;
+ return 667;
}
}
else
@@ -2208,7 +2263,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1xxxxxxxxxxxx10001111x
ldrsh. */
- return 656;
+ return 664;
}
}
}
@@ -2228,7 +2283,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx0010011x00
strb. */
- return 660;
+ return 668;
}
else
{
@@ -2236,7 +2291,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx0010011x10
strh. */
- return 665;
+ return 673;
}
}
else
@@ -2245,7 +2300,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx0010011xx1
str. */
- return 668;
+ return 676;
}
}
else
@@ -2258,7 +2313,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx1010011x00
ldrb. */
- return 661;
+ return 669;
}
else
{
@@ -2266,7 +2321,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx1010011x10
ldrh. */
- return 666;
+ return 674;
}
}
else
@@ -2275,7 +2330,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx1010011xx1
ldr. */
- return 669;
+ return 677;
}
}
}
@@ -2289,7 +2344,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx110011x00
ldrsb. */
- return 662;
+ return 670;
}
else
{
@@ -2297,7 +2352,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx110011x01
ldrsw. */
- return 670;
+ return 678;
}
}
else
@@ -2308,7 +2363,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx110011x10
ldrsh. */
- return 667;
+ return 675;
}
else
{
@@ -2316,7 +2371,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx110011x11
prfm. */
- return 671;
+ return 679;
}
}
}
@@ -2340,7 +2395,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx00100x00x
and. */
- return 745;
+ return 759;
}
else
{
@@ -2348,7 +2403,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx00100x01x
eor. */
- return 749;
+ return 763;
}
}
else
@@ -2359,7 +2414,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx00100x10x
orr. */
- return 747;
+ return 761;
}
else
{
@@ -2367,7 +2422,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx00100x11x
ands. */
- return 750;
+ return 764;
}
}
}
@@ -2381,7 +2436,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx10100x00x
movn. */
- return 936;
+ return 950;
}
else
{
@@ -2389,7 +2444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx10100x01x
movz. */
- return 938;
+ return 952;
}
}
else
@@ -2398,7 +2453,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx10100x1xx
movk. */
- return 940;
+ return 954;
}
}
}
@@ -2416,7 +2471,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx0xx0101000x
and. */
- return 752;
+ return 766;
}
else
{
@@ -2424,7 +2479,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx0xx0101001x
eor. */
- return 759;
+ return 773;
}
}
else
@@ -2435,7 +2490,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx0xx0101010x
orr. */
- return 754;
+ return 768;
}
else
{
@@ -2443,7 +2498,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx0xx0101011x
ands. */
- return 761;
+ return 775;
}
}
}
@@ -2504,7 +2559,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00xxxxxxxxx00101011x0x
csel. */
- return 524;
+ return 532;
}
else
{
@@ -2512,7 +2567,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00xxxxxxxxx00101011x1x
csinv. */
- return 528;
+ return 536;
}
}
}
@@ -2526,7 +2581,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00xxxxxxxxx01001011x0x
ccmn. */
- return 522;
+ return 530;
}
else
{
@@ -2534,7 +2589,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00xxxxxxxxx01001011x1x
ccmp. */
- return 523;
+ return 531;
}
}
else
@@ -2549,7 +2604,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00000xxxxxx01101011xxx
rbit. */
- return 547;
+ return 555;
}
else
{
@@ -2557,7 +2612,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xxxxxx01101011xxx
crc32b. */
- return 564;
+ return 572;
}
}
else
@@ -2566,7 +2621,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0001xxxxxxx01101011xxx
lslv. */
- return 556;
+ return 564;
}
}
else
@@ -2577,7 +2632,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx001x0xxxxxx01101011xxx
clz. */
- return 551;
+ return 559;
}
else
{
@@ -2585,7 +2640,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx001x1xxxxxx01101011xxx
crc32cb. */
- return 568;
+ return 576;
}
}
}
@@ -2601,7 +2656,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx0x001011x0x
ccmn. */
- return 520;
+ return 528;
}
else
{
@@ -2609,7 +2664,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxx0x001011x1x
ccmp. */
- return 521;
+ return 529;
}
}
else
@@ -2626,7 +2681,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01000xxxxxx0x101011x0x
udiv. */
- return 554;
+ return 562;
}
else
{
@@ -2636,7 +2691,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01000xxxxxx0x101011x10
rev. */
- return 549;
+ return 557;
}
else
{
@@ -2644,7 +2699,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01000xxxxxx0x101011x11
rev32. */
- return 553;
+ return 561;
}
}
}
@@ -2654,7 +2709,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01001xxxxxx0x101011xxx
crc32w. */
- return 566;
+ return 574;
}
}
else
@@ -2663,7 +2718,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101xxxxxxx0x101011xxx
asrv. */
- return 560;
+ return 568;
}
}
else
@@ -2672,7 +2727,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx011xxxxxxxx0x101011xxx
crc32cw. */
- return 570;
+ return 578;
}
}
}
@@ -2689,7 +2744,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx10xxxxxxxxx00x01011x0x
csinc. */
- return 525;
+ return 533;
}
else
{
@@ -2697,7 +2752,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx10xxxxxxxxx00x01011x1x
csneg. */
- return 531;
+ return 539;
}
}
else
@@ -2712,7 +2767,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx10000xxxxxx01x01011xxx
rev16. */
- return 548;
+ return 556;
}
else
{
@@ -2720,7 +2775,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx10001xxxxxx01x01011xxx
crc32h. */
- return 565;
+ return 573;
}
}
else
@@ -2729,7 +2784,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1001xxxxxxx01x01011xxx
lsrv. */
- return 558;
+ return 566;
}
}
else
@@ -2740,7 +2795,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101x0xxxxxx01x01011xxx
cls. */
- return 552;
+ return 560;
}
else
{
@@ -2748,7 +2803,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101x1xxxxxx01x01011xxx
crc32ch. */
- return 569;
+ return 577;
}
}
}
@@ -2767,7 +2822,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx11000xxxxxx0xx01011x0x
sdiv. */
- return 555;
+ return 563;
}
else
{
@@ -2775,7 +2830,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx11000xxxxxx0xx01011x1x
rev. */
- return 550;
+ return 558;
}
}
else
@@ -2784,7 +2839,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx11001xxxxxx0xx01011xxx
crc32x. */
- return 567;
+ return 575;
}
}
else
@@ -2793,7 +2848,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1101xxxxxxx0xx01011xxx
rorv. */
- return 562;
+ return 570;
}
}
else
@@ -2802,7 +2857,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111xxxxxxxx0xx01011xxx
crc32cx. */
- return 571;
+ return 579;
}
}
}
@@ -2818,7 +2873,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx1xx0101x00x
bic. */
- return 753;
+ return 767;
}
else
{
@@ -2826,7 +2881,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx1xx0101x01x
eon. */
- return 760;
+ return 774;
}
}
else
@@ -2837,7 +2892,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx1xx0101x10x
orn. */
- return 757;
+ return 771;
}
else
{
@@ -2845,7 +2900,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx1xx0101x11x
bics. */
- return 763;
+ return 777;
}
}
}
@@ -2865,7 +2920,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx01100x00x
sbfm. */
- return 493;
+ return 501;
}
else
{
@@ -2873,7 +2928,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx01100x01x
ubfm. */
- return 503;
+ return 511;
}
}
else
@@ -2882,7 +2937,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx01100x1xx
bfm. */
- return 500;
+ return 508;
}
}
else
@@ -2891,7 +2946,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxx11100xxxx
extr. */
- return 594;
+ return 602;
}
}
else
@@ -2949,7 +3004,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx00x11011xxx
madd. */
- return 572;
+ return 580;
}
else
{
@@ -2959,7 +3014,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx01011011xxx
smulh. */
- return 580;
+ return 588;
}
else
{
@@ -2967,7 +3022,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx01111011xxx
umulh. */
- return 585;
+ return 593;
}
}
}
@@ -2977,7 +3032,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx0xx11011xxx
msub. */
- return 574;
+ return 582;
}
}
}
@@ -3034,7 +3089,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx1x011011xxx
smaddl. */
- return 576;
+ return 584;
}
else
{
@@ -3042,7 +3097,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx1x011011xxx
smsubl. */
- return 578;
+ return 586;
}
}
}
@@ -3054,7 +3109,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx1x11101xxxx
umaddl. */
- return 581;
+ return 589;
}
else
{
@@ -3062,7 +3117,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx1x11101xxxx
umsubl. */
- return 583;
+ return 591;
}
}
}
@@ -3084,7 +3139,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxxxx10x000
b. */
- return 510;
+ return 518;
}
else
{
@@ -3092,7 +3147,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxxxx10x001
bl. */
- return 511;
+ return 519;
}
}
else
@@ -3107,7 +3162,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx0010x010
b.c. */
- return 519;
+ return 527;
}
else
{
@@ -3121,7 +3176,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00xxxxxxxxxxxxxxxxxxx0xx0010x011
hlt. */
- return 590;
+ return 598;
}
else
{
@@ -3129,7 +3184,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
00xxxxxxxxxxxxxxxxxxx1xx0010x011
brk. */
- return 589;
+ return 597;
}
}
else
@@ -3140,7 +3195,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01xxxxxxxxxxxxxxxxxxx0xx0010x011
hvc. */
- return 587;
+ return 595;
}
else
{
@@ -3148,7 +3203,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
01xxxxxxxxxxxxxxxxxxx1xx0010x011
dcps2. */
- return 592;
+ return 600;
}
}
}
@@ -3162,7 +3217,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
10xxxxxxxxxxxxxxxxxxx0xx0010x011
svc. */
- return 586;
+ return 594;
}
else
{
@@ -3170,7 +3225,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
10xxxxxxxxxxxxxxxxxxx1xx0010x011
dcps1. */
- return 591;
+ return 599;
}
}
else
@@ -3181,7 +3236,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11xxxxxxxxxxxxxxxxxxx0xx0010x011
smc. */
- return 588;
+ return 596;
}
else
{
@@ -3189,7 +3244,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
11xxxxxxxxxxxxxxxxxxx1xx0010x011
dcps3. */
- return 593;
+ return 601;
}
}
}
@@ -3207,7 +3262,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx0000110x01x
br. */
- return 512;
+ return 520;
}
else
{
@@ -3215,7 +3270,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx0010110x01x
eret. */
- return 515;
+ return 523;
}
}
else
@@ -3224,7 +3279,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx01x0110x01x
ret. */
- return 514;
+ return 522;
}
}
else
@@ -3235,7 +3290,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx1x00110x01x
blr. */
- return 513;
+ return 521;
}
else
{
@@ -3243,7 +3298,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx1x10110x01x
drps. */
- return 516;
+ return 524;
}
}
}
@@ -3256,7 +3311,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx0xx1x10x01x
msr. */
- return 943;
+ return 957;
}
else
{
@@ -3264,7 +3319,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx1xx1x10x01x
sysl. */
- return 961;
+ return 975;
}
}
}
@@ -3279,7 +3334,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx0010x1xx
cbz. */
- return 517;
+ return 525;
}
else
{
@@ -3287,7 +3342,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx0110x1xx
tbz. */
- return 963;
+ return 977;
}
}
else
@@ -3298,7 +3353,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx1010x1xx
cbnz. */
- return 518;
+ return 526;
}
else
{
@@ -3306,7 +3361,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx1110x1xx
tbnz. */
- return 964;
+ return 978;
}
}
}
@@ -3329,7 +3384,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx00001100xx
st4. */
- return 355;
+ return 361;
}
else
{
@@ -3337,7 +3392,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx00001101xx
stnp. */
- return 729;
+ return 743;
}
}
else
@@ -3352,7 +3407,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxx0xxxxxxx000101100xx
st1. */
- return 371;
+ return 377;
}
else
{
@@ -3360,7 +3415,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxx0xxxxxxx100101100xx
st2. */
- return 373;
+ return 379;
}
}
else
@@ -3371,7 +3426,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxx1xxxxxxx000101100xx
st3. */
- return 372;
+ return 378;
}
else
{
@@ -3379,7 +3434,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxx1xxxxxxx100101100xx
st4. */
- return 374;
+ return 380;
}
}
}
@@ -3389,7 +3444,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx00101101xx
stp. */
- return 733;
+ return 747;
}
}
}
@@ -3405,7 +3460,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx001001100xx
st4. */
- return 363;
+ return 369;
}
else
{
@@ -3415,7 +3470,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxx0xxxxxxx001101100xx
st1. */
- return 383;
+ return 389;
}
else
{
@@ -3423,7 +3478,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxx1xxxxxxx001101100xx
st3. */
- return 384;
+ return 390;
}
}
}
@@ -3435,7 +3490,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxx0xxxxxxx101x01100xx
st2. */
- return 385;
+ return 391;
}
else
{
@@ -3443,7 +3498,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxx1xxxxxxx101x01100xx
st4. */
- return 386;
+ return 392;
}
}
}
@@ -3453,7 +3508,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx01x01101xx
stp. */
- return 738;
+ return 752;
}
}
}
@@ -3469,7 +3524,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx10001100xx
ld4. */
- return 359;
+ return 365;
}
else
{
@@ -3477,7 +3532,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx10001101xx
ldnp. */
- return 730;
+ return 744;
}
}
else
@@ -3492,7 +3547,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxx0xxxxxxx010101100xx
ld1. */
- return 375;
+ return 381;
}
else
{
@@ -3500,7 +3555,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxx0xxxxxxx110101100xx
ld2. */
- return 379;
+ return 385;
}
}
else
@@ -3511,7 +3566,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxx1xxxxxxx010101100xx
ld3. */
- return 376;
+ return 382;
}
else
{
@@ -3519,7 +3574,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxx1xxxxxxx110101100xx
ld4. */
- return 380;
+ return 386;
}
}
}
@@ -3529,7 +3584,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx10101101xx
ldp. */
- return 734;
+ return 748;
}
}
}
@@ -3545,7 +3600,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxx011001100xx
ld4. */
- return 367;
+ return 373;
}
else
{
@@ -3555,7 +3610,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxx0xxxxxxx011101100xx
ld1. */
- return 387;
+ return 393;
}
else
{
@@ -3563,7 +3618,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxx1xxxxxxx011101100xx
ld3. */
- return 388;
+ return 394;
}
}
}
@@ -3575,7 +3630,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxx0xxxxxxx111x01100xx
ld2. */
- return 391;
+ return 397;
}
else
{
@@ -3583,7 +3638,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxx1xxxxxxx111x01100xx
ld4. */
- return 392;
+ return 398;
}
}
}
@@ -3593,7 +3648,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx11x01101xx
ldp. */
- return 739;
+ return 753;
}
}
}
@@ -3608,7 +3663,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxxxx001110xx
ldr. */
- return 742;
+ return 756;
}
else
{
@@ -3622,7 +3677,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00xxxxxxxxxx0x001111xx
stur. */
- return 696;
+ return 704;
}
else
{
@@ -3630,7 +3685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00xxxxxxxxxx1x001111xx
ldur. */
- return 697;
+ return 705;
}
}
else
@@ -3641,7 +3696,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxxx0x001111xx
str. */
- return 675;
+ return 683;
}
else
{
@@ -3649,7 +3704,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01xxxxxxxxxx1x001111xx
ldr. */
- return 676;
+ return 684;
}
}
}
@@ -3661,7 +3716,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1xxxxxxxxxxx0x001111xx
str. */
- return 652;
+ return 660;
}
else
{
@@ -3669,7 +3724,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1xxxxxxxxxxx1x001111xx
ldr. */
- return 653;
+ return 661;
}
}
}
@@ -3682,7 +3737,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx0x10111xxx
str. */
- return 663;
+ return 671;
}
else
{
@@ -3690,7 +3745,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxxxxxxxxx1x10111xxx
ldr. */
- return 664;
+ return 672;
}
}
}
@@ -3715,7 +3770,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000xxxxxxxx0xx011100xx
tbl. */
- return 341;
+ return 345;
}
else
{
@@ -3723,7 +3778,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx001xxxxxxxx0xx011100xx
tbx. */
- return 342;
+ return 346;
}
}
else
@@ -3736,7 +3791,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010x0xxxxxx0xx011100xx
trn1. */
- return 216;
+ return 218;
}
else
{
@@ -3744,7 +3799,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010x1xxxxxx0xx011100xx
trn2. */
- return 219;
+ return 221;
}
}
else
@@ -3757,7 +3812,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01100xxxxxx0xx011100xx
uzp1. */
- return 215;
+ return 217;
}
else
{
@@ -3765,7 +3820,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01101xxxxxx0xx011100xx
uzp2. */
- return 218;
+ return 220;
}
}
else
@@ -3776,7 +3831,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01110xxxxxx0xx011100xx
zip1. */
- return 217;
+ return 219;
}
else
{
@@ -3784,7 +3839,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx01111xxxxxx0xx011100xx
zip2. */
- return 220;
+ return 222;
}
}
}
@@ -3796,199 +3851,243 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0xxxxxxxxxx0xx011101xx
ext. */
- return 119;
+ return 121;
}
}
else
{
- if (((word >> 29) & 0x1) == 0)
+ if (((word >> 15) & 0x1) == 0)
{
- if (((word >> 11) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx10xxxxxxxxx0xx011100xx
- dup. */
- return 135;
- }
- else
+ if (((word >> 29) & 0x1) == 0)
{
- if (((word >> 12) & 0x1) == 0)
+ if (((word >> 11) & 0x1) == 0)
{
- if (((word >> 13) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx1100xxxxxxx0xx011100xx
- dup. */
- return 136;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx1101xxxxxxx0xx011100xx
- smov. */
- return 137;
- }
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx10xxx0xxxxx0xx011100xx
+ dup. */
+ return 137;
}
else
{
- if (((word >> 13) & 0x1) == 0)
+ if (((word >> 12) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx1110xxxxxxx0xx011100xx
- ins. */
- return 140;
+ if (((word >> 13) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx1100x0xxxxx0xx011100xx
+ dup. */
+ return 138;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx1101x0xxxxx0xx011100xx
+ smov. */
+ return 139;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx1111xxxxxxx0xx011100xx
- umov. */
- return 138;
+ if (((word >> 13) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx1110x0xxxxx0xx011100xx
+ ins. */
+ return 142;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx1111x0xxxxx0xx011100xx
+ umov. */
+ return 140;
+ }
}
}
}
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx1xxxxxxxxxx0xx011101xx
- ins. */
- return 142;
- }
- }
- }
- else
- {
- if (((word >> 30) & 0x1) == 0)
- {
- if (((word >> 16) & 0x1) == 0)
- {
- if (((word >> 17) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxxxxxxxx00xxx0xx01111x0x
- fcvtzs. */
- return 598;
- }
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxxxxxxxxxxxxxxx01xxx0xx01111x0x
- scvtf. */
- return 596;
+ xxxxxxxxxx1xxxx0xxxxx0xx011101xx
+ ins. */
+ return 144;
}
}
else
{
- if (((word >> 17) & 0x1) == 0)
+ if (((word >> 11) & 0x1) == 0)
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxxxxxxxxxxxxxxx10xxx0xx01111x0x
- fcvtzu. */
- return 599;
+ xxxxxxxxxx10xxx1xxxxx0xx01110xxx
+ sqrdmlah. */
+ return 301;
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxxxxxxxxxxxxxxx11xxx0xx01111x0x
- ucvtf. */
- return 597;
+ xxxxxxxxxx11xxx1xxxxx0xx01110xxx
+ sqrdmlsh. */
+ return 302;
}
}
}
- else
+ }
+ else
+ {
+ if (((word >> 29) & 0x1) == 0)
{
- if (((word >> 10) & 0x1) == 0)
+ if (((word >> 30) & 0x1) == 0)
{
- if (((word >> 12) & 0x1) == 0)
+ if (((word >> 16) & 0x1) == 0)
{
- if (((word >> 13) & 0x1) == 0)
+ if (((word >> 17) & 0x1) == 0)
{
- if (((word >> 14) & 0x1) == 0)
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxxx00xxx0xx0111100x
+ fcvtzs. */
+ return 606;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxxx01xxx0xx0111100x
+ scvtf. */
+ return 604;
+ }
+ }
+ else
+ {
+ if (((word >> 17) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxxx10xxx0xx0111100x
+ fcvtzu. */
+ return 607;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxxxxxxx11xxx0xx0111100x
+ ucvtf. */
+ return 605;
+ }
+ }
+ }
+ else
+ {
+ if (((word >> 10) & 0x1) == 0)
+ {
+ if (((word >> 12) & 0x1) == 0)
+ {
+ if (((word >> 13) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx0x000xxxxxx0xx01111x1x
- sha1c. */
- return 540;
+ if (((word >> 14) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx0x000xxxxxx0xx0111101x
+ sha1c. */
+ return 548;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx0x001xxxxxx0xx0111101x
+ sha256h. */
+ return 552;
+ }
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx0x001xxxxxx0xx01111x1x
- sha256h. */
- return 544;
+ if (((word >> 14) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx0x010xxxxxx0xx0111101x
+ sha1m. */
+ return 550;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx0x011xxxxxx0xx0111101x
+ sha256su1. */
+ return 554;
+ }
}
}
else
{
- if (((word >> 14) & 0x1) == 0)
+ if (((word >> 13) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx0x010xxxxxx0xx01111x1x
- sha1m. */
- return 542;
+ if (((word >> 14) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx0x100xxxxxx0xx0111101x
+ sha1p. */
+ return 549;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx0x101xxxxxx0xx0111101x
+ sha256h2. */
+ return 553;
+ }
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxxxxxxxxx0x011xxxxxx0xx01111x1x
- sha256su1. */
- return 546;
+ xxxxxxxxxx0x11xxxxxxx0xx0111101x
+ sha1su0. */
+ return 551;
}
}
}
else
{
- if (((word >> 13) & 0x1) == 0)
- {
- if (((word >> 14) & 0x1) == 0)
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx0x100xxxxxx0xx01111x1x
- sha1p. */
- return 541;
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx0x101xxxxxx0xx01111x1x
- sha256h2. */
- return 545;
- }
- }
- else
- {
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx0x11xxxxxxx0xx01111x1x
- sha1su0. */
- return 543;
- }
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx1xxxxxxxxxx0xx0111101x
+ dup. */
+ return 436;
}
}
+ }
+ else
+ {
+ if (((word >> 11) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxxx0xxxxxxxxx0xx011111xx
+ sqrdmlah. */
+ return 475;
+ }
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxxxxxxxxx1xxxxxxxxxx0xx01111x1x
- dup. */
- return 430;
+ xxxxxxxxxxx1xxxxxxxxx0xx011111xx
+ sqrdmlsh. */
+ return 476;
}
}
}
@@ -4064,7 +4163,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000000001xx01111xxx
fcvtns. */
- return 600;
+ return 608;
}
else
{
@@ -4072,7 +4171,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000000011xx01111xxx
fcvtms. */
- return 610;
+ return 618;
}
}
else
@@ -4083,7 +4182,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000000101xx01111xxx
fcvtps. */
- return 608;
+ return 616;
}
else
{
@@ -4091,7 +4190,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000000111xx01111xxx
fcvtzs. */
- return 612;
+ return 620;
}
}
}
@@ -4101,7 +4200,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000001xx1xx01111xxx
fcvtas. */
- return 604;
+ return 612;
}
}
else
@@ -4112,7 +4211,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000010xx1xx01111xxx
scvtf. */
- return 602;
+ return 610;
}
else
{
@@ -4122,7 +4221,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0000000110x1xx01111xxx
fmov. */
- return 606;
+ return 614;
}
else
{
@@ -4130,7 +4229,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0000000111x1xx01111xxx
fmov. */
- return 614;
+ return 622;
}
}
}
@@ -4149,7 +4248,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000100001xx01111xxx
fcvtnu. */
- return 601;
+ return 609;
}
else
{
@@ -4157,7 +4256,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000100011xx01111xxx
fcvtmu. */
- return 611;
+ return 619;
}
}
else
@@ -4168,7 +4267,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000100101xx01111xxx
fcvtpu. */
- return 609;
+ return 617;
}
else
{
@@ -4176,7 +4275,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000100111xx01111xxx
fcvtzu. */
- return 613;
+ return 621;
}
}
}
@@ -4186,7 +4285,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000101xx1xx01111xxx
fcvtau. */
- return 605;
+ return 613;
}
}
else
@@ -4197,7 +4296,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000000110xx1xx01111xxx
ucvtf. */
- return 603;
+ return 611;
}
else
{
@@ -4207,7 +4306,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0000001110x1xx01111xxx
fmov. */
- return 607;
+ return 615;
}
else
{
@@ -4215,7 +4314,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0000001111x1xx01111xxx
fmov. */
- return 615;
+ return 623;
}
}
}
@@ -4365,7 +4464,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000010000xx1xx01111xxx
fmov. */
- return 622;
+ return 630;
}
else
{
@@ -4373,7 +4472,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000010001xx1xx01111xxx
frintn. */
- return 627;
+ return 635;
}
}
else
@@ -4384,7 +4483,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000010100xx1xx01111xxx
fneg. */
- return 624;
+ return 632;
}
else
{
@@ -4392,7 +4491,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000010101xx1xx01111xxx
frintm. */
- return 629;
+ return 637;
}
}
}
@@ -4406,7 +4505,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000011000xx1xx01111xxx
fabs. */
- return 623;
+ return 631;
}
else
{
@@ -4414,7 +4513,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000011001xx1xx01111xxx
frintp. */
- return 628;
+ return 636;
}
}
else
@@ -4425,7 +4524,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000011100xx1xx01111xxx
fsqrt. */
- return 625;
+ return 633;
}
else
{
@@ -4433,7 +4532,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000011101xx1xx01111xxx
frintz. */
- return 630;
+ return 638;
}
}
}
@@ -4446,7 +4545,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00001xx10xx1xx01111xxx
fcvt. */
- return 626;
+ return 634;
}
else
{
@@ -4458,7 +4557,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000010011xx1xx01111xxx
frinta. */
- return 631;
+ return 639;
}
else
{
@@ -4466,7 +4565,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000010111xx1xx01111xxx
frintx. */
- return 632;
+ return 640;
}
}
else
@@ -4475,7 +4574,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx000011x11xx1xx01111xxx
frinti. */
- return 633;
+ return 641;
}
}
}
@@ -4539,7 +4638,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx00xxxxx000100xxxxx1xx01111xxx
fcmp. */
- return 618;
+ return 626;
}
else
{
@@ -4547,7 +4646,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx01xxxxx000100xxxxx1xx01111xxx
fcmpe. */
- return 619;
+ return 627;
}
}
else
@@ -4558,7 +4657,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx10xxxxx000100xxxxx1xx01111xxx
fcmp. */
- return 620;
+ return 628;
}
else
{
@@ -4566,7 +4665,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxx11xxxxx000100xxxxx1xx01111xxx
fcmpe. */
- return 621;
+ return 629;
}
}
}
@@ -4949,7 +5048,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx001xxxxxxxx1xx01111x0x
fmov. */
- return 647;
+ return 655;
}
else
{
@@ -4961,7 +5060,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00100xxxxxx1xx01111x1x
sqdmlal. */
- return 343;
+ return 347;
}
else
{
@@ -4969,7 +5068,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx00101xxxxxx1xx01111x1x
sqdmull. */
- return 345;
+ return 349;
}
}
else
@@ -4978,7 +5077,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0011xxxxxxx1xx01111x1x
sqdmlsl. */
- return 344;
+ return 348;
}
}
}
@@ -5002,7 +5101,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010000xxxxx1xx011100xx
rev64. */
- return 144;
+ return 146;
}
else
{
@@ -5010,7 +5109,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010000xxxxx1xx011101xx
rev32. */
- return 180;
+ return 182;
}
}
else
@@ -5021,7 +5120,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010000xxxxx1xx01111x0x
fmul. */
- return 634;
+ return 642;
}
else
{
@@ -5029,7 +5128,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010000xxxxx1xx01111x1x
sha1h. */
- return 537;
+ return 545;
}
}
}
@@ -5045,7 +5144,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100010xxxx1xx011100xx
cmgt. */
- return 152;
+ return 154;
}
else
{
@@ -5053,7 +5152,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100010xxxx1xx011101xx
cmge. */
- return 186;
+ return 188;
}
}
else
@@ -5066,7 +5165,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100011xxxx1x0011100xx
frintn. */
- return 164;
+ return 166;
}
else
{
@@ -5074,7 +5173,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100011xxxx1x0011101xx
frinta. */
- return 197;
+ return 199;
}
}
else
@@ -5083,7 +5182,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100011xxxx1x101110xxx
frintp. */
- return 174;
+ return 176;
}
}
}
@@ -5097,7 +5196,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010001xxxxx1xx0111100x
fnmul. */
- return 642;
+ return 650;
}
else
{
@@ -5105,7 +5204,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010001xxxxx1xx0111101x
cmgt. */
- return 397;
+ return 403;
}
}
else
@@ -5114,7 +5213,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010001xxxxx1xx011111xx
cmge. */
- return 415;
+ return 421;
}
}
}
@@ -5135,7 +5234,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100100xx0x1xx011100xx
cls. */
- return 148;
+ return 150;
}
else
{
@@ -5143,7 +5242,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100100xx0x1xx011101xx
clz. */
- return 183;
+ return 185;
}
}
else
@@ -5152,7 +5251,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100100xx1x1xx01110xxx
aese. */
- return 533;
+ return 541;
}
}
else
@@ -5165,7 +5264,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100101xxxx1xx0111000x
sqxtn. */
- return 158;
+ return 160;
}
else
{
@@ -5173,7 +5272,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100101xxxx1xx0111001x
sqxtn2. */
- return 159;
+ return 161;
}
}
else
@@ -5184,7 +5283,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100101xxxx1xx0111010x
uqxtn. */
- return 193;
+ return 195;
}
else
{
@@ -5192,7 +5291,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100101xxxx1xx0111011x
uqxtn2. */
- return 194;
+ return 196;
}
}
}
@@ -5207,7 +5306,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010010xxxxx1xx0111100x
fmax. */
- return 638;
+ return 646;
}
else
{
@@ -5215,7 +5314,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010010xxxxx1xx0111101x
sqxtn. */
- return 401;
+ return 407;
}
}
else
@@ -5224,7 +5323,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010010xxxxx1xx011111xx
uqxtn. */
- return 419;
+ return 425;
}
}
}
@@ -5242,7 +5341,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100110xxx01xx011100xx
fcmgt. */
- return 170;
+ return 172;
}
else
{
@@ -5250,7 +5349,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100110xxx01xx011101xx
fcmge. */
- return 206;
+ return 208;
}
}
else
@@ -5261,7 +5360,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100110xxx01xx011110xx
fcmgt. */
- return 406;
+ return 412;
}
else
{
@@ -5269,7 +5368,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100110xxx01xx011111xx
fcmge. */
- return 425;
+ return 431;
}
}
}
@@ -5291,7 +5390,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100110xxx11x001111xxx
fmaxnmp. */
- return 433;
+ return 439;
}
}
else
@@ -5310,7 +5409,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100110xxx11x101111xxx
fminnmp. */
- return 436;
+ return 442;
}
}
}
@@ -5327,7 +5426,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100111xxxx1x0011100xx
fcvtas. */
- return 168;
+ return 170;
}
else
{
@@ -5335,7 +5434,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100111xxxx1x0011101xx
fcvtau. */
- return 201;
+ return 203;
}
}
else
@@ -5346,7 +5445,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100111xxxx1x0011110xx
fcvtas. */
- return 404;
+ return 410;
}
else
{
@@ -5354,7 +5453,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100111xxxx1x0011111xx
fcvtau. */
- return 423;
+ return 429;
}
}
}
@@ -5366,7 +5465,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100111xxxx1x10111x0xx
urecpe. */
- return 178;
+ return 180;
}
else
{
@@ -5374,7 +5473,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0100111xxxx1x10111x1xx
ursqrte. */
- return 212;
+ return 214;
}
}
}
@@ -5397,7 +5496,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101000xxxx1xx011100xx
saddlp. */
- return 146;
+ return 148;
}
else
{
@@ -5405,7 +5504,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101000xxxx1xx011101xx
uaddlp. */
- return 181;
+ return 183;
}
}
else
@@ -5418,7 +5517,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101001xxxx1xx0111000x
xtn. */
- return 156;
+ return 158;
}
else
{
@@ -5426,7 +5525,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101001xxxx1xx0111001x
xtn2. */
- return 157;
+ return 159;
}
}
else
@@ -5437,7 +5536,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101001xxxx1xx0111010x
sqxtun. */
- return 189;
+ return 191;
}
else
{
@@ -5445,7 +5544,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101001xxxx1xx0111011x
sqxtun2. */
- return 190;
+ return 192;
}
}
}
@@ -5460,7 +5559,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010100xxxxx1xx0111100x
fadd. */
- return 636;
+ return 644;
}
else
{
@@ -5468,7 +5567,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010100xxxxx1xx0111101x
sha256su0. */
- return 539;
+ return 547;
}
}
else
@@ -5477,7 +5576,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010100xxxxx1xx011111xx
sqxtun. */
- return 418;
+ return 424;
}
}
}
@@ -5493,7 +5592,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101010xxx01xx01110xxx
cmlt. */
- return 154;
+ return 156;
}
else
{
@@ -5501,7 +5600,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101010xxx01xx01111xxx
cmlt. */
- return 399;
+ return 405;
}
}
else
@@ -5538,7 +5637,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101011xxx01x0011100xx
fcvtns. */
- return 166;
+ return 168;
}
else
{
@@ -5546,7 +5645,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101011xxx01x0011101xx
fcvtnu. */
- return 199;
+ return 201;
}
}
else
@@ -5557,7 +5656,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101011xxx01x0011110xx
fcvtns. */
- return 402;
+ return 408;
}
else
{
@@ -5565,7 +5664,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101011xxx01x0011111xx
fcvtnu. */
- return 421;
+ return 427;
}
}
}
@@ -5579,7 +5678,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101011xxx01x1011100xx
fcvtps. */
- return 176;
+ return 178;
}
else
{
@@ -5587,7 +5686,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101011xxx01x1011101xx
fcvtpu. */
- return 210;
+ return 212;
}
}
else
@@ -5598,7 +5697,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101011xxx01x1011110xx
fcvtps. */
- return 409;
+ return 415;
}
else
{
@@ -5606,7 +5705,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101011xxx01x1011111xx
fcvtpu. */
- return 427;
+ return 433;
}
}
}
@@ -5649,7 +5748,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101100xx0x1xx011100xx
sadalp. */
- return 150;
+ return 152;
}
else
{
@@ -5657,7 +5756,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101100xx0x1xx011101xx
uadalp. */
- return 184;
+ return 186;
}
}
else
@@ -5666,7 +5765,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101100xx1x1xx01110xxx
aesmc. */
- return 535;
+ return 543;
}
}
else
@@ -5679,7 +5778,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101101xxxx1xx0111000x
fcvtn. */
- return 160;
+ return 162;
}
else
{
@@ -5687,7 +5786,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101101xxxx1xx0111001x
fcvtn2. */
- return 161;
+ return 163;
}
}
else
@@ -5698,7 +5797,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101101xxxx1xx0111010x
fcvtxn. */
- return 195;
+ return 197;
}
else
{
@@ -5706,7 +5805,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0101101xxxx1xx0111011x
fcvtxn2. */
- return 196;
+ return 198;
}
}
}
@@ -5719,7 +5818,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010110xxxxx1xx011110xx
fmaxnm. */
- return 640;
+ return 648;
}
else
{
@@ -5727,7 +5826,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010110xxxxx1xx011111xx
fcvtxn. */
- return 420;
+ return 426;
}
}
}
@@ -5739,7 +5838,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010111xxxxx1xx01110xxx
fcmlt. */
- return 172;
+ return 174;
}
else
{
@@ -5747,7 +5846,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx010111xxxxx1xx01111xxx
fcmlt. */
- return 408;
+ return 414;
}
}
}
@@ -5767,7 +5866,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx011000xxxxx1xx01110xxx
rev16. */
- return 145;
+ return 147;
}
else
{
@@ -5777,7 +5876,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx011000xxxxx1xx01111x0x
fdiv. */
- return 635;
+ return 643;
}
else
{
@@ -5785,7 +5884,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx011000xxxxx1xx01111x1x
sha1su1. */
- return 538;
+ return 546;
}
}
}
@@ -5801,7 +5900,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110010xxxx1xx011100xx
cmeq. */
- return 153;
+ return 155;
}
else
{
@@ -5809,7 +5908,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110010xxxx1xx011101xx
cmle. */
- return 187;
+ return 189;
}
}
else
@@ -5820,7 +5919,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110010xxxx1xx011110xx
cmeq. */
- return 398;
+ return 404;
}
else
{
@@ -5828,7 +5927,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110010xxxx1xx011111xx
cmle. */
- return 416;
+ return 422;
}
}
}
@@ -5842,7 +5941,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110011xxxx1x00111x0xx
frintm. */
- return 165;
+ return 167;
}
else
{
@@ -5850,7 +5949,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110011xxxx1x00111x1xx
frintx. */
- return 198;
+ return 200;
}
}
else
@@ -5861,7 +5960,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110011xxxx1x10111x0xx
frintz. */
- return 175;
+ return 177;
}
else
{
@@ -5869,7 +5968,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110011xxxx1x10111x1xx
frinti. */
- return 209;
+ return 211;
}
}
}
@@ -5889,7 +5988,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx011010xxx0x1xx011100xx
cnt. */
- return 149;
+ return 151;
}
else
{
@@ -5899,7 +5998,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx011010xxx0x10x011101xx
not. */
- return 203;
+ return 205;
}
else
{
@@ -5907,7 +6006,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx011010xxx0x11x011101xx
rbit. */
- return 205;
+ return 207;
}
}
}
@@ -5917,7 +6016,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx011010xxx1x1xx01110xxx
aesd. */
- return 534;
+ return 542;
}
}
else
@@ -5926,7 +6025,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx011010xxxxx1xx01111xxx
fmin. */
- return 639;
+ return 647;
}
}
else
@@ -5943,7 +6042,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110110xxx01xx011100xx
fcmeq. */
- return 171;
+ return 173;
}
else
{
@@ -5951,7 +6050,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110110xxx01xx011101xx
fcmle. */
- return 207;
+ return 209;
}
}
else
@@ -5962,7 +6061,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110110xxx01xx011110xx
fcmeq. */
- return 407;
+ return 413;
}
else
{
@@ -5970,7 +6069,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110110xxx01xx011111xx
fcmle. */
- return 426;
+ return 432;
}
}
}
@@ -5980,7 +6079,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110110xxx11xx0111xxxx
faddp. */
- return 434;
+ return 440;
}
}
else
@@ -5995,7 +6094,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110111xxxx1x0011100xx
scvtf. */
- return 169;
+ return 171;
}
else
{
@@ -6003,7 +6102,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110111xxxx1x0011101xx
ucvtf. */
- return 202;
+ return 204;
}
}
else
@@ -6014,7 +6113,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110111xxxx1x0011110xx
scvtf. */
- return 405;
+ return 411;
}
else
{
@@ -6022,7 +6121,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110111xxxx1x0011111xx
ucvtf. */
- return 424;
+ return 430;
}
}
}
@@ -6036,7 +6135,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110111xxxx1x1011100xx
frecpe. */
- return 179;
+ return 181;
}
else
{
@@ -6044,7 +6143,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110111xxxx1x1011101xx
frsqrte. */
- return 213;
+ return 215;
}
}
else
@@ -6055,7 +6154,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110111xxxx1x1011110xx
frecpe. */
- return 411;
+ return 417;
}
else
{
@@ -6063,7 +6162,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0110111xxxx1x1011111xx
frsqrte. */
- return 429;
+ return 435;
}
}
}
@@ -6089,7 +6188,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111000xxx01xx011100xx
suqadd. */
- return 147;
+ return 149;
}
else
{
@@ -6097,7 +6196,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111000xxx01xx011101xx
usqadd. */
- return 182;
+ return 184;
}
}
else
@@ -6128,7 +6227,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111001xxxx1xx01110x0x
shll. */
- return 191;
+ return 193;
}
else
{
@@ -6136,7 +6235,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111001xxxx1xx01110x1x
shll2. */
- return 192;
+ return 194;
}
}
}
@@ -6150,7 +6249,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx011100xxxxx1xx0111100x
fsub. */
- return 637;
+ return 645;
}
else
{
@@ -6158,7 +6257,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx011100xxxxx1xx0111101x
suqadd. */
- return 395;
+ return 401;
}
}
else
@@ -6167,7 +6266,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx011100xxxxx1xx011111xx
usqadd. */
- return 413;
+ return 419;
}
}
}
@@ -6183,7 +6282,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111010xxxx1xx011100xx
abs. */
- return 155;
+ return 157;
}
else
{
@@ -6191,7 +6290,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111010xxxx1xx011101xx
neg. */
- return 188;
+ return 190;
}
}
else
@@ -6202,7 +6301,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111010xxxx1xx011110xx
abs. */
- return 400;
+ return 406;
}
else
{
@@ -6210,7 +6309,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111010xxxx1xx011111xx
neg. */
- return 417;
+ return 423;
}
}
}
@@ -6228,7 +6327,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111011xxx01x0011100xx
fcvtms. */
- return 167;
+ return 169;
}
else
{
@@ -6236,7 +6335,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111011xxx01x0011101xx
fcvtmu. */
- return 200;
+ return 202;
}
}
else
@@ -6247,7 +6346,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111011xxx01x0011110xx
fcvtms. */
- return 403;
+ return 409;
}
else
{
@@ -6255,7 +6354,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111011xxx01x0011111xx
fcvtmu. */
- return 422;
+ return 428;
}
}
}
@@ -6269,7 +6368,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111011xxx01x1011100xx
fcvtzs. */
- return 177;
+ return 179;
}
else
{
@@ -6277,7 +6376,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111011xxx01x1011101xx
fcvtzu. */
- return 211;
+ return 213;
}
}
else
@@ -6288,7 +6387,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111011xxx01x1011110xx
fcvtzs. */
- return 410;
+ return 416;
}
else
{
@@ -6296,7 +6395,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111011xxx01x1011111xx
fcvtzu. */
- return 428;
+ return 434;
}
}
}
@@ -6317,7 +6416,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111011xxx11xx01111xxx
addp. */
- return 432;
+ return 438;
}
}
}
@@ -6339,7 +6438,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111100xx0x1xx011100xx
sqabs. */
- return 151;
+ return 153;
}
else
{
@@ -6347,7 +6446,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111100xx0x1xx011101xx
sqneg. */
- return 185;
+ return 187;
}
}
else
@@ -6356,7 +6455,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111100xx1x1xx01110xxx
aesimc. */
- return 536;
+ return 544;
}
}
else
@@ -6367,7 +6466,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111101xxxx1xx01110x0x
fcvtl. */
- return 162;
+ return 164;
}
else
{
@@ -6375,7 +6474,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111101xxxx1xx01110x1x
fcvtl2. */
- return 163;
+ return 165;
}
}
}
@@ -6389,7 +6488,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx011110xxxxx1xx0111100x
fminnm. */
- return 641;
+ return 649;
}
else
{
@@ -6397,7 +6496,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx011110xxxxx1xx0111101x
sqabs. */
- return 396;
+ return 402;
}
}
else
@@ -6406,7 +6505,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx011110xxxxx1xx011111xx
sqneg. */
- return 414;
+ return 420;
}
}
}
@@ -6422,7 +6521,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111110xxx01xx0111x0xx
fabs. */
- return 173;
+ return 175;
}
else
{
@@ -6430,7 +6529,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111110xxx01xx0111x1xx
fneg. */
- return 208;
+ return 210;
}
}
else
@@ -6451,7 +6550,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111110xxx11x001111xxx
fmaxp. */
- return 435;
+ return 441;
}
}
else
@@ -6470,7 +6569,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111110xxx11x101111xxx
fminp. */
- return 437;
+ return 443;
}
}
}
@@ -6483,7 +6582,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111111xxxx1xx01110xxx
fsqrt. */
- return 214;
+ return 216;
}
else
{
@@ -6491,7 +6590,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0111111xxxx1xx01111xxx
frecpx. */
- return 412;
+ return 418;
}
}
}
@@ -6520,7 +6619,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100000xxxxx1xx011100xx
shadd. */
- return 221;
+ return 223;
}
else
{
@@ -6528,7 +6627,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100000xxxxx1xx011101xx
uhadd. */
- return 261;
+ return 263;
}
}
else
@@ -6539,7 +6638,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100001xxxxx1xx011100xx
add. */
- return 236;
+ return 238;
}
else
{
@@ -6547,7 +6646,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100001xxxxx1xx011101xx
sub. */
- return 276;
+ return 278;
}
}
}
@@ -6561,7 +6660,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100010xxxxx1xx011100xx
sshl. */
- return 228;
+ return 230;
}
else
{
@@ -6569,7 +6668,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100010xxxxx1xx011101xx
ushl. */
- return 268;
+ return 270;
}
}
else
@@ -6582,7 +6681,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100011xxxxx1x0011100xx
fmaxnm. */
- return 244;
+ return 246;
}
else
{
@@ -6590,7 +6689,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100011xxxxx1x0011101xx
fmaxnmp. */
- return 283;
+ return 285;
}
}
else
@@ -6601,7 +6700,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100011xxxxx1x1011100xx
fminnm. */
- return 253;
+ return 255;
}
else
{
@@ -6609,7 +6708,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100011xxxxx1x1011101xx
fminnmp. */
- return 292;
+ return 294;
}
}
}
@@ -6627,7 +6726,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100100xxxxx1xx011100xx
shsub. */
- return 224;
+ return 226;
}
else
{
@@ -6635,7 +6734,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100100xxxxx1xx011101xx
uhsub. */
- return 264;
+ return 266;
}
}
else
@@ -6646,7 +6745,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100101xxxxx1xx011100xx
smaxp. */
- return 240;
+ return 242;
}
else
{
@@ -6654,7 +6753,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100101xxxxx1xx011101xx
umaxp. */
- return 280;
+ return 282;
}
}
}
@@ -6668,7 +6767,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100110xxxxx1xx011100xx
smax. */
- return 232;
+ return 234;
}
else
{
@@ -6676,7 +6775,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100110xxxxx1xx011101xx
umax. */
- return 272;
+ return 274;
}
}
else
@@ -6689,7 +6788,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100111xxxxx1x0011100xx
fcmeq. */
- return 248;
+ return 250;
}
else
{
@@ -6697,7 +6796,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100111xxxxx1x0011101xx
fcmge. */
- return 286;
+ return 288;
}
}
else
@@ -6706,7 +6805,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100111xxxxx1x101110xxx
fcmgt. */
- return 294;
+ return 296;
}
}
}
@@ -6726,7 +6825,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101000xxxxx1xx011100xx
srhadd. */
- return 223;
+ return 225;
}
else
{
@@ -6734,7 +6833,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101000xxxxx1xx011101xx
urhadd. */
- return 263;
+ return 265;
}
}
else
@@ -6745,7 +6844,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101001xxxxx1xx011100xx
mla. */
- return 238;
+ return 240;
}
else
{
@@ -6753,7 +6852,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101001xxxxx1xx011101xx
mls. */
- return 278;
+ return 280;
}
}
}
@@ -6767,7 +6866,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101010xxxxx1xx011100xx
srshl. */
- return 230;
+ return 232;
}
else
{
@@ -6775,7 +6874,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101010xxxxx1xx011101xx
urshl. */
- return 270;
+ return 272;
}
}
else
@@ -6788,7 +6887,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101011xxxxx1x0011100xx
fadd. */
- return 246;
+ return 248;
}
else
{
@@ -6796,7 +6895,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101011xxxxx1x0011101xx
faddp. */
- return 284;
+ return 286;
}
}
else
@@ -6807,7 +6906,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101011xxxxx1x1011100xx
fsub. */
- return 255;
+ return 257;
}
else
{
@@ -6815,7 +6914,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101011xxxxx1x1011101xx
fabd. */
- return 293;
+ return 295;
}
}
}
@@ -6833,7 +6932,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101100xxxxx1xx011100xx
cmgt. */
- return 226;
+ return 228;
}
else
{
@@ -6841,7 +6940,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101100xxxxx1xx011101xx
cmhi. */
- return 266;
+ return 268;
}
}
else
@@ -6852,7 +6951,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101101xxxxx1xx011100xx
sqdmulh. */
- return 242;
+ return 244;
}
else
{
@@ -6860,7 +6959,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101101xxxxx1xx011101xx
sqrdmulh. */
- return 282;
+ return 284;
}
}
}
@@ -6874,7 +6973,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101110xxxxx1xx011100xx
sabd. */
- return 234;
+ return 236;
}
else
{
@@ -6882,7 +6981,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101110xxxxx1xx011101xx
uabd. */
- return 274;
+ return 276;
}
}
else
@@ -6895,7 +6994,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101111xxxxx1x0011100xx
fmax. */
- return 249;
+ return 251;
}
else
{
@@ -6903,7 +7002,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101111xxxxx1x0011101xx
fmaxp. */
- return 288;
+ return 290;
}
}
else
@@ -6914,7 +7013,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101111xxxxx1x1011100xx
fmin. */
- return 256;
+ return 258;
}
else
{
@@ -6922,7 +7021,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101111xxxxx1x1011101xx
fminp. */
- return 296;
+ return 298;
}
}
}
@@ -6942,7 +7041,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxx0xxxxx10xxxxxxxxx1xx0111100x
fccmp. */
- return 616;
+ return 624;
}
else
{
@@ -6950,7 +7049,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxx1xxxxx10xxxxxxxxx1xx0111100x
fccmpe. */
- return 617;
+ return 625;
}
}
else
@@ -6965,7 +7064,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx10000xxxxxx1xx0111101x
add. */
- return 451;
+ return 457;
}
else
{
@@ -6973,7 +7072,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx10001xxxxxx1xx0111101x
sshl. */
- return 449;
+ return 455;
}
}
else
@@ -6982,7 +7081,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1001xxxxxxx1xx0111101x
fcmeq. */
- return 444;
+ return 450;
}
}
else
@@ -6993,7 +7092,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1010xxxxxxx1xx0111101x
srshl. */
- return 450;
+ return 456;
}
else
{
@@ -7003,7 +7102,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1011x0xxxxx1xx0111101x
cmgt. */
- return 447;
+ return 453;
}
else
{
@@ -7011,7 +7110,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1011x1xxxxx1xx0111101x
sqdmulh. */
- return 442;
+ return 448;
}
}
}
@@ -7029,7 +7128,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx10000xxxxxx1xx011111xx
sub. */
- return 467;
+ return 473;
}
else
{
@@ -7037,7 +7136,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx10001xxxxxx1xx011111xx
ushl. */
- return 465;
+ return 471;
}
}
else
@@ -7048,7 +7147,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1001xxxxxxx1x0011111xx
fcmge. */
- return 458;
+ return 464;
}
else
{
@@ -7056,7 +7155,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1001xxxxxxx1x1011111xx
fcmgt. */
- return 461;
+ return 467;
}
}
}
@@ -7070,7 +7169,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1010x0xxxxx1xx011111xx
urshl. */
- return 466;
+ return 472;
}
else
{
@@ -7078,7 +7177,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1010x1xxxxx1xx011111xx
fabd. */
- return 460;
+ return 466;
}
}
else
@@ -7089,7 +7188,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1011x0xxxxx1xx011111xx
cmhi. */
- return 463;
+ return 469;
}
else
{
@@ -7097,7 +7196,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1011x1xxxxx1xx011111xx
sqrdmulh. */
- return 457;
+ return 463;
}
}
}
@@ -7122,7 +7221,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110000xxxxx1xx011100xx
sqadd. */
- return 222;
+ return 224;
}
else
{
@@ -7130,7 +7229,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110000xxxxx1xx011101xx
uqadd. */
- return 262;
+ return 264;
}
}
else
@@ -7141,7 +7240,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110001xxxxx1xx011100xx
cmtst. */
- return 237;
+ return 239;
}
else
{
@@ -7149,7 +7248,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110001xxxxx1xx011101xx
cmeq. */
- return 277;
+ return 279;
}
}
}
@@ -7163,7 +7262,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110010xxxxx1xx011100xx
sqshl. */
- return 229;
+ return 231;
}
else
{
@@ -7171,7 +7270,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110010xxxxx1xx011101xx
uqshl. */
- return 269;
+ return 271;
}
}
else
@@ -7182,7 +7281,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110011xxxxx1x001110xxx
fmla. */
- return 245;
+ return 247;
}
else
{
@@ -7190,7 +7289,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110011xxxxx1x101110xxx
fmls. */
- return 254;
+ return 256;
}
}
}
@@ -7207,7 +7306,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110100xxxxx1xx011100xx
sqsub. */
- return 225;
+ return 227;
}
else
{
@@ -7215,7 +7314,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110100xxxxx1xx011101xx
uqsub. */
- return 265;
+ return 267;
}
}
else
@@ -7226,7 +7325,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110101xxxxx1xx011100xx
sminp. */
- return 241;
+ return 243;
}
else
{
@@ -7234,7 +7333,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110101xxxxx1xx011101xx
uminp. */
- return 281;
+ return 283;
}
}
}
@@ -7248,7 +7347,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110110xxxxx1xx011100xx
smin. */
- return 233;
+ return 235;
}
else
{
@@ -7256,7 +7355,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110110xxxxx1xx011101xx
umin. */
- return 273;
+ return 275;
}
}
else
@@ -7267,7 +7366,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110111xxxxx1x001110xxx
facge. */
- return 287;
+ return 289;
}
else
{
@@ -7275,7 +7374,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110111xxxxx1x101110xxx
facgt. */
- return 295;
+ return 297;
}
}
}
@@ -7299,7 +7398,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111000xxxxx100011100xx
and. */
- return 251;
+ return 253;
}
else
{
@@ -7307,7 +7406,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111000xxxxx100011101xx
eor. */
- return 290;
+ return 292;
}
}
else
@@ -7318,7 +7417,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111000xxxxx101011100xx
orr. */
- return 258;
+ return 260;
}
else
{
@@ -7326,7 +7425,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111000xxxxx101011101xx
bit. */
- return 297;
+ return 299;
}
}
}
@@ -7340,7 +7439,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111000xxxxx110011100xx
bic. */
- return 252;
+ return 254;
}
else
{
@@ -7348,7 +7447,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111000xxxxx110011101xx
bsl. */
- return 291;
+ return 293;
}
}
else
@@ -7359,7 +7458,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111000xxxxx111011100xx
orn. */
- return 260;
+ return 262;
}
else
{
@@ -7367,7 +7466,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111000xxxxx111011101xx
bif. */
- return 298;
+ return 300;
}
}
}
@@ -7380,7 +7479,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111001xxxxx1xx011100xx
mul. */
- return 239;
+ return 241;
}
else
{
@@ -7388,7 +7487,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111001xxxxx1xx011101xx
pmul. */
- return 279;
+ return 281;
}
}
}
@@ -7402,7 +7501,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111010xxxxx1xx011100xx
sqrshl. */
- return 231;
+ return 233;
}
else
{
@@ -7410,7 +7509,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111010xxxxx1xx011101xx
uqrshl. */
- return 271;
+ return 273;
}
}
else
@@ -7421,7 +7520,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111011xxxxx1xx011100xx
fmulx. */
- return 247;
+ return 249;
}
else
{
@@ -7429,7 +7528,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111011xxxxx1xx011101xx
fmul. */
- return 285;
+ return 287;
}
}
}
@@ -7446,7 +7545,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111100xxxxx1xx011100xx
cmge. */
- return 227;
+ return 229;
}
else
{
@@ -7454,7 +7553,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111100xxxxx1xx011101xx
cmhs. */
- return 267;
+ return 269;
}
}
else
@@ -7463,7 +7562,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111101xxxxx1xx01110xxx
addp. */
- return 243;
+ return 245;
}
}
else
@@ -7476,7 +7575,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111110xxxxx1xx011100xx
saba. */
- return 235;
+ return 237;
}
else
{
@@ -7484,7 +7583,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111110xxxxx1xx011101xx
uaba. */
- return 275;
+ return 277;
}
}
else
@@ -7497,7 +7596,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111111xxxxx1x0011100xx
frecps. */
- return 250;
+ return 252;
}
else
{
@@ -7505,7 +7604,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111111xxxxx1x0011101xx
fdiv. */
- return 289;
+ return 291;
}
}
else
@@ -7514,7 +7613,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx111111xxxxx1x101110xxx
frsqrts. */
- return 257;
+ return 259;
}
}
}
@@ -7531,7 +7630,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx11xxxxxxxxx1xx0111100x
fcsel. */
- return 648;
+ return 656;
}
else
{
@@ -7547,7 +7646,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110000xxxxx1xx0111101x
sqadd. */
- return 438;
+ return 444;
}
else
{
@@ -7555,7 +7654,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110001xxxxx1xx0111101x
cmtst. */
- return 452;
+ return 458;
}
}
else
@@ -7564,7 +7663,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx11001xxxxxx1xx0111101x
sqshl. */
- return 440;
+ return 446;
}
}
else
@@ -7573,7 +7672,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1101xxxxxxx1xx0111101x
sqsub. */
- return 439;
+ return 445;
}
}
else
@@ -7586,7 +7685,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1110x0xxxxx1xx0111101x
sqrshl. */
- return 441;
+ return 447;
}
else
{
@@ -7594,7 +7693,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1110x1xxxxx1xx0111101x
fmulx. */
- return 443;
+ return 449;
}
}
else
@@ -7605,7 +7704,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx11110xxxxxx1xx0111101x
cmge. */
- return 448;
+ return 454;
}
else
{
@@ -7615,7 +7714,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx11111xxxxxx1x00111101x
frecps. */
- return 445;
+ return 451;
}
else
{
@@ -7623,7 +7722,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx11111xxxxxx1x10111101x
frsqrts. */
- return 446;
+ return 452;
}
}
}
@@ -7644,7 +7743,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110000xxxxx1xx011111xx
uqadd. */
- return 453;
+ return 459;
}
else
{
@@ -7652,7 +7751,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110001xxxxx1xx011111xx
cmeq. */
- return 468;
+ return 474;
}
}
else
@@ -7661,7 +7760,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx11001xxxxxx1xx011111xx
uqshl. */
- return 455;
+ return 461;
}
}
else
@@ -7672,7 +7771,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx11010xxxxxx1xx011111xx
uqsub. */
- return 454;
+ return 460;
}
else
{
@@ -7682,7 +7781,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx11011xxxxxx1x0011111xx
facge. */
- return 459;
+ return 465;
}
else
{
@@ -7690,7 +7789,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx11011xxxxxx1x1011111xx
facgt. */
- return 462;
+ return 468;
}
}
}
@@ -7703,7 +7802,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1110xxxxxxx1xx011111xx
uqrshl. */
- return 456;
+ return 462;
}
else
{
@@ -7711,7 +7810,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1111xxxxxxx1xx011111xx
cmhs. */
- return 464;
+ return 470;
}
}
}
@@ -7909,7 +8008,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1x0xx0xxxxxxxx111100xx
movi. */
- return 120;
+ return 122;
}
else
{
@@ -7917,7 +8016,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1x0xx0xxxxxxxx111101xx
mvni. */
- return 127;
+ return 129;
}
}
else
@@ -7928,7 +8027,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1x1xx0xxxxxxxx111100xx
orr. */
- return 121;
+ return 123;
}
else
{
@@ -7936,7 +8035,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1x1xx0xxxxxxxx111101xx
bic. */
- return 128;
+ return 130;
}
}
}
@@ -7953,7 +8052,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx0xx1111100x
fmadd. */
- return 643;
+ return 651;
}
else
{
@@ -7961,7 +8060,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx0xxxxx1xx1111100x
fnmadd. */
- return 645;
+ return 653;
}
}
else
@@ -7976,7 +8075,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0xx000xxxxxxxx1111101x
fmla. */
- return 351;
+ return 355;
}
else
{
@@ -7984,7 +8083,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0xx010xxxxxxxx1111101x
fmls. */
- return 352;
+ return 356;
}
}
else
@@ -7995,7 +8094,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0xx100xxxxxxxx1111101x
sqdmlal. */
- return 346;
+ return 350;
}
else
{
@@ -8003,7 +8102,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0xx110xxxxxxxx1111101x
sqdmlsl. */
- return 347;
+ return 351;
}
}
}
@@ -8017,7 +8116,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1x00x0xxxxxxxx1111101x
sshr. */
- return 469;
+ return 477;
}
else
{
@@ -8025,7 +8124,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1x01x0xxxxxxxx1111101x
srshr. */
- return 471;
+ return 479;
}
}
else
@@ -8038,7 +8137,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1x1000xxxxxxxx1111101x
ssra. */
- return 470;
+ return 478;
}
else
{
@@ -8046,7 +8145,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1x1010xxxxxxxx1111101x
shl. */
- return 473;
+ return 481;
}
}
else
@@ -8057,7 +8156,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1x1100xxxxxxxx1111101x
srsra. */
- return 472;
+ return 480;
}
else
{
@@ -8065,7 +8164,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1x1110xxxxxxxx1111101x
sqshl. */
- return 474;
+ return 482;
}
}
}
@@ -8084,7 +8183,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxx0000xxxxxxxx111111xx
ushr. */
- return 479;
+ return 487;
}
else
{
@@ -8092,7 +8191,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxx0010xxxxxxxx111111xx
sri. */
- return 483;
+ return 491;
}
}
else
@@ -8103,7 +8202,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxx0100xxxxxxxx111111xx
urshr. */
- return 481;
+ return 489;
}
else
{
@@ -8111,7 +8210,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxx0110xxxxxxxx111111xx
sqshlu. */
- return 485;
+ return 493;
}
}
}
@@ -8125,7 +8224,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxx1000xxxxxxxx111111xx
usra. */
- return 480;
+ return 488;
}
else
{
@@ -8133,7 +8232,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxx1010xxxxxxxx111111xx
sli. */
- return 484;
+ return 492;
}
}
else
@@ -8144,7 +8243,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxx1100xxxxxxxx111111xx
ursra. */
- return 482;
+ return 490;
}
else
{
@@ -8152,7 +8251,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxx1110xxxxxxxx111111xx
uqshl. */
- return 486;
+ return 494;
}
}
}
@@ -8253,30 +8352,52 @@ aarch64_opcode_lookup_1 (uint32_t word)
}
else
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx0x1011xxxxxxxx11110xxx
- sqrdmulh. */
- return 106;
+ if (((word >> 29) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx0x1011xxxxxxxx111100xx
+ sqrdmulh. */
+ return 106;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx0x1011xxxxxxxx111101xx
+ sqrdmlah. */
+ return 119;
+ }
}
}
else
{
- if (((word >> 30) & 0x1) == 0)
+ if (((word >> 14) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx0x11x1xxxxxxxx11110x0x
- sqdmull. */
- return 103;
+ if (((word >> 30) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx0x1101xxxxxxxx11110x0x
+ sqdmull. */
+ return 103;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx0x1101xxxxxxxx11110x1x
+ sqdmull2. */
+ return 104;
+ }
}
else
{
/* 33222222222211111111110000000000
10987654321098765432109876543210
- xxxxxxxxxx0x11x1xxxxxxxx11110x1x
- sqdmull2. */
- return 104;
+ xxxxxxxxxx0x1111xxxxxxxx11110xxx
+ sqrdmlsh. */
+ return 120;
}
}
}
@@ -8295,7 +8416,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100x01xxxxxxxx111100xx
movi. */
- return 122;
+ return 124;
}
else
{
@@ -8303,7 +8424,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100x01xxxxxxxx111101xx
mvni. */
- return 129;
+ return 131;
}
}
else
@@ -8314,7 +8435,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101x01xxxxxxxx111100xx
orr. */
- return 123;
+ return 125;
}
else
{
@@ -8322,7 +8443,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101x01xxxxxxxx111101xx
bic. */
- return 130;
+ return 132;
}
}
}
@@ -8336,7 +8457,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx10x011xxxxxxxx111100xx
movi. */
- return 124;
+ return 126;
}
else
{
@@ -8344,7 +8465,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx10x011xxxxxxxx111101xx
mvni. */
- return 131;
+ return 133;
}
}
else
@@ -8357,7 +8478,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100111xxxxxxxx111100xx
movi. */
- return 125;
+ return 127;
}
else
{
@@ -8365,7 +8486,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100111xxxxxxxx111101xx
movi. */
- return 132;
+ return 134;
}
}
else
@@ -8376,7 +8497,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101111xxxxxxxx111100xx
fmov. */
- return 126;
+ return 128;
}
else
{
@@ -8384,7 +8505,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101111xxxxxxxx111101xx
fmov. */
- return 134;
+ return 136;
}
}
}
@@ -8402,7 +8523,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110xx1xxxxxxxx1111000x
rshrn. */
- return 307;
+ return 311;
}
else
{
@@ -8410,7 +8531,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110xx1xxxxxxxx1111001x
rshrn2. */
- return 308;
+ return 312;
}
}
else
@@ -8421,7 +8542,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110xx1xxxxxxxx1111010x
sqrshrun. */
- return 329;
+ return 333;
}
else
{
@@ -8429,7 +8550,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110xx1xxxxxxxx1111011x
sqrshrun2. */
- return 330;
+ return 334;
}
}
}
@@ -8445,7 +8566,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1110x1xxxxxxxx1111000x
sqrshrn. */
- return 311;
+ return 315;
}
else
{
@@ -8453,7 +8574,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1110x1xxxxxxxx1111001x
sqrshrn2. */
- return 312;
+ return 316;
}
}
else
@@ -8464,7 +8585,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1110x1xxxxxxxx1111010x
uqrshrn. */
- return 333;
+ return 337;
}
else
{
@@ -8472,7 +8593,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1110x1xxxxxxxx1111011x
uqrshrn2. */
- return 334;
+ return 338;
}
}
}
@@ -8484,7 +8605,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1111x1xxxxxxxx111100xx
fcvtzs. */
- return 318;
+ return 322;
}
else
{
@@ -8492,7 +8613,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1111x1xxxxxxxx111101xx
fcvtzu. */
- return 340;
+ return 344;
}
}
}
@@ -8511,7 +8632,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx0xx1111100x
fmsub. */
- return 644;
+ return 652;
}
else
{
@@ -8519,7 +8640,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxxxxxxx1xxxxx1xx1111100x
fnmsub. */
- return 646;
+ return 654;
}
}
else
@@ -8532,7 +8653,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0x0xx1xxxxxxxx1111101x
sqdmulh. */
- return 349;
+ return 353;
}
else
{
@@ -8544,7 +8665,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0x1001xxxxxxxx1111101x
fmul. */
- return 353;
+ return 357;
}
else
{
@@ -8552,7 +8673,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0x1011xxxxxxxx1111101x
sqrdmulh. */
- return 350;
+ return 354;
}
}
else
@@ -8561,7 +8682,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx0x11x1xxxxxxxx1111101x
sqdmull. */
- return 348;
+ return 352;
}
}
}
@@ -8575,7 +8696,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx100xx1xxxxxxxx1111101x
scvtf. */
- return 477;
+ return 485;
}
else
{
@@ -8583,7 +8704,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101xx1xxxxxxxx1111101x
sqshrn. */
- return 475;
+ return 483;
}
}
else
@@ -8594,7 +8715,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx11x0x1xxxxxxxx1111101x
sqrshrn. */
- return 476;
+ return 484;
}
else
{
@@ -8602,7 +8723,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx11x1x1xxxxxxxx1111101x
fcvtzs. */
- return 478;
+ return 486;
}
}
}
@@ -8612,11 +8733,33 @@ aarch64_opcode_lookup_1 (uint32_t word)
{
if (((word >> 10) & 0x1) == 0)
{
- /* 33222222222211111111110000000000
- 10987654321098765432109876543210
- xxxxxxxxxx0xxxx1xxxxxxxx111111xx
- fmulx. */
- return 354;
+ if (((word >> 13) & 0x1) == 0)
+ {
+ if (((word >> 14) & 0x1) == 0)
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx0xx001xxxxxxxx111111xx
+ fmulx. */
+ return 358;
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx0xx011xxxxxxxx111111xx
+ sqrdmlah. */
+ return 359;
+ }
+ }
+ else
+ {
+ /* 33222222222211111111110000000000
+ 10987654321098765432109876543210
+ xxxxxxxxxx0xx1x1xxxxxxxx111111xx
+ sqrdmlsh. */
+ return 360;
+ }
}
else
{
@@ -8630,7 +8773,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1000x1xxxxxxxx111111xx
sqshrun. */
- return 487;
+ return 495;
}
else
{
@@ -8638,7 +8781,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1001x1xxxxxxxx111111xx
ucvtf. */
- return 491;
+ return 499;
}
}
else
@@ -8647,7 +8790,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx101xx1xxxxxxxx111111xx
uqshrn. */
- return 489;
+ return 497;
}
}
else
@@ -8658,7 +8801,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx110xx1xxxxxxxx111111xx
sqrshrun. */
- return 488;
+ return 496;
}
else
{
@@ -8668,7 +8811,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1110x1xxxxxxxx111111xx
uqrshrn. */
- return 490;
+ return 498;
}
else
{
@@ -8676,7 +8819,7 @@ aarch64_opcode_lookup_1 (uint32_t word)
10987654321098765432109876543210
xxxxxxxxxx1111x1xxxxxxxx111111xx
fcvtzu. */
- return 492;
+ return 500;
}
}
}
@@ -8707,91 +8850,93 @@ aarch64_find_next_opcode (const aarch64_opcode *opcode)
int value;
switch (key)
{
- case 727: value = 731; break; /* stnp --> stp. */
- case 731: return NULL; /* stp --> NULL. */
- case 728: value = 732; break; /* ldnp --> ldp. */
- case 732: return NULL; /* ldp --> NULL. */
- case 943: value = 944; break; /* msr --> hint. */
- case 944: value = 951; break; /* hint --> clrex. */
- case 951: value = 952; break; /* clrex --> dsb. */
- case 952: value = 953; break; /* dsb --> dmb. */
- case 953: value = 954; break; /* dmb --> isb. */
- case 954: value = 955; break; /* isb --> sys. */
- case 955: value = 960; break; /* sys --> msr. */
- case 960: return NULL; /* msr --> NULL. */
- case 961: value = 962; break; /* sysl --> mrs. */
- case 962: return NULL; /* mrs --> NULL. */
- case 355: value = 356; break; /* st4 --> st1. */
- case 356: value = 357; break; /* st1 --> st2. */
- case 357: value = 358; break; /* st2 --> st3. */
- case 358: return NULL; /* st3 --> NULL. */
- case 363: value = 364; break; /* st4 --> st1. */
- case 364: value = 365; break; /* st1 --> st2. */
- case 365: value = 366; break; /* st2 --> st3. */
- case 366: return NULL; /* st3 --> NULL. */
- case 359: value = 360; break; /* ld4 --> ld1. */
- case 360: value = 361; break; /* ld1 --> ld2. */
- case 361: value = 362; break; /* ld2 --> ld3. */
- case 362: return NULL; /* ld3 --> NULL. */
- case 375: value = 377; break; /* ld1 --> ld1r. */
- case 377: return NULL; /* ld1r --> NULL. */
- case 379: value = 381; break; /* ld2 --> ld2r. */
- case 381: return NULL; /* ld2r --> NULL. */
- case 376: value = 378; break; /* ld3 --> ld3r. */
- case 378: return NULL; /* ld3r --> NULL. */
- case 380: value = 382; break; /* ld4 --> ld4r. */
- case 382: return NULL; /* ld4r --> NULL. */
- case 367: value = 368; break; /* ld4 --> ld1. */
- case 368: value = 369; break; /* ld1 --> ld2. */
- case 369: value = 370; break; /* ld2 --> ld3. */
- case 370: return NULL; /* ld3 --> NULL. */
- case 387: value = 389; break; /* ld1 --> ld1r. */
- case 389: return NULL; /* ld1r --> NULL. */
- case 388: value = 390; break; /* ld3 --> ld3r. */
- case 390: return NULL; /* ld3r --> NULL. */
- case 391: value = 393; break; /* ld2 --> ld2r. */
- case 393: return NULL; /* ld2r --> NULL. */
- case 392: value = 394; break; /* ld4 --> ld4r. */
- case 394: return NULL; /* ld4r --> NULL. */
- case 120: value = 299; break; /* movi --> sshr. */
- case 299: value = 301; break; /* sshr --> srshr. */
- case 301: return NULL; /* srshr --> NULL. */
- case 127: value = 319; break; /* mvni --> ushr. */
- case 319: value = 321; break; /* ushr --> urshr. */
- case 321: value = 323; break; /* urshr --> sri. */
- case 323: value = 325; break; /* sri --> sqshlu. */
- case 325: return NULL; /* sqshlu --> NULL. */
- case 121: value = 300; break; /* orr --> ssra. */
- case 300: value = 302; break; /* ssra --> srsra. */
- case 302: value = 303; break; /* srsra --> shl. */
- case 303: value = 304; break; /* shl --> sqshl. */
- case 304: return NULL; /* sqshl --> NULL. */
- case 128: value = 320; break; /* bic --> usra. */
- case 320: value = 322; break; /* usra --> ursra. */
- case 322: value = 324; break; /* ursra --> sli. */
- case 324: value = 326; break; /* sli --> uqshl. */
- case 326: return NULL; /* uqshl --> NULL. */
- case 122: value = 305; break; /* movi --> shrn. */
- case 305: value = 306; break; /* shrn --> shrn2. */
- case 306: value = 313; break; /* shrn2 --> sshll. */
- case 313: value = 315; break; /* sshll --> sshll2. */
- case 315: return NULL; /* sshll2 --> NULL. */
- case 129: value = 327; break; /* mvni --> sqshrun. */
- case 327: value = 328; break; /* sqshrun --> sqshrun2. */
- case 328: value = 335; break; /* sqshrun2 --> ushll. */
- case 335: value = 337; break; /* ushll --> ushll2. */
- case 337: return NULL; /* ushll2 --> NULL. */
- case 123: value = 309; break; /* orr --> sqshrn. */
- case 309: value = 310; break; /* sqshrn --> sqshrn2. */
- case 310: return NULL; /* sqshrn2 --> NULL. */
- case 130: value = 331; break; /* bic --> uqshrn. */
- case 331: value = 332; break; /* uqshrn --> uqshrn2. */
- case 332: return NULL; /* uqshrn2 --> NULL. */
- case 125: value = 317; break; /* movi --> scvtf. */
- case 317: return NULL; /* scvtf --> NULL. */
- case 132: value = 133; break; /* movi --> movi. */
- case 133: value = 339; break; /* movi --> ucvtf. */
- case 339: return NULL; /* ucvtf --> NULL. */
+ case 741: value = 745; break; /* stnp --> stp. */
+ case 745: return NULL; /* stp --> NULL. */
+ case 739: value = 740; break; /* stllrb --> stllrh. */
+ case 740: return NULL; /* stllrh --> NULL. */
+ case 742: value = 746; break; /* ldnp --> ldp. */
+ case 746: return NULL; /* ldp --> NULL. */
+ case 957: value = 958; break; /* msr --> hint. */
+ case 958: value = 965; break; /* hint --> clrex. */
+ case 965: value = 966; break; /* clrex --> dsb. */
+ case 966: value = 967; break; /* dsb --> dmb. */
+ case 967: value = 968; break; /* dmb --> isb. */
+ case 968: value = 969; break; /* isb --> sys. */
+ case 969: value = 974; break; /* sys --> msr. */
+ case 974: return NULL; /* msr --> NULL. */
+ case 975: value = 976; break; /* sysl --> mrs. */
+ case 976: return NULL; /* mrs --> NULL. */
+ case 361: value = 362; break; /* st4 --> st1. */
+ case 362: value = 363; break; /* st1 --> st2. */
+ case 363: value = 364; break; /* st2 --> st3. */
+ case 364: return NULL; /* st3 --> NULL. */
+ case 369: value = 370; break; /* st4 --> st1. */
+ case 370: value = 371; break; /* st1 --> st2. */
+ case 371: value = 372; break; /* st2 --> st3. */
+ case 372: return NULL; /* st3 --> NULL. */
+ case 365: value = 366; break; /* ld4 --> ld1. */
+ case 366: value = 367; break; /* ld1 --> ld2. */
+ case 367: value = 368; break; /* ld2 --> ld3. */
+ case 368: return NULL; /* ld3 --> NULL. */
+ case 381: value = 383; break; /* ld1 --> ld1r. */
+ case 383: return NULL; /* ld1r --> NULL. */
+ case 385: value = 387; break; /* ld2 --> ld2r. */
+ case 387: return NULL; /* ld2r --> NULL. */
+ case 382: value = 384; break; /* ld3 --> ld3r. */
+ case 384: return NULL; /* ld3r --> NULL. */
+ case 386: value = 388; break; /* ld4 --> ld4r. */
+ case 388: return NULL; /* ld4r --> NULL. */
+ case 373: value = 374; break; /* ld4 --> ld1. */
+ case 374: value = 375; break; /* ld1 --> ld2. */
+ case 375: value = 376; break; /* ld2 --> ld3. */
+ case 376: return NULL; /* ld3 --> NULL. */
+ case 393: value = 395; break; /* ld1 --> ld1r. */
+ case 395: return NULL; /* ld1r --> NULL. */
+ case 394: value = 396; break; /* ld3 --> ld3r. */
+ case 396: return NULL; /* ld3r --> NULL. */
+ case 397: value = 399; break; /* ld2 --> ld2r. */
+ case 399: return NULL; /* ld2r --> NULL. */
+ case 398: value = 400; break; /* ld4 --> ld4r. */
+ case 400: return NULL; /* ld4r --> NULL. */
+ case 122: value = 303; break; /* movi --> sshr. */
+ case 303: value = 305; break; /* sshr --> srshr. */
+ case 305: return NULL; /* srshr --> NULL. */
+ case 129: value = 323; break; /* mvni --> ushr. */
+ case 323: value = 325; break; /* ushr --> urshr. */
+ case 325: value = 327; break; /* urshr --> sri. */
+ case 327: value = 329; break; /* sri --> sqshlu. */
+ case 329: return NULL; /* sqshlu --> NULL. */
+ case 123: value = 304; break; /* orr --> ssra. */
+ case 304: value = 306; break; /* ssra --> srsra. */
+ case 306: value = 307; break; /* srsra --> shl. */
+ case 307: value = 308; break; /* shl --> sqshl. */
+ case 308: return NULL; /* sqshl --> NULL. */
+ case 130: value = 324; break; /* bic --> usra. */
+ case 324: value = 326; break; /* usra --> ursra. */
+ case 326: value = 328; break; /* ursra --> sli. */
+ case 328: value = 330; break; /* sli --> uqshl. */
+ case 330: return NULL; /* uqshl --> NULL. */
+ case 124: value = 309; break; /* movi --> shrn. */
+ case 309: value = 310; break; /* shrn --> shrn2. */
+ case 310: value = 317; break; /* shrn2 --> sshll. */
+ case 317: value = 319; break; /* sshll --> sshll2. */
+ case 319: return NULL; /* sshll2 --> NULL. */
+ case 131: value = 331; break; /* mvni --> sqshrun. */
+ case 331: value = 332; break; /* sqshrun --> sqshrun2. */
+ case 332: value = 339; break; /* sqshrun2 --> ushll. */
+ case 339: value = 341; break; /* ushll --> ushll2. */
+ case 341: return NULL; /* ushll2 --> NULL. */
+ case 125: value = 313; break; /* orr --> sqshrn. */
+ case 313: value = 314; break; /* sqshrn --> sqshrn2. */
+ case 314: return NULL; /* sqshrn2 --> NULL. */
+ case 132: value = 335; break; /* bic --> uqshrn. */
+ case 335: value = 336; break; /* uqshrn --> uqshrn2. */
+ case 336: return NULL; /* uqshrn2 --> NULL. */
+ case 127: value = 321; break; /* movi --> scvtf. */
+ case 321: return NULL; /* scvtf --> NULL. */
+ case 134: value = 135; break; /* movi --> movi. */
+ case 135: value = 343; break; /* movi --> ucvtf. */
+ case 343: return NULL; /* ucvtf --> NULL. */
default: return NULL;
}
@@ -8816,91 +8961,91 @@ aarch64_find_alias_opcode (const aarch64_opcode *opcode)
case 20: value = 21; break; /* adds --> cmn. */
case 22: value = 23; break; /* sub --> neg. */
case 24: value = 26; break; /* subs --> negs. */
- case 138: value = 139; break; /* umov --> mov. */
- case 140: value = 141; break; /* ins --> mov. */
+ case 140: value = 141; break; /* umov --> mov. */
case 142: value = 143; break; /* ins --> mov. */
- case 203: value = 204; break; /* not --> mvn. */
- case 258: value = 259; break; /* orr --> mov. */
- case 313: value = 314; break; /* sshll --> sxtl. */
- case 315: value = 316; break; /* sshll2 --> sxtl2. */
- case 335: value = 336; break; /* ushll --> uxtl. */
- case 337: value = 338; break; /* ushll2 --> uxtl2. */
- case 430: value = 431; break; /* dup --> mov. */
- case 493: value = 498; break; /* sbfm --> sxtw. */
- case 500: value = 502; break; /* bfm --> bfxil. */
- case 503: value = 507; break; /* ubfm --> uxth. */
- case 525: value = 527; break; /* csinc --> cset. */
- case 528: value = 530; break; /* csinv --> csetm. */
- case 531: value = 532; break; /* csneg --> cneg. */
- case 556: value = 557; break; /* lslv --> lsl. */
- case 558: value = 559; break; /* lsrv --> lsr. */
- case 560: value = 561; break; /* asrv --> asr. */
- case 562: value = 563; break; /* rorv --> ror. */
- case 572: value = 573; break; /* madd --> mul. */
- case 574: value = 575; break; /* msub --> mneg. */
- case 576: value = 577; break; /* smaddl --> smull. */
- case 578: value = 579; break; /* smsubl --> smnegl. */
- case 581: value = 582; break; /* umaddl --> umull. */
- case 583: value = 584; break; /* umsubl --> umnegl. */
- case 594: value = 595; break; /* extr --> ror. */
- case 745: value = 746; break; /* and --> bic. */
- case 747: value = 748; break; /* orr --> mov. */
- case 750: value = 751; break; /* ands --> tst. */
- case 754: value = 756; break; /* orr --> uxtw. */
- case 757: value = 758; break; /* orn --> mvn. */
- case 761: value = 762; break; /* ands --> tst. */
- case 792: value = 888; break; /* ldaddb --> staddb. */
- case 793: value = 889; break; /* ldaddh --> staddh. */
- case 794: value = 890; break; /* ldadd --> stadd. */
- case 796: value = 891; break; /* ldaddlb --> staddlb. */
- case 799: value = 892; break; /* ldaddlh --> staddlh. */
- case 802: value = 893; break; /* ldaddl --> staddl. */
- case 804: value = 894; break; /* ldclrb --> stclrb. */
- case 805: value = 895; break; /* ldclrh --> stclrh. */
- case 806: value = 896; break; /* ldclr --> stclr. */
- case 808: value = 897; break; /* ldclrlb --> stclrlb. */
- case 811: value = 898; break; /* ldclrlh --> stclrlh. */
- case 814: value = 899; break; /* ldclrl --> stclrl. */
- case 816: value = 900; break; /* ldeorb --> steorb. */
- case 817: value = 901; break; /* ldeorh --> steorh. */
- case 818: value = 902; break; /* ldeor --> steor. */
- case 820: value = 903; break; /* ldeorlb --> steorlb. */
- case 823: value = 904; break; /* ldeorlh --> steorlh. */
- case 826: value = 905; break; /* ldeorl --> steorl. */
- case 828: value = 906; break; /* ldsetb --> stsetb. */
- case 829: value = 907; break; /* ldseth --> stseth. */
- case 830: value = 908; break; /* ldset --> stset. */
- case 832: value = 909; break; /* ldsetlb --> stsetlb. */
- case 835: value = 910; break; /* ldsetlh --> stsetlh. */
- case 838: value = 911; break; /* ldsetl --> stsetl. */
- case 840: value = 912; break; /* ldsmaxb --> stsmaxb. */
- case 841: value = 913; break; /* ldsmaxh --> stsmaxh. */
- case 842: value = 914; break; /* ldsmax --> stsmax. */
- case 844: value = 915; break; /* ldsmaxlb --> stsmaxlb. */
- case 847: value = 916; break; /* ldsmaxlh --> stsmaxlh. */
- case 850: value = 917; break; /* ldsmaxl --> stsmaxl. */
- case 852: value = 918; break; /* ldsminb --> stsminb. */
- case 853: value = 919; break; /* ldsminh --> stsminh. */
- case 854: value = 920; break; /* ldsmin --> stsmin. */
- case 856: value = 921; break; /* ldsminlb --> stsminlb. */
- case 859: value = 922; break; /* ldsminlh --> stsminlh. */
- case 862: value = 923; break; /* ldsminl --> stsminl. */
- case 864: value = 924; break; /* ldumaxb --> stumaxb. */
- case 865: value = 925; break; /* ldumaxh --> stumaxh. */
- case 866: value = 926; break; /* ldumax --> stumax. */
- case 868: value = 927; break; /* ldumaxlb --> stumaxlb. */
- case 871: value = 928; break; /* ldumaxlh --> stumaxlh. */
- case 874: value = 929; break; /* ldumaxl --> stumaxl. */
- case 876: value = 930; break; /* lduminb --> stuminb. */
- case 877: value = 931; break; /* lduminh --> stuminh. */
- case 878: value = 932; break; /* ldumin --> stumin. */
- case 880: value = 933; break; /* lduminlb --> stuminlb. */
- case 883: value = 934; break; /* lduminlh --> stuminlh. */
- case 886: value = 935; break; /* lduminl --> stuminl. */
- case 936: value = 937; break; /* movn --> mov. */
- case 938: value = 939; break; /* movz --> mov. */
- case 944: value = 950; break; /* hint --> sevl. */
- case 955: value = 959; break; /* sys --> tlbi. */
+ case 144: value = 145; break; /* ins --> mov. */
+ case 205: value = 206; break; /* not --> mvn. */
+ case 260: value = 261; break; /* orr --> mov. */
+ case 317: value = 318; break; /* sshll --> sxtl. */
+ case 319: value = 320; break; /* sshll2 --> sxtl2. */
+ case 339: value = 340; break; /* ushll --> uxtl. */
+ case 341: value = 342; break; /* ushll2 --> uxtl2. */
+ case 436: value = 437; break; /* dup --> mov. */
+ case 501: value = 506; break; /* sbfm --> sxtw. */
+ case 508: value = 510; break; /* bfm --> bfxil. */
+ case 511: value = 515; break; /* ubfm --> uxth. */
+ case 533: value = 535; break; /* csinc --> cset. */
+ case 536: value = 538; break; /* csinv --> csetm. */
+ case 539: value = 540; break; /* csneg --> cneg. */
+ case 564: value = 565; break; /* lslv --> lsl. */
+ case 566: value = 567; break; /* lsrv --> lsr. */
+ case 568: value = 569; break; /* asrv --> asr. */
+ case 570: value = 571; break; /* rorv --> ror. */
+ case 580: value = 581; break; /* madd --> mul. */
+ case 582: value = 583; break; /* msub --> mneg. */
+ case 584: value = 585; break; /* smaddl --> smull. */
+ case 586: value = 587; break; /* smsubl --> smnegl. */
+ case 589: value = 590; break; /* umaddl --> umull. */
+ case 591: value = 592; break; /* umsubl --> umnegl. */
+ case 602: value = 603; break; /* extr --> ror. */
+ case 759: value = 760; break; /* and --> bic. */
+ case 761: value = 762; break; /* orr --> mov. */
+ case 764: value = 765; break; /* ands --> tst. */
+ case 768: value = 770; break; /* orr --> uxtw. */
+ case 771: value = 772; break; /* orn --> mvn. */
+ case 775: value = 776; break; /* ands --> tst. */
+ case 806: value = 902; break; /* ldaddb --> staddb. */
+ case 807: value = 903; break; /* ldaddh --> staddh. */
+ case 808: value = 904; break; /* ldadd --> stadd. */
+ case 810: value = 905; break; /* ldaddlb --> staddlb. */
+ case 813: value = 906; break; /* ldaddlh --> staddlh. */
+ case 816: value = 907; break; /* ldaddl --> staddl. */
+ case 818: value = 908; break; /* ldclrb --> stclrb. */
+ case 819: value = 909; break; /* ldclrh --> stclrh. */
+ case 820: value = 910; break; /* ldclr --> stclr. */
+ case 822: value = 911; break; /* ldclrlb --> stclrlb. */
+ case 825: value = 912; break; /* ldclrlh --> stclrlh. */
+ case 828: value = 913; break; /* ldclrl --> stclrl. */
+ case 830: value = 914; break; /* ldeorb --> steorb. */
+ case 831: value = 915; break; /* ldeorh --> steorh. */
+ case 832: value = 916; break; /* ldeor --> steor. */
+ case 834: value = 917; break; /* ldeorlb --> steorlb. */
+ case 837: value = 918; break; /* ldeorlh --> steorlh. */
+ case 840: value = 919; break; /* ldeorl --> steorl. */
+ case 842: value = 920; break; /* ldsetb --> stsetb. */
+ case 843: value = 921; break; /* ldseth --> stseth. */
+ case 844: value = 922; break; /* ldset --> stset. */
+ case 846: value = 923; break; /* ldsetlb --> stsetlb. */
+ case 849: value = 924; break; /* ldsetlh --> stsetlh. */
+ case 852: value = 925; break; /* ldsetl --> stsetl. */
+ case 854: value = 926; break; /* ldsmaxb --> stsmaxb. */
+ case 855: value = 927; break; /* ldsmaxh --> stsmaxh. */
+ case 856: value = 928; break; /* ldsmax --> stsmax. */
+ case 858: value = 929; break; /* ldsmaxlb --> stsmaxlb. */
+ case 861: value = 930; break; /* ldsmaxlh --> stsmaxlh. */
+ case 864: value = 931; break; /* ldsmaxl --> stsmaxl. */
+ case 866: value = 932; break; /* ldsminb --> stsminb. */
+ case 867: value = 933; break; /* ldsminh --> stsminh. */
+ case 868: value = 934; break; /* ldsmin --> stsmin. */
+ case 870: value = 935; break; /* ldsminlb --> stsminlb. */
+ case 873: value = 936; break; /* ldsminlh --> stsminlh. */
+ case 876: value = 937; break; /* ldsminl --> stsminl. */
+ case 878: value = 938; break; /* ldumaxb --> stumaxb. */
+ case 879: value = 939; break; /* ldumaxh --> stumaxh. */
+ case 880: value = 940; break; /* ldumax --> stumax. */
+ case 882: value = 941; break; /* ldumaxlb --> stumaxlb. */
+ case 885: value = 942; break; /* ldumaxlh --> stumaxlh. */
+ case 888: value = 943; break; /* ldumaxl --> stumaxl. */
+ case 890: value = 944; break; /* lduminb --> stuminb. */
+ case 891: value = 945; break; /* lduminh --> stuminh. */
+ case 892: value = 946; break; /* ldumin --> stumin. */
+ case 894: value = 947; break; /* lduminlb --> stuminlb. */
+ case 897: value = 948; break; /* lduminlh --> stuminlh. */
+ case 900: value = 949; break; /* lduminl --> stuminl. */
+ case 950: value = 951; break; /* movn --> mov. */
+ case 952: value = 953; break; /* movz --> mov. */
+ case 958: value = 964; break; /* hint --> sevl. */
+ case 969: value = 973; break; /* sys --> tlbi. */
default: return NULL;
}
@@ -8916,28 +9061,28 @@ aarch64_find_next_alias_opcode (const aarch64_opcode *opcode)
switch (key)
{
case 26: value = 25; break; /* negs --> cmp. */
- case 498: value = 497; break; /* sxtw --> sxth. */
- case 497: value = 496; break; /* sxth --> sxtb. */
- case 496: value = 499; break; /* sxtb --> asr. */
- case 499: value = 495; break; /* asr --> sbfx. */
- case 495: value = 494; break; /* sbfx --> sbfiz. */
- case 502: value = 501; break; /* bfxil --> bfi. */
- case 507: value = 506; break; /* uxth --> uxtb. */
- case 506: value = 509; break; /* uxtb --> lsr. */
- case 509: value = 508; break; /* lsr --> lsl. */
- case 508: value = 505; break; /* lsl --> ubfx. */
- case 505: value = 504; break; /* ubfx --> ubfiz. */
- case 527: value = 526; break; /* cset --> cinc. */
- case 530: value = 529; break; /* csetm --> cinv. */
- case 756: value = 755; break; /* uxtw --> mov. */
- case 950: value = 949; break; /* sevl --> sev. */
- case 949: value = 948; break; /* sev --> wfi. */
- case 948: value = 947; break; /* wfi --> wfe. */
- case 947: value = 946; break; /* wfe --> yield. */
- case 946: value = 945; break; /* yield --> nop. */
- case 959: value = 958; break; /* tlbi --> ic. */
- case 958: value = 957; break; /* ic --> dc. */
- case 957: value = 956; break; /* dc --> at. */
+ case 506: value = 505; break; /* sxtw --> sxth. */
+ case 505: value = 504; break; /* sxth --> sxtb. */
+ case 504: value = 507; break; /* sxtb --> asr. */
+ case 507: value = 503; break; /* asr --> sbfx. */
+ case 503: value = 502; break; /* sbfx --> sbfiz. */
+ case 510: value = 509; break; /* bfxil --> bfi. */
+ case 515: value = 514; break; /* uxth --> uxtb. */
+ case 514: value = 517; break; /* uxtb --> lsr. */
+ case 517: value = 516; break; /* lsr --> lsl. */
+ case 516: value = 513; break; /* lsl --> ubfx. */
+ case 513: value = 512; break; /* ubfx --> ubfiz. */
+ case 535: value = 534; break; /* cset --> cinc. */
+ case 538: value = 537; break; /* csetm --> cinv. */
+ case 770: value = 769; break; /* uxtw --> mov. */
+ case 964: value = 963; break; /* sevl --> sev. */
+ case 963: value = 962; break; /* sev --> wfi. */
+ case 962: value = 961; break; /* wfi --> wfe. */
+ case 961: value = 960; break; /* wfe --> yield. */
+ case 960: value = 959; break; /* yield --> nop. */
+ case 973: value = 972; break; /* tlbi --> ic. */
+ case 972: value = 971; break; /* ic --> dc. */
+ case 971: value = 970; break; /* dc --> at. */
default: return NULL;
}
diff --git a/opcodes/aarch64-opc-2.c b/opcodes/aarch64-opc-2.c
index 4a9c6c3772b..20b8ae84e1a 100644
--- a/opcodes/aarch64-opc-2.c
+++ b/opcodes/aarch64-opc-2.c
@@ -121,73 +121,73 @@ const struct aarch64_operand aarch64_operands[] =
static const unsigned op_enum_table [] =
{
0,
- 660,
- 661,
- 662,
- 665,
- 666,
- 667,
668,
669,
- 663,
- 664,
670,
+ 673,
+ 674,
+ 675,
+ 676,
+ 677,
671,
- 693,
- 694,
- 695,
- 698,
- 699,
- 700,
+ 672,
+ 678,
+ 679,
701,
702,
- 696,
- 697,
703,
+ 706,
+ 707,
+ 708,
+ 709,
+ 710,
704,
- 741,
- 742,
- 743,
- 744,
+ 705,
+ 711,
+ 712,
+ 755,
+ 756,
+ 757,
+ 758,
12,
+ 518,
+ 519,
+ 950,
+ 952,
+ 954,
+ 762,
+ 953,
+ 951,
+ 261,
+ 507,
+ 517,
+ 516,
+ 760,
+ 513,
510,
- 511,
- 936,
- 938,
- 940,
- 748,
- 939,
- 937,
- 259,
- 499,
- 509,
- 508,
- 746,
- 505,
+ 503,
502,
- 495,
- 494,
- 501,
- 504,
- 506,
- 507,
- 756,
- 526,
- 529,
- 532,
- 527,
- 530,
- 626,
- 160,
- 161,
+ 509,
+ 512,
+ 514,
+ 515,
+ 770,
+ 534,
+ 537,
+ 540,
+ 535,
+ 538,
+ 634,
162,
163,
- 420,
- 595,
- 314,
- 316,
- 336,
- 338,
+ 164,
+ 165,
+ 426,
+ 603,
+ 318,
+ 320,
+ 340,
+ 342,
};
/* Given the opcode enumerator OP, return the pointer to the corresponding
diff --git a/opcodes/aarch64-opc.c b/opcodes/aarch64-opc.c
index 5ea138490b7..9880142873e 100644
--- a/opcodes/aarch64-opc.c
+++ b/opcodes/aarch64-opc.c
@@ -2723,6 +2723,12 @@ aarch64_print_operand (char *buf, size_t size, bfd_vma pc,
#endif
#define F_DEPRECATED 0x1 /* Deprecated system register. */
+#ifdef F_ARCHEXT
+#undef F_ARCHEXT
+#endif
+#define F_ARCHEXT 0x2 /* Architecture dependent system register. */
+
+
/* TODO there are two more issues need to be resolved
1. handle read-only and write-only system registers
2. handle cpu-implementation-defined system registers. */
@@ -2734,6 +2740,7 @@ const aarch64_sys_reg aarch64_sys_regs [] =
{ "spsel", CPEN_(0,C2,0), 0 },
{ "daif", CPEN_(3,C2,1), 0 },
{ "currentel", CPEN_(0,C2,2), 0 }, /* RO */
+ { "pan", CPEN_(0,C2,3), F_ARCHEXT },
{ "nzcv", CPEN_(3,C2,0), 0 },
{ "fpcr", CPEN_(3,C4,0), 0 },
{ "fpsr", CPEN_(3,C4,1), 0 },
@@ -2765,6 +2772,7 @@ const aarch64_sys_reg aarch64_sys_regs [] =
{ "id_mmfr1_el1", CPENC(3,0,C0,C1,5), 0 }, /* RO */
{ "id_mmfr2_el1", CPENC(3,0,C0,C1,6), 0 }, /* RO */
{ "id_mmfr3_el1", CPENC(3,0,C0,C1,7), 0 }, /* RO */
+ { "id_mmfr4_el1", CPENC(3,0,C0,C2,6), 0 }, /* RO */
{ "id_isar0_el1", CPENC(3,0,C0,C2,0), 0 }, /* RO */
{ "id_isar1_el1", CPENC(3,0,C0,C2,1), 0 }, /* RO */
{ "id_isar2_el1", CPENC(3,0,C0,C2,2), 0 }, /* RO */
@@ -3043,14 +3051,45 @@ aarch64_sys_reg_deprecated_p (const aarch64_sys_reg *reg)
return (reg->flags & F_DEPRECATED) != 0;
}
+bfd_boolean
+aarch64_sys_reg_supported_p (const aarch64_feature_set features,
+ const aarch64_sys_reg *reg)
+{
+ if (!(reg->flags & F_ARCHEXT))
+ return TRUE;
+
+ /* PAN. Values are from aarch64_sys_regs. */
+ if (reg->value == CPEN_(0,C2,3)
+ && !AARCH64_CPU_HAS_FEATURE (features, AARCH64_FEATURE_PAN))
+ return FALSE;
+
+ return TRUE;
+}
+
const aarch64_sys_reg aarch64_pstatefields [] =
{
{ "spsel", 0x05, 0 },
{ "daifset", 0x1e, 0 },
{ "daifclr", 0x1f, 0 },
+ { "pan", 0x04, F_ARCHEXT },
{ 0, CPENC(0,0,0,0,0), 0 },
};
+bfd_boolean
+aarch64_pstatefield_supported_p (const aarch64_feature_set features,
+ const aarch64_sys_reg *reg)
+{
+ if (!(reg->flags & F_ARCHEXT))
+ return TRUE;
+
+ /* PAN. Values are from aarch64_pstatefields. */
+ if (reg->value == 0x04
+ && !AARCH64_CPU_HAS_FEATURE (features, AARCH64_FEATURE_PAN))
+ return FALSE;
+
+ return TRUE;
+}
+
const aarch64_sys_ins_reg aarch64_sys_regs_ic[] =
{
{ "ialluis", CPENS(0,C7,C1,0), 0 },
diff --git a/opcodes/aarch64-tbl.h b/opcodes/aarch64-tbl.h
index 228ce3529a7..cbb951ba524 100644
--- a/opcodes/aarch64-tbl.h
+++ b/opcodes/aarch64-tbl.h
@@ -1222,6 +1222,10 @@ static const aarch64_feature_set aarch64_feature_crc =
AARCH64_FEATURE (AARCH64_FEATURE_CRC, 0);
static const aarch64_feature_set aarch64_feature_lse =
AARCH64_FEATURE (AARCH64_FEATURE_LSE, 0);
+static const aarch64_feature_set aarch64_feature_lor =
+ AARCH64_FEATURE (AARCH64_FEATURE_LOR, 0);
+static const aarch64_feature_set aarch64_feature_rdma =
+ AARCH64_FEATURE (AARCH64_FEATURE_RDMA, 0);
#define CORE &aarch64_feature_v8
#define FP &aarch64_feature_fp
@@ -1229,6 +1233,8 @@ static const aarch64_feature_set aarch64_feature_lse =
#define CRYPTO &aarch64_feature_crypto
#define CRC &aarch64_feature_crc
#define LSE &aarch64_feature_lse
+#define LOR &aarch64_feature_lor
+#define RDMA &aarch64_feature_rdma
struct aarch64_opcode aarch64_opcode_table[] =
{
@@ -1358,6 +1364,8 @@ struct aarch64_opcode aarch64_opcode_table[] =
{"umull", 0x2f00a000, 0xff00f400, asimdelem, 0, SIMD, OP3 (Vd, Vn, Em), QL_ELEMENT_L, F_SIZEQ},
{"umull2", 0x6f00a000, 0xff00f400, asimdelem, 0, SIMD, OP3 (Vd, Vn, Em), QL_ELEMENT_L2, F_SIZEQ},
{"fmulx", 0x2f809000, 0xbf80f400, asimdelem, 0, SIMD, OP3 (Vd, Vn, Em), QL_ELEMENT_FP, F_SIZEQ},
+ {"sqrdmlah", 0x2f00d000, 0xbf00f400, asimdelem, 0, RDMA, OP3 (Vd, Vn, Em), QL_ELEMENT, F_SIZEQ},
+ {"sqrdmlsh", 0x2f00f000, 0xbf00f400, asimdelem, 0, RDMA, OP3 (Vd, Vn, Em), QL_ELEMENT, F_SIZEQ},
/* AdvSIMD EXT. */
{"ext", 0x2e000000, 0xbfe0c400, asimdext, 0, SIMD, OP4 (Vd, Vn, Vm, IDX), QL_VEXT, F_SIZEQ},
/* AdvSIMD modified immediate. */
@@ -1544,6 +1552,9 @@ struct aarch64_opcode aarch64_opcode_table[] =
{"fminp", 0x2ea0f400, 0xbfa0fc00, asimdsame, 0, SIMD, OP3 (Vd, Vn, Vm), QL_V3SAMESD, F_SIZEQ},
{"bit", 0x2ea01c00, 0xbfe0fc00, asimdsame, 0, SIMD, OP3 (Vd, Vn, Vm), QL_V3SAMEB, F_SIZEQ},
{"bif", 0x2ee01c00, 0xbfe0fc00, asimdsame, 0, SIMD, OP3 (Vd, Vn, Vm), QL_V3SAMEB, F_SIZEQ},
+ /* AdvSIMD three same extension. */
+ {"sqrdmlah", 0x2e008400, 0xbf20fe00, asimdsame, 0, RDMA, OP3 (Vd, Vn, Vm), QL_V3SAMEHS, F_SIZEQ},
+ {"sqrdmlsh", 0x2e008c00, 0xbf20fe00, asimdsame, 0, RDMA, OP3 (Vd, Vn, Vm), QL_V3SAMEHS, F_SIZEQ},
/* AdvSIMD shift by immediate. */
{"sshr", 0xf000400, 0xbf80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT, 0},
{"ssra", 0xf001400, 0xbf80fc00, asimdshf, 0, SIMD, OP3 (Vd, Vn, IMM_VLSR), QL_VSHIFT, 0},
@@ -1604,6 +1615,8 @@ struct aarch64_opcode aarch64_opcode_table[] =
{"fmls", 0x5f805000, 0xff80f400, asisdelem, 0, SIMD, OP3 (Sd, Sn, Em), QL_FP3, F_SSIZE},
{"fmul", 0x5f809000, 0xff80f400, asisdelem, 0, SIMD, OP3 (Sd, Sn, Em), QL_FP3, F_SSIZE},
{"fmulx", 0x7f809000, 0xff80f400, asisdelem, 0, SIMD, OP3 (Sd, Sn, Em), QL_FP3, F_SSIZE},
+ {"sqrdmlah", 0x7f00d000, 0xff00f400, asisdelem, 0, RDMA, OP3 (Sd, Sn, Em), QL_SISD_HS, F_SSIZE},
+ {"sqrdmlsh", 0x7f00f000, 0xff00f400, asisdelem, 0, RDMA, OP3 (Sd, Sn, Em), QL_SISD_HS, F_SSIZE},
/* AdvSIMD load/store multiple structures. */
{"st4", 0xc000000, 0xbfff0000, asisdlse, 0, SIMD, OP2 (LVt, SIMD_ADDR_SIMPLE), QL_SIMD_LDST, F_SIZEQ | F_OD(4)},
{"st1", 0xc000000, 0xbfff0000, asisdlse, 0, SIMD, OP2 (LVt, SIMD_ADDR_SIMPLE), QL_SIMD_LDST_ANY, F_SIZEQ | F_OD(1)},
@@ -1726,6 +1739,9 @@ struct aarch64_opcode aarch64_opcode_table[] =
{"urshl", 0x7ee05400, 0xffe0fc00, asisdsame, 0, SIMD, OP3 (Sd, Sn, Sm), QL_S_3SAMED, F_SSIZE},
{"sub", 0x7ee08400, 0xffe0fc00, asisdsame, 0, SIMD, OP3 (Sd, Sn, Sm), QL_S_3SAMED, F_SSIZE},
{"cmeq", 0x7ee08c00, 0xffe0fc00, asisdsame, 0, SIMD, OP3 (Sd, Sn, Sm), QL_S_3SAMED, F_SSIZE},
+ /* AdvSIMDs scalar three same extension. */
+ {"sqrdmlah", 0x7e008400, 0xff20fc00, asimdsame, 0, RDMA, OP3 (Sd, Sn, Sm), QL_SISD_HS, F_SSIZE},
+ {"sqrdmlsh", 0x7e008c00, 0xff20fc00, asimdsame, 0, RDMA, OP3 (Sd, Sn, Sm), QL_SISD_HS, F_SSIZE},
/* AdvSIMD scalar shift by immediate. */
{"sshr", 0x5f000400, 0xff80fc00, asisdshf, 0, SIMD, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_D, 0},
{"ssra", 0x5f001400, 0xff80fc00, asisdshf, 0, SIMD, OP3 (Sd, Sn, IMM_VLSR), QL_SSHIFT_D, 0},
@@ -2017,6 +2033,13 @@ struct aarch64_opcode aarch64_opcode_table[] =
{"ldaxp", 0x887f8000, 0xbfe08000, ldstexcl, 0, CORE, OP3 (Rt, Rt2, ADDR_SIMPLE), QL_R2NIL, F_GPRSIZE_IN_Q},
{"stlr", 0x889ffc00, 0xbfe08000, ldstexcl, 0, CORE, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL, F_GPRSIZE_IN_Q},
{"ldar", 0x88dffc00, 0xbfeffc00, ldstexcl, 0, CORE, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL, F_GPRSIZE_IN_Q},
+ /* Limited Ordering Regions load/store instructions. */
+ {"ldlar", 0x88df7c00, 0xbfe08000, ldstexcl, 0, LOR, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL, F_GPRSIZE_IN_Q},
+ {"ldlarb", 0x08df7c00, 0xffe08000, ldstexcl, 0, LOR, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0},
+ {"ldlarh", 0x48df7c00, 0xffe08000, ldstexcl, 0, LOR, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0},
+ {"stllr", 0x889f7c00, 0xbfe08000, ldstexcl, 0, LOR, OP2 (Rt, ADDR_SIMPLE), QL_R1NIL, F_GPRSIZE_IN_Q},
+ {"stllrb", 0x089f7c00, 0xffe08000, ldstexcl, 0, LOR, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0},
+ {"stllrh", 0x489f7c00, 0xbfe08000, ldstexcl, 0, LOR, OP2 (Rt, ADDR_SIMPLE), QL_W1_LDST_EXC, 0},
/* Load/store no-allocate pair (offset). */
{"stnp", 0x28000000, 0x7fc00000, ldstnapair_offs, 0, CORE, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_SF},
{"ldnp", 0x28400000, 0x7fc00000, ldstnapair_offs, 0, CORE, OP3 (Rt, Rt2, ADDR_SIMM7), QL_LDST_PAIR_R, F_SF},
diff --git a/opcodes/arm-dis.c b/opcodes/arm-dis.c
index 1585a4fbe1e..818847dd552 100644
--- a/opcodes/arm-dis.c
+++ b/opcodes/arm-dis.c
@@ -1194,6 +1194,12 @@ static const struct opcode32 neon_opcodes[] =
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
0xf2000a10, 0xfe800f10,
"vpmin%c.%24?us%20-21S2\t%12-15,22R, %16-19,7R, %0-3,5R"},
+ {ARM_FEATURE_COPROC (FPU_NEON_EXT_RDMA),
+ 0xf3000b10, 0xff800f10,
+ "vqrdmlah%c.s%20-21S6\t%12-15,22R, %16-19,7R, %0-3,5R"},
+ {ARM_FEATURE_COPROC (FPU_NEON_EXT_RDMA),
+ 0xf3000c10, 0xff800f10,
+ "vqrdmlsh%c.s%20-21S6\t%12-15,22R, %16-19,7R, %0-3,5R"},
/* One register and an immediate value. */
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
@@ -1447,6 +1453,19 @@ static const struct opcode32 neon_opcodes[] =
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
0xf2800a40, 0xfe800f50,
"vmull%c.%24?us%20-21S6\t%12-15,22Q, %16-19,7D, %D"},
+ {ARM_FEATURE_COPROC (FPU_NEON_EXT_RDMA),
+ 0xf2800e40, 0xff800f50,
+ "vqrdmlah%c.s%20-21S6\t%12-15,22D, %16-19,7D, %D"},
+ {ARM_FEATURE_COPROC (FPU_NEON_EXT_RDMA),
+ 0xf2800f40, 0xff800f50,
+ "vqrdmlsh%c.s%20-21S6\t%12-15,22D, %16-19,7D, %D"},
+ {ARM_FEATURE_COPROC (FPU_NEON_EXT_RDMA),
+ 0xf3800e40, 0xff800f50,
+ "vqrdmlah%c.s%20-21S6\t%12-15,22Q, %16-19,7Q, %D"},
+ {ARM_FEATURE_COPROC (FPU_NEON_EXT_RDMA),
+ 0xf3800f40, 0xff800f50,
+ "vqrdmlsh%c.s%20-21S6\t%12-15,22Q, %16-19,7Q, %D"
+ },
/* Element and structure load/store. */
{ARM_FEATURE_COPROC (FPU_NEON_EXT_V1),
@@ -1602,6 +1621,10 @@ static const struct opcode32 arm_opcodes[] =
{ARM_FEATURE_COPROC (CRC_EXT_ARMV8),
0xe1400240, 0xfff00ff0, "crc32cw\t%12-15R, %16-19R, %0-3R"},
+ /* Privileged Access Never extension instructions. */
+ {ARM_FEATURE_CORE_HIGH (ARM_EXT2_PAN),
+ 0xf1100000, 0xfffffdff, "setpan\t#%9-9d"},
+
/* Virtualization Extension instructions. */
{ARM_FEATURE_CORE_LOW (ARM_EXT_VIRT), 0x0160006e, 0x0fffffff, "eret%c"},
{ARM_FEATURE_CORE_LOW (ARM_EXT_VIRT), 0x01400070, 0x0ff000f0, "hvc%c\t%e"},
@@ -2293,6 +2316,7 @@ static const struct opcode16 thumb_opcodes[] =
/* ARM V8 instructions. */
{ARM_FEATURE_CORE_LOW (ARM_EXT_V8), 0xbf50, 0xffff, "sevl%c"},
{ARM_FEATURE_CORE_LOW (ARM_EXT_V8), 0xba80, 0xffc0, "hlt\t%0-5x"},
+ {ARM_FEATURE_CORE_HIGH (ARM_EXT2_PAN), 0xb610, 0xfff7, "setpan\t#%3-3d"},
/* ARM V6K no-argument instructions. */
{ARM_FEATURE_CORE_LOW (ARM_EXT_V6K), 0xbf00, 0xffff, "nop%c"},
@@ -3328,7 +3352,7 @@ print_insn_coprocessor (bfd_vma pc,
/* Is ``imm'' a negative number? */
if (imm & 0x40)
- imm |= (-1 << 7);
+ imm -= 0x80;
func (stream, "%d", imm);
}
@@ -6026,43 +6050,40 @@ static void
select_arm_features (unsigned long mach,
arm_feature_set * features)
{
-#undef ARM_FEATURE_LOW
-#define ARM_FEATURE_LOW(ARCH1,CEXT) \
- features->core[0] = (ARCH1); \
- features->core[1] = 0; \
- features->coproc = (CEXT) | FPU_FPA; \
- return
-
-#undef ARM_FEATURE_CORE_LOW
-#define ARM_FEATURE_CORE_LOW(ARCH1) \
- features->core[0] = (ARCH1); \
- features->core[1] = 0; \
- features->coproc = FPU_FPA; \
- return
+#undef ARM_SET_FEATURES
+#define ARM_SET_FEATURES(FSET) \
+ { \
+ const arm_feature_set fset = FSET; \
+ arm_feature_set tmp = ARM_FEATURE (0, 0, FPU_FPA) ; \
+ ARM_MERGE_FEATURE_SETS (*features, tmp, fset); \
+ }
switch (mach)
{
- case bfd_mach_arm_2: ARM_ARCH_V2;
- case bfd_mach_arm_2a: ARM_ARCH_V2S;
- case bfd_mach_arm_3: ARM_ARCH_V3;
- case bfd_mach_arm_3M: ARM_ARCH_V3M;
- case bfd_mach_arm_4: ARM_ARCH_V4;
- case bfd_mach_arm_4T: ARM_ARCH_V4T;
- case bfd_mach_arm_5: ARM_ARCH_V5;
- case bfd_mach_arm_5T: ARM_ARCH_V5T;
- case bfd_mach_arm_5TE: ARM_ARCH_V5TE;
- case bfd_mach_arm_XScale: ARM_ARCH_XSCALE;
- case bfd_mach_arm_ep9312: ARM_FEATURE_LOW (ARM_AEXT_V4T, \
- ARM_CEXT_MAVERICK \
- | FPU_MAVERICK);
- case bfd_mach_arm_iWMMXt: ARM_ARCH_IWMMXT;
- case bfd_mach_arm_iWMMXt2: ARM_ARCH_IWMMXT2;
+ case bfd_mach_arm_2: ARM_SET_FEATURES (ARM_ARCH_V2); break;
+ case bfd_mach_arm_2a: ARM_SET_FEATURES (ARM_ARCH_V2S); break;
+ case bfd_mach_arm_3: ARM_SET_FEATURES (ARM_ARCH_V3); break;
+ case bfd_mach_arm_3M: ARM_SET_FEATURES (ARM_ARCH_V3M); break;
+ case bfd_mach_arm_4: ARM_SET_FEATURES (ARM_ARCH_V4); break;
+ case bfd_mach_arm_4T: ARM_SET_FEATURES (ARM_ARCH_V4T); break;
+ case bfd_mach_arm_5: ARM_SET_FEATURES (ARM_ARCH_V5); break;
+ case bfd_mach_arm_5T: ARM_SET_FEATURES (ARM_ARCH_V5T); break;
+ case bfd_mach_arm_5TE: ARM_SET_FEATURES (ARM_ARCH_V5TE); break;
+ case bfd_mach_arm_XScale: ARM_SET_FEATURES (ARM_ARCH_XSCALE); break;
+ case bfd_mach_arm_ep9312:
+ ARM_SET_FEATURES (ARM_FEATURE_LOW (ARM_AEXT_V4T,
+ ARM_CEXT_MAVERICK | FPU_MAVERICK));
+ break;
+ case bfd_mach_arm_iWMMXt: ARM_SET_FEATURES (ARM_ARCH_IWMMXT); break;
+ case bfd_mach_arm_iWMMXt2: ARM_SET_FEATURES (ARM_ARCH_IWMMXT2); break;
/* If the machine type is unknown allow all
architecture types and all extensions. */
- case bfd_mach_arm_unknown: ARM_FEATURE_LOW (-1UL, -1UL);
+ case bfd_mach_arm_unknown: ARM_SET_FEATURES (ARM_FEATURE_ALL); break;
default:
abort ();
}
+
+#undef ARM_SET_FEATURES
}
diff --git a/opcodes/bfin-dis.c b/opcodes/bfin-dis.c
index cf66b797b44..bf2052e3ed1 100644
--- a/opcodes/bfin-dis.c
+++ b/opcodes/bfin-dis.c
@@ -4664,7 +4664,7 @@ _print_insn_bfin (bfd_vma pc, disassemble_info *outf)
return -1;
priv->iw0 = iw0;
- if ((iw0 & 0xc000) == 0xc000)
+ if (((iw0 & 0xc000) == 0xc000) && ((iw0 & 0xff00) != 0xf800))
{
/* 32-bit insn. */
if (ifetch (pc + 2, outf, &iw1))
diff --git a/opcodes/configure b/opcodes/configure
index 8c727abf205..1b82b80ec0c 100755
--- a/opcodes/configure
+++ b/opcodes/configure
@@ -1,6 +1,6 @@
#! /bin/sh
# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.64 for opcodes 2.25.51.0.2.
+# Generated by GNU Autoconf 2.64 for opcodes 2.25.51.0.3.
#
# Copyright (C) 1992, 1993, 1994, 1995, 1996, 1998, 1999, 2000, 2001,
# 2002, 2003, 2004, 2005, 2006, 2007, 2008, 2009 Free Software
@@ -556,8 +556,8 @@ MAKEFLAGS=
# Identity of this package.
PACKAGE_NAME='opcodes'
PACKAGE_TARNAME='opcodes'
-PACKAGE_VERSION='2.25.51.0.2'
-PACKAGE_STRING='opcodes 2.25.51.0.2'
+PACKAGE_VERSION='2.25.51.0.3'
+PACKAGE_STRING='opcodes 2.25.51.0.3'
PACKAGE_BUGREPORT=''
PACKAGE_URL=''
@@ -1319,7 +1319,7 @@ if test "$ac_init_help" = "long"; then
# Omit some internal or obsolete options to make the list less imposing.
# This message is too long to be a string in the A/UX 3.1 sh.
cat <<_ACEOF
-\`configure' configures opcodes 2.25.51.0.2 to adapt to many kinds of systems.
+\`configure' configures opcodes 2.25.51.0.3 to adapt to many kinds of systems.
Usage: $0 [OPTION]... [VAR=VALUE]...
@@ -1390,7 +1390,7 @@ fi
if test -n "$ac_init_help"; then
case $ac_init_help in
- short | recursive ) echo "Configuration of opcodes 2.25.51.0.2:";;
+ short | recursive ) echo "Configuration of opcodes 2.25.51.0.3:";;
esac
cat <<\_ACEOF
@@ -1497,7 +1497,7 @@ fi
test -n "$ac_init_help" && exit $ac_status
if $ac_init_version; then
cat <<\_ACEOF
-opcodes configure 2.25.51.0.2
+opcodes configure 2.25.51.0.3
generated by GNU Autoconf 2.64
Copyright (C) 2009 Free Software Foundation, Inc.
@@ -1907,7 +1907,7 @@ cat >config.log <<_ACEOF
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.
-It was created by opcodes $as_me 2.25.51.0.2, which was
+It was created by opcodes $as_me 2.25.51.0.3, which was
generated by GNU Autoconf 2.64. Invocation command line was
$ $0 $@
@@ -3715,7 +3715,7 @@ fi
# Define the identity of the package.
PACKAGE='opcodes'
- VERSION='2.25.51.0.2'
+ VERSION='2.25.51.0.3'
cat >>confdefs.h <<_ACEOF
@@ -13211,7 +13211,7 @@ cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
# report actual input values of CONFIG_FILES etc. instead of their
# values after options handling.
ac_log="
-This file was extended by opcodes $as_me 2.25.51.0.2, which was
+This file was extended by opcodes $as_me 2.25.51.0.3, which was
generated by GNU Autoconf 2.64. Invocation command line was
CONFIG_FILES = $CONFIG_FILES
@@ -13275,7 +13275,7 @@ Report bugs to the package provider."
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
ac_cs_version="\\
-opcodes config.status 2.25.51.0.2
+opcodes config.status 2.25.51.0.3
configured by $0, generated by GNU Autoconf 2.64,
with options \\"`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`\\"
diff --git a/opcodes/dis-buf.c b/opcodes/dis-buf.c
index cc0e3ad2fba..7c5d9ad4b32 100644
--- a/opcodes/dis-buf.c
+++ b/opcodes/dis-buf.c
@@ -38,7 +38,9 @@ buffer_read_memory (bfd_vma memaddr,
if (memaddr < info->buffer_vma
|| memaddr - info->buffer_vma > max_addr_offset
- || memaddr - info->buffer_vma + end_addr_offset > max_addr_offset)
+ || memaddr - info->buffer_vma + end_addr_offset > max_addr_offset
+ || (info->stop_vma && (memaddr >= info->stop_vma
+ || memaddr + end_addr_offset > info->stop_vma)))
/* Out of bounds. Use EIO because GDB uses it. */
return EIO;
memcpy (myaddr, info->buffer + octets, length);
diff --git a/opcodes/i386-dis.c b/opcodes/i386-dis.c
index 76f3ead960b..767bab3205d 100644
--- a/opcodes/i386-dis.c
+++ b/opcodes/i386-dis.c
@@ -13224,6 +13224,13 @@ print_insn (bfd_vma pc, disassemble_info *info)
for (i = 0; i < MAX_OPERANDS; ++i)
op_txt[i] = op_out[i];
+ if (intel_syntax && dp && dp->op[2].rtn == OP_Rounding
+ && dp->op[3].rtn == OP_E && dp->op[4].rtn == NULL)
+ {
+ op_txt[2] = op_out[3];
+ op_txt[3] = op_out[2];
+ }
+
for (i = 0; i < (MAX_OPERANDS >> 1); ++i)
{
op_ad = op_index[i];
diff --git a/opcodes/i386-opc.tbl b/opcodes/i386-opc.tbl
index 56eddbfadc6..a3bd7dec000 100644
--- a/opcodes/i386-opc.tbl
+++ b/opcodes/i386-opc.tbl
@@ -319,7 +319,7 @@ shrd, 2, 0xfad, None, 2, Cpu386, Modrm|CheckRegSize|No_bSuf|No_sSuf|No_ldSuf, {
// Control transfer instructions.
call, 1, 0xe8, None, 1, CpuNo64, JumpDword|DefaultSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf|BNDPrefixOk, { Disp16|Disp32 }
-call, 1, 0xe8, None, 1, Cpu64|CpuAMD64, JumpDword|DefaultSize|No_bSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64|BNDPrefixOk, { Disp16|Disp32|Disp32S }
+call, 1, 0xe8, None, 1, Cpu64|CpuAMD64, JumpDword|DefaultSize|No_bSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64|BNDPrefixOk, { Disp16|Disp32S }
call, 1, 0xe8, None, 1, Cpu64|CpuIntel64, JumpDword|DefaultSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64|BNDPrefixOk, { Disp32S }
call, 1, 0xff, 0x2, 1, CpuNo64, Modrm|DefaultSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf|BNDPrefixOk, { Reg16|Reg32|Word|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|JumpAbsolute }
call, 1, 0xff, 0x2, 1, Cpu64, Modrm|DefaultSize|No_bSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64|BNDPrefixOk, { Reg16|Reg64|Word|Qword|Unspecified|BaseIndex|Disp8|Disp32|Disp32S|JumpAbsolute }
@@ -331,7 +331,7 @@ lcall, 2, 0x9a, None, 1, CpuNo64, JumpInterSegment|DefaultSize|No_bSuf|No_sSuf|N
lcall, 1, 0xff, 0x3, 1, 0, Modrm|DefaultSize|No_bSuf|No_sSuf|No_qSuf|No_ldSuf, { Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|JumpAbsolute }
jmp, 1, 0xeb, None, 1, CpuNo64, Jump|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|BNDPrefixOk, { Disp8|Disp16|Disp32|Disp32S }
-jmp, 1, 0xeb, None, 1, Cpu64|CpuAMD64, Jump|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|BNDPrefixOk, { Disp8|Disp16|Disp32|Disp32S }
+jmp, 1, 0xeb, None, 1, Cpu64|CpuAMD64, Jump|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|BNDPrefixOk, { Disp8|Disp16|Disp32S }
jmp, 1, 0xeb, None, 1, Cpu64|CpuIntel64, Jump|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|BNDPrefixOk, { Disp8|Disp32S }
jmp, 1, 0xff, 0x4, 1, CpuNo64, Modrm|No_bSuf|No_sSuf|No_qSuf|No_ldSuf|BNDPrefixOk, { Reg16|Reg32|Word|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|JumpAbsolute }
jmp, 1, 0xff, 0x4, 1, Cpu64, Modrm|No_bSuf|No_lSuf|No_sSuf|No_ldSuf|NoRex64|BNDPrefixOk, { Reg16|Reg64|Word|Qword|Unspecified|BaseIndex|Disp8|Disp32|Disp32S|JumpAbsolute }
@@ -3651,18 +3651,24 @@ vcvtsd2ss, 4, 0xF25A, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|Ve
vcvtsi2sd, 3, 0xF22A, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
vcvtsi2sd, 3, 0xF22A, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf, { Reg64|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
vcvtsi2sd, 4, 0xF22A, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE, { Reg64, Imm8, RegXMM, RegXMM }
+vcvtsi2sd, 4, 0xF22A, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { Imm8, Reg64, RegXMM, RegXMM }
vcvtusi2sd, 3, 0xF27B, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
vcvtusi2sd, 3, 0xF27B, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf, { Reg64|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
vcvtusi2sd, 4, 0xF27B, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE, { Reg64, Imm8, RegXMM, RegXMM }
+vcvtusi2sd, 4, 0xF27B, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { Imm8, Reg64, RegXMM, RegXMM }
vcvtsi2ss, 3, 0xF32A, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
vcvtsi2ss, 4, 0xF32A, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Reg32, Imm8, RegXMM, RegXMM }
+vcvtsi2ss, 4, 0xF32A, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { Imm8, Reg32, RegXMM, RegXMM }
vcvtsi2ss, 3, 0xF32A, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf, { Reg64|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
vcvtsi2ss, 4, 0xF32A, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE, { Reg64, Imm8, RegXMM, RegXMM }
+vcvtsi2ss, 4, 0xF32A, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { Imm8, Reg64, RegXMM, RegXMM }
vcvtusi2ss, 3, 0xF37B, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf, { Reg32|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
vcvtusi2ss, 4, 0xF37B, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE, { Reg32, Imm8, RegXMM, RegXMM }
+vcvtusi2ss, 4, 0xF37B, None, 1, CpuAVX512F, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_sSuf|No_qSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { Imm8, Reg32, RegXMM, RegXMM }
vcvtusi2ss, 3, 0xF37B, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|Disp8MemShift=3|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf, { Reg64|Qword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
vcvtusi2ss, 4, 0xF37B, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE, { Reg64, Imm8, RegXMM, RegXMM }
+vcvtusi2ss, 4, 0xF37B, None, 1, CpuAVX512F|Cpu64, Modrm|EVex=4|VexOpcode=0|VexVVVV=1|VexW=2|VecESize=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_ldSuf|StaticRounding|SAE|IntelSyntax, { Imm8, Reg64, RegXMM, RegXMM }
vcvtss2sd, 3, 0xF35A, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|Disp8MemShift=2|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf, { RegXMM|Dword|Unspecified|BaseIndex|Disp8|Disp16|Disp32|Disp32S|Vec_Disp8, RegXMM, RegXMM }
vcvtss2sd, 4, 0xF35A, None, 1, CpuAVX512F, Modrm|EVex=4|Masking=3|VexOpcode=0|VexVVVV=1|VexW=1|IgnoreSize|No_bSuf|No_wSuf|No_lSuf|No_sSuf|No_qSuf|No_ldSuf|SAE, { Imm8, RegXMM, RegXMM, RegXMM }
diff --git a/opcodes/i386-tbl.h b/opcodes/i386-tbl.h
index 080a4c048dc..f840f9660dc 100644
--- a/opcodes/i386-tbl.h
+++ b/opcodes/i386-tbl.h
@@ -3193,7 +3193,7 @@ 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, 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, 0, 0,
+ 0, 0, 0, 1, 0, 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 } } } },
{ "call", 1, 0xe8, None, 1,
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -3316,7 +3316,7 @@ 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, 0, 0, 0, 0, 0, 0, 0, 0, 0,
- 0, 0, 1, 1, 1, 1, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
{ "jmp", 1, 0xeb, None, 1,
{ { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36737,6 +36737,28 @@ 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+ { "vcvtsi2sd", 4, 0xF22A, None, 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, 0, 0, 0, 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,
+ 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+ 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
+ 0, 1 },
+ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0 } },
+ { { 0, 0, 0, 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, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
{ "vcvtsi2ss", 3, 0xf32a, None, 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, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36816,6 +36838,28 @@ 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+ { "vcvtsi2ss", 4, 0xF32A, None, 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, 0, 0, 0, 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,
+ 0, 0, 0, 0, 0, 0, 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, 0, 1, 1,
+ 0, 1, 1, 1, 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, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
+ 0, 1 },
+ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0 } },
+ { { 0, 0, 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, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
{ "vcvtsi2ss", 3, 0xF32A, None, 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, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -36857,6 +36901,28 @@ 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+ { "vcvtsi2ss", 4, 0xF32A, None, 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, 0, 0, 0, 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,
+ 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+ 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
+ 0, 1 },
+ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0 } },
+ { { 0, 0, 0, 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, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
{ "vcvtss2sd", 3, 0xf35a, None, 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, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -76701,6 +76767,28 @@ 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+ { "vcvtusi2sd", 4, 0xF27B, None, 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, 0, 0, 0, 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,
+ 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+ 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
+ 0, 1 },
+ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0 } },
+ { { 0, 0, 0, 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, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
{ "vcvtusi2ss", 3, 0xF37B, None, 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, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -76742,6 +76830,28 @@ 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+ { "vcvtusi2ss", 4, 0xF37B, None, 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, 0, 0, 0, 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,
+ 0, 0, 0, 0, 0, 0, 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, 0, 1, 1,
+ 0, 1, 1, 1, 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, 4, 0, 0, 0, 1, 1, 0, 0, 0, 0,
+ 0, 1 },
+ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0 } },
+ { { 0, 0, 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, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
{ "vcvtusi2ss", 3, 0xF37B, None, 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, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
@@ -76783,6 +76893,28 @@ 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, 0, 0, 0, 0, 0, 0, 0, 0,
0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
+ { "vcvtusi2ss", 4, 0xF37B, None, 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, 0, 0, 0, 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,
+ 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, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 1,
+ 1, 1, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 1, 2, 0, 0, 0, 0, 0, 0, 4, 0, 1, 0, 1, 1, 0, 0, 0, 0,
+ 0, 1 },
+ { { { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0 } },
+ { { 0, 0, 0, 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, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 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, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0,
+ 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0 } } } },
{ "vcvtss2usi", 2, 0xF379, None, 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, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0, 0,
diff --git a/opcodes/mcore-dis.c b/opcodes/mcore-dis.c
index dc62099e7ae..536f79b4551 100644
--- a/opcodes/mcore-dis.c
+++ b/opcodes/mcore-dis.c
@@ -88,9 +88,8 @@ static const char *crname[] = {
static const unsigned isiz[] = { 2, 0, 1, 0 };
int
-print_insn_mcore (memaddr, info)
- bfd_vma memaddr;
- struct disassemble_info *info;
+print_insn_mcore (bfd_vma memaddr,
+ struct disassemble_info *info)
{
unsigned char ibytes[4];
fprintf_ftype print_func = info->fprintf_func;
@@ -233,6 +232,9 @@ print_insn_mcore (memaddr, info)
val = (memaddr + 2 + ((inst & 0xFF) << 2)) & 0xFFFFFFFC;
+ /* We are not reading an instruction, so allow
+ reads to extend beyond the next symbol. */
+ info->stop_vma = 0;
status = info->read_memory_func (val, ibytes, 4, info);
if (status != 0)
{
@@ -263,6 +265,9 @@ print_insn_mcore (memaddr, info)
val = (memaddr + 2 + ((inst & 0xFF) << 2)) & 0xFFFFFFFC;
+ /* We are not reading an instruction, so allow
+ reads to extend beyond the next symbol. */
+ info->stop_vma = 0;
status = info->read_memory_func (val, ibytes, 4, info);
if (status != 0)
{
diff --git a/opcodes/msp430-dis.c b/opcodes/msp430-dis.c
index 9c6f6590bc4..15f3eca9c18 100644
--- a/opcodes/msp430-dis.c
+++ b/opcodes/msp430-dis.c
@@ -66,7 +66,7 @@ msp430_nooperands (struct msp430_opcode_s *opcode,
if (opcode->fmt == 0)
{
- if ((insn & 0x0f00) != 3 || (insn & 0x0f00) != 2)
+ if ((insn & 0x0f00) != 0x0300 || (insn & 0x0f00) != 0x0200)
return 0;
strcpy (comm, "emulated...");
diff --git a/opcodes/ppc-dis.c b/opcodes/ppc-dis.c
index ccea46680e2..581d342cefb 100644
--- a/opcodes/ppc-dis.c
+++ b/opcodes/ppc-dis.c
@@ -452,7 +452,8 @@ skip_optional_operands (const unsigned char *opindex,
operand = &powerpc_operands[*opindex];
if ((operand->flags & PPC_OPERAND_NEXT) != 0
|| ((operand->flags & PPC_OPERAND_OPTIONAL) != 0
- && operand_value_powerpc (operand, insn, dialect) != 0))
+ && operand_value_powerpc (operand, insn, dialect) !=
+ ppc_optional_operand_value (operand)))
return 0;
}
diff --git a/opcodes/ppc-opc.c b/opcodes/ppc-opc.c
index 57a097389f1..601ec2f7c42 100644
--- a/opcodes/ppc-opc.c
+++ b/opcodes/ppc-opc.c
@@ -53,6 +53,7 @@ static unsigned long insert_bo (unsigned long, long, ppc_cpu_t, const char **);
static long extract_bo (unsigned long, ppc_cpu_t, int *);
static unsigned long insert_boe (unsigned long, long, ppc_cpu_t, const char **);
static long extract_boe (unsigned long, ppc_cpu_t, int *);
+static unsigned long insert_esync (unsigned long, long, ppc_cpu_t, const char **);
static unsigned long insert_fxm (unsigned long, long, ppc_cpu_t, const char **);
static long extract_fxm (unsigned long, ppc_cpu_t, int *);
static unsigned long insert_li20 (unsigned long, long, ppc_cpu_t, const char **);
@@ -382,10 +383,12 @@ const struct powerpc_operand powerpc_operands[] =
/* Power4 version for mfcr. */
#define FXM4 FXM + 1
- { 0xff, 12, insert_fxm, extract_fxm, PPC_OPERAND_OPTIONAL },
+ { 0xff, 12, insert_fxm, extract_fxm, PPC_OPERAND_OPTIONAL | PPC_OPERAND_OPTIONAL_VALUE},
+ /* If the FXM4 operand is ommitted, use the sentinel value -1. */
+ { -1, -1, NULL, NULL, 0},
/* The IMM20 field in an LI instruction. */
-#define IMM20 FXM4 + 1
+#define IMM20 FXM4 + 2
{ 0xfffff, PPC_OPSHIFT_INV, insert_li20, extract_li20, PPC_OPERAND_SIGNED},
/* The L field in a D or X form instruction. */
@@ -415,7 +418,7 @@ const struct powerpc_operand powerpc_operands[] =
/* The LS or WC field in an X (sync or wait) form instruction. */
#define LS LIA + 1
#define WC LS
- { 0x3, 21, NULL, NULL, PPC_OPERAND_OPTIONAL },
+ { 0x3, 21, insert_ls, NULL, PPC_OPERAND_OPTIONAL },
/* The ME field in an M form instruction. */
#define ME LS + 1
@@ -633,7 +636,7 @@ const struct powerpc_operand powerpc_operands[] =
/* The ESYNC field in an X (sync) form instruction. */
#define ESYNC STRM + 1
- { 0xf, 16, insert_ls, NULL, PPC_OPERAND_OPTIONAL },
+ { 0xf, 16, insert_esync, NULL, PPC_OPERAND_OPTIONAL },
/* The SV field in a POWER SC form instruction. */
#define SV ESYNC + 1
@@ -642,10 +645,12 @@ const struct powerpc_operand powerpc_operands[] =
/* The TBR field in an XFX form instruction. This is like the SPR
field, but it is optional. */
#define TBR SV + 1
- { 0x3ff, 11, insert_tbr, extract_tbr, PPC_OPERAND_OPTIONAL },
+ { 0x3ff, 11, insert_tbr, extract_tbr, PPC_OPERAND_OPTIONAL | PPC_OPERAND_OPTIONAL_VALUE},
+ /* If the TBR operand is ommitted, use the value 268. */
+ { -1, 268, NULL, NULL, 0},
/* The TO field in a D or X form instruction. */
-#define TO TBR + 1
+#define TO TBR + 2
#define DUI TO
#define TO_MASK (0x1f << 21)
{ 0x1f, 21, NULL, NULL, 0 },
@@ -747,12 +752,12 @@ const struct powerpc_operand powerpc_operands[] =
#define PSD PSQM + 1
{ 0xfff, 0, 0, 0, PPC_OPERAND_PARENS | PPC_OPERAND_SIGNED },
+ /* The L field in an mtmsrd or A form instruction or W in an X form. */
#define A_L PSD + 1
#define W A_L
-#define MTMSRD_L W
{ 0x1, 16, NULL, NULL, PPC_OPERAND_OPTIONAL },
-#define RMC MTMSRD_L + 1
+#define RMC A_L + 1
{ 0x3, 9, NULL, NULL, 0 },
#define R RMC + 1
@@ -766,10 +771,12 @@ const struct powerpc_operand powerpc_operands[] =
/* The S field in a XL form instruction. */
#define SXL S + 1
- { 0x1, 11, NULL, NULL, PPC_OPERAND_OPTIONAL },
+ { 0x1, 11, NULL, NULL, PPC_OPERAND_OPTIONAL | PPC_OPERAND_OPTIONAL_VALUE},
+ /* If the SXL operand is ommitted, use the value 1. */
+ { -1, 1, NULL, NULL, 0},
/* SH field starting at bit position 16. */
-#define SH16 SXL + 1
+#define SH16 SXL + 2
/* The DCM and DGM fields in a Z form instruction. */
#define DCM SH16
#define DGM DCM
@@ -1284,19 +1291,13 @@ insert_fxm (unsigned long insn,
}
}
- /* If the optional field on mfcr is missing that means we want to use
- the old form of the instruction that moves the whole cr. In that
- case we'll have VALUE zero. There doesn't seem to be a way to
- distinguish this from the case where someone writes mfcr %r3,0. */
- else if (value == 0)
- ;
-
/* If only one bit of the FXM field is set, we can use the new form
of the instruction, which is faster. Unlike the Power4 branch hint
encoding, this is not backward compatible. Do not generate the
new form unless -mpower4 has been given, or -many and the two
operand form of mfcr was used. */
- else if ((value & -value) == value
+ else if (value > 0
+ && (value & -value) == value
&& ((dialect & PPC_OPCODE_POWER4) != 0
|| ((dialect & PPC_OPCODE_ANY) != 0
&& (insn & (0x3ff << 1)) == 19 << 1)))
@@ -1305,7 +1306,10 @@ insert_fxm (unsigned long insn,
/* Any other value on mfcr is an error. */
else if ((insn & (0x3ff << 1)) == 19 << 1)
{
- *errmsg = _("ignoring invalid mfcr mask");
+ /* A value of -1 means we used the one operand form of
+ mfcr which is valid. */
+ if (value != -1)
+ *errmsg = _("ignoring invalid mfcr mask");
value = 0;
}
@@ -1332,6 +1336,8 @@ extract_fxm (unsigned long insn,
{
if (mask != 0)
*invalid = 1;
+ else
+ mask = -1;
}
return mask;
@@ -1360,17 +1366,40 @@ extract_li20 (unsigned long insn,
| (insn & 0x7ff);
}
-/* The LS field in a sync instruction that accepts 2 operands
- Values 2 and 3 are reserved,
- must be treated as 0 for future compatibility
- Values 0 and 1 can be accepted, if field ESYNC is zero
- Otherwise L = complement of ESYNC-bit2 (1<<18) */
+/* The 2-bit L field in a SYNC or WC field in a WAIT instruction.
+ For SYNC, some L values are reserved:
+ * Value 3 is reserved on newer server cpus.
+ * Values 2 and 3 are reserved on all other cpus. */
static unsigned long
insert_ls (unsigned long insn,
long value,
- ppc_cpu_t dialect ATTRIBUTE_UNUSED,
- const char **errmsg ATTRIBUTE_UNUSED)
+ ppc_cpu_t dialect,
+ const char **errmsg)
+{
+ /* For SYNC, some L values are illegal. */
+ if (((insn >> 1) & 0x3ff) == 598)
+ {
+ long max_lvalue = (dialect & PPC_OPCODE_POWER4) ? 2 : 1;
+ if (value > max_lvalue)
+ {
+ *errmsg = _("illegal L operand value");
+ return insn;
+ }
+ }
+
+ return insn | ((value & 0x3) << 21);
+}
+
+/* The 4-bit E field in a sync instruction that accepts 2 operands.
+ If ESYNC is non-zero, then the L field must be either 0 or 1 and
+ the complement of ESYNC-bit2. */
+
+static unsigned long
+insert_esync (unsigned long insn,
+ long value,
+ ppc_cpu_t dialect ATTRIBUTE_UNUSED,
+ const char **errmsg)
{
unsigned long ls;
@@ -1378,12 +1407,15 @@ insert_ls (unsigned long insn,
if (value == 0)
{
if (ls > 1)
- return insn & ~(0x3 << 21);
+ *errmsg = _("illegal L operand value");
return insn;
}
- if ((value & 0x2) != 0)
- return (insn & ~(0x3 << 21)) | ((value & 0xf) << 16);
- return (insn & ~(0x3 << 21)) | (0x1 << 21) | ((value & 0xf) << 16);
+
+ if ((ls & ~0x1)
+ || (((value >> 1) & 0x1) ^ ls) == 0)
+ *errmsg = _("incompatible L operand value");
+
+ return insn | ((value & 0xf) << 16);
}
/* The MB and ME fields in an M form instruction expressed as a single
@@ -1868,12 +1900,7 @@ extract_sprg (unsigned long insn,
}
/* The TBR field in an XFX instruction. This is just like SPR, but it
- is optional. When TBR is omitted, it must be inserted as 268 (the
- magic number of the TB register). These functions treat 0
- (indicating an omitted optional operand) as 268. This means that
- ``mftb 4,0'' is not handled correctly. This does not matter very
- much, since the architecture manual does not define mftb as
- accepting any values other than 268 or 269. */
+ is optional. */
static unsigned long
insert_tbr (unsigned long insn,
@@ -1881,8 +1908,6 @@ insert_tbr (unsigned long insn,
ppc_cpu_t dialect ATTRIBUTE_UNUSED,
const char **errmsg)
{
- if (value == 0)
- value = 268;
if (value != 268 && value != 269)
*errmsg = _("invalid tbr number");
return insn | ((value & 0x1f) << 16) | ((value & 0x3e0) << 6);
@@ -1898,8 +1923,6 @@ extract_tbr (unsigned long insn,
ret = ((insn >> 16) & 0x1f) | ((insn >> 6) & 0x3e0);
if (ret != 268 && ret != 269)
*invalid = 1;
- if (ret == 268)
- ret = 0;
return ret;
}
@@ -2028,6 +2051,7 @@ extract_dm (unsigned long insn,
*invalid = 1;
return (value) ? 1 : 0;
}
+
/* The VLESIMM field in an I16A form instruction. This is split. */
static unsigned long
@@ -5465,6 +5489,7 @@ const struct powerpc_opcode powerpc_opcodes[] = {
{"lswi", X(31,597), X_MASK, PPCCOM|PPCVLE, E500|E500MC, {RT, RAX, NBI}},
{"lsi", X(31,597), X_MASK, PWRCOM, PPCNONE, {RT, RA0, NB}},
+{"hwsync", XSYNC(31,598,0), 0xffffffff, POWER4, BOOKE|PPC476, {0}},
{"lwsync", XSYNC(31,598,1), 0xffffffff, PPC, E500, {0}},
{"ptesync", XSYNC(31,598,2), 0xffffffff, PPC64, PPCNONE, {0}},
{"sync", X(31,598), XSYNCLE_MASK,E6500, PPCNONE, {LS, ESYNC}},
diff --git a/opcodes/sh-dis.c b/opcodes/sh-dis.c
index 74de9f6e5da..a3f645db189 100644
--- a/opcodes/sh-dis.c
+++ b/opcodes/sh-dis.c
@@ -905,6 +905,8 @@ print_insn_sh (bfd_vma memaddr, struct disassemble_info *info)
size = 2;
else
size = 4;
+ /* Not reading an instruction - disable stop_vma. */
+ info->stop_vma = 0;
status = info->read_memory_func (disp_pc_addr, bytes, size, info);
if (status == 0)
{
diff --git a/opcodes/tic6x-dis.c b/opcodes/tic6x-dis.c
index e02734059e1..498ffe03569 100644
--- a/opcodes/tic6x-dis.c
+++ b/opcodes/tic6x-dis.c
@@ -249,6 +249,9 @@ print_insn_tic6x (bfd_vma addr, struct disassemble_info *info)
fp_offset = addr & 0x1f;
fp_addr = addr - fp_offset;
+ /* Read in a block of instructions. Since there might be a
+ symbol in the middle of this block, disable stop_vma. */
+ info->stop_vma = 0;
status = info->read_memory_func (fp_addr, fp, 32, info);
if (status)
{
diff --git a/opcodes/vax-dis.c b/opcodes/vax-dis.c
index a7a1ccbec8e..da4ba7cc454 100644
--- a/opcodes/vax-dis.c
+++ b/opcodes/vax-dis.c
@@ -402,7 +402,8 @@ print_insn_vax (bfd_vma memaddr, disassemble_info *info)
argp = NULL;
/* Check if the info buffer has more than one byte left since
the last opcode might be a single byte with no argument data. */
- if (info->buffer_length - (memaddr - info->buffer_vma) > 1)
+ if (info->buffer_length - (memaddr - info->buffer_vma) > 1
+ && (info->stop_vma == 0 || memaddr < (info->stop_vma - 1)))
{
FETCH_DATA (info, buffer + 2);
}
diff --git a/patches/binutils-pr18321.patch b/patches/binutils-pr18321.patch
index b6a53750a5f..30e021d64f2 100644
--- a/patches/binutils-pr18321.patch
+++ b/patches/binutils-pr18321.patch
@@ -1,4 +1,4 @@
-From 7655ba4413f1f5895575cb05d9f2b698434c617d Mon Sep 17 00:00:00 2001
+From 223d6ac4831ab29a65022b837caf05942ef25d71 Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Wed, 18 Mar 2015 06:50:18 -0700
Subject: [PATCH 1/2] Add SHF_COMPRESSED section decompression to gold
@@ -10,10 +10,19 @@ This patch adds SHF_COMPRESSED section decompression to gold.
for ELF class, big endian and sh_flags.
* compressed_output.cc (decompress_input_section): Likewise.
Support the SHF_COMPRESSED section.
+ * dynobj.h (Dynobj): Add elfsize and is_big_endian member
+ functions.
+ * plugin.h (Pluginobj): Likewise.
* object.h (Compressed_section_info): Add flag to store sh_flags.
- * object.cc (build_compressed_section_map): Check SHF_COMPRESSED
- for uncompressed size. Store sh_flags in Compressed_section_info.
+ (Object): Add pure virtual elfsize and is_big_endian member
+ functions.
+ * object.cc (need_decompressed_section): Don't skip the ".zdebug"
+ prefix here.
+ (build_compressed_section_map): Check SHF_COMPRESSED for
+ uncompressed size. Store sh_flags in Compressed_section_info.
Pass size, big_endian and sh_flags to decompress_input_section.
+ Skip the ".debug"/".zdebug" prefix when passing section name to
+ need_decompressed_section.
(Sized_relobj_file<size, big_endian>::do_find_special_section):
Don't check ".zdebug_*" sections.
(Object::decompressed_section_contents): Pass ELF class, big
@@ -37,16 +46,18 @@ This patch adds SHF_COMPRESSED section decompression to gold.
* testsuite/gdb_index_test_2_gabi.sh: New file.
* testsuite/Makefile.in: Regenerated.
---
- gold/compressed_output.cc | 49 +++++++++++++++++++++++++++++-
+ gold/compressed_output.cc | 49 ++++++++++++++++++++++++++++++-
gold/compressed_output.h | 2 +-
- gold/object.cc | 53 ++++++++++++++++++++++++---------
- gold/object.h | 1 +
+ gold/dynobj.h | 10 +++++++
+ gold/object.cc | 51 ++++++++++++++++++++++-----------
+ gold/object.h | 7 +++++
gold/output.cc | 4 ++-
+ gold/plugin.h | 10 +++++++
gold/reloc.cc | 4 ++-
gold/testsuite/Makefile.am | 25 ++++++++++++++++
- gold/testsuite/Makefile.in | 28 +++++++++++++++++
- gold/testsuite/gdb_index_test_2_gabi.sh | 26 ++++++++++++++++
- 9 files changed, 174 insertions(+), 18 deletions(-)
+ gold/testsuite/Makefile.in | 28 ++++++++++++++++++
+ gold/testsuite/gdb_index_test_2_gabi.sh | 26 +++++++++++++++++
+ 11 files changed, 196 insertions(+), 20 deletions(-)
create mode 100755 gold/testsuite/gdb_index_test_2_gabi.sh
diff --git a/gold/compressed_output.cc b/gold/compressed_output.cc
@@ -123,29 +134,58 @@ index b5fdbeb..616c80a 100644
// This is used for a section whose data should be compressed. It is
// a regular Output_section which computes its contents into a buffer
+diff --git a/gold/dynobj.h b/gold/dynobj.h
+index b7c60f8..c08c1de 100644
+--- a/gold/dynobj.h
++++ b/gold/dynobj.h
+@@ -72,6 +72,16 @@ class Dynobj : public Object
+ this->unknown_needed_ = set ? UNKNOWN_NEEDED_TRUE : UNKNOWN_NEEDED_FALSE;
+ }
+
++ // Return the word size of the object file.
++ int
++ elfsize() const
++ { gold_unreachable(); }
++
++ // Return TRUE if this is a big-endian object file.
++ bool
++ is_big_endian() const
++ { gold_unreachable(); }
++
+ // Compute the ELF hash code for a string.
+ static uint32_t
+ elf_hash(const char*);
diff --git a/gold/object.cc b/gold/object.cc
-index 18c6670..7d377a3 100644
+index 4e94f7e..316f8d4 100644
--- a/gold/object.cc
+++ b/gold/object.cc
-@@ -740,25 +740,49 @@ build_compressed_section_map(
- continue;
+@@ -663,14 +663,12 @@ Sized_relobj_file<size, big_endian>::find_eh_frame(
+
+ // Return TRUE if this is a section whose contents will be needed in the
+ // Add_symbols task. This function is only called for sections that have
+-// already passed the test in is_compressed_debug_section(), so we know
+-// that the section name begins with ".zdebug".
++// already passed the test in is_compressed_debug_section() and the debug
++// section name prefix, ".debug"/".zdebug", has been skipped.
+
+ static bool
+ need_decompressed_section(const char* name)
+ {
+- // Skip over the ".zdebug" and a quick check for the "_".
+- name += 7;
+ if (*name++ != '_')
+ return false;
+
+@@ -741,14 +739,33 @@ build_compressed_section_map(
}
-- const char* name = names + shdr.get_sh_name();
+ const char* name = names + shdr.get_sh_name();
- if (is_compressed_debug_section(name))
-+ bool is_zcompressed = false;
-+ bool is_compressed =
-+ (shdr.get_sh_flags() & elfcpp::SHF_COMPRESSED) != 0;
-+ const char* name;
++ bool is_compressed = ((shdr.get_sh_flags()
++ & elfcpp::SHF_COMPRESSED) != 0);
++ bool is_zcompressed = (!is_compressed
++ && is_compressed_debug_section(name));
+
-+ if (is_compressed)
-+ name = NULL;
-+ else
-+ {
-+ name = names + shdr.get_sh_name();
-+ if (is_compressed_debug_section(name))
-+ is_zcompressed = true;
-+ }
+ if (is_zcompressed || is_compressed)
{
section_size_type len;
@@ -154,9 +194,15 @@ index 18c6670..7d377a3 100644
- uint64_t uncompressed_size = get_uncompressed_size(contents, len);
+ uint64_t uncompressed_size;
+ if (is_zcompressed)
-+ uncompressed_size = get_uncompressed_size(contents, len);
++ {
++ // Skip over the ".zdebug" prefix.
++ name += 7;
++ uncompressed_size = get_uncompressed_size(contents, len);
++ }
+ else
+ {
++ // Skip over the ".debug" prefix.
++ name += 6;
+ elfcpp::Chdr<size, big_endian> chdr(contents);
+ uncompressed_size = chdr.get_ch_size();
+ }
@@ -166,12 +212,7 @@ index 18c6670..7d377a3 100644
info.contents = NULL;
if (uncompressed_size != -1ULL)
{
- unsigned char* uncompressed_data = NULL;
-- if (decompress_if_needed && need_decompressed_section(name))
-+ if (decompress_if_needed
-+ && (is_compressed
-+ || need_decompressed_section(name)))
- {
+@@ -758,7 +775,9 @@ build_compressed_section_map(
uncompressed_data = new unsigned char[uncompressed_size];
if (decompress_input_section(contents, len,
uncompressed_data,
@@ -182,7 +223,7 @@ index 18c6670..7d377a3 100644
info.contents = uncompressed_data;
else
delete[] uncompressed_data;
-@@ -786,14 +810,11 @@ Sized_relobj_file<size, big_endian>::do_find_special_sections(
+@@ -786,14 +805,11 @@ Sized_relobj_file<size, big_endian>::do_find_special_sections(
if (this->find_eh_frame(pshdrs, names, sd->section_names_size))
this->has_eh_frame_ = true;
@@ -196,30 +237,26 @@ index 18c6670..7d377a3 100644
- }
+ Compressed_section_map* compressed_sections =
+ build_compressed_section_map<size, big_endian>(
-+ pshdrs, this->shnum(), names, sd->section_names_size, this, true);
++ pshdrs, this->shnum(), names, sd->section_names_size, this, true);
+ if (compressed_sections != NULL)
+ this->set_compressed_sections(compressed_sections);
return (this->has_eh_frame_
|| (!parameters->options().relocatable()
-@@ -2890,10 +2911,14 @@ Object::decompressed_section_contents(
- }
-
- unsigned char* uncompressed_data = new unsigned char[uncompressed_size];
-+ Relobj *relobj = static_cast<Relobj*>(this);
+@@ -2899,7 +2915,10 @@ Object::decompressed_section_contents(
if (!decompress_input_section(buffer,
buffer_size,
uncompressed_data,
- uncompressed_size))
+ uncompressed_size,
-+ relobj->elfsize(),
-+ relobj->is_big_endian(),
++ elfsize(),
++ is_big_endian(),
+ p->second.flag))
this->error(_("could not decompress section %s"),
this->do_section_name(shndx).c_str());
diff --git a/gold/object.h b/gold/object.h
-index a3d5d0e..b30925d 100644
+index a3d5d0e..e8f74ac 100644
--- a/gold/object.h
+++ b/gold/object.h
@@ -320,6 +320,7 @@ class Got_offset_list
@@ -230,6 +267,19 @@ index a3d5d0e..b30925d 100644
const unsigned char* contents;
};
typedef std::map<unsigned int, Compressed_section_info> Compressed_section_map;
+@@ -380,6 +381,12 @@ class Object
+ is_dynamic() const
+ { return this->is_dynamic_; }
+
++ // Return the word size of the object file.
++ virtual int elfsize() const = 0;
++
++ // Return TRUE if this is a big-endian object file.
++ virtual bool is_big_endian() const = 0;
++
+ // Return whether this object is needed--true if it is a dynamic
+ // object which defines some symbol referenced by a regular object.
+ // We keep the flag here rather than in Dynobj for convenience when
diff --git a/gold/output.cc b/gold/output.cc
index 5cc3629..5d8b8b5 100644
--- a/gold/output.cc
@@ -245,8 +295,29 @@ index 5cc3629..5d8b8b5 100644
order_(ORDER_INVALID),
out_shndx_(-1U),
symtab_index_(0),
+diff --git a/gold/plugin.h b/gold/plugin.h
+index f926879..3e094d7 100644
+--- a/gold/plugin.h
++++ b/gold/plugin.h
+@@ -433,6 +433,16 @@ class Pluginobj : public Object
+ filesize()
+ { return this->filesize_; }
+
++ // Return the word size of the object file.
++ int
++ elfsize() const
++ { gold_unreachable(); }
++
++ // Return TRUE if this is a big-endian object file.
++ bool
++ is_big_endian() const
++ { gold_unreachable(); }
++
+ protected:
+ // Return TRUE if this is an object claimed by a plugin.
+ virtual Pluginobj*
diff --git a/gold/reloc.cc b/gold/reloc.cc
-index 910c4ee..df897d3 100644
+index 3c9f7a9..b0f9b1c 100644
--- a/gold/reloc.cc
+++ b/gold/reloc.cc
@@ -866,7 +866,9 @@ Sized_relobj_file<size, big_endian>::write_sections(const Layout* layout,
@@ -261,7 +332,7 @@ index 910c4ee..df897d3 100644
this->section_name(i).c_str());
}
diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
-index e2390eb..0f00f2b 100644
+index 7669f27..9c28c9a 100644
--- a/gold/testsuite/Makefile.am
+++ b/gold/testsuite/Makefile.am
@@ -1239,6 +1239,22 @@ debug_msg_cdebug.err: debug_msg_cdebug.o odr_violation1_cdebug.o odr_violation2_
@@ -287,7 +358,7 @@ index e2390eb..0f00f2b 100644
# See if we can also detect problems when we're linking .so's, not .o's.
check_DATA += debug_msg_so.err
-@@ -2379,6 +2395,15 @@ gdb_index_test_2: gdb_index_test_cdebug.o gcctestdir/ld
+@@ -2400,6 +2416,15 @@ gdb_index_test_2: gdb_index_test_cdebug.o gcctestdir/ld
$(CXXLINK) -Bgcctestdir/ -Wl,--gdb-index $<
gdb_index_test_2.stdout: gdb_index_test_2
$(TEST_READELF) --debug-dump=gdb_index $< > $@
@@ -304,10 +375,10 @@ index e2390eb..0f00f2b 100644
# Another simple C test (DW_AT_high_pc encoding) for --gdb-index.
check_SCRIPTS += gdb_index_test_3.sh
diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in
-index fe8da13..85d478e 100644
+index 3f8818d..1131512 100644
--- a/gold/testsuite/Makefile.in
+++ b/gold/testsuite/Makefile.in
-@@ -268,6 +268,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
+@@ -274,6 +274,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ debug_msg.err \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ missing_key_func.err \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ debug_msg_cdebug.err \
@@ -315,7 +386,7 @@ index fe8da13..85d478e 100644
@GCC_TRUE@@NATIVE_LINKER_TRUE@ debug_msg_so.err \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ debug_msg_ndebug.err \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ undef_symbol.err \
-@@ -341,6 +342,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
+@@ -347,6 +348,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@am__append_36 = debug_msg.err \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ missing_key_func.err \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ debug_msg_cdebug.err \
@@ -323,7 +394,7 @@ index fe8da13..85d478e 100644
@GCC_TRUE@@NATIVE_LINKER_TRUE@ debug_msg_so.err \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ debug_msg_ndebug.err \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ undef_symbol.err \
-@@ -593,16 +595,20 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
+@@ -599,16 +601,20 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
# Test that --gdb-index functions correctly with gcc-generated pubnames.
@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@am__append_65 = gdb_index_test_1.sh \
@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_2.sh \
@@ -344,7 +415,7 @@ index fe8da13..85d478e 100644
@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_3.stdout \
@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_3 \
@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ gdb_index_test_4.stdout \
-@@ -4356,6 +4362,8 @@ gdb_index_test_1.sh.log: gdb_index_test_1.sh
+@@ -4412,6 +4418,8 @@ gdb_index_test_1.sh.log: gdb_index_test_1.sh
@p='gdb_index_test_1.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
gdb_index_test_2.sh.log: gdb_index_test_2.sh
@p='gdb_index_test_2.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
@@ -353,7 +424,7 @@ index fe8da13..85d478e 100644
gdb_index_test_3.sh.log: gdb_index_test_3.sh
@p='gdb_index_test_3.sh'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
gdb_index_test_4.sh.log: gdb_index_test_4.sh
-@@ -5394,6 +5402,20 @@ uninstall-am:
+@@ -5456,6 +5464,20 @@ uninstall-am:
@GCC_TRUE@@NATIVE_LINKER_TRUE@ rm -f $@; \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ exit 1; \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ fi
@@ -374,7 +445,7 @@ index fe8da13..85d478e 100644
@GCC_TRUE@@NATIVE_LINKER_TRUE@debug_msg.so: debug_msg.cc gcctestdir/ld
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXCOMPILE) -Bgcctestdir/ -O0 -g -shared -fPIC -w -o $@ $(srcdir)/debug_msg.cc
@GCC_TRUE@@NATIVE_LINKER_TRUE@odr_violation1.so: odr_violation1.cc gcctestdir/ld
-@@ -5967,6 +5989,12 @@ uninstall-am:
+@@ -6043,6 +6065,12 @@ uninstall-am:
@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -Wl,--gdb-index $<
@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@gdb_index_test_2.stdout: gdb_index_test_2
@GCC_TRUE@@HAVE_PUBNAMES_TRUE@@NATIVE_LINKER_TRUE@ $(TEST_READELF) --debug-dump=gdb_index $< > $@
@@ -420,5 +491,5 @@ index 0000000..def9bea
+
+exec ${srcdir}/gdb_index_test_comm.sh gdb_index_test_2_gabi.stdout
--
-1.9.3
+2.1.0
diff --git a/patches/binutils-pr18322.patch b/patches/binutils-pr18322.patch
index f2bc10b80b7..438fc5c2492 100644
--- a/patches/binutils-pr18322.patch
+++ b/patches/binutils-pr18322.patch
@@ -1,4 +1,4 @@
-From 27c2a5e2304878c50c4b7b0458123ca3c464ead5 Mon Sep 17 00:00:00 2001
+From abf939b601c7316f48524d9558170fff5494f902 Mon Sep 17 00:00:00 2001
From: "H.J. Lu" <hjl.tools@gmail.com>
Date: Sun, 22 Mar 2015 11:59:53 -0700
Subject: [PATCH 2/2] Extend --compress-debug-sections in gold
@@ -47,15 +47,15 @@ in gold.
(flagstest_compress_debug_sections_gnu.cmp): Likewise.
* testsuite/Makefile.in: Regenerated.
---
- gold/compressed_output.cc | 91 +++++++++++++++++++++++++----
+ gold/compressed_output.cc | 89 ++++++++++++++++++++++++----
gold/options.h | 4 +-
gold/output.h | 5 ++
- gold/testsuite/Makefile.am | 82 +++++++++++++++++++++++++-
- gold/testsuite/Makefile.in | 143 ++++++++++++++++++++++++++++++++++++++++++++-
- 5 files changed, 310 insertions(+), 15 deletions(-)
+ gold/testsuite/Makefile.am | 83 ++++++++++++++++++++++++++-
+ gold/testsuite/Makefile.in | 140 ++++++++++++++++++++++++++++++++++++++++++++-
+ 5 files changed, 307 insertions(+), 14 deletions(-)
diff --git a/gold/compressed_output.cc b/gold/compressed_output.cc
-index 02d7821..4a89318 100644
+index 02d7821..2630330 100644
--- a/gold/compressed_output.cc
+++ b/gold/compressed_output.cc
@@ -39,12 +39,12 @@ namespace gold
@@ -83,17 +83,17 @@ index 02d7821..4a89318 100644
*compressed_size += header_size;
return true;
}
-@@ -233,14 +230,88 @@ Output_compressed_section::set_final_data_size()
+@@ -233,14 +230,86 @@ Output_compressed_section::set_final_data_size()
this->write_to_postprocessing_buffer();
bool success = false;
-+ enum { none, zlib, gnu_zlib, gabi_zlib } compress;
++ enum { none, gnu_zlib, gabi_zlib } compress;
+ int compression_header_size = 12;
+ const int size = parameters->target().get_size();
if (strcmp(this->options_->compress_debug_sections(), "zlib") == 0)
- success = zlib_compress(uncompressed_data, uncompressed_size,
- &this->data_, &compressed_size);
-+ compress = zlib;
++ compress = gnu_zlib;
+ else if (strcmp(this->options_->compress_debug_sections(), "zlib-gnu") == 0)
+ compress = gnu_zlib;
+ else if (strcmp(this->options_->compress_debug_sections(), "zlib-gabi") == 0)
@@ -170,15 +170,13 @@ index 02d7821..4a89318 100644
+ // This converts .debug_foo to .zdebug_foo
+ this->new_section_name_ = std::string(".z") + (this->name() + 1);
+ this->set_name(this->new_section_name_.c_str());
-+ // Clear the SHF_COMPRESSED bit.
-+ flags &= ~elfcpp::SHF_COMPRESSED;
+ }
+ this->set_flags(flags);
this->set_data_size(compressed_size);
}
else
diff --git a/gold/options.h b/gold/options.h
-index 67eb1b2..d2d1b4b 100644
+index 455a09d..f4da128 100644
--- a/gold/options.h
+++ b/gold/options.h
@@ -697,8 +697,8 @@ class General_options
@@ -209,10 +207,10 @@ index be72965..c7ad54e 100644
uint64_t
entsize() const
diff --git a/gold/testsuite/Makefile.am b/gold/testsuite/Makefile.am
-index 0f00f2b..a5266b3 100644
+index 9c28c9a..d2f4668 100644
--- a/gold/testsuite/Makefile.am
+++ b/gold/testsuite/Makefile.am
-@@ -1319,12 +1319,92 @@ flagstest_o_specialfile: flagstest_debug.o gcctestdir/ld
+@@ -1319,8 +1319,22 @@ flagstest_o_specialfile: flagstest_debug.o gcctestdir/ld
chmod a+x $@
test -s $@
@@ -236,6 +234,9 @@ index 0f00f2b..a5266b3 100644
flagstest_compress_debug_sections: flagstest_debug.o gcctestdir/ld
$(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,--compress-debug-sections=zlib
test -s $@
+@@ -1334,6 +1348,73 @@ flagstest_compress_debug_sections_and_build_id_tree: flagstest_debug.o gcctestdi
+ -Wl,--build-id-min-file-size-for-treehash=0
+ test -s $@
+# Dump compressed DWARF debug sections.
+flagstest_compress_debug_sections.stdout: flagstest_compress_debug_sections
@@ -303,11 +304,12 @@ index 0f00f2b..a5266b3 100644
+ cmp flagstest_compress_debug_sections_gabi.stdout \
+ flagstest_compress_debug_sections_none.stdout > $@.tmp
+ mv -f $@.tmp $@
-
++
# The specialfile output has a tricky case when we also compress debug
# sections, because it requires output-file resizing.
+ check_PROGRAMS += flagstest_o_specialfile_and_compress_debug_sections
diff --git a/gold/testsuite/Makefile.in b/gold/testsuite/Makefile.in
-index 85d478e..bcfa3af 100644
+index 1131512..1c336c6 100644
--- a/gold/testsuite/Makefile.in
+++ b/gold/testsuite/Makefile.in
@@ -226,7 +226,7 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
@@ -317,20 +319,21 @@ index 85d478e..bcfa3af 100644
-# Test --compress-debug-sections. FIXME: check we actually compress.
+# Test --compress-debug-sections.
- # The specialfile output has a tricky case when we also compress debug
- # sections, because it requires output-file resizing.
-@@ -242,7 +242,10 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
+ # Test --compress-debug-sections with --build-id=tree.
+
+@@ -246,8 +246,11 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ many_sections_r_test initpri1 \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ initpri2 initpri3a \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_specialfile \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections_none \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections \
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections_and_build_id_tree \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections_gnu \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections_gabi \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_specialfile_and_compress_debug_sections \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_ttext_1 ver_test \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_2 ver_test_6 ver_test_8 \
-@@ -346,6 +349,16 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
+@@ -352,6 +355,16 @@ check_PROGRAMS = $(am__EXEEXT_1) $(am__EXEEXT_2) $(am__EXEEXT_3) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ debug_msg_so.err \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ debug_msg_ndebug.err \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ undef_symbol.err \
@@ -347,21 +350,22 @@ index 85d478e..bcfa3af 100644
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_ttext_2 \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_1.syms ver_test_2.syms \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test_4.syms ver_test_5.syms \
-@@ -901,7 +914,10 @@ libgoldtest_a_OBJECTS = $(am_libgoldtest_a_OBJECTS)
+@@ -907,8 +920,11 @@ libgoldtest_a_OBJECTS = $(am_libgoldtest_a_OBJECTS)
@GCC_TRUE@@NATIVE_LINKER_TRUE@ initpri2$(EXEEXT) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ initpri3a$(EXEEXT) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_specialfile$(EXEEXT) \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections_none$(EXEEXT) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections$(EXEEXT) \
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections_and_build_id_tree$(EXEEXT) \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections_gnu$(EXEEXT) \
+@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_compress_debug_sections_gabi$(EXEEXT) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_specialfile_and_compress_debug_sections$(EXEEXT) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ flagstest_o_ttext_1$(EXEEXT) \
@GCC_TRUE@@NATIVE_LINKER_TRUE@ ver_test$(EXEEXT) \
-@@ -1181,6 +1197,33 @@ flagstest_compress_debug_sections_DEPENDENCIES = libgoldtest.a \
- ../libgold.a ../../libiberty/libiberty.a $(am__DEPENDENCIES_1) \
+@@ -1199,6 +1215,33 @@ flagstest_compress_debug_sections_and_build_id_tree_DEPENDENCIES = \
+ libgoldtest.a ../libgold.a ../../libiberty/libiberty.a \
$(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1) \
- $(am__DEPENDENCIES_1)
+ $(am__DEPENDENCIES_1) $(am__DEPENDENCIES_1)
+flagstest_compress_debug_sections_gabi_SOURCES = \
+ flagstest_compress_debug_sections_gabi.c
+flagstest_compress_debug_sections_gabi_OBJECTS = \
@@ -392,23 +396,20 @@ index 85d478e..bcfa3af 100644
flagstest_o_specialfile_SOURCES = flagstest_o_specialfile.c
flagstest_o_specialfile_OBJECTS = flagstest_o_specialfile.$(OBJEXT)
flagstest_o_specialfile_LDADD = $(LDADD)
-@@ -2017,7 +2060,11 @@ SOURCES = $(libgoldtest_a_SOURCES) basic_pic_test.c basic_pie_test.c \
- $(exception_static_test_SOURCES) $(exception_test_SOURCES) \
- $(exception_x86_64_bnd_test_SOURCES) \
+@@ -2051,6 +2094,9 @@ SOURCES = $(libgoldtest_a_SOURCES) basic_pic_test.c basic_pie_test.c \
$(exclude_libs_test_SOURCES) \
-- flagstest_compress_debug_sections.c flagstest_o_specialfile.c \
-+ flagstest_compress_debug_sections.c \
+ flagstest_compress_debug_sections.c \
+ flagstest_compress_debug_sections_and_build_id_tree.c \
+ flagstest_compress_debug_sections_gabi.c \
+ flagstest_compress_debug_sections_gnu.c \
+ flagstest_compress_debug_sections_none.c \
-+ flagstest_o_specialfile.c \
+ flagstest_o_specialfile.c \
flagstest_o_specialfile_and_compress_debug_sections.c \
flagstest_o_ttext_1.c icf_virtual_function_folding_test.c \
- $(ifuncmain1_SOURCES) ifuncmain1pic.c ifuncmain1picstatic.c \
-@@ -3055,6 +3102,24 @@ exclude_libs_test$(EXEEXT): $(exclude_libs_test_OBJECTS) $(exclude_libs_test_DEP
- @NATIVE_LINKER_FALSE@flagstest_compress_debug_sections$(EXEEXT): $(flagstest_compress_debug_sections_OBJECTS) $(flagstest_compress_debug_sections_DEPENDENCIES)
- @NATIVE_LINKER_FALSE@ @rm -f flagstest_compress_debug_sections$(EXEEXT)
- @NATIVE_LINKER_FALSE@ $(LINK) $(flagstest_compress_debug_sections_OBJECTS) $(flagstest_compress_debug_sections_LDADD) $(LIBS)
+@@ -3096,6 +3142,24 @@ exclude_libs_test$(EXEEXT): $(exclude_libs_test_OBJECTS) $(exclude_libs_test_DEP
+ @NATIVE_LINKER_FALSE@flagstest_compress_debug_sections_and_build_id_tree$(EXEEXT): $(flagstest_compress_debug_sections_and_build_id_tree_OBJECTS) $(flagstest_compress_debug_sections_and_build_id_tree_DEPENDENCIES)
+ @NATIVE_LINKER_FALSE@ @rm -f flagstest_compress_debug_sections_and_build_id_tree$(EXEEXT)
+ @NATIVE_LINKER_FALSE@ $(LINK) $(flagstest_compress_debug_sections_and_build_id_tree_OBJECTS) $(flagstest_compress_debug_sections_and_build_id_tree_LDADD) $(LIBS)
+@GCC_FALSE@flagstest_compress_debug_sections_gabi$(EXEEXT): $(flagstest_compress_debug_sections_gabi_OBJECTS) $(flagstest_compress_debug_sections_gabi_DEPENDENCIES)
+@GCC_FALSE@ @rm -f flagstest_compress_debug_sections_gabi$(EXEEXT)
+@GCC_FALSE@ $(LINK) $(flagstest_compress_debug_sections_gabi_OBJECTS) $(flagstest_compress_debug_sections_gabi_LDADD) $(LIBS)
@@ -430,17 +431,17 @@ index 85d478e..bcfa3af 100644
@GCC_FALSE@flagstest_o_specialfile$(EXEEXT): $(flagstest_o_specialfile_OBJECTS) $(flagstest_o_specialfile_DEPENDENCIES)
@GCC_FALSE@ @rm -f flagstest_o_specialfile$(EXEEXT)
@GCC_FALSE@ $(LINK) $(flagstest_o_specialfile_OBJECTS) $(flagstest_o_specialfile_LDADD) $(LIBS)
-@@ -3793,6 +3858,9 @@ distclean-compile:
- @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exception_test_main.Po@am__quote@
+@@ -3847,6 +3911,9 @@ distclean-compile:
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/exclude_libs_test.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flagstest_compress_debug_sections.Po@am__quote@
+ @AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flagstest_compress_debug_sections_and_build_id_tree.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flagstest_compress_debug_sections_gabi.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flagstest_compress_debug_sections_gnu.Po@am__quote@
+@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flagstest_compress_debug_sections_none.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flagstest_o_specialfile.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flagstest_o_specialfile_and_compress_debug_sections.Po@am__quote@
@AMDEP_TRUE@@am__include@ @am__quote@./$(DEPDIR)/flagstest_o_ttext_1.Po@am__quote@
-@@ -4554,8 +4622,14 @@ initpri3a.log: initpri3a$(EXEEXT)
+@@ -4610,10 +4677,16 @@ initpri3a.log: initpri3a$(EXEEXT)
@p='initpri3a$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
flagstest_o_specialfile.log: flagstest_o_specialfile$(EXEEXT)
@p='flagstest_o_specialfile$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
@@ -448,6 +449,8 @@ index 85d478e..bcfa3af 100644
+ @p='flagstest_compress_debug_sections_none$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
flagstest_compress_debug_sections.log: flagstest_compress_debug_sections$(EXEEXT)
@p='flagstest_compress_debug_sections$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+ flagstest_compress_debug_sections_and_build_id_tree.log: flagstest_compress_debug_sections_and_build_id_tree$(EXEEXT)
+ @p='flagstest_compress_debug_sections_and_build_id_tree$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+flagstest_compress_debug_sections_gnu.log: flagstest_compress_debug_sections_gnu$(EXEEXT)
+ @p='flagstest_compress_debug_sections_gnu$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
+flagstest_compress_debug_sections_gabi.log: flagstest_compress_debug_sections_gabi$(EXEEXT)
@@ -455,7 +458,7 @@ index 85d478e..bcfa3af 100644
flagstest_o_specialfile_and_compress_debug_sections.log: flagstest_o_specialfile_and_compress_debug_sections$(EXEEXT)
@p='flagstest_o_specialfile_and_compress_debug_sections$(EXEEXT)'; $(am__check_pre) $(LOG_COMPILE) "$$tst" $(am__check_post)
flagstest_o_ttext_1.log: flagstest_o_ttext_1$(EXEEXT)
-@@ -5460,9 +5534,74 @@ uninstall-am:
+@@ -5522,6 +5595,14 @@ uninstall-am:
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -o /dev/stdout $< 2>&1 | cat > $@
@GCC_TRUE@@NATIVE_LINKER_TRUE@ chmod a+x $@
@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -s $@
@@ -470,6 +473,10 @@ index 85d478e..bcfa3af 100644
@GCC_TRUE@@NATIVE_LINKER_TRUE@flagstest_compress_debug_sections: flagstest_debug.o gcctestdir/ld
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -o $@ $< -Wl,--compress-debug-sections=zlib
@GCC_TRUE@@NATIVE_LINKER_TRUE@ test -s $@
+@@ -5531,6 +5612,63 @@ uninstall-am:
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-chunk-size-for-treehash=4096 \
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@ -Wl,--build-id-min-file-size-for-treehash=0
+ @GCC_TRUE@@NATIVE_LINKER_TRUE@ test -s $@
+
+# Dump compressed DWARF debug sections.
+@GCC_TRUE@@NATIVE_LINKER_TRUE@flagstest_compress_debug_sections.stdout: flagstest_compress_debug_sections
@@ -531,5 +538,5 @@ index 85d478e..bcfa3af 100644
@GCC_TRUE@@NATIVE_LINKER_TRUE@ gcctestdir/ld
@GCC_TRUE@@NATIVE_LINKER_TRUE@ $(CXXLINK) -Bgcctestdir/ -o /dev/stdout $< -Wl,--compress-debug-sections=zlib 2>&1 | cat > $@
--
-1.9.3
+2.1.0
diff --git a/sim/ChangeLog b/sim/ChangeLog
index 0c0dcd6c28d..d23797211eb 100644
--- a/sim/ChangeLog
+++ b/sim/ChangeLog
@@ -1,3 +1,12 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure.ac (AC_ARG_ENABLE(sim)): Call AS_HELP_STRING.
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * README-HACKING: Change configure.in to configure.ac.
+
2015-04-02 H.J. Lu <hongjiu.lu@intel.com>
* arm/configure: Regenerated.
diff --git a/sim/README-HACKING b/sim/README-HACKING
index 0a6bbe21e47..188ca3c1122 100644
--- a/sim/README-HACKING
+++ b/sim/README-HACKING
@@ -31,11 +31,11 @@ Common Makefile Support
A common configuration framework is available for simulators that want
to use it. The common framework exists to remove a lot of duplication
-in configure.in and Makefile.in, and it also provides a foundation for
+in configure.ac and Makefile.in, and it also provides a foundation for
enhancing the simulators uniformly (e.g. the more they share in common
the easier a feature added to one is added to all).
-The configure.in of a simulator using the common framework should look like:
+The configure.ac of a simulator using the common framework should look like:
--- snip ---
dnl Process this file with autoconf to produce a configure script.
diff --git a/sim/arm/ChangeLog b/sim/arm/ChangeLog
index 4d932108a43..a6533e0a20d 100644
--- a/sim/arm/ChangeLog
+++ b/sim/arm/ChangeLog
@@ -1,3 +1,65 @@
+2015-06-28 Nick Clifton <nickc@redhat.com>
+
+ * Makefile.in (SIM_EXTRA_CFLAGS): Add -lm.
+ * armdefs.h (ARMdval, ARMfval): New types.
+ (ARM_VFP_reg): New union.
+ (struct ARMul_State): Add VFP_Reg and FPSCR fields.
+ (VFP_fval, VFP_uword, VFP_sword, VFP_dval, VFP_dword): Accessor
+ macros for the new VFP_Reg field.
+ * armemu.c (handle_v6_insn): Add code to handle MOVW, MOVT,
+ QADD16, QASX, QSAX, QSUB16, QADD8, QSUB8, UADD16, USUB16, UADD8,
+ USUB8, SEL, REV, REV16, RBIT, BFC, BFI, SBFX and UBFX
+ instructions.
+ (handle_VFP_move): New function.
+ (ARMul_Emulate16): Add checks for newly supported v6
+ instructions. Add support for VMRS, VMOV and MRC instructions.
+ (Multiply64): Allow nRdHi == nRm and/or nRdLo == nRm when
+ operating in v6 mode.
+ * armemu.h (t_resolved): Define.
+ * armsupp.c: Include math.h.
+ (handle_VFP_xfer): New function. Handles VMOV, VSTM, VSTR, VPUSH,
+ VSTM, VLDM and VPOP instructions.
+ (ARMul_LDC): Test for co-processor 10 or 11 and pass call to the
+ new handle_VFP_xfer function.
+ (ARMul_STC): Likewise.
+ (handle_VFP_op): New function. Handles VMLA, VMLS, VNMLA, VNMLS,
+ VNMUL, VMUL, VADD, VSUB, VDIV, VMOV, VABS, VNEG, VSQRT, VCMP,
+ VCMPE and VCVT instructions.
+ (ARMul_CDP): Test for co-processor 10 or 11 and pass call to the
+ new handle_VFP_op function.
+ * thumbemu.c (tBIT, tBITS, ntBIT, ntBITS): New macros.
+ (test_cond): New function. Tests a condition and returns non-zero
+ if the condition has been met.
+ (handle_IT_block): New function.
+ (in_IT_block): New function.
+ (IT_block_allow): New function.
+ (ThumbExpandImm): New function.
+ (handle_T2_insn): New function. Handles T2 thumb instructions.
+ (handle_v6_thumb_insn): Add next_instr and pc parameters.
+ (ARMul_ThumbDecode): Add support for IT blocks. Add support for
+ v6 instructions.
+ * wrapper.c (sim_create_inferior): Detect a thumb address and call
+ SETT appropriately.
+
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * armdefs.h: Always include stdint.h.
+ [!__STDC__]: Delete.
+ [!HAVE_STDINT_H]: Delete.
+ * dbg_hif.h [!__STDC__]: Delete.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-main.h (SIM_CPU): Delete.
diff --git a/sim/arm/Makefile.in b/sim/arm/Makefile.in
index 745b62a8e77..760558843d2 100644
--- a/sim/arm/Makefile.in
+++ b/sim/arm/Makefile.in
@@ -17,7 +17,7 @@
## COMMON_PRE_CONFIG_FRAG
-SIM_EXTRA_CFLAGS = -DMODET
+SIM_EXTRA_CFLAGS = -DMODET -lm
SIM_OBJS = \
wrapper.o \
diff --git a/sim/arm/armdefs.h b/sim/arm/armdefs.h
index 50a0619cccc..4e19a628396 100644
--- a/sim/arm/armdefs.h
+++ b/sim/arm/armdefs.h
@@ -17,6 +17,7 @@
#include "config.h"
#include <stdio.h>
#include <stdlib.h>
+#include <stdint.h>
#define FALSE 0
#define TRUE 1
@@ -25,22 +26,10 @@
#define LOWHIGH 1
#define HIGHLOW 2
-#ifndef __STDC__
-typedef char *VoidStar;
-#endif
-
-#ifdef HAVE_STDINT_H
-#include <stdint.h>
typedef uint32_t ARMword;
typedef int32_t ARMsword;
typedef uint64_t ARMdword;
typedef int64_t ARMsdword;
-#else
-typedef unsigned int ARMword; /* must be 32 bits wide */
-typedef signed int ARMsword;
-typedef unsigned long long ARMdword; /* Must be at least 64 bits wide. */
-typedef signed long long ARMsdword;
-#endif
typedef struct ARMul_State ARMul_State;
typedef unsigned ARMul_CPInits (ARMul_State * state);
@@ -60,6 +49,25 @@ typedef unsigned ARMul_CPReads (ARMul_State * state, unsigned reg,
typedef unsigned ARMul_CPWrites (ARMul_State * state, unsigned reg,
ARMword value);
+typedef double ARMdval; /* FIXME: Must be a 64-bit floating point type. */
+typedef float ARMfval; /* FIXME: Must be a 32-bit floating point type. */
+
+typedef union
+{
+ ARMword uword[2];
+ ARMsword sword[2];
+ ARMfval fval[2];
+ ARMdword dword;
+ ARMdval dval;
+} ARM_VFP_reg;
+
+#define VFP_fval(N) (state->VFP_Reg[(N)>> 1].fval[(N) & 1])
+#define VFP_uword(N) (state->VFP_Reg[(N)>> 1].uword[(N) & 1])
+#define VFP_sword(N) (state->VFP_Reg[(N)>> 1].sword[(N) & 1])
+
+#define VFP_dval(N) (state->VFP_Reg[(N)].dval)
+#define VFP_dword(N) (state->VFP_Reg[(N)].dword)
+
struct ARMul_State
{
ARMword Emulate; /* to start and stop emulation */
@@ -149,6 +157,9 @@ struct ARMul_State
unsigned is_iWMMXt; /* Are we emulating an iWMMXt co-processor ? */
unsigned is_ep9312; /* Are we emulating a Cirrus Maverick co-processor ? */
unsigned verbose; /* Print various messages like the banner */
+
+ ARM_VFP_reg VFP_Reg[32]; /* Advanced SIMD registers. */
+ ARMword FPSCR; /* Floating Point Status Register. */
};
#define ResetPin NresetSig
diff --git a/sim/arm/armemu.c b/sim/arm/armemu.c
index 09dfeaf3485..f2a84eb575c 100644
--- a/sim/arm/armemu.c
+++ b/sim/arm/armemu.c
@@ -6,12 +6,12 @@
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/>. */
@@ -265,6 +265,11 @@ extern int stop_simulator;
static int
handle_v6_insn (ARMul_State * state, ARMword instr)
{
+ ARMword val;
+ ARMword Rd;
+ ARMword Rm;
+ ARMword Rn;
+
switch (BITS (20, 27))
{
#if 0
@@ -280,29 +285,427 @@ handle_v6_insn (ARMul_State * state, ARMword instr)
case 0x1d: printf ("Unhandled v6 insn: ldrexb\n"); break;
case 0x1e: printf ("Unhandled v6 insn: strexh\n"); break;
case 0x1f: printf ("Unhandled v6 insn: ldrexh\n"); break;
- case 0x30: printf ("Unhandled v6 insn: movw\n"); break;
case 0x32: printf ("Unhandled v6 insn: nop/sev/wfe/wfi/yield\n"); break;
- case 0x34: printf ("Unhandled v6 insn: movt\n"); break;
case 0x3f: printf ("Unhandled v6 insn: rbit\n"); break;
#endif
case 0x61: printf ("Unhandled v6 insn: sadd/ssub\n"); break;
- case 0x62: printf ("Unhandled v6 insn: qadd/qsub\n"); break;
case 0x63: printf ("Unhandled v6 insn: shadd/shsub\n"); break;
- case 0x65: printf ("Unhandled v6 insn: uadd/usub\n"); break;
- case 0x66: printf ("Unhandled v6 insn: uqadd/uqsub\n"); break;
- case 0x67: printf ("Unhandled v6 insn: uhadd/uhsub\n"); break;
- case 0x68: printf ("Unhandled v6 insn: pkh/sxtab/selsxtb\n"); break;
case 0x6c: printf ("Unhandled v6 insn: uxtb16/uxtab16\n"); break;
case 0x70: printf ("Unhandled v6 insn: smuad/smusd/smlad/smlsd\n"); break;
case 0x74: printf ("Unhandled v6 insn: smlald/smlsld\n"); break;
case 0x75: printf ("Unhandled v6 insn: smmla/smmls/smmul\n"); break;
case 0x78: printf ("Unhandled v6 insn: usad/usada8\n"); break;
- case 0x7a: printf ("Unhandled v6 insn: usbfx\n"); break;
- case 0x7c: printf ("Unhandled v6 insn: bfc/bfi\n"); break;
+
+ case 0x30:
+ {
+ /* MOVW<c> <Rd>,#<imm16>
+ instr[31,28] = cond
+ instr[27,20] = 0011 0000
+ instr[19,16] = imm4
+ instr[15,12] = Rd
+ instr[11, 0] = imm12. */
+ Rd = BITS (12, 15);
+ val = (BITS (16, 19) << 12) | BITS (0, 11);
+ state->Reg[Rd] = val;
+ return 1;
+ }
+
+ case 0x34:
+ {
+ /* MOVT<c> <Rd>,#<imm16>
+ instr[31,28] = cond
+ instr[27,20] = 0011 0100
+ instr[19,16] = imm4
+ instr[15,12] = Rd
+ instr[11, 0] = imm12. */
+ Rd = BITS (12, 15);
+ val = (BITS (16, 19) << 12) | BITS (0, 11);
+ state->Reg[Rd] &= 0xFFFF;
+ state->Reg[Rd] |= val << 16;
+ return 1;
+ }
+
+ case 0x62:
+ {
+ ARMword val1;
+ ARMword val2;
+ ARMsword n, m, r;
+ int i;
+
+ Rd = BITS (12, 15);
+ Rn = BITS (16, 19);
+ Rm = BITS (0, 3);
+
+ if (Rd == 15 || Rn == 15 || Rm == 15)
+ break;
+
+ val1 = state->Reg[Rn];
+ val2 = state->Reg[Rm];
+
+ switch (BITS (4, 11))
+ {
+ case 0xF1: /* QADD16<c> <Rd>,<Rn>,<Rm>. */
+ state->Reg[Rd] = 0;
+
+ for (i = 0; i < 32; i+= 16)
+ {
+ n = (val1 >> i) & 0xFFFF;
+ if (n & 0x8000)
+ n |= -1 << 16;
+
+ m = (val2 >> i) & 0xFFFF;
+ if (m & 0x8000)
+ m |= -1 << 16;
+
+ r = n + m;
+
+ if (r > 0x7FFF)
+ r = 0x7FFF;
+ else if (r < -(0x8000))
+ r = - 0x8000;
+
+ state->Reg[Rd] |= (r & 0xFFFF) << i;
+ }
+ return 1;
+
+ case 0xF3: /* QASX<c> <Rd>,<Rn>,<Rm>. */
+ n = val1 & 0xFFFF;
+ if (n & 0x8000)
+ n |= -1 << 16;
+
+ m = (val2 >> 16) & 0xFFFF;
+ if (m & 0x8000)
+ m |= -1 << 16;
+
+ r = n - m;
+
+ if (r > 0x7FFF)
+ r = 0x7FFF;
+ else if (r < -(0x8000))
+ r = - 0x8000;
+
+ state->Reg[Rd] = (r & 0xFFFF);
+
+ n = (val1 >> 16) & 0xFFFF;
+ if (n & 0x8000)
+ n |= -1 << 16;
+
+ m = val2 & 0xFFFF;
+ if (m & 0x8000)
+ m |= -1 << 16;
+
+ r = n + m;
+
+ if (r > 0x7FFF)
+ r = 0x7FFF;
+ else if (r < -(0x8000))
+ r = - 0x8000;
+
+ state->Reg[Rd] |= (r & 0xFFFF) << 16;
+ return 1;
+
+ case 0xF5: /* QSAX<c> <Rd>,<Rn>,<Rm>. */
+ n = val1 & 0xFFFF;
+ if (n & 0x8000)
+ n |= -1 << 16;
+
+ m = (val2 >> 16) & 0xFFFF;
+ if (m & 0x8000)
+ m |= -1 << 16;
+
+ r = n + m;
+
+ if (r > 0x7FFF)
+ r = 0x7FFF;
+ else if (r < -(0x8000))
+ r = - 0x8000;
+
+ state->Reg[Rd] = (r & 0xFFFF);
+
+ n = (val1 >> 16) & 0xFFFF;
+ if (n & 0x8000)
+ n |= -1 << 16;
+
+ m = val2 & 0xFFFF;
+ if (m & 0x8000)
+ m |= -1 << 16;
+
+ r = n - m;
+
+ if (r > 0x7FFF)
+ r = 0x7FFF;
+ else if (r < -(0x8000))
+ r = - 0x8000;
+
+ state->Reg[Rd] |= (r & 0xFFFF) << 16;
+ return 1;
+
+ case 0xF7: /* QSUB16<c> <Rd>,<Rn>,<Rm>. */
+ state->Reg[Rd] = 0;
+
+ for (i = 0; i < 32; i+= 16)
+ {
+ n = (val1 >> i) & 0xFFFF;
+ if (n & 0x8000)
+ n |= -1 << 16;
+
+ m = (val2 >> i) & 0xFFFF;
+ if (m & 0x8000)
+ m |= -1 << 16;
+
+ r = n - m;
+
+ if (r > 0x7FFF)
+ r = 0x7FFF;
+ else if (r < -(0x8000))
+ r = - 0x8000;
+
+ state->Reg[Rd] |= (r & 0xFFFF) << i;
+ }
+ return 1;
+
+ case 0xF9: /* QADD8<c> <Rd>,<Rn>,<Rm>. */
+ state->Reg[Rd] = 0;
+
+ for (i = 0; i < 32; i+= 8)
+ {
+ n = (val1 >> i) & 0xFF;
+ if (n & 0x80)
+ n |= -1 << 8;
+
+ m = (val2 >> i) & 0xFF;
+ if (m & 0x80)
+ m |= -1 << 8;
+
+ r = n + m;
+
+ if (r > 127)
+ r = 127;
+ else if (r < -128)
+ r = -128;
+
+ state->Reg[Rd] |= (r & 0xFF) << i;
+ }
+ return 1;
+
+ case 0xFF: /* QSUB8<c> <Rd>,<Rn>,<Rm>. */
+ state->Reg[Rd] = 0;
+
+ for (i = 0; i < 32; i+= 8)
+ {
+ n = (val1 >> i) & 0xFF;
+ if (n & 0x80)
+ n |= -1 << 8;
+
+ m = (val2 >> i) & 0xFF;
+ if (m & 0x80)
+ m |= -1 << 8;
+
+ r = n - m;
+
+ if (r > 127)
+ r = 127;
+ else if (r < -128)
+ r = -128;
+
+ state->Reg[Rd] |= (r & 0xFF) << i;
+ }
+ return 1;
+
+ default:
+ break;
+ }
+ break;
+ }
+
+ case 0x65:
+ {
+ ARMword valn;
+ ARMword valm;
+ ARMword res1, res2, res3, res4;
+
+ /* U{ADD|SUB}{8|16}<c> <Rd>, <Rn>, <Rm>
+ instr[31,28] = cond
+ instr[27,20] = 0110 0101
+ instr[19,16] = Rn
+ instr[15,12] = Rd
+ instr[11, 8] = 1111
+ instr[ 7, 4] = opcode: UADD8 (1001), UADD16 (0001), USUB8 (1111), USUB16 (0111)
+ instr[ 3, 0] = Rm. */
+ if (BITS (8, 11) != 0xF)
+ break;
+
+ Rn = BITS (16, 19);
+ Rd = BITS (12, 15);
+ Rm = BITS (0, 3);
+
+ if (Rn == 15 || Rd == 15 || Rm == 15)
+ {
+ ARMul_UndefInstr (state, instr);
+ state->Emulate = FALSE;
+ break;
+ }
+
+ valn = state->Reg[Rn];
+ valm = state->Reg[Rm];
+
+ switch (BITS (4, 7))
+ {
+ case 1: /* UADD16. */
+ res1 = (valn & 0xFFFF) + (valm & 0xFFFF);
+ if (res1 > 0xFFFF)
+ state->Cpsr |= (GE0 | GE1);
+ else
+ state->Cpsr &= ~ (GE0 | GE1);
+
+ res2 = (valn >> 16) + (valm >> 16);
+ if (res2 > 0xFFFF)
+ state->Cpsr |= (GE2 | GE3);
+ else
+ state->Cpsr &= ~ (GE2 | GE3);
+
+ state->Reg[Rd] = (res1 & 0xFFFF) | (res2 << 16);
+ return 1;
+
+ case 7: /* USUB16. */
+ res1 = (valn & 0xFFFF) - (valm & 0xFFFF);
+ if (res1 & 0x800000)
+ state->Cpsr |= (GE0 | GE1);
+ else
+ state->Cpsr &= ~ (GE0 | GE1);
+
+ res2 = (valn >> 16) - (valm >> 16);
+ if (res2 & 0x800000)
+ state->Cpsr |= (GE2 | GE3);
+ else
+ state->Cpsr &= ~ (GE2 | GE3);
+
+ state->Reg[Rd] = (res1 & 0xFFFF) | (res2 << 16);
+ return 1;
+
+ case 9: /* UADD8. */
+ res1 = (valn & 0xFF) + (valm & 0xFF);
+ if (res1 > 0xFF)
+ state->Cpsr |= GE0;
+ else
+ state->Cpsr &= ~ GE0;
+
+ res2 = ((valn >> 8) & 0xFF) + ((valm >> 8) & 0xFF);
+ if (res2 > 0xFF)
+ state->Cpsr |= GE1;
+ else
+ state->Cpsr &= ~ GE1;
+
+ res3 = ((valn >> 16) & 0xFF) + ((valm >> 16) & 0xFF);
+ if (res3 > 0xFF)
+ state->Cpsr |= GE2;
+ else
+ state->Cpsr &= ~ GE2;
+
+ res4 = (valn >> 24) + (valm >> 24);
+ if (res4 > 0xFF)
+ state->Cpsr |= GE3;
+ else
+ state->Cpsr &= ~ GE3;
+
+ state->Reg[Rd] = (res1 & 0xFF) | ((res2 << 8) & 0xFF00)
+ | ((res3 << 16) & 0xFF0000) | (res4 << 24);
+ return 1;
+
+ case 15: /* USUB8. */
+ res1 = (valn & 0xFF) - (valm & 0xFF);
+ if (res1 & 0x800000)
+ state->Cpsr |= GE0;
+ else
+ state->Cpsr &= ~ GE0;
+
+ res2 = ((valn >> 8) & 0XFF) - ((valm >> 8) & 0xFF);
+ if (res2 & 0x800000)
+ state->Cpsr |= GE1;
+ else
+ state->Cpsr &= ~ GE1;
+
+ res3 = ((valn >> 16) & 0XFF) - ((valm >> 16) & 0xFF);
+ if (res3 & 0x800000)
+ state->Cpsr |= GE2;
+ else
+ state->Cpsr &= ~ GE2;
+
+ res4 = (valn >> 24) - (valm >> 24) ;
+ if (res4 & 0x800000)
+ state->Cpsr |= GE3;
+ else
+ state->Cpsr &= ~ GE3;
+
+ state->Reg[Rd] = (res1 & 0xFF) | ((res2 << 8) & 0xFF00)
+ | ((res3 << 16) & 0xFF0000) | (res4 << 24);
+ return 1;
+
+ default:
+ break;
+ }
+ break;
+ }
+
+ case 0x68:
+ {
+ ARMword res;
+
+ /* PKHBT<c> <Rd>,<Rn>,<Rm>{,LSL #<imm>}
+ PKHTB<c> <Rd>,<Rn>,<Rm>{,ASR #<imm>}
+ SXTAB16<c> <Rd>,<Rn>,<Rm>{,<rotation>}
+ SXTB16<c> <Rd>,<Rm>{,<rotation>}
+ SEL<c> <Rd>,<Rn>,<Rm>
+
+ instr[31,28] = cond
+ instr[27,20] = 0110 1000
+ instr[19,16] = Rn
+ instr[15,12] = Rd
+ instr[11, 7] = imm5 (PKH), 11111 (SEL), rr000 (SXTAB16 & SXTB16),
+ instr[6] = tb (PKH), 0 (SEL), 1 (SXT)
+ instr[5] = opcode: PKH (0), SEL/SXT (1)
+ instr[4] = 1
+ instr[ 3, 0] = Rm. */
+
+ if (BIT (4) != 1)
+ break;
+
+ if (BIT (5) == 0)
+ {
+ /* FIXME: Add implementation of PKH. */
+ fprintf (stderr, "PKH: NOT YET IMPLEMENTED\n");
+ ARMul_UndefInstr (state, instr);
+ break;
+ }
+
+ if (BIT (6) == 1)
+ {
+ /* FIXME: Add implementation of SXT. */
+ fprintf (stderr, "SXT: NOT YET IMPLEMENTED\n");
+ ARMul_UndefInstr (state, instr);
+ break;
+ }
+
+ Rn = BITS (16, 19);
+ Rd = BITS (12, 15);
+ Rm = BITS (0, 3);
+ if (Rn == 15 || Rm == 15 || Rd == 15)
+ {
+ ARMul_UndefInstr (state, instr);
+ state->Emulate = FALSE;
+ break;
+ }
+
+ res = (state->Reg[(state->Cpsr & GE0) ? Rn : Rm]) & 0xFF;
+ res |= (state->Reg[(state->Cpsr & GE1) ? Rn : Rm]) & 0xFF00;
+ res |= (state->Reg[(state->Cpsr & GE2) ? Rn : Rm]) & 0xFF0000;
+ res |= (state->Reg[(state->Cpsr & GE3) ? Rn : Rm]) & 0xFF000000;
+ state->Reg[Rd] = res;
+ return 1;
+ }
case 0x6a:
{
- ARMword Rm;
int ror = -1;
switch (BITS (4, 11))
@@ -316,6 +719,7 @@ handle_v6_insn (ARMul_State * state, ARMword instr)
case 0xf3:
printf ("Unhandled v6 insn: ssat\n");
return 0;
+
default:
break;
}
@@ -345,9 +749,8 @@ handle_v6_insn (ARMul_State * state, ARMword instr)
case 0x6b:
{
- ARMword Rm;
int ror = -1;
-
+
switch (BITS (4, 11))
{
case 0x07: ror = 0; break;
@@ -355,9 +758,57 @@ handle_v6_insn (ARMul_State * state, ARMword instr)
case 0x87: ror = 16; break;
case 0xc7: ror = 24; break;
+ case 0xf3:
+ {
+ /* REV<c> <Rd>,<Rm>
+ instr[31,28] = cond
+ instr[27,20] = 0110 1011
+ instr[19,16] = 1111
+ instr[15,12] = Rd
+ instr[11, 4] = 1111 0011
+ instr[ 3, 0] = Rm. */
+ if (BITS (16, 19) != 0xF)
+ break;
+
+ Rd = BITS (12, 15);
+ Rm = BITS (0, 3);
+ if (Rd == 15 || Rm == 15)
+ {
+ ARMul_UndefInstr (state, instr);
+ state->Emulate = FALSE;
+ break;
+ }
+
+ val = state->Reg[Rm] << 24;
+ val |= ((state->Reg[Rm] << 8) & 0xFF0000);
+ val |= ((state->Reg[Rm] >> 8) & 0xFF00);
+ val |= ((state->Reg[Rm] >> 24));
+ state->Reg[Rd] = val;
+ return 1;
+ }
+
case 0xfb:
- printf ("Unhandled v6 insn: rev\n");
- return 0;
+ {
+ /* REV16<c> <Rd>,<Rm>. */
+ if (BITS (16, 19) != 0xF)
+ break;
+
+ Rd = BITS (12, 15);
+ Rm = BITS (0, 3);
+ if (Rd == 15 || Rm == 15)
+ {
+ ARMul_UndefInstr (state, instr);
+ state->Emulate = FALSE;
+ break;
+ }
+
+ val = 0;
+ val |= ((state->Reg[Rm] >> 8) & 0x00FF00FF);
+ val |= ((state->Reg[Rm] << 8) & 0xFF00FF00);
+ state->Reg[Rd] = val;
+ return 1;
+ }
+
default:
break;
}
@@ -380,9 +831,8 @@ handle_v6_insn (ARMul_State * state, ARMword instr)
case 0x6e:
{
- ARMword Rm;
int ror = -1;
-
+
switch (BITS (4, 11))
{
case 0x07: ror = 0; break;
@@ -394,6 +844,7 @@ handle_v6_insn (ARMul_State * state, ARMword instr)
case 0xf3:
printf ("Unhandled v6 insn: usat\n");
return 0;
+
default:
break;
}
@@ -411,7 +862,7 @@ handle_v6_insn (ARMul_State * state, ARMword instr)
Rm = ((state->Reg[BITS (0, 3)] >> ror) & 0xFF);
if (BITS (16, 19) == 0xf)
- /* UXTB */
+ /* UXTB */
state->Reg[BITS (12, 15)] = Rm;
else
/* UXTAB */
@@ -421,9 +872,9 @@ handle_v6_insn (ARMul_State * state, ARMword instr)
case 0x6f:
{
- ARMword Rm;
+ int i;
int ror = -1;
-
+
switch (BITS (4, 11))
{
case 0x07: ror = 0; break;
@@ -431,9 +882,21 @@ handle_v6_insn (ARMul_State * state, ARMword instr)
case 0x87: ror = 16; break;
case 0xc7: ror = 24; break;
+ case 0xf3: /* RBIT */
+ if (BITS (16, 19) != 0xF)
+ break;
+ Rd = BITS (12, 15);
+ state->Reg[Rd] = 0;
+ Rm = state->Reg[BITS (0, 3)];
+ for (i = 0; i < 32; i++)
+ if (Rm & (1 << i))
+ state->Reg[Rd] |= (1 << (31 - i));
+ return 1;
+
case 0xfb:
printf ("Unhandled v6 insn: revsh\n");
return 0;
+
default:
break;
}
@@ -447,13 +910,138 @@ handle_v6_insn (ARMul_State * state, ARMword instr)
/* UXT */
state->Reg[BITS (12, 15)] = Rm;
else
+ /* UXTAH */
+ state->Reg[BITS (12, 15)] = state->Reg [BITS (16, 19)] + Rm;
+ }
+ return 1;
+
+ case 0x7c:
+ case 0x7d:
+ {
+ int lsb;
+ int msb;
+ ARMword mask;
+
+ /* BFC<c> <Rd>,#<lsb>,#<width>
+ BFI<c> <Rd>,<Rn>,#<lsb>,#<width>
+
+ instr[31,28] = cond
+ instr[27,21] = 0111 110
+ instr[20,16] = msb
+ instr[15,12] = Rd
+ instr[11, 7] = lsb
+ instr[ 6, 4] = 001 1111
+ instr[ 3, 0] = Rn (BFI) / 1111 (BFC). */
+
+ if (BITS (4, 6) != 0x1)
+ break;
+
+ Rd = BITS (12, 15);
+ if (Rd == 15)
{
- /* UXTAH */
- state->Reg[BITS (12, 15)] = state->Reg [BITS (16, 19)] + Rm;
+ ARMul_UndefInstr (state, instr);
+ state->Emulate = FALSE;
+ }
+
+ lsb = BITS (7, 11);
+ msb = BITS (16, 20);
+ if (lsb > msb)
+ {
+ ARMul_UndefInstr (state, instr);
+ state->Emulate = FALSE;
}
- }
- return 1;
+ mask = -1 << lsb;
+ mask &= ~(-1 << (msb + 1));
+ state->Reg[Rd] &= ~ mask;
+
+ Rn = BITS (0, 3);
+ if (Rn != 0xF)
+ {
+ ARMword val = state->Reg[Rn] & ~(-1 << ((msb + 1) - lsb));
+ state->Reg[Rd] |= val << lsb;
+ }
+ return 1;
+ }
+
+ case 0x7b:
+ case 0x7a: /* SBFX<c> <Rd>,<Rn>,#<lsb>,#<width>. */
+ {
+ int lsb;
+ int widthm1;
+ ARMsword sval;
+
+ if (BITS (4, 6) != 0x5)
+ break;
+
+ Rd = BITS (12, 15);
+ if (Rd == 15)
+ {
+ ARMul_UndefInstr (state, instr);
+ state->Emulate = FALSE;
+ }
+
+ Rn = BITS (0, 3);
+ if (Rn == 15)
+ {
+ ARMul_UndefInstr (state, instr);
+ state->Emulate = FALSE;
+ }
+
+ lsb = BITS (7, 11);
+ widthm1 = BITS (16, 20);
+
+ sval = state->Reg[Rn];
+ sval <<= (31 - (lsb + widthm1));
+ sval >>= (31 - widthm1);
+ state->Reg[Rd] = sval;
+
+ return 1;
+ }
+
+ case 0x7f:
+ case 0x7e:
+ {
+ int lsb;
+ int widthm1;
+
+ /* UBFX<c> <Rd>,<Rn>,#<lsb>,#<width>
+ instr[31,28] = cond
+ instr[27,21] = 0111 111
+ instr[20,16] = widthm1
+ instr[15,12] = Rd
+ instr[11, 7] = lsb
+ instr[ 6, 4] = 101
+ instr[ 3, 0] = Rn. */
+
+ if (BITS (4, 6) != 0x5)
+ break;
+
+ Rd = BITS (12, 15);
+ if (Rd == 15)
+ {
+ ARMul_UndefInstr (state, instr);
+ state->Emulate = FALSE;
+ }
+
+ Rn = BITS (0, 3);
+ if (Rn == 15)
+ {
+ ARMul_UndefInstr (state, instr);
+ state->Emulate = FALSE;
+ }
+
+ lsb = BITS (7, 11);
+ widthm1 = BITS (16, 20);
+
+ val = state->Reg[Rn];
+ val >>= lsb;
+ val &= ~(-1 << (widthm1 + 1));
+
+ state->Reg[Rd] = val;
+
+ return 1;
+ }
#if 0
case 0x84: printf ("Unhandled v6 insn: srs\n"); break;
#endif
@@ -465,6 +1053,91 @@ handle_v6_insn (ARMul_State * state, ARMword instr)
}
#endif
+static void
+handle_VFP_move (ARMul_State * state, ARMword instr)
+{
+ switch (BITS (20, 27))
+ {
+ case 0xC4:
+ case 0xC5:
+ switch (BITS (4, 11))
+ {
+ case 0xA1:
+ case 0xA3:
+ {
+ /* VMOV two core <-> two VFP single precision. */
+ int sreg = (BITS (0, 3) << 1) | BIT (5);
+
+ if (BIT (20))
+ {
+ state->Reg[BITS (12, 15)] = VFP_uword (sreg);
+ state->Reg[BITS (16, 19)] = VFP_uword (sreg + 1);
+ }
+ else
+ {
+ VFP_uword (sreg) = state->Reg[BITS (12, 15)];
+ VFP_uword (sreg + 1) = state->Reg[BITS (16, 19)];
+ }
+ }
+ break;
+
+ case 0xB1:
+ case 0xB3:
+ {
+ /* VMOV two core <-> VFP double precision. */
+ int dreg = BITS (0, 3) | (BIT (5) << 4);
+
+ if (BIT (20))
+ {
+ if (trace)
+ fprintf (stderr, " VFP: VMOV: r%d r%d <= d%d\n",
+ BITS (12, 15), BITS (16, 19), dreg);
+
+ state->Reg[BITS (12, 15)] = VFP_dword (dreg);
+ state->Reg[BITS (16, 19)] = VFP_dword (dreg) >> 32;
+ }
+ else
+ {
+ VFP_dword (dreg) = state->Reg[BITS (16, 19)];
+ VFP_dword (dreg) <<= 32;
+ VFP_dword (dreg) |= state->Reg[BITS (12, 15)];
+
+ if (trace)
+ fprintf (stderr, " VFP: VMOV: d%d <= r%d r%d : %g\n",
+ dreg, BITS (16, 19), BITS (12, 15),
+ VFP_dval (dreg));
+ }
+ }
+ break;
+
+ default:
+ fprintf (stderr, "SIM: VFP: Unimplemented move insn %x\n", BITS (20, 27));
+ break;
+ }
+ break;
+
+ case 0xe0:
+ case 0xe1:
+ /* VMOV single core <-> VFP single precision. */
+ if (BITS (0, 6) != 0x10 || BITS (8, 11) != 0xA)
+ fprintf (stderr, "SIM: VFP: Unimplemented move insn %x\n", BITS (20, 27));
+ else
+ {
+ int sreg = (BITS (16, 19) << 1) | BIT (7);
+
+ if (BIT (20))
+ state->Reg[DESTReg] = VFP_uword (sreg);
+ else
+ VFP_uword (sreg) = state->Reg[DESTReg];
+ }
+ break;
+
+ default:
+ fprintf (stderr, "SIM: VFP: Unimplemented move insn %x\n", BITS (20, 27));
+ return;
+ }
+}
+
/* EMULATION of ARM6. */
/* The PC pipeline value depends on whether ARM
@@ -703,9 +1376,9 @@ ARMul_Emulate26 (ARMul_State * state)
if (BITS (25, 27) == 5) /* BLX(1) */
{
ARMword dest;
-
+
state->Reg[14] = pc + 4;
-
+
/* Force entry into Thumb mode. */
dest = pc + 8 + 1;
if (BIT (23))
@@ -875,7 +1548,7 @@ check_PMUintr:
ARMword temp = GetLS7RHS (state, instr);
ARMword temp2 = BIT (23) ? LHS + temp : LHS - temp;
ARMword addr = BIT (24) ? temp2 : LHS;
-
+
if (BIT (12))
ARMul_UndefInstr (state, instr);
else if (addr & 7)
@@ -884,7 +1557,7 @@ check_PMUintr:
else
{
int wb = BIT (21) || (! BIT (24));
-
+
state->Reg[BITS (12, 15)] =
ARMul_LoadWordN (state, addr);
state->Reg[BITS (12, 15) + 1] =
@@ -1456,7 +2129,7 @@ check_PMUintr:
ARMword op1 = state->Reg[BITS (0, 3)];
ARMword op2 = state->Reg[BITS (8, 11)];
ARMword Rn = state->Reg[BITS (12, 15)];
-
+
if (BIT (5))
op1 >>= 16;
if (BIT (6))
@@ -1468,7 +2141,7 @@ check_PMUintr:
if (op2 & 0x8000)
op2 -= 65536;
op1 *= op2;
-
+
if (AddOverflow (op1, Rn, op1 + Rn))
SETS;
state->Reg[BITS (16, 19)] = op1 + Rn;
@@ -1538,6 +2211,11 @@ check_PMUintr:
}
else
{
+#ifdef MODE32
+ if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
UNDEF_Test;
}
break;
@@ -1611,7 +2289,7 @@ check_PMUintr:
if (BIT (5) == 0)
{
ARMword Rn = state->Reg[BITS (12, 15)];
-
+
if (AddOverflow (result, Rn, result + Rn))
SETS;
result += Rn;
@@ -1704,6 +2382,11 @@ check_PMUintr:
#endif
ARMul_FixCPSR (state, instr, temp);
}
+#ifdef MODE32
+ else if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
else
UNDEF_Test;
@@ -1834,6 +2517,11 @@ check_PMUintr:
UNDEF_MRSPC;
DEST = GETSPSR (state->Bank);
}
+#ifdef MODE32
+ else if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
else
UNDEF_Test;
@@ -1970,6 +2658,11 @@ check_PMUintr:
}
else
{
+#ifdef MODE32
+ if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
UNDEF_Test;
}
break;
@@ -2325,6 +3018,11 @@ check_PMUintr:
break;
case 0x30: /* MOVW immed */
+#ifdef MODE32
+ if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
dest = BITS (0, 11);
dest |= (BITS (16, 19) << 12);
WRITEDEST (dest);
@@ -2355,6 +3053,11 @@ check_PMUintr:
if (DESTReg == 15)
/* MSR immed to CPSR. */
ARMul_FixCPSR (state, instr, DPImmRHS);
+#ifdef MODE32
+ else if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
else
UNDEF_Test;
break;
@@ -2380,6 +3083,12 @@ check_PMUintr:
break;
case 0x34: /* MOVT immed */
+#ifdef MODE32
+ if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
+ DEST &= 0xFFFF;
dest = BITS (0, 11);
dest |= (BITS (16, 19) << 12);
DEST |= (dest << 16);
@@ -2422,6 +3131,11 @@ check_PMUintr:
case 0x36: /* CMN immed and MSR immed to SPSR */
if (DESTReg == 15)
ARMul_FixSPSR (state, instr, DPImmRHS);
+#ifdef MODE32
+ else if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
else
UNDEF_Test;
break;
@@ -2739,6 +3453,11 @@ check_PMUintr:
case 0x60: /* Store Word, No WriteBack, Post Dec, Reg. */
if (BIT (4))
{
+#ifdef MODE32
+ if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
ARMul_UndefInstr (state, instr);
break;
}
@@ -2820,6 +3539,11 @@ check_PMUintr:
case 0x64: /* Store Byte, No WriteBack, Post Dec, Reg. */
if (BIT (4))
{
+#ifdef MODE32
+ if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
ARMul_UndefInstr (state, instr);
break;
}
@@ -2921,6 +3645,11 @@ check_PMUintr:
case 0x69: /* Load Word, No WriteBack, Post Inc, Reg. */
if (BIT (4))
{
+#ifdef MODE32
+ if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
ARMul_UndefInstr (state, instr);
break;
}
@@ -3002,6 +3731,11 @@ check_PMUintr:
case 0x6d: /* Load Byte, No WriteBack, Post Inc, Reg. */
if (BIT (4))
{
+#ifdef MODE32
+ if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
ARMul_UndefInstr (state, instr);
break;
}
@@ -3078,6 +3812,11 @@ check_PMUintr:
case 0x71: /* Load Word, No WriteBack, Pre Dec, Reg. */
if (BIT (4))
{
+#ifdef MODE32
+ if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
ARMul_UndefInstr (state, instr);
break;
}
@@ -3087,6 +3826,11 @@ check_PMUintr:
case 0x72: /* Store Word, WriteBack, Pre Dec, Reg. */
if (BIT (4))
{
+#ifdef MODE32
+ if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
ARMul_UndefInstr (state, instr);
break;
}
@@ -3102,6 +3846,11 @@ check_PMUintr:
case 0x73: /* Load Word, WriteBack, Pre Dec, Reg. */
if (BIT (4))
{
+#ifdef MODE32
+ if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
ARMul_UndefInstr (state, instr);
break;
}
@@ -3145,6 +3894,11 @@ check_PMUintr:
case 0x76: /* Store Byte, WriteBack, Pre Dec, Reg. */
if (BIT (4))
{
+#ifdef MODE32
+ if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
ARMul_UndefInstr (state, instr);
break;
}
@@ -3160,6 +3914,11 @@ check_PMUintr:
case 0x77: /* Load Byte, WriteBack, Pre Dec, Reg. */
if (BIT (4))
{
+#ifdef MODE32
+ if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
ARMul_UndefInstr (state, instr);
break;
}
@@ -3189,6 +3948,11 @@ check_PMUintr:
case 0x79: /* Load Word, No WriteBack, Pre Inc, Reg. */
if (BIT (4))
{
+#ifdef MODE32
+ if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
ARMul_UndefInstr (state, instr);
break;
}
@@ -3218,6 +3982,11 @@ check_PMUintr:
case 0x7b: /* Load Word, WriteBack, Pre Inc, Reg. */
if (BIT (4))
{
+#ifdef MODE32
+ if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
ARMul_UndefInstr (state, instr);
break;
}
@@ -3247,6 +4016,11 @@ check_PMUintr:
case 0x7d: /* Load Byte, No WriteBack, Pre Inc, Reg. */
if (BIT (4))
{
+#ifdef MODE32
+ if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
ARMul_UndefInstr (state, instr);
break;
}
@@ -3256,6 +4030,11 @@ check_PMUintr:
case 0x7e: /* Store Byte, WriteBack, Pre Inc, Reg. */
if (BIT (4))
{
+#ifdef MODE32
+ if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
ARMul_UndefInstr (state, instr);
break;
}
@@ -3279,6 +4058,11 @@ check_PMUintr:
if (!ARMul_OSHandleSWI (state, SWI_Breakpoint))
ARMul_Abort (state, ARMul_SWIV);
}
+#ifdef MODE32
+ else if (state->is_v6
+ && handle_v6_insn (state, instr))
+ break;
+#endif
else
ARMul_UndefInstr (state, instr);
break;
@@ -3513,8 +4297,10 @@ check_PMUintr:
case 0xc4:
if (state->is_v5)
{
+ if (CPNum == 10 || CPNum == 11)
+ handle_VFP_move (state, instr);
/* Reading from R15 is UNPREDICTABLE. */
- if (BITS (12, 15) == 15 || BITS (16, 19) == 15)
+ else if (BITS (12, 15) == 15 || BITS (16, 19) == 15)
ARMul_UndefInstr (state, instr);
/* Is access to coprocessor 0 allowed ? */
else if (! CP_ACCESS_ALLOWED (state, CPNum))
@@ -3540,11 +4326,11 @@ check_PMUintr:
}
else
/* FIXME: Not sure what to do for other v5 processors. */
- ARMul_UndefInstr (state, instr);
+ ARMul_UndefInstr (state, instr);
break;
}
/* Drop through. */
-
+
case 0xc0: /* Store , No WriteBack , Post Dec. */
ARMul_STC (state, instr, LHS);
break;
@@ -3552,8 +4338,10 @@ check_PMUintr:
case 0xc5:
if (state->is_v5)
{
+ if (CPNum == 10 || CPNum == 11)
+ handle_VFP_move (state, instr);
/* Writes to R15 are UNPREDICATABLE. */
- if (DESTReg == 15 || LHSReg == 15)
+ else if (DESTReg == 15 || LHSReg == 15)
ARMul_UndefInstr (state, instr);
/* Is access to the coprocessor allowed ? */
else if (! CP_ACCESS_ALLOWED (state, CPNum))
@@ -3786,8 +4574,10 @@ check_PMUintr:
case 0xee:
if (BIT (4))
{
+ if (CPNum == 10 || CPNum == 11)
+ handle_VFP_move (state, instr);
/* MCR. */
- if (DESTReg == 15)
+ else if (DESTReg == 15)
{
UNDEF_MCRPC;
#ifdef MODE32
@@ -3817,17 +4607,69 @@ check_PMUintr:
case 0xef:
if (BIT (4))
{
- /* MRC */
- temp = ARMul_MRC (state, instr);
- if (DESTReg == 15)
+ if (CPNum == 10 || CPNum == 11)
{
- ASSIGNN ((temp & NBIT) != 0);
- ASSIGNZ ((temp & ZBIT) != 0);
- ASSIGNC ((temp & CBIT) != 0);
- ASSIGNV ((temp & VBIT) != 0);
+ switch (BITS (20, 27))
+ {
+ case 0xEF:
+ if (BITS (16, 19) == 0x1
+ && BITS (0, 11) == 0xA10)
+ {
+ /* VMRS */
+ if (DESTReg == 15)
+ {
+ ARMul_SetCPSR (state, (state->FPSCR & 0xF0000000)
+ | (ARMul_GetCPSR (state) & 0x0FFFFFFF));
+
+ if (trace)
+ fprintf (stderr, " VFP: VMRS: set flags to %c%c%c%c\n",
+ ARMul_GetCPSR (state) & NBIT ? 'N' : '-',
+ ARMul_GetCPSR (state) & ZBIT ? 'Z' : '-',
+ ARMul_GetCPSR (state) & CBIT ? 'C' : '-',
+ ARMul_GetCPSR (state) & VBIT ? 'V' : '-');
+ }
+ else
+ {
+ state->Reg[DESTReg] = state->FPSCR;
+
+ if (trace)
+ fprintf (stderr, " VFP: VMRS: r%d = %x\n", DESTReg, state->Reg[DESTReg]);
+ }
+ }
+ else
+ fprintf (stderr, "SIM: VFP: Unimplemented: Compare op\n");
+ break;
+
+ case 0xE0:
+ case 0xE1:
+ /* VMOV reg <-> single precision. */
+ if (BITS (0,6) != 0x10 || BITS (8,11) != 0xA)
+ fprintf (stderr, "SIM: VFP: Unimplemented: move op\n");
+ else if (BIT (20))
+ state->Reg[BITS (12, 15)] = VFP_uword (BITS (16, 19) << 1 | BIT (7));
+ else
+ VFP_uword (BITS (16, 19) << 1 | BIT (7)) = state->Reg[BITS (12, 15)];
+ break;
+
+ default:
+ fprintf (stderr, "SIM: VFP: Unimplemented: CDP op\n");
+ break;
+ }
}
else
- DEST = temp;
+ {
+ /* MRC */
+ temp = ARMul_MRC (state, instr);
+ if (DESTReg == 15)
+ {
+ ASSIGNN ((temp & NBIT) != 0);
+ ASSIGNZ ((temp & ZBIT) != 0);
+ ASSIGNC ((temp & CBIT) != 0);
+ ASSIGNV ((temp & VBIT) != 0);
+ }
+ else
+ DEST = temp;
+ }
}
else
/* CDP Part 2. */
@@ -4394,7 +5236,7 @@ Handle_Load_Double (ARMul_State * state, ARMword instr)
ARMword addr_reg;
ARMword write_back = BIT (21);
ARMword immediate = BIT (22);
- ARMword add_to_base = BIT (23);
+ ARMword add_to_base = BIT (23);
ARMword pre_indexed = BIT (24);
ARMword offset;
ARMword addr;
@@ -4402,7 +5244,7 @@ Handle_Load_Double (ARMul_State * state, ARMword instr)
ARMword base;
ARMword value1;
ARMword value2;
-
+
BUSUSEDINCPCS;
/* If the writeback bit is set, the pre-index bit must be clear. */
@@ -4411,13 +5253,13 @@ Handle_Load_Double (ARMul_State * state, ARMword instr)
ARMul_UndefInstr (state, instr);
return;
}
-
+
/* Extract the base address register. */
addr_reg = LHSReg;
-
+
/* Extract the destination register and check it. */
dest_reg = DESTReg;
-
+
/* Destination register must be even. */
if ((dest_reg & 1)
/* Destination register cannot be LR. */
@@ -4438,15 +5280,18 @@ Handle_Load_Double (ARMul_State * state, ARMword instr)
sum = base + offset;
else
sum = base - offset;
-
+
/* If this is a pre-indexed mode use the sum. */
if (pre_indexed)
addr = sum;
else
addr = base;
+ if (state->is_v6 && (addr & 0x3) == 0)
+ /* Word alignment is enough for v6. */
+ ;
/* The address must be aligned on a 8 byte boundary. */
- if (addr & 0x7)
+ else if (addr & 0x7)
{
#ifdef ABORTS
ARMul_DATAABORT (addr);
@@ -4477,17 +5322,17 @@ Handle_Load_Double (ARMul_State * state, ARMword instr)
TAKEABORT;
return;
}
-
+
ARMul_Icycles (state, 2, 0L);
/* Store the values. */
state->Reg[dest_reg] = value1;
state->Reg[dest_reg + 1] = value2;
-
+
/* Do the post addressing and writeback. */
if (! pre_indexed)
addr = sum;
-
+
if (! pre_indexed || write_back)
state->Reg[addr_reg] = addr;
}
@@ -4501,7 +5346,7 @@ Handle_Store_Double (ARMul_State * state, ARMword instr)
ARMword addr_reg;
ARMword write_back = BIT (21);
ARMword immediate = BIT (22);
- ARMword add_to_base = BIT (23);
+ ARMword add_to_base = BIT (23);
ARMword pre_indexed = BIT (24);
ARMword offset;
ARMword addr;
@@ -4516,20 +5361,20 @@ Handle_Store_Double (ARMul_State * state, ARMword instr)
ARMul_UndefInstr (state, instr);
return;
}
-
+
/* Extract the base address register. */
addr_reg = LHSReg;
-
+
/* Base register cannot be PC. */
if (addr_reg == 15)
{
ARMul_UndefInstr (state, instr);
return;
}
-
+
/* Extract the source register. */
src_reg = DESTReg;
-
+
/* Source register must be even. */
if (src_reg & 1)
{
@@ -4548,7 +5393,7 @@ Handle_Store_Double (ARMul_State * state, ARMword instr)
sum = base + offset;
else
sum = base - offset;
-
+
/* If this is a pre-indexed mode use the sum. */
if (pre_indexed)
addr = sum;
@@ -4580,17 +5425,17 @@ Handle_Store_Double (ARMul_State * state, ARMword instr)
/* Load the words. */
ARMul_StoreWordN (state, addr, state->Reg[src_reg]);
ARMul_StoreWordN (state, addr + 4, state->Reg[src_reg + 1]);
-
+
if (state->Aborted)
{
TAKEABORT;
return;
}
-
+
/* Do the post addressing and writeback. */
if (! pre_indexed)
addr = sum;
-
+
if (! pre_indexed || write_back)
state->Reg[addr_reg] = addr;
}
@@ -4987,7 +5832,7 @@ StoreSMult (ARMul_State * state,
for (temp = 0; !BIT (temp); temp++)
; /* N cycle first. */
-
+
#ifdef MODE32
ARMul_StoreWordN (state, address, state->Reg[temp++]);
#else
@@ -5093,9 +5938,7 @@ Multiply64 (ARMul_State * state, ARMword instr, int msigned, int scc)
&& nRdLo != 15
&& nRs != 15
&& nRm != 15
- && nRdHi != nRdLo
- && nRdHi != nRm
- && nRdLo != nRm)
+ && nRdHi != nRdLo)
{
/* Intermediate results. */
ARMword lo, mid1, mid2, hi;
@@ -5103,6 +5946,15 @@ Multiply64 (ARMul_State * state, ARMword instr, int msigned, int scc)
ARMword Rs = state->Reg[nRs];
int sign = 0;
+#ifdef MODE32
+ if (state->is_v6)
+ ;
+ else
+#endif
+ if (nRdHi == nRm || nRdLo == nRm)
+ fprintf (stderr, "sim: MULTIPLY64 - INVALID ARGUMENTS: %d %d %d\n",
+ nRdHi, nRdLo, nRm);
+
if (msigned)
{
/* Compute sign of result and adjust operands if necessary. */
diff --git a/sim/arm/armemu.h b/sim/arm/armemu.h
index 484cc852fe2..7f25b94d51c 100644
--- a/sim/arm/armemu.h
+++ b/sim/arm/armemu.h
@@ -462,6 +462,8 @@ typedef enum
}
tdstate;
+#define t_resolved t_branch
+
/* Macros to scrutinize instructions. The dummy do loop is to keep the compiler
happy when the statement is used in an otherwise empty else statement. */
#define UNDEF_Test do { ; } while (0)
diff --git a/sim/arm/armos.c b/sim/arm/armos.c
index e5c218d0c6f..c222e2e7730 100644
--- a/sim/arm/armos.c
+++ b/sim/arm/armos.c
@@ -840,8 +840,7 @@ ARMul_OSHandleSWI (ARMul_State * state, ARMword number)
break;
case 17: /* Utime. */
- state->Reg[0] = (ARMword) sim_callback->time (sim_callback,
- (long *) state->Reg[1]);
+ state->Reg[0] = state->Reg[1] = (ARMword) sim_callback->time (sim_callback, NULL);
OSptr->ErrorNo = sim_callback->get_errno (sim_callback);
break;
diff --git a/sim/arm/armsupp.c b/sim/arm/armsupp.c
index 113f0805b51..e2bbf536ee2 100644
--- a/sim/arm/armsupp.c
+++ b/sim/arm/armsupp.c
@@ -1,22 +1,23 @@
/* armsupp.c -- ARMulator support code: ARM6 Instruction Emulator.
Copyright (C) 1994 Advanced RISC Machines Ltd.
-
+
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 "armdefs.h"
#include "armemu.h"
#include "ansidecl.h"
+#include <math.h>
/* Definitions for the support routines. */
@@ -173,7 +174,7 @@ void
ARMul_SetSPSR (ARMul_State * state, ARMword mode, ARMword value)
{
ARMword bank = ModeToBank (mode & MODEBITS);
-
+
if (BANK_CAN_ACCESS_SPSR (bank))
state->Spsr[bank] = value;
}
@@ -208,12 +209,12 @@ ARMul_CPSRAltered (ARMul_State * state)
state->Cpsr &= (CCBITS | INTBITS | R15MODEBITS);
oldmode = state->Mode;
-
+
if (state->Mode != (state->Cpsr & MODEBITS))
{
state->Mode =
ARMul_SwitchMode (state, state->Mode, state->Cpsr & MODEBITS);
-
+
state->NtransSig = (state->Mode & 3) ? HIGH : LOW;
}
state->Cpsr &= ~MODEBITS;
@@ -291,10 +292,10 @@ ARMul_SwitchMode (ARMul_State * state, ARMword oldmode, ARMword newmode)
unsigned i;
ARMword oldbank;
ARMword newbank;
-
+
oldbank = ModeToBank (oldmode);
newbank = state->Bank = ModeToBank (newmode);
-
+
/* Do we really need to do it? */
if (oldbank != newbank)
{
@@ -323,7 +324,7 @@ ARMul_SwitchMode (ARMul_State * state, ARMword oldmode, ARMword newmode)
default:
abort ();
}
-
+
/* Restore the new registers. */
switch (newbank)
{
@@ -350,7 +351,7 @@ ARMul_SwitchMode (ARMul_State * state, ARMword oldmode, ARMword newmode)
abort ();
}
}
-
+
return newmode;
}
@@ -466,6 +467,422 @@ ARMul_SubOverflow (ARMul_State * state, ARMword a, ARMword b, ARMword result)
ASSIGNV (SubOverflow (a, b, result));
}
+static void
+handle_VFP_xfer (ARMul_State * state, ARMword instr)
+{
+ if (TOPBITS (28) == NV)
+ {
+ fprintf (stderr, "SIM: UNDEFINED VFP instruction\n");
+ return;
+ }
+
+ if (BITS (25, 27) != 0x6)
+ {
+ fprintf (stderr, "SIM: ISE: VFP handler called incorrectly\n");
+ return;
+ }
+
+ switch (BITS (20, 24))
+ {
+ case 0x04:
+ case 0x05:
+ {
+ /* VMOV double precision to/from two ARM registers. */
+ int vm = BITS (0, 3);
+ int rt1 = BITS (12, 15);
+ int rt2 = BITS (16, 19);
+
+ /* FIXME: UNPREDICTABLE if rt1 == 15 or rt2 == 15. */
+ if (BIT (20))
+ {
+ /* Transfer to ARM. */
+ /* FIXME: UPPREDICTABLE if rt1 == rt2. */
+ state->Reg[rt1] = VFP_dword (vm) & 0xffffffff;
+ state->Reg[rt2] = VFP_dword (vm) >> 32;
+ }
+ else
+ {
+ VFP_dword (vm) = state->Reg[rt2];
+ VFP_dword (vm) <<= 32;
+ VFP_dword (vm) |= (state->Reg[rt1] & 0xffffffff);
+ }
+ return;
+ }
+
+ case 0x08:
+ case 0x0A:
+ case 0x0C:
+ case 0x0E:
+ {
+ /* VSTM with PUW=011 or PUW=010. */
+ int n = BITS (16, 19);
+ int imm8 = BITS (0, 7);
+
+ ARMword address = state->Reg[n];
+ if (BIT (21))
+ state->Reg[n] = address + (imm8 << 2);
+
+ if (BIT (8))
+ {
+ int src = (BIT (22) << 4) | BITS (12, 15);
+ imm8 >>= 1;
+ while (imm8--)
+ {
+ if (state->bigendSig)
+ {
+ ARMul_StoreWordN (state, address, VFP_dword (src) >> 32);
+ ARMul_StoreWordN (state, address + 4, VFP_dword (src));
+ }
+ else
+ {
+ ARMul_StoreWordN (state, address, VFP_dword (src));
+ ARMul_StoreWordN (state, address + 4, VFP_dword (src) >> 32);
+ }
+ address += 8;
+ src += 1;
+ }
+ }
+ else
+ {
+ int src = (BITS (12, 15) << 1) | BIT (22);
+ while (imm8--)
+ {
+ ARMul_StoreWordN (state, address, VFP_uword (src));
+ address += 4;
+ src += 1;
+ }
+ }
+ }
+ return;
+
+ case 0x10:
+ case 0x14:
+ case 0x18:
+ case 0x1C:
+ {
+ /* VSTR */
+ ARMword imm32 = BITS (0, 7) << 2;
+ int base = state->Reg[LHSReg];
+ ARMword address;
+ int dest;
+
+ if (LHSReg == 15)
+ base = (base + 3) & ~3;
+
+ address = base + (BIT (23) ? imm32 : - imm32);
+
+ if (CPNum == 10)
+ {
+ dest = (DESTReg << 1) + BIT (22);
+
+ ARMul_StoreWordN (state, address, VFP_uword (dest));
+ }
+ else
+ {
+ dest = (BIT (22) << 4) + DESTReg;
+
+ if (state->bigendSig)
+ {
+ ARMul_StoreWordN (state, address, VFP_dword (dest) >> 32);
+ ARMul_StoreWordN (state, address + 4, VFP_dword (dest));
+ }
+ else
+ {
+ ARMul_StoreWordN (state, address, VFP_dword (dest));
+ ARMul_StoreWordN (state, address + 4, VFP_dword (dest) >> 32);
+ }
+ }
+ }
+ return;
+
+ case 0x12:
+ case 0x16:
+ if (BITS (16, 19) == 13)
+ {
+ /* VPUSH */
+ ARMword address = state->Reg[13] - (BITS (0, 7) << 2);
+ state->Reg[13] = address;
+
+ if (BIT (8))
+ {
+ int dreg = (BIT (22) << 4) | BITS (12, 15);
+ int num = BITS (0, 7) >> 1;
+ while (num--)
+ {
+ if (state->bigendSig)
+ {
+ ARMul_StoreWordN (state, address, VFP_dword (dreg) >> 32);
+ ARMul_StoreWordN (state, address + 4, VFP_dword (dreg));
+ }
+ else
+ {
+ ARMul_StoreWordN (state, address, VFP_dword (dreg));
+ ARMul_StoreWordN (state, address + 4, VFP_dword (dreg) >> 32);
+ }
+ address += 8;
+ dreg += 1;
+ }
+ }
+ else
+ {
+ int sreg = (BITS (12, 15) << 1) | BIT (22);
+ int num = BITS (0, 7);
+ while (num--)
+ {
+ ARMul_StoreWordN (state, address, VFP_uword (sreg));
+ address += 4;
+ sreg += 1;
+ }
+ }
+ }
+ else if (BITS (9, 11) != 0x5)
+ break;
+ else
+ {
+ /* VSTM PUW=101 */
+ int n = BITS (16, 19);
+ int imm8 = BITS (0, 7);
+ ARMword address = state->Reg[n] - (imm8 << 2);
+ state->Reg[n] = address;
+
+ if (BIT (8))
+ {
+ int src = (BIT (22) << 4) | BITS (12, 15);
+
+ imm8 >>= 1;
+ while (imm8--)
+ {
+ if (state->bigendSig)
+ {
+ ARMul_StoreWordN (state, address, VFP_dword (src) >> 32);
+ ARMul_StoreWordN (state, address + 4, VFP_dword (src));
+ }
+ else
+ {
+ ARMul_StoreWordN (state, address, VFP_dword (src));
+ ARMul_StoreWordN (state, address + 4, VFP_dword (src) >> 32);
+ }
+ address += 8;
+ src += 1;
+ }
+ }
+ else
+ {
+ int src = (BITS (12, 15) << 1) | BIT (22);
+
+ while (imm8--)
+ {
+ ARMul_StoreWordN (state, address, VFP_uword (src));
+ address += 4;
+ src += 1;
+ }
+ }
+ }
+ return;
+
+ case 0x13:
+ case 0x17:
+ /* VLDM PUW=101 */
+ case 0x09:
+ case 0x0D:
+ /* VLDM PUW=010 */
+ {
+ int n = BITS (16, 19);
+ int imm8 = BITS (0, 7);
+
+ ARMword address = state->Reg[n];
+ if (BIT (23) == 0)
+ address -= imm8 << 2;
+ if (BIT (21))
+ state->Reg[n] = BIT (23) ? address + (imm8 << 2) : address;
+
+ if (BIT (8))
+ {
+ int dest = (BIT (22) << 4) | BITS (12, 15);
+ imm8 >>= 1;
+ while (imm8--)
+ {
+ if (state->bigendSig)
+ {
+ VFP_dword (dest) = ARMul_LoadWordN (state, address);
+ VFP_dword (dest) <<= 32;
+ VFP_dword (dest) |= ARMul_LoadWordN (state, address + 4);
+ }
+ else
+ {
+ VFP_dword (dest) = ARMul_LoadWordN (state, address + 4);
+ VFP_dword (dest) <<= 32;
+ VFP_dword (dest) |= ARMul_LoadWordN (state, address);
+ }
+
+ if (trace)
+ fprintf (stderr, " VFP: VLDM: D%d = %g\n", dest, VFP_dval (dest));
+
+ address += 8;
+ dest += 1;
+ }
+ }
+ else
+ {
+ int dest = (BITS (12, 15) << 1) | BIT (22);
+
+ while (imm8--)
+ {
+ VFP_uword (dest) = ARMul_LoadWordN (state, address);
+ address += 4;
+ dest += 1;
+ }
+ }
+ }
+ return;
+
+ case 0x0B:
+ case 0x0F:
+ if (BITS (16, 19) == 13)
+ {
+ /* VPOP */
+ ARMword address = state->Reg[13];
+ state->Reg[13] = address + (BITS (0, 7) << 2);
+
+ if (BIT (8))
+ {
+ int dest = (BIT (22) << 4) | BITS (12, 15);
+ int num = BITS (0, 7) >> 1;
+
+ while (num--)
+ {
+ if (state->bigendSig)
+ {
+ VFP_dword (dest) = ARMul_LoadWordN (state, address);
+ VFP_dword (dest) <<= 32;
+ VFP_dword (dest) |= ARMul_LoadWordN (state, address + 4);
+ }
+ else
+ {
+ VFP_dword (dest) = ARMul_LoadWordN (state, address + 4);
+ VFP_dword (dest) <<= 32;
+ VFP_dword (dest) |= ARMul_LoadWordN (state, address);
+ }
+
+ if (trace)
+ fprintf (stderr, " VFP: VPOP: D%d = %g\n", dest, VFP_dval (dest));
+
+ address += 8;
+ dest += 1;
+ }
+ }
+ else
+ {
+ int sreg = (BITS (12, 15) << 1) | BIT (22);
+ int num = BITS (0, 7);
+
+ while (num--)
+ {
+ VFP_uword (sreg) = ARMul_LoadWordN (state, address);
+ address += 4;
+ sreg += 1;
+ }
+ }
+ }
+ else if (BITS (9, 11) != 0x5)
+ break;
+ else
+ {
+ /* VLDM PUW=011 */
+ int n = BITS (16, 19);
+ int imm8 = BITS (0, 7);
+ ARMword address = state->Reg[n];
+ state->Reg[n] += imm8 << 2;
+
+ if (BIT (8))
+ {
+ int dest = (BIT (22) << 4) | BITS (12, 15);
+
+ imm8 >>= 1;
+ while (imm8--)
+ {
+ if (state->bigendSig)
+ {
+ VFP_dword (dest) = ARMul_LoadWordN (state, address);
+ VFP_dword (dest) <<= 32;
+ VFP_dword (dest) |= ARMul_LoadWordN (state, address + 4);
+ }
+ else
+ {
+ VFP_dword (dest) = ARMul_LoadWordN (state, address + 4);
+ VFP_dword (dest) <<= 32;
+ VFP_dword (dest) |= ARMul_LoadWordN (state, address);
+ }
+
+ if (trace)
+ fprintf (stderr, " VFP: VLDM: D%d = %g\n", dest, VFP_dval (dest));
+
+ address += 8;
+ dest += 1;
+ }
+ }
+ else
+ {
+ int dest = (BITS (12, 15) << 1) | BIT (22);
+ while (imm8--)
+ {
+ VFP_uword (dest) = ARMul_LoadWordN (state, address);
+ address += 4;
+ dest += 1;
+ }
+ }
+ }
+ return;
+
+ case 0x11:
+ case 0x15:
+ case 0x19:
+ case 0x1D:
+ {
+ /* VLDR */
+ ARMword imm32 = BITS (0, 7) << 2;
+ int base = state->Reg[LHSReg];
+ ARMword address;
+ int dest;
+
+ if (LHSReg == 15)
+ base = (base + 3) & ~3;
+
+ address = base + (BIT (23) ? imm32 : - imm32);
+
+ if (CPNum == 10)
+ {
+ dest = (DESTReg << 1) + BIT (22);
+
+ VFP_uword (dest) = ARMul_LoadWordN (state, address);
+ }
+ else
+ {
+ dest = (BIT (22) << 4) + DESTReg;
+
+ if (state->bigendSig)
+ {
+ VFP_dword (dest) = ARMul_LoadWordN (state, address);
+ VFP_dword (dest) <<= 32;
+ VFP_dword (dest) |= ARMul_LoadWordN (state, address + 4);
+ }
+ else
+ {
+ VFP_dword (dest) = ARMul_LoadWordN (state, address + 4);
+ VFP_dword (dest) <<= 32;
+ VFP_dword (dest) |= ARMul_LoadWordN (state, address);
+ }
+
+ if (trace)
+ fprintf (stderr, " VFP: VLDR: D%d = %g\n", dest, VFP_dval (dest));
+ }
+ }
+ return;
+ }
+
+ fprintf (stderr, "SIM: VFP: Unimplemented: %0x\n", BITS (20, 24));
+}
+
/* This function does the work of generating the addresses used in an
LDC instruction. The code here is always post-indexed, it's up to the
caller to get the input address correct and to handle base register
@@ -477,6 +894,12 @@ ARMul_LDC (ARMul_State * state, ARMword instr, ARMword address)
unsigned cpab;
ARMword data;
+ if (CPNum == 10 || CPNum == 11)
+ {
+ handle_VFP_xfer (state, instr);
+ return;
+ }
+
UNDEF_LSCPCBaseWb;
if (! CP_ACCESS_ALLOWED (state, CPNum))
@@ -537,6 +960,12 @@ ARMul_STC (ARMul_State * state, ARMword instr, ARMword address)
unsigned cpab;
ARMword data;
+ if (CPNum == 10 || CPNum == 11)
+ {
+ handle_VFP_xfer (state, instr);
+ return;
+ }
+
UNDEF_LSCPCBaseWb;
if (! CP_ACCESS_ALLOWED (state, CPNum))
@@ -666,6 +1095,454 @@ ARMul_MRC (ARMul_State * state, ARMword instr)
return result;
}
+static void
+handle_VFP_op (ARMul_State * state, ARMword instr)
+{
+ int dest;
+ int srcN;
+ int srcM;
+
+ if (BITS (9, 11) != 0x5 || BIT (4) != 0)
+ {
+ fprintf (stderr, "SIM: VFP: Unimplemented: Float op: %08x\n", BITS (0,31));
+ return;
+ }
+
+ if (BIT (8))
+ {
+ dest = BITS(12,15) + (BIT (22) << 4);
+ srcN = LHSReg + (BIT (7) << 4);
+ srcM = BITS (0,3) + (BIT (5) << 4);
+ }
+ else
+ {
+ dest = (BITS(12,15) << 1) + BIT (22);
+ srcN = (LHSReg << 1) + BIT (7);
+ srcM = (BITS (0,3) << 1) + BIT (5);
+ }
+
+ switch (BITS (20, 27))
+ {
+ case 0xE0:
+ case 0xE4:
+ /* VMLA VMLS */
+ if (BIT (8))
+ {
+ ARMdval val = VFP_dval (srcN) * VFP_dval (srcM);
+
+ if (BIT (6))
+ {
+ if (trace)
+ fprintf (stderr, " VFP: VMLS: %g = %g - %g * %g\n",
+ VFP_dval (dest) - val,
+ VFP_dval (dest), VFP_dval (srcN), VFP_dval (srcM));
+ VFP_dval (dest) -= val;
+ }
+ else
+ {
+ if (trace)
+ fprintf (stderr, " VFP: VMLA: %g = %g + %g * %g\n",
+ VFP_dval (dest) + val,
+ VFP_dval (dest), VFP_dval (srcN), VFP_dval (srcM));
+ VFP_dval (dest) += val;
+ }
+ }
+ else
+ {
+ ARMfval val = VFP_fval (srcN) * VFP_fval (srcM);
+
+ if (BIT (6))
+ {
+ if (trace)
+ fprintf (stderr, " VFP: VMLS: %g = %g - %g * %g\n",
+ VFP_fval (dest) - val,
+ VFP_fval (dest), VFP_fval (srcN), VFP_fval (srcM));
+ VFP_fval (dest) -= val;
+ }
+ else
+ {
+ if (trace)
+ fprintf (stderr, " VFP: VMLA: %g = %g + %g * %g\n",
+ VFP_fval (dest) + val,
+ VFP_fval (dest), VFP_fval (srcN), VFP_fval (srcM));
+ VFP_fval (dest) += val;
+ }
+ }
+ return;
+
+ case 0xE1:
+ case 0xE5:
+ if (BIT (8))
+ {
+ ARMdval product = VFP_dval (srcN) * VFP_dval (srcM);
+
+ if (BIT (6))
+ {
+ /* VNMLA */
+ if (trace)
+ fprintf (stderr, " VFP: VNMLA: %g = -(%g + (%g * %g))\n",
+ -(VFP_dval (dest) + product),
+ VFP_dval (dest), VFP_dval (srcN), VFP_dval (srcM));
+ VFP_dval (dest) = -(product + VFP_dval (dest));
+ }
+ else
+ {
+ /* VNMLS */
+ if (trace)
+ fprintf (stderr, " VFP: VNMLS: %g = -(%g + (%g * %g))\n",
+ -(VFP_dval (dest) + product),
+ VFP_dval (dest), VFP_dval (srcN), VFP_dval (srcM));
+ VFP_dval (dest) = product - VFP_dval (dest);
+ }
+ }
+ else
+ {
+ ARMfval product = VFP_fval (srcN) * VFP_fval (srcM);
+
+ if (BIT (6))
+ /* VNMLA */
+ VFP_fval (dest) = -(product + VFP_fval (dest));
+ else
+ /* VNMLS */
+ VFP_fval (dest) = product - VFP_fval (dest);
+ }
+ return;
+
+ case 0xE2:
+ case 0xE6:
+ if (BIT (8))
+ {
+ ARMdval product = VFP_dval (srcN) * VFP_dval (srcM);
+
+ if (BIT (6))
+ {
+ if (trace)
+ fprintf (stderr, " VFP: VMUL: %g = %g * %g\n",
+ - product, VFP_dval (srcN), VFP_dval (srcM));
+ /* VNMUL */
+ VFP_dval (dest) = - product;
+ }
+ else
+ {
+ if (trace)
+ fprintf (stderr, " VFP: VMUL: %g = %g * %g\n",
+ product, VFP_dval (srcN), VFP_dval (srcM));
+ /* VMUL */
+ VFP_dval (dest) = product;
+ }
+ }
+ else
+ {
+ ARMfval product = VFP_fval (srcN) * VFP_fval (srcM);
+
+ if (BIT (6))
+ {
+ if (trace)
+ fprintf (stderr, " VFP: VNMUL: %g = %g * %g\n",
+ - product, VFP_fval (srcN), VFP_fval (srcM));
+
+ VFP_fval (dest) = - product;
+ }
+ else
+ {
+ if (trace)
+ fprintf (stderr, " VFP: VMUL: %g = %g * %g\n",
+ product, VFP_fval (srcN), VFP_fval (srcM));
+
+ VFP_fval (dest) = product;
+ }
+ }
+ return;
+
+ case 0xE3:
+ case 0xE7:
+ if (BIT (6) == 0)
+ {
+ /* VADD */
+ if (BIT(8))
+ {
+ if (trace)
+ fprintf (stderr, " VFP: VADD %g = %g + %g\n",
+ VFP_dval (srcN) + VFP_dval (srcM),
+ VFP_dval (srcN),
+ VFP_dval (srcM));
+ VFP_dval (dest) = VFP_dval (srcN) + VFP_dval (srcM);
+ }
+ else
+ VFP_fval (dest) = VFP_fval (srcN) + VFP_fval (srcM);
+
+ }
+ else
+ {
+ /* VSUB */
+ if (BIT(8))
+ {
+ if (trace)
+ fprintf (stderr, " VFP: VSUB %g = %g - %g\n",
+ VFP_dval (srcN) - VFP_dval (srcM),
+ VFP_dval (srcN),
+ VFP_dval (srcM));
+ VFP_dval (dest) = VFP_dval (srcN) - VFP_dval (srcM);
+ }
+ else
+ VFP_fval (dest) = VFP_fval (srcN) - VFP_fval (srcM);
+ }
+ return;
+
+ case 0xE8:
+ case 0xEC:
+ if (BIT (6) == 1)
+ break;
+
+ /* VDIV */
+ if (BIT (8))
+ {
+ ARMdval res = VFP_dval (srcN) / VFP_dval (srcM);
+ if (trace)
+ fprintf (stderr, " VFP: VDIV (64bit): %g = %g / %g\n",
+ res, VFP_dval (srcN), VFP_dval (srcM));
+ VFP_dval (dest) = res;
+ }
+ else
+ {
+ if (trace)
+ fprintf (stderr, " VFP: VDIV: %g = %g / %g\n",
+ VFP_fval (srcN) / VFP_fval (srcM),
+ VFP_fval (srcN), VFP_fval (srcM));
+
+ VFP_fval (dest) = VFP_fval (srcN) / VFP_fval (srcM);
+ }
+ return;
+
+ case 0xEB:
+ case 0xEF:
+ if (BIT (6) != 1)
+ break;
+
+ switch (BITS (16, 19))
+ {
+ case 0x0:
+ if (BIT (7) == 0)
+ {
+ if (BIT (8))
+ {
+ /* VMOV.F64 <Dd>, <Dm>. */
+ VFP_dval (dest) = VFP_dval (srcM);
+ if (trace)
+ fprintf (stderr, " VFP: VMOV d%d, d%d: %g\n", dest, srcM, VFP_dval (srcM));
+ }
+ else
+ {
+ /* VMOV.F32 <Sd>, <Sm>. */
+ VFP_fval (dest) = VFP_fval (srcM);
+ if (trace)
+ fprintf (stderr, " VFP: VMOV s%d, s%d: %g\n", dest, srcM, VFP_fval (srcM));
+ }
+ }
+ else
+ {
+ /* VABS */
+ if (BIT (8))
+ {
+ ARMdval src = VFP_dval (srcM);
+
+ VFP_dval (dest) = fabs (src);
+ if (trace)
+ fprintf (stderr, " VFP: VABS (%g) = %g\n", src, VFP_dval (dest));
+ }
+ else
+ {
+ ARMfval src = VFP_fval (srcM);
+
+ VFP_fval (dest) = fabsf (src);
+ if (trace)
+ fprintf (stderr, " VFP: VABS (%g) = %g\n", src, VFP_fval (dest));
+ }
+ }
+ return;
+
+ case 0x1:
+ if (BIT (7) == 0)
+ {
+ /* VNEG */
+ if (BIT (8))
+ VFP_dval (dest) = - VFP_dval (srcM);
+ else
+ VFP_fval (dest) = - VFP_fval (srcM);
+ }
+ else
+ {
+ /* VSQRT */
+ if (BIT (8))
+ {
+ if (trace)
+ fprintf (stderr, " VFP: %g = root(%g)\n",
+ sqrt (VFP_dval (srcM)), VFP_dval (srcM));
+
+ VFP_dval (dest) = sqrt (VFP_dval (srcM));
+ }
+ else
+ {
+ if (trace)
+ fprintf (stderr, " VFP: %g = root(%g)\n",
+ sqrtf (VFP_fval (srcM)), VFP_fval (srcM));
+
+ VFP_fval (dest) = sqrtf (VFP_fval (srcM));
+ }
+ }
+ return;
+
+ case 0x4:
+ case 0x5:
+ /* VCMP, VCMPE */
+ if (BIT(8))
+ {
+ ARMdval res = VFP_dval (dest);
+
+ if (BIT (16) == 0)
+ {
+ ARMdval src = VFP_dval (srcM);
+
+ if (isinf (res) && isinf (src))
+ {
+ if (res > 0.0 && src > 0.0)
+ res = 0.0;
+ else if (res < 0.0 && src < 0.0)
+ res = 0.0;
+ /* else leave res alone. */
+ }
+ else
+ res -= src;
+ }
+
+ /* FIXME: Add handling of signalling NaNs and the E bit. */
+
+ state->FPSCR &= 0x0FFFFFFF;
+ if (res < 0.0)
+ state->FPSCR |= NBIT;
+ else
+ state->FPSCR |= CBIT;
+ if (res == 0.0)
+ state->FPSCR |= ZBIT;
+ if (isnan (res))
+ state->FPSCR |= VBIT;
+
+ if (trace)
+ fprintf (stderr, " VFP: VCMP (64bit) %g vs %g res %g, flags: %c%c%c%c\n",
+ VFP_dval (dest), BIT (16) ? 0.0 : VFP_dval (srcM), res,
+ state->FPSCR & NBIT ? 'N' : '-',
+ state->FPSCR & ZBIT ? 'Z' : '-',
+ state->FPSCR & CBIT ? 'C' : '-',
+ state->FPSCR & VBIT ? 'V' : '-');
+ }
+ else
+ {
+ ARMfval res = VFP_fval (dest);
+
+ if (BIT (16) == 0)
+ {
+ ARMfval src = VFP_fval (srcM);
+
+ if (isinf (res) && isinf (src))
+ {
+ if (res > 0.0 && src > 0.0)
+ res = 0.0;
+ else if (res < 0.0 && src < 0.0)
+ res = 0.0;
+ /* else leave res alone. */
+ }
+ else
+ res -= src;
+ }
+
+ /* FIXME: Add handling of signalling NaNs and the E bit. */
+
+ state->FPSCR &= 0x0FFFFFFF;
+ if (res < 0.0)
+ state->FPSCR |= NBIT;
+ else
+ state->FPSCR |= CBIT;
+ if (res == 0.0)
+ state->FPSCR |= ZBIT;
+ if (isnan (res))
+ state->FPSCR |= VBIT;
+
+ if (trace)
+ fprintf (stderr, " VFP: VCMP (32bit) %g vs %g res %g, flags: %c%c%c%c\n",
+ VFP_fval (dest), BIT (16) ? 0.0 : VFP_fval (srcM), res,
+ state->FPSCR & NBIT ? 'N' : '-',
+ state->FPSCR & ZBIT ? 'Z' : '-',
+ state->FPSCR & CBIT ? 'C' : '-',
+ state->FPSCR & VBIT ? 'V' : '-');
+ }
+ return;
+
+ case 0x7:
+ if (BIT (8))
+ {
+ dest = (DESTReg << 1) + BIT (22);
+ VFP_fval (dest) = VFP_dval (srcM);
+ }
+ else
+ {
+ dest = DESTReg + (BIT (22) << 4);
+ VFP_dval (dest) = VFP_fval (srcM);
+ }
+ return;
+
+ case 0x8:
+ case 0xC:
+ case 0xD:
+ /* VCVT integer <-> FP */
+ if (BIT (18))
+ {
+ /* To integer. */
+ if (BIT (8))
+ {
+ dest = (BITS(12,15) << 1) + BIT (22);
+ if (BIT (16))
+ VFP_sword (dest) = VFP_dval (srcM);
+ else
+ VFP_uword (dest) = VFP_dval (srcM);
+ }
+ else
+ {
+ if (BIT (16))
+ VFP_sword (dest) = VFP_fval (srcM);
+ else
+ VFP_uword (dest) = VFP_fval (srcM);
+ }
+ }
+ else
+ {
+ /* From integer. */
+ if (BIT (8))
+ {
+ srcM = (BITS (0,3) << 1) + BIT (5);
+ if (BIT (7))
+ VFP_dval (dest) = VFP_sword (srcM);
+ else
+ VFP_dval (dest) = VFP_uword (srcM);
+ }
+ else
+ {
+ if (BIT (7))
+ VFP_fval (dest) = VFP_sword (srcM);
+ else
+ VFP_fval (dest) = VFP_uword (srcM);
+ }
+ }
+ return;
+ }
+
+ fprintf (stderr, "SIM: VFP: Unimplemented: Float op3: %03x\n", BITS (16,27));
+ return;
+ }
+
+ fprintf (stderr, "SIM: VFP: Unimplemented: Float op2: %02x\n", BITS (20, 27));
+ return;
+}
+
/* This function does the Busy-Waiting for an CDP instruction. */
void
@@ -673,6 +1550,12 @@ ARMul_CDP (ARMul_State * state, ARMword instr)
{
unsigned cpab;
+ if (CPNum == 10 || CPNum == 11)
+ {
+ handle_VFP_op (state, instr);
+ return;
+ }
+
if (! CP_ACCESS_ALLOWED (state, CPNum))
{
ARMul_UndefInstr (state, instr);
diff --git a/sim/arm/configure b/sim/arm/configure
index 39f93ad4b44..215f0c45bfa 100755
--- a/sim/arm/configure
+++ b/sim/arm/configure
@@ -1405,17 +1405,28 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
- --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.
- --enable-sim-inline=inlines Specify which functions should be inlined.
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
+ --enable-sim-environment=environment
+ Specify mixed, user, virtual or operating
+ environment
+ --enable-sim-inline=inlines
+ Specify which functions should be inlined
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings if gcc is used
--enable-sim-build-warnings
@@ -2227,7 +2238,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12306,7 +12317,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12309 "configure"
+#line 12320 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12412,7 +12423,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12415 "configure"
+#line 12426 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12748,10 +12759,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/arm/dbg_hif.h b/sim/arm/dbg_hif.h
index 3c6261a749c..686ed304799 100644
--- a/sim/arm/dbg_hif.h
+++ b/sim/arm/dbg_hif.h
@@ -14,11 +14,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/>. */
-#ifdef __STDC__
-# include <stdarg.h>
-#else
-# include <varargs.h>
-#endif
+#include <stdarg.h>
typedef void Hif_DbgPrint (void *arg, const char *format, va_list ap);
typedef void Hif_DbgPause (void *arg);
diff --git a/sim/arm/thumbemu.c b/sim/arm/thumbemu.c
index e4c91f6c30e..40c365e29ab 100644
--- a/sim/arm/thumbemu.c
+++ b/sim/arm/thumbemu.c
@@ -30,12 +30,1788 @@ existing ARM simulator. */
#include "armemu.h"
#include "armos.h"
+#define tBIT(n) ( (ARMword)(tinstr >> (n)) & 1)
+#define tBITS(m,n) ( (ARMword)(tinstr << (31 - (n))) >> ((31 - (n)) + (m)) )
+
+#define ntBIT(n) ( (ARMword)(next_instr >> (n)) & 1)
+#define ntBITS(m,n) ( (ARMword)(next_instr << (31 - (n))) >> ((31 - (n)) + (m)) )
+
+static int
+test_cond (int cond, ARMul_State * state)
+{
+ switch (cond)
+ {
+ case EQ: return ZFLAG;
+ case NE: return !ZFLAG;
+ case VS: return VFLAG;
+ case VC: return !VFLAG;
+ case MI: return NFLAG;
+ case PL: return !NFLAG;
+ case CS: return CFLAG;
+ case CC: return !CFLAG;
+ case HI: return (CFLAG && !ZFLAG);
+ case LS: return (!CFLAG || ZFLAG);
+ case GE: return ((!NFLAG && !VFLAG) || (NFLAG && VFLAG));
+ case LT: return ((NFLAG && !VFLAG) || (!NFLAG && VFLAG));
+ case GT: return ((!NFLAG && !VFLAG && !ZFLAG)
+ || (NFLAG && VFLAG && !ZFLAG));
+ case LE: return ((NFLAG && !VFLAG) || (!NFLAG && VFLAG)) || ZFLAG;
+ case AL: return TRUE;
+ case NV:
+ default: return FALSE;
+ }
+}
+
+static ARMword skipping_32bit_thumb = 0;
+
+static int IT_block_cond = AL;
+static ARMword IT_block_mask = 0;
+static int IT_block_first = FALSE;
+
+static void
+handle_IT_block (ARMul_State * state,
+ ARMword tinstr,
+ tdstate * pvalid)
+{
+ * pvalid = t_branch;
+ IT_block_mask = tBITS (0, 3);
+
+ if (IT_block_mask == 0)
+ // NOP or a HINT.
+ return;
+
+ IT_block_cond = tBITS (4, 7);
+ IT_block_first = TRUE;
+}
+
+static int
+in_IT_block (void)
+{
+ return IT_block_mask != 0;
+}
+
+static int
+IT_block_allow (ARMul_State * state)
+{
+ int cond;
+
+ if (IT_block_mask == 0)
+ return TRUE;
+
+ cond = IT_block_cond;
+
+ if (IT_block_first)
+ IT_block_first = FALSE;
+ else
+ {
+ if ((IT_block_mask & 8) == 0)
+ cond &= 0xe;
+ else
+ cond |= 1;
+ IT_block_mask <<= 1;
+ IT_block_mask &= 0xF;
+ }
+
+ if (IT_block_mask == 0x8)
+ IT_block_mask = 0;
+
+ return test_cond (cond, state);
+}
+
+static ARMword
+ThumbExpandImm (ARMword tinstr)
+{
+ ARMword val;
+
+ if (tBITS (10, 11) == 0)
+ {
+ switch (tBITS (8, 9))
+ {
+ case 0: val = tBITS (0, 7); break;
+ case 1: val = tBITS (0, 7) << 8; break;
+ case 2: val = (tBITS (0, 7) << 8) | (tBITS (0, 7) << 24); break;
+ case 3: val = tBITS (0, 7) * 0x01010101; break;
+ default: val = 0;
+ }
+ }
+ else
+ {
+ int ror = tBITS (7, 11);
+
+ val = (1 << 7) | tBITS (0, 6);
+ val = (val >> ror) | (val << (32 - ror));
+ }
+
+ return val;
+}
+
+#define tASSERT(truth) \
+ do \
+ { \
+ if (! (truth)) \
+ { \
+ fprintf (stderr, "unhandled T2 insn %04x|%04x detected at thumbemu.c:%d\n", \
+ tinstr, next_instr, __LINE__); \
+ return ; \
+ } \
+ } \
+ while (0)
+
+
+/* Attempt to emulate a 32-bit ARMv7 Thumb instruction.
+ Stores t_branch into PVALUE upon success or t_undefined otherwise. */
+
+static void
+handle_T2_insn (ARMul_State * state,
+ ARMword tinstr,
+ ARMword next_instr,
+ ARMword pc,
+ ARMword * ainstr,
+ tdstate * pvalid)
+{
+ * pvalid = t_undefined;
+
+ if (! state->is_v6)
+ return;
+
+ if (trace)
+ fprintf (stderr, "|%04x ", next_instr);
+
+ if (tBITS (11, 15) == 0x1E && ntBIT (15) == 1)
+ {
+ ARMsword simm32 = 0;
+ int S = tBIT (10);
+
+ * pvalid = t_branch;
+ switch ((ntBIT (14) << 1) | ntBIT (12))
+ {
+ case 0: /* B<c>.W */
+ {
+ ARMword cond = tBITS (6, 9);
+ ARMword imm6;
+ ARMword imm11;
+ ARMword J1;
+ ARMword J2;
+
+ tASSERT (cond != AL && cond != NV);
+ if (! test_cond (cond, state))
+ return;
+
+ imm6 = tBITS (0, 5);
+ imm11 = ntBITS (0, 10);
+ J1 = ntBIT (13);
+ J2 = ntBIT (11);
+
+ simm32 = (J1 << 19) | (J2 << 18) | (imm6 << 12) | (imm11 << 1);
+ if (S)
+ simm32 |= (-1 << 20);
+ break;
+ }
+
+ case 1: /* B.W */
+ {
+ ARMword imm10 = tBITS (0, 9);
+ ARMword imm11 = ntBITS (0, 10);
+ ARMword I1 = (ntBIT (13) ^ S) ? 0 : 1;
+ ARMword I2 = (ntBIT (11) ^ S) ? 0 : 1;
+
+ simm32 = (I1 << 23) | (I2 << 22) | (imm10 << 12) | (imm11 << 1);
+ if (S)
+ simm32 |= (-1 << 24);
+ break;
+ }
+
+ case 2: /* BLX <label> */
+ {
+ ARMword imm10h = tBITS (0, 9);
+ ARMword imm10l = ntBITS (1, 10);
+ ARMword I1 = (ntBIT (13) ^ S) ? 0 : 1;
+ ARMword I2 = (ntBIT (11) ^ S) ? 0 : 1;
+
+ simm32 = (I1 << 23) | (I2 << 22) | (imm10h << 12) | (imm10l << 2);
+ if (S)
+ simm32 |= (-1 << 24);
+
+ CLEART;
+ state->Reg[14] = (pc + 4) | 1;
+ break;
+ }
+
+ case 3: /* BL <label> */
+ {
+ ARMword imm10 = tBITS (0, 9);
+ ARMword imm11 = ntBITS (0, 10);
+ ARMword I1 = (ntBIT (13) ^ S) ? 0 : 1;
+ ARMword I2 = (ntBIT (11) ^ S) ? 0 : 1;
+
+ simm32 = (I1 << 23) | (I2 << 22) | (imm10 << 12) | (imm11 << 1);
+ if (S)
+ simm32 |= (-1 << 24);
+ state->Reg[14] = (pc + 4) | 1;
+ break;
+ }
+ }
+
+ state->Reg[15] = (pc + 4 + simm32);
+ FLUSHPIPE;
+ if (trace_funcs)
+ fprintf (stderr, " pc changed to %x\n", state->Reg[15]);
+ return;
+ }
+
+ switch (tBITS (5,12))
+ {
+ case 0x29: // TST<c>.W <Rn>,<Rm>{,<shift>}
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rm = ntBITS (0, 3);
+ ARMword type = ntBITS (4, 5);
+ ARMword imm5 = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+
+ tASSERT (ntBITS (8, 11) == 0xF);
+
+ * ainstr = 0xE1100000;
+ * ainstr |= (Rn << 16);
+ * ainstr |= (Rm);
+ * ainstr |= (type << 5);
+ * ainstr |= (imm5 << 7);
+ * pvalid = t_decoded;
+ break;
+ }
+
+ case 0x46:
+ if (tBIT (4) && ntBITS (5, 15) == 0x780)
+ {
+ // Table Branch
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rm = ntBITS (0, 3);
+ ARMword address, dest;
+
+ if (ntBIT (4))
+ {
+ // TBH
+ address = state->Reg[Rn] + state->Reg[Rm] * 2;
+ dest = ARMul_LoadHalfWord (state, address);
+ }
+ else
+ {
+ // TBB
+ address = state->Reg[Rn] + state->Reg[Rm];
+ dest = ARMul_LoadByte (state, address);
+ }
+
+ state->Reg[15] = (pc + 4 + dest * 2);
+ FLUSHPIPE;
+ * pvalid = t_branch;
+ break;
+ }
+ /* Fall through. */
+ case 0x42:
+ case 0x43:
+ case 0x47:
+ case 0x4A:
+ case 0x4B:
+ case 0x4E: // STRD
+ case 0x4F: // LDRD
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rt = ntBITS (12, 15);
+ ARMword Rt2 = ntBITS (8, 11);
+ ARMword imm8 = ntBITS (0, 7);
+ ARMword P = tBIT (8);
+ ARMword U = tBIT (7);
+ ARMword W = tBIT (5);
+
+ tASSERT (Rt2 == Rt + 1);
+ imm8 <<= 2;
+ tASSERT (imm8 <= 255);
+ tASSERT (P != 0 || W != 0);
+
+ // Convert into an ARM A1 encoding.
+ if (Rn == 15)
+ {
+ tASSERT (tBIT (4) == 1);
+ // LDRD (literal)
+ // Ignore W even if 1.
+ * ainstr = 0xE14F00D0;
+ }
+ else
+ {
+ if (tBIT (4) == 1)
+ // LDRD (immediate)
+ * ainstr = 0xE04000D0;
+ else
+ {
+ // STRD<c> <Rt>,<Rt2>,[<Rn>{,#+/-<imm8>}]
+ // STRD<c> <Rt>,<Rt2>,[<Rn>],#+/-<imm8>
+ // STRD<c> <Rt>,<Rt2>,[<Rn>,#+/-<imm8>]!
+ * ainstr = 0xE04000F0;
+ }
+ * ainstr |= (Rn << 16);
+ * ainstr |= (P << 24);
+ * ainstr |= (W << 21);
+ }
+
+ * ainstr |= (U << 23);
+ * ainstr |= (Rt << 12);
+ * ainstr |= ((imm8 << 4) & 0xF00);
+ * ainstr |= (imm8 & 0xF);
+ * pvalid = t_decoded;
+ break;
+ }
+
+ case 0x44:
+ case 0x45: // LDMIA
+ {
+ ARMword Rn = tBITS (0, 3);
+ int W = tBIT (5);
+ ARMword list = (ntBIT (15) << 15) | (ntBIT (14) << 14) | ntBITS (0, 12);
+
+ if (Rn == 13)
+ * ainstr = 0xE8BD0000;
+ else
+ {
+ * ainstr = 0xE8900000;
+ * ainstr |= (W << 21);
+ * ainstr |= (Rn << 16);
+ }
+ * ainstr |= list;
+ * pvalid = t_decoded;
+ break;
+ }
+
+ case 0x48:
+ case 0x49: // STMDB
+ {
+ ARMword Rn = tBITS (0, 3);
+ int W = tBIT (5);
+ ARMword list = (ntBIT (14) << 14) | ntBITS (0, 12);
+
+ if (Rn == 13 && W)
+ * ainstr = 0xE92D0000;
+ else
+ {
+ * ainstr = 0xE9000000;
+ * ainstr |= (W << 21);
+ * ainstr |= (Rn << 16);
+ }
+ * ainstr |= list;
+ * pvalid = t_decoded;
+ break;
+ }
+
+ case 0x50:
+ {
+ ARMword Rd = ntBITS (8, 11);
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rm = ntBITS (0, 3);
+ ARMword imm5 = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+ ARMword type = ntBITS (4, 5);
+
+ tASSERT (ntBIT (15) == 0);
+
+ if (Rd == 15)
+ {
+ tASSERT (tBIT (4) == 1);
+
+ // TST<c>.W <Rn>,<Rm>{,<shift>}
+ * ainstr = 0xE1100000;
+ }
+ else
+ {
+ // AND{S}<c>.W <Rd>,<Rn>,<Rm>{,<shift>}
+ int S = tBIT (4);
+
+ * ainstr = 0xE0000000;
+
+ if (in_IT_block ())
+ S = 0;
+ * ainstr |= (S << 20);
+ }
+
+ * ainstr |= (Rn << 16);
+ * ainstr |= (imm5 << 7);
+ * ainstr |= (type << 5);
+ * ainstr |= (Rm << 0);
+ * pvalid = t_decoded;
+ break;
+ }
+
+ case 0x51: // BIC{S}<c>.W <Rd>,<Rn>,<Rm>{,<shift>}
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword S = tBIT(4);
+ ARMword Rm = ntBITS (0, 3);
+ ARMword Rd = ntBITS (8, 11);
+ ARMword imm5 = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+ ARMword type = ntBITS (4, 5);
+
+ tASSERT (ntBIT (15) == 0);
+
+ * ainstr = 0xE1C00000;
+ * ainstr |= (S << 20);
+ * ainstr |= (Rn << 16);
+ * ainstr |= (Rd << 12);
+ * ainstr |= (imm5 << 7);
+ * ainstr |= (type << 5);
+ * ainstr |= (Rm << 0);
+ * pvalid = t_decoded;
+ break;
+ }
+
+ case 0x52:
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rd = ntBITS (8, 11);
+ ARMword Rm = ntBITS (0, 3);
+ int S = tBIT (4);
+ ARMword imm5 = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+ ARMword type = ntBITS (4, 5);
+
+ tASSERT (Rd != 15);
+
+ if (in_IT_block ())
+ S = 0;
+
+ if (Rn == 15)
+ {
+ tASSERT (ntBIT (15) == 0);
+
+ switch (ntBITS (4, 5))
+ {
+ case 0:
+ // LSL{S}<c>.W <Rd>,<Rm>,#<imm5>
+ * ainstr = 0xE1A00000;
+ break;
+ case 1:
+ // LSR{S}<c>.W <Rd>,<Rm>,#<imm>
+ * ainstr = 0xE1A00020;
+ break;
+ case 2:
+ // ASR{S}<c>.W <Rd>,<Rm>,#<imm>
+ * ainstr = 0xE1A00040;
+ break;
+ case 3:
+ // ROR{S}<c> <Rd>,<Rm>,#<imm>
+ * ainstr = 0xE1A00060;
+ break;
+ default:
+ tASSERT (0);
+ * ainstr = 0;
+ }
+ }
+ else
+ {
+ // ORR{S}<c>.W <Rd>,<Rn>,<Rm>{,<shift>}
+ * ainstr = 0xE1800000;
+ * ainstr |= (Rn << 16);
+ * ainstr |= (type << 5);
+ }
+
+ * ainstr |= (Rd << 12);
+ * ainstr |= (S << 20);
+ * ainstr |= (imm5 << 7);
+ * ainstr |= (Rm << 0);
+ * pvalid = t_decoded;
+ break;
+ }
+
+ case 0x53: // MVN{S}<c>.W <Rd>,<Rm>{,<shift>}
+ {
+ ARMword Rd = ntBITS (8, 11);
+ ARMword Rm = ntBITS (0, 3);
+ int S = tBIT (4);
+ ARMword imm5 = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+ ARMword type = ntBITS (4, 5);
+
+ tASSERT (ntBIT (15) == 0);
+
+ if (in_IT_block ())
+ S = 0;
+
+ * ainstr = 0xE1E00000;
+ * ainstr |= (S << 20);
+ * ainstr |= (Rd << 12);
+ * ainstr |= (imm5 << 7);
+ * ainstr |= (type << 5);
+ * ainstr |= (Rm << 0);
+ * pvalid = t_decoded;
+ break;
+ }
+
+ case 0x54:
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rd = ntBITS (8, 11);
+ ARMword Rm = ntBITS (0, 3);
+ int S = tBIT (4);
+ ARMword imm5 = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+ ARMword type = ntBITS (4, 5);
+
+ if (Rd == 15 && S)
+ {
+ // TEQ<c> <Rn>,<Rm>{,<shift>}
+ tASSERT (ntBIT (15) == 0);
+
+ * ainstr = 0xE1300000;
+ }
+ else
+ {
+ // EOR{S}<c>.W <Rd>,<Rn>,<Rm>{,<shift>}
+ if (in_IT_block ())
+ S = 0;
+
+ * ainstr = 0xE0200000;
+ * ainstr |= (S << 20);
+ * ainstr |= (Rd << 8);
+ }
+
+ * ainstr |= (Rn << 16);
+ * ainstr |= (imm5 << 7);
+ * ainstr |= (type << 5);
+ * ainstr |= (Rm << 0);
+ * pvalid = t_decoded;
+ break;
+ }
+
+ case 0x58: // ADD{S}<c>.W <Rd>,<Rn>,<Rm>{,<shift>}
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rd = ntBITS (8, 11);
+ ARMword Rm = ntBITS (0, 3);
+ int S = tBIT (4);
+ ARMword imm5 = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+ ARMword type = ntBITS (4, 5);
+
+ tASSERT (! (Rd == 15 && S));
+
+ if (in_IT_block ())
+ S = 0;
+
+ * ainstr = 0xE0800000;
+ * ainstr |= (S << 20);
+ * ainstr |= (Rn << 16);
+ * ainstr |= (Rd << 12);
+ * ainstr |= (imm5 << 7);
+ * ainstr |= (type << 5);
+ * ainstr |= Rm;
+ * pvalid = t_decoded;
+ break;
+ }
+
+ case 0x5A: // ADC{S}<c>.W <Rd>,<Rn>,<Rm>{,<shift>}
+ tASSERT (ntBIT (15) == 0);
+ * ainstr = 0xE0A00000;
+ if (! in_IT_block ())
+ * ainstr |= (tBIT (4) << 20); // S
+ * ainstr |= (tBITS (0, 3) << 16); // Rn
+ * ainstr |= (ntBITS (8, 11) << 12); // Rd
+ * ainstr |= ((ntBITS (12, 14) << 2) | ntBITS (6, 7)) << 7; // imm5
+ * ainstr |= (ntBITS (4, 5) << 5); // type
+ * ainstr |= ntBITS (0, 3); // Rm
+ * pvalid = t_decoded;
+ break;
+
+ case 0x5B: // SBC{S}<c>.W <Rd>,<Rn>,<Rm>{,<shift>}
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rd = ntBITS (8, 11);
+ ARMword Rm = ntBITS (0, 3);
+ int S = tBIT (4);
+ ARMword imm5 = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+ ARMword type = ntBITS (4, 5);
+
+ tASSERT (ntBIT (15) == 0);
+
+ if (in_IT_block ())
+ S = 0;
+
+ * ainstr = 0xE0C00000;
+ * ainstr |= (S << 20);
+ * ainstr |= (Rn << 16);
+ * ainstr |= (Rd << 12);
+ * ainstr |= (imm5 << 7);
+ * ainstr |= (type << 5);
+ * ainstr |= Rm;
+ * pvalid = t_decoded;
+ break;
+ }
+
+ case 0x5E: // RSB{S}<c> <Rd>,<Rn>,<Rm>{,<shift>}
+ case 0x5D: // SUB{S}<c>.W <Rd>,<Rn>,<Rm>{,<shift>}
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rd = ntBITS (8, 11);
+ ARMword Rm = ntBITS (0, 3);
+ ARMword S = tBIT (4);
+ ARMword type = ntBITS (4, 5);
+ ARMword imm5 = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+
+ tASSERT (ntBIT(15) == 0);
+
+ if (Rd == 15)
+ {
+ // CMP<c>.W <Rn>, <Rm> {,<shift>}
+ * ainstr = 0xE1500000;
+ Rd = 0;
+ }
+ else if (tBIT (5))
+ * ainstr = 0xE0400000;
+ else
+ * ainstr = 0xE0600000;
+
+ * ainstr |= (S << 20);
+ * ainstr |= (Rn << 16);
+ * ainstr |= (Rd << 12);
+ * ainstr |= (imm5 << 7);
+ * ainstr |= (type << 5);
+ * ainstr |= (Rm << 0);
+ * pvalid = t_decoded;
+ break;
+ }
+
+ case 0x9D: // NOP.W
+ tASSERT (tBITS (0, 15) == 0xF3AF);
+ tASSERT (ntBITS (0, 15) == 0x8000);
+ * pvalid = t_branch;
+ break;
+
+ case 0x80: // AND
+ case 0xA0: // TST
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword imm12 = (tBIT(10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+ ARMword Rd = ntBITS (8, 11);
+ ARMword val;
+ int S = tBIT (4);
+
+ imm12 = ThumbExpandImm (imm12);
+ val = state->Reg[Rn] & imm12;
+
+ if (Rd == 15)
+ {
+ // TST<c> <Rn>,#<const>
+ tASSERT (S == 1);
+ }
+ else
+ {
+ // AND{S}<c> <Rd>,<Rn>,#<const>
+ if (in_IT_block ())
+ S = 0;
+
+ state->Reg[Rd] = val;
+ }
+
+ if (S)
+ ARMul_NegZero (state, val);
+ * pvalid = t_branch;
+ break;
+ }
+
+ case 0xA1:
+ case 0x81: // BIC.W
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rd = ntBITS (8, 11);
+ ARMword S = tBIT (4);
+ ARMword imm8 = (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+
+ tASSERT (ntBIT (15) == 0);
+
+ imm8 = ThumbExpandImm (imm8);
+ state->Reg[Rd] = state->Reg[Rn] & ~ imm8;
+
+ if (S && ! in_IT_block ())
+ ARMul_NegZero (state, state->Reg[Rd]);
+ * pvalid = t_resolved;
+ break;
+ }
+
+ case 0xA2:
+ case 0x82: // MOV{S}<c>.W <Rd>,#<const>
+ {
+ ARMword val = (tBIT(10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+ ARMword Rd = ntBITS (8, 11);
+
+ val = ThumbExpandImm (val);
+ state->Reg[Rd] = val;
+
+ if (tBIT (4) && ! in_IT_block ())
+ ARMul_NegZero (state, val);
+ /* Indicate that the instruction has been processed. */
+ * pvalid = t_branch;
+ break;
+ }
+
+ case 0xA3:
+ case 0x83: // MVN{S}<c> <Rd>,#<const>
+ {
+ ARMword val = (tBIT(10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+ ARMword Rd = ntBITS (8, 11);
+
+ val = ThumbExpandImm (val);
+ val = ~ val;
+ state->Reg[Rd] = val;
+
+ if (tBIT (4) && ! in_IT_block ())
+ ARMul_NegZero (state, val);
+ * pvalid = t_resolved;
+ break;
+ }
+
+ case 0xA4: // EOR
+ case 0x84: // TEQ
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rd = ntBITS (8, 11);
+ ARMword S = tBIT (4);
+ ARMword imm12 = ((tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7));
+ ARMword result;
+
+ imm12 = ThumbExpandImm (imm12);
+
+ result = state->Reg[Rn] ^ imm12;
+
+ if (Rd == 15 && S)
+ // TEQ<c> <Rn>,#<const>
+ ;
+ else
+ {
+ // EOR{S}<c> <Rd>,<Rn>,#<const>
+ state->Reg[Rd] = result;
+
+ if (in_IT_block ())
+ S = 0;
+ }
+
+ if (S)
+ ARMul_NegZero (state, result);
+ * pvalid = t_resolved;
+ break;
+ }
+
+ case 0xA8: // CMN
+ case 0x88: // ADD
+ {
+ ARMword Rd = ntBITS (8, 11);
+ int S = tBIT (4);
+ ARMword Rn = tBITS (0, 3);
+ ARMword lhs = state->Reg[Rn];
+ ARMword imm12 = (tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+ ARMword rhs = ThumbExpandImm (imm12);
+ ARMword res = lhs + rhs;
+
+ if (Rd == 15 && S)
+ {
+ // CMN<c> <Rn>,#<const>
+ res = lhs - rhs;
+ }
+ else
+ {
+ // ADD{S}<c>.W <Rd>,<Rn>,#<const>
+ res = lhs + rhs;
+
+ if (in_IT_block ())
+ S = 0;
+
+ state->Reg[Rd] = res;
+ }
+
+ if (S)
+ {
+ ARMul_NegZero (state, res);
+
+ if ((lhs | rhs) >> 30)
+ {
+ /* Possible C,V,N to set. */
+ ARMul_AddCarry (state, lhs, rhs, res);
+ ARMul_AddOverflow (state, lhs, rhs, res);
+ }
+ else
+ {
+ CLEARC;
+ CLEARV;
+ }
+ }
+
+ * pvalid = t_branch;
+ break;
+ }
+
+ case 0xAA:
+ case 0x8A: // ADC{S}<c> <Rd>,<Rn>,#<const>
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rd = ntBITS (8, 11);
+ int S = tBIT (4);
+ ARMword imm12 = (tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+ ARMword lhs = state->Reg[Rn];
+ ARMword rhs = ThumbExpandImm (imm12);
+ ARMword res;
+
+ tASSERT (ntBIT (15) == 0);
+
+ if (CFLAG)
+ rhs += 1;
+
+ res = lhs + rhs;
+ state->Reg[Rd] = res;
+
+ if (in_IT_block ())
+ S = 0;
+
+ if (S)
+ {
+ ARMul_NegZero (state, res);
+
+ if ((lhs >= rhs) || ((rhs | lhs) >> 31))
+ {
+ ARMul_AddCarry (state, lhs, rhs, res);
+ ARMul_AddOverflow (state, lhs, rhs, res);
+ }
+ else
+ {
+ CLEARC;
+ CLEARV;
+ }
+ }
+
+ * pvalid = t_branch;
+ break;
+ }
+
+ case 0xAB:
+ case 0x8B: // SBC{S}<c> <Rd>,<Rn>,#<const>
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rd = ntBITS (8, 11);
+ int S = tBIT (4);
+ ARMword imm12 = (tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+ ARMword lhs = state->Reg[Rn];
+ ARMword rhs = ThumbExpandImm (imm12);
+ ARMword res;
+
+ tASSERT (ntBIT (15) == 0);
+
+ if (! CFLAG)
+ rhs += 1;
+
+ res = lhs - rhs;
+ state->Reg[Rd] = res;
+
+ if (in_IT_block ())
+ S = 0;
+
+ if (S)
+ {
+ ARMul_NegZero (state, res);
+
+ if ((lhs >= rhs) || ((rhs | lhs) >> 31))
+ {
+ ARMul_SubCarry (state, lhs, rhs, res);
+ ARMul_SubOverflow (state, lhs, rhs, res);
+ }
+ else
+ {
+ CLEARC;
+ CLEARV;
+ }
+ }
+
+ * pvalid = t_branch;
+ break;
+ }
+
+ case 0xAD:
+ case 0x8D: // SUB
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rd = ntBITS (8, 11);
+ int S = tBIT (4);
+ ARMword imm12 = (tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+ ARMword lhs = state->Reg[Rn];
+ ARMword rhs = ThumbExpandImm (imm12);
+ ARMword res = lhs - rhs;
+
+ if (Rd == 15 && S)
+ {
+ // CMP<c>.W <Rn>,#<const>
+ tASSERT (S);
+ }
+ else
+ {
+ // SUB{S}<c>.W <Rd>,<Rn>,#<const>
+ if (in_IT_block ())
+ S = 0;
+
+ state->Reg[Rd] = res;
+ }
+
+ if (S)
+ {
+ ARMul_NegZero (state, res);
+
+ if ((lhs >= rhs) || ((rhs | lhs) >> 31))
+ {
+ ARMul_SubCarry (state, lhs, rhs, res);
+ ARMul_SubOverflow (state, lhs, rhs, res);
+ }
+ else
+ {
+ CLEARC;
+ CLEARV;
+ }
+ }
+
+ * pvalid = t_branch;
+ break;
+ }
+
+ case 0xAE:
+ case 0x8E: // RSB{S}<c>.W <Rd>,<Rn>,#<const>
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rd = ntBITS (8, 11);
+ ARMword imm12 = (tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+ int S = tBIT (4);
+ ARMword lhs = imm12;
+ ARMword rhs = state->Reg[Rn];
+ ARMword res = lhs - rhs;
+
+ tASSERT (ntBIT (15) == 0);
+
+ state->Reg[Rd] = res;
+
+ if (S)
+ {
+ ARMul_NegZero (state, res);
+
+ if ((lhs >= rhs) || ((rhs | lhs) >> 31))
+ {
+ ARMul_SubCarry (state, lhs, rhs, res);
+ ARMul_SubOverflow (state, lhs, rhs, res);
+ }
+ else
+ {
+ CLEARC;
+ CLEARV;
+ }
+ }
+
+ * pvalid = t_branch;
+ break;
+ }
+
+ case 0xB0:
+ case 0x90: // ADDW<c> <Rd>,<Rn>,#<imm12>
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rd = ntBITS (8, 11);
+ ARMword imm12 = (tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+
+ tASSERT (tBIT (4) == 0);
+ tASSERT (ntBIT (15) == 0);
+
+ state->Reg[Rd] = state->Reg[Rn] + imm12;
+ * pvalid = t_branch;
+ break;
+ }
+
+ case 0xB2:
+ case 0x92: // MOVW<c> <Rd>,#<imm16>
+ {
+ ARMword Rd = ntBITS (8, 11);
+ ARMword imm = (tBITS (0, 3) << 12) | (tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+
+ state->Reg[Rd] = imm;
+ /* Indicate that the instruction has been processed. */
+ * pvalid = t_branch;
+ break;
+ }
+
+ case 0xb5:
+ case 0x95:// SUBW<c> <Rd>,<Rn>,#<imm12>
+ {
+ ARMword Rd = ntBITS (8, 11);
+ ARMword Rn = tBITS (0, 3);
+ ARMword imm12 = (tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+
+ tASSERT (tBIT (4) == 0);
+ tASSERT (ntBIT (15) == 0);
+
+ /* Note the ARM ARM indicates special cases for Rn == 15 (ADR)
+ and Rn == 13 (SUB SP minus immediate), but these are implemented
+ in exactly the same way as the normal SUBW insn. */
+ state->Reg[Rd] = state->Reg[Rn] - imm12;
+
+ * pvalid = t_resolved;
+ break;
+ }
+
+ case 0xB6:
+ case 0x96: // MOVT<c> <Rd>,#<imm16>
+ {
+ ARMword Rd = ntBITS (8, 11);
+ ARMword imm = (tBITS (0, 3) << 12) | (tBIT (10) << 11) | (ntBITS (12, 14) << 8) | ntBITS (0, 7);
+
+ state->Reg[Rd] &= 0xFFFF;
+ state->Reg[Rd] |= (imm << 16);
+ * pvalid = t_resolved;
+ break;
+ }
+
+ case 0x9A: // SBFXc> <Rd>,<Rn>,#<lsb>,#<width>
+ tASSERT (tBIT (4) == 0);
+ tASSERT (ntBIT (15) == 0);
+ tASSERT (ntBIT (5) == 0);
+ * ainstr = 0xE7A00050;
+ * ainstr |= (ntBITS (0, 4) << 16); // widthm1
+ * ainstr |= (ntBITS (8, 11) << 12); // Rd
+ * ainstr |= (((ntBITS (12, 14) << 2) | ntBITS (6, 7)) << 7); // lsb
+ * ainstr |= tBITS (0, 3); // Rn
+ * pvalid = t_decoded;
+ break;
+
+ case 0x9B:
+ {
+ ARMword Rd = ntBITS (8, 11);
+ ARMword Rn = tBITS (0, 3);
+ ARMword msbit = ntBITS (0, 5);
+ ARMword lsbit = (ntBITS (12, 14) << 2) | ntBITS (6, 7);
+ ARMword mask = -1 << lsbit;
+
+ tASSERT (tBIT (4) == 0);
+ tASSERT (ntBIT (15) == 0);
+ tASSERT (ntBIT (5) == 0);
+
+ mask &= ((1 << (msbit + 1)) - 1);
+
+ if (lsbit > msbit)
+ ; // UNPREDICTABLE
+ else if (Rn == 15)
+ {
+ // BFC<c> <Rd>,#<lsb>,#<width>
+ state->Reg[Rd] &= ~ mask;
+ }
+ else
+ {
+ // BFI<c> <Rd>,<Rn>,#<lsb>,#<width>
+ ARMword val = state->Reg[Rn] & (mask >> lsbit);
+
+ val <<= lsbit;
+ state->Reg[Rd] &= ~ mask;
+ state->Reg[Rd] |= val;
+ }
+
+ * pvalid = t_resolved;
+ break;
+ }
+
+ case 0x9E: // UBFXc> <Rd>,<Rn>,#<lsb>,#<width>
+ tASSERT (tBIT (4) == 0);
+ tASSERT (ntBIT (15) == 0);
+ tASSERT (ntBIT (5) == 0);
+ * ainstr = 0xE7E00050;
+ * ainstr |= (ntBITS (0, 4) << 16); // widthm1
+ * ainstr |= (ntBITS (8, 11) << 12); // Rd
+ * ainstr |= (((ntBITS (12, 14) << 2) | ntBITS (6, 7)) << 7); // lsb
+ * ainstr |= tBITS (0, 3); // Rn
+ * pvalid = t_decoded;
+ break;
+
+ case 0xC0: // STRB
+ case 0xC4: // LDRB
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rt = ntBITS (12, 15);
+
+ if (tBIT (4))
+ {
+ if (Rn == 15)
+ {
+ tASSERT (Rt != 15);
+
+ /* LDRB<c> <Rt>,<label> => 1111 1000 U001 1111 */
+ * ainstr = 0xE55F0000;
+ * ainstr |= (tBIT (7) << 23);
+ * ainstr |= ntBITS (0, 11);
+ }
+ else if (tBIT (7))
+ {
+ /* LDRB<c>.W <Rt>,[<Rn>{,#<imm12>}] => 1111 1000 1001 rrrr */
+ * ainstr = 0xE5D00000;
+ * ainstr |= ntBITS (0, 11);
+ }
+ else if (ntBIT (11) == 0)
+ {
+ /* LDRB<c>.W <Rt>,[<Rn>,<Rm>{,LSL #<imm2>}] => 1111 1000 0001 rrrr */
+ * ainstr = 0xE7D00000;
+ * ainstr |= (ntBITS (4, 5) << 7);
+ * ainstr |= ntBITS (0, 3);
+ }
+ else
+ {
+ int P = ntBIT (10);
+ int U = ntBIT (9);
+ int W = ntBIT (8);
+
+ tASSERT (! (Rt == 15 && P && !U && !W));
+ tASSERT (! (P && U && !W));
+
+ /* LDRB<c> <Rt>,[<Rn>,#-<imm8>] => 1111 1000 0001 rrrr
+ LDRB<c> <Rt>,[<Rn>],#+/-<imm8> => 1111 1000 0001 rrrr
+ LDRB<c> <Rt>,[<Rn>,#+/-<imm8>]! => 1111 1000 0001 rrrr */
+ * ainstr = 0xE4500000;
+ * ainstr |= (P << 24);
+ * ainstr |= (U << 23);
+ * ainstr |= (W << 21);
+ * ainstr |= ntBITS (0, 7);
+ }
+ }
+ else
+ {
+ if (tBIT (7) == 1)
+ {
+ // STRB<c>.W <Rt>,[<Rn>,#<imm12>]
+ ARMword imm12 = ntBITS (0, 11);
+
+ ARMul_StoreByte (state, state->Reg[Rn] + imm12, state->Reg [Rt]);
+ * pvalid = t_branch;
+ break;
+ }
+ else if (ntBIT (11))
+ {
+ // STRB<c> <Rt>,[<Rn>,#-<imm8>]
+ // STRB<c> <Rt>,[<Rn>],#+/-<imm8>
+ // STRB<c> <Rt>,[<Rn>,#+/-<imm8>]!
+ int P = ntBIT (10);
+ int U = ntBIT (9);
+ int W = ntBIT (8);
+ ARMword imm8 = ntBITS (0, 7);
+
+ tASSERT (! (P && U && !W));
+ tASSERT (! (Rn == 13 && P && !U && W && imm8 == 4));
+
+ * ainstr = 0xE4000000;
+ * ainstr |= (P << 24);
+ * ainstr |= (U << 23);
+ * ainstr |= (W << 21);
+ * ainstr |= imm8;
+ }
+ else
+ {
+ // STRB<c>.W <Rt>,[<Rn>,<Rm>{,LSL #<imm2>}]
+ tASSERT (ntBITS (6, 11) == 0);
+
+ * ainstr = 0xE7C00000;
+ * ainstr |= (ntBITS (4, 5) << 7);
+ * ainstr |= ntBITS (0, 3);
+ }
+ }
+
+ * ainstr |= (Rn << 16);
+ * ainstr |= (Rt << 12);
+ * pvalid = t_decoded;
+ break;
+ }
+
+ case 0xC2: // LDR, STR
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rt = ntBITS (12, 15);
+ ARMword imm8 = ntBITS (0, 7);
+ ARMword P = ntBIT (10);
+ ARMword U = ntBIT (9);
+ ARMword W = ntBIT (8);
+
+ tASSERT (Rn != 15);
+
+ if (tBIT (4))
+ {
+ if (Rn == 15)
+ {
+ // LDR<c>.W <Rt>,<label>
+ * ainstr = 0xE51F0000;
+ * ainstr |= ntBITS (0, 11);
+ }
+ else if (ntBIT (11))
+ {
+ tASSERT (! (P && U && ! W));
+ tASSERT (! (!P && U && W && Rn == 13 && imm8 == 4 && ntBIT (11) == 0));
+ tASSERT (! (P && !U && W && Rn == 13 && imm8 == 4 && ntBIT (11)));
+
+ // LDR<c> <Rt>,[<Rn>,#-<imm8>]
+ // LDR<c> <Rt>,[<Rn>],#+/-<imm8>
+ // LDR<c> <Rt>,[<Rn>,#+/-<imm8>]!
+ if (!P && W)
+ W = 0;
+ * ainstr = 0xE4100000;
+ * ainstr |= (P << 24);
+ * ainstr |= (U << 23);
+ * ainstr |= (W << 21);
+ * ainstr |= imm8;
+ }
+ else
+ {
+ // LDR<c>.W <Rt>,[<Rn>,<Rm>{,LSL #<imm2>}]
+
+ tASSERT (ntBITS (6, 11) == 0);
+
+ * ainstr = 0xE7900000;
+ * ainstr |= ntBITS (4, 5) << 7;
+ * ainstr |= ntBITS (0, 3);
+ }
+ }
+ else
+ {
+ if (ntBIT (11))
+ {
+ tASSERT (! (P && U && ! W));
+ if (Rn == 13 && P && !U && W && imm8 == 4)
+ {
+ // PUSH<c>.W <register>
+ tASSERT (ntBITS (0, 11) == 0xD04);
+ tASSERT (tBITS (0, 4) == 0x0D);
+
+ * ainstr = 0xE92D0000;
+ * ainstr |= (1 << Rt);
+
+ Rt = Rn = 0;
+ }
+ else
+ {
+ tASSERT (! (P && U && !W));
+ if (!P && W)
+ W = 0;
+ // STR<c> <Rt>,[<Rn>,#-<imm8>]
+ // STR<c> <Rt>,[<Rn>],#+/-<imm8>
+ // STR<c> <Rt>,[<Rn>,#+/-<imm8>]!
+ * ainstr = 0xE4000000;
+ * ainstr |= (P << 24);
+ * ainstr |= (U << 23);
+ * ainstr |= (W << 21);
+ * ainstr |= imm8;
+ }
+ }
+ else
+ {
+ // STR<c>.W <Rt>,[<Rn>,<Rm>{,LSL #<imm2>}]
+ tASSERT (ntBITS (6, 11) == 0);
+
+ * ainstr = 0xE7800000;
+ * ainstr |= ntBITS (4, 5) << 7;
+ * ainstr |= ntBITS (0, 3);
+ }
+ }
+
+ * ainstr |= (Rn << 16);
+ * ainstr |= (Rt << 12);
+ * pvalid = t_decoded;
+ break;
+ }
+
+ case 0xC1: // STRH
+ case 0xC5: // LDRH
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rt = ntBITS (12, 15);
+ ARMword address;
+
+ tASSERT (Rn != 15);
+
+ if (tBIT (4) == 1)
+ {
+ if (tBIT (7))
+ {
+ // LDRH<c>.W <Rt>,[<Rn>{,#<imm12>}]
+ ARMword imm12 = ntBITS (0, 11);
+ address = state->Reg[Rn] + imm12;
+ }
+ else if (ntBIT (11))
+ {
+ // LDRH<c> <Rt>,[<Rn>,#-<imm8>]
+ // LDRH<c> <Rt>,[<Rn>],#+/-<imm8>
+ // LDRH<c> <Rt>,[<Rn>,#+/-<imm8>]!
+ ARMword P = ntBIT (10);
+ ARMword U = ntBIT (9);
+ ARMword W = ntBIT (8);
+ ARMword imm8 = ntBITS (0, 7);
+
+ tASSERT (Rn != 15);
+ tASSERT (! (P && U && !W));
+
+ * ainstr = 0xE05000B0;
+ * ainstr |= (P << 24);
+ * ainstr |= (U << 23);
+ * ainstr |= (W << 21);
+ * ainstr |= (Rn << 16);
+ * ainstr |= (Rt << 12);
+ * ainstr |= ((imm8 & 0xF0) << 4);
+ * ainstr |= (imm8 & 0xF);
+ * pvalid = t_decoded;
+ break;
+ }
+ else
+ {
+ // LDRH<c>.W <Rt>,[<Rn>,<Rm>{,LSL #<imm2>}]
+ ARMword Rm = ntBITS (0, 3);
+ ARMword imm2 = ntBITS (4, 5);
+
+ tASSERT (ntBITS (6, 10) == 0);
+
+ address = state->Reg[Rn] + (state->Reg[Rm] << imm2);
+ }
+
+ state->Reg[Rt] = ARMul_LoadHalfWord (state, address);
+ }
+ else
+ {
+ if (tBIT (7))
+ {
+ // STRH<c>.W <Rt>,[<Rn>{,#<imm12>}]
+ ARMword imm12 = ntBITS (0, 11);
+
+ address = state->Reg[Rn] + imm12;
+ }
+ else if (ntBIT (11))
+ {
+ // STRH<c> <Rt>,[<Rn>,#-<imm8>]
+ // STRH<c> <Rt>,[<Rn>],#+/-<imm8>
+ // STRH<c> <Rt>,[<Rn>,#+/-<imm8>]!
+ ARMword P = ntBIT (10);
+ ARMword U = ntBIT (9);
+ ARMword W = ntBIT (8);
+ ARMword imm8 = ntBITS (0, 7);
+
+ tASSERT (! (P && U && !W));
+
+ * ainstr = 0xE04000B0;
+ * ainstr |= (P << 24);
+ * ainstr |= (U << 23);
+ * ainstr |= (W << 21);
+ * ainstr |= (Rn << 16);
+ * ainstr |= (Rt << 12);
+ * ainstr |= ((imm8 & 0xF0) << 4);
+ * ainstr |= (imm8 & 0xF);
+ * pvalid = t_decoded;
+ break;
+ }
+ else
+ {
+ // STRH<c>.W <Rt>,[<Rn>,<Rm>{,LSL #<imm2>}]
+ ARMword Rm = ntBITS (0, 3);
+ ARMword imm2 = ntBITS (4, 5);
+
+ tASSERT (ntBITS (6, 10) == 0);
+
+ address = state->Reg[Rn] + (state->Reg[Rm] << imm2);
+ }
+
+ ARMul_StoreHalfWord (state, address, state->Reg [Rt]);
+ }
+ * pvalid = t_branch;
+ break;
+ }
+
+ case 0xC6: // LDR.W/STR.W
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rt = ntBITS (12, 15);
+ ARMword imm12 = ntBITS (0, 11);
+ ARMword address = state->Reg[Rn];
+
+ if (Rn == 15)
+ {
+ // LDR<c>.W <Rt>,<label>
+ tASSERT (tBIT (4) == 1);
+ // tASSERT (tBIT (7) == 1)
+ }
+
+ address += imm12;
+ if (tBIT (4) == 1)
+ state->Reg[Rt] = ARMul_LoadWordN (state, address);
+ else
+ ARMul_StoreWordN (state, address, state->Reg [Rt]);
+
+ * pvalid = t_resolved;
+ break;
+ }
+
+ case 0xC8:
+ case 0xCC: // LDRSB
+ {
+ ARMword Rt = ntBITS (12, 15);
+ ARMword Rn = tBITS (0, 3);
+ ARMword U = tBIT (7);
+ ARMword address = state->Reg[Rn];
+
+ tASSERT (tBIT (4) == 1);
+ tASSERT (Rt != 15); // PLI
+
+ if (Rn == 15)
+ {
+ // LDRSB<c> <Rt>,<label>
+ ARMword imm12 = ntBITS (0, 11);
+ address += (U ? imm12 : - imm12);
+ }
+ else if (U)
+ {
+ // LDRSB<c> <Rt>,[<Rn>,#<imm12>]
+ ARMword imm12 = ntBITS (0, 11);
+ address += imm12;
+ }
+ else if (ntBIT (11))
+ {
+ // LDRSB<c> <Rt>,[<Rn>,#-<imm8>]
+ // LDRSB<c> <Rt>,[<Rn>],#+/-<imm8>
+ // LDRSB<c> <Rt>,[<Rn>,#+/-<imm8>]!
+ * ainstr = 0xE05000D0;
+ * ainstr |= ntBIT (10) << 24; // P
+ * ainstr |= ntBIT (9) << 23; // U
+ * ainstr |= ntBIT (8) << 21; // W
+ * ainstr |= Rn << 16;
+ * ainstr |= Rt << 12;
+ * ainstr |= ntBITS (4, 7) << 8;
+ * ainstr |= ntBITS (0, 3);
+ * pvalid = t_decoded;
+ break;
+ }
+ else
+ {
+ // LDRSB<c>.W <Rt>,[<Rn>,<Rm>{,LSL #<imm2>}]
+ ARMword Rm = ntBITS (0, 3);
+ ARMword imm2 = ntBITS (4,5);
+
+ tASSERT (ntBITS (6, 11) == 0);
+
+ address += (state->Reg[Rm] << imm2);
+ }
+
+ state->Reg[Rt] = ARMul_LoadByte (state, address);
+ if (state->Reg[Rt] & 0x80)
+ state->Reg[Rt] |= -1 << 8;
+
+ * pvalid = t_resolved;
+ break;
+ }
+
+ case 0xC9:
+ case 0xCD:// LDRSH
+ {
+ ARMword Rt = ntBITS (12, 15);
+ ARMword Rn = tBITS (0, 3);
+ ARMword U = tBIT (7);
+ ARMword address = state->Reg[Rn];
+
+ tASSERT (tBIT (4) == 1);
+
+ if (Rn == 15 || U == 1)
+ {
+ // Rn==15 => LDRSH<c> <Rt>,<label>
+ // Rn!=15 => LDRSH<c> <Rt>,[<Rn>,#<imm12>]
+ ARMword imm12 = ntBITS (0, 11);
+
+ address += (U ? imm12 : - imm12);
+ }
+ else if (ntBIT (11))
+ {
+ // LDRSH<c> <Rt>,[<Rn>,#-<imm8>]
+ // LDRSH<c> <Rt>,[<Rn>],#+/-<imm8>
+ // LDRSH<c> <Rt>,[<Rn>,#+/-<imm8>]!
+ * ainstr = 0xE05000F0;
+ * ainstr |= ntBIT (10) << 24; // P
+ * ainstr |= ntBIT (9) << 23; // U
+ * ainstr |= ntBIT (8) << 21; // W
+ * ainstr |= Rn << 16;
+ * ainstr |= Rt << 12;
+ * ainstr |= ntBITS (4, 7) << 8;
+ * ainstr |= ntBITS (0, 3);
+ * pvalid = t_decoded;
+ break;
+ }
+ else /* U == 0 */
+ {
+ // LDRSH<c>.W <Rt>,[<Rn>,<Rm>{,LSL #<imm2>}]
+ ARMword Rm = ntBITS (0, 3);
+ ARMword imm2 = ntBITS (4,5);
+
+ tASSERT (ntBITS (6, 11) == 0);
+
+ address += (state->Reg[Rm] << imm2);
+ }
+
+ state->Reg[Rt] = ARMul_LoadHalfWord (state, address);
+ if (state->Reg[Rt] & 0x8000)
+ state->Reg[Rt] |= -1 << 16;
+
+ * pvalid = t_branch;
+ break;
+ }
+
+ case 0x0D0:
+ {
+ ARMword Rm = ntBITS (0, 3);
+ ARMword Rd = ntBITS (8, 11);
+
+ tASSERT (ntBITS (12, 15) == 15);
+
+ if (ntBIT (7) == 1)
+ {
+ // SXTH<c>.W <Rd>,<Rm>{,<rotation>}
+ ARMword ror = ntBITS (4, 5) << 3;
+ ARMword val;
+
+ val = state->Reg[Rm];
+ val = (val >> ror) | (val << (32 - ror));
+ if (val & 0x8000)
+ val |= -1 << 16;
+ state->Reg[Rd] = val;
+ }
+ else
+ {
+ // LSL{S}<c>.W <Rd>,<Rn>,<Rm>
+ ARMword Rn = tBITS (0, 3);
+
+ tASSERT (ntBITS (4, 6) == 0);
+
+ state->Reg[Rd] = state->Reg[Rn] << (state->Reg[Rm] & 0xFF);
+ if (tBIT (4))
+ ARMul_NegZero (state, state->Reg[Rd]);
+ }
+ * pvalid = t_branch;
+ break;
+ }
+
+ case 0x0D1: // LSR{S}<c>.W <Rd>,<Rn>,<Rm>
+ {
+ ARMword Rd = ntBITS (8, 11);
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rm = ntBITS (0, 3);
+
+ tASSERT (ntBITS (12, 15) == 15);
+ tASSERT (ntBITS (4, 7) == 0);
+
+ state->Reg[Rd] = state->Reg[Rn] >> (state->Reg[Rm] & 0xFF);
+ if (tBIT (4))
+ ARMul_NegZero (state, state->Reg[Rd]);
+ * pvalid = t_resolved;
+ break;
+ }
+
+ case 0xD2:
+ tASSERT (ntBITS (12, 15) == 15);
+ if (ntBIT (7))
+ {
+ tASSERT (ntBIT (6) == 0);
+ // UXTB<c>.W <Rd>,<Rm>{,<rotation>}
+ * ainstr = 0xE6EF0070;
+ * ainstr |= (ntBITS (4, 5) << 10); // rotate
+ * ainstr |= ntBITS (0, 3); // Rm
+ }
+ else
+ {
+ // ASR{S}<c>.W <Rd>,<Rn>,<Rm>
+ tASSERT (ntBITS (4, 7) == 0);
+ * ainstr = 0xE1A00050;
+ if (! in_IT_block ())
+ * ainstr |= (tBIT (4) << 20);
+ * ainstr |= (ntBITS (0, 3) << 8); // Rm
+ * ainstr |= tBITS (0, 3); // Rn
+ }
+
+ * ainstr |= (ntBITS (8, 11) << 12); // Rd
+ * pvalid = t_decoded;
+ break;
+
+ case 0xD3: // ROR{S}<c>.W <Rd>,<Rn>,<Rm>
+ tASSERT (ntBITS (12, 15) == 15);
+ tASSERT (ntBITS (4, 7) == 0);
+ * ainstr = 0xE1A00070;
+ if (! in_IT_block ())
+ * ainstr |= (tBIT (4) << 20);
+ * ainstr |= (ntBITS (8, 11) << 12); // Rd
+ * ainstr |= (ntBITS (0, 3) << 8); // Rm
+ * ainstr |= (tBITS (0, 3) << 0); // Rn
+ * pvalid = t_decoded;
+ break;
+
+ case 0xD4:
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rd = ntBITS (8, 11);
+ ARMword Rm = ntBITS (0, 3);
+
+ tASSERT (ntBITS (12, 15) == 15);
+
+ if (ntBITS (4, 7) == 8)
+ {
+ // REV<c>.W <Rd>,<Rm>
+ ARMword val = state->Reg[Rm];
+
+ tASSERT (Rm == Rn);
+
+ state->Reg [Rd] =
+ (val >> 24)
+ | ((val >> 8) & 0xFF00)
+ | ((val << 8) & 0xFF0000)
+ | (val << 24);
+ * pvalid = t_resolved;
+ }
+ else
+ {
+ tASSERT (ntBITS (4, 7) == 4);
+
+ if (tBIT (4) == 1)
+ // UADD8<c> <Rd>,<Rn>,<Rm>
+ * ainstr = 0xE6500F10;
+ else
+ // UADD16<c> <Rd>,<Rn>,<Rm>
+ * ainstr = 0xE6500F90;
+
+ * ainstr |= (Rn << 16);
+ * ainstr |= (Rd << 12);
+ * ainstr |= (Rm << 0);
+ * pvalid = t_decoded;
+ }
+ break;
+ }
+
+ case 0xD5:
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rd = ntBITS (8, 11);
+ ARMword Rm = ntBITS (0, 3);
+
+ tASSERT (ntBITS (12, 15) == 15);
+ tASSERT (ntBITS (4, 7) == 8);
+
+ if (tBIT (4))
+ {
+ // CLZ<c> <Rd>,<Rm>
+ tASSERT (Rm == Rn);
+ * ainstr = 0xE16F0F10;
+ }
+ else
+ {
+ // SEL<c> <Rd>,<Rn>,<Rm>
+ * ainstr = 0xE6800FB0;
+ * ainstr |= (Rn << 16);
+ }
+
+ * ainstr |= (Rd << 12);
+ * ainstr |= (Rm << 0);
+ * pvalid = t_decoded;
+ break;
+ }
+
+ case 0xD8: // MUL
+ {
+ ARMword Rn = tBITS (0, 3);
+ ARMword Rm = ntBITS (0, 3);
+ ARMword Rd = ntBITS (8, 11);
+ ARMword Ra = ntBITS (12, 15);
+
+ if (tBIT (4))
+ {
+ // SMLA<x><y><c> <Rd>,<Rn>,<Rm>,<Ra>
+ ARMword nval = state->Reg[Rn];
+ ARMword mval = state->Reg[Rm];
+ ARMword res;
+
+ tASSERT (ntBITS (6, 7) == 0);
+ tASSERT (Ra != 15);
+
+ if (ntBIT (5))
+ nval >>= 16;
+ else
+ nval &= 0xFFFF;
+
+ if (ntBIT (4))
+ mval >>= 16;
+ else
+ mval &= 0xFFFF;
+
+ res = nval * mval;
+ res += state->Reg[Ra];
+ // FIXME: Test and clear/set the Q bit.
+ state->Reg[Rd] = res;
+ }
+ else
+ {
+ if (ntBITS (4, 7) == 1)
+ {
+ // MLS<c> <Rd>,<Rn>,<Rm>,<Ra>
+ state->Reg[Rd] = state->Reg[Ra] - (state->Reg[Rn] * state->Reg[Rm]);
+ }
+ else
+ {
+ tASSERT (ntBITS (4, 7) == 0);
+
+ if (Ra == 15)
+ // MUL<c> <Rd>,<Rn>,<Rm>
+ state->Reg[Rd] = state->Reg[Rn] * state->Reg[Rm];
+ else
+ // MLA<c> <Rd>,<Rn>,<Rm>,<Ra>
+ state->Reg[Rd] = state->Reg[Rn] * state->Reg[Rm] + state->Reg[Ra];
+ }
+ }
+ * pvalid = t_resolved;
+ break;
+ }
+
+ case 0xDC: // SMULL
+ tASSERT (tBIT (4) == 0);
+ tASSERT (ntBITS (4, 7) == 0);
+ * ainstr = 0xE0C00090;
+ * ainstr |= (ntBITS (8, 11) << 16); // RdHi
+ * ainstr |= (ntBITS (12, 15) << 12); // RdLo
+ * ainstr |= (ntBITS (0, 3) << 8); // Rm
+ * ainstr |= tBITS (0, 3); // Rn
+ * pvalid = t_decoded;
+ break;
+
+ case 0xDD: // UMULL
+ tASSERT (tBIT (4) == 0);
+ tASSERT (ntBITS (4, 7) == 0);
+ * ainstr = 0xE0800090;
+ * ainstr |= (ntBITS (8, 11) << 16); // RdHi
+ * ainstr |= (ntBITS (12, 15) << 12); // RdLo
+ * ainstr |= (ntBITS (0, 3) << 8); // Rm
+ * ainstr |= tBITS (0, 3); // Rn
+ * pvalid = t_decoded;
+ break;
+
+ case 0xDF: // UMLAL
+ tASSERT (tBIT (4) == 0);
+ tASSERT (ntBITS (4, 7) == 0);
+ * ainstr = 0xE0A00090;
+ * ainstr |= (ntBITS (8, 11) << 16); // RdHi
+ * ainstr |= (ntBITS (12, 15) << 12); // RdLo
+ * ainstr |= (ntBITS (0, 3) << 8); // Rm
+ * ainstr |= tBITS (0, 3); // Rn
+ * pvalid = t_decoded;
+ break;
+
+ default:
+ fprintf (stderr, "(op = %x) ", tBITS (5,12));
+ tASSERT (0);
+ return;
+ }
+
+ /* Tell the Thumb decoder to skip the next 16-bit insn - it was
+ part of this insn - unless this insn has changed the PC. */
+ skipping_32bit_thumb = pc + 2;
+}
+
/* Attempt to emulate an ARMv6 instruction.
Stores t_branch into PVALUE upon success or t_undefined otherwise. */
static void
handle_v6_thumb_insn (ARMul_State * state,
ARMword tinstr,
+ ARMword next_instr,
+ ARMword pc,
+ ARMword * ainstr,
tdstate * pvalid)
{
if (! state->is_v6)
@@ -44,13 +1820,105 @@ handle_v6_thumb_insn (ARMul_State * state,
return;
}
+ if (tBITS (12, 15) == 0xB
+ && tBIT (10) == 0
+ && tBIT (8) == 1)
+ {
+ // Conditional branch forwards.
+ ARMword Rn = tBITS (0, 2);
+ ARMword imm5 = tBIT (9) << 5 | tBITS (3, 7);
+
+ if (tBIT (11))
+ {
+ if (state->Reg[Rn] != 0)
+ {
+ state->Reg[15] = (pc + 4 + imm5 * 2);
+ FLUSHPIPE;
+ }
+ }
+ else
+ {
+ if (state->Reg[Rn] == 0)
+ {
+ state->Reg[15] = (pc + 4 + imm5 * 2);
+ FLUSHPIPE;
+ }
+ }
+ * pvalid = t_branch;
+ return;
+ }
+
switch (tinstr & 0xFFC0)
{
- case 0xb660: /* cpsie */
- case 0xb670: /* cpsid */
- case 0x4600: /* cpy */
+ case 0x4400:
+ case 0x4480:
+ case 0x4440:
+ case 0x44C0: // ADD
+ {
+ ARMword Rd = (tBIT (7) << 3) | tBITS (0, 2);
+ ARMword Rm = tBITS (3, 6);
+ state->Reg[Rd] += state->Reg[Rm];
+ break;
+ }
+
+ case 0x4600: // MOV<c> <Rd>,<Rm>
+ {
+ // instr [15, 8] = 0100 0110
+ // instr [7] = Rd<high>
+ // instr [6,3] = Rm
+ // instr [2,0] = Rd<low>
+ ARMword Rd = (tBIT(7) << 3) | tBITS (0, 2);
+ // FIXME: Check for Rd == 15 and ITblock.
+ state->Reg[Rd] = state->Reg[tBITS (3, 6)];
+ break;
+ }
+
+ case 0xBF00:
+ case 0xBF40:
+ case 0xBF80:
+ case 0xBFC0:
+ handle_IT_block (state, tinstr, pvalid);
+ return;
+
+ case 0xE840:
+ case 0xE880: // LDMIA
+ case 0xE8C0:
+ case 0xE900: // STM
+ case 0xE940:
+ case 0xE980:
+ case 0xE9C0: // LDRD
+ case 0xEA00: // BIC
+ case 0xEA40: // ORR
+ case 0xEA80: // EOR
+ case 0xEAC0:
+ case 0xEB00: // ADD
+ case 0xEB40: // SBC
+ case 0xEB80: // SUB
+ case 0xEBC0: // RSB
+ case 0xFA80: // UADD, SEL
+ handle_T2_insn (state, tinstr, next_instr, pc, ainstr, pvalid);
+ return;
+
case 0xba00: /* rev */
+ {
+ ARMword val = state->Reg[tBITS (3, 5)];
+ state->Reg [tBITS (0, 2)] =
+ (val >> 24)
+ | ((val >> 8) & 0xFF00)
+ | ((val << 8) & 0xFF0000)
+ | (val << 24);
+ break;
+ }
+
case 0xba40: /* rev16 */
+ {
+ ARMword val = state->Reg[tBITS (3, 5)];
+ state->Reg [tBITS (0, 2)] = (val >> 16) | (val << 16);
+ break;
+ }
+
+ case 0xb660: /* cpsie */
+ case 0xb670: /* cpsid */
case 0xbac0: /* revsh */
case 0xb650: /* setend */
default:
@@ -113,6 +1981,14 @@ ARMul_ThumbDecode (ARMul_State * state,
{
tdstate valid = t_decoded; /* default assumes a valid instruction */
ARMword next_instr;
+ ARMword old_tinstr = tinstr;
+
+ if (skipping_32bit_thumb == pc)
+ {
+ skipping_32bit_thumb = 0;
+ return t_branch;
+ }
+ skipping_32bit_thumb = 0;
if (state->bigendSig)
{
@@ -125,6 +2001,24 @@ ARMul_ThumbDecode (ARMul_State * state,
tinstr &= 0xFFFF;
}
+ if (! IT_block_allow (state))
+ {
+ if ( tBITS (11, 15) == 0x1F
+ || tBITS (11, 15) == 0x1E
+ || tBITS (11, 15) == 0x1D)
+ {
+ if (trace)
+ fprintf (stderr, "pc: %x, SKIP instr: %04x|%04x\n",
+ pc & ~1, tinstr, next_instr);
+ skipping_32bit_thumb = pc + 2;
+ }
+ else if (trace)
+ fprintf (stderr, "pc: %x, SKIP instr: %04x\n", pc & ~1, tinstr);
+
+ return t_branch;
+ }
+
+ old_tinstr = tinstr;
if (trace)
fprintf (stderr, "pc: %x, Thumb instr: %x", pc & ~1, tinstr);
@@ -147,38 +2041,50 @@ ARMul_ThumbDecode (ARMul_State * state,
case 3: /* ADD/SUB */
/* Format 2 */
{
- ARMword subset[4] = {
- 0xE0900000, /* ADDS Rd,Rs,Rn */
- 0xE0500000, /* SUBS Rd,Rs,Rn */
- 0xE2900000, /* ADDS Rd,Rs,#imm3 */
- 0xE2500000 /* SUBS Rd,Rs,#imm3 */
- };
+ ARMword subset[4] =
+ {
+ 0xE0900000, /* ADDS Rd,Rs,Rn */
+ 0xE0500000, /* SUBS Rd,Rs,Rn */
+ 0xE2900000, /* ADDS Rd,Rs,#imm3 */
+ 0xE2500000 /* SUBS Rd,Rs,#imm3 */
+ };
/* It is quicker indexing into a table, than performing switch
or conditionals: */
*ainstr = subset[(tinstr & 0x0600) >> 9] /* base opcode */
| ((tinstr & 0x01C0) >> 6) /* Rn or imm3 */
| ((tinstr & 0x0038) << (16 - 3)) /* Rs */
| ((tinstr & 0x0007) << (12 - 0)); /* Rd */
+
+ if (in_IT_block ())
+ *ainstr &= ~ (1 << 20);
}
break;
- case 4: /* MOV */
- case 5: /* CMP */
- case 6: /* ADD */
- case 7: /* SUB */
- /* Format 3 */
- {
- ARMword subset[4] = {
- 0xE3B00000, /* MOVS Rd,#imm8 */
- 0xE3500000, /* CMP Rd,#imm8 */
- 0xE2900000, /* ADDS Rd,Rd,#imm8 */
- 0xE2500000, /* SUBS Rd,Rd,#imm8 */
- };
- *ainstr = subset[(tinstr & 0x1800) >> 11] /* base opcode */
- | ((tinstr & 0x00FF) >> 0) /* imm8 */
- | ((tinstr & 0x0700) << (16 - 8)) /* Rn */
- | ((tinstr & 0x0700) << (12 - 8)); /* Rd */
- }
+ case 4:
+ * ainstr = 0xE3A00000; /* MOV Rd,#imm8 */
+ if (! in_IT_block ())
+ * ainstr |= (1 << 20);
+ * ainstr |= tBITS (8, 10) << 12;
+ * ainstr |= tBITS (0, 7);
+ break;
+
+ case 5:
+ * ainstr = 0xE3500000; /* CMP Rd,#imm8 */
+ * ainstr |= tBITS (8, 10) << 16;
+ * ainstr |= tBITS (0, 7);
break;
+
+ case 6:
+ case 7:
+ * ainstr = tBIT (11)
+ ? 0xE2400000 /* SUB Rd,Rd,#imm8 */
+ : 0xE2800000; /* ADD Rd,Rd,#imm8 */
+ if (! in_IT_block ())
+ * ainstr |= (1 << 20);
+ * ainstr |= tBITS (8, 10) << 12;
+ * ainstr |= tBITS (8, 10) << 16;
+ * ainstr |= tBITS (0, 7);
+ break;
+
case 8: /* Arithmetic and high register transfers */
/* TODO: Since the subsets for both Format 4 and Format 5
instructions are made up of different ARM encodings, we could
@@ -214,6 +2120,38 @@ ARMul_ThumbDecode (ARMul_State * state,
{ 0xE1F00000, t_norm} /* MVNS Rd,Rs */
};
*ainstr = subset[(tinstr & 0x03C0) >> 6].opcode; /* base */
+
+ if (in_IT_block ())
+ {
+ struct
+ {
+ ARMword opcode;
+ enum
+ { t_norm, t_shift, t_neg, t_mul }
+ otype;
+ }
+ subset[16] =
+ {
+ { 0xE0000000, t_norm}, /* AND Rd,Rd,Rs */
+ { 0xE0200000, t_norm}, /* EOR Rd,Rd,Rs */
+ { 0xE1A00010, t_shift}, /* MOV Rd,Rd,LSL Rs */
+ { 0xE1A00030, t_shift}, /* MOV Rd,Rd,LSR Rs */
+ { 0xE1A00050, t_shift}, /* MOV Rd,Rd,ASR Rs */
+ { 0xE0A00000, t_norm}, /* ADC Rd,Rd,Rs */
+ { 0xE0C00000, t_norm}, /* SBC Rd,Rd,Rs */
+ { 0xE1A00070, t_shift}, /* MOV Rd,Rd,ROR Rs */
+ { 0xE1100000, t_norm}, /* TST Rd,Rs */
+ { 0xE2600000, t_neg}, /* RSB Rd,Rs,#0 */
+ { 0xE1500000, t_norm}, /* CMP Rd,Rs */
+ { 0xE1700000, t_norm}, /* CMN Rd,Rs */
+ { 0xE1800000, t_norm}, /* ORR Rd,Rd,Rs */
+ { 0xE0000090, t_mul} , /* MUL Rd,Rd,Rs */
+ { 0xE1C00000, t_norm}, /* BIC Rd,Rd,Rs */
+ { 0xE1E00000, t_norm} /* MVN Rd,Rs */
+ };
+ *ainstr = subset[(tinstr & 0x03C0) >> 6].opcode; /* base */
+ }
+
switch (subset[(tinstr & 0x03C0) >> 6].otype)
{
case t_norm:
@@ -268,7 +2206,6 @@ ARMul_ThumbDecode (ARMul_State * state,
case 0xA: /* MOV Hd,Rs */
case 0xB: /* MOV Hd,Hs */
*ainstr = 0xE1A00000 /* base */
- | (Rd << 16) /* Rn */
| (Rd << 12) /* Rd */
| (Rs << 0); /* Rm */
break;
@@ -287,10 +2224,11 @@ ARMul_ThumbDecode (ARMul_State * state,
break;
}
/* Drop through. */
+ default:
case 0x0: /* UNDEFINED */
case 0x4: /* UNDEFINED */
case 0x8: /* UNDEFINED */
- handle_v6_thumb_insn (state, tinstr, & valid);
+ handle_v6_thumb_insn (state, tinstr, next_instr, pc, ainstr, & valid);
break;
}
}
@@ -432,13 +2370,17 @@ ARMul_ThumbDecode (ARMul_State * state,
defines this particular pattern as a BKPT instruction, for
hardware assisted debugging. We map onto the arm BKPT
instruction. */
- * ainstr = 0xE1200070 | ((tinstr & 0xf0) << 4) | (tinstr & 0xf);
+ if (state->is_v6)
+ // Map to the SVC instruction instead of the BKPT instruction.
+ * ainstr = 0xEF000000 | tBITS (0, 7);
+ else
+ * ainstr = 0xE1200070 | ((tinstr & 0xf0) << 4) | (tinstr & 0xf);
break;
}
/* Drop through. */
default:
/* Everything else is an undefined instruction. */
- handle_v6_thumb_insn (state, tinstr, & valid);
+ handle_v6_thumb_insn (state, tinstr, next_instr, pc, ainstr, & valid);
break;
}
break;
@@ -530,7 +2472,7 @@ ARMul_ThumbDecode (ARMul_State * state,
}
else
/* UNDEFINED : cc=1110(AL) uses different format. */
- handle_v6_thumb_insn (state, tinstr, & valid);
+ handle_v6_thumb_insn (state, tinstr, next_instr, pc, ainstr, & valid);
break;
case 28: /* B */
/* Format 18 */
@@ -541,15 +2483,21 @@ ARMul_ThumbDecode (ARMul_State * state,
valid = t_branch;
break;
case 29: /* UNDEFINED */
+ if (state->is_v6)
+ {
+ handle_v6_thumb_insn (state, tinstr, next_instr, pc, ainstr, & valid);
+ break;
+ }
+
if (state->is_v5)
{
if (tinstr & 1)
{
- handle_v6_thumb_insn (state, tinstr, & valid);
+ handle_v6_thumb_insn (state, tinstr, next_instr, pc, ainstr, & valid);
break;
}
/* Drop through. */
-
+
/* Format 19 */
/* There is no single ARM instruction equivalent for this
instruction. Also, it should only ever be matched with the
@@ -571,10 +2519,16 @@ ARMul_ThumbDecode (ARMul_State * state,
}
}
- handle_v6_thumb_insn (state, tinstr, & valid);
+ handle_v6_thumb_insn (state, tinstr, next_instr, pc, ainstr, & valid);
break;
case 30: /* BL instruction 1 */
+ if (state->is_v6)
+ {
+ handle_T2_insn (state, tinstr, next_instr, pc, ainstr, & valid);
+ break;
+ }
+
/* Format 19 */
/* There is no single ARM instruction equivalent for this Thumb
instruction. To keep the simulation simple (from the user
@@ -610,6 +2564,12 @@ ARMul_ThumbDecode (ARMul_State * state,
/* else we fall through to process the second half of the BL */
pc += 2; /* point the pc at the 2nd half */
case 31: /* BL instruction 2 */
+ if (state->is_v6)
+ {
+ handle_T2_insn (state, old_tinstr, next_instr, pc, ainstr, & valid);
+ break;
+ }
+
/* Format 19 */
/* There is no single ARM instruction equivalent for this
instruction. Also, it should only ever be matched with the
diff --git a/sim/arm/wrapper.c b/sim/arm/wrapper.c
index d69daa3b272..b494354fcd3 100644
--- a/sim/arm/wrapper.c
+++ b/sim/arm/wrapper.c
@@ -257,6 +257,11 @@ sim_create_inferior (SIM_DESC sd ATTRIBUTE_UNUSED,
mach = 0;
}
+#ifdef MODET
+ if (abfd != NULL && (bfd_get_start_address (abfd) & 1))
+ SETT;
+#endif
+
switch (mach)
{
default:
@@ -341,17 +346,6 @@ sim_create_inferior (SIM_DESC sd ATTRIBUTE_UNUSED,
break;
}
- if ( mach != bfd_mach_arm_3
- && mach != bfd_mach_arm_3M
- && mach != bfd_mach_arm_2
- && mach != bfd_mach_arm_2a)
- {
- /* Reset mode to ARM. A gdb user may rerun a program that had entered
- THUMB mode from the start and cause the ARM-mode startup code to be
- executed in THUMB mode. */
- ARMul_SetCPSR (state, SVC32MODE);
- }
-
memset (& info, 0, sizeof (info));
INIT_DISASSEMBLE_INFO (info, stdout, op_printf);
info.read_memory_func = sim_dis_read;
diff --git a/sim/avr/ChangeLog b/sim/avr/ChangeLog
index 036c057bfd6..0c2963c0c77 100644
--- a/sim/avr/ChangeLog
+++ b/sim/avr/ChangeLog
@@ -1,3 +1,15 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
2015-04-27 Senthil Kumar Selvaraj <senthil_kumar.selvaraj@atmel.com>
* Makefile.in (SIM_OBJS): Move interp.o
diff --git a/sim/avr/configure b/sim/avr/configure
index 38d09c0d61c..b9530e20bda 100755
--- a/sim/avr/configure
+++ b/sim/avr/configure
@@ -1405,17 +1405,28 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
- --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.
- --enable-sim-inline=inlines Specify which functions should be inlined.
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
+ --enable-sim-environment=environment
+ Specify mixed, user, virtual or operating
+ environment
+ --enable-sim-inline=inlines
+ Specify which functions should be inlined
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings if gcc is used
--enable-sim-build-warnings
@@ -2227,7 +2238,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12306,7 +12317,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12309 "configure"
+#line 12320 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12412,7 +12423,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12415 "configure"
+#line 12426 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12748,10 +12759,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/bfin/ChangeLog b/sim/bfin/ChangeLog
index 1940edf4062..d0e91b3b5a5 100644
--- a/sim/bfin/ChangeLog
+++ b/sim/bfin/ChangeLog
@@ -1,3 +1,57 @@
+2015-06-24 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (trace_register): Delete.
+ * sim-main.h (trace_register, TRACE_REGISTER, TRACE_REG): Delete.
+
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-17 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c: Include sim-syscall.h.
+ (syscall_read_mem, syscall_write_mem): Delete.
+ (bfin_syscall): Change syscall_read_mem/syscall_write_mem to
+ sim_syscall_read_mem/sim_syscall_write_mem.
+
+2015-06-17 Mike Frysinger <vapier@gentoo.org>
+
+ * linux-targ-map.h: Update example comments.
+ (cb_linux_syscall_map): Fill out name field.
+ (cb_linux_errno_map, cb_linux_open_map, cb_linux_signal_map):
+ Likewise.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c: Expand comment on CB_SYS_xxx defines.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * bfin-sim.c (hwloop_get_next_pc): Change TRACE_BRANCH to
+ BFIN_TRACE_BRANCH.
+ (decode_ProgCtrl_0, decode_BRCC_0, decode_UJUMP_0, decode_CALLa_0):
+ Likewise.
+ * bfin-sim.h (__PUT_MEM, __GET_MEM): Change TRACE_CORE to
+ BFIN_TRACE_CORE.
+ * dv-bfin_cec.c (_cec_raise, cec_latch, cec_return): Change
+ TRACE_BRANCH to BFIN_TRACE_BRANCH.
+ * interp.c (syscall_read_mem, syscall_write_mem): Change MAYBE_TRACE
+ to TRACE_CORE.
+ * sim-main.h (MAYBE_TRACE, TRACE_INSN, TRACE_DECODE, TRACE_EXTRACT,
+ TRACE_SYSCALL, TRACE_EVENTS): Delete.
+ (TRACE_CORE): Rename to ...
+ (BFIN_TRACE_CORE): ... this. Change MAYBE_TRACE to TRACE_CORE.
+ (TRACE_BRANCH): Rename to ...
+ (BFIN_TRACE_BRANCH): ... this. Change MAYBE_TRACE to TRACE_BRANCH.
+
2015-04-24 David Binderman <dcb314@hotmail.com>
Nick Clifton <nickc@redhat.com>
diff --git a/sim/bfin/bfin-sim.c b/sim/bfin/bfin-sim.c
index 24b29e74d18..8b19eadd25d 100644
--- a/sim/bfin/bfin-sim.c
+++ b/sim/bfin/bfin-sim.c
@@ -1741,7 +1741,7 @@ hwloop_get_next_pc (SIM_CPU *cpu, bu32 pc, bu32 insn_len)
for (i = 1; i >= 0; --i)
if (LCREG (i) > 1 && pc == LBREG (i))
{
- TRACE_BRANCH (cpu, pc, LTREG (i), i, "Hardware loop %i", i);
+ BFIN_TRACE_BRANCH (cpu, pc, LTREG (i), i, "Hardware loop %i", i);
return LTREG (i);
}
@@ -1773,7 +1773,7 @@ decode_ProgCtrl_0 (SIM_CPU *cpu, bu16 iw0, bu32 pc)
IFETCH_CHECK (newpc);
if (PARALLEL_GROUP != BFIN_PARALLEL_NONE)
illegal_instruction_combination (cpu);
- TRACE_BRANCH (cpu, pc, newpc, -1, "RTS");
+ BFIN_TRACE_BRANCH (cpu, pc, newpc, -1, "RTS");
SET_PCREG (newpc);
BFIN_CPU_STATE.did_jump = true;
CYCLE_DELAY = 5;
@@ -1893,7 +1893,7 @@ decode_ProgCtrl_0 (SIM_CPU *cpu, bu16 iw0, bu32 pc)
IFETCH_CHECK (newpc);
if (PARALLEL_GROUP != BFIN_PARALLEL_NONE)
illegal_instruction_combination (cpu);
- TRACE_BRANCH (cpu, pc, newpc, -1, "JUMP (Preg)");
+ BFIN_TRACE_BRANCH (cpu, pc, newpc, -1, "JUMP (Preg)");
SET_PCREG (newpc);
BFIN_CPU_STATE.did_jump = true;
PROFILE_BRANCH_TAKEN (cpu);
@@ -1907,7 +1907,7 @@ decode_ProgCtrl_0 (SIM_CPU *cpu, bu16 iw0, bu32 pc)
IFETCH_CHECK (newpc);
if (PARALLEL_GROUP != BFIN_PARALLEL_NONE)
illegal_instruction_combination (cpu);
- TRACE_BRANCH (cpu, pc, newpc, -1, "CALL (Preg)");
+ BFIN_TRACE_BRANCH (cpu, pc, newpc, -1, "CALL (Preg)");
/* If we're at the end of a hardware loop, RETS is going to be
the top of the loop rather than the next instruction. */
SET_RETSREG (hwloop_get_next_pc (cpu, pc, 2));
@@ -1924,7 +1924,7 @@ decode_ProgCtrl_0 (SIM_CPU *cpu, bu16 iw0, bu32 pc)
IFETCH_CHECK (newpc);
if (PARALLEL_GROUP != BFIN_PARALLEL_NONE)
illegal_instruction_combination (cpu);
- TRACE_BRANCH (cpu, pc, newpc, -1, "CALL (PC + Preg)");
+ BFIN_TRACE_BRANCH (cpu, pc, newpc, -1, "CALL (PC + Preg)");
SET_RETSREG (hwloop_get_next_pc (cpu, pc, 2));
SET_PCREG (newpc);
BFIN_CPU_STATE.did_jump = true;
@@ -1939,7 +1939,7 @@ decode_ProgCtrl_0 (SIM_CPU *cpu, bu16 iw0, bu32 pc)
IFETCH_CHECK (newpc);
if (PARALLEL_GROUP != BFIN_PARALLEL_NONE)
illegal_instruction_combination (cpu);
- TRACE_BRANCH (cpu, pc, newpc, -1, "JUMP (PC + Preg)");
+ BFIN_TRACE_BRANCH (cpu, pc, newpc, -1, "JUMP (PC + Preg)");
SET_PCREG (newpc);
BFIN_CPU_STATE.did_jump = true;
PROFILE_BRANCH_TAKEN (cpu);
@@ -2444,7 +2444,7 @@ decode_BRCC_0 (SIM_CPU *cpu, bu16 iw0, bu32 pc)
if (cond)
{
bu32 newpc = pc + pcrel;
- TRACE_BRANCH (cpu, pc, newpc, -1, "Conditional JUMP");
+ BFIN_TRACE_BRANCH (cpu, pc, newpc, -1, "Conditional JUMP");
SET_PCREG (newpc);
BFIN_CPU_STATE.did_jump = true;
PROFILE_BRANCH_TAKEN (cpu);
@@ -2477,7 +2477,7 @@ decode_UJUMP_0 (SIM_CPU *cpu, bu16 iw0, bu32 pc)
if (PARALLEL_GROUP != BFIN_PARALLEL_NONE)
illegal_instruction_combination (cpu);
- TRACE_BRANCH (cpu, pc, newpc, -1, "JUMP.S");
+ BFIN_TRACE_BRANCH (cpu, pc, newpc, -1, "JUMP.S");
SET_PCREG (newpc);
BFIN_CPU_STATE.did_jump = true;
@@ -3619,11 +3619,11 @@ decode_CALLa_0 (SIM_CPU *cpu, bu16 iw0, bu16 iw1, bu32 pc)
if (S == 1)
{
- TRACE_BRANCH (cpu, pc, newpc, -1, "CALL");
+ BFIN_TRACE_BRANCH (cpu, pc, newpc, -1, "CALL");
SET_RETSREG (hwloop_get_next_pc (cpu, pc, 4));
}
else
- TRACE_BRANCH (cpu, pc, newpc, -1, "JUMP.L");
+ BFIN_TRACE_BRANCH (cpu, pc, newpc, -1, "JUMP.L");
SET_PCREG (newpc);
BFIN_CPU_STATE.did_jump = true;
diff --git a/sim/bfin/bfin-sim.h b/sim/bfin/bfin-sim.h
index 150e77955c4..20da0b793bf 100644
--- a/sim/bfin/bfin-sim.h
+++ b/sim/bfin/bfin-sim.h
@@ -318,7 +318,7 @@ do { \
(void *)&__v, __taddr, __bytes); \
if (__cnt != __bytes) \
mmu_process_fault (cpu, __taddr, true, false, false, true); \
- TRACE_CORE (cpu, __taddr, __bytes, write_map, __v); \
+ BFIN_TRACE_CORE (cpu, __taddr, __bytes, write_map, __v); \
} while (0)
#define PUT_BYTE(taddr, v) __PUT_MEM(taddr, v, 8)
#define PUT_WORD(taddr, v) __PUT_MEM(taddr, v, 16)
@@ -334,7 +334,7 @@ do { \
(void *)&__ret, __taddr, __bytes); \
if (__cnt != __bytes) \
mmu_process_fault (cpu, __taddr, false, inst, false, true); \
- TRACE_CORE (cpu, __taddr, __bytes, map, __ret); \
+ BFIN_TRACE_CORE (cpu, __taddr, __bytes, map, __ret); \
__ret; \
})
#define _GET_MEM(taddr, size) __GET_MEM(taddr, size, false, read_map)
diff --git a/sim/bfin/configure b/sim/bfin/configure
index 5b9aaa2bca1..76cbc6af9b5 100755
--- a/sim/bfin/configure
+++ b/sim/bfin/configure
@@ -1417,18 +1417,30 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
- --enable-sim-default-model=model Specify default model to simulate.
- --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.
- --enable-sim-inline=inlines Specify which functions should be inlined.
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
+ --enable-sim-default-model=model
+ Specify default model to simulate
+ --enable-sim-environment=environment
+ Specify mixed, user, virtual or operating
+ environment
+ --enable-sim-inline=inlines
+ Specify which functions should be inlined
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings if gcc is used
--enable-sim-build-warnings
@@ -2249,7 +2261,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12328,7 +12340,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12331 "configure"
+#line 12343 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12434,7 +12446,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12437 "configure"
+#line 12449 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12770,10 +12782,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/bfin/dv-bfin_cec.c b/sim/bfin/dv-bfin_cec.c
index d75179248ab..186edcb18f9 100644
--- a/sim/bfin/dv-bfin_cec.c
+++ b/sim/bfin/dv-bfin_cec.c
@@ -599,7 +599,7 @@ _cec_raise (SIM_CPU *cpu, struct bfin_cec *cec, int ivg)
else
SET_PCREG (cec_get_evt (cpu, ivg));
- TRACE_BRANCH (cpu, oldpc, PCREG, -1, "CEC changed PC (to EVT%i):", ivg);
+ BFIN_TRACE_BRANCH (cpu, oldpc, PCREG, -1, "CEC changed PC (to EVT%i):", ivg);
BFIN_CPU_STATE.did_jump = true;
/* Enable the global interrupt mask upon interrupt entry. */
@@ -648,7 +648,7 @@ cec_latch (SIM_CPU *cpu, int ivg)
{
bu32 oldpc = PCREG;
SET_PCREG (cec_read_ret_reg (cpu, ivg));
- TRACE_BRANCH (cpu, oldpc, PCREG, -1, "CEC changed PC");
+ BFIN_TRACE_BRANCH (cpu, oldpc, PCREG, -1, "CEC changed PC");
return;
}
@@ -679,7 +679,7 @@ cec_return (SIM_CPU *cpu, int ivg)
if (STATE_ENVIRONMENT (sd) != OPERATING_ENVIRONMENT)
{
SET_PCREG (cec_read_ret_reg (cpu, ivg));
- TRACE_BRANCH (cpu, oldpc, PCREG, -1, "CEC changed PC");
+ BFIN_TRACE_BRANCH (cpu, oldpc, PCREG, -1, "CEC changed PC");
return;
}
@@ -744,9 +744,9 @@ cec_return (SIM_CPU *cpu, int ivg)
/* XXX: Delayed clear shows bad PCREG register trace above ? */
SET_PCREG (newpc & ~1);
- TRACE_BRANCH (cpu, oldpc, PCREG, -1, "CEC changed PC (from EVT%i)", ivg);
+ BFIN_TRACE_BRANCH (cpu, oldpc, PCREG, -1, "CEC changed PC (from EVT%i)", ivg);
- /* Update ipend after the TRACE_BRANCH so dv-bfin_trace
+ /* Update ipend after the BFIN_TRACE_BRANCH so dv-bfin_trace
knows current CEC state wrt overflow. */
if (!snen)
cec->ipend &= ~(1 << ivg);
diff --git a/sim/bfin/interp.c b/sim/bfin/interp.c
index 91a59191476..3013ca05928 100644
--- a/sim/bfin/interp.c
+++ b/sim/bfin/interp.c
@@ -32,11 +32,14 @@
#include "gdb/callback.h"
#include "gdb/signals.h"
#include "sim-main.h"
+#include "sim-syscall.h"
#include "sim-hw.h"
#include "targ-vals.h"
-/* The numbers here do not matter. They just need to be unique. */
+/* The numbers here do not matter. They just need to be unique. They also
+ need not be static across releases -- they're used internally only. The
+ mapping from the Linux ABI to the CB values is in linux-targ-map.h. */
#define CB_SYS_ioctl 201
#define CB_SYS_mmap2 202
#define CB_SYS_munmap 203
@@ -123,32 +126,6 @@ count_argc (const char * const *argv)
return i;
}
-/* Read/write functions for system call interface. */
-
-static int
-syscall_read_mem (host_callback *cb, struct cb_syscall *sc,
- unsigned long taddr, char *buf, int bytes)
-{
- SIM_DESC sd = (SIM_DESC) sc->p1;
- SIM_CPU *cpu = (SIM_CPU *) sc->p2;
-
- MAYBE_TRACE (CORE, cpu, "DBUS FETCH (syscall) %i bytes @ 0x%08lx", bytes, taddr);
-
- return sim_core_read_buffer (sd, cpu, read_map, buf, taddr, bytes);
-}
-
-static int
-syscall_write_mem (host_callback *cb, struct cb_syscall *sc,
- unsigned long taddr, const char *buf, int bytes)
-{
- SIM_DESC sd = (SIM_DESC) sc->p1;
- SIM_CPU *cpu = (SIM_CPU *) sc->p2;
-
- MAYBE_TRACE (CORE, cpu, "DBUS STORE (syscall) %i bytes @ 0x%08lx", bytes, taddr);
-
- return sim_core_write_buffer (sd, cpu, write_map, buf, taddr, bytes);
-}
-
/* Simulate a monitor trap, put the result into r0 and errno into r1
return offset by which to adjust pc. */
@@ -190,8 +167,8 @@ bfin_syscall (SIM_CPU *cpu)
}
sc.p1 = (PTR) sd;
sc.p2 = (PTR) cpu;
- sc.read_mem = syscall_read_mem;
- sc.write_mem = syscall_write_mem;
+ sc.read_mem = sim_syscall_read_mem;
+ sc.write_mem = sim_syscall_write_mem;
/* Common cb_syscall() handles most functions. */
switch (cb_target_to_host_syscall (cb, sc.func))
@@ -629,22 +606,6 @@ bfin_syscall (SIM_CPU *cpu)
TRACE_SYSCALL (cpu, "%s", _tbuf);
}
-void
-trace_register (SIM_DESC sd,
- sim_cpu *cpu,
- const char *fmt,
- ...)
-{
- va_list ap;
- trace_printf (sd, cpu, "%s %s",
- "reg: ",
- TRACE_PREFIX (CPU_TRACE_DATA (cpu)));
- va_start (ap, fmt);
- trace_vprintf (sd, cpu, fmt, ap);
- va_end (ap);
- trace_printf (sd, cpu, "\n");
-}
-
/* Execute a single instruction. */
static sim_cia
diff --git a/sim/bfin/linux-targ-map.h b/sim/bfin/linux-targ-map.h
index be60fec275f..e9c8c8f273b 100644
--- a/sim/bfin/linux-targ-map.h
+++ b/sim/bfin/linux-targ-map.h
@@ -7,24 +7,24 @@ echo '#include <sys/syscall.h>' | \
bfin-uclinux-gcc -E -dD -P - | \
sed -r -n \
-e '1istatic CB_TARGET_DEFS_MAP cb_linux_syscall_map[] = {' \
- -e '$i\ \ { -1, -1 }\n};' \
- -e '/#define __NR_/{s:^.* __NR_(.*) (.*):#ifdef CB_SYS_\1\n# define TARGET_LINUX_SYS_\1 \2\n { CB_SYS_\1, TARGET_LINUX_SYS_\1 },\n#endif:;p;}'
+ -e '$i\ \ { 0, -1, -1 }\n};' \
+ -e '/#define __NR_/{s:^.* __NR_(.*) (.*):#ifdef CB_SYS_\1\n# define TARGET_LINUX_SYS_\1 \2\n { "\1", CB_SYS_\1, TARGET_LINUX_SYS_\1 },\n#endif:;p;}'
echo
echo '#include <errno.h>' | \
bfin-uclinux-gcc -E -dD -P - | \
sed -r -n \
-e '1istatic CB_TARGET_DEFS_MAP cb_linux_errno_map[] = {' \
- -e '$i\ \ { 0, 0 }\n};' \
- -e '/#define E.* [0-9]/{s:^.* (E.*) (.*):#ifdef \1\n# define TARGET_LINUX_\1 \2\n { \1, TARGET_LINUX_\1 },\n#endif:;p;}'
+ -e '$i\ \ { 0, 0, 0 }\n};' \
+ -e '/#define E.* [0-9]/{s:^.* (E.*) (.*):#ifdef \1\n# define TARGET_LINUX_\1 \2\n { "\1", \1, TARGET_LINUX_\1 },\n#endif:;p;}'
echo
echo '#include <fcntl.h>' | \
bfin-uclinux-gcc -E -dD -P - | \
sed -r -n \
-e '1istatic CB_TARGET_DEFS_MAP cb_linux_open_map[] = {' \
- -e '$i\ \ { -1, -1 }\n};' \
- -e '/#define O.* [0-9]/{s:^.* (O_.*) (.*):#ifdef \1\n# define TARGET_LINUX_\1 \2\n { \1, TARGET_LINUX_\1 },\n#endif:;p;}'
+ -e '$i\ \ { 0, -1, -1 }\n};' \
+ -e '/#define O.* [0-9]/{s:^.* (O_.*) (.*):#ifdef \1\n# define TARGET_LINUX_\1 \2\n { "\1", \1, TARGET_LINUX_\1 },\n#endif:;p;}'
echo
# XXX: nothing uses this ?
@@ -32,8 +32,8 @@ echo '#include <signal.h>' | \
bfin-uclinux-gcc -E -dD -P - | \
sed -r -n \
-e '1istatic CB_TARGET_DEFS_MAP cb_linux_signal_map[] = {' \
- -e '$i\ \ { -1, -1 }\n};' \
- -e '/#define SIG.* [0-9]+$/{s:^.* (SIG.*) (.*):#ifdef \1\n# define TARGET_LINUX_\1 \2\n { \1, TARGET_LINUX_\1 },\n#endif:;p;}'
+ -e '$i\ \ { 0, -1, -1 }\n};' \
+ -e '/#define SIG.* [0-9]+$/{s:^.* (SIG.*) (.*):#ifdef \1\n# define TARGET_LINUX_\1 \2\n { "\1", \1, TARGET_LINUX_\1 },\n#endif:;p;}'
exit 0
*/
@@ -43,1954 +43,1954 @@ static CB_TARGET_DEFS_MAP cb_linux_syscall_map[] =
{
#ifdef CB_SYS_restart_syscall
# define TARGET_LINUX_SYS_restart_syscall 0
- { CB_SYS_restart_syscall, TARGET_LINUX_SYS_restart_syscall },
+ { "restart_syscall", CB_SYS_restart_syscall, TARGET_LINUX_SYS_restart_syscall },
#endif
#ifdef CB_SYS_exit
# define TARGET_LINUX_SYS_exit 1
- { CB_SYS_exit, TARGET_LINUX_SYS_exit },
+ { "exit", CB_SYS_exit, TARGET_LINUX_SYS_exit },
#endif
#ifdef CB_SYS_fork
# define TARGET_LINUX_SYS_fork 2
- { CB_SYS_fork, TARGET_LINUX_SYS_fork },
+ { "fork", CB_SYS_fork, TARGET_LINUX_SYS_fork },
#endif
#ifdef CB_SYS_read
# define TARGET_LINUX_SYS_read 3
- { CB_SYS_read, TARGET_LINUX_SYS_read },
+ { "read", CB_SYS_read, TARGET_LINUX_SYS_read },
#endif
#ifdef CB_SYS_write
# define TARGET_LINUX_SYS_write 4
- { CB_SYS_write, TARGET_LINUX_SYS_write },
+ { "write", CB_SYS_write, TARGET_LINUX_SYS_write },
#endif
#ifdef CB_SYS_open
# define TARGET_LINUX_SYS_open 5
- { CB_SYS_open, TARGET_LINUX_SYS_open },
+ { "open", CB_SYS_open, TARGET_LINUX_SYS_open },
#endif
#ifdef CB_SYS_close
# define TARGET_LINUX_SYS_close 6
- { CB_SYS_close, TARGET_LINUX_SYS_close },
+ { "close", CB_SYS_close, TARGET_LINUX_SYS_close },
#endif
#ifdef CB_SYS_creat
# define TARGET_LINUX_SYS_creat 8
- { CB_SYS_creat, TARGET_LINUX_SYS_creat },
+ { "creat", CB_SYS_creat, TARGET_LINUX_SYS_creat },
#endif
#ifdef CB_SYS_link
# define TARGET_LINUX_SYS_link 9
- { CB_SYS_link, TARGET_LINUX_SYS_link },
+ { "link", CB_SYS_link, TARGET_LINUX_SYS_link },
#endif
#ifdef CB_SYS_unlink
# define TARGET_LINUX_SYS_unlink 10
- { CB_SYS_unlink, TARGET_LINUX_SYS_unlink },
+ { "unlink", CB_SYS_unlink, TARGET_LINUX_SYS_unlink },
#endif
#ifdef CB_SYS_execve
# define TARGET_LINUX_SYS_execve 11
- { CB_SYS_execve, TARGET_LINUX_SYS_execve },
+ { "execve", CB_SYS_execve, TARGET_LINUX_SYS_execve },
#endif
#ifdef CB_SYS_chdir
# define TARGET_LINUX_SYS_chdir 12
- { CB_SYS_chdir, TARGET_LINUX_SYS_chdir },
+ { "chdir", CB_SYS_chdir, TARGET_LINUX_SYS_chdir },
#endif
#ifdef CB_SYS_time
# define TARGET_LINUX_SYS_time 13
- { CB_SYS_time, TARGET_LINUX_SYS_time },
+ { "time", CB_SYS_time, TARGET_LINUX_SYS_time },
#endif
#ifdef CB_SYS_mknod
# define TARGET_LINUX_SYS_mknod 14
- { CB_SYS_mknod, TARGET_LINUX_SYS_mknod },
+ { "mknod", CB_SYS_mknod, TARGET_LINUX_SYS_mknod },
#endif
#ifdef CB_SYS_chmod
# define TARGET_LINUX_SYS_chmod 15
- { CB_SYS_chmod, TARGET_LINUX_SYS_chmod },
+ { "chmod", CB_SYS_chmod, TARGET_LINUX_SYS_chmod },
#endif
#ifdef CB_SYS_chown
# define TARGET_LINUX_SYS_chown 16
- { CB_SYS_chown, TARGET_LINUX_SYS_chown },
+ { "chown", CB_SYS_chown, TARGET_LINUX_SYS_chown },
#endif
#ifdef CB_SYS_lseek
# define TARGET_LINUX_SYS_lseek 19
- { CB_SYS_lseek, TARGET_LINUX_SYS_lseek },
+ { "lseek", CB_SYS_lseek, TARGET_LINUX_SYS_lseek },
#endif
#ifdef CB_SYS_getpid
# define TARGET_LINUX_SYS_getpid 20
- { CB_SYS_getpid, TARGET_LINUX_SYS_getpid },
+ { "getpid", CB_SYS_getpid, TARGET_LINUX_SYS_getpid },
#endif
#ifdef CB_SYS_mount
# define TARGET_LINUX_SYS_mount 21
- { CB_SYS_mount, TARGET_LINUX_SYS_mount },
+ { "mount", CB_SYS_mount, TARGET_LINUX_SYS_mount },
#endif
#ifdef CB_SYS_setuid
# define TARGET_LINUX_SYS_setuid 23
- { CB_SYS_setuid, TARGET_LINUX_SYS_setuid },
+ { "setuid", CB_SYS_setuid, TARGET_LINUX_SYS_setuid },
#endif
#ifdef CB_SYS_getuid
# define TARGET_LINUX_SYS_getuid 24
- { CB_SYS_getuid, TARGET_LINUX_SYS_getuid },
+ { "getuid", CB_SYS_getuid, TARGET_LINUX_SYS_getuid },
#endif
#ifdef CB_SYS_stime
# define TARGET_LINUX_SYS_stime 25
- { CB_SYS_stime, TARGET_LINUX_SYS_stime },
+ { "stime", CB_SYS_stime, TARGET_LINUX_SYS_stime },
#endif
#ifdef CB_SYS_ptrace
# define TARGET_LINUX_SYS_ptrace 26
- { CB_SYS_ptrace, TARGET_LINUX_SYS_ptrace },
+ { "ptrace", CB_SYS_ptrace, TARGET_LINUX_SYS_ptrace },
#endif
#ifdef CB_SYS_alarm
# define TARGET_LINUX_SYS_alarm 27
- { CB_SYS_alarm, TARGET_LINUX_SYS_alarm },
+ { "alarm", CB_SYS_alarm, TARGET_LINUX_SYS_alarm },
#endif
#ifdef CB_SYS_pause
# define TARGET_LINUX_SYS_pause 29
- { CB_SYS_pause, TARGET_LINUX_SYS_pause },
+ { "pause", CB_SYS_pause, TARGET_LINUX_SYS_pause },
#endif
#ifdef CB_SYS_access
# define TARGET_LINUX_SYS_access 33
- { CB_SYS_access, TARGET_LINUX_SYS_access },
+ { "access", CB_SYS_access, TARGET_LINUX_SYS_access },
#endif
#ifdef CB_SYS_nice
# define TARGET_LINUX_SYS_nice 34
- { CB_SYS_nice, TARGET_LINUX_SYS_nice },
+ { "nice", CB_SYS_nice, TARGET_LINUX_SYS_nice },
#endif
#ifdef CB_SYS_sync
# define TARGET_LINUX_SYS_sync 36
- { CB_SYS_sync, TARGET_LINUX_SYS_sync },
+ { "sync", CB_SYS_sync, TARGET_LINUX_SYS_sync },
#endif
#ifdef CB_SYS_kill
# define TARGET_LINUX_SYS_kill 37
- { CB_SYS_kill, TARGET_LINUX_SYS_kill },
+ { "kill", CB_SYS_kill, TARGET_LINUX_SYS_kill },
#endif
#ifdef CB_SYS_rename
# define TARGET_LINUX_SYS_rename 38
- { CB_SYS_rename, TARGET_LINUX_SYS_rename },
+ { "rename", CB_SYS_rename, TARGET_LINUX_SYS_rename },
#endif
#ifdef CB_SYS_mkdir
# define TARGET_LINUX_SYS_mkdir 39
- { CB_SYS_mkdir, TARGET_LINUX_SYS_mkdir },
+ { "mkdir", CB_SYS_mkdir, TARGET_LINUX_SYS_mkdir },
#endif
#ifdef CB_SYS_rmdir
# define TARGET_LINUX_SYS_rmdir 40
- { CB_SYS_rmdir, TARGET_LINUX_SYS_rmdir },
+ { "rmdir", CB_SYS_rmdir, TARGET_LINUX_SYS_rmdir },
#endif
#ifdef CB_SYS_dup
# define TARGET_LINUX_SYS_dup 41
- { CB_SYS_dup, TARGET_LINUX_SYS_dup },
+ { "dup", CB_SYS_dup, TARGET_LINUX_SYS_dup },
#endif
#ifdef CB_SYS_pipe
# define TARGET_LINUX_SYS_pipe 42
- { CB_SYS_pipe, TARGET_LINUX_SYS_pipe },
+ { "pipe", CB_SYS_pipe, TARGET_LINUX_SYS_pipe },
#endif
#ifdef CB_SYS_times
# define TARGET_LINUX_SYS_times 43
- { CB_SYS_times, TARGET_LINUX_SYS_times },
+ { "times", CB_SYS_times, TARGET_LINUX_SYS_times },
#endif
#ifdef CB_SYS_brk
# define TARGET_LINUX_SYS_brk 45
- { CB_SYS_brk, TARGET_LINUX_SYS_brk },
+ { "brk", CB_SYS_brk, TARGET_LINUX_SYS_brk },
#endif
#ifdef CB_SYS_setgid
# define TARGET_LINUX_SYS_setgid 46
- { CB_SYS_setgid, TARGET_LINUX_SYS_setgid },
+ { "setgid", CB_SYS_setgid, TARGET_LINUX_SYS_setgid },
#endif
#ifdef CB_SYS_getgid
# define TARGET_LINUX_SYS_getgid 47
- { CB_SYS_getgid, TARGET_LINUX_SYS_getgid },
+ { "getgid", CB_SYS_getgid, TARGET_LINUX_SYS_getgid },
#endif
#ifdef CB_SYS_geteuid
# define TARGET_LINUX_SYS_geteuid 49
- { CB_SYS_geteuid, TARGET_LINUX_SYS_geteuid },
+ { "geteuid", CB_SYS_geteuid, TARGET_LINUX_SYS_geteuid },
#endif
#ifdef CB_SYS_getegid
# define TARGET_LINUX_SYS_getegid 50
- { CB_SYS_getegid, TARGET_LINUX_SYS_getegid },
+ { "getegid", CB_SYS_getegid, TARGET_LINUX_SYS_getegid },
#endif
#ifdef CB_SYS_acct
# define TARGET_LINUX_SYS_acct 51
- { CB_SYS_acct, TARGET_LINUX_SYS_acct },
+ { "acct", CB_SYS_acct, TARGET_LINUX_SYS_acct },
#endif
#ifdef CB_SYS_umount2
# define TARGET_LINUX_SYS_umount2 52
- { CB_SYS_umount2, TARGET_LINUX_SYS_umount2 },
+ { "umount2", CB_SYS_umount2, TARGET_LINUX_SYS_umount2 },
#endif
#ifdef CB_SYS_ioctl
# define TARGET_LINUX_SYS_ioctl 54
- { CB_SYS_ioctl, TARGET_LINUX_SYS_ioctl },
+ { "ioctl", CB_SYS_ioctl, TARGET_LINUX_SYS_ioctl },
#endif
#ifdef CB_SYS_fcntl
# define TARGET_LINUX_SYS_fcntl 55
- { CB_SYS_fcntl, TARGET_LINUX_SYS_fcntl },
+ { "fcntl", CB_SYS_fcntl, TARGET_LINUX_SYS_fcntl },
#endif
#ifdef CB_SYS_setpgid
# define TARGET_LINUX_SYS_setpgid 57
- { CB_SYS_setpgid, TARGET_LINUX_SYS_setpgid },
+ { "setpgid", CB_SYS_setpgid, TARGET_LINUX_SYS_setpgid },
#endif
#ifdef CB_SYS_umask
# define TARGET_LINUX_SYS_umask 60
- { CB_SYS_umask, TARGET_LINUX_SYS_umask },
+ { "umask", CB_SYS_umask, TARGET_LINUX_SYS_umask },
#endif
#ifdef CB_SYS_chroot
# define TARGET_LINUX_SYS_chroot 61
- { CB_SYS_chroot, TARGET_LINUX_SYS_chroot },
+ { "chroot", CB_SYS_chroot, TARGET_LINUX_SYS_chroot },
#endif
#ifdef CB_SYS_ustat
# define TARGET_LINUX_SYS_ustat 62
- { CB_SYS_ustat, TARGET_LINUX_SYS_ustat },
+ { "ustat", CB_SYS_ustat, TARGET_LINUX_SYS_ustat },
#endif
#ifdef CB_SYS_dup2
# define TARGET_LINUX_SYS_dup2 63
- { CB_SYS_dup2, TARGET_LINUX_SYS_dup2 },
+ { "dup2", CB_SYS_dup2, TARGET_LINUX_SYS_dup2 },
#endif
#ifdef CB_SYS_getppid
# define TARGET_LINUX_SYS_getppid 64
- { CB_SYS_getppid, TARGET_LINUX_SYS_getppid },
+ { "getppid", CB_SYS_getppid, TARGET_LINUX_SYS_getppid },
#endif
#ifdef CB_SYS_getpgrp
# define TARGET_LINUX_SYS_getpgrp 65
- { CB_SYS_getpgrp, TARGET_LINUX_SYS_getpgrp },
+ { "getpgrp", CB_SYS_getpgrp, TARGET_LINUX_SYS_getpgrp },
#endif
#ifdef CB_SYS_setsid
# define TARGET_LINUX_SYS_setsid 66
- { CB_SYS_setsid, TARGET_LINUX_SYS_setsid },
+ { "setsid", CB_SYS_setsid, TARGET_LINUX_SYS_setsid },
#endif
#ifdef CB_SYS_sgetmask
# define TARGET_LINUX_SYS_sgetmask 68
- { CB_SYS_sgetmask, TARGET_LINUX_SYS_sgetmask },
+ { "sgetmask", CB_SYS_sgetmask, TARGET_LINUX_SYS_sgetmask },
#endif
#ifdef CB_SYS_ssetmask
# define TARGET_LINUX_SYS_ssetmask 69
- { CB_SYS_ssetmask, TARGET_LINUX_SYS_ssetmask },
+ { "ssetmask", CB_SYS_ssetmask, TARGET_LINUX_SYS_ssetmask },
#endif
#ifdef CB_SYS_setreuid
# define TARGET_LINUX_SYS_setreuid 70
- { CB_SYS_setreuid, TARGET_LINUX_SYS_setreuid },
+ { "setreuid", CB_SYS_setreuid, TARGET_LINUX_SYS_setreuid },
#endif
#ifdef CB_SYS_setregid
# define TARGET_LINUX_SYS_setregid 71
- { CB_SYS_setregid, TARGET_LINUX_SYS_setregid },
+ { "setregid", CB_SYS_setregid, TARGET_LINUX_SYS_setregid },
#endif
#ifdef CB_SYS_sethostname
# define TARGET_LINUX_SYS_sethostname 74
- { CB_SYS_sethostname, TARGET_LINUX_SYS_sethostname },
+ { "sethostname", CB_SYS_sethostname, TARGET_LINUX_SYS_sethostname },
#endif
#ifdef CB_SYS_setrlimit
# define TARGET_LINUX_SYS_setrlimit 75
- { CB_SYS_setrlimit, TARGET_LINUX_SYS_setrlimit },
+ { "setrlimit", CB_SYS_setrlimit, TARGET_LINUX_SYS_setrlimit },
#endif
#ifdef CB_SYS_getrusage
# define TARGET_LINUX_SYS_getrusage 77
- { CB_SYS_getrusage, TARGET_LINUX_SYS_getrusage },
+ { "getrusage", CB_SYS_getrusage, TARGET_LINUX_SYS_getrusage },
#endif
#ifdef CB_SYS_gettimeofday
# define TARGET_LINUX_SYS_gettimeofday 78
- { CB_SYS_gettimeofday, TARGET_LINUX_SYS_gettimeofday },
+ { "gettimeofday", CB_SYS_gettimeofday, TARGET_LINUX_SYS_gettimeofday },
#endif
#ifdef CB_SYS_settimeofday
# define TARGET_LINUX_SYS_settimeofday 79
- { CB_SYS_settimeofday, TARGET_LINUX_SYS_settimeofday },
+ { "settimeofday", CB_SYS_settimeofday, TARGET_LINUX_SYS_settimeofday },
#endif
#ifdef CB_SYS_getgroups
# define TARGET_LINUX_SYS_getgroups 80
- { CB_SYS_getgroups, TARGET_LINUX_SYS_getgroups },
+ { "getgroups", CB_SYS_getgroups, TARGET_LINUX_SYS_getgroups },
#endif
#ifdef CB_SYS_setgroups
# define TARGET_LINUX_SYS_setgroups 81
- { CB_SYS_setgroups, TARGET_LINUX_SYS_setgroups },
+ { "setgroups", CB_SYS_setgroups, TARGET_LINUX_SYS_setgroups },
#endif
#ifdef CB_SYS_symlink
# define TARGET_LINUX_SYS_symlink 83
- { CB_SYS_symlink, TARGET_LINUX_SYS_symlink },
+ { "symlink", CB_SYS_symlink, TARGET_LINUX_SYS_symlink },
#endif
#ifdef CB_SYS_readlink
# define TARGET_LINUX_SYS_readlink 85
- { CB_SYS_readlink, TARGET_LINUX_SYS_readlink },
+ { "readlink", CB_SYS_readlink, TARGET_LINUX_SYS_readlink },
#endif
#ifdef CB_SYS_reboot
# define TARGET_LINUX_SYS_reboot 88
- { CB_SYS_reboot, TARGET_LINUX_SYS_reboot },
+ { "reboot", CB_SYS_reboot, TARGET_LINUX_SYS_reboot },
#endif
#ifdef CB_SYS_munmap
# define TARGET_LINUX_SYS_munmap 91
- { CB_SYS_munmap, TARGET_LINUX_SYS_munmap },
+ { "munmap", CB_SYS_munmap, TARGET_LINUX_SYS_munmap },
#endif
#ifdef CB_SYS_truncate
# define TARGET_LINUX_SYS_truncate 92
- { CB_SYS_truncate, TARGET_LINUX_SYS_truncate },
+ { "truncate", CB_SYS_truncate, TARGET_LINUX_SYS_truncate },
#endif
#ifdef CB_SYS_ftruncate
# define TARGET_LINUX_SYS_ftruncate 93
- { CB_SYS_ftruncate, TARGET_LINUX_SYS_ftruncate },
+ { "ftruncate", CB_SYS_ftruncate, TARGET_LINUX_SYS_ftruncate },
#endif
#ifdef CB_SYS_fchmod
# define TARGET_LINUX_SYS_fchmod 94
- { CB_SYS_fchmod, TARGET_LINUX_SYS_fchmod },
+ { "fchmod", CB_SYS_fchmod, TARGET_LINUX_SYS_fchmod },
#endif
#ifdef CB_SYS_fchown
# define TARGET_LINUX_SYS_fchown 95
- { CB_SYS_fchown, TARGET_LINUX_SYS_fchown },
+ { "fchown", CB_SYS_fchown, TARGET_LINUX_SYS_fchown },
#endif
#ifdef CB_SYS_getpriority
# define TARGET_LINUX_SYS_getpriority 96
- { CB_SYS_getpriority, TARGET_LINUX_SYS_getpriority },
+ { "getpriority", CB_SYS_getpriority, TARGET_LINUX_SYS_getpriority },
#endif
#ifdef CB_SYS_setpriority
# define TARGET_LINUX_SYS_setpriority 97
- { CB_SYS_setpriority, TARGET_LINUX_SYS_setpriority },
+ { "setpriority", CB_SYS_setpriority, TARGET_LINUX_SYS_setpriority },
#endif
#ifdef CB_SYS_statfs
# define TARGET_LINUX_SYS_statfs 99
- { CB_SYS_statfs, TARGET_LINUX_SYS_statfs },
+ { "statfs", CB_SYS_statfs, TARGET_LINUX_SYS_statfs },
#endif
#ifdef CB_SYS_fstatfs
# define TARGET_LINUX_SYS_fstatfs 100
- { CB_SYS_fstatfs, TARGET_LINUX_SYS_fstatfs },
+ { "fstatfs", CB_SYS_fstatfs, TARGET_LINUX_SYS_fstatfs },
#endif
#ifdef CB_SYS_syslog
# define TARGET_LINUX_SYS_syslog 103
- { CB_SYS_syslog, TARGET_LINUX_SYS_syslog },
+ { "syslog", CB_SYS_syslog, TARGET_LINUX_SYS_syslog },
#endif
#ifdef CB_SYS_setitimer
# define TARGET_LINUX_SYS_setitimer 104
- { CB_SYS_setitimer, TARGET_LINUX_SYS_setitimer },
+ { "setitimer", CB_SYS_setitimer, TARGET_LINUX_SYS_setitimer },
#endif
#ifdef CB_SYS_getitimer
# define TARGET_LINUX_SYS_getitimer 105
- { CB_SYS_getitimer, TARGET_LINUX_SYS_getitimer },
+ { "getitimer", CB_SYS_getitimer, TARGET_LINUX_SYS_getitimer },
#endif
#ifdef CB_SYS_stat
# define TARGET_LINUX_SYS_stat 106
- { CB_SYS_stat, TARGET_LINUX_SYS_stat },
+ { "stat", CB_SYS_stat, TARGET_LINUX_SYS_stat },
#endif
#ifdef CB_SYS_lstat
# define TARGET_LINUX_SYS_lstat 107
- { CB_SYS_lstat, TARGET_LINUX_SYS_lstat },
+ { "lstat", CB_SYS_lstat, TARGET_LINUX_SYS_lstat },
#endif
#ifdef CB_SYS_fstat
# define TARGET_LINUX_SYS_fstat 108
- { CB_SYS_fstat, TARGET_LINUX_SYS_fstat },
+ { "fstat", CB_SYS_fstat, TARGET_LINUX_SYS_fstat },
#endif
#ifdef CB_SYS_vhangup
# define TARGET_LINUX_SYS_vhangup 111
- { CB_SYS_vhangup, TARGET_LINUX_SYS_vhangup },
+ { "vhangup", CB_SYS_vhangup, TARGET_LINUX_SYS_vhangup },
#endif
#ifdef CB_SYS_wait4
# define TARGET_LINUX_SYS_wait4 114
- { CB_SYS_wait4, TARGET_LINUX_SYS_wait4 },
+ { "wait4", CB_SYS_wait4, TARGET_LINUX_SYS_wait4 },
#endif
#ifdef CB_SYS_sysinfo
# define TARGET_LINUX_SYS_sysinfo 116
- { CB_SYS_sysinfo, TARGET_LINUX_SYS_sysinfo },
+ { "sysinfo", CB_SYS_sysinfo, TARGET_LINUX_SYS_sysinfo },
#endif
#ifdef CB_SYS_fsync
# define TARGET_LINUX_SYS_fsync 118
- { CB_SYS_fsync, TARGET_LINUX_SYS_fsync },
+ { "fsync", CB_SYS_fsync, TARGET_LINUX_SYS_fsync },
#endif
#ifdef CB_SYS_clone
# define TARGET_LINUX_SYS_clone 120
- { CB_SYS_clone, TARGET_LINUX_SYS_clone },
+ { "clone", CB_SYS_clone, TARGET_LINUX_SYS_clone },
#endif
#ifdef CB_SYS_setdomainname
# define TARGET_LINUX_SYS_setdomainname 121
- { CB_SYS_setdomainname, TARGET_LINUX_SYS_setdomainname },
+ { "setdomainname", CB_SYS_setdomainname, TARGET_LINUX_SYS_setdomainname },
#endif
#ifdef CB_SYS_uname
# define TARGET_LINUX_SYS_uname 122
- { CB_SYS_uname, TARGET_LINUX_SYS_uname },
+ { "uname", CB_SYS_uname, TARGET_LINUX_SYS_uname },
#endif
#ifdef CB_SYS_adjtimex
# define TARGET_LINUX_SYS_adjtimex 124
- { CB_SYS_adjtimex, TARGET_LINUX_SYS_adjtimex },
+ { "adjtimex", CB_SYS_adjtimex, TARGET_LINUX_SYS_adjtimex },
#endif
#ifdef CB_SYS_mprotect
# define TARGET_LINUX_SYS_mprotect 125
- { CB_SYS_mprotect, TARGET_LINUX_SYS_mprotect },
+ { "mprotect", CB_SYS_mprotect, TARGET_LINUX_SYS_mprotect },
#endif
#ifdef CB_SYS_init_module
# define TARGET_LINUX_SYS_init_module 128
- { CB_SYS_init_module, TARGET_LINUX_SYS_init_module },
+ { "init_module", CB_SYS_init_module, TARGET_LINUX_SYS_init_module },
#endif
#ifdef CB_SYS_delete_module
# define TARGET_LINUX_SYS_delete_module 129
- { CB_SYS_delete_module, TARGET_LINUX_SYS_delete_module },
+ { "delete_module", CB_SYS_delete_module, TARGET_LINUX_SYS_delete_module },
#endif
#ifdef CB_SYS_quotactl
# define TARGET_LINUX_SYS_quotactl 131
- { CB_SYS_quotactl, TARGET_LINUX_SYS_quotactl },
+ { "quotactl", CB_SYS_quotactl, TARGET_LINUX_SYS_quotactl },
#endif
#ifdef CB_SYS_getpgid
# define TARGET_LINUX_SYS_getpgid 132
- { CB_SYS_getpgid, TARGET_LINUX_SYS_getpgid },
+ { "getpgid", CB_SYS_getpgid, TARGET_LINUX_SYS_getpgid },
#endif
#ifdef CB_SYS_fchdir
# define TARGET_LINUX_SYS_fchdir 133
- { CB_SYS_fchdir, TARGET_LINUX_SYS_fchdir },
+ { "fchdir", CB_SYS_fchdir, TARGET_LINUX_SYS_fchdir },
#endif
#ifdef CB_SYS_bdflush
# define TARGET_LINUX_SYS_bdflush 134
- { CB_SYS_bdflush, TARGET_LINUX_SYS_bdflush },
+ { "bdflush", CB_SYS_bdflush, TARGET_LINUX_SYS_bdflush },
#endif
#ifdef CB_SYS_personality
# define TARGET_LINUX_SYS_personality 136
- { CB_SYS_personality, TARGET_LINUX_SYS_personality },
+ { "personality", CB_SYS_personality, TARGET_LINUX_SYS_personality },
#endif
#ifdef CB_SYS_setfsuid
# define TARGET_LINUX_SYS_setfsuid 138
- { CB_SYS_setfsuid, TARGET_LINUX_SYS_setfsuid },
+ { "setfsuid", CB_SYS_setfsuid, TARGET_LINUX_SYS_setfsuid },
#endif
#ifdef CB_SYS_setfsgid
# define TARGET_LINUX_SYS_setfsgid 139
- { CB_SYS_setfsgid, TARGET_LINUX_SYS_setfsgid },
+ { "setfsgid", CB_SYS_setfsgid, TARGET_LINUX_SYS_setfsgid },
#endif
#ifdef CB_SYS__llseek
# define TARGET_LINUX_SYS__llseek 140
- { CB_SYS__llseek, TARGET_LINUX_SYS__llseek },
+ { "_llseek", CB_SYS__llseek, TARGET_LINUX_SYS__llseek },
#endif
#ifdef CB_SYS_getdents
# define TARGET_LINUX_SYS_getdents 141
- { CB_SYS_getdents, TARGET_LINUX_SYS_getdents },
+ { "getdents", CB_SYS_getdents, TARGET_LINUX_SYS_getdents },
#endif
#ifdef CB_SYS_flock
# define TARGET_LINUX_SYS_flock 143
- { CB_SYS_flock, TARGET_LINUX_SYS_flock },
+ { "flock", CB_SYS_flock, TARGET_LINUX_SYS_flock },
#endif
#ifdef CB_SYS_readv
# define TARGET_LINUX_SYS_readv 145
- { CB_SYS_readv, TARGET_LINUX_SYS_readv },
+ { "readv", CB_SYS_readv, TARGET_LINUX_SYS_readv },
#endif
#ifdef CB_SYS_writev
# define TARGET_LINUX_SYS_writev 146
- { CB_SYS_writev, TARGET_LINUX_SYS_writev },
+ { "writev", CB_SYS_writev, TARGET_LINUX_SYS_writev },
#endif
#ifdef CB_SYS_getsid
# define TARGET_LINUX_SYS_getsid 147
- { CB_SYS_getsid, TARGET_LINUX_SYS_getsid },
+ { "getsid", CB_SYS_getsid, TARGET_LINUX_SYS_getsid },
#endif
#ifdef CB_SYS_fdatasync
# define TARGET_LINUX_SYS_fdatasync 148
- { CB_SYS_fdatasync, TARGET_LINUX_SYS_fdatasync },
+ { "fdatasync", CB_SYS_fdatasync, TARGET_LINUX_SYS_fdatasync },
#endif
#ifdef CB_SYS__sysctl
# define TARGET_LINUX_SYS__sysctl 149
- { CB_SYS__sysctl, TARGET_LINUX_SYS__sysctl },
+ { "_sysctl", CB_SYS__sysctl, TARGET_LINUX_SYS__sysctl },
#endif
#ifdef CB_SYS_sched_setparam
# define TARGET_LINUX_SYS_sched_setparam 154
- { CB_SYS_sched_setparam, TARGET_LINUX_SYS_sched_setparam },
+ { "sched_setparam", CB_SYS_sched_setparam, TARGET_LINUX_SYS_sched_setparam },
#endif
#ifdef CB_SYS_sched_getparam
# define TARGET_LINUX_SYS_sched_getparam 155
- { CB_SYS_sched_getparam, TARGET_LINUX_SYS_sched_getparam },
+ { "sched_getparam", CB_SYS_sched_getparam, TARGET_LINUX_SYS_sched_getparam },
#endif
#ifdef CB_SYS_sched_setscheduler
# define TARGET_LINUX_SYS_sched_setscheduler 156
- { CB_SYS_sched_setscheduler, TARGET_LINUX_SYS_sched_setscheduler },
+ { "sched_setscheduler", CB_SYS_sched_setscheduler, TARGET_LINUX_SYS_sched_setscheduler },
#endif
#ifdef CB_SYS_sched_getscheduler
# define TARGET_LINUX_SYS_sched_getscheduler 157
- { CB_SYS_sched_getscheduler, TARGET_LINUX_SYS_sched_getscheduler },
+ { "sched_getscheduler", CB_SYS_sched_getscheduler, TARGET_LINUX_SYS_sched_getscheduler },
#endif
#ifdef CB_SYS_sched_yield
# define TARGET_LINUX_SYS_sched_yield 158
- { CB_SYS_sched_yield, TARGET_LINUX_SYS_sched_yield },
+ { "sched_yield", CB_SYS_sched_yield, TARGET_LINUX_SYS_sched_yield },
#endif
#ifdef CB_SYS_sched_get_priority_max
# define TARGET_LINUX_SYS_sched_get_priority_max 159
- { CB_SYS_sched_get_priority_max, TARGET_LINUX_SYS_sched_get_priority_max },
+ { "sched_get_priority_max", CB_SYS_sched_get_priority_max, TARGET_LINUX_SYS_sched_get_priority_max },
#endif
#ifdef CB_SYS_sched_get_priority_min
# define TARGET_LINUX_SYS_sched_get_priority_min 160
- { CB_SYS_sched_get_priority_min, TARGET_LINUX_SYS_sched_get_priority_min },
+ { "sched_get_priority_min", CB_SYS_sched_get_priority_min, TARGET_LINUX_SYS_sched_get_priority_min },
#endif
#ifdef CB_SYS_sched_rr_get_interval
# define TARGET_LINUX_SYS_sched_rr_get_interval 161
- { CB_SYS_sched_rr_get_interval, TARGET_LINUX_SYS_sched_rr_get_interval },
+ { "sched_rr_get_interval", CB_SYS_sched_rr_get_interval, TARGET_LINUX_SYS_sched_rr_get_interval },
#endif
#ifdef CB_SYS_nanosleep
# define TARGET_LINUX_SYS_nanosleep 162
- { CB_SYS_nanosleep, TARGET_LINUX_SYS_nanosleep },
+ { "nanosleep", CB_SYS_nanosleep, TARGET_LINUX_SYS_nanosleep },
#endif
#ifdef CB_SYS_mremap
# define TARGET_LINUX_SYS_mremap 163
- { CB_SYS_mremap, TARGET_LINUX_SYS_mremap },
+ { "mremap", CB_SYS_mremap, TARGET_LINUX_SYS_mremap },
#endif
#ifdef CB_SYS_setresuid
# define TARGET_LINUX_SYS_setresuid 164
- { CB_SYS_setresuid, TARGET_LINUX_SYS_setresuid },
+ { "setresuid", CB_SYS_setresuid, TARGET_LINUX_SYS_setresuid },
#endif
#ifdef CB_SYS_getresuid
# define TARGET_LINUX_SYS_getresuid 165
- { CB_SYS_getresuid, TARGET_LINUX_SYS_getresuid },
+ { "getresuid", CB_SYS_getresuid, TARGET_LINUX_SYS_getresuid },
#endif
#ifdef CB_SYS_nfsservctl
# define TARGET_LINUX_SYS_nfsservctl 169
- { CB_SYS_nfsservctl, TARGET_LINUX_SYS_nfsservctl },
+ { "nfsservctl", CB_SYS_nfsservctl, TARGET_LINUX_SYS_nfsservctl },
#endif
#ifdef CB_SYS_setresgid
# define TARGET_LINUX_SYS_setresgid 170
- { CB_SYS_setresgid, TARGET_LINUX_SYS_setresgid },
+ { "setresgid", CB_SYS_setresgid, TARGET_LINUX_SYS_setresgid },
#endif
#ifdef CB_SYS_getresgid
# define TARGET_LINUX_SYS_getresgid 171
- { CB_SYS_getresgid, TARGET_LINUX_SYS_getresgid },
+ { "getresgid", CB_SYS_getresgid, TARGET_LINUX_SYS_getresgid },
#endif
#ifdef CB_SYS_prctl
# define TARGET_LINUX_SYS_prctl 172
- { CB_SYS_prctl, TARGET_LINUX_SYS_prctl },
+ { "prctl", CB_SYS_prctl, TARGET_LINUX_SYS_prctl },
#endif
#ifdef CB_SYS_rt_sigreturn
# define TARGET_LINUX_SYS_rt_sigreturn 173
- { CB_SYS_rt_sigreturn, TARGET_LINUX_SYS_rt_sigreturn },
+ { "rt_sigreturn", CB_SYS_rt_sigreturn, TARGET_LINUX_SYS_rt_sigreturn },
#endif
#ifdef CB_SYS_rt_sigaction
# define TARGET_LINUX_SYS_rt_sigaction 174
- { CB_SYS_rt_sigaction, TARGET_LINUX_SYS_rt_sigaction },
+ { "rt_sigaction", CB_SYS_rt_sigaction, TARGET_LINUX_SYS_rt_sigaction },
#endif
#ifdef CB_SYS_rt_sigprocmask
# define TARGET_LINUX_SYS_rt_sigprocmask 175
- { CB_SYS_rt_sigprocmask, TARGET_LINUX_SYS_rt_sigprocmask },
+ { "rt_sigprocmask", CB_SYS_rt_sigprocmask, TARGET_LINUX_SYS_rt_sigprocmask },
#endif
#ifdef CB_SYS_rt_sigpending
# define TARGET_LINUX_SYS_rt_sigpending 176
- { CB_SYS_rt_sigpending, TARGET_LINUX_SYS_rt_sigpending },
+ { "rt_sigpending", CB_SYS_rt_sigpending, TARGET_LINUX_SYS_rt_sigpending },
#endif
#ifdef CB_SYS_rt_sigtimedwait
# define TARGET_LINUX_SYS_rt_sigtimedwait 177
- { CB_SYS_rt_sigtimedwait, TARGET_LINUX_SYS_rt_sigtimedwait },
+ { "rt_sigtimedwait", CB_SYS_rt_sigtimedwait, TARGET_LINUX_SYS_rt_sigtimedwait },
#endif
#ifdef CB_SYS_rt_sigqueueinfo
# define TARGET_LINUX_SYS_rt_sigqueueinfo 178
- { CB_SYS_rt_sigqueueinfo, TARGET_LINUX_SYS_rt_sigqueueinfo },
+ { "rt_sigqueueinfo", CB_SYS_rt_sigqueueinfo, TARGET_LINUX_SYS_rt_sigqueueinfo },
#endif
#ifdef CB_SYS_rt_sigsuspend
# define TARGET_LINUX_SYS_rt_sigsuspend 179
- { CB_SYS_rt_sigsuspend, TARGET_LINUX_SYS_rt_sigsuspend },
+ { "rt_sigsuspend", CB_SYS_rt_sigsuspend, TARGET_LINUX_SYS_rt_sigsuspend },
#endif
#ifdef CB_SYS_pread
# define TARGET_LINUX_SYS_pread 180
- { CB_SYS_pread, TARGET_LINUX_SYS_pread },
+ { "pread", CB_SYS_pread, TARGET_LINUX_SYS_pread },
#endif
#ifdef CB_SYS_pwrite
# define TARGET_LINUX_SYS_pwrite 181
- { CB_SYS_pwrite, TARGET_LINUX_SYS_pwrite },
+ { "pwrite", CB_SYS_pwrite, TARGET_LINUX_SYS_pwrite },
#endif
#ifdef CB_SYS_lchown
# define TARGET_LINUX_SYS_lchown 182
- { CB_SYS_lchown, TARGET_LINUX_SYS_lchown },
+ { "lchown", CB_SYS_lchown, TARGET_LINUX_SYS_lchown },
#endif
#ifdef CB_SYS_getcwd
# define TARGET_LINUX_SYS_getcwd 183
- { CB_SYS_getcwd, TARGET_LINUX_SYS_getcwd },
+ { "getcwd", CB_SYS_getcwd, TARGET_LINUX_SYS_getcwd },
#endif
#ifdef CB_SYS_capget
# define TARGET_LINUX_SYS_capget 184
- { CB_SYS_capget, TARGET_LINUX_SYS_capget },
+ { "capget", CB_SYS_capget, TARGET_LINUX_SYS_capget },
#endif
#ifdef CB_SYS_capset
# define TARGET_LINUX_SYS_capset 185
- { CB_SYS_capset, TARGET_LINUX_SYS_capset },
+ { "capset", CB_SYS_capset, TARGET_LINUX_SYS_capset },
#endif
#ifdef CB_SYS_sigaltstack
# define TARGET_LINUX_SYS_sigaltstack 186
- { CB_SYS_sigaltstack, TARGET_LINUX_SYS_sigaltstack },
+ { "sigaltstack", CB_SYS_sigaltstack, TARGET_LINUX_SYS_sigaltstack },
#endif
#ifdef CB_SYS_sendfile
# define TARGET_LINUX_SYS_sendfile 187
- { CB_SYS_sendfile, TARGET_LINUX_SYS_sendfile },
+ { "sendfile", CB_SYS_sendfile, TARGET_LINUX_SYS_sendfile },
#endif
#ifdef CB_SYS_vfork
# define TARGET_LINUX_SYS_vfork 190
- { CB_SYS_vfork, TARGET_LINUX_SYS_vfork },
+ { "vfork", CB_SYS_vfork, TARGET_LINUX_SYS_vfork },
#endif
#ifdef CB_SYS_getrlimit
# define TARGET_LINUX_SYS_getrlimit 191
- { CB_SYS_getrlimit, TARGET_LINUX_SYS_getrlimit },
+ { "getrlimit", CB_SYS_getrlimit, TARGET_LINUX_SYS_getrlimit },
#endif
#ifdef CB_SYS_mmap2
# define TARGET_LINUX_SYS_mmap2 192
- { CB_SYS_mmap2, TARGET_LINUX_SYS_mmap2 },
+ { "mmap2", CB_SYS_mmap2, TARGET_LINUX_SYS_mmap2 },
#endif
#ifdef CB_SYS_truncate64
# define TARGET_LINUX_SYS_truncate64 193
- { CB_SYS_truncate64, TARGET_LINUX_SYS_truncate64 },
+ { "truncate64", CB_SYS_truncate64, TARGET_LINUX_SYS_truncate64 },
#endif
#ifdef CB_SYS_ftruncate64
# define TARGET_LINUX_SYS_ftruncate64 194
- { CB_SYS_ftruncate64, TARGET_LINUX_SYS_ftruncate64 },
+ { "ftruncate64", CB_SYS_ftruncate64, TARGET_LINUX_SYS_ftruncate64 },
#endif
#ifdef CB_SYS_stat64
# define TARGET_LINUX_SYS_stat64 195
- { CB_SYS_stat64, TARGET_LINUX_SYS_stat64 },
+ { "stat64", CB_SYS_stat64, TARGET_LINUX_SYS_stat64 },
#endif
#ifdef CB_SYS_lstat64
# define TARGET_LINUX_SYS_lstat64 196
- { CB_SYS_lstat64, TARGET_LINUX_SYS_lstat64 },
+ { "lstat64", CB_SYS_lstat64, TARGET_LINUX_SYS_lstat64 },
#endif
#ifdef CB_SYS_fstat64
# define TARGET_LINUX_SYS_fstat64 197
- { CB_SYS_fstat64, TARGET_LINUX_SYS_fstat64 },
+ { "fstat64", CB_SYS_fstat64, TARGET_LINUX_SYS_fstat64 },
#endif
#ifdef CB_SYS_chown32
# define TARGET_LINUX_SYS_chown32 198
- { CB_SYS_chown32, TARGET_LINUX_SYS_chown32 },
+ { "chown32", CB_SYS_chown32, TARGET_LINUX_SYS_chown32 },
#endif
#ifdef CB_SYS_getuid32
# define TARGET_LINUX_SYS_getuid32 199
- { CB_SYS_getuid32, TARGET_LINUX_SYS_getuid32 },
+ { "getuid32", CB_SYS_getuid32, TARGET_LINUX_SYS_getuid32 },
#endif
#ifdef CB_SYS_getgid32
# define TARGET_LINUX_SYS_getgid32 200
- { CB_SYS_getgid32, TARGET_LINUX_SYS_getgid32 },
+ { "getgid32", CB_SYS_getgid32, TARGET_LINUX_SYS_getgid32 },
#endif
#ifdef CB_SYS_geteuid32
# define TARGET_LINUX_SYS_geteuid32 201
- { CB_SYS_geteuid32, TARGET_LINUX_SYS_geteuid32 },
+ { "geteuid32", CB_SYS_geteuid32, TARGET_LINUX_SYS_geteuid32 },
#endif
#ifdef CB_SYS_getegid32
# define TARGET_LINUX_SYS_getegid32 202
- { CB_SYS_getegid32, TARGET_LINUX_SYS_getegid32 },
+ { "getegid32", CB_SYS_getegid32, TARGET_LINUX_SYS_getegid32 },
#endif
#ifdef CB_SYS_setreuid32
# define TARGET_LINUX_SYS_setreuid32 203
- { CB_SYS_setreuid32, TARGET_LINUX_SYS_setreuid32 },
+ { "setreuid32", CB_SYS_setreuid32, TARGET_LINUX_SYS_setreuid32 },
#endif
#ifdef CB_SYS_setregid32
# define TARGET_LINUX_SYS_setregid32 204
- { CB_SYS_setregid32, TARGET_LINUX_SYS_setregid32 },
+ { "setregid32", CB_SYS_setregid32, TARGET_LINUX_SYS_setregid32 },
#endif
#ifdef CB_SYS_getgroups32
# define TARGET_LINUX_SYS_getgroups32 205
- { CB_SYS_getgroups32, TARGET_LINUX_SYS_getgroups32 },
+ { "getgroups32", CB_SYS_getgroups32, TARGET_LINUX_SYS_getgroups32 },
#endif
#ifdef CB_SYS_setgroups32
# define TARGET_LINUX_SYS_setgroups32 206
- { CB_SYS_setgroups32, TARGET_LINUX_SYS_setgroups32 },
+ { "setgroups32", CB_SYS_setgroups32, TARGET_LINUX_SYS_setgroups32 },
#endif
#ifdef CB_SYS_fchown32
# define TARGET_LINUX_SYS_fchown32 207
- { CB_SYS_fchown32, TARGET_LINUX_SYS_fchown32 },
+ { "fchown32", CB_SYS_fchown32, TARGET_LINUX_SYS_fchown32 },
#endif
#ifdef CB_SYS_setresuid32
# define TARGET_LINUX_SYS_setresuid32 208
- { CB_SYS_setresuid32, TARGET_LINUX_SYS_setresuid32 },
+ { "setresuid32", CB_SYS_setresuid32, TARGET_LINUX_SYS_setresuid32 },
#endif
#ifdef CB_SYS_getresuid32
# define TARGET_LINUX_SYS_getresuid32 209
- { CB_SYS_getresuid32, TARGET_LINUX_SYS_getresuid32 },
+ { "getresuid32", CB_SYS_getresuid32, TARGET_LINUX_SYS_getresuid32 },
#endif
#ifdef CB_SYS_setresgid32
# define TARGET_LINUX_SYS_setresgid32 210
- { CB_SYS_setresgid32, TARGET_LINUX_SYS_setresgid32 },
+ { "setresgid32", CB_SYS_setresgid32, TARGET_LINUX_SYS_setresgid32 },
#endif
#ifdef CB_SYS_getresgid32
# define TARGET_LINUX_SYS_getresgid32 211
- { CB_SYS_getresgid32, TARGET_LINUX_SYS_getresgid32 },
+ { "getresgid32", CB_SYS_getresgid32, TARGET_LINUX_SYS_getresgid32 },
#endif
#ifdef CB_SYS_lchown32
# define TARGET_LINUX_SYS_lchown32 212
- { CB_SYS_lchown32, TARGET_LINUX_SYS_lchown32 },
+ { "lchown32", CB_SYS_lchown32, TARGET_LINUX_SYS_lchown32 },
#endif
#ifdef CB_SYS_setuid32
# define TARGET_LINUX_SYS_setuid32 213
- { CB_SYS_setuid32, TARGET_LINUX_SYS_setuid32 },
+ { "setuid32", CB_SYS_setuid32, TARGET_LINUX_SYS_setuid32 },
#endif
#ifdef CB_SYS_setgid32
# define TARGET_LINUX_SYS_setgid32 214
- { CB_SYS_setgid32, TARGET_LINUX_SYS_setgid32 },
+ { "setgid32", CB_SYS_setgid32, TARGET_LINUX_SYS_setgid32 },
#endif
#ifdef CB_SYS_setfsuid32
# define TARGET_LINUX_SYS_setfsuid32 215
- { CB_SYS_setfsuid32, TARGET_LINUX_SYS_setfsuid32 },
+ { "setfsuid32", CB_SYS_setfsuid32, TARGET_LINUX_SYS_setfsuid32 },
#endif
#ifdef CB_SYS_setfsgid32
# define TARGET_LINUX_SYS_setfsgid32 216
- { CB_SYS_setfsgid32, TARGET_LINUX_SYS_setfsgid32 },
+ { "setfsgid32", CB_SYS_setfsgid32, TARGET_LINUX_SYS_setfsgid32 },
#endif
#ifdef CB_SYS_pivot_root
# define TARGET_LINUX_SYS_pivot_root 217
- { CB_SYS_pivot_root, TARGET_LINUX_SYS_pivot_root },
+ { "pivot_root", CB_SYS_pivot_root, TARGET_LINUX_SYS_pivot_root },
#endif
#ifdef CB_SYS_getdents64
# define TARGET_LINUX_SYS_getdents64 220
- { CB_SYS_getdents64, TARGET_LINUX_SYS_getdents64 },
+ { "getdents64", CB_SYS_getdents64, TARGET_LINUX_SYS_getdents64 },
#endif
#ifdef CB_SYS_fcntl64
# define TARGET_LINUX_SYS_fcntl64 221
- { CB_SYS_fcntl64, TARGET_LINUX_SYS_fcntl64 },
+ { "fcntl64", CB_SYS_fcntl64, TARGET_LINUX_SYS_fcntl64 },
#endif
#ifdef CB_SYS_gettid
# define TARGET_LINUX_SYS_gettid 224
- { CB_SYS_gettid, TARGET_LINUX_SYS_gettid },
+ { "gettid", CB_SYS_gettid, TARGET_LINUX_SYS_gettid },
#endif
#ifdef CB_SYS_readahead
# define TARGET_LINUX_SYS_readahead 225
- { CB_SYS_readahead, TARGET_LINUX_SYS_readahead },
+ { "readahead", CB_SYS_readahead, TARGET_LINUX_SYS_readahead },
#endif
#ifdef CB_SYS_setxattr
# define TARGET_LINUX_SYS_setxattr 226
- { CB_SYS_setxattr, TARGET_LINUX_SYS_setxattr },
+ { "setxattr", CB_SYS_setxattr, TARGET_LINUX_SYS_setxattr },
#endif
#ifdef CB_SYS_lsetxattr
# define TARGET_LINUX_SYS_lsetxattr 227
- { CB_SYS_lsetxattr, TARGET_LINUX_SYS_lsetxattr },
+ { "lsetxattr", CB_SYS_lsetxattr, TARGET_LINUX_SYS_lsetxattr },
#endif
#ifdef CB_SYS_fsetxattr
# define TARGET_LINUX_SYS_fsetxattr 228
- { CB_SYS_fsetxattr, TARGET_LINUX_SYS_fsetxattr },
+ { "fsetxattr", CB_SYS_fsetxattr, TARGET_LINUX_SYS_fsetxattr },
#endif
#ifdef CB_SYS_getxattr
# define TARGET_LINUX_SYS_getxattr 229
- { CB_SYS_getxattr, TARGET_LINUX_SYS_getxattr },
+ { "getxattr", CB_SYS_getxattr, TARGET_LINUX_SYS_getxattr },
#endif
#ifdef CB_SYS_lgetxattr
# define TARGET_LINUX_SYS_lgetxattr 230
- { CB_SYS_lgetxattr, TARGET_LINUX_SYS_lgetxattr },
+ { "lgetxattr", CB_SYS_lgetxattr, TARGET_LINUX_SYS_lgetxattr },
#endif
#ifdef CB_SYS_fgetxattr
# define TARGET_LINUX_SYS_fgetxattr 231
- { CB_SYS_fgetxattr, TARGET_LINUX_SYS_fgetxattr },
+ { "fgetxattr", CB_SYS_fgetxattr, TARGET_LINUX_SYS_fgetxattr },
#endif
#ifdef CB_SYS_listxattr
# define TARGET_LINUX_SYS_listxattr 232
- { CB_SYS_listxattr, TARGET_LINUX_SYS_listxattr },
+ { "listxattr", CB_SYS_listxattr, TARGET_LINUX_SYS_listxattr },
#endif
#ifdef CB_SYS_llistxattr
# define TARGET_LINUX_SYS_llistxattr 233
- { CB_SYS_llistxattr, TARGET_LINUX_SYS_llistxattr },
+ { "llistxattr", CB_SYS_llistxattr, TARGET_LINUX_SYS_llistxattr },
#endif
#ifdef CB_SYS_flistxattr
# define TARGET_LINUX_SYS_flistxattr 234
- { CB_SYS_flistxattr, TARGET_LINUX_SYS_flistxattr },
+ { "flistxattr", CB_SYS_flistxattr, TARGET_LINUX_SYS_flistxattr },
#endif
#ifdef CB_SYS_removexattr
# define TARGET_LINUX_SYS_removexattr 235
- { CB_SYS_removexattr, TARGET_LINUX_SYS_removexattr },
+ { "removexattr", CB_SYS_removexattr, TARGET_LINUX_SYS_removexattr },
#endif
#ifdef CB_SYS_lremovexattr
# define TARGET_LINUX_SYS_lremovexattr 236
- { CB_SYS_lremovexattr, TARGET_LINUX_SYS_lremovexattr },
+ { "lremovexattr", CB_SYS_lremovexattr, TARGET_LINUX_SYS_lremovexattr },
#endif
#ifdef CB_SYS_fremovexattr
# define TARGET_LINUX_SYS_fremovexattr 237
- { CB_SYS_fremovexattr, TARGET_LINUX_SYS_fremovexattr },
+ { "fremovexattr", CB_SYS_fremovexattr, TARGET_LINUX_SYS_fremovexattr },
#endif
#ifdef CB_SYS_tkill
# define TARGET_LINUX_SYS_tkill 238
- { CB_SYS_tkill, TARGET_LINUX_SYS_tkill },
+ { "tkill", CB_SYS_tkill, TARGET_LINUX_SYS_tkill },
#endif
#ifdef CB_SYS_sendfile64
# define TARGET_LINUX_SYS_sendfile64 239
- { CB_SYS_sendfile64, TARGET_LINUX_SYS_sendfile64 },
+ { "sendfile64", CB_SYS_sendfile64, TARGET_LINUX_SYS_sendfile64 },
#endif
#ifdef CB_SYS_futex
# define TARGET_LINUX_SYS_futex 240
- { CB_SYS_futex, TARGET_LINUX_SYS_futex },
+ { "futex", CB_SYS_futex, TARGET_LINUX_SYS_futex },
#endif
#ifdef CB_SYS_sched_setaffinity
# define TARGET_LINUX_SYS_sched_setaffinity 241
- { CB_SYS_sched_setaffinity, TARGET_LINUX_SYS_sched_setaffinity },
+ { "sched_setaffinity", CB_SYS_sched_setaffinity, TARGET_LINUX_SYS_sched_setaffinity },
#endif
#ifdef CB_SYS_sched_getaffinity
# define TARGET_LINUX_SYS_sched_getaffinity 242
- { CB_SYS_sched_getaffinity, TARGET_LINUX_SYS_sched_getaffinity },
+ { "sched_getaffinity", CB_SYS_sched_getaffinity, TARGET_LINUX_SYS_sched_getaffinity },
#endif
#ifdef CB_SYS_io_setup
# define TARGET_LINUX_SYS_io_setup 245
- { CB_SYS_io_setup, TARGET_LINUX_SYS_io_setup },
+ { "io_setup", CB_SYS_io_setup, TARGET_LINUX_SYS_io_setup },
#endif
#ifdef CB_SYS_io_destroy
# define TARGET_LINUX_SYS_io_destroy 246
- { CB_SYS_io_destroy, TARGET_LINUX_SYS_io_destroy },
+ { "io_destroy", CB_SYS_io_destroy, TARGET_LINUX_SYS_io_destroy },
#endif
#ifdef CB_SYS_io_getevents
# define TARGET_LINUX_SYS_io_getevents 247
- { CB_SYS_io_getevents, TARGET_LINUX_SYS_io_getevents },
+ { "io_getevents", CB_SYS_io_getevents, TARGET_LINUX_SYS_io_getevents },
#endif
#ifdef CB_SYS_io_submit
# define TARGET_LINUX_SYS_io_submit 248
- { CB_SYS_io_submit, TARGET_LINUX_SYS_io_submit },
+ { "io_submit", CB_SYS_io_submit, TARGET_LINUX_SYS_io_submit },
#endif
#ifdef CB_SYS_io_cancel
# define TARGET_LINUX_SYS_io_cancel 249
- { CB_SYS_io_cancel, TARGET_LINUX_SYS_io_cancel },
+ { "io_cancel", CB_SYS_io_cancel, TARGET_LINUX_SYS_io_cancel },
#endif
#ifdef CB_SYS_exit_group
# define TARGET_LINUX_SYS_exit_group 252
- { CB_SYS_exit_group, TARGET_LINUX_SYS_exit_group },
+ { "exit_group", CB_SYS_exit_group, TARGET_LINUX_SYS_exit_group },
#endif
#ifdef CB_SYS_lookup_dcookie
# define TARGET_LINUX_SYS_lookup_dcookie 253
- { CB_SYS_lookup_dcookie, TARGET_LINUX_SYS_lookup_dcookie },
+ { "lookup_dcookie", CB_SYS_lookup_dcookie, TARGET_LINUX_SYS_lookup_dcookie },
#endif
#ifdef CB_SYS_bfin_spinlock
# define TARGET_LINUX_SYS_bfin_spinlock 254
- { CB_SYS_bfin_spinlock, TARGET_LINUX_SYS_bfin_spinlock },
+ { "bfin_spinlock", CB_SYS_bfin_spinlock, TARGET_LINUX_SYS_bfin_spinlock },
#endif
#ifdef CB_SYS_epoll_create
# define TARGET_LINUX_SYS_epoll_create 255
- { CB_SYS_epoll_create, TARGET_LINUX_SYS_epoll_create },
+ { "epoll_create", CB_SYS_epoll_create, TARGET_LINUX_SYS_epoll_create },
#endif
#ifdef CB_SYS_epoll_ctl
# define TARGET_LINUX_SYS_epoll_ctl 256
- { CB_SYS_epoll_ctl, TARGET_LINUX_SYS_epoll_ctl },
+ { "epoll_ctl", CB_SYS_epoll_ctl, TARGET_LINUX_SYS_epoll_ctl },
#endif
#ifdef CB_SYS_epoll_wait
# define TARGET_LINUX_SYS_epoll_wait 257
- { CB_SYS_epoll_wait, TARGET_LINUX_SYS_epoll_wait },
+ { "epoll_wait", CB_SYS_epoll_wait, TARGET_LINUX_SYS_epoll_wait },
#endif
#ifdef CB_SYS_set_tid_address
# define TARGET_LINUX_SYS_set_tid_address 259
- { CB_SYS_set_tid_address, TARGET_LINUX_SYS_set_tid_address },
+ { "set_tid_address", CB_SYS_set_tid_address, TARGET_LINUX_SYS_set_tid_address },
#endif
#ifdef CB_SYS_timer_create
# define TARGET_LINUX_SYS_timer_create 260
- { CB_SYS_timer_create, TARGET_LINUX_SYS_timer_create },
+ { "timer_create", CB_SYS_timer_create, TARGET_LINUX_SYS_timer_create },
#endif
#ifdef CB_SYS_timer_settime
# define TARGET_LINUX_SYS_timer_settime 261
- { CB_SYS_timer_settime, TARGET_LINUX_SYS_timer_settime },
+ { "timer_settime", CB_SYS_timer_settime, TARGET_LINUX_SYS_timer_settime },
#endif
#ifdef CB_SYS_timer_gettime
# define TARGET_LINUX_SYS_timer_gettime 262
- { CB_SYS_timer_gettime, TARGET_LINUX_SYS_timer_gettime },
+ { "timer_gettime", CB_SYS_timer_gettime, TARGET_LINUX_SYS_timer_gettime },
#endif
#ifdef CB_SYS_timer_getoverrun
# define TARGET_LINUX_SYS_timer_getoverrun 263
- { CB_SYS_timer_getoverrun, TARGET_LINUX_SYS_timer_getoverrun },
+ { "timer_getoverrun", CB_SYS_timer_getoverrun, TARGET_LINUX_SYS_timer_getoverrun },
#endif
#ifdef CB_SYS_timer_delete
# define TARGET_LINUX_SYS_timer_delete 264
- { CB_SYS_timer_delete, TARGET_LINUX_SYS_timer_delete },
+ { "timer_delete", CB_SYS_timer_delete, TARGET_LINUX_SYS_timer_delete },
#endif
#ifdef CB_SYS_clock_settime
# define TARGET_LINUX_SYS_clock_settime 265
- { CB_SYS_clock_settime, TARGET_LINUX_SYS_clock_settime },
+ { "clock_settime", CB_SYS_clock_settime, TARGET_LINUX_SYS_clock_settime },
#endif
#ifdef CB_SYS_clock_gettime
# define TARGET_LINUX_SYS_clock_gettime 266
- { CB_SYS_clock_gettime, TARGET_LINUX_SYS_clock_gettime },
+ { "clock_gettime", CB_SYS_clock_gettime, TARGET_LINUX_SYS_clock_gettime },
#endif
#ifdef CB_SYS_clock_getres
# define TARGET_LINUX_SYS_clock_getres 267
- { CB_SYS_clock_getres, TARGET_LINUX_SYS_clock_getres },
+ { "clock_getres", CB_SYS_clock_getres, TARGET_LINUX_SYS_clock_getres },
#endif
#ifdef CB_SYS_clock_nanosleep
# define TARGET_LINUX_SYS_clock_nanosleep 268
- { CB_SYS_clock_nanosleep, TARGET_LINUX_SYS_clock_nanosleep },
+ { "clock_nanosleep", CB_SYS_clock_nanosleep, TARGET_LINUX_SYS_clock_nanosleep },
#endif
#ifdef CB_SYS_statfs64
# define TARGET_LINUX_SYS_statfs64 269
- { CB_SYS_statfs64, TARGET_LINUX_SYS_statfs64 },
+ { "statfs64", CB_SYS_statfs64, TARGET_LINUX_SYS_statfs64 },
#endif
#ifdef CB_SYS_fstatfs64
# define TARGET_LINUX_SYS_fstatfs64 270
- { CB_SYS_fstatfs64, TARGET_LINUX_SYS_fstatfs64 },
+ { "fstatfs64", CB_SYS_fstatfs64, TARGET_LINUX_SYS_fstatfs64 },
#endif
#ifdef CB_SYS_tgkill
# define TARGET_LINUX_SYS_tgkill 271
- { CB_SYS_tgkill, TARGET_LINUX_SYS_tgkill },
+ { "tgkill", CB_SYS_tgkill, TARGET_LINUX_SYS_tgkill },
#endif
#ifdef CB_SYS_utimes
# define TARGET_LINUX_SYS_utimes 272
- { CB_SYS_utimes, TARGET_LINUX_SYS_utimes },
+ { "utimes", CB_SYS_utimes, TARGET_LINUX_SYS_utimes },
#endif
#ifdef CB_SYS_fadvise64_64
# define TARGET_LINUX_SYS_fadvise64_64 273
- { CB_SYS_fadvise64_64, TARGET_LINUX_SYS_fadvise64_64 },
+ { "fadvise64_64", CB_SYS_fadvise64_64, TARGET_LINUX_SYS_fadvise64_64 },
#endif
#ifdef CB_SYS_mq_open
# define TARGET_LINUX_SYS_mq_open 278
- { CB_SYS_mq_open, TARGET_LINUX_SYS_mq_open },
+ { "mq_open", CB_SYS_mq_open, TARGET_LINUX_SYS_mq_open },
#endif
#ifdef CB_SYS_mq_unlink
# define TARGET_LINUX_SYS_mq_unlink 279
- { CB_SYS_mq_unlink, TARGET_LINUX_SYS_mq_unlink },
+ { "mq_unlink", CB_SYS_mq_unlink, TARGET_LINUX_SYS_mq_unlink },
#endif
#ifdef CB_SYS_mq_timedsend
# define TARGET_LINUX_SYS_mq_timedsend 280
- { CB_SYS_mq_timedsend, TARGET_LINUX_SYS_mq_timedsend },
+ { "mq_timedsend", CB_SYS_mq_timedsend, TARGET_LINUX_SYS_mq_timedsend },
#endif
#ifdef CB_SYS_mq_timedreceive
# define TARGET_LINUX_SYS_mq_timedreceive 281
- { CB_SYS_mq_timedreceive, TARGET_LINUX_SYS_mq_timedreceive },
+ { "mq_timedreceive", CB_SYS_mq_timedreceive, TARGET_LINUX_SYS_mq_timedreceive },
#endif
#ifdef CB_SYS_mq_notify
# define TARGET_LINUX_SYS_mq_notify 282
- { CB_SYS_mq_notify, TARGET_LINUX_SYS_mq_notify },
+ { "mq_notify", CB_SYS_mq_notify, TARGET_LINUX_SYS_mq_notify },
#endif
#ifdef CB_SYS_mq_getsetattr
# define TARGET_LINUX_SYS_mq_getsetattr 283
- { CB_SYS_mq_getsetattr, TARGET_LINUX_SYS_mq_getsetattr },
+ { "mq_getsetattr", CB_SYS_mq_getsetattr, TARGET_LINUX_SYS_mq_getsetattr },
#endif
#ifdef CB_SYS_kexec_load
# define TARGET_LINUX_SYS_kexec_load 284
- { CB_SYS_kexec_load, TARGET_LINUX_SYS_kexec_load },
+ { "kexec_load", CB_SYS_kexec_load, TARGET_LINUX_SYS_kexec_load },
#endif
#ifdef CB_SYS_waitid
# define TARGET_LINUX_SYS_waitid 285
- { CB_SYS_waitid, TARGET_LINUX_SYS_waitid },
+ { "waitid", CB_SYS_waitid, TARGET_LINUX_SYS_waitid },
#endif
#ifdef CB_SYS_add_key
# define TARGET_LINUX_SYS_add_key 286
- { CB_SYS_add_key, TARGET_LINUX_SYS_add_key },
+ { "add_key", CB_SYS_add_key, TARGET_LINUX_SYS_add_key },
#endif
#ifdef CB_SYS_request_key
# define TARGET_LINUX_SYS_request_key 287
- { CB_SYS_request_key, TARGET_LINUX_SYS_request_key },
+ { "request_key", CB_SYS_request_key, TARGET_LINUX_SYS_request_key },
#endif
#ifdef CB_SYS_keyctl
# define TARGET_LINUX_SYS_keyctl 288
- { CB_SYS_keyctl, TARGET_LINUX_SYS_keyctl },
+ { "keyctl", CB_SYS_keyctl, TARGET_LINUX_SYS_keyctl },
#endif
#ifdef CB_SYS_ioprio_set
# define TARGET_LINUX_SYS_ioprio_set 289
- { CB_SYS_ioprio_set, TARGET_LINUX_SYS_ioprio_set },
+ { "ioprio_set", CB_SYS_ioprio_set, TARGET_LINUX_SYS_ioprio_set },
#endif
#ifdef CB_SYS_ioprio_get
# define TARGET_LINUX_SYS_ioprio_get 290
- { CB_SYS_ioprio_get, TARGET_LINUX_SYS_ioprio_get },
+ { "ioprio_get", CB_SYS_ioprio_get, TARGET_LINUX_SYS_ioprio_get },
#endif
#ifdef CB_SYS_inotify_init
# define TARGET_LINUX_SYS_inotify_init 291
- { CB_SYS_inotify_init, TARGET_LINUX_SYS_inotify_init },
+ { "inotify_init", CB_SYS_inotify_init, TARGET_LINUX_SYS_inotify_init },
#endif
#ifdef CB_SYS_inotify_add_watch
# define TARGET_LINUX_SYS_inotify_add_watch 292
- { CB_SYS_inotify_add_watch, TARGET_LINUX_SYS_inotify_add_watch },
+ { "inotify_add_watch", CB_SYS_inotify_add_watch, TARGET_LINUX_SYS_inotify_add_watch },
#endif
#ifdef CB_SYS_inotify_rm_watch
# define TARGET_LINUX_SYS_inotify_rm_watch 293
- { CB_SYS_inotify_rm_watch, TARGET_LINUX_SYS_inotify_rm_watch },
+ { "inotify_rm_watch", CB_SYS_inotify_rm_watch, TARGET_LINUX_SYS_inotify_rm_watch },
#endif
#ifdef CB_SYS_openat
# define TARGET_LINUX_SYS_openat 295
- { CB_SYS_openat, TARGET_LINUX_SYS_openat },
+ { "openat", CB_SYS_openat, TARGET_LINUX_SYS_openat },
#endif
#ifdef CB_SYS_mkdirat
# define TARGET_LINUX_SYS_mkdirat 296
- { CB_SYS_mkdirat, TARGET_LINUX_SYS_mkdirat },
+ { "mkdirat", CB_SYS_mkdirat, TARGET_LINUX_SYS_mkdirat },
#endif
#ifdef CB_SYS_mknodat
# define TARGET_LINUX_SYS_mknodat 297
- { CB_SYS_mknodat, TARGET_LINUX_SYS_mknodat },
+ { "mknodat", CB_SYS_mknodat, TARGET_LINUX_SYS_mknodat },
#endif
#ifdef CB_SYS_fchownat
# define TARGET_LINUX_SYS_fchownat 298
- { CB_SYS_fchownat, TARGET_LINUX_SYS_fchownat },
+ { "fchownat", CB_SYS_fchownat, TARGET_LINUX_SYS_fchownat },
#endif
#ifdef CB_SYS_futimesat
# define TARGET_LINUX_SYS_futimesat 299
- { CB_SYS_futimesat, TARGET_LINUX_SYS_futimesat },
+ { "futimesat", CB_SYS_futimesat, TARGET_LINUX_SYS_futimesat },
#endif
#ifdef CB_SYS_fstatat64
# define TARGET_LINUX_SYS_fstatat64 300
- { CB_SYS_fstatat64, TARGET_LINUX_SYS_fstatat64 },
+ { "fstatat64", CB_SYS_fstatat64, TARGET_LINUX_SYS_fstatat64 },
#endif
#ifdef CB_SYS_unlinkat
# define TARGET_LINUX_SYS_unlinkat 301
- { CB_SYS_unlinkat, TARGET_LINUX_SYS_unlinkat },
+ { "unlinkat", CB_SYS_unlinkat, TARGET_LINUX_SYS_unlinkat },
#endif
#ifdef CB_SYS_renameat
# define TARGET_LINUX_SYS_renameat 302
- { CB_SYS_renameat, TARGET_LINUX_SYS_renameat },
+ { "renameat", CB_SYS_renameat, TARGET_LINUX_SYS_renameat },
#endif
#ifdef CB_SYS_linkat
# define TARGET_LINUX_SYS_linkat 303
- { CB_SYS_linkat, TARGET_LINUX_SYS_linkat },
+ { "linkat", CB_SYS_linkat, TARGET_LINUX_SYS_linkat },
#endif
#ifdef CB_SYS_symlinkat
# define TARGET_LINUX_SYS_symlinkat 304
- { CB_SYS_symlinkat, TARGET_LINUX_SYS_symlinkat },
+ { "symlinkat", CB_SYS_symlinkat, TARGET_LINUX_SYS_symlinkat },
#endif
#ifdef CB_SYS_readlinkat
# define TARGET_LINUX_SYS_readlinkat 305
- { CB_SYS_readlinkat, TARGET_LINUX_SYS_readlinkat },
+ { "readlinkat", CB_SYS_readlinkat, TARGET_LINUX_SYS_readlinkat },
#endif
#ifdef CB_SYS_fchmodat
# define TARGET_LINUX_SYS_fchmodat 306
- { CB_SYS_fchmodat, TARGET_LINUX_SYS_fchmodat },
+ { "fchmodat", CB_SYS_fchmodat, TARGET_LINUX_SYS_fchmodat },
#endif
#ifdef CB_SYS_faccessat
# define TARGET_LINUX_SYS_faccessat 307
- { CB_SYS_faccessat, TARGET_LINUX_SYS_faccessat },
+ { "faccessat", CB_SYS_faccessat, TARGET_LINUX_SYS_faccessat },
#endif
#ifdef CB_SYS_pselect6
# define TARGET_LINUX_SYS_pselect6 308
- { CB_SYS_pselect6, TARGET_LINUX_SYS_pselect6 },
+ { "pselect6", CB_SYS_pselect6, TARGET_LINUX_SYS_pselect6 },
#endif
#ifdef CB_SYS_ppoll
# define TARGET_LINUX_SYS_ppoll 309
- { CB_SYS_ppoll, TARGET_LINUX_SYS_ppoll },
+ { "ppoll", CB_SYS_ppoll, TARGET_LINUX_SYS_ppoll },
#endif
#ifdef CB_SYS_unshare
# define TARGET_LINUX_SYS_unshare 310
- { CB_SYS_unshare, TARGET_LINUX_SYS_unshare },
+ { "unshare", CB_SYS_unshare, TARGET_LINUX_SYS_unshare },
#endif
#ifdef CB_SYS_sram_alloc
# define TARGET_LINUX_SYS_sram_alloc 311
- { CB_SYS_sram_alloc, TARGET_LINUX_SYS_sram_alloc },
+ { "sram_alloc", CB_SYS_sram_alloc, TARGET_LINUX_SYS_sram_alloc },
#endif
#ifdef CB_SYS_sram_free
# define TARGET_LINUX_SYS_sram_free 312
- { CB_SYS_sram_free, TARGET_LINUX_SYS_sram_free },
+ { "sram_free", CB_SYS_sram_free, TARGET_LINUX_SYS_sram_free },
#endif
#ifdef CB_SYS_dma_memcpy
# define TARGET_LINUX_SYS_dma_memcpy 313
- { CB_SYS_dma_memcpy, TARGET_LINUX_SYS_dma_memcpy },
+ { "dma_memcpy", CB_SYS_dma_memcpy, TARGET_LINUX_SYS_dma_memcpy },
#endif
#ifdef CB_SYS_accept
# define TARGET_LINUX_SYS_accept 314
- { CB_SYS_accept, TARGET_LINUX_SYS_accept },
+ { "accept", CB_SYS_accept, TARGET_LINUX_SYS_accept },
#endif
#ifdef CB_SYS_bind
# define TARGET_LINUX_SYS_bind 315
- { CB_SYS_bind, TARGET_LINUX_SYS_bind },
+ { "bind", CB_SYS_bind, TARGET_LINUX_SYS_bind },
#endif
#ifdef CB_SYS_connect
# define TARGET_LINUX_SYS_connect 316
- { CB_SYS_connect, TARGET_LINUX_SYS_connect },
+ { "connect", CB_SYS_connect, TARGET_LINUX_SYS_connect },
#endif
#ifdef CB_SYS_getpeername
# define TARGET_LINUX_SYS_getpeername 317
- { CB_SYS_getpeername, TARGET_LINUX_SYS_getpeername },
+ { "getpeername", CB_SYS_getpeername, TARGET_LINUX_SYS_getpeername },
#endif
#ifdef CB_SYS_getsockname
# define TARGET_LINUX_SYS_getsockname 318
- { CB_SYS_getsockname, TARGET_LINUX_SYS_getsockname },
+ { "getsockname", CB_SYS_getsockname, TARGET_LINUX_SYS_getsockname },
#endif
#ifdef CB_SYS_getsockopt
# define TARGET_LINUX_SYS_getsockopt 319
- { CB_SYS_getsockopt, TARGET_LINUX_SYS_getsockopt },
+ { "getsockopt", CB_SYS_getsockopt, TARGET_LINUX_SYS_getsockopt },
#endif
#ifdef CB_SYS_listen
# define TARGET_LINUX_SYS_listen 320
- { CB_SYS_listen, TARGET_LINUX_SYS_listen },
+ { "listen", CB_SYS_listen, TARGET_LINUX_SYS_listen },
#endif
#ifdef CB_SYS_recv
# define TARGET_LINUX_SYS_recv 321
- { CB_SYS_recv, TARGET_LINUX_SYS_recv },
+ { "recv", CB_SYS_recv, TARGET_LINUX_SYS_recv },
#endif
#ifdef CB_SYS_recvfrom
# define TARGET_LINUX_SYS_recvfrom 322
- { CB_SYS_recvfrom, TARGET_LINUX_SYS_recvfrom },
+ { "recvfrom", CB_SYS_recvfrom, TARGET_LINUX_SYS_recvfrom },
#endif
#ifdef CB_SYS_recvmsg
# define TARGET_LINUX_SYS_recvmsg 323
- { CB_SYS_recvmsg, TARGET_LINUX_SYS_recvmsg },
+ { "recvmsg", CB_SYS_recvmsg, TARGET_LINUX_SYS_recvmsg },
#endif
#ifdef CB_SYS_send
# define TARGET_LINUX_SYS_send 324
- { CB_SYS_send, TARGET_LINUX_SYS_send },
+ { "send", CB_SYS_send, TARGET_LINUX_SYS_send },
#endif
#ifdef CB_SYS_sendmsg
# define TARGET_LINUX_SYS_sendmsg 325
- { CB_SYS_sendmsg, TARGET_LINUX_SYS_sendmsg },
+ { "sendmsg", CB_SYS_sendmsg, TARGET_LINUX_SYS_sendmsg },
#endif
#ifdef CB_SYS_sendto
# define TARGET_LINUX_SYS_sendto 326
- { CB_SYS_sendto, TARGET_LINUX_SYS_sendto },
+ { "sendto", CB_SYS_sendto, TARGET_LINUX_SYS_sendto },
#endif
#ifdef CB_SYS_setsockopt
# define TARGET_LINUX_SYS_setsockopt 327
- { CB_SYS_setsockopt, TARGET_LINUX_SYS_setsockopt },
+ { "setsockopt", CB_SYS_setsockopt, TARGET_LINUX_SYS_setsockopt },
#endif
#ifdef CB_SYS_shutdown
# define TARGET_LINUX_SYS_shutdown 328
- { CB_SYS_shutdown, TARGET_LINUX_SYS_shutdown },
+ { "shutdown", CB_SYS_shutdown, TARGET_LINUX_SYS_shutdown },
#endif
#ifdef CB_SYS_socket
# define TARGET_LINUX_SYS_socket 329
- { CB_SYS_socket, TARGET_LINUX_SYS_socket },
+ { "socket", CB_SYS_socket, TARGET_LINUX_SYS_socket },
#endif
#ifdef CB_SYS_socketpair
# define TARGET_LINUX_SYS_socketpair 330
- { CB_SYS_socketpair, TARGET_LINUX_SYS_socketpair },
+ { "socketpair", CB_SYS_socketpair, TARGET_LINUX_SYS_socketpair },
#endif
#ifdef CB_SYS_semctl
# define TARGET_LINUX_SYS_semctl 331
- { CB_SYS_semctl, TARGET_LINUX_SYS_semctl },
+ { "semctl", CB_SYS_semctl, TARGET_LINUX_SYS_semctl },
#endif
#ifdef CB_SYS_semget
# define TARGET_LINUX_SYS_semget 332
- { CB_SYS_semget, TARGET_LINUX_SYS_semget },
+ { "semget", CB_SYS_semget, TARGET_LINUX_SYS_semget },
#endif
#ifdef CB_SYS_semop
# define TARGET_LINUX_SYS_semop 333
- { CB_SYS_semop, TARGET_LINUX_SYS_semop },
+ { "semop", CB_SYS_semop, TARGET_LINUX_SYS_semop },
#endif
#ifdef CB_SYS_msgctl
# define TARGET_LINUX_SYS_msgctl 334
- { CB_SYS_msgctl, TARGET_LINUX_SYS_msgctl },
+ { "msgctl", CB_SYS_msgctl, TARGET_LINUX_SYS_msgctl },
#endif
#ifdef CB_SYS_msgget
# define TARGET_LINUX_SYS_msgget 335
- { CB_SYS_msgget, TARGET_LINUX_SYS_msgget },
+ { "msgget", CB_SYS_msgget, TARGET_LINUX_SYS_msgget },
#endif
#ifdef CB_SYS_msgrcv
# define TARGET_LINUX_SYS_msgrcv 336
- { CB_SYS_msgrcv, TARGET_LINUX_SYS_msgrcv },
+ { "msgrcv", CB_SYS_msgrcv, TARGET_LINUX_SYS_msgrcv },
#endif
#ifdef CB_SYS_msgsnd
# define TARGET_LINUX_SYS_msgsnd 337
- { CB_SYS_msgsnd, TARGET_LINUX_SYS_msgsnd },
+ { "msgsnd", CB_SYS_msgsnd, TARGET_LINUX_SYS_msgsnd },
#endif
#ifdef CB_SYS_shmat
# define TARGET_LINUX_SYS_shmat 338
- { CB_SYS_shmat, TARGET_LINUX_SYS_shmat },
+ { "shmat", CB_SYS_shmat, TARGET_LINUX_SYS_shmat },
#endif
#ifdef CB_SYS_shmctl
# define TARGET_LINUX_SYS_shmctl 339
- { CB_SYS_shmctl, TARGET_LINUX_SYS_shmctl },
+ { "shmctl", CB_SYS_shmctl, TARGET_LINUX_SYS_shmctl },
#endif
#ifdef CB_SYS_shmdt
# define TARGET_LINUX_SYS_shmdt 340
- { CB_SYS_shmdt, TARGET_LINUX_SYS_shmdt },
+ { "shmdt", CB_SYS_shmdt, TARGET_LINUX_SYS_shmdt },
#endif
#ifdef CB_SYS_shmget
# define TARGET_LINUX_SYS_shmget 341
- { CB_SYS_shmget, TARGET_LINUX_SYS_shmget },
+ { "shmget", CB_SYS_shmget, TARGET_LINUX_SYS_shmget },
#endif
#ifdef CB_SYS_splice
# define TARGET_LINUX_SYS_splice 342
- { CB_SYS_splice, TARGET_LINUX_SYS_splice },
+ { "splice", CB_SYS_splice, TARGET_LINUX_SYS_splice },
#endif
#ifdef CB_SYS_sync_file_range
# define TARGET_LINUX_SYS_sync_file_range 343
- { CB_SYS_sync_file_range, TARGET_LINUX_SYS_sync_file_range },
+ { "sync_file_range", CB_SYS_sync_file_range, TARGET_LINUX_SYS_sync_file_range },
#endif
#ifdef CB_SYS_tee
# define TARGET_LINUX_SYS_tee 344
- { CB_SYS_tee, TARGET_LINUX_SYS_tee },
+ { "tee", CB_SYS_tee, TARGET_LINUX_SYS_tee },
#endif
#ifdef CB_SYS_vmsplice
# define TARGET_LINUX_SYS_vmsplice 345
- { CB_SYS_vmsplice, TARGET_LINUX_SYS_vmsplice },
+ { "vmsplice", CB_SYS_vmsplice, TARGET_LINUX_SYS_vmsplice },
#endif
#ifdef CB_SYS_epoll_pwait
# define TARGET_LINUX_SYS_epoll_pwait 346
- { CB_SYS_epoll_pwait, TARGET_LINUX_SYS_epoll_pwait },
+ { "epoll_pwait", CB_SYS_epoll_pwait, TARGET_LINUX_SYS_epoll_pwait },
#endif
#ifdef CB_SYS_utimensat
# define TARGET_LINUX_SYS_utimensat 347
- { CB_SYS_utimensat, TARGET_LINUX_SYS_utimensat },
+ { "utimensat", CB_SYS_utimensat, TARGET_LINUX_SYS_utimensat },
#endif
#ifdef CB_SYS_signalfd
# define TARGET_LINUX_SYS_signalfd 348
- { CB_SYS_signalfd, TARGET_LINUX_SYS_signalfd },
+ { "signalfd", CB_SYS_signalfd, TARGET_LINUX_SYS_signalfd },
#endif
#ifdef CB_SYS_timerfd_create
# define TARGET_LINUX_SYS_timerfd_create 349
- { CB_SYS_timerfd_create, TARGET_LINUX_SYS_timerfd_create },
+ { "timerfd_create", CB_SYS_timerfd_create, TARGET_LINUX_SYS_timerfd_create },
#endif
#ifdef CB_SYS_eventfd
# define TARGET_LINUX_SYS_eventfd 350
- { CB_SYS_eventfd, TARGET_LINUX_SYS_eventfd },
+ { "eventfd", CB_SYS_eventfd, TARGET_LINUX_SYS_eventfd },
#endif
#ifdef CB_SYS_pread64
# define TARGET_LINUX_SYS_pread64 351
- { CB_SYS_pread64, TARGET_LINUX_SYS_pread64 },
+ { "pread64", CB_SYS_pread64, TARGET_LINUX_SYS_pread64 },
#endif
#ifdef CB_SYS_pwrite64
# define TARGET_LINUX_SYS_pwrite64 352
- { CB_SYS_pwrite64, TARGET_LINUX_SYS_pwrite64 },
+ { "pwrite64", CB_SYS_pwrite64, TARGET_LINUX_SYS_pwrite64 },
#endif
#ifdef CB_SYS_fadvise64
# define TARGET_LINUX_SYS_fadvise64 353
- { CB_SYS_fadvise64, TARGET_LINUX_SYS_fadvise64 },
+ { "fadvise64", CB_SYS_fadvise64, TARGET_LINUX_SYS_fadvise64 },
#endif
#ifdef CB_SYS_set_robust_list
# define TARGET_LINUX_SYS_set_robust_list 354
- { CB_SYS_set_robust_list, TARGET_LINUX_SYS_set_robust_list },
+ { "set_robust_list", CB_SYS_set_robust_list, TARGET_LINUX_SYS_set_robust_list },
#endif
#ifdef CB_SYS_get_robust_list
# define TARGET_LINUX_SYS_get_robust_list 355
- { CB_SYS_get_robust_list, TARGET_LINUX_SYS_get_robust_list },
+ { "get_robust_list", CB_SYS_get_robust_list, TARGET_LINUX_SYS_get_robust_list },
#endif
#ifdef CB_SYS_fallocate
# define TARGET_LINUX_SYS_fallocate 356
- { CB_SYS_fallocate, TARGET_LINUX_SYS_fallocate },
+ { "fallocate", CB_SYS_fallocate, TARGET_LINUX_SYS_fallocate },
#endif
#ifdef CB_SYS_semtimedop
# define TARGET_LINUX_SYS_semtimedop 357
- { CB_SYS_semtimedop, TARGET_LINUX_SYS_semtimedop },
+ { "semtimedop", CB_SYS_semtimedop, TARGET_LINUX_SYS_semtimedop },
#endif
#ifdef CB_SYS_timerfd_settime
# define TARGET_LINUX_SYS_timerfd_settime 358
- { CB_SYS_timerfd_settime, TARGET_LINUX_SYS_timerfd_settime },
+ { "timerfd_settime", CB_SYS_timerfd_settime, TARGET_LINUX_SYS_timerfd_settime },
#endif
#ifdef CB_SYS_timerfd_gettime
# define TARGET_LINUX_SYS_timerfd_gettime 359
- { CB_SYS_timerfd_gettime, TARGET_LINUX_SYS_timerfd_gettime },
+ { "timerfd_gettime", CB_SYS_timerfd_gettime, TARGET_LINUX_SYS_timerfd_gettime },
#endif
#ifdef CB_SYS_signalfd4
# define TARGET_LINUX_SYS_signalfd4 360
- { CB_SYS_signalfd4, TARGET_LINUX_SYS_signalfd4 },
+ { "signalfd4", CB_SYS_signalfd4, TARGET_LINUX_SYS_signalfd4 },
#endif
#ifdef CB_SYS_eventfd2
# define TARGET_LINUX_SYS_eventfd2 361
- { CB_SYS_eventfd2, TARGET_LINUX_SYS_eventfd2 },
+ { "eventfd2", CB_SYS_eventfd2, TARGET_LINUX_SYS_eventfd2 },
#endif
#ifdef CB_SYS_epoll_create1
# define TARGET_LINUX_SYS_epoll_create1 362
- { CB_SYS_epoll_create1, TARGET_LINUX_SYS_epoll_create1 },
+ { "epoll_create1", CB_SYS_epoll_create1, TARGET_LINUX_SYS_epoll_create1 },
#endif
#ifdef CB_SYS_dup3
# define TARGET_LINUX_SYS_dup3 363
- { CB_SYS_dup3, TARGET_LINUX_SYS_dup3 },
+ { "dup3", CB_SYS_dup3, TARGET_LINUX_SYS_dup3 },
#endif
#ifdef CB_SYS_pipe2
# define TARGET_LINUX_SYS_pipe2 364
- { CB_SYS_pipe2, TARGET_LINUX_SYS_pipe2 },
+ { "pipe2", CB_SYS_pipe2, TARGET_LINUX_SYS_pipe2 },
#endif
#ifdef CB_SYS_inotify_init1
# define TARGET_LINUX_SYS_inotify_init1 365
- { CB_SYS_inotify_init1, TARGET_LINUX_SYS_inotify_init1 },
+ { "inotify_init1", CB_SYS_inotify_init1, TARGET_LINUX_SYS_inotify_init1 },
#endif
#ifdef CB_SYS_preadv
# define TARGET_LINUX_SYS_preadv 366
- { CB_SYS_preadv, TARGET_LINUX_SYS_preadv },
+ { "preadv", CB_SYS_preadv, TARGET_LINUX_SYS_preadv },
#endif
#ifdef CB_SYS_pwritev
# define TARGET_LINUX_SYS_pwritev 367
- { CB_SYS_pwritev, TARGET_LINUX_SYS_pwritev },
+ { "pwritev", CB_SYS_pwritev, TARGET_LINUX_SYS_pwritev },
#endif
#ifdef CB_SYS_rt_tgsigqueueinfo
# define TARGET_LINUX_SYS_rt_tgsigqueueinfo 368
- { CB_SYS_rt_tgsigqueueinfo, TARGET_LINUX_SYS_rt_tgsigqueueinfo },
+ { "rt_tgsigqueueinfo", CB_SYS_rt_tgsigqueueinfo, TARGET_LINUX_SYS_rt_tgsigqueueinfo },
#endif
#ifdef CB_SYS_perf_event_open
# define TARGET_LINUX_SYS_perf_event_open 369
- { CB_SYS_perf_event_open, TARGET_LINUX_SYS_perf_event_open },
+ { "perf_event_open", CB_SYS_perf_event_open, TARGET_LINUX_SYS_perf_event_open },
#endif
#ifdef CB_SYS_recvmmsg
# define TARGET_LINUX_SYS_recvmmsg 370
- { CB_SYS_recvmmsg, TARGET_LINUX_SYS_recvmmsg },
+ { "recvmmsg", CB_SYS_recvmmsg, TARGET_LINUX_SYS_recvmmsg },
#endif
#ifdef CB_SYS_fanotify_init
# define TARGET_LINUX_SYS_fanotify_init 371
- { CB_SYS_fanotify_init, TARGET_LINUX_SYS_fanotify_init },
+ { "fanotify_init", CB_SYS_fanotify_init, TARGET_LINUX_SYS_fanotify_init },
#endif
#ifdef CB_SYS_fanotify_mark
# define TARGET_LINUX_SYS_fanotify_mark 372
- { CB_SYS_fanotify_mark, TARGET_LINUX_SYS_fanotify_mark },
+ { "fanotify_mark", CB_SYS_fanotify_mark, TARGET_LINUX_SYS_fanotify_mark },
#endif
#ifdef CB_SYS_prlimit64
# define TARGET_LINUX_SYS_prlimit64 373
- { CB_SYS_prlimit64, TARGET_LINUX_SYS_prlimit64 },
+ { "prlimit64", CB_SYS_prlimit64, TARGET_LINUX_SYS_prlimit64 },
#endif
#ifdef CB_SYS_cacheflush
# define TARGET_LINUX_SYS_cacheflush 374
- { CB_SYS_cacheflush, TARGET_LINUX_SYS_cacheflush },
+ { "cacheflush", CB_SYS_cacheflush, TARGET_LINUX_SYS_cacheflush },
#endif
#ifdef CB_SYS_syscall
# define TARGET_LINUX_SYS_syscall 375
- { CB_SYS_syscall, TARGET_LINUX_SYS_syscall },
+ { "syscall", CB_SYS_syscall, TARGET_LINUX_SYS_syscall },
#endif
- { -1, -1 }
+ { 0, -1, -1 }
};
static CB_TARGET_DEFS_MAP cb_linux_errno_map[] =
{
#ifdef EPERM
# define TARGET_LINUX_EPERM 1
- { EPERM, TARGET_LINUX_EPERM },
+ { "EPERM", EPERM, TARGET_LINUX_EPERM },
#endif
#ifdef ENOENT
# define TARGET_LINUX_ENOENT 2
- { ENOENT, TARGET_LINUX_ENOENT },
+ { "ENOENT", ENOENT, TARGET_LINUX_ENOENT },
#endif
#ifdef ESRCH
# define TARGET_LINUX_ESRCH 3
- { ESRCH, TARGET_LINUX_ESRCH },
+ { "ESRCH", ESRCH, TARGET_LINUX_ESRCH },
#endif
#ifdef EINTR
# define TARGET_LINUX_EINTR 4
- { EINTR, TARGET_LINUX_EINTR },
+ { "EINTR", EINTR, TARGET_LINUX_EINTR },
#endif
#ifdef EIO
# define TARGET_LINUX_EIO 5
- { EIO, TARGET_LINUX_EIO },
+ { "EIO", EIO, TARGET_LINUX_EIO },
#endif
#ifdef ENXIO
# define TARGET_LINUX_ENXIO 6
- { ENXIO, TARGET_LINUX_ENXIO },
+ { "ENXIO", ENXIO, TARGET_LINUX_ENXIO },
#endif
#ifdef E2BIG
# define TARGET_LINUX_E2BIG 7
- { E2BIG, TARGET_LINUX_E2BIG },
+ { "E2BIG", E2BIG, TARGET_LINUX_E2BIG },
#endif
#ifdef ENOEXEC
# define TARGET_LINUX_ENOEXEC 8
- { ENOEXEC, TARGET_LINUX_ENOEXEC },
+ { "ENOEXEC", ENOEXEC, TARGET_LINUX_ENOEXEC },
#endif
#ifdef EBADF
# define TARGET_LINUX_EBADF 9
- { EBADF, TARGET_LINUX_EBADF },
+ { "EBADF", EBADF, TARGET_LINUX_EBADF },
#endif
#ifdef ECHILD
# define TARGET_LINUX_ECHILD 10
- { ECHILD, TARGET_LINUX_ECHILD },
+ { "ECHILD", ECHILD, TARGET_LINUX_ECHILD },
#endif
#ifdef EAGAIN
# define TARGET_LINUX_EAGAIN 11
- { EAGAIN, TARGET_LINUX_EAGAIN },
+ { "EAGAIN", EAGAIN, TARGET_LINUX_EAGAIN },
#endif
#ifdef ENOMEM
# define TARGET_LINUX_ENOMEM 12
- { ENOMEM, TARGET_LINUX_ENOMEM },
+ { "ENOMEM", ENOMEM, TARGET_LINUX_ENOMEM },
#endif
#ifdef EACCES
# define TARGET_LINUX_EACCES 13
- { EACCES, TARGET_LINUX_EACCES },
+ { "EACCES", EACCES, TARGET_LINUX_EACCES },
#endif
#ifdef EFAULT
# define TARGET_LINUX_EFAULT 14
- { EFAULT, TARGET_LINUX_EFAULT },
+ { "EFAULT", EFAULT, TARGET_LINUX_EFAULT },
#endif
#ifdef ENOTBLK
# define TARGET_LINUX_ENOTBLK 15
- { ENOTBLK, TARGET_LINUX_ENOTBLK },
+ { "ENOTBLK", ENOTBLK, TARGET_LINUX_ENOTBLK },
#endif
#ifdef EBUSY
# define TARGET_LINUX_EBUSY 16
- { EBUSY, TARGET_LINUX_EBUSY },
+ { "EBUSY", EBUSY, TARGET_LINUX_EBUSY },
#endif
#ifdef EEXIST
# define TARGET_LINUX_EEXIST 17
- { EEXIST, TARGET_LINUX_EEXIST },
+ { "EEXIST", EEXIST, TARGET_LINUX_EEXIST },
#endif
#ifdef EXDEV
# define TARGET_LINUX_EXDEV 18
- { EXDEV, TARGET_LINUX_EXDEV },
+ { "EXDEV", EXDEV, TARGET_LINUX_EXDEV },
#endif
#ifdef ENODEV
# define TARGET_LINUX_ENODEV 19
- { ENODEV, TARGET_LINUX_ENODEV },
+ { "ENODEV", ENODEV, TARGET_LINUX_ENODEV },
#endif
#ifdef ENOTDIR
# define TARGET_LINUX_ENOTDIR 20
- { ENOTDIR, TARGET_LINUX_ENOTDIR },
+ { "ENOTDIR", ENOTDIR, TARGET_LINUX_ENOTDIR },
#endif
#ifdef EISDIR
# define TARGET_LINUX_EISDIR 21
- { EISDIR, TARGET_LINUX_EISDIR },
+ { "EISDIR", EISDIR, TARGET_LINUX_EISDIR },
#endif
#ifdef EINVAL
# define TARGET_LINUX_EINVAL 22
- { EINVAL, TARGET_LINUX_EINVAL },
+ { "EINVAL", EINVAL, TARGET_LINUX_EINVAL },
#endif
#ifdef ENFILE
# define TARGET_LINUX_ENFILE 23
- { ENFILE, TARGET_LINUX_ENFILE },
+ { "ENFILE", ENFILE, TARGET_LINUX_ENFILE },
#endif
#ifdef EMFILE
# define TARGET_LINUX_EMFILE 24
- { EMFILE, TARGET_LINUX_EMFILE },
+ { "EMFILE", EMFILE, TARGET_LINUX_EMFILE },
#endif
#ifdef ENOTTY
# define TARGET_LINUX_ENOTTY 25
- { ENOTTY, TARGET_LINUX_ENOTTY },
+ { "ENOTTY", ENOTTY, TARGET_LINUX_ENOTTY },
#endif
#ifdef ETXTBSY
# define TARGET_LINUX_ETXTBSY 26
- { ETXTBSY, TARGET_LINUX_ETXTBSY },
+ { "ETXTBSY", ETXTBSY, TARGET_LINUX_ETXTBSY },
#endif
#ifdef EFBIG
# define TARGET_LINUX_EFBIG 27
- { EFBIG, TARGET_LINUX_EFBIG },
+ { "EFBIG", EFBIG, TARGET_LINUX_EFBIG },
#endif
#ifdef ENOSPC
# define TARGET_LINUX_ENOSPC 28
- { ENOSPC, TARGET_LINUX_ENOSPC },
+ { "ENOSPC", ENOSPC, TARGET_LINUX_ENOSPC },
#endif
#ifdef ESPIPE
# define TARGET_LINUX_ESPIPE 29
- { ESPIPE, TARGET_LINUX_ESPIPE },
+ { "ESPIPE", ESPIPE, TARGET_LINUX_ESPIPE },
#endif
#ifdef EROFS
# define TARGET_LINUX_EROFS 30
- { EROFS, TARGET_LINUX_EROFS },
+ { "EROFS", EROFS, TARGET_LINUX_EROFS },
#endif
#ifdef EMLINK
# define TARGET_LINUX_EMLINK 31
- { EMLINK, TARGET_LINUX_EMLINK },
+ { "EMLINK", EMLINK, TARGET_LINUX_EMLINK },
#endif
#ifdef EPIPE
# define TARGET_LINUX_EPIPE 32
- { EPIPE, TARGET_LINUX_EPIPE },
+ { "EPIPE", EPIPE, TARGET_LINUX_EPIPE },
#endif
#ifdef EDOM
# define TARGET_LINUX_EDOM 33
- { EDOM, TARGET_LINUX_EDOM },
+ { "EDOM", EDOM, TARGET_LINUX_EDOM },
#endif
#ifdef ERANGE
# define TARGET_LINUX_ERANGE 34
- { ERANGE, TARGET_LINUX_ERANGE },
+ { "ERANGE", ERANGE, TARGET_LINUX_ERANGE },
#endif
#ifdef EDEADLK
# define TARGET_LINUX_EDEADLK 35
- { EDEADLK, TARGET_LINUX_EDEADLK },
+ { "EDEADLK", EDEADLK, TARGET_LINUX_EDEADLK },
#endif
#ifdef ENAMETOOLONG
# define TARGET_LINUX_ENAMETOOLONG 36
- { ENAMETOOLONG, TARGET_LINUX_ENAMETOOLONG },
+ { "ENAMETOOLONG", ENAMETOOLONG, TARGET_LINUX_ENAMETOOLONG },
#endif
#ifdef ENOLCK
# define TARGET_LINUX_ENOLCK 37
- { ENOLCK, TARGET_LINUX_ENOLCK },
+ { "ENOLCK", ENOLCK, TARGET_LINUX_ENOLCK },
#endif
#ifdef ENOSYS
# define TARGET_LINUX_ENOSYS 38
- { ENOSYS, TARGET_LINUX_ENOSYS },
+ { "ENOSYS", ENOSYS, TARGET_LINUX_ENOSYS },
#endif
#ifdef ENOTEMPTY
# define TARGET_LINUX_ENOTEMPTY 39
- { ENOTEMPTY, TARGET_LINUX_ENOTEMPTY },
+ { "ENOTEMPTY", ENOTEMPTY, TARGET_LINUX_ENOTEMPTY },
#endif
#ifdef ELOOP
# define TARGET_LINUX_ELOOP 40
- { ELOOP, TARGET_LINUX_ELOOP },
+ { "ELOOP", ELOOP, TARGET_LINUX_ELOOP },
#endif
#ifdef ENOMSG
# define TARGET_LINUX_ENOMSG 42
- { ENOMSG, TARGET_LINUX_ENOMSG },
+ { "ENOMSG", ENOMSG, TARGET_LINUX_ENOMSG },
#endif
#ifdef EIDRM
# define TARGET_LINUX_EIDRM 43
- { EIDRM, TARGET_LINUX_EIDRM },
+ { "EIDRM", EIDRM, TARGET_LINUX_EIDRM },
#endif
#ifdef ECHRNG
# define TARGET_LINUX_ECHRNG 44
- { ECHRNG, TARGET_LINUX_ECHRNG },
+ { "ECHRNG", ECHRNG, TARGET_LINUX_ECHRNG },
#endif
#ifdef EL2NSYNC
# define TARGET_LINUX_EL2NSYNC 45
- { EL2NSYNC, TARGET_LINUX_EL2NSYNC },
+ { "EL2NSYNC", EL2NSYNC, TARGET_LINUX_EL2NSYNC },
#endif
#ifdef EL3HLT
# define TARGET_LINUX_EL3HLT 46
- { EL3HLT, TARGET_LINUX_EL3HLT },
+ { "EL3HLT", EL3HLT, TARGET_LINUX_EL3HLT },
#endif
#ifdef EL3RST
# define TARGET_LINUX_EL3RST 47
- { EL3RST, TARGET_LINUX_EL3RST },
+ { "EL3RST", EL3RST, TARGET_LINUX_EL3RST },
#endif
#ifdef ELNRNG
# define TARGET_LINUX_ELNRNG 48
- { ELNRNG, TARGET_LINUX_ELNRNG },
+ { "ELNRNG", ELNRNG, TARGET_LINUX_ELNRNG },
#endif
#ifdef EUNATCH
# define TARGET_LINUX_EUNATCH 49
- { EUNATCH, TARGET_LINUX_EUNATCH },
+ { "EUNATCH", EUNATCH, TARGET_LINUX_EUNATCH },
#endif
#ifdef ENOCSI
# define TARGET_LINUX_ENOCSI 50
- { ENOCSI, TARGET_LINUX_ENOCSI },
+ { "ENOCSI", ENOCSI, TARGET_LINUX_ENOCSI },
#endif
#ifdef EL2HLT
# define TARGET_LINUX_EL2HLT 51
- { EL2HLT, TARGET_LINUX_EL2HLT },
+ { "EL2HLT", EL2HLT, TARGET_LINUX_EL2HLT },
#endif
#ifdef EBADE
# define TARGET_LINUX_EBADE 52
- { EBADE, TARGET_LINUX_EBADE },
+ { "EBADE", EBADE, TARGET_LINUX_EBADE },
#endif
#ifdef EBADR
# define TARGET_LINUX_EBADR 53
- { EBADR, TARGET_LINUX_EBADR },
+ { "EBADR", EBADR, TARGET_LINUX_EBADR },
#endif
#ifdef EXFULL
# define TARGET_LINUX_EXFULL 54
- { EXFULL, TARGET_LINUX_EXFULL },
+ { "EXFULL", EXFULL, TARGET_LINUX_EXFULL },
#endif
#ifdef ENOANO
# define TARGET_LINUX_ENOANO 55
- { ENOANO, TARGET_LINUX_ENOANO },
+ { "ENOANO", ENOANO, TARGET_LINUX_ENOANO },
#endif
#ifdef EBADRQC
# define TARGET_LINUX_EBADRQC 56
- { EBADRQC, TARGET_LINUX_EBADRQC },
+ { "EBADRQC", EBADRQC, TARGET_LINUX_EBADRQC },
#endif
#ifdef EBADSLT
# define TARGET_LINUX_EBADSLT 57
- { EBADSLT, TARGET_LINUX_EBADSLT },
+ { "EBADSLT", EBADSLT, TARGET_LINUX_EBADSLT },
#endif
#ifdef EBFONT
# define TARGET_LINUX_EBFONT 59
- { EBFONT, TARGET_LINUX_EBFONT },
+ { "EBFONT", EBFONT, TARGET_LINUX_EBFONT },
#endif
#ifdef ENOSTR
# define TARGET_LINUX_ENOSTR 60
- { ENOSTR, TARGET_LINUX_ENOSTR },
+ { "ENOSTR", ENOSTR, TARGET_LINUX_ENOSTR },
#endif
#ifdef ENODATA
# define TARGET_LINUX_ENODATA 61
- { ENODATA, TARGET_LINUX_ENODATA },
+ { "ENODATA", ENODATA, TARGET_LINUX_ENODATA },
#endif
#ifdef ETIME
# define TARGET_LINUX_ETIME 62
- { ETIME, TARGET_LINUX_ETIME },
+ { "ETIME", ETIME, TARGET_LINUX_ETIME },
#endif
#ifdef ENOSR
# define TARGET_LINUX_ENOSR 63
- { ENOSR, TARGET_LINUX_ENOSR },
+ { "ENOSR", ENOSR, TARGET_LINUX_ENOSR },
#endif
#ifdef ENONET
# define TARGET_LINUX_ENONET 64
- { ENONET, TARGET_LINUX_ENONET },
+ { "ENONET", ENONET, TARGET_LINUX_ENONET },
#endif
#ifdef ENOPKG
# define TARGET_LINUX_ENOPKG 65
- { ENOPKG, TARGET_LINUX_ENOPKG },
+ { "ENOPKG", ENOPKG, TARGET_LINUX_ENOPKG },
#endif
#ifdef EREMOTE
# define TARGET_LINUX_EREMOTE 66
- { EREMOTE, TARGET_LINUX_EREMOTE },
+ { "EREMOTE", EREMOTE, TARGET_LINUX_EREMOTE },
#endif
#ifdef ENOLINK
# define TARGET_LINUX_ENOLINK 67
- { ENOLINK, TARGET_LINUX_ENOLINK },
+ { "ENOLINK", ENOLINK, TARGET_LINUX_ENOLINK },
#endif
#ifdef EADV
# define TARGET_LINUX_EADV 68
- { EADV, TARGET_LINUX_EADV },
+ { "EADV", EADV, TARGET_LINUX_EADV },
#endif
#ifdef ESRMNT
# define TARGET_LINUX_ESRMNT 69
- { ESRMNT, TARGET_LINUX_ESRMNT },
+ { "ESRMNT", ESRMNT, TARGET_LINUX_ESRMNT },
#endif
#ifdef ECOMM
# define TARGET_LINUX_ECOMM 70
- { ECOMM, TARGET_LINUX_ECOMM },
+ { "ECOMM", ECOMM, TARGET_LINUX_ECOMM },
#endif
#ifdef EPROTO
# define TARGET_LINUX_EPROTO 71
- { EPROTO, TARGET_LINUX_EPROTO },
+ { "EPROTO", EPROTO, TARGET_LINUX_EPROTO },
#endif
#ifdef EMULTIHOP
# define TARGET_LINUX_EMULTIHOP 72
- { EMULTIHOP, TARGET_LINUX_EMULTIHOP },
+ { "EMULTIHOP", EMULTIHOP, TARGET_LINUX_EMULTIHOP },
#endif
#ifdef EDOTDOT
# define TARGET_LINUX_EDOTDOT 73
- { EDOTDOT, TARGET_LINUX_EDOTDOT },
+ { "EDOTDOT", EDOTDOT, TARGET_LINUX_EDOTDOT },
#endif
#ifdef EBADMSG
# define TARGET_LINUX_EBADMSG 74
- { EBADMSG, TARGET_LINUX_EBADMSG },
+ { "EBADMSG", EBADMSG, TARGET_LINUX_EBADMSG },
#endif
#ifdef EOVERFLOW
# define TARGET_LINUX_EOVERFLOW 75
- { EOVERFLOW, TARGET_LINUX_EOVERFLOW },
+ { "EOVERFLOW", EOVERFLOW, TARGET_LINUX_EOVERFLOW },
#endif
#ifdef ENOTUNIQ
# define TARGET_LINUX_ENOTUNIQ 76
- { ENOTUNIQ, TARGET_LINUX_ENOTUNIQ },
+ { "ENOTUNIQ", ENOTUNIQ, TARGET_LINUX_ENOTUNIQ },
#endif
#ifdef EBADFD
# define TARGET_LINUX_EBADFD 77
- { EBADFD, TARGET_LINUX_EBADFD },
+ { "EBADFD", EBADFD, TARGET_LINUX_EBADFD },
#endif
#ifdef EREMCHG
# define TARGET_LINUX_EREMCHG 78
- { EREMCHG, TARGET_LINUX_EREMCHG },
+ { "EREMCHG", EREMCHG, TARGET_LINUX_EREMCHG },
#endif
#ifdef ELIBACC
# define TARGET_LINUX_ELIBACC 79
- { ELIBACC, TARGET_LINUX_ELIBACC },
+ { "ELIBACC", ELIBACC, TARGET_LINUX_ELIBACC },
#endif
#ifdef ELIBBAD
# define TARGET_LINUX_ELIBBAD 80
- { ELIBBAD, TARGET_LINUX_ELIBBAD },
+ { "ELIBBAD", ELIBBAD, TARGET_LINUX_ELIBBAD },
#endif
#ifdef ELIBSCN
# define TARGET_LINUX_ELIBSCN 81
- { ELIBSCN, TARGET_LINUX_ELIBSCN },
+ { "ELIBSCN", ELIBSCN, TARGET_LINUX_ELIBSCN },
#endif
#ifdef ELIBMAX
# define TARGET_LINUX_ELIBMAX 82
- { ELIBMAX, TARGET_LINUX_ELIBMAX },
+ { "ELIBMAX", ELIBMAX, TARGET_LINUX_ELIBMAX },
#endif
#ifdef ELIBEXEC
# define TARGET_LINUX_ELIBEXEC 83
- { ELIBEXEC, TARGET_LINUX_ELIBEXEC },
+ { "ELIBEXEC", ELIBEXEC, TARGET_LINUX_ELIBEXEC },
#endif
#ifdef EILSEQ
# define TARGET_LINUX_EILSEQ 84
- { EILSEQ, TARGET_LINUX_EILSEQ },
+ { "EILSEQ", EILSEQ, TARGET_LINUX_EILSEQ },
#endif
#ifdef ERESTART
# define TARGET_LINUX_ERESTART 85
- { ERESTART, TARGET_LINUX_ERESTART },
+ { "ERESTART", ERESTART, TARGET_LINUX_ERESTART },
#endif
#ifdef ESTRPIPE
# define TARGET_LINUX_ESTRPIPE 86
- { ESTRPIPE, TARGET_LINUX_ESTRPIPE },
+ { "ESTRPIPE", ESTRPIPE, TARGET_LINUX_ESTRPIPE },
#endif
#ifdef EUSERS
# define TARGET_LINUX_EUSERS 87
- { EUSERS, TARGET_LINUX_EUSERS },
+ { "EUSERS", EUSERS, TARGET_LINUX_EUSERS },
#endif
#ifdef ENOTSOCK
# define TARGET_LINUX_ENOTSOCK 88
- { ENOTSOCK, TARGET_LINUX_ENOTSOCK },
+ { "ENOTSOCK", ENOTSOCK, TARGET_LINUX_ENOTSOCK },
#endif
#ifdef EDESTADDRREQ
# define TARGET_LINUX_EDESTADDRREQ 89
- { EDESTADDRREQ, TARGET_LINUX_EDESTADDRREQ },
+ { "EDESTADDRREQ", EDESTADDRREQ, TARGET_LINUX_EDESTADDRREQ },
#endif
#ifdef EMSGSIZE
# define TARGET_LINUX_EMSGSIZE 90
- { EMSGSIZE, TARGET_LINUX_EMSGSIZE },
+ { "EMSGSIZE", EMSGSIZE, TARGET_LINUX_EMSGSIZE },
#endif
#ifdef EPROTOTYPE
# define TARGET_LINUX_EPROTOTYPE 91
- { EPROTOTYPE, TARGET_LINUX_EPROTOTYPE },
+ { "EPROTOTYPE", EPROTOTYPE, TARGET_LINUX_EPROTOTYPE },
#endif
#ifdef ENOPROTOOPT
# define TARGET_LINUX_ENOPROTOOPT 92
- { ENOPROTOOPT, TARGET_LINUX_ENOPROTOOPT },
+ { "ENOPROTOOPT", ENOPROTOOPT, TARGET_LINUX_ENOPROTOOPT },
#endif
#ifdef EPROTONOSUPPORT
# define TARGET_LINUX_EPROTONOSUPPORT 93
- { EPROTONOSUPPORT, TARGET_LINUX_EPROTONOSUPPORT },
+ { "EPROTONOSUPPORT", EPROTONOSUPPORT, TARGET_LINUX_EPROTONOSUPPORT },
#endif
#ifdef ESOCKTNOSUPPORT
# define TARGET_LINUX_ESOCKTNOSUPPORT 94
- { ESOCKTNOSUPPORT, TARGET_LINUX_ESOCKTNOSUPPORT },
+ { "ESOCKTNOSUPPORT", ESOCKTNOSUPPORT, TARGET_LINUX_ESOCKTNOSUPPORT },
#endif
#ifdef EOPNOTSUPP
# define TARGET_LINUX_EOPNOTSUPP 95
- { EOPNOTSUPP, TARGET_LINUX_EOPNOTSUPP },
+ { "EOPNOTSUPP", EOPNOTSUPP, TARGET_LINUX_EOPNOTSUPP },
#endif
#ifdef EPFNOSUPPORT
# define TARGET_LINUX_EPFNOSUPPORT 96
- { EPFNOSUPPORT, TARGET_LINUX_EPFNOSUPPORT },
+ { "EPFNOSUPPORT", EPFNOSUPPORT, TARGET_LINUX_EPFNOSUPPORT },
#endif
#ifdef EAFNOSUPPORT
# define TARGET_LINUX_EAFNOSUPPORT 97
- { EAFNOSUPPORT, TARGET_LINUX_EAFNOSUPPORT },
+ { "EAFNOSUPPORT", EAFNOSUPPORT, TARGET_LINUX_EAFNOSUPPORT },
#endif
#ifdef EADDRINUSE
# define TARGET_LINUX_EADDRINUSE 98
- { EADDRINUSE, TARGET_LINUX_EADDRINUSE },
+ { "EADDRINUSE", EADDRINUSE, TARGET_LINUX_EADDRINUSE },
#endif
#ifdef EADDRNOTAVAIL
# define TARGET_LINUX_EADDRNOTAVAIL 99
- { EADDRNOTAVAIL, TARGET_LINUX_EADDRNOTAVAIL },
+ { "EADDRNOTAVAIL", EADDRNOTAVAIL, TARGET_LINUX_EADDRNOTAVAIL },
#endif
#ifdef ENETDOWN
# define TARGET_LINUX_ENETDOWN 100
- { ENETDOWN, TARGET_LINUX_ENETDOWN },
+ { "ENETDOWN", ENETDOWN, TARGET_LINUX_ENETDOWN },
#endif
#ifdef ENETUNREACH
# define TARGET_LINUX_ENETUNREACH 101
- { ENETUNREACH, TARGET_LINUX_ENETUNREACH },
+ { "ENETUNREACH", ENETUNREACH, TARGET_LINUX_ENETUNREACH },
#endif
#ifdef ENETRESET
# define TARGET_LINUX_ENETRESET 102
- { ENETRESET, TARGET_LINUX_ENETRESET },
+ { "ENETRESET", ENETRESET, TARGET_LINUX_ENETRESET },
#endif
#ifdef ECONNABORTED
# define TARGET_LINUX_ECONNABORTED 103
- { ECONNABORTED, TARGET_LINUX_ECONNABORTED },
+ { "ECONNABORTED", ECONNABORTED, TARGET_LINUX_ECONNABORTED },
#endif
#ifdef ECONNRESET
# define TARGET_LINUX_ECONNRESET 104
- { ECONNRESET, TARGET_LINUX_ECONNRESET },
+ { "ECONNRESET", ECONNRESET, TARGET_LINUX_ECONNRESET },
#endif
#ifdef ENOBUFS
# define TARGET_LINUX_ENOBUFS 105
- { ENOBUFS, TARGET_LINUX_ENOBUFS },
+ { "ENOBUFS", ENOBUFS, TARGET_LINUX_ENOBUFS },
#endif
#ifdef EISCONN
# define TARGET_LINUX_EISCONN 106
- { EISCONN, TARGET_LINUX_EISCONN },
+ { "EISCONN", EISCONN, TARGET_LINUX_EISCONN },
#endif
#ifdef ENOTCONN
# define TARGET_LINUX_ENOTCONN 107
- { ENOTCONN, TARGET_LINUX_ENOTCONN },
+ { "ENOTCONN", ENOTCONN, TARGET_LINUX_ENOTCONN },
#endif
#ifdef ESHUTDOWN
# define TARGET_LINUX_ESHUTDOWN 108
- { ESHUTDOWN, TARGET_LINUX_ESHUTDOWN },
+ { "ESHUTDOWN", ESHUTDOWN, TARGET_LINUX_ESHUTDOWN },
#endif
#ifdef ETOOMANYREFS
# define TARGET_LINUX_ETOOMANYREFS 109
- { ETOOMANYREFS, TARGET_LINUX_ETOOMANYREFS },
+ { "ETOOMANYREFS", ETOOMANYREFS, TARGET_LINUX_ETOOMANYREFS },
#endif
#ifdef ETIMEDOUT
# define TARGET_LINUX_ETIMEDOUT 110
- { ETIMEDOUT, TARGET_LINUX_ETIMEDOUT },
+ { "ETIMEDOUT", ETIMEDOUT, TARGET_LINUX_ETIMEDOUT },
#endif
#ifdef ECONNREFUSED
# define TARGET_LINUX_ECONNREFUSED 111
- { ECONNREFUSED, TARGET_LINUX_ECONNREFUSED },
+ { "ECONNREFUSED", ECONNREFUSED, TARGET_LINUX_ECONNREFUSED },
#endif
#ifdef EHOSTDOWN
# define TARGET_LINUX_EHOSTDOWN 112
- { EHOSTDOWN, TARGET_LINUX_EHOSTDOWN },
+ { "EHOSTDOWN", EHOSTDOWN, TARGET_LINUX_EHOSTDOWN },
#endif
#ifdef EHOSTUNREACH
# define TARGET_LINUX_EHOSTUNREACH 113
- { EHOSTUNREACH, TARGET_LINUX_EHOSTUNREACH },
+ { "EHOSTUNREACH", EHOSTUNREACH, TARGET_LINUX_EHOSTUNREACH },
#endif
#ifdef EALREADY
# define TARGET_LINUX_EALREADY 114
- { EALREADY, TARGET_LINUX_EALREADY },
+ { "EALREADY", EALREADY, TARGET_LINUX_EALREADY },
#endif
#ifdef EINPROGRESS
# define TARGET_LINUX_EINPROGRESS 115
- { EINPROGRESS, TARGET_LINUX_EINPROGRESS },
+ { "EINPROGRESS", EINPROGRESS, TARGET_LINUX_EINPROGRESS },
#endif
#ifdef ESTALE
# define TARGET_LINUX_ESTALE 116
- { ESTALE, TARGET_LINUX_ESTALE },
+ { "ESTALE", ESTALE, TARGET_LINUX_ESTALE },
#endif
#ifdef EUCLEAN
# define TARGET_LINUX_EUCLEAN 117
- { EUCLEAN, TARGET_LINUX_EUCLEAN },
+ { "EUCLEAN", EUCLEAN, TARGET_LINUX_EUCLEAN },
#endif
#ifdef ENOTNAM
# define TARGET_LINUX_ENOTNAM 118
- { ENOTNAM, TARGET_LINUX_ENOTNAM },
+ { "ENOTNAM", ENOTNAM, TARGET_LINUX_ENOTNAM },
#endif
#ifdef ENAVAIL
# define TARGET_LINUX_ENAVAIL 119
- { ENAVAIL, TARGET_LINUX_ENAVAIL },
+ { "ENAVAIL", ENAVAIL, TARGET_LINUX_ENAVAIL },
#endif
#ifdef EISNAM
# define TARGET_LINUX_EISNAM 120
- { EISNAM, TARGET_LINUX_EISNAM },
+ { "EISNAM", EISNAM, TARGET_LINUX_EISNAM },
#endif
#ifdef EREMOTEIO
# define TARGET_LINUX_EREMOTEIO 121
- { EREMOTEIO, TARGET_LINUX_EREMOTEIO },
+ { "EREMOTEIO", EREMOTEIO, TARGET_LINUX_EREMOTEIO },
#endif
#ifdef EDQUOT
# define TARGET_LINUX_EDQUOT 122
- { EDQUOT, TARGET_LINUX_EDQUOT },
+ { "EDQUOT", EDQUOT, TARGET_LINUX_EDQUOT },
#endif
#ifdef ENOMEDIUM
# define TARGET_LINUX_ENOMEDIUM 123
- { ENOMEDIUM, TARGET_LINUX_ENOMEDIUM },
+ { "ENOMEDIUM", ENOMEDIUM, TARGET_LINUX_ENOMEDIUM },
#endif
#ifdef EMEDIUMTYPE
# define TARGET_LINUX_EMEDIUMTYPE 124
- { EMEDIUMTYPE, TARGET_LINUX_EMEDIUMTYPE },
+ { "EMEDIUMTYPE", EMEDIUMTYPE, TARGET_LINUX_EMEDIUMTYPE },
#endif
#ifdef ECANCELED
# define TARGET_LINUX_ECANCELED 125
- { ECANCELED, TARGET_LINUX_ECANCELED },
+ { "ECANCELED", ECANCELED, TARGET_LINUX_ECANCELED },
#endif
#ifdef EOWNERDEAD
# define TARGET_LINUX_EOWNERDEAD 130
- { EOWNERDEAD, TARGET_LINUX_EOWNERDEAD },
+ { "EOWNERDEAD", EOWNERDEAD, TARGET_LINUX_EOWNERDEAD },
#endif
#ifdef ENOTRECOVERABLE
# define TARGET_LINUX_ENOTRECOVERABLE 131
- { ENOTRECOVERABLE, TARGET_LINUX_ENOTRECOVERABLE },
+ { "ENOTRECOVERABLE", ENOTRECOVERABLE, TARGET_LINUX_ENOTRECOVERABLE },
#endif
- { 0, 0 }
+ { 0, 0, 0 }
};
static CB_TARGET_DEFS_MAP cb_linux_open_map[] =
{
#ifdef O_ACCMODE
# define TARGET_LINUX_O_ACCMODE 0003
- { O_ACCMODE, TARGET_LINUX_O_ACCMODE },
+ { "O_ACCMODE", O_ACCMODE, TARGET_LINUX_O_ACCMODE },
#endif
#ifdef O_RDONLY
# define TARGET_LINUX_O_RDONLY 00
- { O_RDONLY, TARGET_LINUX_O_RDONLY },
+ { "O_RDONLY", O_RDONLY, TARGET_LINUX_O_RDONLY },
#endif
#ifdef O_WRONLY
# define TARGET_LINUX_O_WRONLY 01
- { O_WRONLY, TARGET_LINUX_O_WRONLY },
+ { "O_WRONLY", O_WRONLY, TARGET_LINUX_O_WRONLY },
#endif
#ifdef O_RDWR
# define TARGET_LINUX_O_RDWR 02
- { O_RDWR, TARGET_LINUX_O_RDWR },
+ { "O_RDWR", O_RDWR, TARGET_LINUX_O_RDWR },
#endif
#ifdef O_CREAT
# define TARGET_LINUX_O_CREAT 0100
- { O_CREAT, TARGET_LINUX_O_CREAT },
+ { "O_CREAT", O_CREAT, TARGET_LINUX_O_CREAT },
#endif
#ifdef O_EXCL
# define TARGET_LINUX_O_EXCL 0200
- { O_EXCL, TARGET_LINUX_O_EXCL },
+ { "O_EXCL", O_EXCL, TARGET_LINUX_O_EXCL },
#endif
#ifdef O_NOCTTY
# define TARGET_LINUX_O_NOCTTY 0400
- { O_NOCTTY, TARGET_LINUX_O_NOCTTY },
+ { "O_NOCTTY", O_NOCTTY, TARGET_LINUX_O_NOCTTY },
#endif
#ifdef O_TRUNC
# define TARGET_LINUX_O_TRUNC 01000
- { O_TRUNC, TARGET_LINUX_O_TRUNC },
+ { "O_TRUNC", O_TRUNC, TARGET_LINUX_O_TRUNC },
#endif
#ifdef O_APPEND
# define TARGET_LINUX_O_APPEND 02000
- { O_APPEND, TARGET_LINUX_O_APPEND },
+ { "O_APPEND", O_APPEND, TARGET_LINUX_O_APPEND },
#endif
#ifdef O_NONBLOCK
# define TARGET_LINUX_O_NONBLOCK 04000
- { O_NONBLOCK, TARGET_LINUX_O_NONBLOCK },
+ { "O_NONBLOCK", O_NONBLOCK, TARGET_LINUX_O_NONBLOCK },
#endif
#ifdef O_SYNC
# define TARGET_LINUX_O_SYNC 010000
- { O_SYNC, TARGET_LINUX_O_SYNC },
+ { "O_SYNC", O_SYNC, TARGET_LINUX_O_SYNC },
#endif
#ifdef O_ASYNC
# define TARGET_LINUX_O_ASYNC 020000
- { O_ASYNC, TARGET_LINUX_O_ASYNC },
+ { "O_ASYNC", O_ASYNC, TARGET_LINUX_O_ASYNC },
#endif
- { -1, -1 }
+ { 0, -1, -1 }
};
static CB_TARGET_DEFS_MAP cb_linux_signal_map[] =
{
#ifdef SIGHUP
# define TARGET_LINUX_SIGHUP 1
- { SIGHUP, TARGET_LINUX_SIGHUP },
+ { "SIGHUP", SIGHUP, TARGET_LINUX_SIGHUP },
#endif
#ifdef SIGINT
# define TARGET_LINUX_SIGINT 2
- { SIGINT, TARGET_LINUX_SIGINT },
+ { "SIGINT", SIGINT, TARGET_LINUX_SIGINT },
#endif
#ifdef SIGQUIT
# define TARGET_LINUX_SIGQUIT 3
- { SIGQUIT, TARGET_LINUX_SIGQUIT },
+ { "SIGQUIT", SIGQUIT, TARGET_LINUX_SIGQUIT },
#endif
#ifdef SIGILL
# define TARGET_LINUX_SIGILL 4
- { SIGILL, TARGET_LINUX_SIGILL },
+ { "SIGILL", SIGILL, TARGET_LINUX_SIGILL },
#endif
#ifdef SIGTRAP
# define TARGET_LINUX_SIGTRAP 5
- { SIGTRAP, TARGET_LINUX_SIGTRAP },
+ { "SIGTRAP", SIGTRAP, TARGET_LINUX_SIGTRAP },
#endif
#ifdef SIGABRT
# define TARGET_LINUX_SIGABRT 6
- { SIGABRT, TARGET_LINUX_SIGABRT },
+ { "SIGABRT", SIGABRT, TARGET_LINUX_SIGABRT },
#endif
#ifdef SIGIOT
# define TARGET_LINUX_SIGIOT 6
- { SIGIOT, TARGET_LINUX_SIGIOT },
+ { "SIGIOT", SIGIOT, TARGET_LINUX_SIGIOT },
#endif
#ifdef SIGBUS
# define TARGET_LINUX_SIGBUS 7
- { SIGBUS, TARGET_LINUX_SIGBUS },
+ { "SIGBUS", SIGBUS, TARGET_LINUX_SIGBUS },
#endif
#ifdef SIGFPE
# define TARGET_LINUX_SIGFPE 8
- { SIGFPE, TARGET_LINUX_SIGFPE },
+ { "SIGFPE", SIGFPE, TARGET_LINUX_SIGFPE },
#endif
#ifdef SIGKILL
# define TARGET_LINUX_SIGKILL 9
- { SIGKILL, TARGET_LINUX_SIGKILL },
+ { "SIGKILL", SIGKILL, TARGET_LINUX_SIGKILL },
#endif
#ifdef SIGUSR1
# define TARGET_LINUX_SIGUSR1 10
- { SIGUSR1, TARGET_LINUX_SIGUSR1 },
+ { "SIGUSR1", SIGUSR1, TARGET_LINUX_SIGUSR1 },
#endif
#ifdef SIGSEGV
# define TARGET_LINUX_SIGSEGV 11
- { SIGSEGV, TARGET_LINUX_SIGSEGV },
+ { "SIGSEGV", SIGSEGV, TARGET_LINUX_SIGSEGV },
#endif
#ifdef SIGUSR2
# define TARGET_LINUX_SIGUSR2 12
- { SIGUSR2, TARGET_LINUX_SIGUSR2 },
+ { "SIGUSR2", SIGUSR2, TARGET_LINUX_SIGUSR2 },
#endif
#ifdef SIGPIPE
# define TARGET_LINUX_SIGPIPE 13
- { SIGPIPE, TARGET_LINUX_SIGPIPE },
+ { "SIGPIPE", SIGPIPE, TARGET_LINUX_SIGPIPE },
#endif
#ifdef SIGALRM
# define TARGET_LINUX_SIGALRM 14
- { SIGALRM, TARGET_LINUX_SIGALRM },
+ { "SIGALRM", SIGALRM, TARGET_LINUX_SIGALRM },
#endif
#ifdef SIGTERM
# define TARGET_LINUX_SIGTERM 15
- { SIGTERM, TARGET_LINUX_SIGTERM },
+ { "SIGTERM", SIGTERM, TARGET_LINUX_SIGTERM },
#endif
#ifdef SIGSTKFLT
# define TARGET_LINUX_SIGSTKFLT 16
- { SIGSTKFLT, TARGET_LINUX_SIGSTKFLT },
+ { "SIGSTKFLT", SIGSTKFLT, TARGET_LINUX_SIGSTKFLT },
#endif
#ifdef SIGCHLD
# define TARGET_LINUX_SIGCHLD 17
- { SIGCHLD, TARGET_LINUX_SIGCHLD },
+ { "SIGCHLD", SIGCHLD, TARGET_LINUX_SIGCHLD },
#endif
#ifdef SIGCONT
# define TARGET_LINUX_SIGCONT 18
- { SIGCONT, TARGET_LINUX_SIGCONT },
+ { "SIGCONT", SIGCONT, TARGET_LINUX_SIGCONT },
#endif
#ifdef SIGSTOP
# define TARGET_LINUX_SIGSTOP 19
- { SIGSTOP, TARGET_LINUX_SIGSTOP },
+ { "SIGSTOP", SIGSTOP, TARGET_LINUX_SIGSTOP },
#endif
#ifdef SIGTSTP
# define TARGET_LINUX_SIGTSTP 20
- { SIGTSTP, TARGET_LINUX_SIGTSTP },
+ { "SIGTSTP", SIGTSTP, TARGET_LINUX_SIGTSTP },
#endif
#ifdef SIGTTIN
# define TARGET_LINUX_SIGTTIN 21
- { SIGTTIN, TARGET_LINUX_SIGTTIN },
+ { "SIGTTIN", SIGTTIN, TARGET_LINUX_SIGTTIN },
#endif
#ifdef SIGTTOU
# define TARGET_LINUX_SIGTTOU 22
- { SIGTTOU, TARGET_LINUX_SIGTTOU },
+ { "SIGTTOU", SIGTTOU, TARGET_LINUX_SIGTTOU },
#endif
#ifdef SIGURG
# define TARGET_LINUX_SIGURG 23
- { SIGURG, TARGET_LINUX_SIGURG },
+ { "SIGURG", SIGURG, TARGET_LINUX_SIGURG },
#endif
#ifdef SIGXCPU
# define TARGET_LINUX_SIGXCPU 24
- { SIGXCPU, TARGET_LINUX_SIGXCPU },
+ { "SIGXCPU", SIGXCPU, TARGET_LINUX_SIGXCPU },
#endif
#ifdef SIGXFSZ
# define TARGET_LINUX_SIGXFSZ 25
- { SIGXFSZ, TARGET_LINUX_SIGXFSZ },
+ { "SIGXFSZ", SIGXFSZ, TARGET_LINUX_SIGXFSZ },
#endif
#ifdef SIGVTALRM
# define TARGET_LINUX_SIGVTALRM 26
- { SIGVTALRM, TARGET_LINUX_SIGVTALRM },
+ { "SIGVTALRM", SIGVTALRM, TARGET_LINUX_SIGVTALRM },
#endif
#ifdef SIGPROF
# define TARGET_LINUX_SIGPROF 27
- { SIGPROF, TARGET_LINUX_SIGPROF },
+ { "SIGPROF", SIGPROF, TARGET_LINUX_SIGPROF },
#endif
#ifdef SIGWINCH
# define TARGET_LINUX_SIGWINCH 28
- { SIGWINCH, TARGET_LINUX_SIGWINCH },
+ { "SIGWINCH", SIGWINCH, TARGET_LINUX_SIGWINCH },
#endif
#ifdef SIGIO
# define TARGET_LINUX_SIGIO 29
- { SIGIO, TARGET_LINUX_SIGIO },
+ { "SIGIO", SIGIO, TARGET_LINUX_SIGIO },
#endif
#ifdef SIGPWR
# define TARGET_LINUX_SIGPWR 30
- { SIGPWR, TARGET_LINUX_SIGPWR },
+ { "SIGPWR", SIGPWR, TARGET_LINUX_SIGPWR },
#endif
#ifdef SIGSYS
# define TARGET_LINUX_SIGSYS 31
- { SIGSYS, TARGET_LINUX_SIGSYS },
+ { "SIGSYS", SIGSYS, TARGET_LINUX_SIGSYS },
#endif
#ifdef SIGUNUSED
# define TARGET_LINUX_SIGUNUSED 31
- { SIGUNUSED, TARGET_LINUX_SIGUNUSED },
+ { "SIGUNUSED", SIGUNUSED, TARGET_LINUX_SIGUNUSED },
#endif
#ifdef SIG_BLOCK
# define TARGET_LINUX_SIG_BLOCK 0
- { SIG_BLOCK, TARGET_LINUX_SIG_BLOCK },
+ { "SIG_BLOCK", SIG_BLOCK, TARGET_LINUX_SIG_BLOCK },
#endif
#ifdef SIG_UNBLOCK
# define TARGET_LINUX_SIG_UNBLOCK 1
- { SIG_UNBLOCK, TARGET_LINUX_SIG_UNBLOCK },
+ { "SIG_UNBLOCK", SIG_UNBLOCK, TARGET_LINUX_SIG_UNBLOCK },
#endif
#ifdef SIG_SETMASK
# define TARGET_LINUX_SIG_SETMASK 2
- { SIG_SETMASK, TARGET_LINUX_SIG_SETMASK },
+ { "SIG_SETMASK", SIG_SETMASK, TARGET_LINUX_SIG_SETMASK },
#endif
#ifdef SIGSTKSZ
# define TARGET_LINUX_SIGSTKSZ 8192
- { SIGSTKSZ, TARGET_LINUX_SIGSTKSZ },
+ { "SIGSTKSZ", SIGSTKSZ, TARGET_LINUX_SIGSTKSZ },
#endif
- { -1, -1 }
+ { 0, -1, -1 }
};
diff --git a/sim/bfin/sim-main.h b/sim/bfin/sim-main.h
index a3e4230b0ea..806fe157757 100644
--- a/sim/bfin/sim-main.h
+++ b/sim/bfin/sim-main.h
@@ -65,44 +65,22 @@ struct sim_state {
#define CLAMP(a, b, c) MIN (MAX (a, b), c)
#define ALIGN(addr, size) (((addr) + ((size)-1)) & ~((size)-1))
-#define MAYBE_TRACE(type, cpu, fmt, ...) \
+/* TODO: Move all this trace logic to the common code. */
+#define BFIN_TRACE_CORE(cpu, addr, size, map, val) \
do { \
- if (TRACE_##type##_P (cpu)) \
- trace_generic (CPU_STATE (cpu), cpu, TRACE_##type##_IDX, \
- fmt, ## __VA_ARGS__); \
- } while (0)
-#define TRACE_INSN(cpu, fmt, ...) MAYBE_TRACE (INSN, cpu, fmt, ## __VA_ARGS__)
-#define TRACE_DECODE(cpu, fmt, ...) MAYBE_TRACE (DECODE, cpu, fmt, ## __VA_ARGS__)
-#define TRACE_EXTRACT(cpu, fmt, ...) MAYBE_TRACE (EXTRACT, cpu, fmt, ## __VA_ARGS__)
-#define TRACE_SYSCALL(cpu, fmt, ...) MAYBE_TRACE (SYSCALL, cpu, fmt, ## __VA_ARGS__)
-#define TRACE_CORE(cpu, addr, size, map, val) \
- do { \
- MAYBE_TRACE (CORE, cpu, "%cBUS %s %i bytes @ 0x%08x: 0x%0*x", \
- map == exec_map ? 'I' : 'D', \
- map == write_map ? "STORE" : "FETCH", \
- size, addr, size * 2, val); \
+ TRACE_CORE (cpu, "%cBUS %s %i bytes @ 0x%08x: 0x%0*x", \
+ map == exec_map ? 'I' : 'D', \
+ map == write_map ? "STORE" : "FETCH", \
+ size, addr, size * 2, val); \
PROFILE_COUNT_CORE (cpu, addr, size, map); \
} while (0)
-#define TRACE_EVENTS(cpu, fmt, ...) MAYBE_TRACE (EVENTS, cpu, fmt, ## __VA_ARGS__)
-#define TRACE_BRANCH(cpu, oldpc, newpc, hwloop, fmt, ...) \
+#define BFIN_TRACE_BRANCH(cpu, oldpc, newpc, hwloop, fmt, ...) \
do { \
- MAYBE_TRACE (BRANCH, cpu, fmt " to %#x", ## __VA_ARGS__, newpc); \
+ TRACE_BRANCH (cpu, fmt " to %#x", ## __VA_ARGS__, newpc); \
if (STATE_ENVIRONMENT (CPU_STATE (cpu)) == OPERATING_ENVIRONMENT) \
bfin_trace_queue (cpu, oldpc, newpc, hwloop); \
} while (0)
-extern void trace_register (SIM_DESC sd,
- sim_cpu *cpu,
- const char *fmt,
- ...)
- __attribute__((format (printf, 3, 4)));
-#define TRACE_REGISTER(cpu, fmt, ...) \
- do { \
- if (TRACE_CORE_P (cpu)) \
- trace_register (CPU_STATE (cpu), cpu, fmt, ## __VA_ARGS__); \
- } while (0)
-#define TRACE_REG(cpu, reg, val) TRACE_REGISTER (cpu, "wrote "#reg" = %#x", val)
-
/* Default memory size. */
#define BFIN_DEFAULT_MEM_SIZE (128 * 1024 * 1024)
diff --git a/sim/common/ChangeLog b/sim/common/ChangeLog
index ebf8618d98a..ffb7ea8a0f0 100644
--- a/sim/common/ChangeLog
+++ b/sim/common/ChangeLog
@@ -1,9 +1,248 @@
+2015-06-24 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-trace.c (trace_one_insn): Delete.
+ * sim-trace.h (trace_one_insn): Delete.
+
+2015-06-24 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-trace.c (debug_printf): Rename to ...
+ (sim_debug_printf): ... this.
+ * sim-trace.h (debug_printf): Delete define.
+ (debug_printf): Rename to ...
+ (sim_debug_printf): ... this.
+
+2015-06-24 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-trace.c (OPTION_TRACE_REGISTER): New enum.
+ (trace_options): Add trace-register option.
+ (trace_option_handler): Handle OPTION_TRACE_REGISTER case.
+ (trace_idx_to_str): Handle TRACE_REGISTER_IDX case and re-indent.
+ * sim-trace.h (TRACE_REGISTER_IDX): New enum.
+ (TRACE_register, WITH_TRACE_REGISTER_P, STRACE_REGISTER_P,
+ TRACE_REGISTER_P, TRACE_REGISTER): Define.
+
+2015-06-24 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-trace.h (STRACE, STRACE_INSN, STRACE_DECODE, STRACE_EXTRACT,
+ STRACE_LINENUM, STRACE_MEMORY, STRACE_MODEL, STRACE_ALU, STRACE_CORE,
+ STRACE_EVENTS, STRACE_FPU, STRACE_VPU, STRACE_BRANCH, STRACE_SYSCALL,
+ STRACE_DEBUG): Define.
+
+2015-06-24 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-trace.c (trace_options): Update help text for trace-alu,
+ trace-fpu, trace-vpu, and trace-semantics.
+ * sim-trace.h (TRACE_ALU_IDX): Update comment text.
+ (TRACE_FPU_IDX, TRACE_VPU_IDX): Likewise.
+
+2015-06-24 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-assert.h (SIM_FILTER_PATH): Delete.
+ [!SIM_ASSERT, WITH_ASSERT]: Include libiberty.h.
+ (SIM_ASSERT): Replace SIM_FILTER_PATH with lbasename.
+ [!ASSERT, WITH_ASSERT]: Include libiberty.h.
+ (ASSERT): Replace SIM_FILTER_PATH with lbasename.
+ * sim-events.c: Include libiberty.h.
+ (ETRACE): Replace SIM_FILTER_PATH with lbasename.
+
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * acinclude.m4 (AC_ARG_ENABLE(sim-bswap)): Call AS_HELP_STRING.
+ (AC_ARG_ENABLE(sim-cflags)): Likewise.
+ (AC_ARG_ENABLE(sim-debug)): Likewise.
+ (AC_ARG_ENABLE(sim-stdio)): Likewise.
+ (AC_ARG_ENABLE(sim-trace)): Likewise.
+ (AC_ARG_ENABLE(sim-profile)): Likewise.
+ (AC_ARG_ENABLE(sim-environment)): Likewise.
+ (AC_ARG_ENABLE(sim-alignment)): Likewise.
+ (AC_ARG_ENABLE(sim-assert)): Likewise.
+ (AC_ARG_ENABLE(sim-bitsize)): Likewise.
+ (AC_ARG_ENABLE(sim-endian)): Likewise.
+ (AC_ARG_ENABLE(sim-hostendian)): Likewise.
+ (AC_ARG_ENABLE(sim-float)): Likewise.
+ (AC_ARG_ENABLE(sim-scache)): Likewise.
+ (AC_ARG_ENABLE(sim-default-model)): Likewise.
+ (AC_ARG_ENABLE(sim-inline)): Likewise.
+ (AC_ARG_ENABLE(sim-packages)): Likewise.
+ (AC_ARG_ENABLE(sim-regparm)): Likewise.
+ (AC_ARG_ENABLE(sim-reserved-bits)): Likewise.
+ (AC_ARG_ENABLE(sim-smp)): Likewise.
+ (AC_ARG_ENABLE(sim-stdcall)): Likewise.
+ (AC_ARG_ENABLE(sim-xor-endian)): Likewise.
+ (AC_ARG_ENABLE(cgen-maint)): Likewise.
+ * configure: Regenerate.
+
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-config.h (WITH_TRACE): Define to ~TRACE_debug.
+
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * cgen-trace.c [!__STDC__]: Delete.
+ * sim-trace.h [!__STDC__]: Likewise.
+
+2015-06-21 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-model.c (sim_model_init): Assert model is not NULL.
+
+2015-06-21 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-types.h: Move SIM_TYPES_H define to top of file. Include
+ stdint.h. Replace all signed/unsigned typedefs with int#_t and
+ uint#_t.
+
+2015-06-21 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-alu.h (_SIM_ALU_H_): Rename to ...
+ (SIM_ALU_H): ... this.
+ * sim-assert.h (_SIM_ASSERT_H_): Rename to ...
+ (SIM_ASSERT_H): ... this.
+ * sim-basics.h (_SIM_BASICS_H_): Rename to ...
+ (SIM_BASICS_H): ... this.
+ * sim-bits.h (_SIM_BITS_H_): Rename to ...
+ (SIM_BITS_H): ... this.
+ * sim-endian.h (_SIM_ENDIAN_H_): Rename to ...
+ (SIM_ENDIAN_H): ... this.
+
+2015-06-18 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-syscall.c (sim_syscall_multi): Change unknown_syscall to a
+ constant string.
+
+2015-06-18 Mike Frysinger <vapier@gentoo.org>
+
+ * callback.c (cb_target_map_entry, cb_host_map_entry): Change map to
+ m for sentinel testing.
+
+2015-06-17 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-syscall.c: Include errno.h and targ-vals.h.
+ (sim_syscall_multi, sim_syscall): Define.
+ * sim-syscall.h (sim_syscall_multi, sim_syscall): Declare.
+ * syscall.c (cb_syscall): Extend comment.
+
+2015-06-17 Mike Frysinger <vapier@gentoo.org>
+
+ * Make-common.in (SIM_NEW_COMMON_OBJS): Add sim-syscall.o.
+ * sim-syscall.c: New file.
+ * sim-syscall.h: New file.
+
+2015-06-17 Mike Frysinger <vapier@gentoo.org>
+
+ * callback.c (cb_target_map_entry, cb_host_map_entry): Define.
+ (cb_target_to_host_syscall): Rewrite to use cb_target_map_entry.
+ (cb_host_to_target_errno): Rewrite to use cb_host_map_entry.
+ (cb_host_str_syscall, cb_host_str_errno, cb_host_str_signal,
+ cb_target_str_syscall, cb_target_str_errno, cb_target_str_signal):
+ Define.
+ * gentmap.c (gen_targ_map_c): Output name field.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * acinclude.m4: Change configure.in to configure.ac.
+ * sim-config.h: Likewise.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * acinclude.m4 (sim-trace): Delete -DTRACE flags.
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-trace.h (TRACE, TRACE_INSN, TRACE_DECODE, TRACE_EXTRACT,
+ TRACE_LINENUM, TRACE_MEMORY, TRACE_MODEL, TRACE_ALU, TRACE_CORE,
+ TRACE_EVENTS, TRACE_FPU, TRACE_VPU, TRACE_BRANCH, TRACE_SYSCALL,
+ TRACE_DEBUG): Define.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-module.c (modules): Change WITH_TRACE to WITH_TRACE_ANY_P.
+ * sim-trace.c (trace_option_handler): Likewise.
+ * sim-trace.h (WITH_TRACE_ANY_P): Define.
+ (STRACE_ANY_P): Use WITH_TRACE_ANY_P.
+ (TRACE_ANY_P): Likewise.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * cgen-run.c (sim_resume): Rename TRACE_INSN_FINI to
+ CGEN_TRACE_INSN_FINI.
+ * cgen-trace.c: Rename trace_insn to cgen_trace_insn,
+ trace_result to cgen_trace_result, trace_insn_fini to
+ cgen_trace_insn_fini, trace_insn_init to cgen_trace_insn_init,
+ and trace_extract to cgen_trace_extract.
+ * cgen-trace.h (trace_insn_init): Rename to ...
+ (cgen_trace_insn_init): ... this.
+ (trace_insn_fini): Rename to ...
+ (cgen_trace_insn_fini): ... this.
+ (trace_insn): Rename to ...
+ (cgen_trace_insn): ... this.
+ (trace_extract): Rename to ...
+ (cgen_trace_extract): ... this.
+ (trace_result): Rename to ...
+ (cgen_trace_result): ... this.
+ (TRACE_RESULT_P): Rename to ...
+ (CGEN_TRACE_RESULT_P): ... this.
+ (TRACE_INSN_INIT): Rename to ...
+ (CGEN_TRACE_INSN_INIT): ... this. Change trace_insn_init to
+ cgen_trace_insn_init.
+ (TRACE_INSN_FINI): Rename to ...
+ (CGEN_TRACE_INSN_FINI): ... this. Change trace_insn_fini to
+ cgen_trace_insn_fini.
+ (TRACE_PRINTF): Rename to ...
+ (CGEN_TRACE_PRINTF): ... this.
+ (TRACE_INSN): Rename to ...
+ (CGEN_TRACE_INSN): ... this. Change trace_insn to cgen_trace_insn.
+ (TRACE_EXTRACT): Rename to ...
+ (CGEN_TRACE_EXTRACT): ... this. Change trace_extract to
+ cgen_trace_extract.
+ (TRACE_RESULT): Rename to ...
+ (CGEN_TRACE_RESULT): ... this. Change TRACE_RESULT_P to
+ CGEN_TRACE_RESULT_P and trace_result to cgen_trace_result.
+ * genmloop.sh (@prefix@_pbb_before): Change TRACE_INSN_FINI to
+ CGEN_TRACE_INSN_FINI, TRACE_INSN_INIT to CGEN_TRACE_INSN_INIT, and
+ TRACE_INSN to CGEN_TRACE_INSN.
+ (@prefix@_pbb_after): Change TRACE_INSN_FINI to CGEN_TRACE_INSN_FINI.
+
+2015-06-11 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-events.c (ETRACE_P): Delete.
+ (ETRACE): Change ETRACE_P to STRACE_EVENTS_P(sd).
+ (update_time_from_event, sim_events_schedule_vtracef): Likewise.
+ * sim-events.h (struct _sim_events): Delete trace member.
+ * sim-trace.c (set_trace_option_mask): Delete trace_nr check and
+ always set STATE_TRACE_FLAGS(sd)[trace_nr] element.
+
+2015-06-11 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-trace.h (STRACE_ANY_P, STRACE_INSN_P, STRACE_DECODE_P,
+ STRACE_EXTRACT_P, STRACE_LINENUM_P, STRACE_MEMORY_P, STRACE_MODEL_P,
+ STRACE_ALU_P, STRACE_CORE_P, STRACE_EVENTS_P, STRACE_FPU_P,
+ STRACE_VPU_P, STRACE_BRANCH_P, STRACE_SYSCALL_P): Define.
+
+2015-06-11 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-trace.h (TRACE_USEFUL_MASK): Change to TRACE_xxx defines.
+
+2015-06-11 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-trace.h (WITH_TRACE_P): New define.
+ (WITH_TRACE_INSN_P, WITH_TRACE_DECODE_P, WITH_TRACE_EXTRACT_P,
+ WITH_TRACE_LINENUM_P, WITH_TRACE_MEMORY_P, WITH_TRACE_MODEL_P,
+ WITH_TRACE_ALU_P, WITH_TRACE_CORE_P, WITH_TRACE_EVENTS_P,
+ WITH_TRACE_FPU_P, WITH_TRACE_VPU_P, WITH_TRACE_BRANCH_P,
+ WITH_TRACE_SYSCALL_P, WITH_TRACE_DEBUG_P, STRACE_P, TRACE_P):
+ Redefine to use WITH_TRACE_P.
+
+2015-06-09 Mike Stump <mrs@mrs.kithrup.com>
+
+ * sim-events.c (sim_events_schedule_after_signal): Fix spelling
+ mistake in call to sim_engine_abort.
+
2015-04-29 Nick Clifton <nickc@redhat.com>
PR 18273
* sim-fpu.c (INLINE_SIM_FPU): Fix static analysis warning by
increasing parenthesis around casts to signed values.
-
2015-04-21 Mike Frysinger <vapier@gentoo.org>
diff --git a/sim/common/Make-common.in b/sim/common/Make-common.in
index 2d1bb8a1a41..2f5ad89e164 100644
--- a/sim/common/Make-common.in
+++ b/sim/common/Make-common.in
@@ -190,6 +190,7 @@ SIM_NEW_COMMON_OBJS = \
sim-options.o \
sim-profile.o \
sim-signal.o \
+ sim-syscall.o \
sim-trace.o \
sim-utils.o \
sim-watch.o \
diff --git a/sim/common/acinclude.m4 b/sim/common/acinclude.m4
index 75ea8ea8d57..672227ea416 100644
--- a/sim/common/acinclude.m4
+++ b/sim/common/acinclude.m4
@@ -5,7 +5,7 @@
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -122,7 +122,7 @@ AM_MAINTAINER_MODE
dnl This is a generic option to enable special byte swapping
dnl insns on *any* cpu.
AC_ARG_ENABLE(sim-bswap,
-[ --enable-sim-bswap Use Host specific BSWAP instruction.],
+[AS_HELP_STRING([--enable-sim-bswap], [Use Host specific BSWAP instruction])],
[case "${enableval}" in
yes) sim_bswap="-DWITH_BSWAP=1 -DUSE_BSWAP=1";;
no) sim_bswap="-DWITH_BSWAP=0";;
@@ -135,7 +135,8 @@ AC_SUBST(sim_bswap)
AC_ARG_ENABLE(sim-cflags,
-[ --enable-sim-cflags=opts Extra CFLAGS for use in building simulator],
+[AS_HELP_STRING([--enable-sim-cflags=opts],
+ [Extra CFLAGS for use in building simulator])],
[case "${enableval}" in
yes) sim_cflags="-O2 -fomit-frame-pointer";;
trace) AC_MSG_ERROR("Please use --enable-sim-debug instead."); sim_cflags="";;
@@ -151,7 +152,8 @@ AC_SUBST(sim_cflags)
dnl --enable-sim-debug is for developers of the simulator
dnl the allowable values are work-in-progress
AC_ARG_ENABLE(sim-debug,
-[ --enable-sim-debug=opts Enable debugging flags],
+[AS_HELP_STRING([--enable-sim-debug=opts],
+ [Enable debugging flags (for developers of the sim itself)])],
[case "${enableval}" in
yes) sim_debug="-DDEBUG=7 -DWITH_DEBUG=7";;
no) sim_debug="-DDEBUG=0 -DWITH_DEBUG=0";;
@@ -166,7 +168,8 @@ AC_SUBST(sim_debug)
dnl --enable-sim-stdio is for users of the simulator
dnl It determines if IO from the program is routed through STDIO (buffered)
AC_ARG_ENABLE(sim-stdio,
-[ --enable-sim-stdio Specify whether to use stdio for console input/output.],
+[AS_HELP_STRING([--enable-sim-stdio],
+ [Specify whether to use stdio for console input/output])],
[case "${enableval}" in
yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";;
no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";;
@@ -184,12 +187,13 @@ dnl up to the simulator], or is a comma separated list of names of tracing
dnl elements to enable. The latter is only supported on simulators that
dnl use WITH_TRACE.
AC_ARG_ENABLE(sim-trace,
-[ --enable-sim-trace=opts Enable tracing flags],
+[AS_HELP_STRING([--enable-sim-trace=opts],
+ [Enable tracing of simulated programs])],
[case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[[-0-9]]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[[:lower:]]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
@@ -213,7 +217,7 @@ dnl up to the simulator], or is a comma separated list of names of profiling
dnl elements to enable. The latter is only supported on simulators that
dnl use WITH_PROFILE.
AC_ARG_ENABLE(sim-profile,
-[ --enable-sim-profile=opts Enable profiling flags],
+[AS_HELP_STRING([--enable-sim-profile=opts], [Enable profiling flags])],
[case "${enableval}" in
yes) sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1";;
no) sim_profile="-DPROFILE=0 -DWITH_PROFILE=0";;
@@ -263,12 +267,12 @@ sim_link_links="${sim_link_links} targ-vals.def"
dnl Additional SIM options that can (optionally) be configured
dnl For optional simulator options, a macro SIM_AC_OPTION_* is defined.
dnl Simulators that wish to use the relevant option specify the macro
-dnl in the simulator specific configure.in file between the SIM_AC_COMMON
+dnl in the simulator specific configure.ac file between the SIM_AC_COMMON
dnl and SIM_AC_OUTPUT lines.
dnl Specify the running environment.
-dnl If the simulator invokes this in its configure.in then without this option
+dnl If the simulator invokes this in its configure.ac then without this option
dnl the default is the user environment and all are runtime selectable.
dnl If the simulator doesn't invoke this, only the user environment is
dnl supported.
@@ -277,7 +281,8 @@ dnl let's not.
AC_DEFUN([SIM_AC_OPTION_ENVIRONMENT],
[
AC_ARG_ENABLE(sim-environment,
-[ --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.],
+[AS_HELP_STRING([--enable-sim-environment=environment],
+ [Specify mixed, user, virtual or operating environment])],
[case "${enableval}" in
all | ALL) sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT";;
user | USER) sim_environment="-DWITH_ENVIRONMENT=USER_ENVIRONMENT";;
@@ -303,7 +308,8 @@ wire_alignment="[$1]"
default_alignment="[$2]"
[
AC_ARG_ENABLE(sim-alignment,
-[ --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.],
+[AS_HELP_STRING([--enable-sim-alignment=align],
+ [Specify strict, nonstrict or forced alignment of memory accesses])],
[case "${enableval}" in
strict | STRICT) sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
@@ -350,7 +356,8 @@ dnl Conditionally compile in assertion statements.
AC_DEFUN([SIM_AC_OPTION_ASSERT],
[
AC_ARG_ENABLE(sim-assert,
-[ --enable-sim-assert Specify whether to perform random assertions.],
+[AS_HELP_STRING([--enable-sim-assert],
+ [Specify whether to perform random assertions])],
[case "${enableval}" in
yes) sim_assert="-DWITH_ASSERT=1";;
no) sim_assert="-DWITH_ASSERT=0";;
@@ -377,7 +384,7 @@ wire_word_msb="[$2]"
wire_address_bitsize="[$3]"
wire_cell_bitsize="[$4]"
[AC_ARG_ENABLE(sim-bitsize,
-[ --enable-sim-bitsize=N Specify target bitsize (32 or 64).],
+[AS_HELP_STRING([--enable-sim-bitsize=N], [Specify target bitsize (32 or 64)])],
[sim_bitsize=
case "${enableval}" in
64,63 | 64,63,* ) sim_bitsize="-DWITH_TARGET_WORD_BITSIZE=64 -DWITH_TARGET_WORD_MSB=63";;
@@ -442,7 +449,8 @@ AC_DEFUN([SIM_AC_OPTION_ENDIAN],
wire_endian="[$1]"
default_endian="[$2]"
AC_ARG_ENABLE(sim-endian,
-[ --enable-sim-endian=endian Specify target byte endian orientation.],
+[AS_HELP_STRING([--enable-sim-endian=endian],
+ [Specify target byte endian orientation])],
[case "${enableval}" in
b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BIG_ENDIAN";;
l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
@@ -490,7 +498,8 @@ dnl (for instance in a canadian cross)
AC_DEFUN([SIM_AC_OPTION_HOSTENDIAN],
[
AC_ARG_ENABLE(sim-hostendian,
-[ --enable-sim-hostendian=end Specify host byte endian orientation.],
+[AS_HELP_STRING([--enable-sim-hostendian=end],
+ [Specify host byte endian orientation])],
[case "${enableval}" in
no) sim_hostendian="-DWITH_HOST_BYTE_ORDER=0";;
b*|B*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN";;
@@ -524,7 +533,8 @@ AC_DEFUN([SIM_AC_OPTION_FLOAT],
default_sim_float="[$1]"
default_sim_float_bitsize="[$2]"
AC_ARG_ENABLE(sim-float,
-[ --enable-sim-float Specify that the target processor has floating point hardware.],
+[AS_HELP_STRING([--enable-sim-float],
+ [Specify that the target processor has floating point hardware])],
[case "${enableval}" in
yes | hard) sim_float="-DWITH_FLOATING_POINT=HARD_FLOATING_POINT";;
no | soft) sim_float="-DWITH_FLOATING_POINT=SOFT_FLOATING_POINT";;
@@ -552,7 +562,8 @@ AC_DEFUN([SIM_AC_OPTION_SCACHE],
[
default_sim_scache="ifelse([$1],,0,[$1])"
AC_ARG_ENABLE(sim-scache,
-[ --enable-sim-scache=size Specify simulator execution cache size.],
+[AS_HELP_STRING([--enable-sim-scache=size],
+ [Specify simulator execution cache size])],
[case "${enableval}" in
yes) sim_scache="-DWITH_SCACHE=${default_sim_scache}";;
no) sim_scache="-DWITH_SCACHE=0" ;;
@@ -572,7 +583,8 @@ AC_DEFUN([SIM_AC_OPTION_DEFAULT_MODEL],
[
default_sim_default_model="ifelse([$1],,0,[$1])"
AC_ARG_ENABLE(sim-default-model,
-[ --enable-sim-default-model=model Specify default model to simulate.],
+[AS_HELP_STRING([--enable-sim-default-model=model],
+ [Specify default model to simulate])],
[case "${enableval}" in
yes|no) AC_MSG_ERROR("Missing argument to --enable-sim-default-model");;
*) sim_default_model="-DWITH_DEFAULT_MODEL='\"${enableval}\"'";;
@@ -660,7 +672,8 @@ AC_DEFUN([SIM_AC_OPTION_INLINE],
[
default_sim_inline="ifelse([$1],,,-DDEFAULT_INLINE=[$1])"
AC_ARG_ENABLE(sim-inline,
-[ --enable-sim-inline=inlines Specify which functions should be inlined.],
+[AS_HELP_STRING([--enable-sim-inline=inlines],
+ [Specify which functions should be inlined])],
[sim_inline=""
case "$enableval" in
no) sim_inline="-DDEFAULT_INLINE=0";;
@@ -704,7 +717,8 @@ AC_SUBST(sim_inline)
AC_DEFUN([SIM_AC_OPTION_PACKAGES],
[
AC_ARG_ENABLE(sim-packages,
-[ --enable-sim-packages=list Specify the packages to be included in the build.],
+[AS_HELP_STRING([--enable-sim-packages=list],
+ [Specify the packages to be included in the build])],
[packages=disklabel
case "${enableval}" in
yes) ;;
@@ -730,7 +744,8 @@ AC_SUBST(sim_packages)
AC_DEFUN([SIM_AC_OPTION_REGPARM],
[
AC_ARG_ENABLE(sim-regparm,
-[ --enable-sim-regparm=nr-parm Pass parameters in registers instead of on the stack - x86/GCC specific.],
+[AS_HELP_STRING([--enable-sim-regparm=nr-parm],
+ [Pass parameters in registers instead of on the stack - x86/GCC specific])],
[case "${enableval}" in
0*|1*|2*|3*|4*|5*|6*|7*|8*|9*) sim_regparm="-DWITH_REGPARM=${enableval}";;
no) sim_regparm="" ;;
@@ -748,7 +763,8 @@ AC_DEFUN([SIM_AC_OPTION_RESERVED_BITS],
[
default_sim_reserved_bits="ifelse([$1],,1,[$1])"
AC_ARG_ENABLE(sim-reserved-bits,
-[ --enable-sim-reserved-bits Specify whether to check reserved bits in instruction.],
+[AS_HELP_STRING([--enable-sim-reserved-bits],
+ [Specify whether to check reserved bits in instruction])],
[case "${enableval}" in
yes) sim_reserved_bits="-DWITH_RESERVED_BITS=1";;
no) sim_reserved_bits="-DWITH_RESERVED_BITS=0";;
@@ -765,7 +781,8 @@ AC_DEFUN([SIM_AC_OPTION_SMP],
[
default_sim_smp="ifelse([$1],,5,[$1])"
AC_ARG_ENABLE(sim-smp,
-[ --enable-sim-smp=n Specify number of processors to configure for (default ${default_sim_smp}).],
+[AS_HELP_STRING([--enable-sim-smp=n],
+ [Specify number of processors to configure for (default ${default_sim_smp})])],
[case "${enableval}" in
yes) sim_smp="-DWITH_SMP=5" ; sim_igen_smp="-N 5";;
no) sim_smp="-DWITH_SMP=0" ; sim_igen_smp="-N 0";;
@@ -784,7 +801,8 @@ AC_SUBST(sim_smp)
AC_DEFUN([SIM_AC_OPTION_STDCALL],
[
AC_ARG_ENABLE(sim-stdcall,
-[ --enable-sim-stdcall=type Use an alternative function call/return mechanism - x86/GCC specific.],
+[AS_HELP_STRING([--enable-sim-stdcall=type],
+ [Use an alternative function call/return mechanism - x86/GCC specific])],
[case "${enableval}" in
no) sim_stdcall="" ;;
std*) sim_stdcall="-DWITH_STDCALL=1";;
@@ -802,7 +820,8 @@ AC_DEFUN([SIM_AC_OPTION_XOR_ENDIAN],
[
default_sim_xor_endian="ifelse([$1],,8,[$1])"
AC_ARG_ENABLE(sim-xor-endian,
-[ --enable-sim-xor-endian=n Specify number bytes involved in XOR bi-endian mode (default ${default_sim_xor_endian}).],
+[AS_HELP_STRING([--enable-sim-xor-endian=n],
+ [Specify number bytes involved in XOR bi-endian mode (default ${default_sim_xor_endian})])],
[case "${enableval}" in
yes) sim_xor_endian="-DWITH_XOR_ENDIAN=8";;
no) sim_xor_endian="-DWITH_XOR_ENDIAN=0";;
@@ -953,7 +972,7 @@ dnl a directory name, but what we're doing here is an enable/disable kind
dnl of thing and specifying both --enable and --with is klunky.
dnl If you reeely want this to be --with, go ahead and change it.
AC_ARG_ENABLE(cgen-maint,
-[ --enable-cgen-maint[=DIR] build cgen generated files],
+[AS_HELP_STRING([--enable-cgen-maint[=DIR]], [build cgen generated files])],
[case "${enableval}" in
yes) cgen_maint=yes ;;
no) cgen_maint=no ;;
diff --git a/sim/common/callback.c b/sim/common/callback.c
index f2956419255..486f1829fd2 100644
--- a/sim/common/callback.c
+++ b/sim/common/callback.c
@@ -796,6 +796,32 @@ cb_read_target_syscall_maps (host_callback *cb, const char *file)
return CB_RC_OK;
}
+/* General utility functions to search a map for a value. */
+
+static const CB_TARGET_DEFS_MAP *
+cb_target_map_entry (const CB_TARGET_DEFS_MAP map[], int target_val)
+{
+ const CB_TARGET_DEFS_MAP *m;
+
+ for (m = &map[0]; m->target_val != -1; ++m)
+ if (m->target_val == target_val)
+ return m;
+
+ return NULL;
+}
+
+static const CB_TARGET_DEFS_MAP *
+cb_host_map_entry (const CB_TARGET_DEFS_MAP map[], int host_val)
+{
+ const CB_TARGET_DEFS_MAP *m;
+
+ for (m = &map[0]; m->host_val != -1; ++m)
+ if (m->host_val == host_val)
+ return m;
+
+ return NULL;
+}
+
/* Translate the target's version of a syscall number to the host's.
This isn't actually the host's version, rather a canonical form.
??? Perhaps this should be renamed to ..._canon_syscall. */
@@ -803,13 +829,10 @@ cb_read_target_syscall_maps (host_callback *cb, const char *file)
int
cb_target_to_host_syscall (host_callback *cb, int target_val)
{
- CB_TARGET_DEFS_MAP *m;
-
- for (m = &cb->syscall_map[0]; m->target_val != -1; ++m)
- if (m->target_val == target_val)
- return m->host_val;
+ const CB_TARGET_DEFS_MAP *m =
+ cb_target_map_entry (cb->syscall_map, target_val);
- return -1;
+ return m ? m->host_val : -1;
}
/* FIXME: sort tables if large.
@@ -821,16 +844,12 @@ cb_target_to_host_syscall (host_callback *cb, int target_val)
int
cb_host_to_target_errno (host_callback *cb, int host_val)
{
- CB_TARGET_DEFS_MAP *m;
-
- for (m = &cb->errno_map[0]; m->host_val; ++m)
- if (m->host_val == host_val)
- return m->target_val;
+ const CB_TARGET_DEFS_MAP *m = cb_host_map_entry (cb->errno_map, host_val);
/* ??? Which error to return in this case is up for grabs.
Note that some missing values may have standard alternatives.
For now return 0 and require caller to deal with it. */
- return 0;
+ return m ? m->target_val : 0;
}
/* Given a set of target bitmasks for the open system call,
@@ -1045,3 +1064,54 @@ cb_is_stderr (host_callback *cb, int fd)
{
return fdbad (cb, fd) ? 0 : fdmap (cb, fd) == 2;
}
+
+const char *
+cb_host_str_syscall (host_callback *cb, int host_val)
+{
+ const CB_TARGET_DEFS_MAP *m = cb_host_map_entry (cb->syscall_map, host_val);
+
+ return m ? m->name : NULL;
+}
+
+const char *
+cb_host_str_errno (host_callback *cb, int host_val)
+{
+ const CB_TARGET_DEFS_MAP *m = cb_host_map_entry (cb->errno_map, host_val);
+
+ return m ? m->name : NULL;
+}
+
+const char *
+cb_host_str_signal (host_callback *cb, int host_val)
+{
+ const CB_TARGET_DEFS_MAP *m = cb_host_map_entry (cb->signal_map, host_val);
+
+ return m ? m->name : NULL;
+}
+
+const char *
+cb_target_str_syscall (host_callback *cb, int target_val)
+{
+ const CB_TARGET_DEFS_MAP *m =
+ cb_target_map_entry (cb->syscall_map, target_val);
+
+ return m ? m->name : NULL;
+}
+
+const char *
+cb_target_str_errno (host_callback *cb, int target_val)
+{
+ const CB_TARGET_DEFS_MAP *m =
+ cb_target_map_entry (cb->errno_map, target_val);
+
+ return m ? m->name : NULL;
+}
+
+const char *
+cb_target_str_signal (host_callback *cb, int target_val)
+{
+ const CB_TARGET_DEFS_MAP *m =
+ cb_target_map_entry (cb->signal_map, target_val);
+
+ return m ? m->name : NULL;
+}
diff --git a/sim/common/cgen-run.c b/sim/common/cgen-run.c
index 5a25a50d1f7..96fe999720b 100644
--- a/sim/common/cgen-run.c
+++ b/sim/common/cgen-run.c
@@ -115,7 +115,7 @@ sim_resume (SIM_DESC sd, int step, int siggnal)
/* Account for the last insn executed. */
SIM_CPU *cpu = STATE_CPU (sd, sim_engine_last_cpu_nr (sd));
++ CPU_INSN_COUNT (cpu);
- TRACE_INSN_FINI (cpu, NULL, 1);
+ CGEN_TRACE_INSN_FINI (cpu, NULL, 1);
}
#endif
diff --git a/sim/common/cgen-trace.c b/sim/common/cgen-trace.c
index 87aa3cef53f..f163a6e4f64 100644
--- a/sim/common/cgen-trace.c
+++ b/sim/common/cgen-trace.c
@@ -66,29 +66,30 @@ static char *bufptr;
/* Non-zero if this is the first insn in a set of parallel insns. */
static int first_insn_p;
-/* For communication between trace_insn and trace_result. */
+/* For communication between cgen_trace_insn and cgen_trace_result. */
static int printed_result_p;
/* Insn and its extracted fields.
- Set by trace_insn, used by trace_insn_fini.
+ Set by cgen_trace_insn, used by cgen_trace_insn_fini.
??? Move to SIM_CPU to support heterogeneous multi-cpu case. */
static const struct cgen_insn *current_insn;
static const struct argbuf *current_abuf;
void
-trace_insn_init (SIM_CPU *cpu, int first_p)
+cgen_trace_insn_init (SIM_CPU *cpu, int first_p)
{
bufptr = trace_buf;
*bufptr = 0;
first_insn_p = first_p;
- /* Set to NULL so trace_insn_fini can know if trace_insn was called. */
+ /* Set to NULL so cgen_trace_insn_fini can know if cgen_trace_insn was
+ called. */
current_insn = NULL;
current_abuf = NULL;
}
void
-trace_insn_fini (SIM_CPU *cpu, const struct argbuf *abuf, int last_p)
+cgen_trace_insn_fini (SIM_CPU *cpu, const struct argbuf *abuf, int last_p)
{
SIM_DESC sd = CPU_STATE (cpu);
@@ -143,7 +144,7 @@ trace_insn_fini (SIM_CPU *cpu, const struct argbuf *abuf, int last_p)
++i, ++opinst)
{
if (CGEN_OPINST_TYPE (opinst) == CGEN_OPINST_OUTPUT)
- trace_result (cpu, current_insn, opinst, indices[i]);
+ cgen_trace_result (cpu, current_insn, opinst, indices[i]);
}
}
}
@@ -158,8 +159,8 @@ trace_insn_fini (SIM_CPU *cpu, const struct argbuf *abuf, int last_p)
}
void
-trace_insn (SIM_CPU *cpu, const struct cgen_insn *opcode,
- const struct argbuf *abuf, IADDR pc)
+cgen_trace_insn (SIM_CPU *cpu, const struct cgen_insn *opcode,
+ const struct argbuf *abuf, IADDR pc)
{
char disasm_buf[50];
@@ -183,7 +184,7 @@ trace_insn (SIM_CPU *cpu, const struct cgen_insn *opcode,
}
void
-trace_extract (SIM_CPU *cpu, IADDR pc, char *name, ...)
+cgen_trace_extract (SIM_CPU *cpu, IADDR pc, char *name, ...)
{
va_list args;
int printed_one_p = 0;
@@ -222,7 +223,7 @@ trace_extract (SIM_CPU *cpu, IADDR pc, char *name, ...)
}
void
-trace_result (SIM_CPU *cpu, char *name, int type, ...)
+cgen_trace_result (SIM_CPU *cpu, char *name, int type, ...)
{
va_list args;
@@ -301,18 +302,10 @@ cgen_trace_printf (SIM_CPU *cpu, char *fmt, ...)
int
sim_disasm_sprintf (SFILE *f, const char *format, ...)
{
-#ifndef __STDC__
- SFILE *f;
- const char *format;
-#endif
int n;
va_list args;
va_start (args, format);
-#ifndef __STDC__
- f = va_arg (args, SFILE *);
- format = va_arg (args, char *);
-#endif
vsprintf (f->current, format, args);
f->current += n = strlen (f->current);
va_end (args);
diff --git a/sim/common/cgen-trace.h b/sim/common/cgen-trace.h
index ba62f6c09a4..5cc08aeb646 100644
--- a/sim/common/cgen-trace.h
+++ b/sim/common/cgen-trace.h
@@ -20,46 +20,47 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#ifndef CGEN_TRACE_H
#define CGEN_TRACE_H
-void trace_insn_init (SIM_CPU *, int);
-void trace_insn_fini (SIM_CPU *, const struct argbuf *, int);
-void trace_insn (SIM_CPU *, const struct cgen_insn *,
- const struct argbuf *, IADDR);
-void trace_extract (SIM_CPU *, IADDR, char *, ...);
-void trace_result (SIM_CPU *, char *, int, ...);
+void cgen_trace_insn_init (SIM_CPU *, int);
+void cgen_trace_insn_fini (SIM_CPU *, const struct argbuf *, int);
+void cgen_trace_insn (SIM_CPU *, const struct cgen_insn *,
+ const struct argbuf *, IADDR);
+void cgen_trace_extract (SIM_CPU *, IADDR, char *, ...);
+void cgen_trace_result (SIM_CPU *, char *, int, ...);
void cgen_trace_printf (SIM_CPU *, char *fmt, ...);
/* Trace instruction results. */
-#define TRACE_RESULT_P(cpu, abuf) (TRACE_INSN_P (cpu) && ARGBUF_TRACE_P (abuf))
+#define CGEN_TRACE_RESULT_P(cpu, abuf) \
+ (TRACE_INSN_P (cpu) && ARGBUF_TRACE_P (abuf))
-#define TRACE_INSN_INIT(cpu, abuf, first_p) \
+#define CGEN_TRACE_INSN_INIT(cpu, abuf, first_p) \
do { \
if (TRACE_INSN_P (cpu)) \
- trace_insn_init ((cpu), (first_p)); \
+ cgen_trace_insn_init ((cpu), (first_p)); \
} while (0)
-#define TRACE_INSN_FINI(cpu, abuf, last_p) \
+#define CGEN_TRACE_INSN_FINI(cpu, abuf, last_p) \
do { \
if (TRACE_INSN_P (cpu)) \
- trace_insn_fini ((cpu), (abuf), (last_p)); \
+ cgen_trace_insn_fini ((cpu), (abuf), (last_p)); \
} while (0)
-#define TRACE_PRINTF(cpu, what, args) \
+#define CGEN_TRACE_PRINTF(cpu, what, args) \
do { \
if (TRACE_P ((cpu), (what))) \
cgen_trace_printf args ; \
} while (0)
-#define TRACE_INSN(cpu, insn, abuf, pc) \
+#define CGEN_TRACE_INSN(cpu, insn, abuf, pc) \
do { \
if (TRACE_INSN_P (cpu) && ARGBUF_TRACE_P (abuf)) \
- trace_insn ((cpu), (insn), (abuf), (pc)) ; \
+ cgen_trace_insn ((cpu), (insn), (abuf), (pc)) ; \
} while (0)
-#define TRACE_EXTRACT(cpu, abuf, args) \
+#define CGEN_TRACE_EXTRACT(cpu, abuf, args) \
do { \
if (TRACE_EXTRACT_P (cpu)) \
- trace_extract args ; \
+ cgen_trace_extract args ; \
} while (0)
-#define TRACE_RESULT(cpu, abuf, name, type, val) \
+#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val) \
do { \
- if (TRACE_RESULT_P ((cpu), (abuf))) \
- trace_result ((cpu), (name), (type), (val)) ; \
+ if (CGEN_TRACE_RESULT_P ((cpu), (abuf))) \
+ cgen_trace_result ((cpu), (name), (type), (val)) ; \
} while (0)
/* Disassembly support. */
diff --git a/sim/common/configure b/sim/common/configure
index 631ebac4a80..7f1ef528041 100755
--- a/sim/common/configure
+++ b/sim/common/configure
@@ -1398,12 +1398,16 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -10560,7 +10564,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 10563 "configure"
+#line 10567 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -10666,7 +10670,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 10669 "configure"
+#line 10673 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -11002,10 +11006,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/common/genmloop.sh b/sim/common/genmloop.sh
index 20069409b8d..a6bd16bb53e 100755
--- a/sim/common/genmloop.sh
+++ b/sim/common/genmloop.sh
@@ -1112,7 +1112,7 @@ void
}
}
- TRACE_INSN_FINI (current_cpu, cur_abuf, 0 /*last_p*/);
+ CGEN_TRACE_INSN_FINI (current_cpu, cur_abuf, 0 /*last_p*/);
}
/* FIXME: Later make cover macros: PROFILE_INSN_{INIT,FINI}. */
@@ -1120,8 +1120,8 @@ void
&& ARGBUF_PROFILE_P (cur_abuf))
@prefix@_model_insn_before (current_cpu, first_p);
- TRACE_INSN_INIT (current_cpu, cur_abuf, first_p);
- TRACE_INSN (current_cpu, cur_idesc->idata, cur_abuf, pc);
+ CGEN_TRACE_INSN_INIT (current_cpu, cur_abuf, first_p);
+ CGEN_TRACE_INSN (current_cpu, cur_idesc->idata, cur_abuf, pc);
}
/* x-after handler.
@@ -1146,7 +1146,7 @@ void
cycles = (*prev_idesc->timing->model_fn) (current_cpu, prev_sem_arg);
@prefix@_model_insn_after (current_cpu, 1 /*last_p*/, cycles);
}
- TRACE_INSN_FINI (current_cpu, prev_abuf, 1 /*last_p*/);
+ CGEN_TRACE_INSN_FINI (current_cpu, prev_abuf, 1 /*last_p*/);
}
#define FAST_P 0
diff --git a/sim/common/gentmap.c b/sim/common/gentmap.c
index fbc09a2ed30..669a7e58013 100644
--- a/sim/common/gentmap.c
+++ b/sim/common/gentmap.c
@@ -80,10 +80,11 @@ gen_targ_map_c (void)
for (t = &sys_tdefs[0]; t->symbol; ++t)
{
printf ("#ifdef CB_%s\n", t->symbol);
- printf (" { CB_%s, TARGET_%s },\n", t->symbol, t->symbol);
+ /* Skip the "SYS_" prefix for the name. */
+ printf (" { \"%s\", CB_%s, TARGET_%s },\n", t->symbol + 4, t->symbol, t->symbol);
printf ("#endif\n");
}
- printf (" { -1, -1 }\n");
+ printf (" { 0, -1, -1 }\n");
printf ("};\n\n");
printf ("/* errno mapping table */\n");
@@ -91,10 +92,10 @@ gen_targ_map_c (void)
for (t = &errno_tdefs[0]; t->symbol; ++t)
{
printf ("#ifdef %s\n", t->symbol);
- printf (" { %s, TARGET_%s },\n", t->symbol, t->symbol);
+ printf (" { \"%s\", %s, TARGET_%s },\n", t->symbol, t->symbol, t->symbol);
printf ("#endif\n");
}
- printf (" { 0, 0 }\n");
+ printf (" { 0, 0, 0 }\n");
printf ("};\n\n");
printf ("/* open flags mapping table */\n");
@@ -102,10 +103,10 @@ gen_targ_map_c (void)
for (t = &open_tdefs[0]; t->symbol; ++t)
{
printf ("#ifdef %s\n", t->symbol);
- printf (" { %s, TARGET_%s },\n", t->symbol, t->symbol);
+ printf (" { \"%s\", %s, TARGET_%s },\n", t->symbol, t->symbol, t->symbol);
printf ("#endif\n");
}
- printf (" { -1, -1 }\n");
+ printf (" { 0, -1, -1 }\n");
printf ("};\n\n");
}
diff --git a/sim/common/sim-alu.h b/sim/common/sim-alu.h
index c78b473525e..0cd5aad0b41 100644
--- a/sim/common/sim-alu.h
+++ b/sim/common/sim-alu.h
@@ -20,8 +20,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#ifndef _SIM_ALU_H_
-#define _SIM_ALU_H_
+#ifndef SIM_ALU_H
+#define SIM_ALU_H
#include "symcat.h"
diff --git a/sim/common/sim-assert.h b/sim/common/sim-assert.h
index eaaf7919480..9118bdc0421 100644
--- a/sim/common/sim-assert.h
+++ b/sim/common/sim-assert.h
@@ -18,23 +18,8 @@
*/
-#ifndef _SIM_ASSERT_H_
-#define _SIM_ASSERT_H_
-
-#define SIM_FILTER_PATH(FILE, PATH) \
-do \
- { \
- /* strip leading path */ \
- const char *p = (PATH); \
- (FILE) = p; \
- while (*p != '\0' && *p != ':') \
- { \
- if (*p == '/') \
- (FILE) = p + 1; \
- p++; \
- } \
- } \
-while (0)
+#ifndef SIM_ASSERT_H
+#define SIM_ASSERT_H
/* The subtle difference between SIM_ASSERT and ASSERT is that
SIM_ASSERT passes `sd' to sim_io_error for the SIM_DESC,
@@ -43,6 +28,7 @@ while (0)
#if !defined (SIM_ASSERT)
#if defined (WITH_ASSERT)
#include "sim-io.h"
+#include "libiberty.h"
#define SIM_ASSERT(EXPRESSION) \
do \
{ \
@@ -51,10 +37,8 @@ do \
if (!(EXPRESSION)) \
{ \
/* report the failure */ \
- const char *file; \
- SIM_FILTER_PATH(file, __FILE__); \
sim_io_error (sd, "%s:%d: assertion failed - %s", \
- file, __LINE__, #EXPRESSION); \
+ lbasename (__FILE__), __LINE__, #EXPRESSION); \
} \
} \
} \
@@ -67,6 +51,7 @@ while (0)
#if !defined (ASSERT)
#if defined (WITH_ASSERT)
#include "sim-io.h"
+#include "libiberty.h"
#define ASSERT(EXPRESSION) \
do \
{ \
@@ -75,10 +60,8 @@ do \
if (!(EXPRESSION)) \
{ \
/* report the failure */ \
- const char *file; \
- SIM_FILTER_PATH(file, __FILE__); \
sim_io_error (NULL, "%s:%d: assertion failed - %s", \
- file, __LINE__, #EXPRESSION); \
+ lbasename (__FILE__), __LINE__, #EXPRESSION); \
} \
} \
} \
diff --git a/sim/common/sim-basics.h b/sim/common/sim-basics.h
index 2730569b47d..1d9c99cc036 100644
--- a/sim/common/sim-basics.h
+++ b/sim/common/sim-basics.h
@@ -20,8 +20,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#ifndef _SIM_BASICS_H_
-#define _SIM_BASICS_H_
+#ifndef SIM_BASICS_H
+#define SIM_BASICS_H
/* Basic configuration */
@@ -146,4 +146,4 @@ typedef enum {
weight objects, such as core and events, are defined in the more
serious sim-base.h header. */
-#endif /* _SIM_BASICS_H_ */
+#endif /* SIM_BASICS_H */
diff --git a/sim/common/sim-bits.h b/sim/common/sim-bits.h
index a742e6de9f1..fb6a8218d67 100644
--- a/sim/common/sim-bits.h
+++ b/sim/common/sim-bits.h
@@ -20,8 +20,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#ifndef _SIM_BITS_H_
-#define _SIM_BITS_H_
+#ifndef SIM_BITS_H
+#define SIM_BITS_H
/* Bit manipulation routines:
@@ -605,4 +605,4 @@ INLINE_SIM_BITS(unsigned_word) MSSEXT (signed_word val, int sign_bit);
#include "sim-bits.c"
#endif
-#endif /* _SIM_BITS_H_ */
+#endif /* SIM_BITS_H */
diff --git a/sim/common/sim-config.h b/sim/common/sim-config.h
index 9391994ae04..f4fe076ba16 100644
--- a/sim/common/sim-config.h
+++ b/sim/common/sim-config.h
@@ -360,7 +360,7 @@ enum sim_environment {
#endif
/* If the simulator doesn't specify SIM_AC_OPTION_ENVIRONMENT in its
- configure.in, the only supported environment is the user environment. */
+ configure.ac, the only supported environment is the user environment. */
#ifndef WITH_ENVIRONMENT
#define WITH_ENVIRONMENT USER_ENVIRONMENT
#endif
@@ -487,10 +487,10 @@ extern int current_floating_point;
#endif
/* Include the tracing code. Disabling this eliminates all tracing
- code */
+ code. Default to all tracing but internal debug. */
#ifndef WITH_TRACE
-#define WITH_TRACE (-1)
+#define WITH_TRACE (~TRACE_debug)
#endif
/* Include the profiling code. Disabling this eliminates all profiling
diff --git a/sim/common/sim-endian.h b/sim/common/sim-endian.h
index 442e4010f67..e8c18602866 100644
--- a/sim/common/sim-endian.h
+++ b/sim/common/sim-endian.h
@@ -20,8 +20,8 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
-#ifndef _SIM_ENDIAN_H_
-#define _SIM_ENDIAN_H_
+#ifndef SIM_ENDIAN_H
+#define SIM_ENDIAN_H
/* C byte conversion functions */
@@ -411,4 +411,4 @@ do { \
#include "sim-endian.c"
#endif
-#endif /* _SIM_ENDIAN_H_ */
+#endif /* SIM_ENDIAN_H */
diff --git a/sim/common/sim-events.c b/sim/common/sim-events.c
index 3e7a4dc66b9..c4c76601647 100644
--- a/sim/common/sim-events.c
+++ b/sim/common/sim-events.c
@@ -25,6 +25,7 @@
#include "sim-main.h"
#include "sim-assert.h"
+#include "libiberty.h"
#ifdef HAVE_STRING_H
#include <string.h>
@@ -140,21 +141,14 @@ struct _sim_event {
#define _ETRACE sd, NULL
-#undef ETRACE_P
-#define ETRACE_P (WITH_TRACE && STATE_EVENTS (sd)->trace)
-
#undef ETRACE
#define ETRACE(ARGS) \
do \
{ \
- if (ETRACE_P) \
+ if (STRACE_EVENTS_P (sd)) \
{ \
if (STRACE_DEBUG_P (sd)) \
- { \
- const char *file; \
- SIM_FILTER_PATH (file, __FILE__); \
- trace_printf (sd, NULL, "%s:%d: ", file, __LINE__); \
- } \
+ trace_printf (sd, NULL, "%s:%d: ", lbasename (__FILE__), __LINE__); \
trace_printf ARGS; \
} \
} \
@@ -409,7 +403,7 @@ update_time_from_event (SIM_DESC sd)
events->time_of_event = current_time - 1;
events->time_from_event = -1;
}
- if (ETRACE_P)
+ if (STRACE_EVENTS_P (sd))
{
sim_event *event;
int i;
@@ -521,7 +515,7 @@ sim_events_schedule_vtracef (SIM_DESC sd,
new_event->data = data;
new_event->handler = handler;
new_event->watching = watch_timer;
- if (fmt == NULL || !ETRACE_P || vasprintf (&new_event->trace, fmt, ap) < 0)
+ if (fmt == NULL || !STRACE_EVENTS_P (sd) || vasprintf (&new_event->trace, fmt, ap) < 0)
new_event->trace = NULL;
insert_sim_event (sd, new_event, delta_time);
ETRACE ((_ETRACE,
@@ -561,7 +555,7 @@ sim_events_schedule_after_signal (SIM_DESC sd,
if (events->nr_held > MAX_NR_SIGNAL_SIM_EVENTS)
{
sim_engine_abort (NULL, NULL, NULL_CIA,
- "sim_events_schedule_after_signal - buffer oveflow");
+ "sim_events_schedule_after_signal - buffer overflow");
}
new_event->data = data;
diff --git a/sim/common/sim-events.h b/sim/common/sim-events.h
index 9c56cabcdbd..6faa5cc31d1 100644
--- a/sim/common/sim-events.h
+++ b/sim/common/sim-events.h
@@ -94,7 +94,6 @@ struct _sim_events {
SIM_ELAPSED_TIME resume_wallclock;
signed64 time_of_event;
signed64 time_from_event;
- int trace;
};
diff --git a/sim/common/sim-model.c b/sim/common/sim-model.c
index a33bd2a7db2..db5f323a7cc 100644
--- a/sim/common/sim-model.c
+++ b/sim/common/sim-model.c
@@ -204,6 +204,7 @@ sim_model_init (SIM_DESC sd)
{
/* Set the default model. */
const MODEL *model = sim_model_lookup (WITH_DEFAULT_MODEL);
+ SIM_ASSERT (model != NULL);
sim_model_set (sd, NULL, model);
}
diff --git a/sim/common/sim-module.c b/sim/common/sim-module.c
index fd9b587967a..2d8e7dc3729 100644
--- a/sim/common/sim-module.c
+++ b/sim/common/sim-module.c
@@ -46,7 +46,7 @@ static MODULE_INSTALL_FN * const modules[] = {
#if WITH_ENGINE
sim_engine_install,
#endif
-#if WITH_TRACE
+#if WITH_TRACE_ANY_P
trace_install,
#endif
#if WITH_PROFILE
diff --git a/sim/common/sim-syscall.c b/sim/common/sim-syscall.c
new file mode 100644
index 00000000000..ff5e5d2ed35
--- /dev/null
+++ b/sim/common/sim-syscall.c
@@ -0,0 +1,123 @@
+/* Simulator system call support.
+
+ Copyright 2002-2015 Free Software Foundation, Inc.
+
+ This file is part of simulators.
+
+ 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 "config.h"
+
+#include <errno.h>
+
+#include "sim-main.h"
+#include "sim-syscall.h"
+#include "targ-vals.h"
+
+/* Read/write functions for system call interface. */
+
+int
+sim_syscall_read_mem (host_callback *cb ATTRIBUTE_UNUSED, struct cb_syscall *sc,
+ unsigned long taddr, char *buf, int bytes)
+{
+ SIM_DESC sd = (SIM_DESC) sc->p1;
+ SIM_CPU *cpu = (SIM_CPU *) sc->p2;
+
+ TRACE_MEMORY (cpu, "READ (syscall) %i bytes @ 0x%08lx", bytes, taddr);
+
+ return sim_core_read_buffer (sd, cpu, read_map, buf, taddr, bytes);
+}
+
+int
+sim_syscall_write_mem (host_callback *cb ATTRIBUTE_UNUSED, struct cb_syscall *sc,
+ unsigned long taddr, const char *buf, int bytes)
+{
+ SIM_DESC sd = (SIM_DESC) sc->p1;
+ SIM_CPU *cpu = (SIM_CPU *) sc->p2;
+
+ TRACE_MEMORY (cpu, "WRITE (syscall) %i bytes @ 0x%08lx", bytes, taddr);
+
+ return sim_core_write_buffer (sd, cpu, write_map, buf, taddr, bytes);
+}
+
+/* Main syscall callback for simulators. */
+
+void
+sim_syscall_multi (SIM_CPU *cpu, int func, long arg1, long arg2, long arg3,
+ long arg4, long *result, long *result2, int *errcode)
+{
+ SIM_DESC sd = CPU_STATE (cpu);
+ host_callback *cb = STATE_CALLBACK (sd);
+ CB_SYSCALL sc;
+ const char unknown_syscall[] = "<UNKNOWN SYSCALL>";
+ const char *syscall;
+
+ CB_SYSCALL_INIT (&sc);
+
+ sc.func = func;
+ sc.arg1 = arg1;
+ sc.arg2 = arg2;
+ sc.arg3 = arg3;
+ sc.arg4 = arg4;
+
+ sc.p1 = (PTR) sd;
+ sc.p2 = (PTR) cpu;
+ sc.read_mem = sim_syscall_read_mem;
+ sc.write_mem = sim_syscall_write_mem;
+
+ if (cb_syscall (cb, &sc) != CB_RC_OK)
+ {
+ /* The cb_syscall func never returns an error, so this is more of a
+ sanity check. */
+ sim_engine_abort (sd, cpu, sim_pc_get (cpu), "cb_syscall failed");
+ }
+
+ syscall = cb_target_str_syscall (cb, func);
+ if (!syscall)
+ syscall = unknown_syscall;
+
+ if (sc.result == -1)
+ TRACE_SYSCALL (cpu, "%s[%i](%#lx, %#lx, %#lx) = %li (error = %s[%i])",
+ syscall, func, arg1, arg2, arg3, sc.result,
+ cb_target_str_errno (cb, sc.errcode), sc.errcode);
+ else
+ TRACE_SYSCALL (cpu, "%s[%i](%#lx, %#lx, %#lx) = %li",
+ syscall, func, arg1, arg2, arg3, sc.result);
+
+ if (cb_target_to_host_syscall (cb, func) == CB_SYS_exit)
+ sim_engine_halt (sd, cpu, NULL, sim_pc_get (cpu), sim_exited, arg1);
+ else if (sc.result == -1)
+ {
+ cb->last_errno = errno;
+ sc.errcode = cb->get_errno (cb);
+ }
+
+ *result = sc.result;
+ *result2 = sc.result2;
+ *errcode = sc.errcode;
+}
+
+long
+sim_syscall (SIM_CPU *cpu, int func, long arg1, long arg2, long arg3, long arg4)
+{
+ long result, result2;
+ int errcode;
+
+ sim_syscall_multi (cpu, func, arg1, arg2, arg3, arg4, &result, &result2,
+ &errcode);
+ if (result == -1)
+ return -errcode;
+ else
+ return result;
+}
diff --git a/sim/common/sim-syscall.h b/sim/common/sim-syscall.h
new file mode 100644
index 00000000000..7e74661f0f0
--- /dev/null
+++ b/sim/common/sim-syscall.h
@@ -0,0 +1,45 @@
+/* Simulator system call support.
+
+ Copyright 2002-2015 Free Software Foundation, Inc.
+
+ This file is part of simulators.
+
+ 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 SIM_SYSCALL_H
+#define SIM_SYSCALL_H
+
+/* Perform a syscall on the behalf of the target program. The error/result are
+ normalized into a single value (like a lot of operating systems do). If you
+ want the split values, see the other function below.
+
+ Note: While cb_syscall requires you handle the exit syscall yourself, that is
+ not the case with these helpers.
+
+ Note: Types here match the gdb callback interface. */
+long sim_syscall (SIM_CPU *, int func, long arg1, long arg2, long arg3,
+ long arg4);
+
+/* Same as sim_syscall, but return the split values by referenced. */
+void sim_syscall_multi (SIM_CPU *, int func, long arg1, long arg2, long arg3,
+ long arg4, long *result, long *result2, int *errcode);
+
+/* Simple memory callbacks for cb_syscall's read_mem/write_mem that assume
+ cb_syscall's p1 and p2 are set to the SIM_DESC and SIM_CPU respectively. */
+int sim_syscall_read_mem (host_callback *, struct cb_syscall *, unsigned long,
+ char *, int);
+int sim_syscall_write_mem (host_callback *, struct cb_syscall *, unsigned long,
+ const char *, int);
+
+#endif
diff --git a/sim/common/sim-trace.c b/sim/common/sim-trace.c
index a706f1d89c6..e69c62df290 100644
--- a/sim/common/sim-trace.c
+++ b/sim/common/sim-trace.c
@@ -77,7 +77,8 @@ enum {
OPTION_TRACE_DEBUG,
OPTION_TRACE_FILE,
OPTION_TRACE_VPU,
- OPTION_TRACE_SYSCALL
+ OPTION_TRACE_SYSCALL,
+ OPTION_TRACE_REGISTER
};
static const OPTION trace_options[] =
@@ -102,19 +103,19 @@ static const OPTION trace_options[] =
'\0', "on|off", "Trace memory operations",
trace_option_handler, NULL },
{ {"trace-alu", optional_argument, NULL, OPTION_TRACE_ALU},
- '\0', "on|off", "Trace ALU operations",
+ '\0', "on|off", "Trace ALU (Arithmetic Logic Unit) operations",
trace_option_handler, NULL },
{ {"trace-fpu", optional_argument, NULL, OPTION_TRACE_FPU},
- '\0', "on|off", "Trace FPU operations",
+ '\0', "on|off", "Trace FPU (Floating Point Unit) operations",
trace_option_handler, NULL },
{ {"trace-vpu", optional_argument, NULL, OPTION_TRACE_VPU},
- '\0', "on|off", "Trace VPU operations",
+ '\0', "on|off", "Trace VPU (Vector Processing Unit) operations",
trace_option_handler, NULL },
{ {"trace-branch", optional_argument, NULL, OPTION_TRACE_BRANCH},
'\0', "on|off", "Trace branching",
trace_option_handler, NULL },
{ {"trace-semantics", optional_argument, NULL, OPTION_TRACE_SEMANTICS},
- '\0', "on|off", "Perform ALU, FPU, MEMORY, and BRANCH tracing",
+ '\0', "on|off", "Perform ALU, FPU, VPU, MEMORY, and BRANCH tracing",
trace_option_handler, NULL },
{ {"trace-model", optional_argument, NULL, OPTION_TRACE_MODEL},
'\0', "on|off", "Include model performance data",
@@ -128,6 +129,9 @@ static const OPTION trace_options[] =
{ {"trace-syscall", optional_argument, NULL, OPTION_TRACE_SYSCALL},
'\0', "on|off", "Trace system calls",
trace_option_handler, NULL },
+ { {"trace-register", optional_argument, NULL, OPTION_TRACE_REGISTER},
+ '\0', "on|off", "Trace cpu register accesses",
+ trace_option_handler, NULL },
#ifdef SIM_HAVE_ADDR_RANGE
{ {"trace-range", required_argument, NULL, OPTION_TRACE_RANGE},
'\0', "START,END", "Specify range of addresses for instruction tracing",
@@ -173,22 +177,14 @@ set_trace_option_mask (SIM_DESC sd, const char *name, int mask, const char *arg)
}
}
- /* update applicable trace bits */
+ /* Update applicable trace bits. */
for (trace_nr = 0; trace_nr < MAX_TRACE_VALUES; ++trace_nr)
{
if ((mask & (1 << trace_nr)) == 0)
continue;
/* Set non-cpu specific values. */
- switch (trace_nr)
- {
- case TRACE_EVENTS_IDX:
- STATE_EVENTS (sd)->trace = trace_val;
- break;
- case TRACE_DEBUG_IDX:
- STATE_TRACE_FLAGS (sd)[trace_nr] = trace_val;
- break;
- }
+ STATE_TRACE_FLAGS (sd)[trace_nr] = trace_val;
/* Set cpu values. */
for (cpu_nr = 0; cpu_nr < MAX_NR_PROCESSORS; cpu_nr++)
@@ -240,7 +236,7 @@ trace_option_handler (SIM_DESC sd, sim_cpu *cpu, int opt,
switch (opt)
{
case 't' :
- if (! WITH_TRACE)
+ if (!WITH_TRACE_ANY_P)
sim_io_eprintf (sd, "Tracing not compiled in, `-t' ignored\n");
else
return set_trace_option_mask (sd, "trace", TRACE_USEFUL_MASK, arg);
@@ -341,6 +337,13 @@ trace_option_handler (SIM_DESC sd, sim_cpu *cpu, int opt,
sim_io_eprintf (sd, "System call tracing not compiled in, `--trace-syscall' ignored\n");
break;
+ case OPTION_TRACE_REGISTER :
+ if (WITH_TRACE_REGISTER_P)
+ return set_trace_option (sd, "-register", TRACE_REGISTER_IDX, arg);
+ else
+ sim_io_eprintf (sd, "Register tracing not compiled in, `--trace-register' ignored\n");
+ break;
+
case OPTION_TRACE_SEMANTICS :
if (WITH_TRACE_ALU_P
&& WITH_TRACE_FPU_P
@@ -360,7 +363,7 @@ trace_option_handler (SIM_DESC sd, sim_cpu *cpu, int opt,
#ifdef SIM_HAVE_ADDR_RANGE
case OPTION_TRACE_RANGE :
- if (WITH_TRACE)
+ if (WITH_TRACE_ANY_P)
{
int cpu_nr;
char *chp = arg;
@@ -386,7 +389,7 @@ trace_option_handler (SIM_DESC sd, sim_cpu *cpu, int opt,
break;
case OPTION_TRACE_FUNCTION :
- if (WITH_TRACE)
+ if (WITH_TRACE_ANY_P)
{
/*wip: need to compute function range given name*/
}
@@ -403,7 +406,7 @@ trace_option_handler (SIM_DESC sd, sim_cpu *cpu, int opt,
break;
case OPTION_TRACE_FILE :
- if (! WITH_TRACE)
+ if (!WITH_TRACE_ANY_P)
sim_io_eprintf (sd, "Tracing not compiled in, `--trace-file' ignored\n");
else
{
@@ -611,17 +614,18 @@ trace_idx_to_str (int trace_idx)
static char num[8];
switch (trace_idx)
{
- case TRACE_ALU_IDX: return "alu: ";
- case TRACE_INSN_IDX: return "insn: ";
- case TRACE_DECODE_IDX: return "decode: ";
- case TRACE_EXTRACT_IDX: return "extract: ";
- case TRACE_MEMORY_IDX: return "memory: ";
- case TRACE_CORE_IDX: return "core: ";
- case TRACE_EVENTS_IDX: return "events: ";
- case TRACE_FPU_IDX: return "fpu: ";
- case TRACE_BRANCH_IDX: return "branch: ";
- case TRACE_SYSCALL_IDX: return "syscall: ";
- case TRACE_VPU_IDX: return "vpu: ";
+ case TRACE_ALU_IDX: return "alu: ";
+ case TRACE_INSN_IDX: return "insn: ";
+ case TRACE_DECODE_IDX: return "decode: ";
+ case TRACE_EXTRACT_IDX: return "extract: ";
+ case TRACE_MEMORY_IDX: return "memory: ";
+ case TRACE_CORE_IDX: return "core: ";
+ case TRACE_EVENTS_IDX: return "events: ";
+ case TRACE_FPU_IDX: return "fpu: ";
+ case TRACE_BRANCH_IDX: return "branch: ";
+ case TRACE_SYSCALL_IDX: return "syscall: ";
+ case TRACE_REGISTER_IDX: return "reg: ";
+ case TRACE_VPU_IDX: return "vpu: ";
default:
sprintf (num, "?%d?", trace_idx);
return num;
@@ -1214,107 +1218,12 @@ trace_vprintf (SIM_DESC sd, sim_cpu *cpu, const char *fmt, va_list ap)
}
}
-/* The function trace_one_insn has been replaced by the function pair
- trace_prefix() + trace_generic(). It is still used. */
-void
-trace_one_insn (SIM_DESC sd, sim_cpu *cpu, address_word pc,
- int line_p, const char *filename, int linenum,
- const char *phase_wo_colon, const char *fmt,
- ...)
-{
- va_list ap;
- char phase[SIZE_PHASE+2];
-
- strncpy (phase, phase_wo_colon, SIZE_PHASE);
- strcat (phase, ":");
-
- if (!line_p)
- {
- trace_printf (sd, cpu, "%-*s %s:%-*d 0x%.*lx ",
- SIZE_PHASE+1, phase,
- filename,
- SIZE_LINE_NUMBER, linenum,
- SIZE_PC, (long)pc);
- va_start (ap, fmt);
- trace_vprintf (sd, cpu, fmt, ap);
- va_end (ap);
- trace_printf (sd, cpu, "\n");
- }
- else
- {
- char buf[256];
-
- buf[0] = 0;
- if (STATE_TEXT_SECTION (CPU_STATE (cpu))
- && pc >= STATE_TEXT_START (CPU_STATE (cpu))
- && pc < STATE_TEXT_END (CPU_STATE (cpu)))
- {
- const char *pc_filename = (const char *)0;
- const char *pc_function = (const char *)0;
- unsigned int pc_linenum = 0;
-
- if (bfd_find_nearest_line (STATE_PROG_BFD (CPU_STATE (cpu)),
- STATE_TEXT_SECTION (CPU_STATE (cpu)),
- (struct bfd_symbol **) 0,
- pc - STATE_TEXT_START (CPU_STATE (cpu)),
- &pc_filename, &pc_function, &pc_linenum))
- {
- char *p = buf;
- if (pc_linenum)
- {
- sprintf (p, "#%-*d ", SIZE_LINE_NUMBER, pc_linenum);
- p += strlen (p);
- }
- else
- {
- sprintf (p, "%-*s ", SIZE_LINE_NUMBER+1, "---");
- p += SIZE_LINE_NUMBER+2;
- }
-
- if (pc_function)
- {
- sprintf (p, "%s ", pc_function);
- p += strlen (p);
- }
- else if (pc_filename)
- {
- char *q = (char *) strrchr (pc_filename, '/');
- sprintf (p, "%s ", (q) ? q+1 : pc_filename);
- p += strlen (p);
- }
-
- if (*p == ' ')
- *p = '\0';
- }
- }
-
- trace_printf (sd, cpu, "%-*s 0x%.*x %-*.*s ",
- SIZE_PHASE+1, phase,
- SIZE_PC, (unsigned) pc,
- SIZE_LOCATION, SIZE_LOCATION, buf);
- va_start (ap, fmt);
- trace_vprintf (sd, cpu, fmt, ap);
- va_end (ap);
- trace_printf (sd, cpu, "\n");
- }
-}
-
void
trace_printf (SIM_DESC sd, sim_cpu *cpu, const char *fmt, ...)
{
-#if !defined __STDC__ && !defined ALMOST_STDC
- SIM_DESC sd;
- sim_cpu *cpu;
- const char *fmt;
-#endif
va_list ap;
va_start (ap, fmt);
-#if !defined __STDC__ && !defined ALMOST_STDC
- sd = va_arg (ap, SIM_DESC);
- cpu = va_arg (ap, sim_cpu *);
- fmt = va_arg (ap, const char *);
-#endif
trace_vprintf (sd, cpu, fmt, ap);
@@ -1322,19 +1231,11 @@ trace_printf (SIM_DESC sd, sim_cpu *cpu, const char *fmt, ...)
}
void
-debug_printf (sim_cpu *cpu, const char *fmt, ...)
+sim_debug_printf (sim_cpu *cpu, const char *fmt, ...)
{
-#if !defined __STDC__ && !defined ALMOST_STDC
- sim_cpu *cpu;
- const char *fmt;
-#endif
va_list ap;
va_start (ap, fmt);
-#if !defined __STDC__ && !defined ALMOST_STDC
- cpu = va_arg (ap, sim_cpu *);
- fmt = va_arg (ap, const char *);
-#endif
if (CPU_DEBUG_FILE (cpu) == NULL)
(* STATE_CALLBACK (CPU_STATE (cpu))->evprintf_filtered)
diff --git a/sim/common/sim-trace.h b/sim/common/sim-trace.h
index 3f787445bd9..28fc35162c8 100644
--- a/sim/common/sim-trace.h
+++ b/sim/common/sim-trace.h
@@ -50,7 +50,7 @@ enum {
/* Include model performance data in tracing output. */
TRACE_MODEL_IDX,
- /* Trace ALU operations. */
+ /* Trace ALU (Arithmetic Logic Unit) operations. */
TRACE_ALU_IDX,
/* Trace memory core operations. */
@@ -59,10 +59,10 @@ enum {
/* Trace events. */
TRACE_EVENTS_IDX,
- /* Trace fpu operations. */
+ /* Trace FPU (Floating Point Unit) operations. */
TRACE_FPU_IDX,
- /* Trace vpu operations. */
+ /* Trace VPU (Vector Processing Unit) operations. */
TRACE_VPU_IDX,
/* Trace branching. */
@@ -71,6 +71,10 @@ enum {
/* Trace syscalls. */
TRACE_SYSCALL_IDX,
+ /* Trace cpu register accesses. Registers that are part of hardware devices
+ should use the HW_TRACE macros instead. */
+ TRACE_REGISTER_IDX,
+
/* Add information useful for debugging the simulator to trace output. */
TRACE_DEBUG_IDX,
@@ -87,10 +91,7 @@ enum {
splat on the screen everything under the sun making nothing easy to
find. */
#define TRACE_USEFUL_MASK \
-((1 << TRACE_INSN_IDX) \
- | (1 << TRACE_LINENUM_IDX) \
- | (1 << TRACE_MEMORY_IDX) \
- | (1 << TRACE_MODEL_IDX))
+ (TRACE_insn | TRACE_linenum | TRACE_memory | TRACE_model)
/* Masks so WITH_TRACE can have symbolic values.
The case choice here is on purpose. The lowercase parts are args to
@@ -108,23 +109,29 @@ enum {
#define TRACE_vpu (1 << TRACE_VPU_IDX)
#define TRACE_branch (1 << TRACE_BRANCH_IDX)
#define TRACE_syscall (1 << TRACE_SYSCALL_IDX)
+#define TRACE_register (1 << TRACE_REGISTER_IDX)
#define TRACE_debug (1 << TRACE_DEBUG_IDX)
+/* Return non-zero if tracing of idx is enabled (compiled in). */
+#define WITH_TRACE_P(idx) (WITH_TRACE & (1 << idx))
+
/* Preprocessor macros to simplify tests of WITH_TRACE. */
-#define WITH_TRACE_INSN_P (WITH_TRACE & TRACE_insn)
-#define WITH_TRACE_DECODE_P (WITH_TRACE & TRACE_decode)
-#define WITH_TRACE_EXTRACT_P (WITH_TRACE & TRACE_extract)
-#define WITH_TRACE_LINENUM_P (WITH_TRACE & TRACE_linenum)
-#define WITH_TRACE_MEMORY_P (WITH_TRACE & TRACE_memory)
-#define WITH_TRACE_MODEL_P (WITH_TRACE & TRACE_model)
-#define WITH_TRACE_ALU_P (WITH_TRACE & TRACE_alu)
-#define WITH_TRACE_CORE_P (WITH_TRACE & TRACE_core)
-#define WITH_TRACE_EVENTS_P (WITH_TRACE & TRACE_events)
-#define WITH_TRACE_FPU_P (WITH_TRACE & TRACE_fpu)
-#define WITH_TRACE_VPU_P (WITH_TRACE & TRACE_vpu)
-#define WITH_TRACE_BRANCH_P (WITH_TRACE & TRACE_branch)
-#define WITH_TRACE_SYSCALL_P (WITH_TRACE & TRACE_syscall)
-#define WITH_TRACE_DEBUG_P (WITH_TRACE & TRACE_debug)
+#define WITH_TRACE_ANY_P (WITH_TRACE)
+#define WITH_TRACE_INSN_P WITH_TRACE_P (TRACE_INSN_IDX)
+#define WITH_TRACE_DECODE_P WITH_TRACE_P (TRACE_DECODE_IDX)
+#define WITH_TRACE_EXTRACT_P WITH_TRACE_P (TRACE_EXTRACT_IDX)
+#define WITH_TRACE_LINENUM_P WITH_TRACE_P (TRACE_LINENUM_IDX)
+#define WITH_TRACE_MEMORY_P WITH_TRACE_P (TRACE_MEMORY_IDX)
+#define WITH_TRACE_MODEL_P WITH_TRACE_P (TRACE_MODEL_IDX)
+#define WITH_TRACE_ALU_P WITH_TRACE_P (TRACE_ALU_IDX)
+#define WITH_TRACE_CORE_P WITH_TRACE_P (TRACE_CORE_IDX)
+#define WITH_TRACE_EVENTS_P WITH_TRACE_P (TRACE_EVENTS_IDX)
+#define WITH_TRACE_FPU_P WITH_TRACE_P (TRACE_FPU_IDX)
+#define WITH_TRACE_VPU_P WITH_TRACE_P (TRACE_VPU_IDX)
+#define WITH_TRACE_BRANCH_P WITH_TRACE_P (TRACE_BRANCH_IDX)
+#define WITH_TRACE_SYSCALL_P WITH_TRACE_P (TRACE_SYSCALL_IDX)
+#define WITH_TRACE_REGISTER_P WITH_TRACE_P (TRACE_REGISTER_IDX)
+#define WITH_TRACE_DEBUG_P WITH_TRACE_P (TRACE_DEBUG_IDX)
/* Tracing install handler. */
MODULE_INSTALL_FN trace_install;
@@ -192,11 +199,47 @@ typedef struct _trace_data {
/* Return non-zero if tracing of IDX is enabled for non-cpu specific
components. The "S" in "STRACE" refers to "System". */
#define STRACE_P(sd,idx) \
-((WITH_TRACE & (1 << (idx))) != 0 \
- && STATE_TRACE_FLAGS (sd)[idx] != 0)
+ (WITH_TRACE_P (idx) && STATE_TRACE_FLAGS (sd)[idx] != 0)
/* Non-zero if --trace-<xxxx> was specified for SD. */
+#define STRACE_ANY_P(sd) (WITH_TRACE_ANY_P && (STATE_TRACE_DATA (sd)->trace_any_p))
+#define STRACE_INSN_P(sd) STRACE_P (sd, TRACE_INSN_IDX)
+#define STRACE_DECODE_P(sd) STRACE_P (sd, TRACE_DECODE_IDX)
+#define STRACE_EXTRACT_P(sd) STRACE_P (sd, TRACE_EXTRACT_IDX)
+#define STRACE_LINENUM_P(sd) STRACE_P (sd, TRACE_LINENUM_IDX)
+#define STRACE_MEMORY_P(sd) STRACE_P (sd, TRACE_MEMORY_IDX)
+#define STRACE_MODEL_P(sd) STRACE_P (sd, TRACE_MODEL_IDX)
+#define STRACE_ALU_P(sd) STRACE_P (sd, TRACE_ALU_IDX)
+#define STRACE_CORE_P(sd) STRACE_P (sd, TRACE_CORE_IDX)
+#define STRACE_EVENTS_P(sd) STRACE_P (sd, TRACE_EVENTS_IDX)
+#define STRACE_FPU_P(sd) STRACE_P (sd, TRACE_FPU_IDX)
+#define STRACE_VPU_P(sd) STRACE_P (sd, TRACE_VPU_IDX)
+#define STRACE_BRANCH_P(sd) STRACE_P (sd, TRACE_BRANCH_IDX)
+#define STRACE_SYSCALL_P(sd) STRACE_P (sd, TRACE_SYSCALL_IDX)
+#define STRACE_REGISTER_P(sd) STRACE_P (sd, TRACE_REGISTER_IDX)
#define STRACE_DEBUG_P(sd) STRACE_P (sd, TRACE_DEBUG_IDX)
+
+/* Helper functions for printing messages. */
+#define STRACE(sd, idx, fmt, args...) \
+ do { \
+ if (STRACE_P (sd, idx)) \
+ trace_generic (sd, NULL, idx, fmt, ## args); \
+ } while (0)
+#define STRACE_INSN(sd, fmt, args...) STRACE (sd, TRACE_INSN_IDX, fmt, ## args)
+#define STRACE_DECODE(sd, fmt, args...) STRACE (sd, TRACE_DECODE_IDX, fmt, ## args)
+#define STRACE_EXTRACT(sd, fmt, args...) STRACE (sd, TRACE_EXTRACT_IDX, fmt, ## args)
+#define STRACE_LINENUM(sd, fmt, args...) STRACE (sd, TRACE_LINENUM_IDX, fmt, ## args)
+#define STRACE_MEMORY(sd, fmt, args...) STRACE (sd, TRACE_MEMORY_IDX, fmt, ## args)
+#define STRACE_MODEL(sd, fmt, args...) STRACE (sd, TRACE_MODEL_IDX, fmt, ## args)
+#define STRACE_ALU(sd, fmt, args...) STRACE (sd, TRACE_ALU_IDX, fmt, ## args)
+#define STRACE_CORE(sd, fmt, args...) STRACE (sd, TRACE_CORE_IDX, fmt, ## args)
+#define STRACE_EVENTS(sd, fmt, args...) STRACE (sd, TRACE_EVENTS_IDX, fmt, ## args)
+#define STRACE_FPU(sd, fmt, args...) STRACE (sd, TRACE_FPU_IDX, fmt, ## args)
+#define STRACE_VPU(sd, fmt, args...) STRACE (sd, TRACE_VPU_IDX, fmt, ## args)
+#define STRACE_BRANCH(sd, fmt, args...) STRACE (sd, TRACE_BRANCH_IDX, fmt, ## args)
+#define STRACE_SYSCALL(sd, fmt, args...) STRACE (sd, TRACE_SYSCALL_IDX, fmt, ## args)
+#define STRACE_REGISTER(sd, fmt, args...) STRACE (sd, TRACE_REGISTER_IDX, fmt, ## args)
+#define STRACE_DEBUG(sd, fmt, args...) STRACE (sd, TRACE_DEBUG_IDX, fmt, ## args)
/* CPU tracing support. */
@@ -204,11 +247,10 @@ typedef struct _trace_data {
/* Return non-zero if tracing of IDX is enabled for CPU. */
#define TRACE_P(cpu,idx) \
-((WITH_TRACE & (1 << (idx))) != 0 \
- && CPU_TRACE_FLAGS (cpu)[idx] != 0)
+ (WITH_TRACE_P (idx) && CPU_TRACE_FLAGS (cpu)[idx] != 0)
/* Non-zero if --trace-<xxxx> was specified for CPU. */
-#define TRACE_ANY_P(cpu) ((WITH_TRACE) && (CPU_TRACE_DATA (cpu)->trace_any_p))
+#define TRACE_ANY_P(cpu) (WITH_TRACE_ANY_P && (CPU_TRACE_DATA (cpu)->trace_any_p))
#define TRACE_INSN_P(cpu) TRACE_P (cpu, TRACE_INSN_IDX)
#define TRACE_DECODE_P(cpu) TRACE_P (cpu, TRACE_DECODE_IDX)
#define TRACE_EXTRACT_P(cpu) TRACE_P (cpu, TRACE_EXTRACT_IDX)
@@ -222,7 +264,30 @@ typedef struct _trace_data {
#define TRACE_VPU_P(cpu) TRACE_P (cpu, TRACE_VPU_IDX)
#define TRACE_BRANCH_P(cpu) TRACE_P (cpu, TRACE_BRANCH_IDX)
#define TRACE_SYSCALL_P(cpu) TRACE_P (cpu, TRACE_SYSCALL_IDX)
+#define TRACE_REGISTER_P(cpu) TRACE_P (cpu, TRACE_REGISTER_IDX)
#define TRACE_DEBUG_P(cpu) TRACE_P (cpu, TRACE_DEBUG_IDX)
+
+/* Helper functions for printing messages. */
+#define TRACE(cpu, idx, fmt, args...) \
+ do { \
+ if (TRACE_P (cpu, idx)) \
+ trace_generic (CPU_STATE (cpu), cpu, idx, fmt, ## args); \
+ } while (0)
+#define TRACE_INSN(cpu, fmt, args...) TRACE (cpu, TRACE_INSN_IDX, fmt, ## args)
+#define TRACE_DECODE(cpu, fmt, args...) TRACE (cpu, TRACE_DECODE_IDX, fmt, ## args)
+#define TRACE_EXTRACT(cpu, fmt, args...) TRACE (cpu, TRACE_EXTRACT_IDX, fmt, ## args)
+#define TRACE_LINENUM(cpu, fmt, args...) TRACE (cpu, TRACE_LINENUM_IDX, fmt, ## args)
+#define TRACE_MEMORY(cpu, fmt, args...) TRACE (cpu, TRACE_MEMORY_IDX, fmt, ## args)
+#define TRACE_MODEL(cpu, fmt, args...) TRACE (cpu, TRACE_MODEL_IDX, fmt, ## args)
+#define TRACE_ALU(cpu, fmt, args...) TRACE (cpu, TRACE_ALU_IDX, fmt, ## args)
+#define TRACE_CORE(cpu, fmt, args...) TRACE (cpu, TRACE_CORE_IDX, fmt, ## args)
+#define TRACE_EVENTS(cpu, fmt, args...) TRACE (cpu, TRACE_EVENTS_IDX, fmt, ## args)
+#define TRACE_FPU(cpu, fmt, args...) TRACE (cpu, TRACE_FPU_IDX, fmt, ## args)
+#define TRACE_VPU(cpu, fmt, args...) TRACE (cpu, TRACE_VPU_IDX, fmt, ## args)
+#define TRACE_BRANCH(cpu, fmt, args...) TRACE (cpu, TRACE_BRANCH_IDX, fmt, ## args)
+#define TRACE_SYSCALL(cpu, fmt, args...) TRACE (cpu, TRACE_SYSCALL_IDX, fmt, ## args)
+#define TRACE_REGISTER(cpu, fmt, args...) TRACE (cpu, TRACE_REGISTER_IDX, fmt, ## args)
+#define TRACE_DEBUG(cpu, fmt, args...) TRACE (cpu, TRACE_DEBUG_IDX, fmt, ## args)
/* Tracing functions. */
@@ -553,19 +618,6 @@ do { \
} while (0)
-/* The function trace_one_insn has been replaced by the function pair
- trace_prefix() + trace_generic() */
-extern void trace_one_insn (SIM_DESC sd,
- sim_cpu * cpu,
- address_word cia,
- int print_linenum_p,
- const char *file_name,
- int line_nr,
- const char *unit,
- const char *fmt,
- ...)
- __attribute__((format (printf, 8, 9)));
-
extern void trace_printf (SIM_DESC, sim_cpu *, const char *, ...)
__attribute__((format (printf, 3, 4)));
@@ -583,10 +635,7 @@ extern void trace_vprintf (SIM_DESC, sim_cpu *, const char *, va_list);
/* Non-zero if "--debug-insn" specified. */
#define DEBUG_INSN_P(cpu) DEBUG_P (cpu, DEBUG_INSN_IDX)
-/* GDB also has a debug_printf, so we shadow ours. */
-#define debug_printf sim_debug_printf
-
-extern void debug_printf (sim_cpu *, const char *, ...)
+extern void sim_debug_printf (sim_cpu *, const char *, ...)
__attribute__((format (printf, 2, 3)));
#endif /* SIM_TRACE_H */
diff --git a/sim/common/sim-types.h b/sim/common/sim-types.h
index 8244e7da9d7..862f4e0b1c6 100644
--- a/sim/common/sim-types.h
+++ b/sim/common/sim-types.h
@@ -21,7 +21,9 @@
#ifndef SIM_TYPES_H
-/* #define SIM_TYPES_H */
+#define SIM_TYPES_H
+
+#include <stdint.h>
/* INTEGER QUANTITIES:
@@ -42,96 +44,33 @@
*/
-#if !defined (SIM_TYPES_H) && defined (__GNUC__)
-#define SIM_TYPES_H
-
-/* bit based */
-
-#define UNSIGNED32(X) ((unsigned32) X##UL)
-#define UNSIGNED64(X) ((unsigned64) X##ULL)
-
-#define SIGNED32(X) ((signed32) X##L)
-#define SIGNED64(X) ((signed64) X##LL)
-
-typedef signed int signed8 __attribute__ ((__mode__ (__QI__)));
-typedef signed int signed16 __attribute__ ((__mode__ (__HI__)));
-typedef signed int signed32 __attribute__ ((__mode__ (__SI__)));
-typedef signed int signed64 __attribute__ ((__mode__ (__DI__)));
-
-typedef unsigned int unsigned8 __attribute__ ((__mode__ (__QI__)));
-typedef unsigned int unsigned16 __attribute__ ((__mode__ (__HI__)));
-typedef unsigned int unsigned32 __attribute__ ((__mode__ (__SI__)));
-typedef unsigned int unsigned64 __attribute__ ((__mode__ (__DI__)));
-
-typedef struct { unsigned64 a[2]; } unsigned128;
-typedef struct { signed64 a[2]; } signed128;
-
-#endif
-
-
-#if !defined (SIM_TYPES_H) && defined (_MSC_VER)
-#define SIM_TYPES_H
-
-/* bit based */
-
-#define UNSIGNED32(X) (X##ui32)
-#define UNSIGNED64(X) (X##ui64)
-
-#define SIGNED32(X) (X##i32)
-#define SIGNED64(X) (X##i64)
-
-typedef signed char signed8;
-typedef signed short signed16;
-typedef signed int signed32;
-typedef signed __int64 signed64;
-
-typedef unsigned int unsigned8;
-typedef unsigned int unsigned16;
-typedef unsigned int unsigned32;
-typedef unsigned __int64 unsigned64;
-
-typedef struct { unsigned64 a[2]; } unsigned128;
-typedef struct { signed64 a[2]; } signed128;
-
-#endif /* _MSC_VER */
-
-
-#if !defined (SIM_TYPES_H)
-#define SIM_TYPES_H
-
/* bit based */
-#define UNSIGNED32(X) (X##UL)
-#define UNSIGNED64(X) (X##ULL)
-
-#define SIGNED32(X) (X##L)
-#define SIGNED64(X) (X##LL)
-
-typedef signed char signed8;
-typedef signed short signed16;
-#if defined (__ALPHA__)
-typedef signed int signed32;
-typedef signed long signed64;
+#ifdef _MSC_VER
+# define UNSIGNED32(X) (X##ui32)
+# define UNSIGNED64(X) (X##ui64)
+# define SIGNED32(X) (X##i32)
+# define SIGNED64(X) (X##i64)
#else
-typedef signed long signed32;
-typedef signed long long signed64;
+# define UNSIGNED32(X) ((unsigned32) X##UL)
+# define UNSIGNED64(X) ((unsigned64) X##ULL)
+# define SIGNED32(X) ((signed32) X##L)
+# define SIGNED64(X) ((signed64) X##LL)
#endif
-typedef unsigned char unsigned8;
-typedef unsigned short unsigned16;
-#if defined (__ALPHA__)
-typedef unsigned int unsigned32;
-typedef unsigned long unsigned64;
-#else
-typedef unsigned long unsigned32;
-typedef unsigned long long unsigned64;
-#endif
+typedef int8_t signed8;
+typedef int16_t signed16;
+typedef int32_t signed32;
+typedef int64_t signed64;
+
+typedef uint8_t unsigned8;
+typedef uint16_t unsigned16;
+typedef uint32_t unsigned32;
+typedef uint64_t unsigned64;
typedef struct { unsigned64 a[2]; } unsigned128;
typedef struct { signed64 a[2]; } signed128;
-#endif
-
/* byte based */
diff --git a/sim/common/syscall.c b/sim/common/syscall.c
index 29b73c24a2d..0c374288048 100644
--- a/sim/common/syscall.c
+++ b/sim/common/syscall.c
@@ -240,7 +240,7 @@ cb_syscall (host_callback *cb, CB_SYSCALL *sc)
#endif /* wip */
case CB_SYS_exit :
- /* Caller must catch and handle. */
+ /* Caller must catch and handle; see sim_syscall as an example. */
break;
case CB_SYS_open :
diff --git a/sim/configure b/sim/configure
index bf0a0940305..a90d352fdbc 100755
--- a/sim/configure
+++ b/sim/configure
@@ -1281,7 +1281,7 @@ Optional Features:
--disable-option-checking ignore unrecognized --enable/--with options
--disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
--enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --enable-sim
+ --enable-sim Enable the GNU simulator
Some influential environment variables:
CC C compiler command
diff --git a/sim/configure.ac b/sim/configure.ac
index f1734e387a3..39f9c6e179a 100644
--- a/sim/configure.ac
+++ b/sim/configure.ac
@@ -30,7 +30,7 @@ AC_SUBST(CFLAGS_FOR_BUILD)
# If a cpu ever has more than one simulator to choose from, use
# --enable-sim=... to choose.
AC_ARG_ENABLE(sim,
-[ --enable-sim ],
+[AS_HELP_STRING([--enable-sim], [Enable the GNU simulator])],
[case "${enableval}" in
yes | no) ;;
*) AC_MSG_ERROR(bad value ${enableval} given for --enable-sim option) ;;
diff --git a/sim/cr16/ChangeLog b/sim/cr16/ChangeLog
index 1108bdbe7cb..68de3bfa9e9 100644
--- a/sim/cr16/ChangeLog
+++ b/sim/cr16/ChangeLog
@@ -1,3 +1,15 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-main.h (SIM_CPU): Delete.
diff --git a/sim/cr16/configure b/sim/cr16/configure
index 39f93ad4b44..215f0c45bfa 100755
--- a/sim/cr16/configure
+++ b/sim/cr16/configure
@@ -1405,17 +1405,28 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
- --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.
- --enable-sim-inline=inlines Specify which functions should be inlined.
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
+ --enable-sim-environment=environment
+ Specify mixed, user, virtual or operating
+ environment
+ --enable-sim-inline=inlines
+ Specify which functions should be inlined
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings if gcc is used
--enable-sim-build-warnings
@@ -2227,7 +2238,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12306,7 +12317,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12309 "configure"
+#line 12320 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12412,7 +12423,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12415 "configure"
+#line 12426 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12748,10 +12759,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/cris/ChangeLog b/sim/cris/ChangeLog
index 23c739d3758..ad3f1864590 100644
--- a/sim/cris/ChangeLog
+++ b/sim/cris/ChangeLog
@@ -1,3 +1,37 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-17 Mike Frysinger <vapier@gentoo.org>
+
+ * traps.c: Include sim-syscall.h.
+ (syscall_read_mem, syscall_write_mem): Delete.
+ (cris_break_13_handler): Change syscall_read_mem/syscall_write_mem
+ to sim_syscall_read_mem/sim_syscall_write_mem.
+
+2015-06-17 Mike Frysinger <vapier@gentoo.org>
+
+ * traps.c (syscall_map): Fill out name field.
+ (syscall_stat32_map, errno_map, open_map): Likewise.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * decodev10.c (crisv10f_decode): Change TRACE_EXTRACT to
+ CGEN_TRACE_EXTRACT.
+ * decodev32.c (crisv32f_decode): Likewise.
+ * mloop.in (execute): Change TRACE_INSN_INIT to CGEN_TRACE_INSN_INIT,
+ TRACE_INSN to CGEN_TRACE_INSN, and TRACE_INSN_FINI to CGEN_TRACE_INSN_FINI.
+ * semcrisv10f-switch.c: Change TRACE_RESULT to CGEN_TRACE_RESULT.
+ * semcrisv32f-switch.c: Likewise.
+
2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-main.h (SIM_ENGINE_HALT_HOOK, SIM_ENGINE_RESTART_HOOK): Delete.
diff --git a/sim/cris/configure b/sim/cris/configure
index 6705a1bccf8..a40197ff060 100755
--- a/sim/cris/configure
+++ b/sim/cris/configure
@@ -1411,15 +1411,23 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
- --enable-sim-scache=size Specify simulator execution cache size.
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
+ --enable-sim-scache=size
+ Specify simulator execution cache size
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings if gcc is used
--enable-sim-build-warnings
@@ -1427,10 +1435,14 @@ Optional Features:
gcc is used
--enable-sim-hardware=LIST
Specify the hardware to be included in the build.
- --enable-sim-default-model=model Specify default model to simulate.
- --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.
- --enable-sim-inline=inlines Specify which functions should be inlined.
- --enable-cgen-maint=DIR build cgen generated files
+ --enable-sim-default-model=model
+ Specify default model to simulate
+ --enable-sim-environment=environment
+ Specify mixed, user, virtual or operating
+ environment
+ --enable-sim-inline=inlines
+ Specify which functions should be inlined
+ --enable-cgen-maint=DIR build cgen generated files
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -2237,7 +2249,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12316,7 +12328,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12319 "configure"
+#line 12331 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12422,7 +12434,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12425 "configure"
+#line 12437 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12758,10 +12770,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/cris/decodev10.c b/sim/cris/decodev10.c
index 7a1860c31ac..67ac343ee30 100644
--- a/sim/cris/decodev10.c
+++ b/sim/cris/decodev10.c
@@ -2391,7 +2391,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
#undef FLD
return idesc;
@@ -2404,7 +2404,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop", (char *) 0));
#undef FLD
return idesc;
@@ -2424,7 +2424,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2452,7 +2452,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_d_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_d_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2477,7 +2477,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movepcr", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movepcr", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2504,7 +2504,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_s6) = f_s6;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_moveq", "f_s6 0x%x", 'x', f_s6, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_moveq", "f_s6 0x%x", 'x', f_s6, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2531,7 +2531,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2562,7 +2562,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__byte) = f_indir_pc__byte;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2592,7 +2592,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__word) = f_indir_pc__word;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2622,7 +2622,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__dword) = f_indir_pc__dword;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecdr", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecdr", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2652,7 +2652,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__byte) = f_indir_pc__byte;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movscbr", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movscbr", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2682,7 +2682,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__word) = f_indir_pc__word;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movscwr", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movscwr", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2712,7 +2712,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__byte) = f_indir_pc__byte;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movucbr", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movucbr", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2742,7 +2742,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__word) = f_indir_pc__word;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movucwr", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movucwr", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2769,7 +2769,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_u6) = f_u6;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addq", "f_operand2 0x%x", 'x', f_operand2, "f_u6 0x%x", 'x', f_u6, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addq", "f_operand2 0x%x", 'x', f_operand2, "f_u6 0x%x", 'x', f_u6, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2797,7 +2797,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_r_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_r_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2828,7 +2828,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2860,7 +2860,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2892,7 +2892,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2924,7 +2924,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__byte) = f_indir_pc__byte;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2954,7 +2954,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__word) = f_indir_pc__word;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2984,7 +2984,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__dword) = f_indir_pc__dword;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3011,7 +3011,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_s6) = f_s6;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpq", "f_operand2 0x%x", 'x', f_operand2, "f_s6 0x%x", 'x', f_s6, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpq", "f_operand2 0x%x", 'x', f_operand2, "f_s6 0x%x", 'x', f_s6, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3041,7 +3041,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__byte) = f_indir_pc__byte;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpucbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpucbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3071,7 +3071,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__word) = f_indir_pc__word;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpucwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpucwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3101,7 +3101,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3133,7 +3133,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3165,7 +3165,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_d_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_d_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3197,7 +3197,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3229,7 +3229,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3258,7 +3258,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_sprv10", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_sprv10", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3286,7 +3286,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_rv10", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_rv10", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3311,7 +3311,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ret_type", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ret_type", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3341,7 +3341,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_sprv10", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_sprv10", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3373,7 +3373,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__word) = f_indir_pc__word;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv10_p5", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv10_p5", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3403,7 +3403,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__dword) = f_indir_pc__dword;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv10_p9", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv10_p9", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3433,7 +3433,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_mv10", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_mv10", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3455,7 +3455,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sbfs", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sbfs", (char *) 0));
#undef FLD
return idesc;
@@ -3478,7 +3478,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_r_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_r_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3526,7 +3526,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3570,7 +3570,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_pc", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_pc", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3613,7 +3613,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3642,7 +3642,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3674,7 +3674,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3707,7 +3707,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3740,7 +3740,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3773,7 +3773,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__byte) = f_indir_pc__byte;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3804,7 +3804,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__word) = f_indir_pc__word;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3835,7 +3835,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__dword) = f_indir_pc__dword;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3863,7 +3863,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__dword) = f_indir_pc__dword;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcpc", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcpc", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3892,7 +3892,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3925,7 +3925,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3958,7 +3958,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__byte) = f_indir_pc__byte;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addscbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addscbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3989,7 +3989,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__word) = f_indir_pc__word;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addscwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addscwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4010,7 +4010,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addspcpc", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addspcpc", (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4036,7 +4036,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4065,7 +4065,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_neg_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_neg_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4093,7 +4093,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_neg_d_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_neg_d_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4121,7 +4121,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4149,7 +4149,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4177,7 +4177,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_d_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_d_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4208,7 +4208,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4240,7 +4240,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4272,7 +4272,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4301,7 +4301,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_muls_b", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_muls_b", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4331,7 +4331,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mstep", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mstep", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4360,7 +4360,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dstep", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dstep", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4389,7 +4389,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4418,7 +4418,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4450,7 +4450,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4483,7 +4483,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4516,7 +4516,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4549,7 +4549,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__byte) = f_indir_pc__byte;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4580,7 +4580,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__word) = f_indir_pc__word;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4611,7 +4611,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__dword) = f_indir_pc__dword;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4639,7 +4639,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_s6) = f_s6;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andq", "f_operand2 0x%x", 'x', f_operand2, "f_s6 0x%x", 'x', f_s6, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andq", "f_operand2 0x%x", 'x', f_operand2, "f_s6 0x%x", 'x', f_s6, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4667,7 +4667,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_swap", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_swap", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4695,7 +4695,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_u5) = f_u5;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asrq", "f_operand2 0x%x", 'x', f_operand2, "f_u5 0x%x", 'x', f_u5, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asrq", "f_operand2 0x%x", 'x', f_operand2, "f_u5 0x%x", 'x', f_u5, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4723,7 +4723,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsrr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsrr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4752,7 +4752,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsrr_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsrr_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4781,7 +4781,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btst", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btst", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4809,7 +4809,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_u5) = f_u5;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btstq", "f_operand2 0x%x", 'x', f_operand2, "f_u5 0x%x", 'x', f_u5, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btstq", "f_operand2 0x%x", 'x', f_operand2, "f_u5 0x%x", 'x', f_u5, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4837,7 +4837,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_dstsrc) = f_dstsrc;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setf", "f_dstsrc 0x%x", 'x', f_dstsrc, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setf", "f_dstsrc 0x%x", 'x', f_dstsrc, (char *) 0));
#undef FLD
return idesc;
@@ -4867,7 +4867,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (i_o_pcrel) = f_disp9;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_b", "f_operand2 0x%x", 'x', f_operand2, "o_pcrel 0x%x", 'x', f_disp9, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_b", "f_operand2 0x%x", 'x', f_operand2, "o_pcrel 0x%x", 'x', f_disp9, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4900,7 +4900,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_o_pcrel) = f_disp9;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_b", "o_pcrel 0x%x", 'x', f_disp9, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_b", "o_pcrel 0x%x", 'x', f_disp9, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4929,7 +4929,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (i_o_word_pcrel) = f_indir_pc__word_pcrel;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_w", "f_operand2 0x%x", 'x', f_operand2, "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_w", "f_operand2 0x%x", 'x', f_operand2, "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4955,7 +4955,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_o_word_pcrel) = f_indir_pc__word_pcrel;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_w", "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_w", "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4981,7 +4981,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5012,7 +5012,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5044,7 +5044,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__dword) = f_indir_pc__dword;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_c", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_c", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5068,7 +5068,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_u4) = f_u4;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_break", "f_u4 0x%x", 'x', f_u4, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_break", "f_u4 0x%x", 'x', f_u4, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5097,7 +5097,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5130,7 +5130,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5163,7 +5163,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5196,7 +5196,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__byte) = f_indir_pc__byte;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cb", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cb", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5227,7 +5227,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__word) = f_indir_pc__word;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cw", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cw", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5258,7 +5258,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__dword) = f_indir_pc__dword;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cd", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cd", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5286,7 +5286,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_scc", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_scc", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5313,7 +5313,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_s8) = f_s8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addoq", "f_operand2 0x%x", 'x', f_operand2, "f_s8 0x%x", 'x', f_s8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addoq", "f_operand2 0x%x", 'x', f_operand2, "f_s8 0x%x", 'x', f_s8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5337,7 +5337,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_s8) = f_s8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bdapqpc", "f_s8 0x%x", 'x', f_s8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bdapqpc", "f_s8 0x%x", 'x', f_s8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5363,7 +5363,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__dword) = f_indir_pc__dword;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bdap_32_pc", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bdap_32_pc", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5386,7 +5386,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_pcplus_p0", "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_pcplus_p0", "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5409,7 +5409,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_spplus_p8", "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_spplus_p8", "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5440,7 +5440,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5472,7 +5472,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5504,7 +5504,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5536,7 +5536,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__byte) = f_indir_pc__byte;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cb", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cb", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5566,7 +5566,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__word) = f_indir_pc__word;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cw", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cw", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5596,7 +5596,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__dword) = f_indir_pc__dword;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cd", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cd", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5623,7 +5623,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dip_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dip_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5651,7 +5651,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__dword) = f_indir_pc__dword;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dip_c", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dip_c", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
#undef FLD
return idesc;
@@ -5671,7 +5671,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_acr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_acr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5696,7 +5696,7 @@ crisv10f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_biap_pc_b_r", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_biap_pc_b_r", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
diff --git a/sim/cris/decodev32.c b/sim/cris/decodev32.c
index aaabe035e12..51456f2dd3a 100644
--- a/sim/cris/decodev32.c
+++ b/sim/cris/decodev32.c
@@ -1914,7 +1914,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
#undef FLD
return idesc;
@@ -1934,7 +1934,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1962,7 +1962,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_d_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_d_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1990,7 +1990,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_s6) = f_s6;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_moveq", "f_s6 0x%x", 'x', f_s6, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_moveq", "f_s6 0x%x", 'x', f_s6, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2017,7 +2017,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2048,7 +2048,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__byte) = f_indir_pc__byte;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2078,7 +2078,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__word) = f_indir_pc__word;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2108,7 +2108,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__dword) = f_indir_pc__dword;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecdr", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movecdr", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2138,7 +2138,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__byte) = f_indir_pc__byte;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movscbr", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movscbr", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2168,7 +2168,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__word) = f_indir_pc__word;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movscwr", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movscwr", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2198,7 +2198,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__byte) = f_indir_pc__byte;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movucbr", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movucbr", "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2228,7 +2228,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__word) = f_indir_pc__word;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movucwr", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movucwr", "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2255,7 +2255,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_u6) = f_u6;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addq", "f_operand2 0x%x", 'x', f_operand2, "f_u6 0x%x", 'x', f_u6, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addq", "f_operand2 0x%x", 'x', f_operand2, "f_u6 0x%x", 'x', f_u6, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2283,7 +2283,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_r_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_r_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2314,7 +2314,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2346,7 +2346,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2378,7 +2378,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2410,7 +2410,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__byte) = f_indir_pc__byte;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2440,7 +2440,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__word) = f_indir_pc__word;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2470,7 +2470,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__dword) = f_indir_pc__dword;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2497,7 +2497,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_s6) = f_s6;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpq", "f_operand2 0x%x", 'x', f_operand2, "f_s6 0x%x", 'x', f_s6, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpq", "f_operand2 0x%x", 'x', f_operand2, "f_s6 0x%x", 'x', f_s6, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2527,7 +2527,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__byte) = f_indir_pc__byte;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpucbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpucbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2557,7 +2557,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__word) = f_indir_pc__word;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpucwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpucwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2587,7 +2587,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2619,7 +2619,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2651,7 +2651,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_d_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_d_m", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2683,7 +2683,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2715,7 +2715,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movs_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2744,7 +2744,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_sprv32", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_sprv32", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2772,7 +2772,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_rv32", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_rv32", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2803,7 +2803,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_sprv32", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_m_sprv32", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2835,7 +2835,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__dword) = f_indir_pc__dword;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv32_p2", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_c_sprv32_p2", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2865,7 +2865,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_mv32", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_spr_mv32", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2894,7 +2894,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_ss_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_ss_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2921,7 +2921,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_ss", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_ss", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2951,7 +2951,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_r_m_v32", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_r_m_v32", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2999,7 +2999,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_r_v32", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movem_m_r_v32", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3044,7 +3044,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3073,7 +3073,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3105,7 +3105,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3138,7 +3138,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3171,7 +3171,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3204,7 +3204,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__byte) = f_indir_pc__byte;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3235,7 +3235,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__word) = f_indir_pc__word;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3266,7 +3266,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__dword) = f_indir_pc__dword;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3297,7 +3297,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3330,7 +3330,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_adds_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3363,7 +3363,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__byte) = f_indir_pc__byte;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addscbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addscbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3394,7 +3394,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__word) = f_indir_pc__word;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addscwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addscwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3425,7 +3425,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addc_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addc_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3458,7 +3458,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (i_const32_pcrel) = f_indir_pc__dword_pcrel;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lapc_d", "f_operand2 0x%x", 'x', f_operand2, "const32_pcrel 0x%x", 'x', f_indir_pc__dword_pcrel, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lapc_d", "f_operand2 0x%x", 'x', f_operand2, "const32_pcrel 0x%x", 'x', f_indir_pc__dword_pcrel, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3485,7 +3485,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (i_qo) = f_qo;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lapcq", "f_operand2 0x%x", 'x', f_operand2, "qo 0x%x", 'x', f_qo, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lapcq", "f_operand2 0x%x", 'x', f_operand2, "qo 0x%x", 'x', f_qo, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3512,7 +3512,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3541,7 +3541,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_neg_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_neg_b_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3569,7 +3569,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_neg_d_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_neg_d_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3597,7 +3597,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_b_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3625,7 +3625,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_w_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3653,7 +3653,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_d_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_test_m_d_m", "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3684,7 +3684,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3716,7 +3716,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3748,7 +3748,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_move_r_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3777,7 +3777,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_muls_b", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_muls_b", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3807,7 +3807,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mcp", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mcp", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3836,7 +3836,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dstep", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dstep", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3865,7 +3865,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3894,7 +3894,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3926,7 +3926,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3959,7 +3959,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3992,7 +3992,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4025,7 +4025,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__byte) = f_indir_pc__byte;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcbr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4056,7 +4056,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__word) = f_indir_pc__word;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcwr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4087,7 +4087,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__dword) = f_indir_pc__dword;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcdr", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4115,7 +4115,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_s6) = f_s6;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andq", "f_operand2 0x%x", 'x', f_operand2, "f_s6 0x%x", 'x', f_s6, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andq", "f_operand2 0x%x", 'x', f_operand2, "f_s6 0x%x", 'x', f_s6, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4143,7 +4143,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_swap", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_swap", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4171,7 +4171,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_u5) = f_u5;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asrq", "f_operand2 0x%x", 'x', f_operand2, "f_u5 0x%x", 'x', f_u5, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_asrq", "f_operand2 0x%x", 'x', f_operand2, "f_u5 0x%x", 'x', f_u5, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4199,7 +4199,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsrr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsrr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4228,7 +4228,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsrr_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lsrr_d_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4257,7 +4257,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btst", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btst", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4285,7 +4285,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_u5) = f_u5;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btstq", "f_operand2 0x%x", 'x', f_operand2, "f_u5 0x%x", 'x', f_u5, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btstq", "f_operand2 0x%x", 'x', f_operand2, "f_u5 0x%x", 'x', f_u5, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4313,7 +4313,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_dstsrc) = f_dstsrc;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setf", "f_dstsrc 0x%x", 'x', f_dstsrc, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setf", "f_dstsrc 0x%x", 'x', f_dstsrc, (char *) 0));
#undef FLD
return idesc;
@@ -4326,7 +4326,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rfe", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rfe", (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4347,7 +4347,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sfe", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sfe", (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4368,7 +4368,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rfg", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rfg", (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4387,7 +4387,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rfn", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rfn", (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4408,7 +4408,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_halt", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_halt", (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4444,7 +4444,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (i_o_pcrel) = f_disp9;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_b", "f_operand2 0x%x", 'x', f_operand2, "o_pcrel 0x%x", 'x', f_disp9, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_b", "f_operand2 0x%x", 'x', f_operand2, "o_pcrel 0x%x", 'x', f_disp9, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4477,7 +4477,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_o_pcrel) = f_disp9;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_b", "o_pcrel 0x%x", 'x', f_disp9, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_b", "o_pcrel 0x%x", 'x', f_disp9, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4506,7 +4506,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (i_o_word_pcrel) = f_indir_pc__word_pcrel;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_w", "f_operand2 0x%x", 'x', f_operand2, "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcc_w", "f_operand2 0x%x", 'x', f_operand2, "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4532,7 +4532,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_o_word_pcrel) = f_indir_pc__word_pcrel;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_w", "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ba_w", "o_word_pcrel 0x%x", 'x', f_indir_pc__word_pcrel, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4558,7 +4558,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jas_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jas_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4589,7 +4589,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_indir_pc__dword) = f_indir_pc__dword;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jas_c", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jas_c", "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4613,7 +4613,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_p", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jump_p", "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4643,7 +4643,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (i_const32_pcrel) = f_indir_pc__dword_pcrel;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bas_c", "f_operand2 0x%x", 'x', f_operand2, "const32_pcrel 0x%x", 'x', f_indir_pc__dword_pcrel, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bas_c", "f_operand2 0x%x", 'x', f_operand2, "const32_pcrel 0x%x", 'x', f_indir_pc__dword_pcrel, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4670,7 +4670,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
FLD (f_operand2) = f_operand2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jasc_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jasc_r", "f_operand1 0x%x", 'x', f_operand1, "f_operand2 0x%x", 'x', f_operand2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4695,7 +4695,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_u4) = f_u4;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_break", "f_u4 0x%x", 'x', f_u4, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_break", "f_u4 0x%x", 'x', f_u4, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4724,7 +4724,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__byte) = f_indir_pc__byte;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cb", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cb", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4755,7 +4755,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__word) = f_indir_pc__word;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cw", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cw", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4786,7 +4786,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__dword) = f_indir_pc__dword;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cd", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bound_cd", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4814,7 +4814,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_scc", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_scc", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4841,7 +4841,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_s8) = f_s8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addoq", "f_operand2 0x%x", 'x', f_operand2, "f_s8 0x%x", 'x', f_s8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addoq", "f_operand2 0x%x", 'x', f_operand2, "f_s8 0x%x", 'x', f_s8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4871,7 +4871,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_b_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4903,7 +4903,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_w_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4935,7 +4935,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
FLD (f_memmode) = f_memmode;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_m_d_m", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, "f_memmode 0x%x", 'x', f_memmode, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4967,7 +4967,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__byte) = f_indir_pc__byte;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cb", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cb", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__byte 0x%x", 'x', f_indir_pc__byte, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4997,7 +4997,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__word) = f_indir_pc__word;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cw", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cw", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__word 0x%x", 'x', f_indir_pc__word, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5027,7 +5027,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_indir_pc__dword) = f_indir_pc__dword;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cd", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addo_cd", "f_operand2 0x%x", 'x', f_operand2, "f_indir_pc__dword 0x%x", 'x', f_indir_pc__dword, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5054,7 +5054,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand2) = f_operand2;
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_acr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_acr_b_r", "f_operand2 0x%x", 'x', f_operand2, "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5079,7 +5079,7 @@ crisv32f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_operand1) = f_operand1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fidxi", "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fidxi", "f_operand1 0x%x", 'x', f_operand1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
diff --git a/sim/cris/mloop.in b/sim/cris/mloop.in
index d31d4201e65..f8208d25c12 100644
--- a/sim/cris/mloop.in
+++ b/sim/cris/mloop.in
@@ -102,8 +102,8 @@ execute (SIM_CPU *current_cpu, SCACHE *sc, int fast_p)
if (PROFILE_MODEL_P (current_cpu)
&& ARGBUF_PROFILE_P (abuf))
@cpu@_model_insn_before (current_cpu, 1 /*first_p*/);
- TRACE_INSN_INIT (current_cpu, abuf, 1);
- TRACE_INSN (current_cpu, idesc->idata,
+ CGEN_TRACE_INSN_INIT (current_cpu, abuf, 1);
+ CGEN_TRACE_INSN (current_cpu, idesc->idata,
(const struct argbuf *) abuf, abuf->addr);
}
#if WITH_SCACHE
@@ -122,7 +122,7 @@ execute (SIM_CPU *current_cpu, SCACHE *sc, int fast_p)
cycles = (*idesc->timing->model_fn) (current_cpu, sc);
@cpu@_model_insn_after (current_cpu, 1 /*last_p*/, cycles);
}
- TRACE_INSN_FINI (current_cpu, abuf, 1);
+ CGEN_TRACE_INSN_FINI (current_cpu, abuf, 1);
}
#else
abort ();
diff --git a/sim/cris/semcrisv10f-switch.c b/sim/cris/semcrisv10f-switch.c
index e17ed64ca4f..001d69aa074 100644
--- a/sim/cris/semcrisv10f-switch.c
+++ b/sim/cris/semcrisv10f-switch.c
@@ -260,13 +260,13 @@ This file is part of the GNU simulators.
/* If hyper-fast [well not unnecessarily slow] execution is selected, turn
off frills like tracing and profiling. */
-/* FIXME: A better way would be to have TRACE_RESULT check for something
+/* FIXME: A better way would be to have CGEN_TRACE_RESULT check for something
that can cause it to be optimized out. Another way would be to emit
special handlers into the instruction "stream". */
#if FAST_P
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
+#undef CGEN_TRACE_RESULT
+#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
#endif
#undef GET_ATTR
@@ -452,12 +452,12 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -483,19 +483,19 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -503,12 +503,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -536,19 +536,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -556,12 +556,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -586,18 +586,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -605,12 +605,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -636,18 +636,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_pcval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_pcval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_pcval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -655,12 +655,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -686,7 +686,7 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SET_H_NBIT_MOVE (LTSI (tmp_newval, 0));
@@ -697,12 +697,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -729,18 +729,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -748,12 +748,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -780,18 +780,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -799,12 +799,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -831,18 +831,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -850,12 +850,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -882,18 +882,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -901,12 +901,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -934,19 +934,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -954,12 +954,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -987,19 +987,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -1007,12 +1007,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1037,18 +1037,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -1056,12 +1056,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1086,18 +1086,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -1105,12 +1105,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1135,18 +1135,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -1154,12 +1154,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1184,18 +1184,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -1203,12 +1203,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1233,18 +1233,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -1252,12 +1252,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1288,39 +1288,39 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1351,39 +1351,39 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1416,33 +1416,33 @@ SET_H_VBIT_MOVE (0);
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1475,33 +1475,33 @@ SET_H_VBIT_MOVE (0);
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1534,33 +1534,33 @@ SET_H_VBIT_MOVE (0);
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1599,7 +1599,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -1612,33 +1612,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1678,7 +1678,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -1691,33 +1691,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1757,7 +1757,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -1770,33 +1770,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1830,33 +1830,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1889,33 +1889,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1948,33 +1948,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2007,33 +2007,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2072,7 +2072,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2085,33 +2085,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2151,7 +2151,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2164,33 +2164,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2224,33 +2224,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2283,33 +2283,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2348,7 +2348,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2361,33 +2361,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2427,7 +2427,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2440,33 +2440,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2500,33 +2500,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2559,33 +2559,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2621,7 +2621,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2632,19 +2632,19 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_tmp, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmp, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -2652,12 +2652,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2694,7 +2694,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2705,19 +2705,19 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_tmp, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmp, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -2725,12 +2725,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2767,7 +2767,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2775,18 +2775,18 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_tmp;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmp, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -2794,12 +2794,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2836,7 +2836,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2846,26 +2846,26 @@ if (ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) {
SI opval = tmp_tmp;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = tmp_tmp;
SET_H_GR (FLD (f_operand2), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTSI (tmp_tmp, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -2873,12 +2873,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2915,7 +2915,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2925,26 +2925,26 @@ if (ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) {
SI opval = tmp_tmp;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = tmp_tmp;
SET_H_GR (FLD (f_operand2), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTSI (tmp_tmp, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -2952,12 +2952,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2994,7 +2994,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3004,26 +3004,26 @@ if (ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) {
SI opval = tmp_tmp;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = tmp_tmp;
SET_H_GR (FLD (f_operand2), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTSI (tmp_tmp, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -3031,12 +3031,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3073,7 +3073,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3083,26 +3083,26 @@ if (ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) {
SI opval = tmp_tmp;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = tmp_tmp;
SET_H_GR (FLD (f_operand2), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTSI (tmp_tmp, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -3110,12 +3110,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3148,19 +3148,19 @@ cgen_rtx_error (current_cpu, "move-r-spr: trying to set a read-only special regi
SI opval = tmp_tmp;
SET_H_SR (FLD (f_operand2), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3193,7 +3193,7 @@ if (EQSI (tmp_prno, 5)) {
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3202,7 +3202,7 @@ if (EQSI (tmp_prno, 5)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 10)) {
@@ -3210,7 +3210,7 @@ if (EQSI (tmp_prno, 5)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 11)) {
@@ -3218,7 +3218,7 @@ if (EQSI (tmp_prno, 5)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 12)) {
@@ -3226,7 +3226,7 @@ if (EQSI (tmp_prno, 5)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 13)) {
@@ -3234,7 +3234,7 @@ if (EQSI (tmp_prno, 5)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 0)) {
@@ -3245,7 +3245,7 @@ if (EQSI (tmp_prno, 5)) {
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3257,7 +3257,7 @@ if (EQSI (tmp_prno, 5)) {
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3269,7 +3269,7 @@ if (EQSI (tmp_prno, 5)) {
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3278,7 +3278,7 @@ if (EQSI (tmp_prno, 5)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 7)) {
@@ -3286,7 +3286,7 @@ if (EQSI (tmp_prno, 5)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 14)) {
@@ -3294,7 +3294,7 @@ if (EQSI (tmp_prno, 5)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 15)) {
@@ -3302,7 +3302,7 @@ if (EQSI (tmp_prno, 5)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else {
@@ -3312,12 +3312,12 @@ cgen_rtx_error (current_cpu, "move-spr-r from unimplemented register");
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3344,19 +3344,19 @@ cgen_rtx_error (current_cpu, "move-spr-r from unimplemented register");
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
{
{
USI opval = tmp_retaddr;
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -3395,7 +3395,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3417,7 +3417,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3439,7 +3439,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3461,7 +3461,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3483,7 +3483,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3505,7 +3505,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3527,7 +3527,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3549,7 +3549,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3571,7 +3571,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3583,18 +3583,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = tmp_newval;
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3617,18 +3617,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__word);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3650,18 +3650,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3683,18 +3683,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3716,18 +3716,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3749,18 +3749,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3782,18 +3782,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3815,18 +3815,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3848,18 +3848,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3881,18 +3881,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3926,13 +3926,13 @@ if (EQBI (CPU (h_pbit), 0)) {
HI opval = GET_H_SR (FLD (f_operand2));
SETMEMHI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -3940,7 +3940,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -3948,7 +3948,7 @@ if (EQBI (CPU (h_pbit), 0)) {
HI opval = GET_H_SR (FLD (f_operand2));
SETMEMHI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -3960,7 +3960,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3979,13 +3979,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -3993,7 +3993,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4001,7 +4001,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4013,7 +4013,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4032,13 +4032,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4046,7 +4046,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4054,7 +4054,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4066,7 +4066,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4085,13 +4085,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4099,7 +4099,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4107,7 +4107,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4119,7 +4119,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4138,13 +4138,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4152,7 +4152,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4160,7 +4160,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4172,7 +4172,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4191,13 +4191,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4205,7 +4205,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4213,7 +4213,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4225,7 +4225,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4244,13 +4244,13 @@ if (EQBI (CPU (h_pbit), 0)) {
QI opval = GET_H_SR (FLD (f_operand2));
SETMEMQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4258,7 +4258,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4266,7 +4266,7 @@ if (EQBI (CPU (h_pbit), 0)) {
QI opval = GET_H_SR (FLD (f_operand2));
SETMEMQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4278,7 +4278,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4297,13 +4297,13 @@ if (EQBI (CPU (h_pbit), 0)) {
QI opval = GET_H_SR (FLD (f_operand2));
SETMEMQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4311,7 +4311,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4319,7 +4319,7 @@ if (EQBI (CPU (h_pbit), 0)) {
QI opval = GET_H_SR (FLD (f_operand2));
SETMEMQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4331,7 +4331,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4350,13 +4350,13 @@ if (EQBI (CPU (h_pbit), 0)) {
HI opval = GET_H_SR (FLD (f_operand2));
SETMEMHI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4364,7 +4364,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4372,7 +4372,7 @@ if (EQBI (CPU (h_pbit), 0)) {
HI opval = GET_H_SR (FLD (f_operand2));
SETMEMHI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4384,7 +4384,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4403,13 +4403,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4417,7 +4417,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4425,7 +4425,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4437,7 +4437,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4456,13 +4456,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4470,7 +4470,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4478,7 +4478,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4490,7 +4490,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4509,13 +4509,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4523,7 +4523,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4531,7 +4531,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4543,7 +4543,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4562,13 +4562,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4576,7 +4576,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4584,7 +4584,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4596,7 +4596,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4609,12 +4609,12 @@ cgen_rtx_error (current_cpu, "write from unimplemented special register");
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -4666,7 +4666,7 @@ if (GESI (FLD (f_operand2), 15)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 23);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4679,7 +4679,7 @@ if (GESI (FLD (f_operand2), 14)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 23);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4692,7 +4692,7 @@ if (GESI (FLD (f_operand2), 13)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 23);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4705,7 +4705,7 @@ if (GESI (FLD (f_operand2), 12)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 23);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4718,7 +4718,7 @@ if (GESI (FLD (f_operand2), 11)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 23);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4731,7 +4731,7 @@ if (GESI (FLD (f_operand2), 10)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 23);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4744,7 +4744,7 @@ if (GESI (FLD (f_operand2), 9)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 23);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4757,7 +4757,7 @@ if (GESI (FLD (f_operand2), 8)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 23);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4770,7 +4770,7 @@ if (GESI (FLD (f_operand2), 7)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 23);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4783,7 +4783,7 @@ if (GESI (FLD (f_operand2), 6)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 23);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4796,7 +4796,7 @@ if (GESI (FLD (f_operand2), 5)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 23);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4809,7 +4809,7 @@ if (GESI (FLD (f_operand2), 4)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 23);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4822,7 +4822,7 @@ if (GESI (FLD (f_operand2), 3)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 23);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4835,7 +4835,7 @@ if (GESI (FLD (f_operand2), 2)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 23);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4848,7 +4848,7 @@ if (GESI (FLD (f_operand2), 1)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 23);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4861,7 +4861,7 @@ if (GESI (FLD (f_operand2), 0)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 23);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4872,19 +4872,19 @@ if (NEBI (tmp_postinc, 0)) {
SI opval = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (tmp_addr) : (CPU (h_prefixreg_pre_v32)));
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 22);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -4921,7 +4921,7 @@ if (GESI (FLD (f_operand2), 14)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 14), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4934,7 +4934,7 @@ if (GESI (FLD (f_operand2), 13)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 13), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4947,7 +4947,7 @@ if (GESI (FLD (f_operand2), 12)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 12), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4960,7 +4960,7 @@ if (GESI (FLD (f_operand2), 11)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 11), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4973,7 +4973,7 @@ if (GESI (FLD (f_operand2), 10)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 10), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4986,7 +4986,7 @@ if (GESI (FLD (f_operand2), 9)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 9), opval);
written |= (1 << 22);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4999,7 +4999,7 @@ if (GESI (FLD (f_operand2), 8)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 8), opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5012,7 +5012,7 @@ if (GESI (FLD (f_operand2), 7)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 7), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5025,7 +5025,7 @@ if (GESI (FLD (f_operand2), 6)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 6), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5038,7 +5038,7 @@ if (GESI (FLD (f_operand2), 5)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 5), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5051,7 +5051,7 @@ if (GESI (FLD (f_operand2), 4)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 4), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5064,7 +5064,7 @@ if (GESI (FLD (f_operand2), 3)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 3), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5077,7 +5077,7 @@ if (GESI (FLD (f_operand2), 2)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 2), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5090,7 +5090,7 @@ if (GESI (FLD (f_operand2), 1)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5103,7 +5103,7 @@ if (GESI (FLD (f_operand2), 0)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 0), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5114,19 +5114,19 @@ if (NEBI (tmp_postinc, 0)) {
SI opval = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (tmp_addr) : (CPU (h_prefixreg_pre_v32)));
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5155,7 +5155,7 @@ if (NEBI (tmp_postinc, 0)) {
{
USI opval = GETMEMSI (current_cpu, pc, tmp_addr);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
{
@@ -5164,7 +5164,7 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = tmp_tmp;
SET_H_GR (((UINT) 14), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5174,7 +5174,7 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = tmp_tmp;
SET_H_GR (((UINT) 13), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5184,7 +5184,7 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = tmp_tmp;
SET_H_GR (((UINT) 12), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5194,7 +5194,7 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = tmp_tmp;
SET_H_GR (((UINT) 11), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5204,7 +5204,7 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = tmp_tmp;
SET_H_GR (((UINT) 10), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5214,7 +5214,7 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = tmp_tmp;
SET_H_GR (((UINT) 9), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5224,7 +5224,7 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = tmp_tmp;
SET_H_GR (((UINT) 8), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5234,7 +5234,7 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = tmp_tmp;
SET_H_GR (((UINT) 7), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5244,7 +5244,7 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = tmp_tmp;
SET_H_GR (((UINT) 6), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5254,7 +5254,7 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = tmp_tmp;
SET_H_GR (((UINT) 5), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5264,7 +5264,7 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = tmp_tmp;
SET_H_GR (((UINT) 4), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5274,7 +5274,7 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = tmp_tmp;
SET_H_GR (((UINT) 3), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5284,7 +5284,7 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = tmp_tmp;
SET_H_GR (((UINT) 2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5294,7 +5294,7 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = tmp_tmp;
SET_H_GR (((UINT) 1), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5304,7 +5304,7 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = tmp_tmp;
SET_H_GR (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5314,19 +5314,19 @@ if (NEBI (tmp_postinc, 0)) {
SI opval = ((EQBI (GET_H_INSN_PREFIXED_P (), 0)) ? (tmp_addr) : (CPU (h_prefixreg_pre_v32)));
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5361,40 +5361,40 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), ORIF (ANDIF (LTQI (tmp_tmpopd, 0), GEQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (GEQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5428,40 +5428,40 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), ORIF (ANDIF (LTHI (tmp_tmpopd, 0), GEHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (GEHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5492,39 +5492,39 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5563,7 +5563,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -5577,40 +5577,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), ORIF (ANDIF (LTQI (tmp_tmpopd, 0), GEQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (GEQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5650,7 +5650,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -5664,40 +5664,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), ORIF (ANDIF (LTHI (tmp_tmpopd, 0), GEHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (GEHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5737,7 +5737,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -5748,39 +5748,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5815,40 +5815,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), ORIF (ANDIF (LTQI (tmp_tmpopd, 0), GEQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (GEQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5882,40 +5882,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), ORIF (ANDIF (LTHI (tmp_tmpopd, 0), GEHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (GEHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5946,39 +5946,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6008,39 +6008,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
USI opval = tmp_newpc;
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_offs, 0), LTSI (tmp_oldpc, 0)), ORIF (ANDIF (LTSI (tmp_oldpc, 0), GESI (tmp_newpc, 0)), ANDIF (LTSI (tmp_offs, 0), GESI (tmp_newpc, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newpc, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newpc, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_offs, 0), LTSI (tmp_oldpc, 0)), GESI (tmp_newpc, 0)), ANDIF (ANDIF (GESI (tmp_offs, 0), GESI (tmp_oldpc, 0)), LTSI (tmp_newpc, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6072,39 +6072,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6135,39 +6135,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6206,7 +6206,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -6217,39 +6217,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6289,7 +6289,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -6300,39 +6300,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6364,39 +6364,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6427,39 +6427,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6492,39 +6492,39 @@ cgen_rtx_error (current_cpu, "Unexpected adds.w [PC],PC without prefix");
{
USI opval = tmp_newpc;
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (EXTHISI (tmp_offs), 0), LTSI (tmp_oldpc, 0)), ORIF (ANDIF (LTSI (tmp_oldpc, 0), GESI (tmp_newpc, 0)), ANDIF (LTSI (EXTHISI (tmp_offs), 0), GESI (tmp_newpc, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newpc, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newpc, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (EXTHISI (tmp_offs), 0), LTSI (tmp_oldpc, 0)), GESI (tmp_newpc, 0)), ANDIF (ANDIF (GESI (EXTHISI (tmp_offs), 0), GESI (tmp_oldpc, 0)), LTSI (tmp_newpc, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6556,39 +6556,39 @@ cgen_rtx_error (current_cpu, "Unexpected adds.w [PC],PC without prefix");
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6619,39 +6619,39 @@ cgen_rtx_error (current_cpu, "Unexpected adds.w [PC],PC without prefix");
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6690,7 +6690,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -6701,39 +6701,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6773,7 +6773,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -6784,39 +6784,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6848,39 +6848,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6911,39 +6911,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6977,40 +6977,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7044,40 +7044,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7108,39 +7108,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7179,7 +7179,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7193,40 +7193,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7266,7 +7266,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7280,40 +7280,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7353,7 +7353,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7364,39 +7364,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7431,40 +7431,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7498,40 +7498,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7562,39 +7562,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7625,39 +7625,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7688,39 +7688,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7759,7 +7759,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7770,39 +7770,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7842,7 +7842,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7853,39 +7853,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7917,39 +7917,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7980,39 +7980,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8043,39 +8043,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8106,39 +8106,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8177,7 +8177,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -8188,39 +8188,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8260,7 +8260,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -8271,39 +8271,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8335,39 +8335,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8398,39 +8398,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8453,18 +8453,18 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 1));
SET_H_GR (FLD (f_operand1), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8486,18 +8486,18 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 2));
SET_H_GR (FLD (f_operand1), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8519,18 +8519,18 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 4));
SET_H_GR (FLD (f_operand1), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8563,40 +8563,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8630,40 +8630,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8694,39 +8694,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8762,7 +8762,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -8781,33 +8781,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8845,7 +8845,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -8864,33 +8864,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8928,7 +8928,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -8947,33 +8947,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9009,13 +9009,13 @@ if (EQBI (CPU (h_pbit), 0)) {
QI opval = tmp_tmpd;
SETMEMQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -9023,7 +9023,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -9031,7 +9031,7 @@ if (EQBI (CPU (h_pbit), 0)) {
QI opval = tmp_tmpd;
SETMEMQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -9043,7 +9043,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -9052,12 +9052,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9091,13 +9091,13 @@ if (EQBI (CPU (h_pbit), 0)) {
HI opval = tmp_tmpd;
SETMEMHI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -9105,7 +9105,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -9113,7 +9113,7 @@ if (EQBI (CPU (h_pbit), 0)) {
HI opval = tmp_tmpd;
SETMEMHI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -9125,7 +9125,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -9134,12 +9134,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9173,13 +9173,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = tmp_tmpd;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -9187,7 +9187,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -9195,7 +9195,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = tmp_tmpd;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -9207,7 +9207,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -9216,12 +9216,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9250,44 +9250,44 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = TRUNCDISI (tmp_tmpr);
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
SET_H_SR (((UINT) 7), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = ANDIF (GET_H_V32_NON_V32 (), CPU (h_cbit));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTDI (tmp_tmpr, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = NEDI (tmp_tmpr, EXTSIDI (TRUNCDISI (tmp_tmpr)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9316,44 +9316,44 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = TRUNCDISI (tmp_tmpr);
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
SET_H_SR (((UINT) 7), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = ANDIF (GET_H_V32_NON_V32 (), CPU (h_cbit));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTDI (tmp_tmpr, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = NEDI (tmp_tmpr, EXTSIDI (TRUNCDISI (tmp_tmpr)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9382,44 +9382,44 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = TRUNCDISI (tmp_tmpr);
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
SET_H_SR (((UINT) 7), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = ANDIF (GET_H_V32_NON_V32 (), CPU (h_cbit));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTDI (tmp_tmpr, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = NEDI (tmp_tmpr, EXTSIDI (TRUNCDISI (tmp_tmpr)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9448,44 +9448,44 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = TRUNCDISI (tmp_tmpr);
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
SET_H_SR (((UINT) 7), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = ANDIF (GET_H_V32_NON_V32 (), CPU (h_cbit));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTDI (tmp_tmpr, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = NEDI (tmp_tmpr, ZEXTSIDI (TRUNCDISI (tmp_tmpr)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9514,44 +9514,44 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = TRUNCDISI (tmp_tmpr);
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
SET_H_SR (((UINT) 7), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = ANDIF (GET_H_V32_NON_V32 (), CPU (h_cbit));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTDI (tmp_tmpr, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = NEDI (tmp_tmpr, ZEXTSIDI (TRUNCDISI (tmp_tmpr)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9580,44 +9580,44 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = TRUNCDISI (tmp_tmpr);
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
SET_H_SR (((UINT) 7), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = ANDIF (GET_H_V32_NON_V32 (), CPU (h_cbit));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTDI (tmp_tmpr, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = NEDI (tmp_tmpr, ZEXTSIDI (TRUNCDISI (tmp_tmpr)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9644,18 +9644,18 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -9663,12 +9663,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9697,18 +9697,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -9716,12 +9716,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9746,18 +9746,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -9765,12 +9765,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9798,19 +9798,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -9818,12 +9818,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9851,19 +9851,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -9871,12 +9871,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9901,18 +9901,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -9920,12 +9920,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9961,7 +9961,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -9972,19 +9972,19 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -9992,12 +9992,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10034,7 +10034,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -10045,19 +10045,19 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10065,12 +10065,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10107,7 +10107,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -10115,18 +10115,18 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_tmpd;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10134,12 +10134,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10168,19 +10168,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10188,12 +10188,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10221,19 +10221,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10241,12 +10241,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10271,18 +10271,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10290,12 +10290,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10320,18 +10320,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10339,12 +10339,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10372,19 +10372,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10392,12 +10392,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10425,19 +10425,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10445,12 +10445,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10475,18 +10475,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10494,12 +10494,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10535,7 +10535,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -10546,19 +10546,19 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10566,12 +10566,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10608,7 +10608,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -10619,19 +10619,19 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10639,12 +10639,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10681,7 +10681,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -10689,18 +10689,18 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_tmpd;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10708,12 +10708,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10742,19 +10742,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10762,12 +10762,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10795,19 +10795,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10815,12 +10815,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10845,18 +10845,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10864,12 +10864,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10894,18 +10894,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10913,12 +10913,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10943,18 +10943,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10962,12 +10962,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11095,18 +11095,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand1), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11114,12 +11114,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11151,19 +11151,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11171,12 +11171,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11208,19 +11208,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11228,12 +11228,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11262,18 +11262,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11281,12 +11281,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11311,18 +11311,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11330,12 +11330,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11365,19 +11365,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11385,12 +11385,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11420,19 +11420,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11440,12 +11440,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11472,18 +11472,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11491,12 +11491,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11521,18 +11521,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11540,12 +11540,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11575,19 +11575,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11595,12 +11595,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11630,19 +11630,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11650,12 +11650,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11682,18 +11682,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11701,12 +11701,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11731,18 +11731,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11750,12 +11750,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11782,12 +11782,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11795,12 +11795,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11826,12 +11826,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11839,12 +11839,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11871,7 +11871,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 0)), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 1)), 0)) {
@@ -11879,7 +11879,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 1)), 0)) {
BI opval = 1;
CPU (h_vbit) = opval;
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 2)), 0)) {
@@ -11887,7 +11887,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 2)), 0)) {
BI opval = 1;
CPU (h_zbit) = opval;
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 3)), 0)) {
@@ -11895,7 +11895,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 3)), 0)) {
BI opval = 1;
CPU (h_nbit) = opval;
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 4)), 0)) {
@@ -11903,7 +11903,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 4)), 0)) {
BI opval = 1;
CPU (h_xbit) = opval;
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 5)), 0)) {
@@ -11911,7 +11911,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 5)), 0)) {
BI opval = 1;
SET_H_IBIT (opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "ibit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "ibit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 6)), 0)) {
@@ -11919,7 +11919,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 6)), 0)) {
BI opval = 1;
SET_H_UBIT (opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "ubit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "ubit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 7)), 0)) {
@@ -11927,20 +11927,20 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 7)), 0)) {
BI opval = 1;
CPU (h_pbit) = opval;
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pbit", 'x', opval);
}
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
if (EQSI (ANDSI (tmp_tmp, SLLSI (1, 4)), 0)) {
{
BI opval = 0;
CPU (h_xbit) = opval;
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
}
}
@@ -11967,7 +11967,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 0)), 0)) {
BI opval = 0;
CPU (h_cbit) = opval;
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 1)), 0)) {
@@ -11975,7 +11975,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 1)), 0)) {
BI opval = 0;
CPU (h_vbit) = opval;
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 2)), 0)) {
@@ -11983,7 +11983,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 2)), 0)) {
BI opval = 0;
CPU (h_zbit) = opval;
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 3)), 0)) {
@@ -11991,7 +11991,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 3)), 0)) {
BI opval = 0;
CPU (h_nbit) = opval;
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 4)), 0)) {
@@ -11999,7 +11999,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 4)), 0)) {
BI opval = 0;
CPU (h_xbit) = opval;
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 5)), 0)) {
@@ -12007,7 +12007,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 5)), 0)) {
BI opval = 0;
SET_H_IBIT (opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "ibit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "ibit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 6)), 0)) {
@@ -12015,7 +12015,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 6)), 0)) {
BI opval = 0;
SET_H_UBIT (opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "ubit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "ubit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 7)), 0)) {
@@ -12023,7 +12023,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 7)), 0)) {
BI opval = 0;
CPU (h_pbit) = opval;
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pbit", 'x', opval);
}
}
{
@@ -12031,12 +12031,12 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 7)), 0)) {
BI opval = 0;
CPU (h_xbit) = opval;
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -12115,12 +12115,12 @@ crisv10f_branch_taken (current_cpu, pc, FLD (i_o_pcrel), tmp_truthval);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
if (tmp_truthval) {
@@ -12129,7 +12129,7 @@ if (tmp_truthval) {
USI opval = FLD (i_o_pcrel);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -12156,19 +12156,19 @@ if (tmp_truthval) {
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
{
{
USI opval = FLD (i_o_pcrel);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -12247,12 +12247,12 @@ crisv10f_branch_taken (current_cpu, pc, FLD (i_o_word_pcrel), tmp_truthval);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
if (tmp_truthval) {
@@ -12261,7 +12261,7 @@ if (tmp_truthval) {
USI opval = FLD (i_o_word_pcrel);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -12288,19 +12288,19 @@ if (tmp_truthval) {
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
{
{
USI opval = FLD (i_o_word_pcrel);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -12324,23 +12324,23 @@ if (tmp_truthval) {
{
SI opval = ADDSI (pc, 2);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
USI opval = GET_H_GR (FLD (f_operand1));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -12364,7 +12364,7 @@ if (tmp_truthval) {
{
SI opval = ADDSI (pc, 2);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
USI opval = ({ SI tmp_addr;
@@ -12382,24 +12382,24 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
; tmp_tmp_mem; });
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -12424,23 +12424,23 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (pc, 6);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
USI opval = FLD (f_indir_pc__dword);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -12465,18 +12465,18 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
{
USI opval = crisv10f_break_handler (current_cpu, FLD (f_u4), pc);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -12504,18 +12504,18 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -12523,12 +12523,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -12557,18 +12557,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -12576,12 +12576,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -12610,18 +12610,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -12629,12 +12629,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -12672,7 +12672,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -12684,26 +12684,26 @@ if (ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -12711,12 +12711,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -12755,7 +12755,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -12767,26 +12767,26 @@ if (ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -12794,12 +12794,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -12838,7 +12838,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -12850,26 +12850,26 @@ if (ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -12877,12 +12877,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -12912,18 +12912,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -12931,12 +12931,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -12965,18 +12965,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -12984,12 +12984,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -13018,18 +13018,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -13037,12 +13037,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -13118,18 +13118,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ZEXTBISI (tmp_truthval);
SET_H_GR (FLD (f_operand1), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -13349,18 +13349,18 @@ if (GESI (tmp_tmp, 0)) {
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -13368,12 +13368,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -13396,12 +13396,12 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), FLD (f_s8));
CPU (h_prefixreg_pre_v32) = opval;
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13423,12 +13423,12 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ADDSI (ADDSI (pc, 2), FLD (f_s8));
CPU (h_prefixreg_pre_v32) = opval;
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
cris_flush_simulator_decode_cache (current_cpu, pc);
}
@@ -13457,12 +13457,12 @@ cris_flush_simulator_decode_cache (current_cpu, pc);
{
SI opval = tmp_newpc;
CPU (h_prefixreg_pre_v32) = opval;
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13498,7 +13498,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
USI opval = tmp_addr;
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -13508,13 +13508,13 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
BI opval = 0;
CPU (h_xbit) = opval;
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -13555,7 +13555,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (((UINT) 14), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -13565,13 +13565,13 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
BI opval = 0;
CPU (h_xbit) = opval;
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -13610,7 +13610,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -13618,12 +13618,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), EXTQISI (tmp_tmps));
CPU (h_prefixreg_pre_v32) = opval;
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13658,7 +13658,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -13666,12 +13666,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), EXTHISI (tmp_tmps));
CPU (h_prefixreg_pre_v32) = opval;
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13706,7 +13706,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -13714,12 +13714,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), tmp_tmps);
CPU (h_prefixreg_pre_v32) = opval;
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13741,12 +13741,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), EXTQISI (TRUNCSIQI (FLD (f_indir_pc__byte))));
CPU (h_prefixreg_pre_v32) = opval;
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13767,12 +13767,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), EXTHISI (TRUNCSIHI (FLD (f_indir_pc__word))));
CPU (h_prefixreg_pre_v32) = opval;
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13793,12 +13793,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), FLD (f_indir_pc__dword));
CPU (h_prefixreg_pre_v32) = opval;
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13832,7 +13832,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -13840,12 +13840,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_tmps;
CPU (h_prefixreg_pre_v32) = opval;
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13867,12 +13867,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = FLD (f_indir_pc__dword);
CPU (h_prefixreg_pre_v32) = opval;
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13893,12 +13893,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 1));
CPU (h_prefixreg_pre_v32) = opval;
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13919,12 +13919,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 2));
CPU (h_prefixreg_pre_v32) = opval;
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13945,12 +13945,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 4));
CPU (h_prefixreg_pre_v32) = opval;
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13971,12 +13971,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (ADDSI (pc, 4), MULSI (GET_H_GR (FLD (f_operand2)), 1));
CPU (h_prefixreg_pre_v32) = opval;
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13997,12 +13997,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (ADDSI (pc, 4), MULSI (GET_H_GR (FLD (f_operand2)), 2));
CPU (h_prefixreg_pre_v32) = opval;
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -14023,12 +14023,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (ADDSI (pc, 4), MULSI (GET_H_GR (FLD (f_operand2)), 4));
CPU (h_prefixreg_pre_v32) = opval;
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
diff --git a/sim/cris/semcrisv32f-switch.c b/sim/cris/semcrisv32f-switch.c
index 70622b55db6..e145ef8f53e 100644
--- a/sim/cris/semcrisv32f-switch.c
+++ b/sim/cris/semcrisv32f-switch.c
@@ -264,13 +264,13 @@ This file is part of the GNU simulators.
/* If hyper-fast [well not unnecessarily slow] execution is selected, turn
off frills like tracing and profiling. */
-/* FIXME: A better way would be to have TRACE_RESULT check for something
+/* FIXME: A better way would be to have CGEN_TRACE_RESULT check for something
that can cause it to be optimized out. Another way would be to emit
special handlers into the instruction "stream". */
#if FAST_P
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
+#undef CGEN_TRACE_RESULT
+#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
#endif
#undef GET_ATTR
@@ -461,19 +461,19 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -481,12 +481,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -514,19 +514,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -534,12 +534,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -564,18 +564,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -583,12 +583,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -613,7 +613,7 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SET_H_NBIT_MOVE (LTSI (tmp_newval, 0));
@@ -624,12 +624,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -656,18 +656,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -675,12 +675,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -707,18 +707,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -726,12 +726,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -758,18 +758,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -777,12 +777,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -809,18 +809,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -828,12 +828,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -861,19 +861,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -881,12 +881,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -914,19 +914,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -934,12 +934,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -964,18 +964,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -983,12 +983,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1013,18 +1013,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -1032,12 +1032,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1062,18 +1062,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -1081,12 +1081,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1111,18 +1111,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -1130,12 +1130,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1160,18 +1160,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -1179,12 +1179,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1215,39 +1215,39 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1278,39 +1278,39 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1343,33 +1343,33 @@ SET_H_VBIT_MOVE (0);
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1402,33 +1402,33 @@ SET_H_VBIT_MOVE (0);
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1461,33 +1461,33 @@ SET_H_VBIT_MOVE (0);
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1526,7 +1526,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -1539,33 +1539,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1605,7 +1605,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -1618,33 +1618,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1684,7 +1684,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -1697,33 +1697,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1757,33 +1757,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1816,33 +1816,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1875,33 +1875,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1934,33 +1934,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -1999,7 +1999,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2012,33 +2012,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2078,7 +2078,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2091,33 +2091,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2151,33 +2151,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2210,33 +2210,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2275,7 +2275,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2288,33 +2288,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2354,7 +2354,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2367,33 +2367,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2427,33 +2427,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2486,33 +2486,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2548,7 +2548,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2559,19 +2559,19 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_tmp, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmp, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -2579,12 +2579,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2621,7 +2621,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2632,19 +2632,19 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_tmp, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmp, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -2652,12 +2652,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2694,7 +2694,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2702,18 +2702,18 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_tmp;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmp, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -2721,12 +2721,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2763,7 +2763,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2773,26 +2773,26 @@ if (ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) {
SI opval = tmp_tmp;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = tmp_tmp;
SET_H_GR (FLD (f_operand2), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTSI (tmp_tmp, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -2800,12 +2800,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2842,7 +2842,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2852,26 +2852,26 @@ if (ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) {
SI opval = tmp_tmp;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = tmp_tmp;
SET_H_GR (FLD (f_operand2), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTSI (tmp_tmp, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -2879,12 +2879,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -2921,7 +2921,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2931,26 +2931,26 @@ if (ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) {
SI opval = tmp_tmp;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = tmp_tmp;
SET_H_GR (FLD (f_operand2), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTSI (tmp_tmp, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -2958,12 +2958,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3000,7 +3000,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3010,26 +3010,26 @@ if (ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) {
SI opval = tmp_tmp;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = tmp_tmp;
SET_H_GR (FLD (f_operand2), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTSI (tmp_tmp, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmp, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -3037,12 +3037,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3075,19 +3075,19 @@ cgen_rtx_error (current_cpu, "move-r-spr: trying to set a read-only special regi
SI opval = tmp_tmp;
SET_H_SR (FLD (f_operand2), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3117,7 +3117,7 @@ if (EQSI (tmp_prno, 2)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 3)) {
@@ -3128,7 +3128,7 @@ if (EQSI (tmp_prno, 2)) {
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3137,7 +3137,7 @@ if (EQSI (tmp_prno, 2)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 6)) {
@@ -3145,7 +3145,7 @@ if (EQSI (tmp_prno, 2)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 7)) {
@@ -3153,7 +3153,7 @@ if (EQSI (tmp_prno, 2)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 9)) {
@@ -3161,7 +3161,7 @@ if (EQSI (tmp_prno, 2)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 10)) {
@@ -3169,7 +3169,7 @@ if (EQSI (tmp_prno, 2)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 11)) {
@@ -3177,7 +3177,7 @@ if (EQSI (tmp_prno, 2)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 12)) {
@@ -3185,7 +3185,7 @@ if (EQSI (tmp_prno, 2)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 13)) {
@@ -3193,7 +3193,7 @@ if (EQSI (tmp_prno, 2)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 14)) {
@@ -3201,7 +3201,7 @@ if (EQSI (tmp_prno, 2)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 15)) {
@@ -3209,7 +3209,7 @@ if (EQSI (tmp_prno, 2)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else if (EQSI (tmp_prno, 0)) {
@@ -3220,7 +3220,7 @@ if (EQSI (tmp_prno, 2)) {
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3232,7 +3232,7 @@ if (EQSI (tmp_prno, 2)) {
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3244,7 +3244,7 @@ if (EQSI (tmp_prno, 2)) {
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3253,7 +3253,7 @@ if (EQSI (tmp_prno, 2)) {
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
else {
@@ -3263,12 +3263,12 @@ cgen_rtx_error (current_cpu, "move-spr-r from unimplemented register");
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3307,7 +3307,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3329,7 +3329,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3351,7 +3351,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3373,7 +3373,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3395,7 +3395,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3417,7 +3417,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3439,7 +3439,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3461,7 +3461,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3483,7 +3483,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3505,7 +3505,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3527,7 +3527,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3549,7 +3549,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3561,18 +3561,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = tmp_newval;
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3595,18 +3595,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3628,18 +3628,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3661,18 +3661,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3694,18 +3694,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3727,18 +3727,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3760,18 +3760,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3793,18 +3793,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3826,18 +3826,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3859,18 +3859,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3892,18 +3892,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3925,18 +3925,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -3958,18 +3958,18 @@ cgen_rtx_error (current_cpu, "Trying to set unimplemented special register");
{
SI opval = FLD (f_indir_pc__dword);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -4003,13 +4003,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4017,7 +4017,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4025,7 +4025,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4037,7 +4037,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4056,13 +4056,13 @@ if (EQBI (CPU (h_pbit), 0)) {
QI opval = GET_H_SR (FLD (f_operand2));
SETMEMQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4070,7 +4070,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4078,7 +4078,7 @@ if (EQBI (CPU (h_pbit), 0)) {
QI opval = GET_H_SR (FLD (f_operand2));
SETMEMQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4090,7 +4090,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4109,13 +4109,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4123,7 +4123,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4131,7 +4131,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4143,7 +4143,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4162,13 +4162,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4176,7 +4176,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4184,7 +4184,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4196,7 +4196,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4215,13 +4215,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4229,7 +4229,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4237,7 +4237,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4249,7 +4249,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4268,13 +4268,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4282,7 +4282,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4290,7 +4290,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4302,7 +4302,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4321,13 +4321,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4335,7 +4335,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4343,7 +4343,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4355,7 +4355,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4374,13 +4374,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4388,7 +4388,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4396,7 +4396,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4408,7 +4408,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4427,13 +4427,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4441,7 +4441,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4449,7 +4449,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4461,7 +4461,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4480,13 +4480,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4494,7 +4494,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4502,7 +4502,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4514,7 +4514,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4533,13 +4533,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4547,7 +4547,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4555,7 +4555,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4567,7 +4567,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4586,13 +4586,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4600,7 +4600,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4608,7 +4608,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4620,7 +4620,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4639,13 +4639,13 @@ if (EQBI (CPU (h_pbit), 0)) {
QI opval = GET_H_SR (FLD (f_operand2));
SETMEMQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4653,7 +4653,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4661,7 +4661,7 @@ if (EQBI (CPU (h_pbit), 0)) {
QI opval = GET_H_SR (FLD (f_operand2));
SETMEMQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4673,7 +4673,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4692,13 +4692,13 @@ if (EQBI (CPU (h_pbit), 0)) {
QI opval = GET_H_SR (FLD (f_operand2));
SETMEMQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4706,7 +4706,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4714,7 +4714,7 @@ if (EQBI (CPU (h_pbit), 0)) {
QI opval = GET_H_SR (FLD (f_operand2));
SETMEMQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4726,7 +4726,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4745,13 +4745,13 @@ if (EQBI (CPU (h_pbit), 0)) {
HI opval = GET_H_SR (FLD (f_operand2));
SETMEMHI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4759,7 +4759,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4767,7 +4767,7 @@ if (EQBI (CPU (h_pbit), 0)) {
HI opval = GET_H_SR (FLD (f_operand2));
SETMEMHI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4779,7 +4779,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4798,13 +4798,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4812,7 +4812,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -4820,7 +4820,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = GET_H_SR (FLD (f_operand2));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -4832,7 +4832,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -4845,12 +4845,12 @@ cgen_rtx_error (current_cpu, "write from unimplemented special register");
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -4873,18 +4873,18 @@ cgen_rtx_error (current_cpu, "write from unimplemented special register");
{
SI opval = GET_H_SUPR (FLD (f_operand2));
SET_H_GR (FLD (f_operand1), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -4906,18 +4906,18 @@ cgen_rtx_error (current_cpu, "write from unimplemented special register");
{
SI opval = GET_H_GR (FLD (f_operand1));
SET_H_SUPR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "supr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "supr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -4953,7 +4953,7 @@ if (GESI (FLD (f_operand2), 0)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4966,7 +4966,7 @@ if (GESI (FLD (f_operand2), 1)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4979,7 +4979,7 @@ if (GESI (FLD (f_operand2), 2)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -4992,7 +4992,7 @@ if (GESI (FLD (f_operand2), 3)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5005,7 +5005,7 @@ if (GESI (FLD (f_operand2), 4)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5018,7 +5018,7 @@ if (GESI (FLD (f_operand2), 5)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5031,7 +5031,7 @@ if (GESI (FLD (f_operand2), 6)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5044,7 +5044,7 @@ if (GESI (FLD (f_operand2), 7)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5057,7 +5057,7 @@ if (GESI (FLD (f_operand2), 8)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5070,7 +5070,7 @@ if (GESI (FLD (f_operand2), 9)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5083,7 +5083,7 @@ if (GESI (FLD (f_operand2), 10)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5096,7 +5096,7 @@ if (GESI (FLD (f_operand2), 11)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5109,7 +5109,7 @@ if (GESI (FLD (f_operand2), 12)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5122,7 +5122,7 @@ if (GESI (FLD (f_operand2), 13)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5135,7 +5135,7 @@ if (GESI (FLD (f_operand2), 14)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5148,7 +5148,7 @@ if (GESI (FLD (f_operand2), 15)) {
SI opval = tmp_tmp;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5159,19 +5159,19 @@ if (NEBI (tmp_postinc, 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5208,7 +5208,7 @@ if (GESI (FLD (f_operand2), 0)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 0), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5221,7 +5221,7 @@ if (GESI (FLD (f_operand2), 1)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 1), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5234,7 +5234,7 @@ if (GESI (FLD (f_operand2), 2)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 2), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5247,7 +5247,7 @@ if (GESI (FLD (f_operand2), 3)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 3), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5260,7 +5260,7 @@ if (GESI (FLD (f_operand2), 4)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 4), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5273,7 +5273,7 @@ if (GESI (FLD (f_operand2), 5)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 5), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5286,7 +5286,7 @@ if (GESI (FLD (f_operand2), 6)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 6), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5299,7 +5299,7 @@ if (GESI (FLD (f_operand2), 7)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 7), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5312,7 +5312,7 @@ if (GESI (FLD (f_operand2), 8)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 8), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5325,7 +5325,7 @@ if (GESI (FLD (f_operand2), 9)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 9), opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5338,7 +5338,7 @@ if (GESI (FLD (f_operand2), 10)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 10), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5351,7 +5351,7 @@ if (GESI (FLD (f_operand2), 11)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 11), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5364,7 +5364,7 @@ if (GESI (FLD (f_operand2), 12)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 12), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5377,7 +5377,7 @@ if (GESI (FLD (f_operand2), 13)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 13), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5390,7 +5390,7 @@ if (GESI (FLD (f_operand2), 14)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 14), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5403,7 +5403,7 @@ if (GESI (FLD (f_operand2), 15)) {
SI opval = tmp_tmp;
SET_H_GR (((UINT) 15), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
tmp_addr = ADDSI (tmp_addr, 4);
}
@@ -5414,19 +5414,19 @@ if (NEBI (tmp_postinc, 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5460,40 +5460,40 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), ORIF (ANDIF (LTQI (tmp_tmpopd, 0), GEQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (GEQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5527,40 +5527,40 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), ORIF (ANDIF (LTHI (tmp_tmpopd, 0), GEHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (GEHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5591,39 +5591,39 @@ if (NEBI (tmp_postinc, 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5662,7 +5662,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -5676,40 +5676,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), ORIF (ANDIF (LTQI (tmp_tmpopd, 0), GEQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (GEQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5749,7 +5749,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -5763,40 +5763,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), ORIF (ANDIF (LTHI (tmp_tmpopd, 0), GEHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (GEHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5836,7 +5836,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -5847,39 +5847,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5914,40 +5914,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), ORIF (ANDIF (LTQI (tmp_tmpopd, 0), GEQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (GEQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -5981,40 +5981,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), ORIF (ANDIF (LTHI (tmp_tmpopd, 0), GEHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (GEHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6045,39 +6045,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6108,39 +6108,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6171,39 +6171,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6242,7 +6242,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -6253,39 +6253,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6325,7 +6325,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -6336,39 +6336,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6400,39 +6400,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6463,39 +6463,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6526,39 +6526,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6589,39 +6589,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6660,7 +6660,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -6671,39 +6671,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6743,7 +6743,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -6754,39 +6754,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6818,39 +6818,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6881,39 +6881,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -6947,40 +6947,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7014,40 +7014,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7078,39 +7078,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7149,7 +7149,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7163,40 +7163,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7236,7 +7236,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7250,40 +7250,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7323,7 +7323,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7334,39 +7334,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7401,40 +7401,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7468,40 +7468,40 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7532,39 +7532,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7595,39 +7595,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7658,39 +7658,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7729,7 +7729,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7740,39 +7740,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7812,7 +7812,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7823,39 +7823,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7887,39 +7887,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -7950,39 +7950,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8013,39 +8013,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8076,39 +8076,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8147,7 +8147,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -8158,39 +8158,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8230,7 +8230,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -8241,39 +8241,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8305,39 +8305,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8368,39 +8368,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8433,39 +8433,39 @@ CPU (h_xbit) = 1;
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8507,7 +8507,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -8518,39 +8518,39 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8585,39 +8585,39 @@ CPU (h_xbit) = 1;
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8641,18 +8641,18 @@ CPU (h_xbit) = 1;
{
SI opval = FLD (i_const32_pcrel);
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8674,18 +8674,18 @@ CPU (h_xbit) = 1;
{
SI opval = FLD (i_qo);
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8707,18 +8707,18 @@ CPU (h_xbit) = 1;
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 1));
SET_H_GR (FLD (f_operand1), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8740,18 +8740,18 @@ CPU (h_xbit) = 1;
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 2));
SET_H_GR (FLD (f_operand1), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8773,18 +8773,18 @@ CPU (h_xbit) = 1;
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 4));
SET_H_GR (FLD (f_operand1), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8817,40 +8817,40 @@ CPU (h_xbit) = 1;
{
SI opval = ORSI (ANDSI (tmp_newval, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8884,40 +8884,40 @@ CPU (h_xbit) = 1;
{
SI opval = ORSI (ANDSI (tmp_newval, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -8948,39 +8948,39 @@ CPU (h_xbit) = 1;
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9016,7 +9016,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -9035,33 +9035,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), ORIF (ANDIF (GEQI (tmp_tmpopd, 0), LTQI (tmp_newval, 0)), ANDIF (LTQI (tmp_tmpops, 0), LTQI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTQI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEQI (tmp_tmpops, 0), LTQI (tmp_tmpopd, 0)), GEQI (tmp_newval, 0)), ANDIF (ANDIF (LTQI (tmp_tmpops, 0), GEQI (tmp_tmpopd, 0)), LTQI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9099,7 +9099,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -9118,33 +9118,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), ORIF (ANDIF (GEHI (tmp_tmpopd, 0), LTHI (tmp_newval, 0)), ANDIF (LTHI (tmp_tmpops, 0), LTHI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTHI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GEHI (tmp_tmpops, 0), LTHI (tmp_tmpopd, 0)), GEHI (tmp_newval, 0)), ANDIF (ANDIF (LTHI (tmp_tmpops, 0), GEHI (tmp_tmpopd, 0)), LTHI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9182,7 +9182,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -9201,33 +9201,33 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), ORIF (ANDIF (GESI (tmp_tmpopd, 0), LTSI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_newval, 0))));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (GESI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9263,13 +9263,13 @@ if (EQBI (CPU (h_pbit), 0)) {
QI opval = tmp_tmpd;
SETMEMQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -9277,7 +9277,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -9285,7 +9285,7 @@ if (EQBI (CPU (h_pbit), 0)) {
QI opval = tmp_tmpd;
SETMEMQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -9297,7 +9297,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -9306,12 +9306,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9345,13 +9345,13 @@ if (EQBI (CPU (h_pbit), 0)) {
HI opval = tmp_tmpd;
SETMEMHI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -9359,7 +9359,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -9367,7 +9367,7 @@ if (EQBI (CPU (h_pbit), 0)) {
HI opval = tmp_tmpd;
SETMEMHI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -9379,7 +9379,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -9388,12 +9388,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9427,13 +9427,13 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = tmp_tmpd;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
BI opval = CPU (h_pbit);
CPU (h_cbit) = opval;
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -9441,7 +9441,7 @@ if (EQBI (CPU (h_pbit), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
} else {
@@ -9449,7 +9449,7 @@ if (EQBI (CPU (h_pbit), 0)) {
SI opval = tmp_tmpd;
SETMEMSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
if (NEBI (tmp_postinc, 0)) {
@@ -9461,7 +9461,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -9470,12 +9470,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9504,44 +9504,44 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = TRUNCDISI (tmp_tmpr);
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
SET_H_SR (((UINT) 7), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = ANDIF (GET_H_V32_V32 (), CPU (h_cbit));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTDI (tmp_tmpr, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = NEDI (tmp_tmpr, EXTSIDI (TRUNCDISI (tmp_tmpr)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9570,44 +9570,44 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = TRUNCDISI (tmp_tmpr);
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
SET_H_SR (((UINT) 7), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = ANDIF (GET_H_V32_V32 (), CPU (h_cbit));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTDI (tmp_tmpr, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = NEDI (tmp_tmpr, EXTSIDI (TRUNCDISI (tmp_tmpr)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9636,44 +9636,44 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = TRUNCDISI (tmp_tmpr);
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
SET_H_SR (((UINT) 7), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = ANDIF (GET_H_V32_V32 (), CPU (h_cbit));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTDI (tmp_tmpr, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = NEDI (tmp_tmpr, EXTSIDI (TRUNCDISI (tmp_tmpr)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9702,44 +9702,44 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = TRUNCDISI (tmp_tmpr);
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
SET_H_SR (((UINT) 7), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = ANDIF (GET_H_V32_V32 (), CPU (h_cbit));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTDI (tmp_tmpr, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = NEDI (tmp_tmpr, ZEXTSIDI (TRUNCDISI (tmp_tmpr)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9768,44 +9768,44 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = TRUNCDISI (tmp_tmpr);
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
SET_H_SR (((UINT) 7), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = ANDIF (GET_H_V32_V32 (), CPU (h_cbit));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTDI (tmp_tmpr, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = NEDI (tmp_tmpr, ZEXTSIDI (TRUNCDISI (tmp_tmpr)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9834,44 +9834,44 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = TRUNCDISI (tmp_tmpr);
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = TRUNCDISI (SRLDI (tmp_tmpr, 32));
SET_H_SR (((UINT) 7), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
{
BI opval = ANDIF (GET_H_V32_V32 (), CPU (h_cbit));
CPU (h_cbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
{
BI opval = LTDI (tmp_tmpr, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQDI (tmp_tmpr, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = NEDI (tmp_tmpr, ZEXTSIDI (TRUNCDISI (tmp_tmpr)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9905,39 +9905,39 @@ CPU (h_zbit) = 1;
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand1), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = ORIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), ORIF (ANDIF (LTSI (tmp_tmpopd, 0), GESI (tmp_newval, 0)), ANDIF (LTSI (tmp_tmpops, 0), GESI (tmp_newval, 0))));
CPU (h_rbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "rbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "rbit", 'x', opval);
}
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ORIF (CPU (h_zbit), NOTBI (CPU (h_xbit))));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
{
BI opval = ORIF (ANDIF (ANDIF (LTSI (tmp_tmpops, 0), LTSI (tmp_tmpopd, 0)), GESI (tmp_newval, 0)), ANDIF (ANDIF (GESI (tmp_tmpops, 0), GESI (tmp_tmpopd, 0)), LTSI (tmp_newval, 0)));
CPU (h_vbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -9967,18 +9967,18 @@ CPU (h_zbit) = 1;
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -9986,12 +9986,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10016,18 +10016,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10035,12 +10035,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10068,19 +10068,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10088,12 +10088,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10121,19 +10121,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10141,12 +10141,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10171,18 +10171,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10190,12 +10190,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10231,7 +10231,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -10242,19 +10242,19 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10262,12 +10262,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10304,7 +10304,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -10315,19 +10315,19 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10335,12 +10335,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10377,7 +10377,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -10385,18 +10385,18 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_tmpd;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10404,12 +10404,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10438,19 +10438,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10458,12 +10458,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10491,19 +10491,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10511,12 +10511,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10541,18 +10541,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10560,12 +10560,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10590,18 +10590,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10609,12 +10609,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10642,19 +10642,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10662,12 +10662,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10695,19 +10695,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10715,12 +10715,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10745,18 +10745,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10764,12 +10764,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10805,7 +10805,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -10816,19 +10816,19 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10836,12 +10836,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10878,7 +10878,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -10889,19 +10889,19 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10909,12 +10909,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -10951,7 +10951,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -10959,18 +10959,18 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = tmp_tmpd;
SET_H_GR (((ANDIF (GET_H_INSN_PREFIXED_P (), NOTSI (FLD (f_memmode)))) ? (FLD (f_operand1)) : (FLD (f_operand2))), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -10978,12 +10978,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11012,19 +11012,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11032,12 +11032,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11065,19 +11065,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11085,12 +11085,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11115,18 +11115,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11134,12 +11134,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11164,18 +11164,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11183,12 +11183,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11213,18 +11213,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11232,12 +11232,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11365,18 +11365,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand1), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11384,12 +11384,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11421,19 +11421,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11441,12 +11441,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11478,19 +11478,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11498,12 +11498,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11532,18 +11532,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11551,12 +11551,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11581,18 +11581,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11600,12 +11600,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11635,19 +11635,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11655,12 +11655,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11690,19 +11690,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11710,12 +11710,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11742,18 +11742,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11761,12 +11761,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11791,18 +11791,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11810,12 +11810,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11845,19 +11845,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 255), ANDSI (tmp_oldregval, 0xffffff00));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTQI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQQI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11865,12 +11865,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11900,19 +11900,19 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ORSI (ANDSI (tmp_tmpd, 65535), ANDSI (tmp_oldregval, 0xffff0000));
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
{
{
BI opval = LTHI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQHI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11920,12 +11920,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -11952,18 +11952,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -11971,12 +11971,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -12001,18 +12001,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -12020,12 +12020,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -12052,12 +12052,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -12065,12 +12065,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -12096,12 +12096,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -12109,12 +12109,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -12141,7 +12141,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 0)), 0)) {
BI opval = 1;
CPU (h_cbit) = opval;
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 1)), 0)) {
@@ -12149,7 +12149,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 1)), 0)) {
BI opval = 1;
CPU (h_vbit) = opval;
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 2)), 0)) {
@@ -12157,7 +12157,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 2)), 0)) {
BI opval = 1;
CPU (h_zbit) = opval;
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 3)), 0)) {
@@ -12165,7 +12165,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 3)), 0)) {
BI opval = 1;
CPU (h_nbit) = opval;
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 4)), 0)) {
@@ -12173,7 +12173,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 4)), 0)) {
BI opval = 1;
CPU (h_xbit) = opval;
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 5)), 0)) {
@@ -12181,7 +12181,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 5)), 0)) {
BI opval = 1;
SET_H_IBIT (opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "ibit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "ibit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 6)), 0)) {
@@ -12189,7 +12189,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 6)), 0)) {
BI opval = 1;
SET_H_UBIT (opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "ubit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "ubit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 7)), 0)) {
@@ -12197,20 +12197,20 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 7)), 0)) {
BI opval = 1;
CPU (h_pbit) = opval;
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pbit", 'x', opval);
}
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
if (EQSI (ANDSI (tmp_tmp, SLLSI (1, 4)), 0)) {
{
BI opval = 0;
CPU (h_xbit) = opval;
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
}
}
@@ -12237,7 +12237,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 0)), 0)) {
BI opval = 0;
CPU (h_cbit) = opval;
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 1)), 0)) {
@@ -12245,7 +12245,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 1)), 0)) {
BI opval = 0;
CPU (h_vbit) = opval;
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 2)), 0)) {
@@ -12253,7 +12253,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 2)), 0)) {
BI opval = 0;
CPU (h_zbit) = opval;
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 3)), 0)) {
@@ -12261,7 +12261,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 3)), 0)) {
BI opval = 0;
CPU (h_nbit) = opval;
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 4)), 0)) {
@@ -12269,7 +12269,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 4)), 0)) {
BI opval = 0;
CPU (h_xbit) = opval;
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 5)), 0)) {
@@ -12277,7 +12277,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 5)), 0)) {
BI opval = 0;
SET_H_IBIT (opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "ibit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "ibit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 6)), 0)) {
@@ -12285,7 +12285,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 6)), 0)) {
BI opval = 0;
SET_H_UBIT (opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "ubit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "ubit", 'x', opval);
}
}
if (NESI (ANDSI (tmp_tmp, SLLSI (1, 7)), 0)) {
@@ -12293,7 +12293,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 7)), 0)) {
BI opval = 0;
CPU (h_pbit) = opval;
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pbit", 'x', opval);
}
}
{
@@ -12301,12 +12301,12 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 7)), 0)) {
BI opval = 0;
CPU (h_xbit) = opval;
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -12339,7 +12339,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 7)), 0)) {
{
SI opval = ORSI (ORSI (tmp_samebits, tmp_shiftbits), ((ANDBI (CPU (h_rbit), NOTBI (tmp_p1))) ? (0) : (128)));
SET_H_SR (((UINT) 13), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
}
@@ -12364,7 +12364,7 @@ if (NESI (ANDSI (tmp_tmp, SLLSI (1, 7)), 0)) {
{
SI opval = ORSI (ANDSI (tmp_savemask, tmp_oldccs), ANDSI (INVSI (tmp_savemask), SLLSI (tmp_oldccs, 10)));
SET_H_SR (((UINT) 13), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
}
@@ -12411,13 +12411,13 @@ crisv32f_rfg_handler (current_cpu, pc);
{
SI opval = ORSI (ORSI (tmp_samebits, tmp_shiftbits), ((ANDBI (CPU (h_rbit), NOTBI (tmp_p1))) ? (0) : (128)));
SET_H_SR (((UINT) 13), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
}
{
BI opval = 1;
SET_H_MBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
}
}
@@ -12438,7 +12438,7 @@ crisv32f_rfg_handler (current_cpu, pc);
{
USI opval = crisv32f_halt_handler (current_cpu, pc);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -12515,12 +12515,12 @@ crisv32f_branch_taken (current_cpu, pc, FLD (i_o_pcrel), tmp_truthval);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
if (tmp_truthval) {
@@ -12529,7 +12529,7 @@ if (tmp_truthval) {
USI opval = FLD (i_o_pcrel);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -12556,19 +12556,19 @@ if (tmp_truthval) {
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
{
{
USI opval = FLD (i_o_pcrel);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -12647,12 +12647,12 @@ crisv32f_branch_taken (current_cpu, pc, FLD (i_o_word_pcrel), tmp_truthval);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
if (tmp_truthval) {
@@ -12661,7 +12661,7 @@ if (tmp_truthval) {
USI opval = FLD (i_o_word_pcrel);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -12688,19 +12688,19 @@ if (tmp_truthval) {
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
{
{
USI opval = FLD (i_o_word_pcrel);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -12725,12 +12725,12 @@ if (tmp_truthval) {
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
if (ANDIF (EQSI (FLD (f_operand1), 1), EQSI (FLD (f_operand2), 11))) {
@@ -12741,12 +12741,12 @@ cris_flush_simulator_decode_cache (current_cpu, pc);
{
SI opval = ADDSI (pc, 4);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
USI opval = GET_H_GR (FLD (f_operand1));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -12772,12 +12772,12 @@ cris_flush_simulator_decode_cache (current_cpu, pc);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
{
@@ -12785,12 +12785,12 @@ cris_flush_simulator_decode_cache (current_cpu, pc);
{
SI opval = ADDSI (pc, 8);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
USI opval = FLD (f_indir_pc__dword);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -12816,19 +12816,19 @@ cris_flush_simulator_decode_cache (current_cpu, pc);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
{
{
USI opval = GET_H_SR (FLD (f_operand2));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -12853,12 +12853,12 @@ cris_flush_simulator_decode_cache (current_cpu, pc);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
{
@@ -12866,12 +12866,12 @@ cris_flush_simulator_decode_cache (current_cpu, pc);
{
SI opval = ADDSI (pc, 8);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
USI opval = FLD (i_const32_pcrel);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -12897,12 +12897,12 @@ cris_flush_simulator_decode_cache (current_cpu, pc);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
{
@@ -12910,12 +12910,12 @@ cris_flush_simulator_decode_cache (current_cpu, pc);
{
SI opval = ADDSI (pc, 8);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
USI opval = GET_H_GR (FLD (f_operand1));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -12941,12 +12941,12 @@ cris_flush_simulator_decode_cache (current_cpu, pc);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
{
@@ -12954,12 +12954,12 @@ cris_flush_simulator_decode_cache (current_cpu, pc);
{
SI opval = ADDSI (pc, 12);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
USI opval = FLD (f_indir_pc__dword);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -12985,12 +12985,12 @@ cris_flush_simulator_decode_cache (current_cpu, pc);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
{
@@ -12998,12 +12998,12 @@ cris_flush_simulator_decode_cache (current_cpu, pc);
{
SI opval = ADDSI (pc, 12);
SET_H_SR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
{
USI opval = FLD (i_const32_pcrel);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -13029,18 +13029,18 @@ cris_flush_simulator_decode_cache (current_cpu, pc);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
{
USI opval = crisv32f_break_handler (current_cpu, FLD (f_u4), pc);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -13068,18 +13068,18 @@ cris_flush_simulator_decode_cache (current_cpu, pc);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -13087,12 +13087,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -13121,18 +13121,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -13140,12 +13140,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -13174,18 +13174,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -13193,12 +13193,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -13227,18 +13227,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -13246,12 +13246,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -13280,18 +13280,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -13299,12 +13299,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -13333,18 +13333,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = tmp_newval;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_newval, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_newval, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -13352,12 +13352,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -13433,18 +13433,18 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ZEXTBISI (tmp_truthval);
SET_H_GR (FLD (f_operand1), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -13664,18 +13664,18 @@ if (GESI (tmp_tmp, 0)) {
{
SI opval = tmp_tmpd;
SET_H_GR (FLD (f_operand2), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
BI opval = LTSI (tmp_tmpd, 0);
CPU (h_nbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "nbit", 'x', opval);
}
{
BI opval = ANDIF (EQSI (tmp_tmpd, 0), ((CPU (h_xbit)) ? (CPU (h_zbit)) : (1)));
CPU (h_zbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "zbit", 'x', opval);
}
SET_H_CBIT_MOVE (0);
SET_H_VBIT_MOVE (0);
@@ -13683,12 +13683,12 @@ SET_H_VBIT_MOVE (0);
{
BI opval = 0;
CPU (h_xbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "xbit", 'x', opval);
}
{
BI opval = 0;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
}
@@ -13711,12 +13711,12 @@ SET_H_VBIT_MOVE (0);
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), FLD (f_s8));
SET_H_PREFIXREG_V32 (opval);
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13750,7 +13750,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -13758,12 +13758,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), EXTQISI (tmp_tmps));
SET_H_PREFIXREG_V32 (opval);
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13798,7 +13798,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -13806,12 +13806,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), EXTHISI (tmp_tmps));
SET_H_PREFIXREG_V32 (opval);
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13846,7 +13846,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
SI opval = tmp_addr;
SET_H_GR (FLD (f_operand1), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -13854,12 +13854,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), tmp_tmps);
SET_H_PREFIXREG_V32 (opval);
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13881,12 +13881,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), EXTQISI (TRUNCSIQI (FLD (f_indir_pc__byte))));
SET_H_PREFIXREG_V32 (opval);
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13907,12 +13907,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), EXTHISI (TRUNCSIHI (FLD (f_indir_pc__word))));
SET_H_PREFIXREG_V32 (opval);
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13933,12 +13933,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand2)), FLD (f_indir_pc__dword));
SET_H_PREFIXREG_V32 (opval);
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13959,12 +13959,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 1));
SET_H_PREFIXREG_V32 (opval);
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -13985,12 +13985,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 2));
SET_H_PREFIXREG_V32 (opval);
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -14011,12 +14011,12 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
SI opval = ADDSI (GET_H_GR (FLD (f_operand1)), MULSI (GET_H_GR (FLD (f_operand2)), 4));
SET_H_PREFIXREG_V32 (opval);
- TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "prefixreg", 'x', opval);
}
{
BI opval = 1;
SET_H_INSN_PREFIXED_P (opval);
- TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "insn-prefixed-p", 'x', opval);
}
}
@@ -14037,7 +14037,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
USI opval = crisv32f_fidxi_handler (current_cpu, pc, GET_H_GR (FLD (f_operand1)));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -14058,7 +14058,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
USI opval = crisv32f_ftagi_handler (current_cpu, pc, GET_H_GR (FLD (f_operand1)));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -14079,7 +14079,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
USI opval = crisv32f_fidxd_handler (current_cpu, pc, GET_H_GR (FLD (f_operand1)));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -14100,7 +14100,7 @@ if (EQBI (GET_H_INSN_PREFIXED_P (), 0)) {
{
USI opval = crisv32f_ftagd_handler (current_cpu, pc, GET_H_GR (FLD (f_operand1)));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
diff --git a/sim/cris/traps.c b/sim/cris/traps.c
index 0feba2e0dc8..3d22b4d16ce 100644
--- a/sim/cris/traps.c
+++ b/sim/cris/traps.c
@@ -18,6 +18,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 "sim-main.h"
+#include "sim-syscall.h"
#include "sim-options.h"
#include "bfd.h"
/* FIXME: get rid of targ-vals.h usage everywhere else. */
@@ -263,21 +264,21 @@ static const char stat_map[] =
static const CB_TARGET_DEFS_MAP syscall_map[] =
{
- { CB_SYS_open, TARGET_SYS_open },
- { CB_SYS_close, TARGET_SYS_close },
- { CB_SYS_read, TARGET_SYS_read },
- { CB_SYS_write, TARGET_SYS_write },
- { CB_SYS_lseek, TARGET_SYS_lseek },
- { CB_SYS_unlink, TARGET_SYS_unlink },
- { CB_SYS_getpid, TARGET_SYS_getpid },
- { CB_SYS_fstat, TARGET_SYS_fstat64 },
- { CB_SYS_lstat, TARGET_SYS_lstat64 },
- { CB_SYS_stat, TARGET_SYS_stat64 },
- { CB_SYS_pipe, TARGET_SYS_pipe },
- { CB_SYS_rename, TARGET_SYS_rename },
- { CB_SYS_truncate, TARGET_SYS_truncate },
- { CB_SYS_ftruncate, TARGET_SYS_ftruncate },
- { 0, -1 }
+ { "open", CB_SYS_open, TARGET_SYS_open },
+ { "close", CB_SYS_close, TARGET_SYS_close },
+ { "read", CB_SYS_read, TARGET_SYS_read },
+ { "write", CB_SYS_write, TARGET_SYS_write },
+ { "lseek", CB_SYS_lseek, TARGET_SYS_lseek },
+ { "unlink", CB_SYS_unlink, TARGET_SYS_unlink },
+ { "getpid", CB_SYS_getpid, TARGET_SYS_getpid },
+ { "fstat", CB_SYS_fstat, TARGET_SYS_fstat64 },
+ { "lstat", CB_SYS_lstat, TARGET_SYS_lstat64 },
+ { "stat", CB_SYS_stat, TARGET_SYS_stat64 },
+ { "pipe", CB_SYS_pipe, TARGET_SYS_pipe },
+ { "rename", CB_SYS_rename, TARGET_SYS_rename },
+ { "truncate", CB_SYS_truncate, TARGET_SYS_truncate },
+ { "ftruncate", CB_SYS_ftruncate, TARGET_SYS_ftruncate },
+ { 0, -1, -1 }
};
/* An older, 32-bit-only stat mapping. */
@@ -290,9 +291,9 @@ static const char stat32_map[] =
newlib Linux mapping. */
static const CB_TARGET_DEFS_MAP syscall_stat32_map[] =
{
- { CB_SYS_fstat, TARGET_SYS_fstat },
- { CB_SYS_stat, TARGET_SYS_stat },
- { 0, -1 }
+ { "fstat", CB_SYS_fstat, TARGET_SYS_fstat },
+ { "stat", CB_SYS_stat, TARGET_SYS_stat },
+ { 0, -1, -1 }
};
/* Giving the true value for the running sim process will lead to
@@ -311,378 +312,378 @@ static const CB_TARGET_DEFS_MAP syscall_stat32_map[] =
static const CB_TARGET_DEFS_MAP errno_map[] =
{
#ifdef EPERM
- { EPERM, 1 },
+ { "EPERM", EPERM, 1 },
#endif
#ifdef ENOENT
- { ENOENT, 2 },
+ { "ENOENT", ENOENT, 2 },
#endif
#ifdef ESRCH
- { ESRCH, 3 },
+ { "ESRCH", ESRCH, 3 },
#endif
#ifdef EINTR
- { EINTR, 4 },
+ { "EINTR", EINTR, 4 },
#endif
#ifdef EIO
- { EIO, 5 },
+ { "EIO", EIO, 5 },
#endif
#ifdef ENXIO
- { ENXIO, 6 },
+ { "ENXIO", ENXIO, 6 },
#endif
#ifdef E2BIG
- { E2BIG, 7 },
+ { "E2BIG", E2BIG, 7 },
#endif
#ifdef ENOEXEC
- { ENOEXEC, 8 },
+ { "ENOEXEC", ENOEXEC, 8 },
#endif
#ifdef EBADF
- { EBADF, 9 },
+ { "EBADF", EBADF, 9 },
#endif
#ifdef ECHILD
- { ECHILD, 10 },
+ { "ECHILD", ECHILD, 10 },
#endif
#ifdef EAGAIN
- { EAGAIN, 11 },
+ { "EAGAIN", EAGAIN, 11 },
#endif
#ifdef ENOMEM
- { ENOMEM, 12 },
+ { "ENOMEM", ENOMEM, 12 },
#endif
#ifdef EACCES
- { EACCES, 13 },
+ { "EACCES", EACCES, 13 },
#endif
#ifdef EFAULT
- { EFAULT, 14 },
+ { "EFAULT", EFAULT, 14 },
#endif
#ifdef ENOTBLK
- { ENOTBLK, 15 },
+ { "ENOTBLK", ENOTBLK, 15 },
#endif
#ifdef EBUSY
- { EBUSY, 16 },
+ { "EBUSY", EBUSY, 16 },
#endif
#ifdef EEXIST
- { EEXIST, 17 },
+ { "EEXIST", EEXIST, 17 },
#endif
#ifdef EXDEV
- { EXDEV, 18 },
+ { "EXDEV", EXDEV, 18 },
#endif
#ifdef ENODEV
- { ENODEV, 19 },
+ { "ENODEV", ENODEV, 19 },
#endif
#ifdef ENOTDIR
- { ENOTDIR, 20 },
+ { "ENOTDIR", ENOTDIR, 20 },
#endif
#ifdef EISDIR
- { EISDIR, 21 },
+ { "EISDIR", EISDIR, 21 },
#endif
#ifdef EINVAL
- { EINVAL, 22 },
+ { "EINVAL", EINVAL, 22 },
#endif
#ifdef ENFILE
- { ENFILE, 23 },
+ { "ENFILE", ENFILE, 23 },
#endif
#ifdef EMFILE
- { EMFILE, 24 },
+ { "EMFILE", EMFILE, 24 },
#endif
#ifdef ENOTTY
- { ENOTTY, 25 },
+ { "ENOTTY", ENOTTY, 25 },
#endif
#ifdef ETXTBSY
- { ETXTBSY, 26 },
+ { "ETXTBSY", ETXTBSY, 26 },
#endif
#ifdef EFBIG
- { EFBIG, 27 },
+ { "EFBIG", EFBIG, 27 },
#endif
#ifdef ENOSPC
- { ENOSPC, 28 },
+ { "ENOSPC", ENOSPC, 28 },
#endif
#ifdef ESPIPE
- { ESPIPE, 29 },
+ { "ESPIPE", ESPIPE, 29 },
#endif
#ifdef EROFS
- { EROFS, 30 },
+ { "EROFS", EROFS, 30 },
#endif
#ifdef EMLINK
- { EMLINK, 31 },
+ { "EMLINK", EMLINK, 31 },
#endif
#ifdef EPIPE
- { EPIPE, 32 },
+ { "EPIPE", EPIPE, 32 },
#endif
#ifdef EDOM
- { EDOM, 33 },
+ { "EDOM", EDOM, 33 },
#endif
#ifdef ERANGE
- { ERANGE, 34 },
+ { "ERANGE", ERANGE, 34 },
#endif
#ifdef EDEADLK
- { EDEADLK, 35 },
+ { "EDEADLK", EDEADLK, 35 },
#endif
#ifdef ENAMETOOLONG
- { ENAMETOOLONG, 36 },
+ { "ENAMETOOLONG", ENAMETOOLONG, 36 },
#endif
#ifdef ENOLCK
- { ENOLCK, 37 },
+ { "ENOLCK", ENOLCK, 37 },
#endif
#ifdef ENOSYS
- { ENOSYS, 38 },
+ { "ENOSYS", ENOSYS, 38 },
#endif
#ifdef ENOTEMPTY
- { ENOTEMPTY, 39 },
+ { "ENOTEMPTY", ENOTEMPTY, 39 },
#endif
#ifdef ELOOP
- { ELOOP, 40 },
+ { "ELOOP", ELOOP, 40 },
#endif
#ifdef EWOULDBLOCK
- { EWOULDBLOCK, 11 },
+ { "EWOULDBLOCK", EWOULDBLOCK, 11 },
#endif
#ifdef ENOMSG
- { ENOMSG, 42 },
+ { "ENOMSG", ENOMSG, 42 },
#endif
#ifdef EIDRM
- { EIDRM, 43 },
+ { "EIDRM", EIDRM, 43 },
#endif
#ifdef ECHRNG
- { ECHRNG, 44 },
+ { "ECHRNG", ECHRNG, 44 },
#endif
#ifdef EL2NSYNC
- { EL2NSYNC, 45 },
+ { "EL2NSYNC", EL2NSYNC, 45 },
#endif
#ifdef EL3HLT
- { EL3HLT, 46 },
+ { "EL3HLT", EL3HLT, 46 },
#endif
#ifdef EL3RST
- { EL3RST, 47 },
+ { "EL3RST", EL3RST, 47 },
#endif
#ifdef ELNRNG
- { ELNRNG, 48 },
+ { "ELNRNG", ELNRNG, 48 },
#endif
#ifdef EUNATCH
- { EUNATCH, 49 },
+ { "EUNATCH", EUNATCH, 49 },
#endif
#ifdef ENOCSI
- { ENOCSI, 50 },
+ { "ENOCSI", ENOCSI, 50 },
#endif
#ifdef EL2HLT
- { EL2HLT, 51 },
+ { "EL2HLT", EL2HLT, 51 },
#endif
#ifdef EBADE
- { EBADE, 52 },
+ { "EBADE", EBADE, 52 },
#endif
#ifdef EBADR
- { EBADR, 53 },
+ { "EBADR", EBADR, 53 },
#endif
#ifdef EXFULL
- { EXFULL, 54 },
+ { "EXFULL", EXFULL, 54 },
#endif
#ifdef ENOANO
- { ENOANO, 55 },
+ { "ENOANO", ENOANO, 55 },
#endif
#ifdef EBADRQC
- { EBADRQC, 56 },
+ { "EBADRQC", EBADRQC, 56 },
#endif
#ifdef EBADSLT
- { EBADSLT, 57 },
+ { "EBADSLT", EBADSLT, 57 },
#endif
#ifdef EDEADLOCK
- { EDEADLOCK, 35 },
+ { "EDEADLOCK", EDEADLOCK, 35 },
#endif
#ifdef EBFONT
- { EBFONT, 59 },
+ { "EBFONT", EBFONT, 59 },
#endif
#ifdef ENOSTR
- { ENOSTR, 60 },
+ { "ENOSTR", ENOSTR, 60 },
#endif
#ifdef ENODATA
- { ENODATA, 61 },
+ { "ENODATA", ENODATA, 61 },
#endif
#ifdef ETIME
- { ETIME, 62 },
+ { "ETIME", ETIME, 62 },
#endif
#ifdef ENOSR
- { ENOSR, 63 },
+ { "ENOSR", ENOSR, 63 },
#endif
#ifdef ENONET
- { ENONET, 64 },
+ { "ENONET", ENONET, 64 },
#endif
#ifdef ENOPKG
- { ENOPKG, 65 },
+ { "ENOPKG", ENOPKG, 65 },
#endif
#ifdef EREMOTE
- { EREMOTE, 66 },
+ { "EREMOTE", EREMOTE, 66 },
#endif
#ifdef ENOLINK
- { ENOLINK, 67 },
+ { "ENOLINK", ENOLINK, 67 },
#endif
#ifdef EADV
- { EADV, 68 },
+ { "EADV", EADV, 68 },
#endif
#ifdef ESRMNT
- { ESRMNT, 69 },
+ { "ESRMNT", ESRMNT, 69 },
#endif
#ifdef ECOMM
- { ECOMM, 70 },
+ { "ECOMM", ECOMM, 70 },
#endif
#ifdef EPROTO
- { EPROTO, 71 },
+ { "EPROTO", EPROTO, 71 },
#endif
#ifdef EMULTIHOP
- { EMULTIHOP, 72 },
+ { "EMULTIHOP", EMULTIHOP, 72 },
#endif
#ifdef EDOTDOT
- { EDOTDOT, 73 },
+ { "EDOTDOT", EDOTDOT, 73 },
#endif
#ifdef EBADMSG
- { EBADMSG, 74 },
+ { "EBADMSG", EBADMSG, 74 },
#endif
#ifdef EOVERFLOW
- { EOVERFLOW, 75 },
+ { "EOVERFLOW", EOVERFLOW, 75 },
#endif
#ifdef ENOTUNIQ
- { ENOTUNIQ, 76 },
+ { "ENOTUNIQ", ENOTUNIQ, 76 },
#endif
#ifdef EBADFD
- { EBADFD, 77 },
+ { "EBADFD", EBADFD, 77 },
#endif
#ifdef EREMCHG
- { EREMCHG, 78 },
+ { "EREMCHG", EREMCHG, 78 },
#endif
#ifdef ELIBACC
- { ELIBACC, 79 },
+ { "ELIBACC", ELIBACC, 79 },
#endif
#ifdef ELIBBAD
- { ELIBBAD, 80 },
+ { "ELIBBAD", ELIBBAD, 80 },
#endif
#ifdef ELIBSCN
- { ELIBSCN, 81 },
+ { "ELIBSCN", ELIBSCN, 81 },
#endif
#ifdef ELIBMAX
- { ELIBMAX, 82 },
+ { "ELIBMAX", ELIBMAX, 82 },
#endif
#ifdef ELIBEXEC
- { ELIBEXEC, 83 },
+ { "ELIBEXEC", ELIBEXEC, 83 },
#endif
#ifdef EILSEQ
- { EILSEQ, 84 },
+ { "EILSEQ", EILSEQ, 84 },
#endif
#ifdef ERESTART
- { ERESTART, 85 },
+ { "ERESTART", ERESTART, 85 },
#endif
#ifdef ESTRPIPE
- { ESTRPIPE, 86 },
+ { "ESTRPIPE", ESTRPIPE, 86 },
#endif
#ifdef EUSERS
- { EUSERS, 87 },
+ { "EUSERS", EUSERS, 87 },
#endif
#ifdef ENOTSOCK
- { ENOTSOCK, 88 },
+ { "ENOTSOCK", ENOTSOCK, 88 },
#endif
#ifdef EDESTADDRREQ
- { EDESTADDRREQ, 89 },
+ { "EDESTADDRREQ", EDESTADDRREQ, 89 },
#endif
#ifdef EMSGSIZE
- { EMSGSIZE, 90 },
+ { "EMSGSIZE", EMSGSIZE, 90 },
#endif
#ifdef EPROTOTYPE
- { EPROTOTYPE, 91 },
+ { "EPROTOTYPE", EPROTOTYPE, 91 },
#endif
#ifdef ENOPROTOOPT
- { ENOPROTOOPT, 92 },
+ { "ENOPROTOOPT", ENOPROTOOPT, 92 },
#endif
#ifdef EPROTONOSUPPORT
- { EPROTONOSUPPORT, 93 },
+ { "EPROTONOSUPPORT", EPROTONOSUPPORT, 93 },
#endif
#ifdef ESOCKTNOSUPPORT
- { ESOCKTNOSUPPORT, 94 },
+ { "ESOCKTNOSUPPORT", ESOCKTNOSUPPORT, 94 },
#endif
#ifdef EOPNOTSUPP
- { EOPNOTSUPP, 95 },
+ { "EOPNOTSUPP", EOPNOTSUPP, 95 },
#endif
#ifdef EPFNOSUPPORT
- { EPFNOSUPPORT, 96 },
+ { "EPFNOSUPPORT", EPFNOSUPPORT, 96 },
#endif
#ifdef EAFNOSUPPORT
- { EAFNOSUPPORT, 97 },
+ { "EAFNOSUPPORT", EAFNOSUPPORT, 97 },
#endif
#ifdef EADDRINUSE
- { EADDRINUSE, 98 },
+ { "EADDRINUSE", EADDRINUSE, 98 },
#endif
#ifdef EADDRNOTAVAIL
- { EADDRNOTAVAIL, 99 },
+ { "EADDRNOTAVAIL", EADDRNOTAVAIL, 99 },
#endif
#ifdef ENETDOWN
- { ENETDOWN, 100 },
+ { "ENETDOWN", ENETDOWN, 100 },
#endif
#ifdef ENETUNREACH
- { ENETUNREACH, 101 },
+ { "ENETUNREACH", ENETUNREACH, 101 },
#endif
#ifdef ENETRESET
- { ENETRESET, 102 },
+ { "ENETRESET", ENETRESET, 102 },
#endif
#ifdef ECONNABORTED
- { ECONNABORTED, 103 },
+ { "ECONNABORTED", ECONNABORTED, 103 },
#endif
#ifdef ECONNRESET
- { ECONNRESET, 104 },
+ { "ECONNRESET", ECONNRESET, 104 },
#endif
#ifdef ENOBUFS
- { ENOBUFS, 105 },
+ { "ENOBUFS", ENOBUFS, 105 },
#endif
#ifdef EISCONN
- { EISCONN, 106 },
+ { "EISCONN", EISCONN, 106 },
#endif
#ifdef ENOTCONN
- { ENOTCONN, 107 },
+ { "ENOTCONN", ENOTCONN, 107 },
#endif
#ifdef ESHUTDOWN
- { ESHUTDOWN, 108 },
+ { "ESHUTDOWN", ESHUTDOWN, 108 },
#endif
#ifdef ETOOMANYREFS
- { ETOOMANYREFS, 109 },
+ { "ETOOMANYREFS", ETOOMANYREFS, 109 },
#endif
#ifdef ETIMEDOUT
- { ETIMEDOUT, 110 },
+ { "ETIMEDOUT", ETIMEDOUT, 110 },
#endif
#ifdef ECONNREFUSED
- { ECONNREFUSED, 111 },
+ { "ECONNREFUSED", ECONNREFUSED, 111 },
#endif
#ifdef EHOSTDOWN
- { EHOSTDOWN, 112 },
+ { "EHOSTDOWN", EHOSTDOWN, 112 },
#endif
#ifdef EHOSTUNREACH
- { EHOSTUNREACH, 113 },
+ { "EHOSTUNREACH", EHOSTUNREACH, 113 },
#endif
#ifdef EALREADY
- { EALREADY, 114 },
+ { "EALREADY", EALREADY, 114 },
#endif
#ifdef EINPROGRESS
- { EINPROGRESS, 115 },
+ { "EINPROGRESS", EINPROGRESS, 115 },
#endif
#ifdef ESTALE
- { ESTALE, 116 },
+ { "ESTALE", ESTALE, 116 },
#endif
#ifdef EUCLEAN
- { EUCLEAN, 117 },
+ { "EUCLEAN", EUCLEAN, 117 },
#endif
#ifdef ENOTNAM
- { ENOTNAM, 118 },
+ { "ENOTNAM", ENOTNAM, 118 },
#endif
#ifdef ENAVAIL
- { ENAVAIL, 119 },
+ { "ENAVAIL", ENAVAIL, 119 },
#endif
#ifdef EISNAM
- { EISNAM, 120 },
+ { "EISNAM", EISNAM, 120 },
#endif
#ifdef EREMOTEIO
- { EREMOTEIO, 121 },
+ { "EREMOTEIO", EREMOTEIO, 121 },
#endif
#ifdef EDQUOT
- { EDQUOT, 122 },
+ { "EDQUOT", EDQUOT, 122 },
#endif
#ifdef ENOMEDIUM
- { ENOMEDIUM, 123 },
+ { "ENOMEDIUM", ENOMEDIUM, 123 },
#endif
#ifdef EMEDIUMTYPE
- { EMEDIUMTYPE, 124 },
+ { "EMEDIUMTYPE", EMEDIUMTYPE, 124 },
#endif
- { 0, -1 }
+ { 0, 0, 0 }
};
/* Extracted by applying
@@ -702,57 +703,57 @@ static const CB_TARGET_DEFS_MAP errno_map[] =
static const CB_TARGET_DEFS_MAP open_map[] = {
#ifdef O_ACCMODE
- { O_ACCMODE, TARGET_O_ACCMODE },
+ { "O_ACCMODE", O_ACCMODE, TARGET_O_ACCMODE },
#endif
#ifdef O_RDONLY
- { O_RDONLY, TARGET_O_RDONLY },
+ { "O_RDONLY", O_RDONLY, TARGET_O_RDONLY },
#endif
#ifdef O_WRONLY
- { O_WRONLY, TARGET_O_WRONLY },
+ { "O_WRONLY", O_WRONLY, TARGET_O_WRONLY },
#endif
#ifdef O_RDWR
- { O_RDWR, 0x2 },
+ { "O_RDWR", O_RDWR, 0x2 },
#endif
#ifdef O_CREAT
- { O_CREAT, 0x40 },
+ { "O_CREAT", O_CREAT, 0x40 },
#endif
#ifdef O_EXCL
- { O_EXCL, 0x80 },
+ { "O_EXCL", O_EXCL, 0x80 },
#endif
#ifdef O_NOCTTY
- { O_NOCTTY, 0x100 },
+ { "O_NOCTTY", O_NOCTTY, 0x100 },
#endif
#ifdef O_TRUNC
- { O_TRUNC, 0x200 },
+ { "O_TRUNC", O_TRUNC, 0x200 },
#endif
#ifdef O_APPEND
- { O_APPEND, 0x400 },
+ { "O_APPEND", O_APPEND, 0x400 },
#endif
#ifdef O_NONBLOCK
- { O_NONBLOCK, 0x800 },
+ { "O_NONBLOCK", O_NONBLOCK, 0x800 },
#endif
#ifdef O_NDELAY
- { O_NDELAY, 0x0 },
+ { "O_NDELAY", O_NDELAY, 0x0 },
#endif
#ifdef O_SYNC
- { O_SYNC, 0x1000 },
+ { "O_SYNC", O_SYNC, 0x1000 },
#endif
#ifdef FASYNC
- { FASYNC, 0x2000 },
+ { "FASYNC", FASYNC, 0x2000 },
#endif
#ifdef O_DIRECT
- { O_DIRECT, 0x4000 },
+ { "O_DIRECT", O_DIRECT, 0x4000 },
#endif
#ifdef O_LARGEFILE
- { O_LARGEFILE, 0x8000 },
+ { "O_LARGEFILE", O_LARGEFILE, 0x8000 },
#endif
#ifdef O_DIRECTORY
- { O_DIRECTORY, 0x10000 },
+ { "O_DIRECTORY", O_DIRECTORY, 0x10000 },
#endif
#ifdef O_NOFOLLOW
- { O_NOFOLLOW, 0x20000 },
+ { "O_NOFOLLOW", O_NOFOLLOW, 0x20000 },
#endif
- { -1, -1 }
+ { 0, -1, -1 }
};
/* Let's be less drastic and more traceable. FIXME: mark as noreturn. */
@@ -763,10 +764,6 @@ static const CB_TARGET_DEFS_MAP open_map[] = {
/* Needed for the cris_pipe_nonempty and cris_pipe_empty syscalls. */
static SIM_CPU *current_cpu_for_cb_callback;
-static int syscall_read_mem (host_callback *, struct cb_syscall *,
- unsigned long, char *, int);
-static int syscall_write_mem (host_callback *, struct cb_syscall *,
- unsigned long, const char *, int);
static USI create_map (SIM_DESC, struct cris_sim_mmapped_page **,
USI addr, USI len);
static USI unmap_pages (SIM_DESC, struct cris_sim_mmapped_page **,
@@ -776,30 +773,6 @@ static USI is_mapped (SIM_DESC, struct cris_sim_mmapped_page **,
static void dump_statistics (SIM_CPU *current_cpu);
static void make_first_thread (SIM_CPU *current_cpu);
-/* Read/write functions for system call interface. */
-
-static int
-syscall_read_mem (host_callback *cb ATTRIBUTE_UNUSED,
- struct cb_syscall *sc,
- unsigned long taddr, char *buf, int bytes)
-{
- SIM_DESC sd = (SIM_DESC) sc->p1;
- SIM_CPU *cpu = (SIM_CPU *) sc->p2;
-
- return sim_core_read_buffer (sd, cpu, read_map, buf, taddr, bytes);
-}
-
-static int
-syscall_write_mem (host_callback *cb ATTRIBUTE_UNUSED,
- struct cb_syscall *sc,
- unsigned long taddr, const char *buf, int bytes)
-{
- SIM_DESC sd = (SIM_DESC) sc->p1;
- SIM_CPU *cpu = (SIM_CPU *) sc->p2;
-
- return sim_core_write_buffer (sd, cpu, write_map, buf, taddr, bytes);
-}
-
/* When we risk running self-modified code (as in trampolines), this is
called from special-case insns. The silicon CRIS CPU:s have enough
cache snooping implemented making this a simulator-only issue. Tests:
@@ -1496,8 +1469,8 @@ cris_break_13_handler (SIM_CPU *current_cpu, USI callnum, USI arg1,
s.p1 = (PTR) sd;
s.p2 = (PTR) current_cpu;
- s.read_mem = syscall_read_mem;
- s.write_mem = syscall_write_mem;
+ s.read_mem = sim_syscall_read_mem;
+ s.write_mem = sim_syscall_write_mem;
current_cpu_for_cb_callback = current_cpu;
diff --git a/sim/d10v/ChangeLog b/sim/d10v/ChangeLog
index 8960e6bdae8..273dc8fe7ee 100644
--- a/sim/d10v/ChangeLog
+++ b/sim/d10v/ChangeLog
@@ -1,3 +1,15 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-main.h (SIM_CPU): Delete.
diff --git a/sim/d10v/configure b/sim/d10v/configure
index 39f93ad4b44..215f0c45bfa 100755
--- a/sim/d10v/configure
+++ b/sim/d10v/configure
@@ -1405,17 +1405,28 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
- --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.
- --enable-sim-inline=inlines Specify which functions should be inlined.
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
+ --enable-sim-environment=environment
+ Specify mixed, user, virtual or operating
+ environment
+ --enable-sim-inline=inlines
+ Specify which functions should be inlined
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings if gcc is used
--enable-sim-build-warnings
@@ -2227,7 +2238,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12306,7 +12317,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12309 "configure"
+#line 12320 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12412,7 +12423,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12415 "configure"
+#line 12426 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12748,10 +12759,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/erc32/ChangeLog b/sim/erc32/ChangeLog
index b1af87661c9..ee0c8188630 100644
--- a/sim/erc32/ChangeLog
+++ b/sim/erc32/ChangeLog
@@ -1,3 +1,20 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-05-17 Mike Frysinger <vapier@gentoo.org>
+
+ * erc32.c: Re-add file overview & author info.
+ * exec.c, float.c, func.c, help.c, interf.c, sis.c: Likewise.
+
2015-05-08 Joel Brobecker <brobecker@adacore.com>
* configure.ac: Add copyright header.
diff --git a/sim/erc32/configure b/sim/erc32/configure
index bfe5dbbcffa..cf91fa9511a 100755
--- a/sim/erc32/configure
+++ b/sim/erc32/configure
@@ -1400,13 +1400,18 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-hostendian=end Specify host byte endian orientation.
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -2213,7 +2218,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12292,7 +12297,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12295 "configure"
+#line 12300 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12398,7 +12403,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12401 "configure"
+#line 12406 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12734,10 +12739,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/erc32/erc32.c b/sim/erc32/erc32.c
index 47384e7c43f..b615bddabbd 100644
--- a/sim/erc32/erc32.c
+++ b/sim/erc32/erc32.c
@@ -1,4 +1,7 @@
-/* Copyright (C) 1995-2015 Free Software Foundation, Inc.
+/* This file is part of SIS (SPARC instruction simulator)
+
+ Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Contributed by Jiri Gaisler, European Space Agency
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
diff --git a/sim/erc32/exec.c b/sim/erc32/exec.c
index fdac67bac87..0b3e2c68150 100644
--- a/sim/erc32/exec.c
+++ b/sim/erc32/exec.c
@@ -1,4 +1,7 @@
-/* Copyright (C) 1995-2015 Free Software Foundation, Inc.
+/* This file is part of SIS (SPARC instruction simulator)
+
+ Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Contributed by Jiri Gaisler, European Space Agency
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
diff --git a/sim/erc32/float.c b/sim/erc32/float.c
index cca0cd3610a..89c18d7b9b1 100644
--- a/sim/erc32/float.c
+++ b/sim/erc32/float.c
@@ -1,4 +1,7 @@
-/* Copyright (C) 1995-2015 Free Software Foundation, Inc.
+/* This file is part of SIS (SPARC instruction simulator)
+
+ Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Contributed by Jiri Gaisler, European Space Agency
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
diff --git a/sim/erc32/func.c b/sim/erc32/func.c
index 4085b9a1a18..fd09c57c12f 100644
--- a/sim/erc32/func.c
+++ b/sim/erc32/func.c
@@ -1,4 +1,7 @@
-/* Copyright (C) 1995-2015 Free Software Foundation, Inc.
+/* This file is part of SIS (SPARC instruction simulator)
+
+ Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Contributed by Jiri Gaisler, European Space Agency
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
diff --git a/sim/erc32/help.c b/sim/erc32/help.c
index 23b0c5a62ac..30704ad692b 100644
--- a/sim/erc32/help.c
+++ b/sim/erc32/help.c
@@ -1,4 +1,7 @@
-/* Copyright (C) 1996-2015 Free Software Foundation, Inc.
+/* This file is part of SIS (SPARC instruction simulator)
+
+ Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Contributed by Jiri Gaisler, European Space Agency
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
diff --git a/sim/erc32/interf.c b/sim/erc32/interf.c
index 94b7fe28357..a33102460f8 100644
--- a/sim/erc32/interf.c
+++ b/sim/erc32/interf.c
@@ -1,4 +1,7 @@
-/* Copyright (C) 1995-2015 Free Software Foundation, Inc.
+/* This file is part of SIS (SPARC instruction simulator)
+
+ Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Contributed by Jiri Gaisler, European Space Agency
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
diff --git a/sim/erc32/sis.c b/sim/erc32/sis.c
index 21106a0e5d0..276176259df 100644
--- a/sim/erc32/sis.c
+++ b/sim/erc32/sis.c
@@ -1,4 +1,7 @@
-/* Copyright (C) 1995-2015 Free Software Foundation, Inc.
+/* This file is part of SIS (SPARC instruction simulator)
+
+ Copyright (C) 1995-2015 Free Software Foundation, Inc.
+ Contributed by Jiri Gaisler, European Space Agency
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
diff --git a/sim/frv/ChangeLog b/sim/frv/ChangeLog
index 6b351bf6273..48919578555 100644
--- a/sim/frv/ChangeLog
+++ b/sim/frv/ChangeLog
@@ -1,3 +1,27 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure.ac (AC_ARG_ENABLE(sim-trapdump)): Call AS_HELP_STRING.
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * decode.c (frvbf_decode): Change TRACE_EXTRACT to CGEN_TRACE_EXTRACT.
+ * mloop.in (execute): Change TRACE_INSN_INIT to CGEN_TRACE_INSN_INIT,
+ TRACE_INSN to CGEN_TRACE_INSN, and TRACE_INSN_FINI to CGEN_TRACE_INSN_FINI.
+ * sem.c: Rename TRACE_RESULT to CGEN_TRACE_RESULT.
+
+2015-06-11 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-main.h (WITH_TRACE): Delete.
+
2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-main.h (USING_SIM_BASE_H): Delete.
diff --git a/sim/frv/configure b/sim/frv/configure
index 50e50c29249..0cc04c12623 100755
--- a/sim/frv/configure
+++ b/sim/frv/configure
@@ -1410,20 +1410,32 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
- --enable-sim-scache=size Specify simulator execution cache size.
- --enable-sim-default-model=model Specify default model to simulate.
- --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.
- --enable-cgen-maint=DIR build cgen generated files
- --enable-sim-trapdump Make unknown traps dump the registers
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
+ --enable-sim-scache=size
+ Specify simulator execution cache size
+ --enable-sim-default-model=model
+ Specify default model to simulate
+ --enable-sim-environment=environment
+ Specify mixed, user, virtual or operating
+ environment
+ --enable-cgen-maint=DIR build cgen generated files
+ --enable-sim-trapdump Make unknown traps dump the registers
--enable-sim-hardware=LIST
Specify the hardware to be included in the build.
@@ -2232,7 +2244,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12311,7 +12323,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12314 "configure"
+#line 12326 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12417,7 +12429,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12420 "configure"
+#line 12432 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12753,10 +12765,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/frv/configure.ac b/sim/frv/configure.ac
index c56fbe7e230..ebaf6ab3b60 100644
--- a/sim/frv/configure.ac
+++ b/sim/frv/configure.ac
@@ -17,7 +17,8 @@ SIM_AC_OPTION_CGEN_MAINT
# Enable making unknown traps dump out registers
#
AC_ARG_ENABLE(sim-trapdump,
-[ --enable-sim-trapdump Make unknown traps dump the registers],
+[AS_HELP_STRING([--enable-sim-trapdump],
+ [Make unknown traps dump the registers])],
[case "${enableval}" in
yes) sim_trapdump="-DTRAPDUMP=1";;
no) sim_trapdump="-DTRAPDUMP=0";;
diff --git a/sim/frv/decode.c b/sim/frv/decode.c
index bca4a63034e..4668170c5a7 100644
--- a/sim/frv/decode.c
+++ b/sim/frv/decode.c
@@ -3254,7 +3254,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
#undef FLD
return idesc;
@@ -3277,7 +3277,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3306,7 +3306,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_not", "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_not", "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3337,7 +3337,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sdiv", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sdiv", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3369,7 +3369,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_smul", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_smul", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3398,7 +3398,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_smu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_smu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3427,7 +3427,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_smass", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_smass", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3460,7 +3460,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_slass", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_slass", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3489,7 +3489,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_scutss", "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_scutss", "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3527,7 +3527,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cadd", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cadd", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3563,7 +3563,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cnot", "f_CCi 0x%x", 'x', f_CCi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cnot", "f_CCi 0x%x", 'x', f_CCi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3601,7 +3601,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_csmul", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_csmul", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3640,7 +3640,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_csdiv", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_csdiv", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3676,7 +3676,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_ICCi_1) = f_ICCi_1;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcc", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_ICCi_1 0x%x", 'x', f_ICCi_1, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addcc", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_ICCi_1 0x%x", 'x', f_ICCi_1, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3713,7 +3713,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_ICCi_1) = f_ICCi_1;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcc", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_ICCi_1 0x%x", 'x', f_ICCi_1, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcc", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_ICCi_1 0x%x", 'x', f_ICCi_1, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3750,7 +3750,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_ICCi_1) = f_ICCi_1;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_smulcc", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_ICCi_1 0x%x", 'x', f_ICCi_1, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_smulcc", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_ICCi_1 0x%x", 'x', f_ICCi_1, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3790,7 +3790,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_caddcc", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_caddcc", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3831,7 +3831,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_csmulcc", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_csmulcc", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3869,7 +3869,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_ICCi_1) = f_ICCi_1;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addx", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_ICCi_1 0x%x", 'x', f_ICCi_1, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addx", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_ICCi_1 0x%x", 'x', f_ICCi_1, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3902,7 +3902,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3933,7 +3933,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRk) = f_GRk;
FLD (f_d12) = f_d12;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sdivi", "f_GRi 0x%x", 'x', f_GRi, "f_GRk 0x%x", 'x', f_GRk, "f_d12 0x%x", 'x', f_d12, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sdivi", "f_GRi 0x%x", 'x', f_GRi, "f_GRk 0x%x", 'x', f_GRk, "f_d12 0x%x", 'x', f_d12, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3964,7 +3964,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_smuli", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_smuli", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3998,7 +3998,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_ICCi_1) = f_ICCi_1;
FLD (f_s10) = f_s10;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addicc", "f_GRi 0x%x", 'x', f_GRi, "f_ICCi_1 0x%x", 'x', f_ICCi_1, "f_s10 0x%x", 'x', f_s10, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addicc", "f_GRi 0x%x", 'x', f_GRi, "f_ICCi_1 0x%x", 'x', f_ICCi_1, "f_s10 0x%x", 'x', f_s10, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4034,7 +4034,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_ICCi_1) = f_ICCi_1;
FLD (f_s10) = f_s10;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andicc", "f_GRi 0x%x", 'x', f_GRi, "f_ICCi_1 0x%x", 'x', f_ICCi_1, "f_s10 0x%x", 'x', f_s10, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andicc", "f_GRi 0x%x", 'x', f_GRi, "f_ICCi_1 0x%x", 'x', f_ICCi_1, "f_s10 0x%x", 'x', f_s10, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4070,7 +4070,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_ICCi_1) = f_ICCi_1;
FLD (f_s10) = f_s10;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_smulicc", "f_GRi 0x%x", 'x', f_GRi, "f_ICCi_1 0x%x", 'x', f_ICCi_1, "f_s10 0x%x", 'x', f_s10, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_smulicc", "f_GRi 0x%x", 'x', f_GRi, "f_ICCi_1 0x%x", 'x', f_ICCi_1, "f_s10 0x%x", 'x', f_s10, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4106,7 +4106,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_ICCi_1) = f_ICCi_1;
FLD (f_s10) = f_s10;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addxi", "f_GRi 0x%x", 'x', f_GRi, "f_ICCi_1 0x%x", 'x', f_ICCi_1, "f_s10 0x%x", 'x', f_s10, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addxi", "f_GRi 0x%x", 'x', f_GRi, "f_ICCi_1 0x%x", 'x', f_ICCi_1, "f_s10 0x%x", 'x', f_s10, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4138,7 +4138,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_ICCi_1) = f_ICCi_1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpb", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_ICCi_1 0x%x", 'x', f_ICCi_1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpb", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_ICCi_1 0x%x", 'x', f_ICCi_1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4167,7 +4167,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_u16) = f_u16;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setlo", "f_u16 0x%x", 'x', f_u16, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setlo", "f_u16 0x%x", 'x', f_u16, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4194,7 +4194,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_u16) = f_u16;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sethi", "f_u16 0x%x", 'x', f_u16, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sethi", "f_u16 0x%x", 'x', f_u16, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4221,7 +4221,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_s16) = f_s16;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setlos", "f_s16 0x%x", 'x', f_s16, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setlos", "f_s16 0x%x", 'x', f_s16, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4251,7 +4251,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsb", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsb", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4283,7 +4283,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldbf", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldbf", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4315,7 +4315,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_CPRk) = f_CPRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldc", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_CPRk 0x%x", 'x', f_CPRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldc", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_CPRk 0x%x", 'x', f_CPRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4347,7 +4347,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldsb", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldsb", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4379,7 +4379,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldbf", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldbf", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4411,7 +4411,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldd", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldd", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4443,7 +4443,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lddf", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lddf", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4475,7 +4475,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_CPRk) = f_CPRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lddc", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_CPRk 0x%x", 'x', f_CPRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lddc", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_CPRk 0x%x", 'x', f_CPRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4507,7 +4507,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldd", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldd", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4539,7 +4539,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nlddf", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nlddf", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4571,7 +4571,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldq", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldq", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4602,7 +4602,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldqf", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldqf", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4633,7 +4633,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_CPRk) = f_CPRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldqc", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_CPRk 0x%x", 'x', f_CPRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldqc", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_CPRk 0x%x", 'x', f_CPRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4664,7 +4664,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldq", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldq", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4695,7 +4695,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldqf", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldqf", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4726,7 +4726,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsbu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsbu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4759,7 +4759,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldsbu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldsbu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4792,7 +4792,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldbfu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldbfu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4825,7 +4825,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_CPRk) = f_CPRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldcu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_CPRk 0x%x", 'x', f_CPRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldcu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_CPRk 0x%x", 'x', f_CPRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4858,7 +4858,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldbfu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldbfu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4891,7 +4891,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lddu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lddu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4924,7 +4924,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nlddu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nlddu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4957,7 +4957,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lddfu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lddfu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4990,7 +4990,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_CPRk) = f_CPRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lddcu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_CPRk 0x%x", 'x', f_CPRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lddcu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_CPRk 0x%x", 'x', f_CPRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5023,7 +5023,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nlddfu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nlddfu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5056,7 +5056,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldqu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldqu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5088,7 +5088,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldqu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldqu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5120,7 +5120,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldqfu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldqfu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5152,7 +5152,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_CPRk) = f_CPRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldqcu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_CPRk 0x%x", 'x', f_CPRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldqcu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_CPRk 0x%x", 'x', f_CPRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5184,7 +5184,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldqfu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldqfu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5216,7 +5216,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsbi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsbi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5247,7 +5247,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldbfi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldbfi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5278,7 +5278,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldsbi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldsbi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5309,7 +5309,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldbfi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldbfi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5340,7 +5340,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lddi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lddi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5371,7 +5371,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lddfi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lddfi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5402,7 +5402,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nlddi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nlddi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5433,7 +5433,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nlddfi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nlddfi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5464,7 +5464,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldqi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldqi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5494,7 +5494,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldqfi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldqfi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5524,7 +5524,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldqfi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nldqfi", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5554,7 +5554,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5586,7 +5586,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRk) = f_FRk;
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stbf", "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stbf", "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5618,7 +5618,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_CPRk) = f_CPRk;
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stc", "f_CPRk 0x%x", 'x', f_CPRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stc", "f_CPRk 0x%x", 'x', f_CPRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5650,7 +5650,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRk) = f_GRk;
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_std", "f_GRk 0x%x", 'x', f_GRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_std", "f_GRk 0x%x", 'x', f_GRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5682,7 +5682,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRk) = f_FRk;
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stdf", "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stdf", "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5714,7 +5714,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_CPRk) = f_CPRk;
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stdc", "f_CPRk 0x%x", 'x', f_CPRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stdc", "f_CPRk 0x%x", 'x', f_CPRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5746,7 +5746,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stbu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stbu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5779,7 +5779,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRk) = f_FRk;
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stbfu", "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stbfu", "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5812,7 +5812,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_CPRk) = f_CPRk;
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stcu", "f_CPRk 0x%x", 'x', f_CPRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stcu", "f_CPRk 0x%x", 'x', f_CPRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5845,7 +5845,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRk) = f_GRk;
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stdu", "f_GRk 0x%x", 'x', f_GRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stdu", "f_GRk 0x%x", 'x', f_GRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5878,7 +5878,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRk) = f_FRk;
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stdfu", "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stdfu", "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5911,7 +5911,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_CPRk) = f_CPRk;
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stdcu", "f_CPRk 0x%x", 'x', f_CPRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stdcu", "f_CPRk 0x%x", 'x', f_CPRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5944,7 +5944,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stqu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stqu", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5982,7 +5982,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cldsb", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cldsb", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6021,7 +6021,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cldbf", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cldbf", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6060,7 +6060,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cldd", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cldd", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6099,7 +6099,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clddf", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clddf", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6138,7 +6138,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cldq", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cldq", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6176,7 +6176,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cldsbu", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cldsbu", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6216,7 +6216,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cldbfu", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cldbfu", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6256,7 +6256,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clddu", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clddu", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6296,7 +6296,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clddfu", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clddfu", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6336,7 +6336,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cldqu", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cldqu", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6375,7 +6375,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cstb", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cstb", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6414,7 +6414,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cstbf", "f_CCi 0x%x", 'x', f_CCi, "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cstbf", "f_CCi 0x%x", 'x', f_CCi, "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6453,7 +6453,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cstd", "f_CCi 0x%x", 'x', f_CCi, "f_GRk 0x%x", 'x', f_GRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cstd", "f_CCi 0x%x", 'x', f_CCi, "f_GRk 0x%x", 'x', f_GRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6492,7 +6492,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cstdf", "f_CCi 0x%x", 'x', f_CCi, "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cstdf", "f_CCi 0x%x", 'x', f_CCi, "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6531,7 +6531,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cstbu", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cstbu", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6571,7 +6571,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cstbfu", "f_CCi 0x%x", 'x', f_CCi, "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cstbfu", "f_CCi 0x%x", 'x', f_CCi, "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6611,7 +6611,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cstdu", "f_CCi 0x%x", 'x', f_CCi, "f_GRk 0x%x", 'x', f_GRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cstdu", "f_CCi 0x%x", 'x', f_CCi, "f_GRk 0x%x", 'x', f_GRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6651,7 +6651,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cstdfu", "f_CCi 0x%x", 'x', f_CCi, "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cstdfu", "f_CCi 0x%x", 'x', f_CCi, "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6685,7 +6685,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRk) = f_GRk;
FLD (f_d12) = f_d12;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stbi", "f_GRi 0x%x", 'x', f_GRi, "f_GRk 0x%x", 'x', f_GRk, "f_d12 0x%x", 'x', f_d12, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stbi", "f_GRi 0x%x", 'x', f_GRi, "f_GRk 0x%x", 'x', f_GRk, "f_d12 0x%x", 'x', f_d12, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6716,7 +6716,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRk) = f_FRk;
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stbfi", "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stbfi", "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6747,7 +6747,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRk) = f_GRk;
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stdi", "f_GRk 0x%x", 'x', f_GRk, "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stdi", "f_GRk 0x%x", 'x', f_GRk, "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6778,7 +6778,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRk) = f_FRk;
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stdfi", "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stdfi", "f_FRk 0x%x", 'x', f_FRk, "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6809,7 +6809,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_swap", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_swap", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6842,7 +6842,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRk) = f_GRk;
FLD (f_d12) = f_d12;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_swapi", "f_GRi 0x%x", 'x', f_GRi, "f_GRk 0x%x", 'x', f_GRk, "f_d12 0x%x", 'x', f_d12, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_swapi", "f_GRi 0x%x", 'x', f_GRi, "f_GRk 0x%x", 'x', f_GRk, "f_d12 0x%x", 'x', f_d12, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6880,7 +6880,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_GRk) = f_GRk;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cswap", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cswap", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_GRk 0x%x", 'x', f_GRk, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6911,7 +6911,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_GRj) = f_GRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movgf", "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movgf", "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6939,7 +6939,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRk) = f_FRk;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movfg", "f_FRk 0x%x", 'x', f_FRk, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movfg", "f_FRk 0x%x", 'x', f_FRk, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6967,7 +6967,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_GRj) = f_GRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movgfd", "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movgfd", "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6997,7 +6997,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRk) = f_FRk;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movfgd", "f_FRk 0x%x", 'x', f_FRk, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movfgd", "f_FRk 0x%x", 'x', f_FRk, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7027,7 +7027,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_GRj) = f_GRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movgfq", "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movgfq", "f_GRj 0x%x", 'x', f_GRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7061,7 +7061,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRk) = f_FRk;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movfgq", "f_FRk 0x%x", 'x', f_FRk, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movfgq", "f_FRk 0x%x", 'x', f_FRk, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7101,7 +7101,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmovgf", "f_CCi 0x%x", 'x', f_CCi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmovgf", "f_CCi 0x%x", 'x', f_CCi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7136,7 +7136,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRk) = f_FRk;
FLD (f_cond) = f_cond;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmovfg", "f_CCi 0x%x", 'x', f_CCi, "f_FRk 0x%x", 'x', f_FRk, "f_cond 0x%x", 'x', f_cond, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmovfg", "f_CCi 0x%x", 'x', f_CCi, "f_FRk 0x%x", 'x', f_FRk, "f_cond 0x%x", 'x', f_cond, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7171,7 +7171,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_cond) = f_cond;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmovgfd", "f_CCi 0x%x", 'x', f_CCi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmovgfd", "f_CCi 0x%x", 'x', f_CCi, "f_GRj 0x%x", 'x', f_GRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7208,7 +7208,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRk) = f_FRk;
FLD (f_cond) = f_cond;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmovfgd", "f_CCi 0x%x", 'x', f_CCi, "f_FRk 0x%x", 'x', f_FRk, "f_cond 0x%x", 'x', f_cond, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmovfgd", "f_CCi 0x%x", 'x', f_CCi, "f_FRk 0x%x", 'x', f_FRk, "f_cond 0x%x", 'x', f_cond, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7245,7 +7245,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_GRj) = f_GRj;
FLD (f_spr) = f_spr;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movgs", "f_GRj 0x%x", 'x', f_GRj, "f_spr 0x%x", 'x', f_spr, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movgs", "f_GRj 0x%x", 'x', f_GRj, "f_spr 0x%x", 'x', f_spr, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7279,7 +7279,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_spr) = f_spr;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movsg", "f_spr 0x%x", 'x', f_spr, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movsg", "f_spr 0x%x", 'x', f_spr, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7307,7 +7307,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_hint) = f_hint;
FLD (i_label16) = f_label16;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra", "f_hint 0x%x", 'x', f_hint, "label16 0x%x", 'x', f_label16, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra", "f_hint 0x%x", 'x', f_hint, "label16 0x%x", 'x', f_label16, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7333,7 +7333,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_hint) = f_hint;
FLD (i_label16) = f_label16;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bno", "f_hint 0x%x", 'x', f_hint, "label16 0x%x", 'x', f_label16, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bno", "f_hint 0x%x", 'x', f_hint, "label16 0x%x", 'x', f_label16, (char *) 0));
#undef FLD
return idesc;
@@ -7356,7 +7356,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_ICCi_2) = f_ICCi_2;
FLD (f_hint) = f_hint;
FLD (i_label16) = f_label16;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beq", "f_ICCi_2 0x%x", 'x', f_ICCi_2, "f_hint 0x%x", 'x', f_hint, "label16 0x%x", 'x', f_label16, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beq", "f_ICCi_2 0x%x", 'x', f_ICCi_2, "f_hint 0x%x", 'x', f_hint, "label16 0x%x", 'x', f_label16, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7383,7 +7383,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_hint) = f_hint;
FLD (i_label16) = f_label16;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fbra", "f_hint 0x%x", 'x', f_hint, "label16 0x%x", 'x', f_label16, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fbra", "f_hint 0x%x", 'x', f_hint, "label16 0x%x", 'x', f_label16, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7409,7 +7409,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_hint) = f_hint;
FLD (i_label16) = f_label16;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fbno", "f_hint 0x%x", 'x', f_hint, "label16 0x%x", 'x', f_label16, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fbno", "f_hint 0x%x", 'x', f_hint, "label16 0x%x", 'x', f_label16, (char *) 0));
#undef FLD
return idesc;
@@ -7432,7 +7432,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FCCi_2) = f_FCCi_2;
FLD (f_hint) = f_hint;
FLD (i_label16) = f_label16;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fbne", "f_FCCi_2 0x%x", 'x', f_FCCi_2, "f_hint 0x%x", 'x', f_hint, "label16 0x%x", 'x', f_label16, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fbne", "f_FCCi_2 0x%x", 'x', f_FCCi_2, "f_hint 0x%x", 'x', f_hint, "label16 0x%x", 'x', f_label16, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7459,7 +7459,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_ccond) = f_ccond;
FLD (f_hint) = f_hint;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bctrlr", "f_ccond 0x%x", 'x', f_ccond, "f_hint 0x%x", 'x', f_hint, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bctrlr", "f_ccond 0x%x", 'x', f_ccond, "f_hint 0x%x", 'x', f_hint, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7485,7 +7485,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_hint) = f_hint;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bralr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bralr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7509,7 +7509,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_hint) = f_hint;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bnolr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bnolr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7536,7 +7536,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_ICCi_2) = f_ICCi_2;
FLD (f_hint) = f_hint;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqlr", "f_ICCi_2 0x%x", 'x', f_ICCi_2, "f_hint 0x%x", 'x', f_hint, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqlr", "f_ICCi_2 0x%x", 'x', f_ICCi_2, "f_hint 0x%x", 'x', f_hint, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7561,7 +7561,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_hint) = f_hint;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fbralr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fbralr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7585,7 +7585,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_hint) = f_hint;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fbnolr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fbnolr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7612,7 +7612,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FCCi_2) = f_FCCi_2;
FLD (f_hint) = f_hint;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fbeqlr", "f_FCCi_2 0x%x", 'x', f_FCCi_2, "f_hint 0x%x", 'x', f_hint, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fbeqlr", "f_FCCi_2 0x%x", 'x', f_FCCi_2, "f_hint 0x%x", 'x', f_hint, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7640,7 +7640,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_ccond) = f_ccond;
FLD (f_hint) = f_hint;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcralr", "f_ccond 0x%x", 'x', f_ccond, "f_hint 0x%x", 'x', f_hint, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcralr", "f_ccond 0x%x", 'x', f_ccond, "f_hint 0x%x", 'x', f_hint, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7666,7 +7666,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_hint) = f_hint;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcnolr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcnolr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7698,7 +7698,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_ICCi_2) = f_ICCi_2;
FLD (f_ccond) = f_ccond;
FLD (f_hint) = f_hint;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bceqlr", "f_ICCi_2 0x%x", 'x', f_ICCi_2, "f_ccond 0x%x", 'x', f_ccond, "f_hint 0x%x", 'x', f_hint, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bceqlr", "f_ICCi_2 0x%x", 'x', f_ICCi_2, "f_ccond 0x%x", 'x', f_ccond, "f_hint 0x%x", 'x', f_hint, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7728,7 +7728,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_ccond) = f_ccond;
FLD (f_hint) = f_hint;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcbralr", "f_ccond 0x%x", 'x', f_ccond, "f_hint 0x%x", 'x', f_hint, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcbralr", "f_ccond 0x%x", 'x', f_ccond, "f_hint 0x%x", 'x', f_hint, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7754,7 +7754,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_hint) = f_hint;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcbnolr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcbnolr", "f_hint 0x%x", 'x', f_hint, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7786,7 +7786,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FCCi_2) = f_FCCi_2;
FLD (f_ccond) = f_ccond;
FLD (f_hint) = f_hint;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcbeqlr", "f_FCCi_2 0x%x", 'x', f_FCCi_2, "f_ccond 0x%x", 'x', f_ccond, "f_hint 0x%x", 'x', f_hint, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcbeqlr", "f_FCCi_2 0x%x", 'x', f_FCCi_2, "f_ccond 0x%x", 'x', f_ccond, "f_hint 0x%x", 'x', f_hint, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7819,7 +7819,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_LI) = f_LI;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmpl", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_LI 0x%x", 'x', f_LI, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmpl", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_LI 0x%x", 'x', f_LI, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7850,7 +7850,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_LI) = f_LI;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_calll", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_LI 0x%x", 'x', f_LI, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_calll", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_LI 0x%x", 'x', f_LI, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7881,7 +7881,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_LI) = f_LI;
FLD (f_d12) = f_d12;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmpil", "f_GRi 0x%x", 'x', f_GRi, "f_LI 0x%x", 'x', f_LI, "f_d12 0x%x", 'x', f_d12, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmpil", "f_GRi 0x%x", 'x', f_GRi, "f_LI 0x%x", 'x', f_LI, "f_d12 0x%x", 'x', f_d12, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7911,7 +7911,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_LI) = f_LI;
FLD (f_d12) = f_d12;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_callil", "f_GRi 0x%x", 'x', f_GRi, "f_LI 0x%x", 'x', f_LI, "f_d12 0x%x", 'x', f_d12, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_callil", "f_GRi 0x%x", 'x', f_GRi, "f_LI 0x%x", 'x', f_LI, "f_d12 0x%x", 'x', f_d12, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7941,7 +7941,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_label24) = f_label24;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_call", "label24 0x%x", 'x', f_label24, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_call", "label24 0x%x", 'x', f_label24, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7964,7 +7964,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_debug) = f_debug;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rett", "f_debug 0x%x", 'x', f_debug, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rett", "f_debug 0x%x", 'x', f_debug, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -7983,7 +7983,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rei", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rei", (char *) 0));
#undef FLD
return idesc;
@@ -8003,7 +8003,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tra", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tra", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8039,7 +8039,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_ICCi_2) = f_ICCi_2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_teq", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_ICCi_2 0x%x", 'x', f_ICCi_2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_teq", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_ICCi_2 0x%x", 'x', f_ICCi_2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8073,7 +8073,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftra", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftra", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8109,7 +8109,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FCCi_2) = f_FCCi_2;
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftne", "f_FCCi_2 0x%x", 'x', f_FCCi_2, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftne", "f_FCCi_2 0x%x", 'x', f_FCCi_2, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8143,7 +8143,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tira", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tira", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8178,7 +8178,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_ICCi_2) = f_ICCi_2;
FLD (f_d12) = f_d12;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tieq", "f_GRi 0x%x", 'x', f_GRi, "f_ICCi_2 0x%x", 'x', f_ICCi_2, "f_d12 0x%x", 'x', f_d12, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tieq", "f_GRi 0x%x", 'x', f_GRi, "f_ICCi_2 0x%x", 'x', f_ICCi_2, "f_d12 0x%x", 'x', f_d12, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8211,7 +8211,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftira", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftira", "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8246,7 +8246,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FCCi_2) = f_FCCi_2;
FLD (f_GRi) = f_GRi;
FLD (f_d12) = f_d12;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftine", "f_FCCi_2 0x%x", 'x', f_FCCi_2, "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftine", "f_FCCi_2 0x%x", 'x', f_FCCi_2, "f_GRi 0x%x", 'x', f_GRi, "f_d12 0x%x", 'x', f_d12, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8272,7 +8272,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_break", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_break", (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8302,7 +8302,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_CRi) = f_CRi;
FLD (f_CRj) = f_CRj;
FLD (f_CRk) = f_CRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcr", "f_CRi 0x%x", 'x', f_CRi, "f_CRj 0x%x", 'x', f_CRj, "f_CRk 0x%x", 'x', f_CRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andcr", "f_CRi 0x%x", 'x', f_CRi, "f_CRj 0x%x", 'x', f_CRj, "f_CRk 0x%x", 'x', f_CRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8331,7 +8331,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_CRj) = f_CRj;
FLD (f_CRk) = f_CRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_notcr", "f_CRj 0x%x", 'x', f_CRj, "f_CRk 0x%x", 'x', f_CRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_notcr", "f_CRj 0x%x", 'x', f_CRj, "f_CRk 0x%x", 'x', f_CRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8356,7 +8356,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_CRj_int) = f_CRj_int;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ckra", "f_CRj_int 0x%x", 'x', f_CRj_int, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ckra", "f_CRj_int 0x%x", 'x', f_CRj_int, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8383,7 +8383,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_ICCi_3) = f_ICCi_3;
FLD (f_CRj_int) = f_CRj_int;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ckeq", "f_ICCi_3 0x%x", 'x', f_ICCi_3, "f_CRj_int 0x%x", 'x', f_CRj_int, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ckeq", "f_ICCi_3 0x%x", 'x', f_ICCi_3, "f_CRj_int 0x%x", 'x', f_CRj_int, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8408,7 +8408,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_CRj_float) = f_CRj_float;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fckra", "f_CRj_float 0x%x", 'x', f_CRj_float, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fckra", "f_CRj_float 0x%x", 'x', f_CRj_float, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8435,7 +8435,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FCCi_3) = f_FCCi_3;
FLD (f_CRj_float) = f_CRj_float;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fckne", "f_FCCi_3 0x%x", 'x', f_FCCi_3, "f_CRj_float 0x%x", 'x', f_CRj_float, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fckne", "f_FCCi_3 0x%x", 'x', f_FCCi_3, "f_CRj_float 0x%x", 'x', f_CRj_float, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8466,7 +8466,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_CCi) = f_CCi;
FLD (f_cond) = f_cond;
FLD (f_CRj_int) = f_CRj_int;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cckra", "f_CCi 0x%x", 'x', f_CCi, "f_cond 0x%x", 'x', f_cond, "f_CRj_int 0x%x", 'x', f_CRj_int, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cckra", "f_CCi 0x%x", 'x', f_CCi, "f_cond 0x%x", 'x', f_cond, "f_CRj_int 0x%x", 'x', f_CRj_int, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8500,7 +8500,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_ICCi_3) = f_ICCi_3;
FLD (f_cond) = f_cond;
FLD (f_CRj_int) = f_CRj_int;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cckeq", "f_CCi 0x%x", 'x', f_CCi, "f_ICCi_3 0x%x", 'x', f_ICCi_3, "f_cond 0x%x", 'x', f_cond, "f_CRj_int 0x%x", 'x', f_CRj_int, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cckeq", "f_CCi 0x%x", 'x', f_CCi, "f_ICCi_3 0x%x", 'x', f_ICCi_3, "f_cond 0x%x", 'x', f_cond, "f_CRj_int 0x%x", 'x', f_CRj_int, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8532,7 +8532,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_CCi) = f_CCi;
FLD (f_cond) = f_cond;
FLD (f_CRj_float) = f_CRj_float;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cfckra", "f_CCi 0x%x", 'x', f_CCi, "f_cond 0x%x", 'x', f_cond, "f_CRj_float 0x%x", 'x', f_CRj_float, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cfckra", "f_CCi 0x%x", 'x', f_CCi, "f_cond 0x%x", 'x', f_cond, "f_CRj_float 0x%x", 'x', f_CRj_float, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8566,7 +8566,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FCCi_3) = f_FCCi_3;
FLD (f_cond) = f_cond;
FLD (f_CRj_float) = f_CRj_float;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cfckne", "f_CCi 0x%x", 'x', f_CCi, "f_FCCi_3 0x%x", 'x', f_FCCi_3, "f_cond 0x%x", 'x', f_cond, "f_CRj_float 0x%x", 'x', f_CRj_float, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cfckne", "f_CCi 0x%x", 'x', f_CCi, "f_FCCi_3 0x%x", 'x', f_FCCi_3, "f_cond 0x%x", 'x', f_cond, "f_CRj_float 0x%x", 'x', f_CRj_float, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8604,7 +8604,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_LI) = f_LI;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cjmpl", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_LI 0x%x", 'x', f_LI, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cjmpl", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_LI 0x%x", 'x', f_LI, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8642,7 +8642,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRj) = f_GRj;
FLD (f_LI) = f_LI;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ccalll", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_LI 0x%x", 'x', f_LI, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ccalll", "f_CCi 0x%x", 'x', f_CCi, "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_LI 0x%x", 'x', f_LI, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8671,7 +8671,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ici", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ici", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8702,7 +8702,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_ae) = f_ae;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_icei", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_ae 0x%x", 'x', f_ae, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_icei", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_ae 0x%x", 'x', f_ae, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8733,7 +8733,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_GRi) = f_GRi;
FLD (f_GRj) = f_GRj;
FLD (f_lock) = f_lock;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_icpl", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_lock 0x%x", 'x', f_lock, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_icpl", "f_GRi 0x%x", 'x', f_GRi, "f_GRj 0x%x", 'x', f_GRj, "f_lock 0x%x", 'x', f_lock, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8758,7 +8758,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_GRi) = f_GRi;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_icul", "f_GRi 0x%x", 'x', f_GRi, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_icul", "f_GRi 0x%x", 'x', f_GRi, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8782,7 +8782,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrgr", "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrgr", "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8806,7 +8806,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrfr", "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrfr", "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8830,7 +8830,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_GRk) = f_GRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_commitgr", "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_commitgr", "f_GRk 0x%x", 'x', f_GRk, (char *) 0));
#undef FLD
return idesc;
@@ -8847,7 +8847,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_commitfr", "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_commitfr", "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#undef FLD
return idesc;
@@ -8867,7 +8867,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fitos", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fitos", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8895,7 +8895,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fstoi", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fstoi", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8923,7 +8923,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fitod", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fitod", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8951,7 +8951,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fdtoi", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fdtoi", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -8979,7 +8979,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fditos", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fditos", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9009,7 +9009,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fdstoi", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fdstoi", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9045,7 +9045,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRj) = f_FRj;
FLD (f_cond) = f_cond;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cfitos", "f_CCi 0x%x", 'x', f_CCi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cfitos", "f_CCi 0x%x", 'x', f_CCi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9080,7 +9080,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRj) = f_FRj;
FLD (f_cond) = f_cond;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cfstoi", "f_CCi 0x%x", 'x', f_CCi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cfstoi", "f_CCi 0x%x", 'x', f_CCi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9109,7 +9109,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nfitos", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nfitos", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9137,7 +9137,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nfstoi", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nfstoi", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9165,7 +9165,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmovs", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmovs", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9193,7 +9193,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmovd", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmovd", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9221,7 +9221,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fdmovs", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fdmovs", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9257,7 +9257,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRj) = f_FRj;
FLD (f_cond) = f_cond;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cfmovs", "f_CCi 0x%x", 'x', f_CCi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cfmovs", "f_CCi 0x%x", 'x', f_CCi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9286,7 +9286,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nfsqrts", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nfsqrts", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9317,7 +9317,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fadds", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fadds", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9349,7 +9349,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_faddd", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_faddd", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9387,7 +9387,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRj) = f_FRj;
FLD (f_cond) = f_cond;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cfadds", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cfadds", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9420,7 +9420,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nfadds", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nfadds", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9452,7 +9452,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FCCi_2) = f_FCCi_2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcmps", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FCCi_2 0x%x", 'x', f_FCCi_2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcmps", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FCCi_2 0x%x", 'x', f_FCCi_2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9484,7 +9484,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FCCi_2) = f_FCCi_2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcmpd", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FCCi_2 0x%x", 'x', f_FCCi_2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcmpd", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FCCi_2 0x%x", 'x', f_FCCi_2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9522,7 +9522,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRj) = f_FRj;
FLD (f_cond) = f_cond;
FLD (f_FCCi_2) = f_FCCi_2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cfcmps", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_FCCi_2 0x%x", 'x', f_FCCi_2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cfcmps", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_FCCi_2 0x%x", 'x', f_FCCi_2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9555,7 +9555,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FCCi_2) = f_FCCi_2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fdcmps", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FCCi_2 0x%x", 'x', f_FCCi_2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fdcmps", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FCCi_2 0x%x", 'x', f_FCCi_2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9590,7 +9590,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmadds", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmadds", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9623,7 +9623,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmaddd", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmaddd", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9656,7 +9656,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fdmadds", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fdmadds", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9699,7 +9699,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cfmadds", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cfmadds", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9733,7 +9733,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nfmadds", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nfmadds", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9766,7 +9766,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmas", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmas", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9801,7 +9801,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fdmas", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fdmas", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9848,7 +9848,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRj) = f_FRj;
FLD (f_cond) = f_cond;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cfmas", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cfmas", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9887,7 +9887,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRj) = f_FRj;
FLD (f_FCCi_2) = f_FCCi_2;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nfdcmps", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FCCi_2 0x%x", 'x', f_FCCi_2, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nfdcmps", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FCCi_2 0x%x", 'x', f_FCCi_2, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9925,7 +9925,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_u12) = f_u12;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mhsetlos", "f_u12 0x%x", 'x', f_u12, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mhsetlos", "f_u12 0x%x", 'x', f_u12, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9958,7 +9958,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_u12) = f_u12;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mhsethis", "f_u12 0x%x", 'x', f_u12, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mhsethis", "f_u12 0x%x", 'x', f_u12, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -9991,7 +9991,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRk) = f_FRk;
FLD (f_u12) = f_u12;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mhdsets", "f_FRk 0x%x", 'x', f_FRk, "f_u12 0x%x", 'x', f_u12, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mhdsets", "f_FRk 0x%x", 'x', f_FRk, "f_u12 0x%x", 'x', f_u12, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10021,7 +10021,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRk) = f_FRk;
FLD (f_s5) = f_s5;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mhsetloh", "f_FRk 0x%x", 'x', f_FRk, "f_s5 0x%x", 'x', f_s5, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mhsetloh", "f_FRk 0x%x", 'x', f_FRk, "f_s5 0x%x", 'x', f_s5, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10049,7 +10049,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRk) = f_FRk;
FLD (f_s5) = f_s5;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mhsethih", "f_FRk 0x%x", 'x', f_FRk, "f_s5 0x%x", 'x', f_s5, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mhsethih", "f_FRk 0x%x", 'x', f_FRk, "f_s5 0x%x", 'x', f_s5, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10077,7 +10077,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRk) = f_FRk;
FLD (f_s5) = f_s5;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mhdseth", "f_FRk 0x%x", 'x', f_FRk, "f_s5 0x%x", 'x', f_s5, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mhdseth", "f_FRk 0x%x", 'x', f_FRk, "f_s5 0x%x", 'x', f_s5, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10112,7 +10112,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mand", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mand", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10150,7 +10150,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRj) = f_FRj;
FLD (f_cond) = f_cond;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmand", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmand", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10180,7 +10180,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mnot", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mnot", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10214,7 +10214,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRj) = f_FRj;
FLD (f_cond) = f_cond;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmnot", "f_CCi 0x%x", 'x', f_CCi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmnot", "f_CCi 0x%x", 'x', f_CCi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10246,7 +10246,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_u6) = f_u6;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mrotli", "f_FRi 0x%x", 'x', f_FRi, "f_u6 0x%x", 'x', f_u6, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mrotli", "f_FRi 0x%x", 'x', f_FRi, "f_u6 0x%x", 'x', f_u6, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10277,7 +10277,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mwcut", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mwcut", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10310,7 +10310,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_u6) = f_u6;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mwcuti", "f_FRi 0x%x", 'x', f_FRi, "f_u6 0x%x", 'x', f_u6, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mwcuti", "f_FRi 0x%x", 'x', f_FRi, "f_u6 0x%x", 'x', f_u6, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10342,7 +10342,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_ACC40Si) = f_ACC40Si;
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mcut", "f_ACC40Si 0x%x", 'x', f_ACC40Si, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mcut", "f_ACC40Si 0x%x", 'x', f_ACC40Si, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10374,7 +10374,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_ACC40Si) = f_ACC40Si;
FLD (f_s6) = f_s6;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mcuti", "f_ACC40Si 0x%x", 'x', f_ACC40Si, "f_s6 0x%x", 'x', f_s6, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mcuti", "f_ACC40Si 0x%x", 'x', f_ACC40Si, "f_s6 0x%x", 'x', f_s6, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10405,7 +10405,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_ACC40Si) = f_ACC40Si;
FLD (f_FRk) = f_FRk;
FLD (f_s6) = f_s6;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mdcutssi", "f_ACC40Si 0x%x", 'x', f_ACC40Si, "f_FRk 0x%x", 'x', f_FRk, "f_s6 0x%x", 'x', f_s6, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mdcutssi", "f_ACC40Si 0x%x", 'x', f_ACC40Si, "f_FRk 0x%x", 'x', f_FRk, "f_s6 0x%x", 'x', f_s6, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10438,7 +10438,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRk) = f_FRk;
FLD (f_u6) = f_u6;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_msllhi", "f_FRi 0x%x", 'x', f_FRi, "f_FRk 0x%x", 'x', f_FRk, "f_u6 0x%x", 'x', f_u6, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_msllhi", "f_FRi 0x%x", 'x', f_FRi, "f_FRk 0x%x", 'x', f_FRk, "f_u6 0x%x", 'x', f_u6, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10475,7 +10475,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRk) = f_FRk;
FLD (f_s6) = f_s6;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mdrotli", "f_FRi 0x%x", 'x', f_FRi, "f_FRk 0x%x", 'x', f_FRk, "f_s6 0x%x", 'x', f_s6, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mdrotli", "f_FRi 0x%x", 'x', f_FRi, "f_FRk 0x%x", 'x', f_FRk, "f_s6 0x%x", 'x', f_s6, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10508,7 +10508,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRk) = f_FRk;
FLD (f_u6) = f_u6;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mcplhi", "f_FRi 0x%x", 'x', f_FRi, "f_FRk 0x%x", 'x', f_FRk, "f_u6 0x%x", 'x', f_u6, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mcplhi", "f_FRi 0x%x", 'x', f_FRi, "f_FRk 0x%x", 'x', f_FRk, "f_u6 0x%x", 'x', f_u6, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10544,7 +10544,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_u6) = f_u6;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mcpli", "f_FRi 0x%x", 'x', f_FRi, "f_u6 0x%x", 'x', f_u6, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mcpli", "f_FRi 0x%x", 'x', f_FRi, "f_u6 0x%x", 'x', f_u6, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10576,7 +10576,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_msaths", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_msaths", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10613,7 +10613,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mqsaths", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mqsaths", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10658,7 +10658,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FCCk) = f_FCCk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mcmpsh", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FCCk 0x%x", 'x', f_FCCk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mcmpsh", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FCCk 0x%x", 'x', f_FCCk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10692,7 +10692,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mabshs", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mabshs", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10735,7 +10735,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRj) = f_FRj;
FLD (f_cond) = f_cond;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmaddhss", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmaddhss", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10779,7 +10779,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmqaddhss", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmqaddhss", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10825,7 +10825,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRk) = f_FRk;
FLD (f_u6) = f_u6;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mqsllhi", "f_FRi 0x%x", 'x', f_FRi, "f_FRk 0x%x", 'x', f_FRk, "f_u6 0x%x", 'x', f_u6, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mqsllhi", "f_FRi 0x%x", 'x', f_FRi, "f_FRk 0x%x", 'x', f_FRk, "f_u6 0x%x", 'x', f_u6, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10863,7 +10863,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_ACC40Si) = f_ACC40Si;
FLD (f_ACC40Sk) = f_ACC40Sk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_maddaccs", "f_ACC40Si 0x%x", 'x', f_ACC40Si, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_maddaccs", "f_ACC40Si 0x%x", 'x', f_ACC40Si, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10892,7 +10892,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_ACC40Si) = f_ACC40Si;
FLD (f_ACC40Sk) = f_ACC40Sk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mdaddaccs", "f_ACC40Si 0x%x", 'x', f_ACC40Si, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mdaddaccs", "f_ACC40Si 0x%x", 'x', f_ACC40Si, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10924,7 +10924,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_ACC40Si) = f_ACC40Si;
FLD (f_ACC40Sk) = f_ACC40Sk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_masaccs", "f_ACC40Si 0x%x", 'x', f_ACC40Si, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_masaccs", "f_ACC40Si 0x%x", 'x', f_ACC40Si, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10954,7 +10954,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_ACC40Si) = f_ACC40Si;
FLD (f_ACC40Sk) = f_ACC40Sk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mdasaccs", "f_ACC40Si 0x%x", 'x', f_ACC40Si, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mdasaccs", "f_ACC40Si 0x%x", 'x', f_ACC40Si, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -10991,7 +10991,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_ACC40Sk) = f_ACC40Sk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mmulhs", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mmulhs", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11034,7 +11034,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRj) = f_FRj;
FLD (f_cond) = f_cond;
FLD (f_ACC40Sk) = f_ACC40Sk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmmulhs", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmmulhs", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11072,7 +11072,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_ACC40Sk) = f_ACC40Sk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mqmulhs", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mqmulhs", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11121,7 +11121,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRj) = f_FRj;
FLD (f_cond) = f_cond;
FLD (f_ACC40Sk) = f_ACC40Sk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmqmulhs", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmqmulhs", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11165,7 +11165,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_ACC40Sk) = f_ACC40Sk;
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mmachs", "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mmachs", "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11204,7 +11204,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_ACC40Uk) = f_ACC40Uk;
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mmachu", "f_ACC40Uk 0x%x", 'x', f_ACC40Uk, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mmachu", "f_ACC40Uk 0x%x", 'x', f_ACC40Uk, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11249,7 +11249,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmmachs", "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmmachs", "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11295,7 +11295,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmmachu", "f_ACC40Uk 0x%x", 'x', f_ACC40Uk, "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmmachu", "f_ACC40Uk 0x%x", 'x', f_ACC40Uk, "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11335,7 +11335,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_ACC40Sk) = f_ACC40Sk;
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mqmachs", "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mqmachs", "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11382,7 +11382,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_ACC40Uk) = f_ACC40Uk;
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mqmachu", "f_ACC40Uk 0x%x", 'x', f_ACC40Uk, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mqmachu", "f_ACC40Uk 0x%x", 'x', f_ACC40Uk, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11435,7 +11435,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmqmachs", "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmqmachs", "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11489,7 +11489,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmqmachu", "f_ACC40Uk 0x%x", 'x', f_ACC40Uk, "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmqmachu", "f_ACC40Uk 0x%x", 'x', f_ACC40Uk, "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11537,7 +11537,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_ACC40Sk) = f_ACC40Sk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mcpxrs", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mcpxrs", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11579,7 +11579,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRj) = f_FRj;
FLD (f_cond) = f_cond;
FLD (f_ACC40Sk) = f_ACC40Sk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmcpxrs", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmcpxrs", "f_CCi 0x%x", 'x', f_CCi, "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_cond 0x%x", 'x', f_cond, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11616,7 +11616,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_ACC40Sk) = f_ACC40Sk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mqcpxrs", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mqcpxrs", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11657,7 +11657,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRk) = f_FRk;
FLD (f_u6) = f_u6;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mexpdhw", "f_FRi 0x%x", 'x', f_FRi, "f_FRk 0x%x", 'x', f_FRk, "f_u6 0x%x", 'x', f_u6, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mexpdhw", "f_FRi 0x%x", 'x', f_FRi, "f_FRk 0x%x", 'x', f_FRk, "f_u6 0x%x", 'x', f_u6, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11696,7 +11696,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRk) = f_FRk;
FLD (f_u6) = f_u6;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmexpdhw", "f_CCi 0x%x", 'x', f_CCi, "f_cond 0x%x", 'x', f_cond, "f_FRi 0x%x", 'x', f_FRi, "f_FRk 0x%x", 'x', f_FRk, "f_u6 0x%x", 'x', f_u6, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmexpdhw", "f_CCi 0x%x", 'x', f_CCi, "f_cond 0x%x", 'x', f_cond, "f_FRi 0x%x", 'x', f_FRi, "f_FRk 0x%x", 'x', f_FRk, "f_u6 0x%x", 'x', f_u6, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11730,7 +11730,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRk) = f_FRk;
FLD (f_FRi) = f_FRi;
FLD (f_u6) = f_u6;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mexpdhd", "f_FRk 0x%x", 'x', f_FRk, "f_FRi 0x%x", 'x', f_FRi, "f_u6 0x%x", 'x', f_u6, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mexpdhd", "f_FRk 0x%x", 'x', f_FRk, "f_FRi 0x%x", 'x', f_FRi, "f_u6 0x%x", 'x', f_u6, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11773,7 +11773,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_cond) = f_cond;
FLD (f_FRi) = f_FRi;
FLD (f_u6) = f_u6;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmexpdhd", "f_CCi 0x%x", 'x', f_CCi, "f_FRk 0x%x", 'x', f_FRk, "f_cond 0x%x", 'x', f_cond, "f_FRi 0x%x", 'x', f_FRi, "f_u6 0x%x", 'x', f_u6, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmexpdhd", "f_CCi 0x%x", 'x', f_CCi, "f_FRk 0x%x", 'x', f_FRk, "f_cond 0x%x", 'x', f_cond, "f_FRi 0x%x", 'x', f_FRi, "f_u6 0x%x", 'x', f_u6, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11811,7 +11811,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mpackh", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mpackh", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11844,7 +11844,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRi) = f_FRi;
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mdpackh", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mdpackh", "f_FRi 0x%x", 'x', f_FRi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11884,7 +11884,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRi) = f_FRi;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_munpackh", "f_FRi 0x%x", 'x', f_FRi, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_munpackh", "f_FRi 0x%x", 'x', f_FRi, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11920,7 +11920,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRi) = f_FRi;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mdunpackh", "f_FRi 0x%x", 'x', f_FRi, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mdunpackh", "f_FRi 0x%x", 'x', f_FRi, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -11962,7 +11962,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mbtoh", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mbtoh", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -12006,7 +12006,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmbtoh", "f_CCi 0x%x", 'x', f_CCi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmbtoh", "f_CCi 0x%x", 'x', f_CCi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -12045,7 +12045,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mhtob", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mhtob", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -12089,7 +12089,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmhtob", "f_CCi 0x%x", 'x', f_CCi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmhtob", "f_CCi 0x%x", 'x', f_CCi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -12128,7 +12128,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mbtohe", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mbtohe", "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -12176,7 +12176,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_FRj) = f_FRj;
FLD (f_FRk) = f_FRk;
FLD (f_cond) = f_cond;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmbtohe", "f_CCi 0x%x", 'x', f_CCi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, "f_cond 0x%x", 'x', f_cond, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmbtohe", "f_CCi 0x%x", 'x', f_CCi, "f_FRj 0x%x", 'x', f_FRj, "f_FRk 0x%x", 'x', f_FRk, "f_cond 0x%x", 'x', f_cond, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -12216,7 +12216,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_ACC40Sk) = f_ACC40Sk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mclracc_0", "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mclracc_0", "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, (char *) 0));
#undef FLD
return idesc;
@@ -12236,7 +12236,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_ACC40Si) = f_ACC40Si;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mrdacc", "f_ACC40Si 0x%x", 'x', f_ACC40Si, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mrdacc", "f_ACC40Si 0x%x", 'x', f_ACC40Si, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -12264,7 +12264,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_ACCGi) = f_ACCGi;
FLD (f_FRk) = f_FRk;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mrdaccg", "f_ACCGi 0x%x", 'x', f_ACCGi, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mrdaccg", "f_ACCGi 0x%x", 'x', f_ACCGi, "f_FRk 0x%x", 'x', f_FRk, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -12292,7 +12292,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_ACC40Sk) = f_ACC40Sk;
FLD (f_FRi) = f_FRi;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mwtacc", "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, "f_FRi 0x%x", 'x', f_FRi, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mwtacc", "f_ACC40Sk 0x%x", 'x', f_ACC40Sk, "f_FRi 0x%x", 'x', f_FRi, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -12321,7 +12321,7 @@ frvbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_ACCGk) = f_ACCGk;
FLD (f_FRi) = f_FRi;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mwtaccg", "f_ACCGk 0x%x", 'x', f_ACCGk, "f_FRi 0x%x", 'x', f_FRi, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mwtaccg", "f_ACCGk 0x%x", 'x', f_ACCGk, "f_FRi 0x%x", 'x', f_FRi, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
diff --git a/sim/frv/mloop.in b/sim/frv/mloop.in
index f158ead3bc1..2629a82d252 100644
--- a/sim/frv/mloop.in
+++ b/sim/frv/mloop.in
@@ -92,8 +92,8 @@ execute (SIM_CPU *current_cpu, SCACHE *sc, int fast_p)
}
else
model_insn = FRV_INSN_NO_MODELING;
- TRACE_INSN_INIT (current_cpu, abuf, 1);
- TRACE_INSN (current_cpu, idesc->idata,
+ CGEN_TRACE_INSN_INIT (current_cpu, abuf, 1);
+ CGEN_TRACE_INSN (current_cpu, idesc->idata,
(const struct argbuf *) abuf, abuf->addr);
}
#if WITH_SCACHE
@@ -116,7 +116,7 @@ execute (SIM_CPU *current_cpu, SCACHE *sc, int fast_p)
cycles = 1;
@cpu@_model_insn_after (current_cpu, sc->last_insn_p, cycles);
}
- TRACE_INSN_FINI (current_cpu, abuf, 1);
+ CGEN_TRACE_INSN_FINI (current_cpu, abuf, 1);
}
}
diff --git a/sim/frv/sem.c b/sim/frv/sem.c
index 3cc0c3717ca..568c3a11b17 100644
--- a/sim/frv/sem.c
+++ b/sim/frv/sem.c
@@ -36,8 +36,8 @@ This file is part of the GNU simulators.
FAST_P, when desired, is defined on the command line, -DFAST_P=1. */
#if FAST_P
#define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_semf_,fn)
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
+#undef CGEN_TRACE_RESULT
+#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
#else
#define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_sem_,fn)
#endif
@@ -210,7 +210,7 @@ SEM_FN_NAME (frvbf,add) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -231,7 +231,7 @@ SEM_FN_NAME (frvbf,sub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SUBSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -252,7 +252,7 @@ SEM_FN_NAME (frvbf,and) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ANDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -273,7 +273,7 @@ SEM_FN_NAME (frvbf,or) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -294,7 +294,7 @@ SEM_FN_NAME (frvbf,xor) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = XORSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -315,7 +315,7 @@ SEM_FN_NAME (frvbf,not) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = INVSI (GET_H_GR (FLD (f_GRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -416,7 +416,7 @@ SEM_FN_NAME (frvbf,smul) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = MULDI (EXTSIDI (GET_H_GR (FLD (f_GRi))), EXTSIDI (GET_H_GR (FLD (f_GRj))));
sim_queue_fn_di_write (current_cpu, frvbf_h_gr_double_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
}
return vpc;
@@ -437,7 +437,7 @@ SEM_FN_NAME (frvbf,umul) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = MULDI (ZEXTSIDI (GET_H_GR (FLD (f_GRi))), ZEXTSIDI (GET_H_GR (FLD (f_GRj))));
sim_queue_fn_di_write (current_cpu, frvbf_h_gr_double_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
}
return vpc;
@@ -458,7 +458,7 @@ SEM_FN_NAME (frvbf,smu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = MULDI (EXTSIDI (GET_H_GR (FLD (f_GRi))), EXTSIDI (GET_H_GR (FLD (f_GRj))));
sim_queue_fn_di_write (current_cpu, frvbf_h_iacc0_set, ((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "iacc0", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iacc0", 'D', opval);
}
return vpc;
@@ -479,7 +479,7 @@ SEM_FN_NAME (frvbf,smass) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = (ANDIF (ANDIF (GTDI (MULDI (EXTSIDI (GET_H_GR (FLD (f_GRi))), EXTSIDI (GET_H_GR (FLD (f_GRj)))), 0), GTDI (GET_H_IACC0 (((UINT) 0)), 0)), LTDI (SUBDI (MAKEDI (2147483647, 0xffffffff), MULDI (EXTSIDI (GET_H_GR (FLD (f_GRi))), EXTSIDI (GET_H_GR (FLD (f_GRj))))), GET_H_IACC0 (((UINT) 0))))) ? (MAKEDI (2147483647, 0xffffffff)) : (ANDIF (ANDIF (LTDI (MULDI (EXTSIDI (GET_H_GR (FLD (f_GRi))), EXTSIDI (GET_H_GR (FLD (f_GRj)))), 0), LTDI (GET_H_IACC0 (((UINT) 0)), 0)), GTDI (SUBDI (MAKEDI (0x80000000, 0), MULDI (EXTSIDI (GET_H_GR (FLD (f_GRi))), EXTSIDI (GET_H_GR (FLD (f_GRj))))), GET_H_IACC0 (((UINT) 0))))) ? (MAKEDI (0x80000000, 0)) : (ADDDI (GET_H_IACC0 (((UINT) 0)), MULDI (EXTSIDI (GET_H_GR (FLD (f_GRi))), EXTSIDI (GET_H_GR (FLD (f_GRj))))));
sim_queue_fn_di_write (current_cpu, frvbf_h_iacc0_set, ((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "iacc0", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iacc0", 'D', opval);
}
return vpc;
@@ -500,7 +500,7 @@ SEM_FN_NAME (frvbf,smsss) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = (ANDIF (ANDIF (LTDI (MULDI (EXTSIDI (GET_H_GR (FLD (f_GRi))), EXTSIDI (GET_H_GR (FLD (f_GRj)))), 0), GTDI (GET_H_IACC0 (((UINT) 0)), 0)), LTDI (ADDDI (MAKEDI (2147483647, 0xffffffff), MULDI (EXTSIDI (GET_H_GR (FLD (f_GRi))), EXTSIDI (GET_H_GR (FLD (f_GRj))))), GET_H_IACC0 (((UINT) 0))))) ? (MAKEDI (2147483647, 0xffffffff)) : (ANDIF (ANDIF (GTDI (MULDI (EXTSIDI (GET_H_GR (FLD (f_GRi))), EXTSIDI (GET_H_GR (FLD (f_GRj)))), 0), LTDI (GET_H_IACC0 (((UINT) 0)), 0)), GTDI (ADDDI (MAKEDI (0x80000000, 0), MULDI (EXTSIDI (GET_H_GR (FLD (f_GRi))), EXTSIDI (GET_H_GR (FLD (f_GRj))))), GET_H_IACC0 (((UINT) 0))))) ? (MAKEDI (0x80000000, 0)) : (SUBDI (GET_H_IACC0 (((UINT) 0)), MULDI (EXTSIDI (GET_H_GR (FLD (f_GRi))), EXTSIDI (GET_H_GR (FLD (f_GRj))))));
sim_queue_fn_di_write (current_cpu, frvbf_h_iacc0_set, ((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "iacc0", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iacc0", 'D', opval);
}
return vpc;
@@ -521,7 +521,7 @@ SEM_FN_NAME (frvbf,sll) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SLLSI (GET_H_GR (FLD (f_GRi)), ANDSI (GET_H_GR (FLD (f_GRj)), 31));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -542,7 +542,7 @@ SEM_FN_NAME (frvbf,srl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRLSI (GET_H_GR (FLD (f_GRi)), ANDSI (GET_H_GR (FLD (f_GRj)), 31));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -563,7 +563,7 @@ SEM_FN_NAME (frvbf,sra) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRASI (GET_H_GR (FLD (f_GRi)), ANDSI (GET_H_GR (FLD (f_GRj)), 31));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -584,7 +584,7 @@ SEM_FN_NAME (frvbf,slass) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_shift_left_arith_saturate (current_cpu, GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -605,7 +605,7 @@ SEM_FN_NAME (frvbf,scutss) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_iacc_cut (current_cpu, GET_H_IACC0 (((UINT) 0)), GET_H_GR (FLD (f_GRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -631,7 +631,7 @@ SEM_FN_NAME (frvbf,scan) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_scan_result (current_cpu, XORSI (tmp_tmp1, tmp_tmp2));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -655,7 +655,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -680,7 +680,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = SUBSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -705,7 +705,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = ANDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -730,7 +730,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = ORSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -755,7 +755,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = XORSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -780,7 +780,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = INVSI (GET_H_GR (FLD (f_GRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -805,7 +805,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
DI opval = MULDI (EXTSIDI (GET_H_GR (FLD (f_GRi))), EXTSIDI (GET_H_GR (FLD (f_GRj))));
sim_queue_fn_di_write (current_cpu, frvbf_h_gr_double_set, FLD (f_GRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
}
}
@@ -876,7 +876,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = SLLSI (GET_H_GR (FLD (f_GRi)), ANDSI (GET_H_GR (FLD (f_GRj)), 31));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -901,7 +901,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = SRLSI (GET_H_GR (FLD (f_GRi)), ANDSI (GET_H_GR (FLD (f_GRj)), 31));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -926,7 +926,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = SRASI (GET_H_GR (FLD (f_GRi)), ANDSI (GET_H_GR (FLD (f_GRj)), 31));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -956,7 +956,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frvbf_scan_result (current_cpu, XORSI (tmp_tmp1, tmp_tmp2));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -1007,12 +1007,12 @@ if (LTSI (tmp_result, 0)) {
{
SI opval = tmp_result;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -1061,12 +1061,12 @@ if (LTSI (tmp_result, 0)) {
{
SI opval = tmp_result;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -1091,14 +1091,14 @@ SEM_FN_NAME (frvbf,andcc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (EQSI (tmp_tmp, 0)) {
{
UQI opval = ORQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 7), 4);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
} else {
if (LTSI (tmp_tmp, 0)) {
@@ -1106,14 +1106,14 @@ if (LTSI (tmp_tmp, 0)) {
UQI opval = ORQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 11), 8);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
} else {
{
UQI opval = ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 3);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
}
@@ -1141,14 +1141,14 @@ SEM_FN_NAME (frvbf,orcc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (EQSI (tmp_tmp, 0)) {
{
UQI opval = ORQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 7), 4);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
} else {
if (LTSI (tmp_tmp, 0)) {
@@ -1156,14 +1156,14 @@ if (LTSI (tmp_tmp, 0)) {
UQI opval = ORQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 11), 8);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
} else {
{
UQI opval = ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 3);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
}
@@ -1191,14 +1191,14 @@ SEM_FN_NAME (frvbf,xorcc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (EQSI (tmp_tmp, 0)) {
{
UQI opval = ORQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 7), 4);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
} else {
if (LTSI (tmp_tmp, 0)) {
@@ -1206,14 +1206,14 @@ if (LTSI (tmp_tmp, 0)) {
UQI opval = ORQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 11), 8);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
} else {
{
UQI opval = ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 3);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
}
@@ -1245,7 +1245,7 @@ SEM_FN_NAME (frvbf,sllcc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (EQSI (tmp_tmp, 0)) {
tmp_cc = ORQI (ANDQI (tmp_cc, 7), 4);
@@ -1259,7 +1259,7 @@ if (LTSI (tmp_tmp, 0)) {
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -1288,7 +1288,7 @@ SEM_FN_NAME (frvbf,srlcc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (EQSI (tmp_tmp, 0)) {
tmp_cc = ORQI (ANDQI (tmp_cc, 7), 4);
@@ -1302,7 +1302,7 @@ if (LTSI (tmp_tmp, 0)) {
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -1331,7 +1331,7 @@ SEM_FN_NAME (frvbf,sracc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (EQSI (tmp_tmp, 0)) {
tmp_cc = ORQI (ANDQI (tmp_cc, 7), 4);
@@ -1345,7 +1345,7 @@ if (LTSI (tmp_tmp, 0)) {
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -1382,12 +1382,12 @@ if (EQBI (EQDI (tmp_tmp, 0), 0)) {
{
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_gr_double_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
}
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -1424,12 +1424,12 @@ if (EQBI (EQDI (tmp_tmp, 0), 0)) {
{
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_gr_double_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
}
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -1480,13 +1480,13 @@ if (LTSI (tmp_result, 0)) {
SI opval = tmp_result;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
}
@@ -1539,13 +1539,13 @@ if (LTSI (tmp_result, 0)) {
SI opval = tmp_result;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
}
@@ -1586,13 +1586,13 @@ if (EQBI (EQDI (tmp_tmp, 0), 0)) {
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_gr_double_set, FLD (f_GRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
}
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
}
@@ -1621,14 +1621,14 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (EQSI (tmp_tmp, 0)) {
{
UQI opval = ORQI (ANDQI (CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), 7), 4);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
} else {
if (LTSI (tmp_tmp, 0)) {
@@ -1636,14 +1636,14 @@ if (LTSI (tmp_tmp, 0)) {
UQI opval = ORQI (ANDQI (CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), 11), 8);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
} else {
{
UQI opval = ANDQI (CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), 3);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
}
@@ -1674,14 +1674,14 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (EQSI (tmp_tmp, 0)) {
{
UQI opval = ORQI (ANDQI (CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), 7), 4);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
} else {
if (LTSI (tmp_tmp, 0)) {
@@ -1689,14 +1689,14 @@ if (LTSI (tmp_tmp, 0)) {
UQI opval = ORQI (ANDQI (CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), 11), 8);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
} else {
{
UQI opval = ANDQI (CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), 3);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
}
@@ -1727,14 +1727,14 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (EQSI (tmp_tmp, 0)) {
{
UQI opval = ORQI (ANDQI (CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), 7), 4);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
} else {
if (LTSI (tmp_tmp, 0)) {
@@ -1742,14 +1742,14 @@ if (LTSI (tmp_tmp, 0)) {
UQI opval = ORQI (ANDQI (CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), 11), 8);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
} else {
{
UQI opval = ANDQI (CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), 3);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
}
@@ -1784,7 +1784,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (EQSI (tmp_tmp, 0)) {
tmp_cc = ORQI (ANDQI (tmp_cc, 7), 4);
@@ -1799,7 +1799,7 @@ if (LTSI (tmp_tmp, 0)) {
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
}
@@ -1832,7 +1832,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (EQSI (tmp_tmp, 0)) {
tmp_cc = ORQI (ANDQI (tmp_cc, 7), 4);
@@ -1847,7 +1847,7 @@ if (LTSI (tmp_tmp, 0)) {
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
}
@@ -1880,7 +1880,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (EQSI (tmp_tmp, 0)) {
tmp_cc = ORQI (ANDQI (tmp_cc, 7), 4);
@@ -1895,7 +1895,7 @@ if (LTSI (tmp_tmp, 0)) {
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[ANDSI (FLD (f_CCi), 3)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
}
@@ -1919,7 +1919,7 @@ SEM_FN_NAME (frvbf,addx) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDCSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)), TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 1)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1940,7 +1940,7 @@ SEM_FN_NAME (frvbf,subx) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SUBCSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)), TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 1)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1985,12 +1985,12 @@ if (LTSI (tmp_tmp, 0)) {
{
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -2036,12 +2036,12 @@ if (LTSI (tmp_tmp, 0)) {
{
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -2064,13 +2064,13 @@ SEM_FN_NAME (frvbf,addss) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (ADDOFSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)), 0)) {
{
SI opval = (GTSI (GET_H_GR (FLD (f_GRi)), 0)) ? (2147483647) : (LTSI (GET_H_GR (FLD (f_GRi)), 0)) ? (0x80000000) : (0);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2094,13 +2094,13 @@ SEM_FN_NAME (frvbf,subss) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SUBSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (SUBOFSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj)), 0)) {
{
SI opval = (GTSI (GET_H_GR (FLD (f_GRi)), 0)) ? (2147483647) : (LTSI (GET_H_GR (FLD (f_GRi)), 0)) ? (0x80000000) : (0);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -2123,7 +2123,7 @@ SEM_FN_NAME (frvbf,addi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2144,7 +2144,7 @@ SEM_FN_NAME (frvbf,subi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SUBSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2165,7 +2165,7 @@ SEM_FN_NAME (frvbf,andi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ANDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2186,7 +2186,7 @@ SEM_FN_NAME (frvbf,ori) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2207,7 +2207,7 @@ SEM_FN_NAME (frvbf,xori) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = XORSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2308,7 +2308,7 @@ SEM_FN_NAME (frvbf,smuli) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = MULDI (EXTSIDI (GET_H_GR (FLD (f_GRi))), EXTSIDI (FLD (f_d12)));
sim_queue_fn_di_write (current_cpu, frvbf_h_gr_double_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
}
return vpc;
@@ -2329,7 +2329,7 @@ SEM_FN_NAME (frvbf,umuli) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = MULDI (ZEXTSIDI (GET_H_GR (FLD (f_GRi))), ZEXTSIDI (FLD (f_d12)));
sim_queue_fn_di_write (current_cpu, frvbf_h_gr_double_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
}
return vpc;
@@ -2350,7 +2350,7 @@ SEM_FN_NAME (frvbf,slli) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SLLSI (GET_H_GR (FLD (f_GRi)), ANDSI (FLD (f_d12), 31));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2371,7 +2371,7 @@ SEM_FN_NAME (frvbf,srli) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRLSI (GET_H_GR (FLD (f_GRi)), ANDSI (FLD (f_d12), 31));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2392,7 +2392,7 @@ SEM_FN_NAME (frvbf,srai) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRASI (GET_H_GR (FLD (f_GRi)), ANDSI (FLD (f_d12), 31));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2418,7 +2418,7 @@ SEM_FN_NAME (frvbf,scani) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_scan_result (current_cpu, XORSI (tmp_tmp1, tmp_tmp2));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -2467,12 +2467,12 @@ if (LTSI (tmp_result, 0)) {
{
SI opval = tmp_result;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -2521,12 +2521,12 @@ if (LTSI (tmp_result, 0)) {
{
SI opval = tmp_result;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -2551,14 +2551,14 @@ SEM_FN_NAME (frvbf,andicc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (EQSI (tmp_tmp, 0)) {
{
UQI opval = ORQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 7), 4);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
} else {
if (LTSI (tmp_tmp, 0)) {
@@ -2566,14 +2566,14 @@ if (LTSI (tmp_tmp, 0)) {
UQI opval = ORQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 11), 8);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
} else {
{
UQI opval = ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 3);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
}
@@ -2601,14 +2601,14 @@ SEM_FN_NAME (frvbf,oricc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (EQSI (tmp_tmp, 0)) {
{
UQI opval = ORQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 7), 4);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
} else {
if (LTSI (tmp_tmp, 0)) {
@@ -2616,14 +2616,14 @@ if (LTSI (tmp_tmp, 0)) {
UQI opval = ORQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 11), 8);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
} else {
{
UQI opval = ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 3);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
}
@@ -2651,14 +2651,14 @@ SEM_FN_NAME (frvbf,xoricc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (EQSI (tmp_tmp, 0)) {
{
UQI opval = ORQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 7), 4);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
} else {
if (LTSI (tmp_tmp, 0)) {
@@ -2666,14 +2666,14 @@ if (LTSI (tmp_tmp, 0)) {
UQI opval = ORQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 11), 8);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
} else {
{
UQI opval = ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 3);
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
}
@@ -2713,12 +2713,12 @@ if (EQBI (EQDI (tmp_tmp, 0), 0)) {
{
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_gr_double_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
}
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -2755,12 +2755,12 @@ if (EQBI (EQDI (tmp_tmp, 0), 0)) {
{
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_gr_double_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
}
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -2789,7 +2789,7 @@ SEM_FN_NAME (frvbf,sllicc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (EQSI (tmp_tmp, 0)) {
tmp_cc = ORQI (ANDQI (tmp_cc, 7), 4);
@@ -2803,7 +2803,7 @@ if (LTSI (tmp_tmp, 0)) {
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -2832,7 +2832,7 @@ SEM_FN_NAME (frvbf,srlicc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (EQSI (tmp_tmp, 0)) {
tmp_cc = ORQI (ANDQI (tmp_cc, 7), 4);
@@ -2846,7 +2846,7 @@ if (LTSI (tmp_tmp, 0)) {
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -2875,7 +2875,7 @@ SEM_FN_NAME (frvbf,sraicc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (EQSI (tmp_tmp, 0)) {
tmp_cc = ORQI (ANDQI (tmp_cc, 7), 4);
@@ -2889,7 +2889,7 @@ if (LTSI (tmp_tmp, 0)) {
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -2911,7 +2911,7 @@ SEM_FN_NAME (frvbf,addxi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDCSI (GET_H_GR (FLD (f_GRi)), FLD (f_s10), TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 1)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2932,7 +2932,7 @@ SEM_FN_NAME (frvbf,subxi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SUBCSI (GET_H_GR (FLD (f_GRi)), FLD (f_s10), TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_1)]), 1)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2977,12 +2977,12 @@ if (LTSI (tmp_tmp, 0)) {
{
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -3028,12 +3028,12 @@ if (LTSI (tmp_tmp, 0)) {
{
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -3077,7 +3077,7 @@ if (EQBI (EQSI (ANDSI (GET_H_GR (FLD (f_GRi)), 255), ANDSI (GET_H_GR (FLD (f_GRj
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -3107,7 +3107,7 @@ if (EQBI (ORIF (EQSI (ANDSI (GET_H_GR (FLD (f_GRi)), 0xff000000), ANDSI (GET_H_G
{
UQI opval = tmp_cc;
sim_queue_qi_write (current_cpu, & CPU (h_iccr[FLD (f_ICCi_1)]), opval);
- TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "iccr", 'x', opval);
}
}
@@ -3129,7 +3129,7 @@ SEM_FN_NAME (frvbf,setlo) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UHI opval = FLD (f_u16);
sim_queue_fn_hi_write (current_cpu, frvbf_h_gr_lo_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_lo", 'x', opval);
}
return vpc;
@@ -3150,7 +3150,7 @@ SEM_FN_NAME (frvbf,sethi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UHI opval = FLD (f_u16);
sim_queue_fn_hi_write (current_cpu, frvbf_h_gr_hi_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_hi", 'x', opval);
}
return vpc;
@@ -3171,7 +3171,7 @@ SEM_FN_NAME (frvbf,setlos) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = FLD (f_s16);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -3192,7 +3192,7 @@ SEM_FN_NAME (frvbf,ldsb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_QI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -3213,7 +3213,7 @@ SEM_FN_NAME (frvbf,ldub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_UQI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -3234,7 +3234,7 @@ SEM_FN_NAME (frvbf,ldsh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_HI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -3255,7 +3255,7 @@ SEM_FN_NAME (frvbf,lduh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_UHI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -3276,7 +3276,7 @@ SEM_FN_NAME (frvbf,ld) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_SI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -3297,7 +3297,7 @@ SEM_FN_NAME (frvbf,ldbf) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_UQI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -3318,7 +3318,7 @@ SEM_FN_NAME (frvbf,ldhf) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_UHI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -3339,7 +3339,7 @@ SEM_FN_NAME (frvbf,ldf) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_SI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -3360,7 +3360,7 @@ SEM_FN_NAME (frvbf,ldc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_SI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_si_write (current_cpu, & CPU (h_cpr[FLD (f_CPRk)]), opval);
- TRACE_RESULT (current_cpu, abuf, "cpr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cpr", 'x', opval);
}
return vpc;
@@ -3386,7 +3386,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_QI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3415,7 +3415,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_UQI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3444,7 +3444,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_HI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3473,7 +3473,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_UHI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3502,7 +3502,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_SI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -3531,7 +3531,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_UQI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
}
@@ -3560,7 +3560,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_UHI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
}
@@ -3589,7 +3589,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_SI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
}
@@ -3619,7 +3619,7 @@ if (NESI (FLD (f_GRk), 0)) {
DI opval = frvbf_read_mem_DI (current_cpu, pc, tmp_address);
sim_queue_fn_di_write (current_cpu, frvbf_h_gr_double_set, FLD (f_GRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
}
}
}
@@ -3648,7 +3648,7 @@ SEM_FN_NAME (frvbf,lddf) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = frvbf_read_mem_DF (current_cpu, pc, tmp_address);
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
}
}
@@ -3675,7 +3675,7 @@ SEM_FN_NAME (frvbf,lddc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = frvbf_read_mem_DI (current_cpu, pc, tmp_address);
sim_queue_fn_di_write (current_cpu, frvbf_h_cpr_double_set, FLD (f_CPRk), opval);
- TRACE_RESULT (current_cpu, abuf, "cpr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cpr_double", 'D', opval);
}
}
}
@@ -3708,7 +3708,7 @@ if (NESI (FLD (f_GRk), 0)) {
DI opval = frvbf_read_mem_DI (current_cpu, pc, tmp_address);
sim_queue_fn_di_write (current_cpu, frvbf_h_gr_double_set, FLD (f_GRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
}
}
}
@@ -3744,7 +3744,7 @@ if (tmp_do_op) {
DF opval = frvbf_read_mem_DF (current_cpu, pc, tmp_address);
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
}
}
@@ -3900,7 +3900,7 @@ SEM_FN_NAME (frvbf,ldsbu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_QI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (NESI (FLD (f_GRi), FLD (f_GRk))) {
{
@@ -3908,7 +3908,7 @@ if (NESI (FLD (f_GRi), FLD (f_GRk))) {
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -3937,7 +3937,7 @@ SEM_FN_NAME (frvbf,ldubu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_UQI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (NESI (FLD (f_GRi), FLD (f_GRk))) {
{
@@ -3945,7 +3945,7 @@ if (NESI (FLD (f_GRi), FLD (f_GRk))) {
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -3974,7 +3974,7 @@ SEM_FN_NAME (frvbf,ldshu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_HI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (NESI (FLD (f_GRi), FLD (f_GRk))) {
{
@@ -3982,7 +3982,7 @@ if (NESI (FLD (f_GRi), FLD (f_GRk))) {
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4011,7 +4011,7 @@ SEM_FN_NAME (frvbf,lduhu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_UHI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (NESI (FLD (f_GRi), FLD (f_GRk))) {
{
@@ -4019,7 +4019,7 @@ if (NESI (FLD (f_GRi), FLD (f_GRk))) {
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4048,7 +4048,7 @@ SEM_FN_NAME (frvbf,ldu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_SI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (NESI (FLD (f_GRi), FLD (f_GRk))) {
{
@@ -4056,7 +4056,7 @@ if (NESI (FLD (f_GRi), FLD (f_GRk))) {
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4090,7 +4090,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_QI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (NESI (FLD (f_GRi), FLD (f_GRk))) {
{
@@ -4098,7 +4098,7 @@ if (NESI (FLD (f_GRi), FLD (f_GRk))) {
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4134,7 +4134,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_UQI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (NESI (FLD (f_GRi), FLD (f_GRk))) {
{
@@ -4142,7 +4142,7 @@ if (NESI (FLD (f_GRi), FLD (f_GRk))) {
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4178,7 +4178,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_HI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (NESI (FLD (f_GRi), FLD (f_GRk))) {
{
@@ -4186,7 +4186,7 @@ if (NESI (FLD (f_GRi), FLD (f_GRk))) {
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4222,7 +4222,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_UHI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (NESI (FLD (f_GRi), FLD (f_GRk))) {
{
@@ -4230,7 +4230,7 @@ if (NESI (FLD (f_GRi), FLD (f_GRk))) {
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4266,7 +4266,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_SI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (NESI (FLD (f_GRi), FLD (f_GRk))) {
{
@@ -4274,7 +4274,7 @@ if (NESI (FLD (f_GRi), FLD (f_GRk))) {
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4305,12 +4305,12 @@ SEM_FN_NAME (frvbf,ldbfu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_UQI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4336,12 +4336,12 @@ SEM_FN_NAME (frvbf,ldhfu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_UHI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4367,12 +4367,12 @@ SEM_FN_NAME (frvbf,ldfu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_SI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4398,12 +4398,12 @@ SEM_FN_NAME (frvbf,ldcu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_SI (current_cpu, pc, tmp_address);
sim_queue_si_write (current_cpu, & CPU (h_cpr[FLD (f_CPRk)]), opval);
- TRACE_RESULT (current_cpu, abuf, "cpr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cpr", 'x', opval);
}
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4434,13 +4434,13 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_UQI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4474,13 +4474,13 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_UHI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4514,13 +4514,13 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_SI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4552,7 +4552,7 @@ if (NESI (FLD (f_GRk), 0)) {
DI opval = frvbf_read_mem_DI (current_cpu, pc, tmp_address);
sim_queue_fn_di_write (current_cpu, frvbf_h_gr_double_set, FLD (f_GRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
}
}
}
@@ -4562,7 +4562,7 @@ if (NESI (FLD (f_GRi), FLD (f_GRk))) {
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4598,7 +4598,7 @@ if (NESI (FLD (f_GRk), 0)) {
DI opval = frvbf_read_mem_DI (current_cpu, pc, tmp_address);
sim_queue_fn_di_write (current_cpu, frvbf_h_gr_double_set, FLD (f_GRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
}
}
}
@@ -4608,7 +4608,7 @@ if (NESI (FLD (f_GRi), FLD (f_GRk))) {
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4640,13 +4640,13 @@ SEM_FN_NAME (frvbf,lddfu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = frvbf_read_mem_DF (current_cpu, pc, tmp_address);
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
}
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4673,13 +4673,13 @@ SEM_FN_NAME (frvbf,lddcu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = frvbf_read_mem_DI (current_cpu, pc, tmp_address);
sim_queue_fn_di_write (current_cpu, frvbf_h_cpr_double_set, FLD (f_CPRk), opval);
- TRACE_RESULT (current_cpu, abuf, "cpr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cpr_double", 'D', opval);
}
}
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4711,14 +4711,14 @@ if (tmp_do_op) {
DF opval = frvbf_read_mem_DF (current_cpu, pc, tmp_address);
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
}
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4753,7 +4753,7 @@ if (NESI (FLD (f_GRi), FLD (f_GRk))) {
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4792,7 +4792,7 @@ if (NESI (FLD (f_GRi), FLD (f_GRk))) {
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4826,7 +4826,7 @@ frvbf_load_quad_FRint (current_cpu, pc, tmp_address, FLD (f_FRk));
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4855,7 +4855,7 @@ frvbf_load_quad_CPR (current_cpu, pc, tmp_address, FLD (f_CPRk));
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4889,7 +4889,7 @@ frvbf_load_quad_FRint (current_cpu, pc, tmp_address, FLD (f_FRk));
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_force_update (current_cpu);
}
@@ -4915,7 +4915,7 @@ SEM_FN_NAME (frvbf,ldsbi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_QI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -4936,7 +4936,7 @@ SEM_FN_NAME (frvbf,ldshi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_HI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -4957,7 +4957,7 @@ SEM_FN_NAME (frvbf,ldi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_SI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -4978,7 +4978,7 @@ SEM_FN_NAME (frvbf,ldubi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_UQI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -4999,7 +4999,7 @@ SEM_FN_NAME (frvbf,lduhi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_UHI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -5020,7 +5020,7 @@ SEM_FN_NAME (frvbf,ldbfi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_UQI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -5041,7 +5041,7 @@ SEM_FN_NAME (frvbf,ldhfi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_UHI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -5062,7 +5062,7 @@ SEM_FN_NAME (frvbf,ldfi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_read_mem_SI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -5088,7 +5088,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_QI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -5117,7 +5117,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_UQI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -5146,7 +5146,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_HI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -5175,7 +5175,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_UHI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -5204,7 +5204,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_SI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12)));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -5233,7 +5233,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_UQI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
}
@@ -5262,7 +5262,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_UHI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
}
@@ -5291,7 +5291,7 @@ if (tmp_do_op) {
SI opval = frvbf_read_mem_SI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
}
@@ -5321,7 +5321,7 @@ if (NESI (FLD (f_GRk), 0)) {
DI opval = frvbf_read_mem_DI (current_cpu, pc, tmp_address);
sim_queue_fn_di_write (current_cpu, frvbf_h_gr_double_set, FLD (f_GRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
}
}
}
@@ -5350,7 +5350,7 @@ SEM_FN_NAME (frvbf,lddfi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = frvbf_read_mem_DF (current_cpu, pc, tmp_address);
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
}
}
@@ -5383,7 +5383,7 @@ if (NESI (FLD (f_GRk), 0)) {
DI opval = frvbf_read_mem_DI (current_cpu, pc, tmp_address);
sim_queue_fn_di_write (current_cpu, frvbf_h_gr_double_set, FLD (f_GRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
}
}
}
@@ -5419,7 +5419,7 @@ if (tmp_do_op) {
DF opval = frvbf_read_mem_DF (current_cpu, pc, tmp_address);
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
}
}
@@ -5781,7 +5781,7 @@ frvbf_write_mem_QI (current_cpu, pc, tmp_address, GET_H_GR (FLD (f_GRk)));
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -5807,7 +5807,7 @@ frvbf_write_mem_HI (current_cpu, pc, tmp_address, GET_H_GR (FLD (f_GRk)));
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -5833,7 +5833,7 @@ frvbf_write_mem_WI (current_cpu, pc, tmp_address, GET_H_GR (FLD (f_GRk)));
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -5859,7 +5859,7 @@ frvbf_write_mem_QI (current_cpu, pc, tmp_address, GET_H_FR_INT (FLD (f_FRk)));
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -5885,7 +5885,7 @@ frvbf_write_mem_HI (current_cpu, pc, tmp_address, GET_H_FR_INT (FLD (f_FRk)));
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -5911,7 +5911,7 @@ frvbf_write_mem_SI (current_cpu, pc, tmp_address, GET_H_FR_INT (FLD (f_FRk)));
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -5937,7 +5937,7 @@ frvbf_write_mem_SI (current_cpu, pc, tmp_address, CPU (h_cpr[FLD (f_CPRk)]));
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -5965,7 +5965,7 @@ frvbf_write_mem_DI (current_cpu, pc, tmp_address, GET_H_GR_DOUBLE (FLD (f_GRk)))
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -5993,7 +5993,7 @@ frvbf_write_mem_DF (current_cpu, pc, tmp_address, GET_H_FR_DOUBLE (FLD (f_FRk)))
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -6021,7 +6021,7 @@ frvbf_write_mem_DI (current_cpu, pc, tmp_address, GET_H_CPR_DOUBLE (FLD (f_CPRk)
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -6049,7 +6049,7 @@ frvbf_store_quad_GR (current_cpu, pc, tmp_address, FLD (f_GRk));
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -6077,7 +6077,7 @@ frvbf_store_quad_FRint (current_cpu, pc, tmp_address, FLD (f_FRk));
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -6105,7 +6105,7 @@ frvbf_store_quad_CPR (current_cpu, pc, tmp_address, FLD (f_CPRk));
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -6129,7 +6129,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frvbf_read_mem_QI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -6154,7 +6154,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frvbf_read_mem_UQI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -6179,7 +6179,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frvbf_read_mem_HI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -6204,7 +6204,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frvbf_read_mem_UHI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -6229,7 +6229,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frvbf_read_mem_SI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -6254,7 +6254,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frvbf_read_mem_UQI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
@@ -6279,7 +6279,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frvbf_read_mem_UHI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
@@ -6304,7 +6304,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frvbf_read_mem_SI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
@@ -6334,7 +6334,7 @@ if (NESI (FLD (f_GRk), 0)) {
DI opval = frvbf_read_mem_DI (current_cpu, pc, tmp_address);
sim_queue_fn_di_write (current_cpu, frvbf_h_gr_double_set, FLD (f_GRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
}
}
}
@@ -6366,7 +6366,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
DF opval = frvbf_read_mem_DF (current_cpu, pc, tmp_address);
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
}
}
@@ -6421,14 +6421,14 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frvbf_read_mem_QI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (NESI (FLD (f_GRi), FLD (f_GRk))) {
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -6458,14 +6458,14 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frvbf_read_mem_UQI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (NESI (FLD (f_GRi), FLD (f_GRk))) {
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -6495,14 +6495,14 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frvbf_read_mem_HI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (NESI (FLD (f_GRi), FLD (f_GRk))) {
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -6532,14 +6532,14 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frvbf_read_mem_UHI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (NESI (FLD (f_GRi), FLD (f_GRk))) {
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -6569,14 +6569,14 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frvbf_read_mem_SI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
if (NESI (FLD (f_GRi), FLD (f_GRk))) {
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -6606,13 +6606,13 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frvbf_read_mem_UQI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -6641,13 +6641,13 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frvbf_read_mem_UHI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -6676,13 +6676,13 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frvbf_read_mem_SI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -6713,7 +6713,7 @@ if (NESI (FLD (f_GRk), 0)) {
DI opval = frvbf_read_mem_DI (current_cpu, pc, tmp_address);
sim_queue_fn_di_write (current_cpu, frvbf_h_gr_double_set, FLD (f_GRk), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr_double", 'D', opval);
}
}
}
@@ -6722,7 +6722,7 @@ if (NESI (FLD (f_GRi), FLD (f_GRk))) {
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -6753,14 +6753,14 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
DF opval = frvbf_read_mem_DF (current_cpu, pc, tmp_address);
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
}
{
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -6793,7 +6793,7 @@ if (NESI (FLD (f_GRi), FLD (f_GRk))) {
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7013,7 +7013,7 @@ frvbf_write_mem_QI (current_cpu, pc, tmp_address, GET_H_GR (FLD (f_GRk)));
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7043,7 +7043,7 @@ frvbf_write_mem_HI (current_cpu, pc, tmp_address, GET_H_GR (FLD (f_GRk)));
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7073,7 +7073,7 @@ frvbf_write_mem_SI (current_cpu, pc, tmp_address, GET_H_GR (FLD (f_GRk)));
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7103,7 +7103,7 @@ frvbf_write_mem_QI (current_cpu, pc, tmp_address, GET_H_FR_INT (FLD (f_FRk)));
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7133,7 +7133,7 @@ frvbf_write_mem_HI (current_cpu, pc, tmp_address, GET_H_FR_INT (FLD (f_FRk)));
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7163,7 +7163,7 @@ frvbf_write_mem_SI (current_cpu, pc, tmp_address, GET_H_FR_INT (FLD (f_FRk)));
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7195,7 +7195,7 @@ frvbf_write_mem_DI (current_cpu, pc, tmp_address, GET_H_GR_DOUBLE (FLD (f_GRk)))
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7227,7 +7227,7 @@ frvbf_write_mem_DF (current_cpu, pc, tmp_address, GET_H_FR_DOUBLE (FLD (f_FRk)))
SI opval = tmp_address;
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7451,7 +7451,7 @@ frvbf_check_swap_address (current_cpu, tmp_address);
{
SI opval = frvbf_read_mem_WI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_write_mem_WI (current_cpu, pc, tmp_address, tmp_tmp);
}
@@ -7480,7 +7480,7 @@ frvbf_check_swap_address (current_cpu, tmp_address);
{
SI opval = frvbf_read_mem_WI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_write_mem_WI (current_cpu, pc, tmp_address, tmp_tmp);
}
@@ -7511,7 +7511,7 @@ frvbf_check_swap_address (current_cpu, tmp_address);
SI opval = frvbf_read_mem_WI (current_cpu, pc, tmp_address);
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
frvbf_write_mem_WI (current_cpu, pc, tmp_address, tmp_tmp);
}
@@ -7536,7 +7536,7 @@ SEM_FN_NAME (frvbf,movgf) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GET_H_GR (FLD (f_GRj));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -7557,7 +7557,7 @@ SEM_FN_NAME (frvbf,movfg) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GET_H_FR_INT (FLD (f_FRk));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRj), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -7581,13 +7581,13 @@ if (EQSI (FLD (f_GRj), 0)) {
SI opval = 0;
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
USI opval = 0;
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
} else {
@@ -7596,13 +7596,13 @@ if (EQSI (FLD (f_GRj), 0)) {
SI opval = GET_H_GR (FLD (f_GRj));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
USI opval = GET_H_GR (ADDSI (FLD (f_GRj), 1));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
}
@@ -7629,13 +7629,13 @@ if (NESI (FLD (f_GRj), 0)) {
SI opval = GET_H_FR_INT (FLD (f_FRk));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRj), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = GET_H_FR_INT (ADDSI (FLD (f_FRk), 1));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, ADDSI (FLD (f_GRj), 1), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7662,25 +7662,25 @@ if (EQSI (FLD (f_GRj), 0)) {
SI opval = 0;
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
USI opval = 0;
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
USI opval = 0;
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, ADDSI (FLD (f_FRk), 2), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
USI opval = 0;
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, ADDSI (FLD (f_FRk), 3), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
} else {
@@ -7689,25 +7689,25 @@ if (EQSI (FLD (f_GRj), 0)) {
SI opval = GET_H_GR (FLD (f_GRj));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
USI opval = GET_H_GR (ADDSI (FLD (f_GRj), 1));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
USI opval = GET_H_GR (ADDSI (FLD (f_GRj), 2));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, ADDSI (FLD (f_FRk), 2), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
USI opval = GET_H_GR (ADDSI (FLD (f_GRj), 3));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, ADDSI (FLD (f_FRk), 3), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
}
@@ -7734,25 +7734,25 @@ if (NESI (FLD (f_GRj), 0)) {
SI opval = GET_H_FR_INT (FLD (f_FRk));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRj), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = GET_H_FR_INT (ADDSI (FLD (f_FRk), 1));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, ADDSI (FLD (f_GRj), 1), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = GET_H_FR_INT (ADDSI (FLD (f_FRk), 2));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, ADDSI (FLD (f_GRj), 2), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = GET_H_FR_INT (ADDSI (FLD (f_FRk), 3));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, ADDSI (FLD (f_GRj), 3), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7778,7 +7778,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = GET_H_GR (FLD (f_GRj));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
@@ -7803,7 +7803,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = GET_H_FR_INT (FLD (f_FRk));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRj), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -7830,13 +7830,13 @@ if (EQSI (FLD (f_GRj), 0)) {
SI opval = 0;
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
USI opval = 0;
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
} else {
@@ -7845,13 +7845,13 @@ if (EQSI (FLD (f_GRj), 0)) {
SI opval = GET_H_GR (FLD (f_GRj));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
USI opval = GET_H_GR (ADDSI (FLD (f_GRj), 1));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
}
@@ -7879,13 +7879,13 @@ if (ANDIF (NESI (FLD (f_GRj), 0), EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_
SI opval = GET_H_FR_INT (FLD (f_FRk));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRj), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = GET_H_FR_INT (ADDSI (FLD (f_FRk), 1));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, ADDSI (FLD (f_GRj), 1), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
}
@@ -7909,7 +7909,7 @@ SEM_FN_NAME (frvbf,movgs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
USI opval = GET_H_GR (FLD (f_GRj));
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, FLD (f_spr), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
return vpc;
@@ -7930,7 +7930,7 @@ SEM_FN_NAME (frvbf,movsg) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GET_H_SPR (FLD (f_spr));
sim_queue_fn_si_write (current_cpu, frvbf_h_gr_set, FLD (f_GRj), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -7953,7 +7953,7 @@ frvbf_model_branch (current_cpu, FLD (i_label16), FLD (f_hint));
{
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -7996,7 +7996,7 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 4), 2))) {
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8024,7 +8024,7 @@ if (NOTBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 4), 2)))) {
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8052,7 +8052,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 4), 2)), XORBI
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8080,7 +8080,7 @@ if (NOTBI (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 4), 2)),
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8108,7 +8108,7 @@ if (XORBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 8), 3)), TRUNC
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8136,7 +8136,7 @@ if (NOTBI (XORBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 8), 3))
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8164,7 +8164,7 @@ if (ORIF (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 1)), TRUNCQIBI (SRLQI
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8192,7 +8192,7 @@ if (NOTBI (ORIF (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 1)), TRUNCQIBI
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8220,7 +8220,7 @@ if (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 1))) {
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8248,7 +8248,7 @@ if (NOTBI (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 1)))) {
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8276,7 +8276,7 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 8), 3))) {
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8304,7 +8304,7 @@ if (NOTBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 8), 3)))) {
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8332,7 +8332,7 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 2), 1))) {
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8360,7 +8360,7 @@ if (NOTBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 2), 1)))) {
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8386,7 +8386,7 @@ frvbf_model_branch (current_cpu, FLD (i_label16), FLD (f_hint));
{
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -8429,7 +8429,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 4), 2)), ORIF (
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8457,7 +8457,7 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3))) {
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8485,7 +8485,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 4), 2)), TRUNCQ
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8513,7 +8513,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3)), TRUNCQ
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8541,7 +8541,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 4), 2)), TRUNCQ
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8569,7 +8569,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3)), TRUNCQ
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8597,7 +8597,7 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 4), 2))) {
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8625,7 +8625,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3)), ORIF (
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8653,7 +8653,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 2), 1)), TRUNCQ
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8681,7 +8681,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3)), TRUNCQ
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8709,7 +8709,7 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 2), 1))) {
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8737,7 +8737,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3)), ORIF (
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8765,7 +8765,7 @@ if (TRUNCQIBI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 1))) {
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8793,7 +8793,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3)), ORIF (
USI opval = FLD (i_label16);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8822,7 +8822,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (EQSI (FLD (f_ccond), 0)) {
if (NESI (tmp_tmp, 0)) {
@@ -8830,7 +8830,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -8839,7 +8839,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8867,7 +8867,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -8910,7 +8910,7 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 4), 2))) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8938,7 +8938,7 @@ if (NOTBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 4), 2)))) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8966,7 +8966,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 4), 2)), XORBI
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -8994,7 +8994,7 @@ if (NOTBI (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 4), 2)),
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9022,7 +9022,7 @@ if (XORBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 8), 3)), TRUNC
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9050,7 +9050,7 @@ if (NOTBI (XORBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 8), 3))
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9078,7 +9078,7 @@ if (ORIF (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 1)), TRUNCQIBI (SRLQI
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9106,7 +9106,7 @@ if (NOTBI (ORIF (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 1)), TRUNCQIBI
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9134,7 +9134,7 @@ if (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 1))) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9162,7 +9162,7 @@ if (NOTBI (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 1)))) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9190,7 +9190,7 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 8), 3))) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9218,7 +9218,7 @@ if (NOTBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 8), 3)))) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9246,7 +9246,7 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 2), 1))) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9274,7 +9274,7 @@ if (NOTBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 2), 1)))) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9300,7 +9300,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -9343,7 +9343,7 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3))) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9371,7 +9371,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 4), 2)), ORIF (
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9399,7 +9399,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 4), 2)), TRUNCQ
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9427,7 +9427,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3)), TRUNCQ
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9455,7 +9455,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 4), 2)), TRUNCQ
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9483,7 +9483,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3)), TRUNCQ
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9511,7 +9511,7 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 4), 2))) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9539,7 +9539,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3)), ORIF (
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9567,7 +9567,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 2), 1)), TRUNCQ
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9595,7 +9595,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3)), TRUNCQ
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9623,7 +9623,7 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 2), 1))) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9651,7 +9651,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3)), ORIF (
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9679,7 +9679,7 @@ if (TRUNCQIBI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 1))) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9707,7 +9707,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3)), ORIF (
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9736,7 +9736,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (EQSI (FLD (f_ccond), 0)) {
if (NESI (tmp_tmp, 0)) {
@@ -9744,7 +9744,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -9753,7 +9753,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9784,7 +9784,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
((void) 0); /*nop*/
}
@@ -9813,7 +9813,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 4), 2))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -9822,7 +9822,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -9831,7 +9831,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9863,7 +9863,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (NOTBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 4), 2)))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -9872,7 +9872,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -9881,7 +9881,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9913,7 +9913,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 4), 2)), XORBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 8), 3)), TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 2), 1))))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -9922,7 +9922,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -9931,7 +9931,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -9963,7 +9963,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (NOTBI (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 4), 2)), XORBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 8), 3)), TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 2), 1)))))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -9972,7 +9972,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -9981,7 +9981,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10013,7 +10013,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (XORBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 8), 3)), TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 2), 1)))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10022,7 +10022,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10031,7 +10031,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10063,7 +10063,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (NOTBI (XORBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 8), 3)), TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 2), 1))))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10072,7 +10072,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10081,7 +10081,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10113,7 +10113,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (ORIF (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 1)), TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 4), 2)))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10122,7 +10122,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10131,7 +10131,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10163,7 +10163,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (NOTBI (ORIF (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 1)), TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 4), 2))))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10172,7 +10172,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10181,7 +10181,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10213,7 +10213,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 1))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10222,7 +10222,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10231,7 +10231,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10263,7 +10263,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (NOTBI (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 1)))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10272,7 +10272,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10281,7 +10281,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10313,7 +10313,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 8), 3))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10322,7 +10322,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10331,7 +10331,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10363,7 +10363,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (NOTBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 8), 3)))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10372,7 +10372,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10381,7 +10381,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10413,7 +10413,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 2), 1))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10422,7 +10422,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10431,7 +10431,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10463,7 +10463,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (NOTBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_2)]), 2), 1)))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10472,7 +10472,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10481,7 +10481,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10513,7 +10513,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (EQSI (FLD (f_ccond), 0)) {
if (NESI (tmp_tmp, 0)) {
@@ -10521,7 +10521,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10530,7 +10530,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10561,7 +10561,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
((void) 0); /*nop*/
}
@@ -10590,7 +10590,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10599,7 +10599,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10608,7 +10608,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10640,7 +10640,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 4), 2)), ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 2), 1)), TRUNCQIBI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 1))))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10649,7 +10649,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10658,7 +10658,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10690,7 +10690,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 4), 2)), TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 2), 1)))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10699,7 +10699,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10708,7 +10708,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10740,7 +10740,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3)), TRUNCQIBI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 1)))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10749,7 +10749,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10758,7 +10758,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10790,7 +10790,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 4), 2)), TRUNCQIBI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 1)))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10799,7 +10799,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10808,7 +10808,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10840,7 +10840,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3)), TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 2), 1)))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10849,7 +10849,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10858,7 +10858,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10890,7 +10890,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 4), 2))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10899,7 +10899,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10908,7 +10908,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10940,7 +10940,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3)), ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 2), 1)), TRUNCQIBI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 1))))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10949,7 +10949,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -10958,7 +10958,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -10990,7 +10990,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 2), 1)), TRUNCQIBI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 1)))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -10999,7 +10999,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -11008,7 +11008,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -11040,7 +11040,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3)), TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 4), 2)))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -11049,7 +11049,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -11058,7 +11058,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -11090,7 +11090,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 2), 1))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -11099,7 +11099,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -11108,7 +11108,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -11140,7 +11140,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3)), ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 4), 2)), TRUNCQIBI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 1))))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -11149,7 +11149,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -11158,7 +11158,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -11190,7 +11190,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (TRUNCQIBI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 1))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -11199,7 +11199,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -11208,7 +11208,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -11240,7 +11240,7 @@ frvbf_model_branch (current_cpu, GET_H_SPR (((UINT) 272)), FLD (f_hint));
{
USI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_spr_set, ((UINT) 273), opval);
- TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "spr", 'x', opval);
}
if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 8), 3)), ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 4), 2)), TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_2)]), 2), 1))))) {
if (EQSI (FLD (f_ccond), 0)) {
@@ -11249,7 +11249,7 @@ if (NESI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -11258,7 +11258,7 @@ if (EQSI (tmp_tmp, 0)) {
USI opval = GET_H_SPR (((UINT) 272));
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -11289,7 +11289,7 @@ frvbf_set_write_next_vliw_addr_to_LR (current_cpu, 1);
{
USI opval = ANDSI (ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))), 0xfffffffc);
sim_queue_pc_write (current_cpu, opval);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
frvbf_model_branch (current_cpu, pc, 2);
}
@@ -11316,7 +11316,7 @@ frvbf_set_write_next_vliw_addr_to_LR (current_cpu, 1);
{
USI opval = ANDSI (ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))), 0xfffffffc);
sim_queue_pc_write (current_cpu, opval);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
frvbf_model_branch (current_cpu, pc, 2);
}
@@ -11343,7 +11343,7 @@ frvbf_set_write_next_vliw_addr_to_LR (current_cpu, 1);
{
USI opval = ANDSI (ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12)), 0xfffffffc);
sim_queue_pc_write (current_cpu, opval);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
frvbf_model_branch (current_cpu, pc, 2);
}
@@ -11370,7 +11370,7 @@ frvbf_set_write_next_vliw_addr_to_LR (current_cpu, 1);
{
USI opval = ANDSI (ADDSI (GET_H_GR (FLD (f_GRi)), FLD (f_d12)), 0xfffffffc);
sim_queue_pc_write (current_cpu, opval);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
frvbf_model_branch (current_cpu, pc, 2);
}
@@ -11395,7 +11395,7 @@ frvbf_set_write_next_vliw_addr_to_LR (current_cpu, 1);
{
USI opval = FLD (i_label24);
sim_queue_pc_write (current_cpu, opval);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
frvbf_model_branch (current_cpu, pc, 2);
}
@@ -11419,7 +11419,7 @@ SEM_FN_NAME (frvbf,rett) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
USI opval = frv_rett (current_cpu, pc, FLD (f_debug));
sim_queue_pc_write (current_cpu, opval);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
frvbf_model_branch (current_cpu, pc, 2);
}
@@ -13601,7 +13601,7 @@ SEM_FN_NAME (frvbf,andcr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = frvbf_cr_logic (current_cpu, 0, CPU (h_cccr[FLD (f_CRi)]), CPU (h_cccr[FLD (f_CRj)]));
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRk)]), opval);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
return vpc;
@@ -13622,7 +13622,7 @@ SEM_FN_NAME (frvbf,orcr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = frvbf_cr_logic (current_cpu, 1, CPU (h_cccr[FLD (f_CRi)]), CPU (h_cccr[FLD (f_CRj)]));
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRk)]), opval);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
return vpc;
@@ -13643,7 +13643,7 @@ SEM_FN_NAME (frvbf,xorcr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = frvbf_cr_logic (current_cpu, 2, CPU (h_cccr[FLD (f_CRi)]), CPU (h_cccr[FLD (f_CRj)]));
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRk)]), opval);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
return vpc;
@@ -13664,7 +13664,7 @@ SEM_FN_NAME (frvbf,nandcr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = frvbf_cr_logic (current_cpu, 3, CPU (h_cccr[FLD (f_CRi)]), CPU (h_cccr[FLD (f_CRj)]));
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRk)]), opval);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
return vpc;
@@ -13685,7 +13685,7 @@ SEM_FN_NAME (frvbf,norcr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = frvbf_cr_logic (current_cpu, 4, CPU (h_cccr[FLD (f_CRi)]), CPU (h_cccr[FLD (f_CRj)]));
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRk)]), opval);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
return vpc;
@@ -13706,7 +13706,7 @@ SEM_FN_NAME (frvbf,andncr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = frvbf_cr_logic (current_cpu, 5, CPU (h_cccr[FLD (f_CRi)]), CPU (h_cccr[FLD (f_CRj)]));
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRk)]), opval);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
return vpc;
@@ -13727,7 +13727,7 @@ SEM_FN_NAME (frvbf,orncr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = frvbf_cr_logic (current_cpu, 6, CPU (h_cccr[FLD (f_CRi)]), CPU (h_cccr[FLD (f_CRj)]));
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRk)]), opval);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
return vpc;
@@ -13748,7 +13748,7 @@ SEM_FN_NAME (frvbf,nandncr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = frvbf_cr_logic (current_cpu, 7, CPU (h_cccr[FLD (f_CRi)]), CPU (h_cccr[FLD (f_CRj)]));
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRk)]), opval);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
return vpc;
@@ -13769,7 +13769,7 @@ SEM_FN_NAME (frvbf,norncr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = frvbf_cr_logic (current_cpu, 8, CPU (h_cccr[FLD (f_CRi)]), CPU (h_cccr[FLD (f_CRj)]));
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRk)]), opval);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
return vpc;
@@ -13790,7 +13790,7 @@ SEM_FN_NAME (frvbf,notcr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = XORQI (CPU (h_cccr[FLD (f_CRj)]), 1);
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRk)]), opval);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
return vpc;
@@ -13811,7 +13811,7 @@ SEM_FN_NAME (frvbf,ckra) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
return vpc;
@@ -13832,7 +13832,7 @@ SEM_FN_NAME (frvbf,ckno) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
return vpc;
@@ -13855,14 +13855,14 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 4), 2))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -13887,14 +13887,14 @@ if (NOTBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 4), 2)))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -13919,14 +13919,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 4), 2)), XORBI
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -13951,14 +13951,14 @@ if (NOTBI (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 4), 2)),
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -13983,14 +13983,14 @@ if (XORBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 8), 3)), TRUNC
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14015,14 +14015,14 @@ if (NOTBI (XORBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 8), 3))
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14047,14 +14047,14 @@ if (ORIF (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 1)), TRUNCQIBI (SRLQI
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14079,14 +14079,14 @@ if (NOTBI (ORIF (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 1)), TRUNCQIBI
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14111,14 +14111,14 @@ if (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 1))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14143,14 +14143,14 @@ if (NOTBI (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 1)))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14175,14 +14175,14 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 8), 3))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14207,14 +14207,14 @@ if (NOTBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 8), 3)))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14239,14 +14239,14 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 2), 1))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14271,14 +14271,14 @@ if (NOTBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 2), 1)))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14301,7 +14301,7 @@ SEM_FN_NAME (frvbf,fckra) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
return vpc;
@@ -14322,7 +14322,7 @@ SEM_FN_NAME (frvbf,fckno) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
return vpc;
@@ -14345,14 +14345,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 4), 2)), ORIF (
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14377,14 +14377,14 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14409,14 +14409,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 4), 2)), TRUNCQ
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14441,14 +14441,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3)), TRUNCQ
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14473,14 +14473,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 4), 2)), TRUNCQ
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14505,14 +14505,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3)), TRUNCQ
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14537,14 +14537,14 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 4), 2))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14569,14 +14569,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3)), ORIF (
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14601,14 +14601,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 2), 1)), TRUNCQ
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14633,14 +14633,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3)), TRUNCQ
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14665,14 +14665,14 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 2), 1))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14697,14 +14697,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3)), ORIF (
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14729,14 +14729,14 @@ if (TRUNCQIBI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 1))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14761,14 +14761,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3)), ORIF (
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 1);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14793,14 +14793,14 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14825,14 +14825,14 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14858,14 +14858,14 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 4), 2))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -14873,7 +14873,7 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 4), 2))) {
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14899,14 +14899,14 @@ if (NOTBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 4), 2)))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -14914,7 +14914,7 @@ if (NOTBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 4), 2)))) {
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14940,14 +14940,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 4), 2)), XORBI
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -14955,7 +14955,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 4), 2)), XORBI
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -14981,14 +14981,14 @@ if (NOTBI (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 4), 2)),
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -14996,7 +14996,7 @@ if (NOTBI (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 4), 2)),
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15022,14 +15022,14 @@ if (XORBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 8), 3)), TRUNC
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15037,7 +15037,7 @@ if (XORBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 8), 3)), TRUNC
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15063,14 +15063,14 @@ if (NOTBI (XORBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 8), 3))
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15078,7 +15078,7 @@ if (NOTBI (XORBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 8), 3))
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15104,14 +15104,14 @@ if (ORIF (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 1)), TRUNCQIBI (SRLQI
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15119,7 +15119,7 @@ if (ORIF (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 1)), TRUNCQIBI (SRLQI
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15145,14 +15145,14 @@ if (NOTBI (ORIF (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 1)), TRUNCQIBI
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15160,7 +15160,7 @@ if (NOTBI (ORIF (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 1)), TRUNCQIBI
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15186,14 +15186,14 @@ if (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 1))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15201,7 +15201,7 @@ if (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 1))) {
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15227,14 +15227,14 @@ if (NOTBI (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 1)))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15242,7 +15242,7 @@ if (NOTBI (TRUNCQIBI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 1)))) {
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15268,14 +15268,14 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 8), 3))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15283,7 +15283,7 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 8), 3))) {
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15309,14 +15309,14 @@ if (NOTBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 8), 3)))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15324,7 +15324,7 @@ if (NOTBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 8), 3)))) {
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15350,14 +15350,14 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 2), 1))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15365,7 +15365,7 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 2), 1))) {
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15391,14 +15391,14 @@ if (NOTBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 2), 1)))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15406,7 +15406,7 @@ if (NOTBI (TRUNCQIBI (SRLQI (ANDQI (CPU (h_iccr[FLD (f_ICCi_3)]), 2), 1)))) {
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_int)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15431,14 +15431,14 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15463,14 +15463,14 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15496,14 +15496,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 4), 2)), ORIF (
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15511,7 +15511,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 4), 2)), ORIF (
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15537,14 +15537,14 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15552,7 +15552,7 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3))) {
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15578,14 +15578,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 4), 2)), TRUNCQ
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15593,7 +15593,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 4), 2)), TRUNCQ
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15619,14 +15619,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3)), TRUNCQ
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15634,7 +15634,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3)), TRUNCQ
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15660,14 +15660,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 4), 2)), TRUNCQ
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15675,7 +15675,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 4), 2)), TRUNCQ
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15701,14 +15701,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3)), TRUNCQ
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15716,7 +15716,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3)), TRUNCQ
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15742,14 +15742,14 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 4), 2))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15757,7 +15757,7 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 4), 2))) {
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15783,14 +15783,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3)), ORIF (
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15798,7 +15798,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3)), ORIF (
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15824,14 +15824,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 2), 1)), TRUNCQ
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15839,7 +15839,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 2), 1)), TRUNCQ
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15865,14 +15865,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3)), TRUNCQ
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15880,7 +15880,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3)), TRUNCQ
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15906,14 +15906,14 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 2), 1))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15921,7 +15921,7 @@ if (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 2), 1))) {
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15947,14 +15947,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3)), ORIF (
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -15962,7 +15962,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3)), ORIF (
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -15988,14 +15988,14 @@ if (TRUNCQIBI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 1))) {
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -16003,7 +16003,7 @@ if (TRUNCQIBI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 1))) {
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -16029,14 +16029,14 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3)), ORIF (
UQI opval = 3;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
} else {
{
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
} else {
@@ -16044,7 +16044,7 @@ if (ORIF (TRUNCQIBI (SRLQI (ANDQI (CPU (h_fccr[FLD (f_FCCi_3)]), 8), 3)), ORIF (
UQI opval = 0;
sim_queue_qi_write (current_cpu, & CPU (h_cccr[FLD (f_CRj_float)]), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cccr", 'x', opval);
}
}
@@ -16073,7 +16073,7 @@ frvbf_set_write_next_vliw_addr_to_LR (current_cpu, 1);
USI opval = ANDSI (ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))), 0xfffffffc);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
frvbf_model_branch (current_cpu, pc, 2);
}
@@ -16104,7 +16104,7 @@ frvbf_set_write_next_vliw_addr_to_LR (current_cpu, 1);
USI opval = ANDSI (ADDSI (GET_H_GR (FLD (f_GRi)), GET_H_GR (FLD (f_GRj))), 0xfffffffc);
sim_queue_pc_write (current_cpu, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
frvbf_model_branch (current_cpu, pc, 2);
}
@@ -16640,7 +16640,7 @@ SEM_FN_NAME (frvbf,fitos) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->floatsisf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -16661,7 +16661,7 @@ SEM_FN_NAME (frvbf,fstoi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = CGEN_CPU_FPU (current_cpu)->ops->fixsfsi (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -16682,7 +16682,7 @@ SEM_FN_NAME (frvbf,fitod) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = CGEN_CPU_FPU (current_cpu)->ops->floatsidf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
return vpc;
@@ -16703,7 +16703,7 @@ SEM_FN_NAME (frvbf,fdtoi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = CGEN_CPU_FPU (current_cpu)->ops->fixdfsi (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR_DOUBLE (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -16725,12 +16725,12 @@ SEM_FN_NAME (frvbf,fditos) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->floatsisf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->floatsisf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR_INT (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -16753,12 +16753,12 @@ SEM_FN_NAME (frvbf,fdstoi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = CGEN_CPU_FPU (current_cpu)->ops->fixsfsi (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
USI opval = CGEN_CPU_FPU (current_cpu)->ops->fixsfsi (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
@@ -16782,13 +16782,13 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->floatsisf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
frvbf_set_ne_index (current_cpu, ADDSI (FLD (f_FRk), 1));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->floatsisf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR_INT (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -16812,13 +16812,13 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SI opval = CGEN_CPU_FPU (current_cpu)->ops->fixsfsi (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
frvbf_set_ne_index (current_cpu, ADDSI (FLD (f_FRk), 1));
{
USI opval = CGEN_CPU_FPU (current_cpu)->ops->fixsfsi (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
@@ -16842,7 +16842,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SF opval = CGEN_CPU_FPU (current_cpu)->ops->floatsisf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -16867,7 +16867,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = CGEN_CPU_FPU (current_cpu)->ops->fixsfsi (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
@@ -16892,7 +16892,7 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->floatsisf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -16916,7 +16916,7 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SI opval = CGEN_CPU_FPU (current_cpu)->ops->fixsfsi (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
@@ -16938,7 +16938,7 @@ SEM_FN_NAME (frvbf,fmovs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = GET_H_FR (FLD (f_FRj));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -16959,7 +16959,7 @@ SEM_FN_NAME (frvbf,fmovd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = GET_H_FR_DOUBLE (FLD (f_FRj));
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
return vpc;
@@ -16981,12 +16981,12 @@ SEM_FN_NAME (frvbf,fdmovs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = GET_H_FR (FLD (f_FRj));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = GET_H_FR (ADDSI (FLD (f_FRj), 1));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -17010,7 +17010,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SF opval = GET_H_FR (FLD (f_FRj));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -17033,7 +17033,7 @@ SEM_FN_NAME (frvbf,fnegs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->negsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -17054,7 +17054,7 @@ SEM_FN_NAME (frvbf,fnegd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = CGEN_CPU_FPU (current_cpu)->ops->negdf (CGEN_CPU_FPU (current_cpu), GET_H_FR_DOUBLE (FLD (f_FRj)));
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
return vpc;
@@ -17076,12 +17076,12 @@ SEM_FN_NAME (frvbf,fdnegs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->negsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->negsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -17105,7 +17105,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SF opval = CGEN_CPU_FPU (current_cpu)->ops->negsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -17128,7 +17128,7 @@ SEM_FN_NAME (frvbf,fabss) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->abssf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -17149,7 +17149,7 @@ SEM_FN_NAME (frvbf,fabsd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = CGEN_CPU_FPU (current_cpu)->ops->absdf (CGEN_CPU_FPU (current_cpu), GET_H_FR_DOUBLE (FLD (f_FRj)));
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
return vpc;
@@ -17171,12 +17171,12 @@ SEM_FN_NAME (frvbf,fdabss) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->abssf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->abssf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -17200,7 +17200,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SF opval = CGEN_CPU_FPU (current_cpu)->ops->abssf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -17223,7 +17223,7 @@ SEM_FN_NAME (frvbf,fsqrts) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->sqrtsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -17245,12 +17245,12 @@ SEM_FN_NAME (frvbf,fdsqrts) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->sqrtsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->sqrtsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -17274,13 +17274,13 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->sqrtsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
frvbf_set_ne_index (current_cpu, ADDSI (FLD (f_FRk), 1));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->sqrtsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -17302,7 +17302,7 @@ SEM_FN_NAME (frvbf,fsqrtd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = CGEN_CPU_FPU (current_cpu)->ops->sqrtdf (CGEN_CPU_FPU (current_cpu), GET_H_FR_DOUBLE (FLD (f_FRj)));
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
return vpc;
@@ -17325,7 +17325,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SF opval = CGEN_CPU_FPU (current_cpu)->ops->sqrtsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -17350,7 +17350,7 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->sqrtsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -17372,7 +17372,7 @@ SEM_FN_NAME (frvbf,fadds) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -17393,7 +17393,7 @@ SEM_FN_NAME (frvbf,fsubs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -17414,7 +17414,7 @@ SEM_FN_NAME (frvbf,fmuls) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -17435,7 +17435,7 @@ SEM_FN_NAME (frvbf,fdivs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->divsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -17456,7 +17456,7 @@ SEM_FN_NAME (frvbf,faddd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = CGEN_CPU_FPU (current_cpu)->ops->adddf (CGEN_CPU_FPU (current_cpu), GET_H_FR_DOUBLE (FLD (f_FRi)), GET_H_FR_DOUBLE (FLD (f_FRj)));
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
return vpc;
@@ -17477,7 +17477,7 @@ SEM_FN_NAME (frvbf,fsubd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = CGEN_CPU_FPU (current_cpu)->ops->subdf (CGEN_CPU_FPU (current_cpu), GET_H_FR_DOUBLE (FLD (f_FRi)), GET_H_FR_DOUBLE (FLD (f_FRj)));
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
return vpc;
@@ -17498,7 +17498,7 @@ SEM_FN_NAME (frvbf,fmuld) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = CGEN_CPU_FPU (current_cpu)->ops->muldf (CGEN_CPU_FPU (current_cpu), GET_H_FR_DOUBLE (FLD (f_FRi)), GET_H_FR_DOUBLE (FLD (f_FRj)));
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
return vpc;
@@ -17519,7 +17519,7 @@ SEM_FN_NAME (frvbf,fdivd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = CGEN_CPU_FPU (current_cpu)->ops->divdf (CGEN_CPU_FPU (current_cpu), GET_H_FR_DOUBLE (FLD (f_FRi)), GET_H_FR_DOUBLE (FLD (f_FRj)));
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
return vpc;
@@ -17542,7 +17542,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -17567,7 +17567,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -17592,7 +17592,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -17617,7 +17617,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SF opval = CGEN_CPU_FPU (current_cpu)->ops->divsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -17642,7 +17642,7 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -17666,7 +17666,7 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -17690,7 +17690,7 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -17714,7 +17714,7 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->divsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -17738,7 +17738,7 @@ if (CGEN_CPU_FPU (current_cpu)->ops->gtsf (CGEN_CPU_FPU (current_cpu), GET_H_FR
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (CGEN_CPU_FPU (current_cpu)->ops->eqsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)))) {
@@ -17746,7 +17746,7 @@ if (CGEN_CPU_FPU (current_cpu)->ops->eqsf (CGEN_CPU_FPU (current_cpu), GET_H_FR
UQI opval = 8;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (CGEN_CPU_FPU (current_cpu)->ops->ltsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)))) {
@@ -17754,14 +17754,14 @@ if (CGEN_CPU_FPU (current_cpu)->ops->ltsf (CGEN_CPU_FPU (current_cpu), GET_H_FR
UQI opval = 4;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
{
UQI opval = 1;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
}
}
@@ -17788,7 +17788,7 @@ if (CGEN_CPU_FPU (current_cpu)->ops->gtdf (CGEN_CPU_FPU (current_cpu), GET_H_FR_
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (CGEN_CPU_FPU (current_cpu)->ops->eqdf (CGEN_CPU_FPU (current_cpu), GET_H_FR_DOUBLE (FLD (f_FRi)), GET_H_FR_DOUBLE (FLD (f_FRj)))) {
@@ -17796,7 +17796,7 @@ if (CGEN_CPU_FPU (current_cpu)->ops->eqdf (CGEN_CPU_FPU (current_cpu), GET_H_FR_
UQI opval = 8;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (CGEN_CPU_FPU (current_cpu)->ops->ltdf (CGEN_CPU_FPU (current_cpu), GET_H_FR_DOUBLE (FLD (f_FRi)), GET_H_FR_DOUBLE (FLD (f_FRj)))) {
@@ -17804,14 +17804,14 @@ if (CGEN_CPU_FPU (current_cpu)->ops->ltdf (CGEN_CPU_FPU (current_cpu), GET_H_FR_
UQI opval = 4;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
{
UQI opval = 1;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
}
}
@@ -17839,7 +17839,7 @@ if (CGEN_CPU_FPU (current_cpu)->ops->gtsf (CGEN_CPU_FPU (current_cpu), GET_H_FR
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (CGEN_CPU_FPU (current_cpu)->ops->eqsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)))) {
@@ -17847,7 +17847,7 @@ if (CGEN_CPU_FPU (current_cpu)->ops->eqsf (CGEN_CPU_FPU (current_cpu), GET_H_FR
UQI opval = 8;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (CGEN_CPU_FPU (current_cpu)->ops->ltsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)))) {
@@ -17855,14 +17855,14 @@ if (CGEN_CPU_FPU (current_cpu)->ops->ltsf (CGEN_CPU_FPU (current_cpu), GET_H_FR
UQI opval = 4;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
{
UQI opval = 1;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
}
}
@@ -17891,7 +17891,7 @@ if (CGEN_CPU_FPU (current_cpu)->ops->gtsf (CGEN_CPU_FPU (current_cpu), GET_H_FR
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (CGEN_CPU_FPU (current_cpu)->ops->eqsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)))) {
@@ -17899,7 +17899,7 @@ if (CGEN_CPU_FPU (current_cpu)->ops->eqsf (CGEN_CPU_FPU (current_cpu), GET_H_FR
UQI opval = 8;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (CGEN_CPU_FPU (current_cpu)->ops->ltsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)))) {
@@ -17907,14 +17907,14 @@ if (CGEN_CPU_FPU (current_cpu)->ops->ltsf (CGEN_CPU_FPU (current_cpu), GET_H_FR
UQI opval = 4;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
{
UQI opval = 1;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
}
}
@@ -17924,7 +17924,7 @@ if (CGEN_CPU_FPU (current_cpu)->ops->gtsf (CGEN_CPU_FPU (current_cpu), GET_H_FR
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[ADDSI (FLD (f_FCCi_2), 1)]), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (CGEN_CPU_FPU (current_cpu)->ops->eqsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)))) {
@@ -17932,7 +17932,7 @@ if (CGEN_CPU_FPU (current_cpu)->ops->eqsf (CGEN_CPU_FPU (current_cpu), GET_H_FR
UQI opval = 8;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[ADDSI (FLD (f_FCCi_2), 1)]), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (CGEN_CPU_FPU (current_cpu)->ops->ltsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)))) {
@@ -17940,14 +17940,14 @@ if (CGEN_CPU_FPU (current_cpu)->ops->ltsf (CGEN_CPU_FPU (current_cpu), GET_H_FR
UQI opval = 4;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[ADDSI (FLD (f_FCCi_2), 1)]), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
{
UQI opval = 1;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[ADDSI (FLD (f_FCCi_2), 1)]), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
}
}
@@ -17973,7 +17973,7 @@ SEM_FN_NAME (frvbf,fmadds) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj))), GET_H_FR (FLD (f_FRk)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -17994,7 +17994,7 @@ SEM_FN_NAME (frvbf,fmsubs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj))), GET_H_FR (FLD (f_FRk)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -18015,7 +18015,7 @@ SEM_FN_NAME (frvbf,fmaddd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = CGEN_CPU_FPU (current_cpu)->ops->adddf (CGEN_CPU_FPU (current_cpu), CGEN_CPU_FPU (current_cpu)->ops->muldf (CGEN_CPU_FPU (current_cpu), GET_H_FR_DOUBLE (FLD (f_FRi)), GET_H_FR_DOUBLE (FLD (f_FRj))), GET_H_FR_DOUBLE (FLD (f_FRk)));
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
return vpc;
@@ -18036,7 +18036,7 @@ SEM_FN_NAME (frvbf,fmsubd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = CGEN_CPU_FPU (current_cpu)->ops->subdf (CGEN_CPU_FPU (current_cpu), CGEN_CPU_FPU (current_cpu)->ops->muldf (CGEN_CPU_FPU (current_cpu), GET_H_FR_DOUBLE (FLD (f_FRi)), GET_H_FR_DOUBLE (FLD (f_FRj))), GET_H_FR_DOUBLE (FLD (f_FRk)));
sim_queue_fn_df_write (current_cpu, frvbf_h_fr_double_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_double", 'f', opval);
}
return vpc;
@@ -18058,12 +18058,12 @@ SEM_FN_NAME (frvbf,fdmadds) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj))), GET_H_FR (FLD (f_FRk)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1))), GET_H_FR (ADDSI (FLD (f_FRk), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18087,13 +18087,13 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj))), GET_H_FR (FLD (f_FRk)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
frvbf_set_ne_index (current_cpu, ADDSI (FLD (f_FRk), 1));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1))), GET_H_FR (ADDSI (FLD (f_FRk), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18117,7 +18117,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj))), GET_H_FR (FLD (f_FRk)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18142,7 +18142,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj))), GET_H_FR (FLD (f_FRk)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18167,7 +18167,7 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj))), GET_H_FR (FLD (f_FRk)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18191,7 +18191,7 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj))), GET_H_FR (FLD (f_FRk)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18214,12 +18214,12 @@ SEM_FN_NAME (frvbf,fmas) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18242,12 +18242,12 @@ SEM_FN_NAME (frvbf,fmss) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18270,22 +18270,22 @@ SEM_FN_NAME (frvbf,fdmas) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 2)), GET_H_FR (ADDSI (FLD (f_FRj), 2)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 2), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 3)), GET_H_FR (ADDSI (FLD (f_FRj), 3)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 3), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18308,22 +18308,22 @@ SEM_FN_NAME (frvbf,fdmss) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 2)), GET_H_FR (ADDSI (FLD (f_FRj), 2)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 2), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 3)), GET_H_FR (ADDSI (FLD (f_FRj), 3)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 3), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18350,22 +18350,22 @@ frvbf_set_ne_index (current_cpu, ADDSI (FLD (f_FRk), 3));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 2)), GET_H_FR (ADDSI (FLD (f_FRj), 2)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 2), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 3)), GET_H_FR (ADDSI (FLD (f_FRj), 3)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 3), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18392,22 +18392,22 @@ frvbf_set_ne_index (current_cpu, ADDSI (FLD (f_FRk), 3));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 2)), GET_H_FR (ADDSI (FLD (f_FRj), 2)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 2), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 3)), GET_H_FR (ADDSI (FLD (f_FRj), 3)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 3), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18432,13 +18432,13 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
}
@@ -18465,13 +18465,13 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
}
@@ -18496,12 +18496,12 @@ SEM_FN_NAME (frvbf,fmad) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->ftruncdfsf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, CGEN_CPU_FPU (current_cpu)->ops->muldf (CGEN_CPU_FPU (current_cpu), CGEN_CPU_FPU (current_cpu)->ops->fextsfdf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR (FLD (f_FRi))), CGEN_CPU_FPU (current_cpu)->ops->fextsfdf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR (FLD (f_FRj)))));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->ftruncdfsf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, CGEN_CPU_FPU (current_cpu)->ops->adddf (CGEN_CPU_FPU (current_cpu), CGEN_CPU_FPU (current_cpu)->ops->fextsfdf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR (ADDSI (FLD (f_FRi), 1))), CGEN_CPU_FPU (current_cpu)->ops->fextsfdf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR (ADDSI (FLD (f_FRj), 1)))));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18524,12 +18524,12 @@ SEM_FN_NAME (frvbf,fmsd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->ftruncdfsf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, CGEN_CPU_FPU (current_cpu)->ops->muldf (CGEN_CPU_FPU (current_cpu), CGEN_CPU_FPU (current_cpu)->ops->fextsfdf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR (FLD (f_FRi))), CGEN_CPU_FPU (current_cpu)->ops->fextsfdf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR (FLD (f_FRj)))));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->ftruncdfsf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, CGEN_CPU_FPU (current_cpu)->ops->subdf (CGEN_CPU_FPU (current_cpu), CGEN_CPU_FPU (current_cpu)->ops->fextsfdf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR (ADDSI (FLD (f_FRi), 1))), CGEN_CPU_FPU (current_cpu)->ops->fextsfdf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FR (ADDSI (FLD (f_FRj), 1)))));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18553,13 +18553,13 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
frvbf_set_ne_index (current_cpu, ADDSI (FLD (f_FRk), 1));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18583,13 +18583,13 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
frvbf_set_ne_index (current_cpu, ADDSI (FLD (f_FRk), 1));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18612,12 +18612,12 @@ SEM_FN_NAME (frvbf,fdadds) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18640,12 +18640,12 @@ SEM_FN_NAME (frvbf,fdsubs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18668,12 +18668,12 @@ SEM_FN_NAME (frvbf,fdmuls) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18696,12 +18696,12 @@ SEM_FN_NAME (frvbf,fddivs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->divsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->divsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18724,12 +18724,12 @@ SEM_FN_NAME (frvbf,fdsads) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18752,12 +18752,12 @@ SEM_FN_NAME (frvbf,fdmulcs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18781,13 +18781,13 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
frvbf_set_ne_index (current_cpu, ADDSI (FLD (f_FRk), 1));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18811,13 +18811,13 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
frvbf_set_ne_index (current_cpu, ADDSI (FLD (f_FRk), 1));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18841,13 +18841,13 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
frvbf_set_ne_index (current_cpu, ADDSI (FLD (f_FRk), 1));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18871,13 +18871,13 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
frvbf_set_ne_index (current_cpu, ADDSI (FLD (f_FRk), 1));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->mulsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18901,13 +18901,13 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->divsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
frvbf_set_ne_index (current_cpu, ADDSI (FLD (f_FRk), 1));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->divsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18931,13 +18931,13 @@ frvbf_set_ne_index (current_cpu, FLD (f_FRk));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->addsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
frvbf_set_ne_index (current_cpu, ADDSI (FLD (f_FRk), 1));
{
SF opval = CGEN_CPU_FPU (current_cpu)->ops->subsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)));
sim_queue_fn_sf_write (current_cpu, frvbf_h_fr_set, ADDSI (FLD (f_FRk), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -18963,7 +18963,7 @@ if (CGEN_CPU_FPU (current_cpu)->ops->gtsf (CGEN_CPU_FPU (current_cpu), GET_H_FR
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (CGEN_CPU_FPU (current_cpu)->ops->eqsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)))) {
@@ -18971,7 +18971,7 @@ if (CGEN_CPU_FPU (current_cpu)->ops->eqsf (CGEN_CPU_FPU (current_cpu), GET_H_FR
UQI opval = 8;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (CGEN_CPU_FPU (current_cpu)->ops->ltsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (FLD (f_FRi)), GET_H_FR (FLD (f_FRj)))) {
@@ -18979,14 +18979,14 @@ if (CGEN_CPU_FPU (current_cpu)->ops->ltsf (CGEN_CPU_FPU (current_cpu), GET_H_FR
UQI opval = 4;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
{
UQI opval = 1;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCi_2)]), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
}
}
@@ -18997,7 +18997,7 @@ if (CGEN_CPU_FPU (current_cpu)->ops->gtsf (CGEN_CPU_FPU (current_cpu), GET_H_FR
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[ADDSI (FLD (f_FCCi_2), 1)]), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (CGEN_CPU_FPU (current_cpu)->ops->eqsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)))) {
@@ -19005,7 +19005,7 @@ if (CGEN_CPU_FPU (current_cpu)->ops->eqsf (CGEN_CPU_FPU (current_cpu), GET_H_FR
UQI opval = 8;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[ADDSI (FLD (f_FCCi_2), 1)]), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (CGEN_CPU_FPU (current_cpu)->ops->ltsf (CGEN_CPU_FPU (current_cpu), GET_H_FR (ADDSI (FLD (f_FRi), 1)), GET_H_FR (ADDSI (FLD (f_FRj), 1)))) {
@@ -19013,14 +19013,14 @@ if (CGEN_CPU_FPU (current_cpu)->ops->ltsf (CGEN_CPU_FPU (current_cpu), GET_H_FR
UQI opval = 4;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[ADDSI (FLD (f_FCCi_2), 1)]), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
{
UQI opval = 1;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[ADDSI (FLD (f_FCCi_2), 1)]), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
}
}
@@ -19046,7 +19046,7 @@ SEM_FN_NAME (frvbf,mhsetlos) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UHI opval = FLD (f_u12);
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
return vpc;
@@ -19067,7 +19067,7 @@ SEM_FN_NAME (frvbf,mhsethis) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UHI opval = FLD (f_u12);
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
return vpc;
@@ -19089,17 +19089,17 @@ SEM_FN_NAME (frvbf,mhdsets) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
UHI opval = FLD (f_u12);
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = FLD (f_u12);
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
@@ -19126,7 +19126,7 @@ SEM_FN_NAME (frvbf,mhsetloh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
@@ -19153,7 +19153,7 @@ SEM_FN_NAME (frvbf,mhsethih) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
@@ -19176,7 +19176,7 @@ SEM_FN_NAME (frvbf,mhdseth) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
HI tmp_tmp;
@@ -19186,7 +19186,7 @@ SEM_FN_NAME (frvbf,mhdseth) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
{
@@ -19197,7 +19197,7 @@ SEM_FN_NAME (frvbf,mhdseth) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -19220,7 +19220,7 @@ SEM_FN_NAME (frvbf,mand) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ANDSI (GET_H_FR_INT (FLD (f_FRi)), GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -19241,7 +19241,7 @@ SEM_FN_NAME (frvbf,mor) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (GET_H_FR_INT (FLD (f_FRi)), GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -19262,7 +19262,7 @@ SEM_FN_NAME (frvbf,mxor) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = XORSI (GET_H_FR_INT (FLD (f_FRi)), GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -19285,7 +19285,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = ANDSI (GET_H_FR_INT (FLD (f_FRi)), GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
@@ -19310,7 +19310,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = ORSI (GET_H_FR_INT (FLD (f_FRi)), GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
@@ -19335,7 +19335,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = XORSI (GET_H_FR_INT (FLD (f_FRi)), GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
@@ -19358,7 +19358,7 @@ SEM_FN_NAME (frvbf,mnot) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = INVSI (GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -19381,7 +19381,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = INVSI (GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
@@ -19404,7 +19404,7 @@ SEM_FN_NAME (frvbf,mrotli) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ROLSI (GET_H_FR_INT (FLD (f_FRi)), ANDSI (FLD (f_u6), 31));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -19425,7 +19425,7 @@ SEM_FN_NAME (frvbf,mrotri) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = RORSI (GET_H_FR_INT (FLD (f_FRi)), ANDSI (FLD (f_u6), 31));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -19446,7 +19446,7 @@ SEM_FN_NAME (frvbf,mwcut) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_cut (current_cpu, GET_H_FR_INT (FLD (f_FRi)), GET_H_FR_INT (ADDSI (FLD (f_FRi), 1)), GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -19467,7 +19467,7 @@ SEM_FN_NAME (frvbf,mwcuti) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_cut (current_cpu, GET_H_FR_INT (FLD (f_FRi)), GET_H_FR_INT (ADDSI (FLD (f_FRi), 1)), FLD (f_u6));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -19488,7 +19488,7 @@ SEM_FN_NAME (frvbf,mcut) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_media_cut (current_cpu, GET_H_ACC40S (FLD (f_ACC40Si)), GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -19509,7 +19509,7 @@ SEM_FN_NAME (frvbf,mcuti) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_media_cut (current_cpu, GET_H_ACC40S (FLD (f_ACC40Si)), FLD (f_s6));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -19530,7 +19530,7 @@ SEM_FN_NAME (frvbf,mcutss) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_media_cut_ss (current_cpu, GET_H_ACC40S (FLD (f_ACC40Si)), GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -19551,7 +19551,7 @@ SEM_FN_NAME (frvbf,mcutssi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_media_cut_ss (current_cpu, GET_H_ACC40S (FLD (f_ACC40Si)), FLD (f_s6));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -19580,13 +19580,13 @@ frvbf_media_register_not_aligned (current_cpu);
SI opval = frvbf_media_cut_ss (current_cpu, GET_H_ACC40S (FLD (f_ACC40Si)), FLD (f_s6));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
USI opval = frvbf_media_cut_ss (current_cpu, GET_H_ACC40S (ADDSI (FLD (f_ACC40Si), 1)), FLD (f_s6));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
}
@@ -19611,7 +19611,7 @@ SEM_FN_NAME (frvbf,maveh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frvbf_media_average (current_cpu, GET_H_FR_INT (FLD (f_FRi)), GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -19633,22 +19633,22 @@ SEM_FN_NAME (frvbf,msllhi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRi)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRi), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
UHI opval = SLLHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 0)), ANDSI (FLD (f_u6), 15));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = SLLHI (GET_H_FR_LO (ADDSI (FLD (f_FRi), 0)), ANDSI (FLD (f_u6), 15));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
@@ -19671,22 +19671,22 @@ SEM_FN_NAME (frvbf,msrlhi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRi)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRi), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
UHI opval = SRLHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 0)), ANDSI (FLD (f_u6), 15));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = SRLHI (GET_H_FR_LO (ADDSI (FLD (f_FRi), 0)), ANDSI (FLD (f_u6), 15));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
@@ -19709,22 +19709,22 @@ SEM_FN_NAME (frvbf,msrahi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRi)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRi), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
UHI opval = SRAHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 0)), ANDSI (FLD (f_u6), 15));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = SRAHI (GET_H_FR_LO (ADDSI (FLD (f_FRi), 0)), ANDSI (FLD (f_u6), 15));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
@@ -19751,13 +19751,13 @@ frvbf_media_register_not_aligned (current_cpu);
SI opval = ROLSI (GET_H_FR_INT (FLD (f_FRi)), ANDSI (FLD (f_s6), 31));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
USI opval = ROLSI (GET_H_FR_INT (ADDSI (FLD (f_FRi), 1)), ANDSI (FLD (f_s6), 31));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
}
@@ -19785,12 +19785,12 @@ SEM_FN_NAME (frvbf,mcplhi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRi)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRi), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
tmp_shift = ANDSI (FLD (f_u6), 15);
tmp_arg1 = SLLHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 0)), tmp_shift);
@@ -19804,7 +19804,7 @@ if (NEHI (tmp_shift, 0)) {
{
UHI opval = tmp_arg1;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
@@ -19838,7 +19838,7 @@ if (NESI (tmp_shift, 0)) {
{
SI opval = tmp_tmp;
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
}
@@ -19873,7 +19873,7 @@ if (GTHI (tmp_argihi, tmp_argjhi)) {
UHI opval = tmp_argjhi;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
} else {
if (LTHI (tmp_argihi, INVHI (tmp_argjhi))) {
@@ -19881,14 +19881,14 @@ if (LTHI (tmp_argihi, INVHI (tmp_argjhi))) {
UHI opval = INVHI (tmp_argjhi);
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
} else {
{
UHI opval = tmp_argihi;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -19897,7 +19897,7 @@ if (GTHI (tmp_argilo, tmp_argjlo)) {
UHI opval = tmp_argjlo;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
} else {
if (LTHI (tmp_argilo, INVHI (tmp_argjlo))) {
@@ -19905,14 +19905,14 @@ if (LTHI (tmp_argilo, INVHI (tmp_argjlo))) {
UHI opval = INVHI (tmp_argjlo);
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
} else {
{
UHI opval = tmp_argilo;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -19946,7 +19946,7 @@ frvbf_media_register_not_aligned (current_cpu);
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
tmp_argihi = ADDHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 0)), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
@@ -19959,7 +19959,7 @@ if (GTHI (tmp_argihi, tmp_argjhi)) {
UHI opval = tmp_argjhi;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
} else {
if (LTHI (tmp_argihi, INVHI (tmp_argjhi))) {
@@ -19967,14 +19967,14 @@ if (LTHI (tmp_argihi, INVHI (tmp_argjhi))) {
UHI opval = INVHI (tmp_argjhi);
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
} else {
{
UHI opval = tmp_argihi;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -19983,7 +19983,7 @@ if (GTHI (tmp_argilo, tmp_argjlo)) {
UHI opval = tmp_argjlo;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
} else {
if (LTHI (tmp_argilo, INVHI (tmp_argjlo))) {
@@ -19991,14 +19991,14 @@ if (LTHI (tmp_argilo, INVHI (tmp_argjlo))) {
UHI opval = INVHI (tmp_argjlo);
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
} else {
{
UHI opval = tmp_argilo;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -20013,7 +20013,7 @@ if (GTHI (tmp_argihi, tmp_argjhi)) {
UHI opval = tmp_argjhi;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
} else {
if (LTHI (tmp_argihi, INVHI (tmp_argjhi))) {
@@ -20021,14 +20021,14 @@ if (LTHI (tmp_argihi, INVHI (tmp_argjhi))) {
UHI opval = INVHI (tmp_argjhi);
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
} else {
{
UHI opval = tmp_argihi;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -20037,7 +20037,7 @@ if (GTHI (tmp_argilo, tmp_argjlo)) {
UHI opval = tmp_argjlo;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
} else {
if (LTHI (tmp_argilo, INVHI (tmp_argjlo))) {
@@ -20045,14 +20045,14 @@ if (LTHI (tmp_argilo, INVHI (tmp_argjlo))) {
UHI opval = INVHI (tmp_argjlo);
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
} else {
{
UHI opval = tmp_argilo;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -20091,14 +20091,14 @@ if (GTUHI (tmp_argihi, tmp_argjhi)) {
UHI opval = tmp_argjhi;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
} else {
{
UHI opval = tmp_argihi;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
if (GTUHI (tmp_argilo, tmp_argjlo)) {
@@ -20106,14 +20106,14 @@ if (GTUHI (tmp_argilo, tmp_argjlo)) {
UHI opval = tmp_argjlo;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
} else {
{
UHI opval = tmp_argilo;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -20153,7 +20153,7 @@ if (GTHI (tmp_argihi, tmp_argjhi)) {
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCk)]), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (EQHI (tmp_argihi, tmp_argjhi)) {
@@ -20161,7 +20161,7 @@ if (EQHI (tmp_argihi, tmp_argjhi)) {
UQI opval = 8;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCk)]), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (LTHI (tmp_argihi, tmp_argjhi)) {
@@ -20169,14 +20169,14 @@ if (LTHI (tmp_argihi, tmp_argjhi)) {
UQI opval = 4;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCk)]), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
{
UQI opval = 1;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCk)]), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
}
}
@@ -20186,7 +20186,7 @@ if (GTHI (tmp_argilo, tmp_argjlo)) {
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[ADDSI (FLD (f_FCCk), 1)]), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (EQHI (tmp_argilo, tmp_argjlo)) {
@@ -20194,7 +20194,7 @@ if (EQHI (tmp_argilo, tmp_argjlo)) {
UQI opval = 8;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[ADDSI (FLD (f_FCCk), 1)]), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (LTHI (tmp_argilo, tmp_argjlo)) {
@@ -20202,14 +20202,14 @@ if (LTHI (tmp_argilo, tmp_argjlo)) {
UQI opval = 4;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[ADDSI (FLD (f_FCCk), 1)]), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
{
UQI opval = 1;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[ADDSI (FLD (f_FCCk), 1)]), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
}
}
@@ -20252,7 +20252,7 @@ if (GTUHI (tmp_argihi, tmp_argjhi)) {
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCk)]), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (EQHI (tmp_argihi, tmp_argjhi)) {
@@ -20260,7 +20260,7 @@ if (EQHI (tmp_argihi, tmp_argjhi)) {
UQI opval = 8;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCk)]), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (LTUHI (tmp_argihi, tmp_argjhi)) {
@@ -20268,14 +20268,14 @@ if (LTUHI (tmp_argihi, tmp_argjhi)) {
UQI opval = 4;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCk)]), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
{
UQI opval = 1;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[FLD (f_FCCk)]), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
}
}
@@ -20285,7 +20285,7 @@ if (GTUHI (tmp_argilo, tmp_argjlo)) {
UQI opval = 2;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[ADDSI (FLD (f_FCCk), 1)]), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (EQHI (tmp_argilo, tmp_argjlo)) {
@@ -20293,7 +20293,7 @@ if (EQHI (tmp_argilo, tmp_argjlo)) {
UQI opval = 8;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[ADDSI (FLD (f_FCCk), 1)]), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
if (LTUHI (tmp_argilo, tmp_argjlo)) {
@@ -20301,14 +20301,14 @@ if (LTUHI (tmp_argilo, tmp_argjlo)) {
UQI opval = 4;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[ADDSI (FLD (f_FCCk), 1)]), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
} else {
{
UQI opval = 1;
sim_queue_qi_write (current_cpu, & CPU (h_fccr[ADDSI (FLD (f_FCCk), 1)]), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fccr", 'x', opval);
}
}
}
@@ -20338,12 +20338,12 @@ SEM_FN_NAME (frvbf,mabshs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRj), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
tmp_arghi = GET_H_FR_HI (ADDSI (FLD (f_FRj), 0));
tmp_arglo = GET_H_FR_LO (ADDSI (FLD (f_FRj), 0));
@@ -20353,7 +20353,7 @@ if (GTDI (ABSDI (EXTHIDI (tmp_arghi)), 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -20364,7 +20364,7 @@ if (LTDI (ABSDI (EXTHIDI (tmp_arghi)), -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -20373,7 +20373,7 @@ frvbf_media_overflow (current_cpu, 8);
UHI opval = ABSDI (EXTHIDI (tmp_arghi));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -20383,7 +20383,7 @@ if (GTDI (ABSDI (EXTHIDI (tmp_arglo)), 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -20394,7 +20394,7 @@ if (LTDI (ABSDI (EXTHIDI (tmp_arglo)), -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -20403,7 +20403,7 @@ frvbf_media_overflow (current_cpu, 4);
UHI opval = ABSDI (EXTHIDI (tmp_arglo));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -20445,7 +20445,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -20456,7 +20456,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -20465,7 +20465,7 @@ frvbf_media_overflow (current_cpu, 8);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -20479,7 +20479,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -20490,7 +20490,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -20499,7 +20499,7 @@ frvbf_media_overflow (current_cpu, 4);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -20542,7 +20542,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -20553,7 +20553,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -20562,7 +20562,7 @@ frvbf_media_overflow (current_cpu, 8);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -20576,7 +20576,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -20587,7 +20587,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -20596,7 +20596,7 @@ frvbf_media_overflow (current_cpu, 4);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -20639,7 +20639,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -20650,7 +20650,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -20659,7 +20659,7 @@ frvbf_media_overflow (current_cpu, 8);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -20673,7 +20673,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -20684,7 +20684,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -20693,7 +20693,7 @@ frvbf_media_overflow (current_cpu, 4);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -20736,7 +20736,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -20747,7 +20747,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -20756,7 +20756,7 @@ frvbf_media_overflow (current_cpu, 8);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -20770,7 +20770,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -20781,7 +20781,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -20790,7 +20790,7 @@ frvbf_media_overflow (current_cpu, 4);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -20834,7 +20834,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -20845,7 +20845,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -20854,7 +20854,7 @@ frvbf_media_overflow (current_cpu, 8);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -20868,7 +20868,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -20879,7 +20879,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -20888,7 +20888,7 @@ frvbf_media_overflow (current_cpu, 4);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -20933,7 +20933,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -20944,7 +20944,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -20953,7 +20953,7 @@ frvbf_media_overflow (current_cpu, 8);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -20967,7 +20967,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -20978,7 +20978,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -20987,7 +20987,7 @@ frvbf_media_overflow (current_cpu, 4);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -21032,7 +21032,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -21043,7 +21043,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -21052,7 +21052,7 @@ frvbf_media_overflow (current_cpu, 8);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -21066,7 +21066,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -21077,7 +21077,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -21086,7 +21086,7 @@ frvbf_media_overflow (current_cpu, 4);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -21131,7 +21131,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -21142,7 +21142,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -21151,7 +21151,7 @@ frvbf_media_overflow (current_cpu, 8);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -21165,7 +21165,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -21176,7 +21176,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -21185,7 +21185,7 @@ frvbf_media_overflow (current_cpu, 4);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -21221,7 +21221,7 @@ frvbf_media_register_not_aligned (current_cpu);
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
tmp_argihi = ADDHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 0)), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
@@ -21238,7 +21238,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -21249,7 +21249,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -21258,7 +21258,7 @@ frvbf_media_overflow (current_cpu, 8);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -21272,7 +21272,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -21283,7 +21283,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -21292,7 +21292,7 @@ frvbf_media_overflow (current_cpu, 4);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -21312,7 +21312,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -21323,7 +21323,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -21332,7 +21332,7 @@ frvbf_media_overflow (current_cpu, 2);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -21346,7 +21346,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -21357,7 +21357,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -21366,7 +21366,7 @@ frvbf_media_overflow (current_cpu, 1);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -21402,7 +21402,7 @@ frvbf_media_register_not_aligned (current_cpu);
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
tmp_argihi = ADDHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 0)), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
@@ -21419,7 +21419,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -21430,7 +21430,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -21439,7 +21439,7 @@ frvbf_media_overflow (current_cpu, 8);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -21453,7 +21453,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -21464,7 +21464,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -21473,7 +21473,7 @@ frvbf_media_overflow (current_cpu, 4);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -21493,7 +21493,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -21504,7 +21504,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -21513,7 +21513,7 @@ frvbf_media_overflow (current_cpu, 2);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -21527,7 +21527,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -21538,7 +21538,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -21547,7 +21547,7 @@ frvbf_media_overflow (current_cpu, 1);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -21583,7 +21583,7 @@ frvbf_media_register_not_aligned (current_cpu);
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
tmp_argihi = ADDHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 0)), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
@@ -21600,7 +21600,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -21611,7 +21611,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -21620,7 +21620,7 @@ frvbf_media_overflow (current_cpu, 8);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -21634,7 +21634,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -21645,7 +21645,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -21654,7 +21654,7 @@ frvbf_media_overflow (current_cpu, 4);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -21674,7 +21674,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -21685,7 +21685,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -21694,7 +21694,7 @@ frvbf_media_overflow (current_cpu, 2);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -21708,7 +21708,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -21719,7 +21719,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -21728,7 +21728,7 @@ frvbf_media_overflow (current_cpu, 1);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -21764,7 +21764,7 @@ frvbf_media_register_not_aligned (current_cpu);
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
tmp_argihi = ADDHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 0)), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
@@ -21781,7 +21781,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -21792,7 +21792,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -21801,7 +21801,7 @@ frvbf_media_overflow (current_cpu, 8);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -21815,7 +21815,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -21826,7 +21826,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -21835,7 +21835,7 @@ frvbf_media_overflow (current_cpu, 4);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -21855,7 +21855,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -21866,7 +21866,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -21875,7 +21875,7 @@ frvbf_media_overflow (current_cpu, 2);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -21889,7 +21889,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -21900,7 +21900,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -21909,7 +21909,7 @@ frvbf_media_overflow (current_cpu, 1);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -21946,7 +21946,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
tmp_argihi = ADDHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 0)), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
@@ -21963,7 +21963,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -21974,7 +21974,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -21983,7 +21983,7 @@ frvbf_media_overflow (current_cpu, 8);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -21997,7 +21997,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -22008,7 +22008,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -22017,7 +22017,7 @@ frvbf_media_overflow (current_cpu, 4);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -22037,7 +22037,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -22048,7 +22048,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -22057,7 +22057,7 @@ frvbf_media_overflow (current_cpu, 2);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -22071,7 +22071,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -22082,7 +22082,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -22091,7 +22091,7 @@ frvbf_media_overflow (current_cpu, 1);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -22129,7 +22129,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
tmp_argihi = ADDHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 0)), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
@@ -22146,7 +22146,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -22157,7 +22157,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -22166,7 +22166,7 @@ frvbf_media_overflow (current_cpu, 8);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -22180,7 +22180,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -22191,7 +22191,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -22200,7 +22200,7 @@ frvbf_media_overflow (current_cpu, 4);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -22220,7 +22220,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -22231,7 +22231,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -22240,7 +22240,7 @@ frvbf_media_overflow (current_cpu, 2);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -22254,7 +22254,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -22265,7 +22265,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -22274,7 +22274,7 @@ frvbf_media_overflow (current_cpu, 1);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -22312,7 +22312,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
tmp_argihi = ADDHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 0)), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
@@ -22329,7 +22329,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -22340,7 +22340,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -22349,7 +22349,7 @@ frvbf_media_overflow (current_cpu, 8);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -22363,7 +22363,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -22374,7 +22374,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -22383,7 +22383,7 @@ frvbf_media_overflow (current_cpu, 4);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -22403,7 +22403,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -22414,7 +22414,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -22423,7 +22423,7 @@ frvbf_media_overflow (current_cpu, 2);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -22437,7 +22437,7 @@ if (GTDI (tmp_tmp, 32767)) {
UHI opval = 32767;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -22448,7 +22448,7 @@ if (LTDI (tmp_tmp, -32768)) {
UHI opval = -32768;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -22457,7 +22457,7 @@ frvbf_media_overflow (current_cpu, 1);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -22495,7 +22495,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
tmp_argihi = ADDHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 0)), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
@@ -22512,7 +22512,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -22523,7 +22523,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -22532,7 +22532,7 @@ frvbf_media_overflow (current_cpu, 8);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -22546,7 +22546,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -22557,7 +22557,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -22566,7 +22566,7 @@ frvbf_media_overflow (current_cpu, 4);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -22586,7 +22586,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -22597,7 +22597,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -22606,7 +22606,7 @@ frvbf_media_overflow (current_cpu, 2);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
}
}
@@ -22620,7 +22620,7 @@ if (GTDI (tmp_tmp, 65535)) {
UHI opval = 65535;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -22631,7 +22631,7 @@ if (LTDI (tmp_tmp, 0)) {
UHI opval = 0;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -22640,7 +22640,7 @@ frvbf_media_overflow (current_cpu, 1);
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -22681,7 +22681,7 @@ frvbf_media_register_not_aligned (current_cpu);
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
tmp_a1 = ADDHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 0)), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
@@ -22699,25 +22699,25 @@ frvbf_media_register_not_aligned (current_cpu);
UHI opval = (LEUHI (ABSHI (tmp_a1), ABSHI (tmp_b1))) ? (0) : (LEHI (0, tmp_b1)) ? (tmp_a1) : (EQHI (tmp_a1, -32768)) ? (32767) : (NEGHI (tmp_a1));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = (LEUHI (ABSHI (tmp_a2), ABSHI (tmp_b2))) ? (0) : (LEHI (0, tmp_b2)) ? (tmp_a2) : (EQHI (tmp_a2, -32768)) ? (32767) : (NEGHI (tmp_a2));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
{
UHI opval = (LEUHI (ABSHI (tmp_a3), ABSHI (tmp_b3))) ? (0) : (LEHI (0, tmp_b3)) ? (tmp_a3) : (EQHI (tmp_a3, -32768)) ? (32767) : (NEGHI (tmp_a3));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = (LEUHI (ABSHI (tmp_a4), ABSHI (tmp_b4))) ? (0) : (LEHI (0, tmp_b4)) ? (tmp_a4) : (EQHI (tmp_a4, -32768)) ? (32767) : (NEGHI (tmp_a4));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -22754,7 +22754,7 @@ frvbf_media_register_not_aligned (current_cpu);
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
tmp_a1 = ADDHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 0)), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
@@ -22772,25 +22772,25 @@ frvbf_media_register_not_aligned (current_cpu);
UHI opval = (ANDIF (GTHI (tmp_b1, -32768), GEHI (tmp_a1, ABSHI (tmp_b1)))) ? (tmp_b1) : (GTHI (tmp_a1, NEGHI (ABSHI (tmp_b1)))) ? (tmp_a1) : (EQHI (tmp_b1, -32768)) ? (32767) : (NEGHI (tmp_b1));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = (ANDIF (GTHI (tmp_b2, -32768), GEHI (tmp_a2, ABSHI (tmp_b2)))) ? (tmp_b2) : (GTHI (tmp_a2, NEGHI (ABSHI (tmp_b2)))) ? (tmp_a2) : (EQHI (tmp_b2, -32768)) ? (32767) : (NEGHI (tmp_b2));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
{
UHI opval = (ANDIF (GTHI (tmp_b3, -32768), GEHI (tmp_a3, ABSHI (tmp_b3)))) ? (tmp_b3) : (GTHI (tmp_a3, NEGHI (ABSHI (tmp_b3)))) ? (tmp_a3) : (EQHI (tmp_b3, -32768)) ? (32767) : (NEGHI (tmp_b3));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = (ANDIF (GTHI (tmp_b4, -32768), GEHI (tmp_a4, ABSHI (tmp_b4)))) ? (tmp_b4) : (GTHI (tmp_a4, NEGHI (ABSHI (tmp_b4)))) ? (tmp_a4) : (EQHI (tmp_b4, -32768)) ? (32767) : (NEGHI (tmp_b4));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -22819,37 +22819,37 @@ frvbf_media_register_not_aligned (current_cpu);
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRi)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRi), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
UHI opval = SLLHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 0)), ANDSI (FLD (f_u6), 15));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = SLLHI (GET_H_FR_LO (ADDSI (FLD (f_FRi), 0)), ANDSI (FLD (f_u6), 15));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
{
UHI opval = SLLHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 1)), ANDSI (FLD (f_u6), 15));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = SLLHI (GET_H_FR_LO (ADDSI (FLD (f_FRi), 1)), ANDSI (FLD (f_u6), 15));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -22878,37 +22878,37 @@ frvbf_media_register_not_aligned (current_cpu);
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRi)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRi), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
UHI opval = SRAHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 0)), ANDSI (FLD (f_u6), 15));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = SRAHI (GET_H_FR_LO (ADDSI (FLD (f_FRi), 0)), ANDSI (FLD (f_u6), 15));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
{
UHI opval = SRAHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 1)), ANDSI (FLD (f_u6), 15));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = SRAHI (GET_H_FR_LO (ADDSI (FLD (f_FRi), 1)), ANDSI (FLD (f_u6), 15));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -22943,7 +22943,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -22954,7 +22954,7 @@ if (LTDI (tmp_tmp, INVDI (MAKEDI (127, 0xffffffff)))) {
DI opval = INVDI (MAKEDI (127, 0xffffffff));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -22963,7 +22963,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23002,7 +23002,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -23013,7 +23013,7 @@ if (LTDI (tmp_tmp, INVDI (MAKEDI (127, 0xffffffff)))) {
DI opval = INVDI (MAKEDI (127, 0xffffffff));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -23022,7 +23022,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23065,7 +23065,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -23076,7 +23076,7 @@ if (LTDI (tmp_tmp, INVDI (MAKEDI (127, 0xffffffff)))) {
DI opval = INVDI (MAKEDI (127, 0xffffffff));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -23085,7 +23085,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23099,7 +23099,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -23110,7 +23110,7 @@ if (LTDI (tmp_tmp, INVDI (MAKEDI (127, 0xffffffff)))) {
DI opval = INVDI (MAKEDI (127, 0xffffffff));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -23119,7 +23119,7 @@ frvbf_media_overflow (current_cpu, 4);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23164,7 +23164,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -23175,7 +23175,7 @@ if (LTDI (tmp_tmp, INVDI (MAKEDI (127, 0xffffffff)))) {
DI opval = INVDI (MAKEDI (127, 0xffffffff));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -23184,7 +23184,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23198,7 +23198,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -23209,7 +23209,7 @@ if (LTDI (tmp_tmp, INVDI (MAKEDI (127, 0xffffffff)))) {
DI opval = INVDI (MAKEDI (127, 0xffffffff));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -23218,7 +23218,7 @@ frvbf_media_overflow (current_cpu, 4);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23263,7 +23263,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -23274,7 +23274,7 @@ if (LTDI (tmp_tmp, INVDI (MAKEDI (127, 0xffffffff)))) {
DI opval = INVDI (MAKEDI (127, 0xffffffff));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -23283,7 +23283,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23297,7 +23297,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -23308,7 +23308,7 @@ if (LTDI (tmp_tmp, INVDI (MAKEDI (127, 0xffffffff)))) {
DI opval = INVDI (MAKEDI (127, 0xffffffff));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -23317,7 +23317,7 @@ frvbf_media_overflow (current_cpu, 4);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23362,7 +23362,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -23373,7 +23373,7 @@ if (LTDI (tmp_tmp, INVDI (MAKEDI (127, 0xffffffff)))) {
DI opval = INVDI (MAKEDI (127, 0xffffffff));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -23382,7 +23382,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23396,7 +23396,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -23407,7 +23407,7 @@ if (LTDI (tmp_tmp, INVDI (MAKEDI (127, 0xffffffff)))) {
DI opval = INVDI (MAKEDI (127, 0xffffffff));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -23416,7 +23416,7 @@ frvbf_media_overflow (current_cpu, 4);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23430,7 +23430,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -23441,7 +23441,7 @@ if (LTDI (tmp_tmp, INVDI (MAKEDI (127, 0xffffffff)))) {
DI opval = INVDI (MAKEDI (127, 0xffffffff));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -23450,7 +23450,7 @@ frvbf_media_overflow (current_cpu, 2);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23464,7 +23464,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -23475,7 +23475,7 @@ if (LTDI (tmp_tmp, INVDI (MAKEDI (127, 0xffffffff)))) {
DI opval = INVDI (MAKEDI (127, 0xffffffff));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -23484,7 +23484,7 @@ frvbf_media_overflow (current_cpu, 1);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23530,13 +23530,13 @@ frvbf_media_acc_not_aligned (current_cpu);
DI opval = MULDI (EXTHIDI (tmp_argihi), EXTHIDI (tmp_argjhi));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
DI opval = MULDI (EXTHIDI (tmp_argilo), EXTHIDI (tmp_argjlo));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23577,13 +23577,13 @@ frvbf_media_acc_not_aligned (current_cpu);
DI opval = MULDI (ZEXTHIDI (tmp_argihi), ZEXTHIDI (tmp_argjhi));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
DI opval = MULDI (ZEXTHIDI (tmp_argilo), ZEXTHIDI (tmp_argjlo));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23624,13 +23624,13 @@ frvbf_media_acc_not_aligned (current_cpu);
DI opval = MULDI (EXTHIDI (tmp_argihi), EXTHIDI (tmp_argjlo));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
DI opval = MULDI (EXTHIDI (tmp_argilo), EXTHIDI (tmp_argjhi));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23671,13 +23671,13 @@ frvbf_media_acc_not_aligned (current_cpu);
DI opval = MULDI (ZEXTHIDI (tmp_argihi), ZEXTHIDI (tmp_argjlo));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
DI opval = MULDI (ZEXTHIDI (tmp_argilo), ZEXTHIDI (tmp_argjhi));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23719,13 +23719,13 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
DI opval = MULDI (EXTHIDI (tmp_argihi), EXTHIDI (tmp_argjhi));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
DI opval = MULDI (EXTHIDI (tmp_argilo), EXTHIDI (tmp_argjlo));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23768,13 +23768,13 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
DI opval = MULDI (ZEXTHIDI (tmp_argihi), ZEXTHIDI (tmp_argjhi));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
DI opval = MULDI (ZEXTHIDI (tmp_argilo), ZEXTHIDI (tmp_argjlo));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23819,13 +23819,13 @@ frvbf_media_register_not_aligned (current_cpu);
DI opval = MULDI (EXTHIDI (tmp_argihi), EXTHIDI (tmp_argjhi));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
DI opval = MULDI (EXTHIDI (tmp_argilo), EXTHIDI (tmp_argjlo));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
tmp_argihi = ADDHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 1)), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
@@ -23837,13 +23837,13 @@ frvbf_media_register_not_aligned (current_cpu);
DI opval = MULDI (EXTHIDI (tmp_argihi), EXTHIDI (tmp_argjhi));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
DI opval = MULDI (EXTHIDI (tmp_argilo), EXTHIDI (tmp_argjlo));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23888,13 +23888,13 @@ frvbf_media_register_not_aligned (current_cpu);
DI opval = MULDI (ZEXTHIDI (tmp_argihi), ZEXTHIDI (tmp_argjhi));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
DI opval = MULDI (ZEXTHIDI (tmp_argilo), ZEXTHIDI (tmp_argjlo));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
tmp_argihi = ADDHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 1)), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
@@ -23906,13 +23906,13 @@ frvbf_media_register_not_aligned (current_cpu);
DI opval = MULDI (ZEXTHIDI (tmp_argihi), ZEXTHIDI (tmp_argjhi));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
DI opval = MULDI (ZEXTHIDI (tmp_argilo), ZEXTHIDI (tmp_argjlo));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -23957,13 +23957,13 @@ frvbf_media_register_not_aligned (current_cpu);
DI opval = MULDI (EXTHIDI (tmp_argihi), EXTHIDI (tmp_argjlo));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
DI opval = MULDI (EXTHIDI (tmp_argilo), EXTHIDI (tmp_argjhi));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
tmp_argihi = ADDHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 1)), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
@@ -23975,13 +23975,13 @@ frvbf_media_register_not_aligned (current_cpu);
DI opval = MULDI (EXTHIDI (tmp_argihi), EXTHIDI (tmp_argjlo));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
DI opval = MULDI (EXTHIDI (tmp_argilo), EXTHIDI (tmp_argjhi));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -24026,13 +24026,13 @@ frvbf_media_register_not_aligned (current_cpu);
DI opval = MULDI (ZEXTHIDI (tmp_argihi), ZEXTHIDI (tmp_argjlo));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
DI opval = MULDI (ZEXTHIDI (tmp_argilo), ZEXTHIDI (tmp_argjhi));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
tmp_argihi = ADDHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 1)), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
@@ -24044,13 +24044,13 @@ frvbf_media_register_not_aligned (current_cpu);
DI opval = MULDI (ZEXTHIDI (tmp_argihi), ZEXTHIDI (tmp_argjlo));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
DI opval = MULDI (ZEXTHIDI (tmp_argilo), ZEXTHIDI (tmp_argjhi));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -24096,13 +24096,13 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
DI opval = MULDI (EXTHIDI (tmp_argihi), EXTHIDI (tmp_argjhi));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
DI opval = MULDI (EXTHIDI (tmp_argilo), EXTHIDI (tmp_argjlo));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
tmp_argihi = ADDHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 1)), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
@@ -24114,13 +24114,13 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
DI opval = MULDI (EXTHIDI (tmp_argihi), EXTHIDI (tmp_argjhi));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
DI opval = MULDI (EXTHIDI (tmp_argilo), EXTHIDI (tmp_argjlo));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -24167,13 +24167,13 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
DI opval = MULDI (ZEXTHIDI (tmp_argihi), ZEXTHIDI (tmp_argjhi));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
DI opval = MULDI (ZEXTHIDI (tmp_argilo), ZEXTHIDI (tmp_argjlo));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
tmp_argihi = ADDHI (GET_H_FR_HI (ADDSI (FLD (f_FRi), 1)), MULSI (GET_H_FR_INT (FLD (f_FRi)), 0));
@@ -24185,13 +24185,13 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
DI opval = MULDI (ZEXTHIDI (tmp_argihi), ZEXTHIDI (tmp_argjhi));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
{
DI opval = MULDI (ZEXTHIDI (tmp_argilo), ZEXTHIDI (tmp_argjlo));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -24239,7 +24239,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -24250,7 +24250,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -24259,7 +24259,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -24273,7 +24273,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -24284,7 +24284,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -24293,7 +24293,7 @@ frvbf_media_overflow (current_cpu, 4);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -24342,7 +24342,7 @@ if (GTDI (tmp_tmp, MAKEDI (255, 0xffffffff))) {
UDI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, FLD (f_ACC40Uk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -24353,7 +24353,7 @@ if (LTDI (tmp_tmp, MAKEDI (0, 0))) {
UDI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, FLD (f_ACC40Uk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -24362,7 +24362,7 @@ frvbf_media_overflow (current_cpu, 8);
UDI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, FLD (f_ACC40Uk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
}
}
@@ -24376,7 +24376,7 @@ if (GTDI (tmp_tmp, MAKEDI (255, 0xffffffff))) {
UDI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -24387,7 +24387,7 @@ if (LTDI (tmp_tmp, MAKEDI (0, 0))) {
UDI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -24396,7 +24396,7 @@ frvbf_media_overflow (current_cpu, 4);
UDI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
}
}
@@ -24445,7 +24445,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -24456,7 +24456,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -24465,7 +24465,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -24479,7 +24479,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -24490,7 +24490,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -24499,7 +24499,7 @@ frvbf_media_overflow (current_cpu, 4);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -24548,7 +24548,7 @@ if (GTDI (tmp_tmp, MAKEDI (255, 0xffffffff))) {
UDI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, FLD (f_ACC40Uk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -24559,7 +24559,7 @@ if (LTDI (tmp_tmp, MAKEDI (0, 0))) {
UDI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, FLD (f_ACC40Uk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -24568,7 +24568,7 @@ frvbf_media_overflow (current_cpu, 8);
UDI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, FLD (f_ACC40Uk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
}
}
@@ -24582,7 +24582,7 @@ if (GTDI (tmp_tmp, MAKEDI (255, 0xffffffff))) {
UDI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -24593,7 +24593,7 @@ if (LTDI (tmp_tmp, MAKEDI (0, 0))) {
UDI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -24602,7 +24602,7 @@ frvbf_media_overflow (current_cpu, 4);
UDI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
}
}
@@ -24652,7 +24652,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -24663,7 +24663,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -24672,7 +24672,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -24686,7 +24686,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -24697,7 +24697,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -24706,7 +24706,7 @@ frvbf_media_overflow (current_cpu, 4);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -24757,7 +24757,7 @@ if (GTDI (tmp_tmp, MAKEDI (255, 0xffffffff))) {
UDI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, FLD (f_ACC40Uk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -24768,7 +24768,7 @@ if (LTDI (tmp_tmp, MAKEDI (0, 0))) {
UDI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, FLD (f_ACC40Uk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -24777,7 +24777,7 @@ frvbf_media_overflow (current_cpu, 8);
UDI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, FLD (f_ACC40Uk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
}
}
@@ -24791,7 +24791,7 @@ if (GTDI (tmp_tmp, MAKEDI (255, 0xffffffff))) {
UDI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -24802,7 +24802,7 @@ if (LTDI (tmp_tmp, MAKEDI (0, 0))) {
UDI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -24811,7 +24811,7 @@ frvbf_media_overflow (current_cpu, 4);
UDI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
}
}
@@ -24864,7 +24864,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -24875,7 +24875,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -24884,7 +24884,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -24898,7 +24898,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -24909,7 +24909,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -24918,7 +24918,7 @@ frvbf_media_overflow (current_cpu, 4);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -24938,7 +24938,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -24949,7 +24949,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -24958,7 +24958,7 @@ frvbf_media_overflow (current_cpu, 2);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -24972,7 +24972,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -24983,7 +24983,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -24992,7 +24992,7 @@ frvbf_media_overflow (current_cpu, 1);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -25045,7 +25045,7 @@ if (GTDI (tmp_tmp, MAKEDI (255, 0xffffffff))) {
UDI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, FLD (f_ACC40Uk), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -25056,7 +25056,7 @@ if (LTDI (tmp_tmp, MAKEDI (0, 0))) {
UDI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, FLD (f_ACC40Uk), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -25065,7 +25065,7 @@ frvbf_media_overflow (current_cpu, 8);
UDI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, FLD (f_ACC40Uk), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
}
}
@@ -25079,7 +25079,7 @@ if (GTDI (tmp_tmp, MAKEDI (255, 0xffffffff))) {
UDI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -25090,7 +25090,7 @@ if (LTDI (tmp_tmp, MAKEDI (0, 0))) {
UDI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -25099,7 +25099,7 @@ frvbf_media_overflow (current_cpu, 4);
UDI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
}
}
@@ -25119,7 +25119,7 @@ if (GTDI (tmp_tmp, MAKEDI (255, 0xffffffff))) {
UDI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 2), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -25130,7 +25130,7 @@ if (LTDI (tmp_tmp, MAKEDI (0, 0))) {
UDI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 2), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -25139,7 +25139,7 @@ frvbf_media_overflow (current_cpu, 2);
UDI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 2), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
}
}
@@ -25153,7 +25153,7 @@ if (GTDI (tmp_tmp, MAKEDI (255, 0xffffffff))) {
UDI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 3), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -25164,7 +25164,7 @@ if (LTDI (tmp_tmp, MAKEDI (0, 0))) {
UDI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 3), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -25173,7 +25173,7 @@ frvbf_media_overflow (current_cpu, 1);
UDI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 3), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
}
}
@@ -25227,7 +25227,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -25238,7 +25238,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -25247,7 +25247,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -25261,7 +25261,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -25272,7 +25272,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -25281,7 +25281,7 @@ frvbf_media_overflow (current_cpu, 4);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -25301,7 +25301,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -25312,7 +25312,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -25321,7 +25321,7 @@ frvbf_media_overflow (current_cpu, 2);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -25335,7 +25335,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 22);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -25346,7 +25346,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 22);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -25355,7 +25355,7 @@ frvbf_media_overflow (current_cpu, 1);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 22);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -25410,7 +25410,7 @@ if (GTDI (tmp_tmp, MAKEDI (255, 0xffffffff))) {
UDI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, FLD (f_ACC40Uk), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -25421,7 +25421,7 @@ if (LTDI (tmp_tmp, MAKEDI (0, 0))) {
UDI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, FLD (f_ACC40Uk), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -25430,7 +25430,7 @@ frvbf_media_overflow (current_cpu, 8);
UDI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, FLD (f_ACC40Uk), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
}
}
@@ -25444,7 +25444,7 @@ if (GTDI (tmp_tmp, MAKEDI (255, 0xffffffff))) {
UDI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -25455,7 +25455,7 @@ if (LTDI (tmp_tmp, MAKEDI (0, 0))) {
UDI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -25464,7 +25464,7 @@ frvbf_media_overflow (current_cpu, 4);
UDI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 1), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
}
}
@@ -25484,7 +25484,7 @@ if (GTDI (tmp_tmp, MAKEDI (255, 0xffffffff))) {
UDI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 2), opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -25495,7 +25495,7 @@ if (LTDI (tmp_tmp, MAKEDI (0, 0))) {
UDI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 2), opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -25504,7 +25504,7 @@ frvbf_media_overflow (current_cpu, 2);
UDI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 2), opval);
written |= (1 << 21);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
}
}
@@ -25518,7 +25518,7 @@ if (GTDI (tmp_tmp, MAKEDI (255, 0xffffffff))) {
UDI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 3), opval);
written |= (1 << 22);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -25529,7 +25529,7 @@ if (LTDI (tmp_tmp, MAKEDI (0, 0))) {
UDI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 3), opval);
written |= (1 << 22);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -25538,7 +25538,7 @@ frvbf_media_overflow (current_cpu, 1);
UDI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40U_set, ADDSI (FLD (f_ACC40Uk), 3), opval);
written |= (1 << 22);
- TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40U", 'D', opval);
}
}
}
@@ -25592,7 +25592,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -25603,7 +25603,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -25612,7 +25612,7 @@ frvbf_media_overflow (current_cpu, 2);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -25626,7 +25626,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -25637,7 +25637,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -25646,7 +25646,7 @@ frvbf_media_overflow (current_cpu, 1);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -25666,7 +25666,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -25677,7 +25677,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -25686,7 +25686,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -25700,7 +25700,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -25711,7 +25711,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -25720,7 +25720,7 @@ frvbf_media_overflow (current_cpu, 4);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -25773,7 +25773,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -25784,7 +25784,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -25793,7 +25793,7 @@ frvbf_media_overflow (current_cpu, 2);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -25807,7 +25807,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -25818,7 +25818,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -25827,7 +25827,7 @@ frvbf_media_overflow (current_cpu, 1);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -25847,7 +25847,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -25858,7 +25858,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -25867,7 +25867,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -25881,7 +25881,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -25892,7 +25892,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -25901,7 +25901,7 @@ frvbf_media_overflow (current_cpu, 4);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -25954,7 +25954,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -25965,7 +25965,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -25974,7 +25974,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -25988,7 +25988,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -25999,7 +25999,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -26008,7 +26008,7 @@ frvbf_media_overflow (current_cpu, 4);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -26028,7 +26028,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -26039,7 +26039,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 2);
}
@@ -26048,7 +26048,7 @@ frvbf_media_overflow (current_cpu, 2);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 2), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -26062,7 +26062,7 @@ if (GTDI (tmp_tmp, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -26073,7 +26073,7 @@ if (LTDI (tmp_tmp, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 1);
}
@@ -26082,7 +26082,7 @@ frvbf_media_overflow (current_cpu, 1);
DI opval = tmp_tmp;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 3), opval);
written |= (1 << 20);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -26132,7 +26132,7 @@ if (GTDI (tmp_tmp1, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26143,7 +26143,7 @@ if (LTDI (tmp_tmp1, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26152,7 +26152,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp1;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -26200,7 +26200,7 @@ if (GTDI (tmp_tmp1, MAKEDI (255, 0xffffffff))) {
DI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26211,7 +26211,7 @@ if (LTDI (tmp_tmp1, MAKEDI (0, 0))) {
DI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26220,7 +26220,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp1;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -26268,7 +26268,7 @@ if (GTDI (tmp_tmp1, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26279,7 +26279,7 @@ if (LTDI (tmp_tmp1, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26288,7 +26288,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp1;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -26336,7 +26336,7 @@ if (GTDI (tmp_tmp1, MAKEDI (255, 0xffffffff))) {
DI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26347,7 +26347,7 @@ if (LTDI (tmp_tmp1, MAKEDI (0, 0))) {
DI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26356,7 +26356,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp1;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -26405,7 +26405,7 @@ if (GTDI (tmp_tmp1, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26416,7 +26416,7 @@ if (LTDI (tmp_tmp1, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26425,7 +26425,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp1;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -26475,7 +26475,7 @@ if (GTDI (tmp_tmp1, MAKEDI (255, 0xffffffff))) {
DI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26486,7 +26486,7 @@ if (LTDI (tmp_tmp1, MAKEDI (0, 0))) {
DI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26495,7 +26495,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp1;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -26545,7 +26545,7 @@ if (GTDI (tmp_tmp1, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26556,7 +26556,7 @@ if (LTDI (tmp_tmp1, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26565,7 +26565,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp1;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -26615,7 +26615,7 @@ if (GTDI (tmp_tmp1, MAKEDI (255, 0xffffffff))) {
DI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26626,7 +26626,7 @@ if (LTDI (tmp_tmp1, MAKEDI (0, 0))) {
DI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26635,7 +26635,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp1;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -26690,7 +26690,7 @@ if (GTDI (tmp_tmp1, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26701,7 +26701,7 @@ if (LTDI (tmp_tmp1, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26710,7 +26710,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp1;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -26733,7 +26733,7 @@ if (GTDI (tmp_tmp1, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -26744,7 +26744,7 @@ if (LTDI (tmp_tmp1, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -26753,7 +26753,7 @@ frvbf_media_overflow (current_cpu, 4);
DI opval = tmp_tmp1;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -26809,7 +26809,7 @@ if (GTDI (tmp_tmp1, MAKEDI (255, 0xffffffff))) {
DI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26820,7 +26820,7 @@ if (LTDI (tmp_tmp1, MAKEDI (0, 0))) {
DI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26829,7 +26829,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp1;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -26852,7 +26852,7 @@ if (GTDI (tmp_tmp1, MAKEDI (255, 0xffffffff))) {
DI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -26863,7 +26863,7 @@ if (LTDI (tmp_tmp1, MAKEDI (0, 0))) {
DI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -26872,7 +26872,7 @@ frvbf_media_overflow (current_cpu, 4);
DI opval = tmp_tmp1;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -26928,7 +26928,7 @@ if (GTDI (tmp_tmp1, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26939,7 +26939,7 @@ if (LTDI (tmp_tmp1, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -26948,7 +26948,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp1;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -26971,7 +26971,7 @@ if (GTDI (tmp_tmp1, MAKEDI (127, 0xffffffff))) {
DI opval = MAKEDI (127, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -26982,7 +26982,7 @@ if (LTDI (tmp_tmp1, MAKEDI (0xffffff80, 0))) {
DI opval = MAKEDI (0xffffff80, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -26991,7 +26991,7 @@ frvbf_media_overflow (current_cpu, 4);
DI opval = tmp_tmp1;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -27047,7 +27047,7 @@ if (GTDI (tmp_tmp1, MAKEDI (255, 0xffffffff))) {
DI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -27058,7 +27058,7 @@ if (LTDI (tmp_tmp1, MAKEDI (0, 0))) {
DI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 8);
}
@@ -27067,7 +27067,7 @@ frvbf_media_overflow (current_cpu, 8);
DI opval = tmp_tmp1;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -27090,7 +27090,7 @@ if (GTDI (tmp_tmp1, MAKEDI (255, 0xffffffff))) {
DI opval = MAKEDI (255, 0xffffffff);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -27101,7 +27101,7 @@ if (LTDI (tmp_tmp1, MAKEDI (0, 0))) {
DI opval = MAKEDI (0, 0);
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
frvbf_media_overflow (current_cpu, 4);
}
@@ -27110,7 +27110,7 @@ frvbf_media_overflow (current_cpu, 4);
DI opval = tmp_tmp1;
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, ADDSI (FLD (f_ACC40Sk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
}
}
@@ -27146,12 +27146,12 @@ if (ANDSI (FLD (f_u6), 1)) {
{
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
@@ -27182,13 +27182,13 @@ if (ANDSI (FLD (f_u6), 1)) {
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -27218,7 +27218,7 @@ frvbf_media_register_not_aligned (current_cpu);
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
if (ANDSI (FLD (f_u6), 1)) {
tmp_tmp = GET_H_FR_LO (ADDSI (FLD (f_FRi), 0));
@@ -27229,25 +27229,25 @@ if (ANDSI (FLD (f_u6), 1)) {
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
{
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -27278,7 +27278,7 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
if (ANDSI (FLD (f_u6), 1)) {
tmp_tmp = GET_H_FR_LO (ADDSI (FLD (f_FRi), 0));
@@ -27289,25 +27289,25 @@ if (ANDSI (FLD (f_u6), 1)) {
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
{
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = tmp_tmp;
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -27333,12 +27333,12 @@ SEM_FN_NAME (frvbf,mpackh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UHI opval = GET_H_FR_LO (ADDSI (FLD (f_FRi), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_LO (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
@@ -27365,32 +27365,32 @@ frvbf_media_register_not_aligned (current_cpu);
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRi)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRi), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRj), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
{
UHI opval = GET_H_FR_LO (ADDSI (FLD (f_FRi), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_LO (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
{
@@ -27398,13 +27398,13 @@ frvbf_media_register_not_aligned (current_cpu);
UHI opval = GET_H_FR_LO (ADDSI (FLD (f_FRi), 1));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_LO (ADDSI (FLD (f_FRj), 1));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -27434,38 +27434,38 @@ frvbf_media_register_not_aligned (current_cpu);
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRi)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRi), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
{
UHI opval = GET_H_FR_HI (ADDSI (FLD (f_FRi), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_HI (ADDSI (FLD (f_FRi), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
{
UHI opval = GET_H_FR_LO (ADDSI (FLD (f_FRi), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), ADDSI (0, 1)), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_LO (ADDSI (FLD (f_FRi), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), ADDSI (0, 1)), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -27495,38 +27495,38 @@ frvbf_media_register_not_aligned (current_cpu);
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRi)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRi), opval);
written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
{
UHI opval = GET_H_FR_HI (ADDSI (FLD (f_FRi), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_HI (ADDSI (FLD (f_FRi), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
{
UHI opval = GET_H_FR_LO (ADDSI (FLD (f_FRi), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), ADDSI (0, 1)), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_LO (ADDSI (FLD (f_FRi), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), ADDSI (0, 1)), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
{
@@ -27534,25 +27534,25 @@ frvbf_media_register_not_aligned (current_cpu);
UHI opval = GET_H_FR_HI (ADDSI (FLD (f_FRi), 1));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 2), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_HI (ADDSI (FLD (f_FRi), 1));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 2), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
{
UHI opval = GET_H_FR_LO (ADDSI (FLD (f_FRi), 1));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), ADDSI (2, 1)), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_LO (ADDSI (FLD (f_FRi), 1));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), ADDSI (2, 1)), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -27578,12 +27578,12 @@ SEM_FN_NAME (frvbf,mbtoh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRj), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
if (ANDSI (FLD (f_FRk), SUBSI (2, 1))) {
frvbf_media_register_not_aligned (current_cpu);
@@ -27593,25 +27593,25 @@ frvbf_media_register_not_aligned (current_cpu);
UHI opval = GET_H_FR_3 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_2 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
{
UHI opval = GET_H_FR_1 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_0 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -27637,12 +27637,12 @@ SEM_FN_NAME (frvbf,cmbtoh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRj), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
if (ANDSI (FLD (f_FRk), SUBSI (2, 1))) {
frvbf_media_register_not_aligned (current_cpu);
@@ -27653,25 +27653,25 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
UHI opval = GET_H_FR_3 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_2 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
{
UHI opval = GET_H_FR_1 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_0 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -27698,12 +27698,12 @@ SEM_FN_NAME (frvbf,mhtob) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRj), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
if (ANDSI (FLD (f_FRj), SUBSI (2, 1))) {
frvbf_media_register_not_aligned (current_cpu);
@@ -27713,25 +27713,25 @@ frvbf_media_register_not_aligned (current_cpu);
UHI opval = GET_H_FR_HI (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_3_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "fr_3", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_3", 'x', opval);
}
{
UHI opval = GET_H_FR_LO (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_2_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_2", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_2", 'x', opval);
}
{
UHI opval = GET_H_FR_HI (ADDSI (FLD (f_FRj), 1));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_1_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_1", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_1", 'x', opval);
}
{
UHI opval = GET_H_FR_LO (ADDSI (FLD (f_FRj), 1));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_0_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_0", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_0", 'x', opval);
}
}
}
@@ -27757,12 +27757,12 @@ SEM_FN_NAME (frvbf,cmhtob) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRj), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
if (ANDSI (FLD (f_FRj), SUBSI (2, 1))) {
frvbf_media_register_not_aligned (current_cpu);
@@ -27773,25 +27773,25 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
UHI opval = GET_H_FR_HI (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_3_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_3", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_3", 'x', opval);
}
{
UHI opval = GET_H_FR_LO (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_2_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "fr_2", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_2", 'x', opval);
}
{
UHI opval = GET_H_FR_HI (ADDSI (FLD (f_FRj), 1));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_1_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "fr_1", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_1", 'x', opval);
}
{
UHI opval = GET_H_FR_LO (ADDSI (FLD (f_FRj), 1));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_0_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_0", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_0", 'x', opval);
}
}
}
@@ -27818,12 +27818,12 @@ SEM_FN_NAME (frvbf,mbtohe) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRj), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
if (ANDSI (FLD (f_FRk), SUBSI (4, 1))) {
frvbf_media_register_not_aligned (current_cpu);
@@ -27833,49 +27833,49 @@ frvbf_media_register_not_aligned (current_cpu);
UHI opval = GET_H_FR_3 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_3 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
{
UHI opval = GET_H_FR_2 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_2 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
{
UHI opval = GET_H_FR_1 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 2), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_1 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 2), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
{
UHI opval = GET_H_FR_0 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 3), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_0 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 3), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -27901,12 +27901,12 @@ SEM_FN_NAME (frvbf,cmbtohe) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRj)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRj), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
{
SI opval = frv_ref_SI (GET_H_FR_INT (FLD (f_FRk)));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
if (ANDSI (FLD (f_FRk), SUBSI (4, 1))) {
frvbf_media_register_not_aligned (current_cpu);
@@ -27917,49 +27917,49 @@ if (EQQI (CPU (h_cccr[FLD (f_CCi)]), ORSI (FLD (f_cond), 2))) {
UHI opval = GET_H_FR_3 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 12);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_3 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 0), opval);
written |= (1 << 16);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
{
UHI opval = GET_H_FR_2 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 13);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_2 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 1), opval);
written |= (1 << 17);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
{
UHI opval = GET_H_FR_1 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 2), opval);
written |= (1 << 14);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_1 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 2), opval);
written |= (1 << 18);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
{
UHI opval = GET_H_FR_0 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_hi_set, ADDSI (FLD (f_FRk), 3), opval);
written |= (1 << 15);
- TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_hi", 'x', opval);
}
{
UHI opval = GET_H_FR_0 (ADDSI (FLD (f_FRj), 0));
sim_queue_fn_hi_write (current_cpu, frvbf_h_fr_lo_set, ADDSI (FLD (f_FRk), 3), opval);
written |= (1 << 19);
- TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_lo", 'x', opval);
}
}
}
@@ -28036,7 +28036,7 @@ SEM_FN_NAME (frvbf,mrdacc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GET_H_ACC40S (FLD (f_ACC40Si));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -28057,7 +28057,7 @@ SEM_FN_NAME (frvbf,mrdaccg) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GET_H_ACCG (FLD (f_ACCGi));
sim_queue_fn_si_write (current_cpu, frvbf_h_fr_int_set, FLD (f_FRk), opval);
- TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr_int", 'x', opval);
}
return vpc;
@@ -28078,7 +28078,7 @@ SEM_FN_NAME (frvbf,mwtacc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (ANDDI (GET_H_ACC40S (FLD (f_ACC40Sk)), MAKEDI (0xffffffff, 0)), GET_H_FR_INT (FLD (f_FRi)));
sim_queue_fn_di_write (current_cpu, frvbf_h_acc40S_set, FLD (f_ACC40Sk), opval);
- TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "acc40S", 'D', opval);
}
return vpc;
@@ -28101,7 +28101,7 @@ frv_ref_SI (GET_H_ACCG (FLD (f_ACCGk)));
{
USI opval = GET_H_FR_INT (FLD (f_FRi));
sim_queue_fn_si_write (current_cpu, frvbf_h_accg_set, FLD (f_ACCGk), opval);
- TRACE_RESULT (current_cpu, abuf, "accg", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accg", 'x', opval);
}
}
diff --git a/sim/frv/sim-main.h b/sim/frv/sim-main.h
index 110d76145be..d5a67cb8167 100644
--- a/sim/frv/sim-main.h
+++ b/sim/frv/sim-main.h
@@ -19,11 +19,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
/* Main header for the frv. */
-/* Set the mask of unsupported traces. */
-#define WITH_TRACE \
- (~(TRACE_alu | TRACE_decode | TRACE_memory | TRACE_model | TRACE_fpu \
- | TRACE_branch | TRACE_debug))
-
/* sim-basics.h includes config.h but cgen-types.h must be included before
sim-basics.h and cgen-types.h needs config.h. */
#include "config.h"
diff --git a/sim/ft32/ChangeLog b/sim/ft32/ChangeLog
index 3553e68a72f..988413fe8de 100644
--- a/sim/ft32/ChangeLog
+++ b/sim/ft32/ChangeLog
@@ -1,3 +1,15 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-main.h (SIM_CPU): Delete.
diff --git a/sim/ft32/configure b/sim/ft32/configure
index 946f84fb755..753c3ac15c7 100755
--- a/sim/ft32/configure
+++ b/sim/ft32/configure
@@ -1405,17 +1405,28 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
- --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.
- --enable-sim-inline=inlines Specify which functions should be inlined.
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
+ --enable-sim-environment=environment
+ Specify mixed, user, virtual or operating
+ environment
+ --enable-sim-inline=inlines
+ Specify which functions should be inlined
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings if gcc is used
--enable-sim-build-warnings
@@ -2227,7 +2238,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12306,7 +12317,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12309 "configure"
+#line 12320 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12412,7 +12423,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12415 "configure"
+#line 12426 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12748,10 +12759,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/h8300/ChangeLog b/sim/h8300/ChangeLog
index c7eb47494ee..f9315cd5600 100644
--- a/sim/h8300/ChangeLog
+++ b/sim/h8300/ChangeLog
@@ -1,3 +1,15 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-main.h (SIM_CPU): Delete.
diff --git a/sim/h8300/configure b/sim/h8300/configure
index c273fc47cc4..0c558e890b6 100755
--- a/sim/h8300/configure
+++ b/sim/h8300/configure
@@ -1397,12 +1397,16 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -2209,7 +2213,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12288,7 +12292,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12291 "configure"
+#line 12295 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12394,7 +12398,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12397 "configure"
+#line 12401 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12730,10 +12734,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/igen/ChangeLog b/sim/igen/ChangeLog
index 90079207be4..c611a40ae5d 100644
--- a/sim/igen/ChangeLog
+++ b/sim/igen/ChangeLog
@@ -1,3 +1,7 @@
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
2015-04-24 David Binderman <dcb314@hotmail.com>
Nick Clifton <nickc@redhat.com>
diff --git a/sim/igen/configure b/sim/igen/configure
index b910afcdfac..9529c58f1ef 100755
--- a/sim/igen/configure
+++ b/sim/igen/configure
@@ -2050,7 +2050,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
diff --git a/sim/iq2000/ChangeLog b/sim/iq2000/ChangeLog
index e55b6f66e9b..bec6d21c923 100644
--- a/sim/iq2000/ChangeLog
+++ b/sim/iq2000/ChangeLog
@@ -1,3 +1,23 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * decode.c (frvbf_decode): Change TRACE_EXTRACT to CGEN_TRACE_EXTRACT.
+ * mloop.in (execute): Change TRACE_INSN_INIT to CGEN_TRACE_INSN_INIT,
+ TRACE_INSN to CGEN_TRACE_INSN, and TRACE_INSN_FINI to CGEN_TRACE_INSN_FINI.
+ * sem.c: Rename TRACE_RESULT to CGEN_TRACE_RESULT.
+ * sem-switch.c: Likewise.
+
2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-main.h (USING_SIM_BASE_H): Delete.
diff --git a/sim/iq2000/configure b/sim/iq2000/configure
index 02ac1d53c70..d2c9629dac9 100755
--- a/sim/iq2000/configure
+++ b/sim/iq2000/configure
@@ -1409,20 +1409,33 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
- --enable-sim-scache=size Specify simulator execution cache size.
- --enable-sim-default-model=model Specify default model to simulate.
- --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.
- --enable-sim-inline=inlines Specify which functions should be inlined.
- --enable-cgen-maint=DIR build cgen generated files
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
+ --enable-sim-scache=size
+ Specify simulator execution cache size
+ --enable-sim-default-model=model
+ Specify default model to simulate
+ --enable-sim-environment=environment
+ Specify mixed, user, virtual or operating
+ environment
+ --enable-sim-inline=inlines
+ Specify which functions should be inlined
+ --enable-cgen-maint=DIR build cgen generated files
--enable-sim-hardware=LIST
Specify the hardware to be included in the build.
@@ -2231,7 +2244,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12310,7 +12323,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12313 "configure"
+#line 12326 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12416,7 +12429,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12419 "configure"
+#line 12432 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12752,10 +12765,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/iq2000/decode.c b/sim/iq2000/decode.c
index 6edeb2daad9..3e881ba5c8b 100644
--- a/sim/iq2000/decode.c
+++ b/sim/iq2000/decode.c
@@ -883,7 +883,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
#undef FLD
return idesc;
@@ -906,7 +906,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_rs) = f_rs;
FLD (f_rt) = f_rt;
FLD (f_rd) = f_rd;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, "f_rd 0x%x", 'x', f_rd, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, "f_rd 0x%x", 'x', f_rd, (char *) 0));
#undef FLD
return idesc;
@@ -929,7 +929,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm) = f_imm;
FLD (f_rs) = f_rs;
FLD (f_rt) = f_rt;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_imm 0x%x", 'x', f_imm, "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_imm 0x%x", 'x', f_imm, "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, (char *) 0));
#undef FLD
return idesc;
@@ -958,7 +958,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_rd) = f_rd;
FLD (f_rt) = f_rt;
FLD (f_shamt) = f_shamt;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ram", "f_maskl 0x%x", 'x', f_maskl, "f_rs 0x%x", 'x', f_rs, "f_rd 0x%x", 'x', f_rd, "f_rt 0x%x", 'x', f_rt, "f_shamt 0x%x", 'x', f_shamt, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ram", "f_maskl 0x%x", 'x', f_maskl, "f_rs 0x%x", 'x', f_rs, "f_rd 0x%x", 'x', f_rd, "f_rt 0x%x", 'x', f_rt, "f_shamt 0x%x", 'x', f_shamt, (char *) 0));
#undef FLD
return idesc;
@@ -981,7 +981,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_rt) = f_rt;
FLD (f_shamt) = f_shamt;
FLD (f_rd) = f_rd;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sll", "f_rt 0x%x", 'x', f_rt, "f_shamt 0x%x", 'x', f_shamt, "f_rd 0x%x", 'x', f_rd, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sll", "f_rt 0x%x", 'x', f_rt, "f_shamt 0x%x", 'x', f_shamt, "f_rd 0x%x", 'x', f_rd, (char *) 0));
#undef FLD
return idesc;
@@ -1007,7 +1007,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_rt) = f_rt;
FLD (f_shamt) = f_shamt;
FLD (f_rd) = f_rd;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_slmv", "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, "f_shamt 0x%x", 'x', f_shamt, "f_rd 0x%x", 'x', f_rd, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_slmv", "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, "f_shamt 0x%x", 'x', f_shamt, "f_rd 0x%x", 'x', f_rd, (char *) 0));
#undef FLD
return idesc;
@@ -1030,7 +1030,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_rs) = f_rs;
FLD (f_rt) = f_rt;
FLD (f_rd) = f_rd;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_slt", "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, "f_rd 0x%x", 'x', f_rd, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_slt", "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, "f_rd 0x%x", 'x', f_rd, (char *) 0));
#undef FLD
return idesc;
@@ -1053,7 +1053,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm) = f_imm;
FLD (f_rs) = f_rs;
FLD (f_rt) = f_rt;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_slti", "f_imm 0x%x", 'x', f_imm, "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_slti", "f_imm 0x%x", 'x', f_imm, "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, (char *) 0));
#undef FLD
return idesc;
@@ -1076,7 +1076,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_rt) = f_rt;
FLD (f_rs) = f_rs;
FLD (i_offset) = f_offset;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bbi", "f_rt 0x%x", 'x', f_rt, "f_rs 0x%x", 'x', f_rs, "offset 0x%x", 'x', f_offset, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bbi", "f_rt 0x%x", 'x', f_rt, "f_rs 0x%x", 'x', f_rs, "offset 0x%x", 'x', f_offset, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1105,7 +1105,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_rs) = f_rs;
FLD (f_rt) = f_rt;
FLD (i_offset) = f_offset;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bbv", "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, "offset 0x%x", 'x', f_offset, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bbv", "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, "offset 0x%x", 'x', f_offset, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1131,7 +1131,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rs) = f_rs;
FLD (i_offset) = f_offset;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bgez", "f_rs 0x%x", 'x', f_rs, "offset 0x%x", 'x', f_offset, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bgez", "f_rs 0x%x", 'x', f_rs, "offset 0x%x", 'x', f_offset, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1157,7 +1157,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rs) = f_rs;
FLD (i_offset) = f_offset;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bgezal", "f_rs 0x%x", 'x', f_rs, "offset 0x%x", 'x', f_offset, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bgezal", "f_rs 0x%x", 'x', f_rs, "offset 0x%x", 'x', f_offset, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1183,7 +1183,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rs) = f_rs;
FLD (f_rd) = f_rd;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jalr", "f_rs 0x%x", 'x', f_rs, "f_rd 0x%x", 'x', f_rd, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jalr", "f_rs 0x%x", 'x', f_rs, "f_rd 0x%x", 'x', f_rd, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1206,7 +1206,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rs) = f_rs;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jr", "f_rs 0x%x", 'x', f_rs, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jr", "f_rs 0x%x", 'x', f_rs, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1235,7 +1235,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_rs) = f_rs;
FLD (f_imm) = f_imm;
FLD (f_rt) = f_rt;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lb", "f_rs 0x%x", 'x', f_rs, "f_imm 0x%x", 'x', f_imm, "f_rt 0x%x", 'x', f_rt, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lb", "f_rs 0x%x", 'x', f_rs, "f_imm 0x%x", 'x', f_imm, "f_rt 0x%x", 'x', f_rt, (char *) 0));
#undef FLD
return idesc;
@@ -1258,7 +1258,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_rs) = f_rs;
FLD (f_imm) = f_imm;
FLD (f_rt) = f_rt;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lh", "f_rs 0x%x", 'x', f_rs, "f_imm 0x%x", 'x', f_imm, "f_rt 0x%x", 'x', f_rt, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lh", "f_rs 0x%x", 'x', f_rs, "f_imm 0x%x", 'x', f_imm, "f_rt 0x%x", 'x', f_rt, (char *) 0));
#undef FLD
return idesc;
@@ -1278,7 +1278,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm) = f_imm;
FLD (f_rt) = f_rt;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lui", "f_imm 0x%x", 'x', f_imm, "f_rt 0x%x", 'x', f_rt, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lui", "f_imm 0x%x", 'x', f_imm, "f_rt 0x%x", 'x', f_rt, (char *) 0));
#undef FLD
return idesc;
@@ -1301,7 +1301,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_rs) = f_rs;
FLD (f_imm) = f_imm;
FLD (f_rt) = f_rt;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lw", "f_rs 0x%x", 'x', f_rs, "f_imm 0x%x", 'x', f_imm, "f_rt 0x%x", 'x', f_rt, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lw", "f_rs 0x%x", 'x', f_rs, "f_imm 0x%x", 'x', f_imm, "f_rt 0x%x", 'x', f_rt, (char *) 0));
#undef FLD
return idesc;
@@ -1324,7 +1324,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_rs) = f_rs;
FLD (f_imm) = f_imm;
FLD (f_rt) = f_rt;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sb", "f_rs 0x%x", 'x', f_rs, "f_imm 0x%x", 'x', f_imm, "f_rt 0x%x", 'x', f_rt, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sb", "f_rs 0x%x", 'x', f_rs, "f_imm 0x%x", 'x', f_imm, "f_rt 0x%x", 'x', f_rt, (char *) 0));
#undef FLD
return idesc;
@@ -1347,7 +1347,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_rs) = f_rs;
FLD (f_imm) = f_imm;
FLD (f_rt) = f_rt;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sh", "f_rs 0x%x", 'x', f_rs, "f_imm 0x%x", 'x', f_imm, "f_rt 0x%x", 'x', f_rt, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sh", "f_rs 0x%x", 'x', f_rs, "f_imm 0x%x", 'x', f_imm, "f_rt 0x%x", 'x', f_rt, (char *) 0));
#undef FLD
return idesc;
@@ -1370,7 +1370,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_rs) = f_rs;
FLD (f_imm) = f_imm;
FLD (f_rt) = f_rt;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sw", "f_rs 0x%x", 'x', f_rs, "f_imm 0x%x", 'x', f_imm, "f_rt 0x%x", 'x', f_rt, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sw", "f_rs 0x%x", 'x', f_rs, "f_imm 0x%x", 'x', f_imm, "f_rt 0x%x", 'x', f_rt, (char *) 0));
#undef FLD
return idesc;
@@ -1383,7 +1383,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_break", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_break", (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1402,7 +1402,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_syscall", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_syscall", (char *) 0));
#undef FLD
return idesc;
@@ -1425,7 +1425,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm) = f_imm;
FLD (f_rs) = f_rs;
FLD (f_rt) = f_rt;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andoui", "f_imm 0x%x", 'x', f_imm, "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andoui", "f_imm 0x%x", 'x', f_imm, "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, (char *) 0));
#undef FLD
return idesc;
@@ -1451,7 +1451,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_rs) = f_rs;
FLD (f_rt) = f_rt;
FLD (f_rd) = f_rd;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mrgb", "f_mask 0x%x", 'x', f_mask, "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, "f_rd 0x%x", 'x', f_rd, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mrgb", "f_mask 0x%x", 'x', f_mask, "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, "f_rd 0x%x", 'x', f_rd, (char *) 0));
#undef FLD
return idesc;
@@ -1464,7 +1464,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bctxt", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bctxt", (char *) 0));
#undef FLD
return idesc;
@@ -1487,7 +1487,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_rs) = f_rs;
FLD (f_rt) = f_rt;
FLD (f_imm) = f_imm;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldw", "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, "f_imm 0x%x", 'x', f_imm, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldw", "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, "f_imm 0x%x", 'x', f_imm, (char *) 0));
#undef FLD
return idesc;
@@ -1510,7 +1510,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_rs) = f_rs;
FLD (f_rt) = f_rt;
FLD (f_imm) = f_imm;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sdw", "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, "f_imm 0x%x", 'x', f_imm, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sdw", "f_rs 0x%x", 'x', f_rs, "f_rt 0x%x", 'x', f_rt, "f_imm 0x%x", 'x', f_imm, (char *) 0));
#undef FLD
return idesc;
@@ -1527,7 +1527,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_jmptarg) = f_jtarg;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_j", "jmptarg 0x%x", 'x', f_jtarg, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_j", "jmptarg 0x%x", 'x', f_jtarg, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1550,7 +1550,7 @@ iq2000bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_jmptarg) = f_jtarg;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jal", "jmptarg 0x%x", 'x', f_jtarg, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jal", "jmptarg 0x%x", 'x', f_jtarg, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
diff --git a/sim/iq2000/mloop.in b/sim/iq2000/mloop.in
index 7fc7020a0e4..094a6563595 100644
--- a/sim/iq2000/mloop.in
+++ b/sim/iq2000/mloop.in
@@ -96,8 +96,8 @@ execute (SIM_CPU *current_cpu, SCACHE *sc, int fast_p)
if (PROFILE_MODEL_P (current_cpu)
&& ARGBUF_PROFILE_P (abuf))
@cpu@_model_insn_before (current_cpu, 1 /*first_p*/);
- TRACE_INSN_INIT (current_cpu, abuf, 1);
- TRACE_INSN (current_cpu, idesc->idata,
+ CGEN_TRACE_INSN_INIT (current_cpu, abuf, 1);
+ CGEN_TRACE_INSN (current_cpu, idesc->idata,
(const struct argbuf *) abuf, abuf->addr);
}
#if WITH_SCACHE
@@ -116,7 +116,7 @@ execute (SIM_CPU *current_cpu, SCACHE *sc, int fast_p)
cycles = (*idesc->timing->model_fn) (current_cpu, sc);
@cpu@_model_insn_after (current_cpu, 1 /*last_p*/, cycles);
}
- TRACE_INSN_FINI (current_cpu, abuf, 1);
+ CGEN_TRACE_INSN_FINI (current_cpu, abuf, 1);
}
#else
abort ();
diff --git a/sim/iq2000/sem-switch.c b/sim/iq2000/sem-switch.c
index b9d7853ea38..7a6009feab2 100644
--- a/sim/iq2000/sem-switch.c
+++ b/sim/iq2000/sem-switch.c
@@ -201,13 +201,13 @@ This file is part of the GNU simulators.
/* If hyper-fast [well not unnecessarily slow] execution is selected, turn
off frills like tracing and profiling. */
-/* FIXME: A better way would be to have TRACE_RESULT check for something
+/* FIXME: A better way would be to have CGEN_TRACE_RESULT check for something
that can cause it to be optimized out. Another way would be to emit
special handlers into the instruction "stream". */
#if FAST_P
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
+#undef CGEN_TRACE_RESULT
+#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
#endif
#undef GET_ATTR
@@ -392,7 +392,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -411,7 +411,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm))));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -430,7 +430,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm))));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -449,7 +449,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -473,7 +473,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ORSI (SLLSI (tmp_high, 16), tmp_low);
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -493,7 +493,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ANDSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -512,7 +512,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ANDSI (GET_H_GR (FLD (f_rs)), ZEXTSISI (FLD (f_imm)));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -531,7 +531,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ANDSI (GET_H_GR (FLD (f_rs)), ORSI (0xffff0000, EXTHISI (TRUNCSIHI (FLD (f_imm)))));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -550,7 +550,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = INVSI (ORSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt))));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -569,7 +569,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ORSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -588,7 +588,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ORSI (GET_H_GR (FLD (f_rs)), ZEXTSISI (FLD (f_imm)));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -608,17 +608,17 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = RORSI (GET_H_GR (FLD (f_rt)), FLD (f_shamt));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = ANDSI (GET_H_GR (FLD (f_rd)), SRLSI (0xffffffff, FLD (f_maskl)));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = ANDSI (GET_H_GR (FLD (f_rd)), SLLSI (0xffffffff, FLD (f_rs)));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -638,7 +638,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = SLLSI (GET_H_GR (FLD (f_rt)), FLD (f_shamt));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -657,7 +657,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = SLLSI (GET_H_GR (FLD (f_rt)), ANDSI (GET_H_GR (FLD (f_rs)), 31));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -676,7 +676,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ANDSI (SLLSI (GET_H_GR (FLD (f_rt)), FLD (f_shamt)), SRLSI (0xffffffff, GET_H_GR (FLD (f_rs))));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -697,14 +697,14 @@ if (LTSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
SI opval = 1;
SET_H_GR (FLD (f_rd), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = 0;
SET_H_GR (FLD (f_rd), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -727,14 +727,14 @@ if (LTSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm))))) {
SI opval = 1;
SET_H_GR (FLD (f_rt), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = 0;
SET_H_GR (FLD (f_rt), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -757,14 +757,14 @@ if (LTUSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm))))) {
SI opval = 1;
SET_H_GR (FLD (f_rt), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = 0;
SET_H_GR (FLD (f_rt), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -787,14 +787,14 @@ if (LTUSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
SI opval = 1;
SET_H_GR (FLD (f_rd), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = 0;
SET_H_GR (FLD (f_rd), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -815,7 +815,7 @@ if (LTUSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
{
SI opval = SRASI (GET_H_GR (FLD (f_rt)), FLD (f_shamt));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -834,7 +834,7 @@ if (LTUSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
{
SI opval = SRASI (GET_H_GR (FLD (f_rt)), ANDSI (GET_H_GR (FLD (f_rs)), 31));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -853,7 +853,7 @@ if (LTUSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
{
SI opval = SRLSI (GET_H_GR (FLD (f_rt)), FLD (f_shamt));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -872,7 +872,7 @@ if (LTUSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
{
SI opval = SRLSI (GET_H_GR (FLD (f_rt)), ANDSI (GET_H_GR (FLD (f_rs)), 31));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -891,7 +891,7 @@ if (LTUSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
{
SI opval = ANDSI (SRLSI (GET_H_GR (FLD (f_rt)), FLD (f_shamt)), SLLSI (0xffffffff, GET_H_GR (FLD (f_rs))));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -910,7 +910,7 @@ if (LTUSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
{
SI opval = SUBSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -929,7 +929,7 @@ if (LTUSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
{
SI opval = SUBSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -948,7 +948,7 @@ if (LTUSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
{
SI opval = XORSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -967,7 +967,7 @@ if (LTUSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
{
SI opval = XORSI (GET_H_GR (FLD (f_rs)), ZEXTSISI (FLD (f_imm)));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -990,7 +990,7 @@ if (ANDSI (GET_H_GR (FLD (f_rs)), SLLSI (1, FLD (f_rt)))) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1017,7 +1017,7 @@ if (NOTSI (ANDSI (GET_H_GR (FLD (f_rs)), SLLSI (1, FLD (f_rt))))) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1044,7 +1044,7 @@ if (ANDSI (GET_H_GR (FLD (f_rs)), SLLSI (1, ANDSI (GET_H_GR (FLD (f_rt)), 31))))
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1071,7 +1071,7 @@ if (NOTSI (ANDSI (GET_H_GR (FLD (f_rs)), SLLSI (1, ANDSI (GET_H_GR (FLD (f_rt)),
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1098,7 +1098,7 @@ if (EQSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1125,7 +1125,7 @@ if (EQSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -1155,7 +1155,7 @@ if (GESI (GET_H_GR (FLD (f_rs)), 0)) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1182,14 +1182,14 @@ if (GESI (GET_H_GR (FLD (f_rs)), 0)) {
SI opval = ADDSI (pc, 8);
SET_H_GR (((UINT) 31), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1217,14 +1217,14 @@ if (GESI (GET_H_GR (FLD (f_rs)), 0)) {
SI opval = ADDSI (pc, 8);
SET_H_GR (((UINT) 31), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1255,7 +1255,7 @@ if (GESI (GET_H_GR (FLD (f_rs)), 0)) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -1285,7 +1285,7 @@ if (LTSI (GET_H_GR (FLD (f_rs)), 0)) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1312,7 +1312,7 @@ if (LTSI (GET_H_GR (FLD (f_rs)), 0)) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -1342,14 +1342,14 @@ if (LTSI (GET_H_GR (FLD (f_rs)), 0)) {
SI opval = ADDSI (pc, 8);
SET_H_GR (((UINT) 31), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1377,14 +1377,14 @@ if (LTSI (GET_H_GR (FLD (f_rs)), 0)) {
SI opval = ADDSI (pc, 8);
SET_H_GR (((UINT) 31), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1415,7 +1415,7 @@ if (EQSI (ANDSI (GET_H_GR (FLD (f_rs)), 255), ANDSI (GET_H_GR (FLD (f_rt)), 255)
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1442,7 +1442,7 @@ if (EQSI (ANDSI (GET_H_GR (FLD (f_rs)), 65280), ANDSI (GET_H_GR (FLD (f_rt)), 65
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1469,7 +1469,7 @@ if (EQSI (ANDSI (GET_H_GR (FLD (f_rs)), 16711680), ANDSI (GET_H_GR (FLD (f_rt)),
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1496,7 +1496,7 @@ if (EQSI (ANDSI (GET_H_GR (FLD (f_rs)), 0xff000000), ANDSI (GET_H_GR (FLD (f_rt)
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1523,7 +1523,7 @@ if (NESI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1550,7 +1550,7 @@ if (NESI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -1579,12 +1579,12 @@ if (1)
{
SI opval = ADDSI (pc, 8);
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = GET_H_GR (FLD (f_rs));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1608,7 +1608,7 @@ if (1)
{
USI opval = GET_H_GR (FLD (f_rs));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1629,7 +1629,7 @@ if (1)
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm))))));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1648,7 +1648,7 @@ if (1)
{
SI opval = ZEXTQISI (GETMEMQI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm))))));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1667,7 +1667,7 @@ if (1)
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm))))));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1686,7 +1686,7 @@ if (1)
{
SI opval = ZEXTHISI (GETMEMHI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm))))));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1705,7 +1705,7 @@ if (1)
{
SI opval = SLLSI (FLD (f_imm), 16);
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1724,7 +1724,7 @@ if (1)
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm)))));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1743,7 +1743,7 @@ if (1)
{
QI opval = ANDQI (GET_H_GR (FLD (f_rt)), 255);
SETMEMQI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm)))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -1762,7 +1762,7 @@ if (1)
{
HI opval = ANDHI (GET_H_GR (FLD (f_rt)), 65535);
SETMEMHI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm)))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -1781,7 +1781,7 @@ if (1)
{
SI opval = GET_H_GR (FLD (f_rt));
SETMEMSI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm)))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -1830,7 +1830,7 @@ do_syscall (current_cpu);
{
SI opval = ANDSI (GET_H_GR (FLD (f_rs)), ORSI (SLLSI (FLD (f_imm), 16), 65535));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1849,7 +1849,7 @@ do_syscall (current_cpu);
{
SI opval = ORSI (GET_H_GR (FLD (f_rs)), SLLSI (FLD (f_imm), 16));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1872,7 +1872,7 @@ if (GTSI (GET_H_GR (FLD (f_rs)), 0)) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1899,7 +1899,7 @@ if (GTSI (GET_H_GR (FLD (f_rs)), 0)) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -1929,7 +1929,7 @@ if (LESI (GET_H_GR (FLD (f_rs)), 0)) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1956,7 +1956,7 @@ if (LESI (GET_H_GR (FLD (f_rs)), 0)) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -2004,7 +2004,7 @@ if (NOTSI (ANDSI (FLD (f_mask), SLLSI (1, 3)))) {
{
SI opval = tmp_temp;
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -3112,12 +3112,12 @@ if (NOTSI (ANDSI (FLD (f_mask), SLLSI (1, 3)))) {
{
SI opval = GETMEMSI (current_cpu, pc, tmp_addr);
SET_H_GR (ADDSI (FLD (f_rt), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (tmp_addr, 4));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -3140,12 +3140,12 @@ if (NOTSI (ANDSI (FLD (f_mask), SLLSI (1, 3)))) {
{
SI opval = GET_H_GR (FLD (f_rt));
SETMEMSI (current_cpu, pc, ADDSI (tmp_addr, 4), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = GET_H_GR (ADDSI (FLD (f_rt), 1));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
@@ -3167,7 +3167,7 @@ if (NOTSI (ANDSI (FLD (f_mask), SLLSI (1, 3)))) {
{
USI opval = FLD (i_jmptarg);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -3191,12 +3191,12 @@ if (NOTSI (ANDSI (FLD (f_mask), SLLSI (1, 3)))) {
{
SI opval = ADDSI (pc, 8);
SET_H_GR (((UINT) 31), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_jmptarg);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -3237,7 +3237,7 @@ if (tmp_branch_) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
diff --git a/sim/iq2000/sem.c b/sim/iq2000/sem.c
index ba069c6a0cb..446d8acfe7e 100644
--- a/sim/iq2000/sem.c
+++ b/sim/iq2000/sem.c
@@ -36,8 +36,8 @@ This file is part of the GNU simulators.
FAST_P, when desired, is defined on the command line, -DFAST_P=1. */
#if FAST_P
#define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_semf_,fn)
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
+#undef CGEN_TRACE_RESULT
+#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
#else
#define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_sem_,fn)
#endif
@@ -210,7 +210,7 @@ SEM_FN_NAME (iq2000bf,add) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -231,7 +231,7 @@ SEM_FN_NAME (iq2000bf,addi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm))));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -252,7 +252,7 @@ SEM_FN_NAME (iq2000bf,addiu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm))));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -273,7 +273,7 @@ SEM_FN_NAME (iq2000bf,addu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -299,7 +299,7 @@ SEM_FN_NAME (iq2000bf,ado16) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (SLLSI (tmp_high, 16), tmp_low);
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -321,7 +321,7 @@ SEM_FN_NAME (iq2000bf,and) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ANDSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -342,7 +342,7 @@ SEM_FN_NAME (iq2000bf,andi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ANDSI (GET_H_GR (FLD (f_rs)), ZEXTSISI (FLD (f_imm)));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -363,7 +363,7 @@ SEM_FN_NAME (iq2000bf,andoi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ANDSI (GET_H_GR (FLD (f_rs)), ORSI (0xffff0000, EXTHISI (TRUNCSIHI (FLD (f_imm)))));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -384,7 +384,7 @@ SEM_FN_NAME (iq2000bf,nor) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = INVSI (ORSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt))));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -405,7 +405,7 @@ SEM_FN_NAME (iq2000bf,or) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -426,7 +426,7 @@ SEM_FN_NAME (iq2000bf,ori) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (GET_H_GR (FLD (f_rs)), ZEXTSISI (FLD (f_imm)));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -448,17 +448,17 @@ SEM_FN_NAME (iq2000bf,ram) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = RORSI (GET_H_GR (FLD (f_rt)), FLD (f_shamt));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = ANDSI (GET_H_GR (FLD (f_rd)), SRLSI (0xffffffff, FLD (f_maskl)));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = ANDSI (GET_H_GR (FLD (f_rd)), SLLSI (0xffffffff, FLD (f_rs)));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -480,7 +480,7 @@ SEM_FN_NAME (iq2000bf,sll) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SLLSI (GET_H_GR (FLD (f_rt)), FLD (f_shamt));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -501,7 +501,7 @@ SEM_FN_NAME (iq2000bf,sllv) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SLLSI (GET_H_GR (FLD (f_rt)), ANDSI (GET_H_GR (FLD (f_rs)), 31));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -522,7 +522,7 @@ SEM_FN_NAME (iq2000bf,slmv) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ANDSI (SLLSI (GET_H_GR (FLD (f_rt)), FLD (f_shamt)), SRLSI (0xffffffff, GET_H_GR (FLD (f_rs))));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -545,14 +545,14 @@ if (LTSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
SI opval = 1;
SET_H_GR (FLD (f_rd), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = 0;
SET_H_GR (FLD (f_rd), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -577,14 +577,14 @@ if (LTSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm))))) {
SI opval = 1;
SET_H_GR (FLD (f_rt), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = 0;
SET_H_GR (FLD (f_rt), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -609,14 +609,14 @@ if (LTUSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm))))) {
SI opval = 1;
SET_H_GR (FLD (f_rt), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = 0;
SET_H_GR (FLD (f_rt), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -641,14 +641,14 @@ if (LTUSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
SI opval = 1;
SET_H_GR (FLD (f_rd), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
} else {
{
SI opval = 0;
SET_H_GR (FLD (f_rd), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -671,7 +671,7 @@ SEM_FN_NAME (iq2000bf,sra) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRASI (GET_H_GR (FLD (f_rt)), FLD (f_shamt));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -692,7 +692,7 @@ SEM_FN_NAME (iq2000bf,srav) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRASI (GET_H_GR (FLD (f_rt)), ANDSI (GET_H_GR (FLD (f_rs)), 31));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -713,7 +713,7 @@ SEM_FN_NAME (iq2000bf,srl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRLSI (GET_H_GR (FLD (f_rt)), FLD (f_shamt));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -734,7 +734,7 @@ SEM_FN_NAME (iq2000bf,srlv) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRLSI (GET_H_GR (FLD (f_rt)), ANDSI (GET_H_GR (FLD (f_rs)), 31));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -755,7 +755,7 @@ SEM_FN_NAME (iq2000bf,srmv) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ANDSI (SRLSI (GET_H_GR (FLD (f_rt)), FLD (f_shamt)), SLLSI (0xffffffff, GET_H_GR (FLD (f_rs))));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -776,7 +776,7 @@ SEM_FN_NAME (iq2000bf,sub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SUBSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -797,7 +797,7 @@ SEM_FN_NAME (iq2000bf,subu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SUBSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -818,7 +818,7 @@ SEM_FN_NAME (iq2000bf,xor) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = XORSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)));
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -839,7 +839,7 @@ SEM_FN_NAME (iq2000bf,xori) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = XORSI (GET_H_GR (FLD (f_rs)), ZEXTSISI (FLD (f_imm)));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -864,7 +864,7 @@ if (ANDSI (GET_H_GR (FLD (f_rs)), SLLSI (1, FLD (f_rt)))) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -893,7 +893,7 @@ if (NOTSI (ANDSI (GET_H_GR (FLD (f_rs)), SLLSI (1, FLD (f_rt))))) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -922,7 +922,7 @@ if (ANDSI (GET_H_GR (FLD (f_rs)), SLLSI (1, ANDSI (GET_H_GR (FLD (f_rt)), 31))))
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -951,7 +951,7 @@ if (NOTSI (ANDSI (GET_H_GR (FLD (f_rs)), SLLSI (1, ANDSI (GET_H_GR (FLD (f_rt)),
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -980,7 +980,7 @@ if (EQSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1009,7 +1009,7 @@ if (EQSI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -1041,7 +1041,7 @@ if (GESI (GET_H_GR (FLD (f_rs)), 0)) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1070,14 +1070,14 @@ if (GESI (GET_H_GR (FLD (f_rs)), 0)) {
SI opval = ADDSI (pc, 8);
SET_H_GR (((UINT) 31), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1107,14 +1107,14 @@ if (GESI (GET_H_GR (FLD (f_rs)), 0)) {
SI opval = ADDSI (pc, 8);
SET_H_GR (((UINT) 31), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1147,7 +1147,7 @@ if (GESI (GET_H_GR (FLD (f_rs)), 0)) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -1179,7 +1179,7 @@ if (LTSI (GET_H_GR (FLD (f_rs)), 0)) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1208,7 +1208,7 @@ if (LTSI (GET_H_GR (FLD (f_rs)), 0)) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -1240,14 +1240,14 @@ if (LTSI (GET_H_GR (FLD (f_rs)), 0)) {
SI opval = ADDSI (pc, 8);
SET_H_GR (((UINT) 31), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1277,14 +1277,14 @@ if (LTSI (GET_H_GR (FLD (f_rs)), 0)) {
SI opval = ADDSI (pc, 8);
SET_H_GR (((UINT) 31), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
{
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1317,7 +1317,7 @@ if (EQSI (ANDSI (GET_H_GR (FLD (f_rs)), 255), ANDSI (GET_H_GR (FLD (f_rt)), 255)
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1346,7 +1346,7 @@ if (EQSI (ANDSI (GET_H_GR (FLD (f_rs)), 65280), ANDSI (GET_H_GR (FLD (f_rt)), 65
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1375,7 +1375,7 @@ if (EQSI (ANDSI (GET_H_GR (FLD (f_rs)), 16711680), ANDSI (GET_H_GR (FLD (f_rt)),
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1404,7 +1404,7 @@ if (EQSI (ANDSI (GET_H_GR (FLD (f_rs)), 0xff000000), ANDSI (GET_H_GR (FLD (f_rt)
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1433,7 +1433,7 @@ if (NESI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1462,7 +1462,7 @@ if (NESI (GET_H_GR (FLD (f_rs)), GET_H_GR (FLD (f_rt)))) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -1493,12 +1493,12 @@ SEM_FN_NAME (iq2000bf,jalr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (pc, 8);
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = GET_H_GR (FLD (f_rs));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1524,7 +1524,7 @@ SEM_FN_NAME (iq2000bf,jr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
USI opval = GET_H_GR (FLD (f_rs));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1547,7 +1547,7 @@ SEM_FN_NAME (iq2000bf,lb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm))))));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1568,7 +1568,7 @@ SEM_FN_NAME (iq2000bf,lbu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ZEXTQISI (GETMEMQI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm))))));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1589,7 +1589,7 @@ SEM_FN_NAME (iq2000bf,lh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm))))));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1610,7 +1610,7 @@ SEM_FN_NAME (iq2000bf,lhu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ZEXTHISI (GETMEMHI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm))))));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1631,7 +1631,7 @@ SEM_FN_NAME (iq2000bf,lui) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SLLSI (FLD (f_imm), 16);
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1652,7 +1652,7 @@ SEM_FN_NAME (iq2000bf,lw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm)))));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1673,7 +1673,7 @@ SEM_FN_NAME (iq2000bf,sb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
QI opval = ANDQI (GET_H_GR (FLD (f_rt)), 255);
SETMEMQI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm)))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -1694,7 +1694,7 @@ SEM_FN_NAME (iq2000bf,sh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
HI opval = ANDHI (GET_H_GR (FLD (f_rt)), 65535);
SETMEMHI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm)))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -1715,7 +1715,7 @@ SEM_FN_NAME (iq2000bf,sw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GET_H_GR (FLD (f_rt));
SETMEMSI (current_cpu, pc, ADDSI (GET_H_GR (FLD (f_rs)), EXTHISI (TRUNCSIHI (FLD (f_imm)))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -1770,7 +1770,7 @@ SEM_FN_NAME (iq2000bf,andoui) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ANDSI (GET_H_GR (FLD (f_rs)), ORSI (SLLSI (FLD (f_imm), 16), 65535));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1791,7 +1791,7 @@ SEM_FN_NAME (iq2000bf,orui) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (GET_H_GR (FLD (f_rs)), SLLSI (FLD (f_imm), 16));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1816,7 +1816,7 @@ if (GTSI (GET_H_GR (FLD (f_rs)), 0)) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1845,7 +1845,7 @@ if (GTSI (GET_H_GR (FLD (f_rs)), 0)) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -1877,7 +1877,7 @@ if (LESI (GET_H_GR (FLD (f_rs)), 0)) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1906,7 +1906,7 @@ if (LESI (GET_H_GR (FLD (f_rs)), 0)) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
} else {
@@ -1956,7 +1956,7 @@ if (NOTSI (ANDSI (FLD (f_mask), SLLSI (1, 3)))) {
{
SI opval = tmp_temp;
SET_H_GR (FLD (f_rd), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -3208,12 +3208,12 @@ SEM_FN_NAME (iq2000bf,ldw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GETMEMSI (current_cpu, pc, tmp_addr);
SET_H_GR (ADDSI (FLD (f_rt), 1), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (tmp_addr, 4));
SET_H_GR (FLD (f_rt), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -3238,12 +3238,12 @@ SEM_FN_NAME (iq2000bf,sdw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GET_H_GR (FLD (f_rt));
SETMEMSI (current_cpu, pc, ADDSI (tmp_addr, 4), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = GET_H_GR (ADDSI (FLD (f_rt), 1));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
@@ -3267,7 +3267,7 @@ SEM_FN_NAME (iq2000bf,j) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
USI opval = FLD (i_jmptarg);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -3293,12 +3293,12 @@ SEM_FN_NAME (iq2000bf,jal) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (pc, 8);
SET_H_GR (((UINT) 31), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_jmptarg);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -3341,7 +3341,7 @@ if (tmp_branch_) {
USI opval = FLD (i_offset);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
diff --git a/sim/lm32/ChangeLog b/sim/lm32/ChangeLog
index 4cb55c555b8..edc530afd22 100644
--- a/sim/lm32/ChangeLog
+++ b/sim/lm32/ChangeLog
@@ -1,3 +1,35 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-17 Mike Frysinger <vapier@gentoo.org>
+
+ * traps.c (lm32bf_scall_insn): Replace call to cb_syscall with
+ sim_syscall_multi.
+
+2015-06-17 Mike Frysinger <vapier@gentoo.org>
+
+ * traps.c: Include sim-syscall.h.
+ (syscall_read_mem, syscall_write_mem): Delete.
+ (lm32bf_scall_insn): Change syscall_read_mem/syscall_write_mem
+ to sim_syscall_read_mem/sim_syscall_write_mem.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * decode.c (lm32bf_decode): Change TRACE_EXTRACT to CGEN_TRACE_EXTRACT.
+ * mloop.in (execute): Change TRACE_INSN_INIT to CGEN_TRACE_INSN_INIT,
+ TRACE_INSN to CGEN_TRACE_INSN, and TRACE_INSN_FINI to CGEN_TRACE_INSN_FINI.
+ * sem.c: Rename TRACE_RESULT to CGEN_TRACE_RESULT.
+ * sem-switch.c: Likewise.
+
2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-main.h (SIM_ENGINE_HALT_HOOK, SIM_ENGINE_RESTART_HOOK): Delete.
diff --git a/sim/lm32/configure b/sim/lm32/configure
index 3fa679c88cc..e5643be2ed2 100755
--- a/sim/lm32/configure
+++ b/sim/lm32/configure
@@ -1408,19 +1408,31 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
- --enable-sim-scache=size Specify simulator execution cache size.
- --enable-sim-default-model=model Specify default model to simulate.
- --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.
- --enable-cgen-maint=DIR build cgen generated files
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
+ --enable-sim-scache=size
+ Specify simulator execution cache size
+ --enable-sim-default-model=model
+ Specify default model to simulate
+ --enable-sim-environment=environment
+ Specify mixed, user, virtual or operating
+ environment
+ --enable-cgen-maint=DIR build cgen generated files
--enable-sim-hardware=LIST
Specify the hardware to be included in the build.
@@ -2229,7 +2241,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12308,7 +12320,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12311 "configure"
+#line 12323 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12414,7 +12426,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12417 "configure"
+#line 12429 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12750,10 +12762,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/lm32/decode.c b/sim/lm32/decode.c
index 0900dcafbc7..097ead31134 100644
--- a/sim/lm32/decode.c
+++ b/sim/lm32/decode.c
@@ -352,7 +352,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
#undef FLD
return idesc;
@@ -375,7 +375,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r0) = f_r0;
FLD (f_r1) = f_r1;
FLD (f_r2) = f_r2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, (char *) 0));
#undef FLD
return idesc;
@@ -398,7 +398,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm) = f_imm;
FLD (f_r0) = f_r0;
FLD (f_r1) = f_r1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_imm 0x%x", 'x', f_imm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_imm 0x%x", 'x', f_imm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0));
#undef FLD
return idesc;
@@ -421,7 +421,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r0) = f_r0;
FLD (f_uimm) = f_uimm;
FLD (f_r1) = f_r1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andi", "f_r0 0x%x", 'x', f_r0, "f_uimm 0x%x", 'x', f_uimm, "f_r1 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andi", "f_r0 0x%x", 'x', f_r0, "f_uimm 0x%x", 'x', f_uimm, "f_r1 0x%x", 'x', f_r1, (char *) 0));
#undef FLD
return idesc;
@@ -444,7 +444,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_uimm) = f_uimm;
FLD (f_r0) = f_r0;
FLD (f_r1) = f_r1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andhii", "f_uimm 0x%x", 'x', f_uimm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andhii", "f_uimm 0x%x", 'x', f_uimm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0));
#undef FLD
return idesc;
@@ -461,7 +461,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_r0) = f_r0;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_b", "f_r0 0x%x", 'x', f_r0, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_b", "f_r0 0x%x", 'x', f_r0, (char *) 0));
#undef FLD
return idesc;
@@ -478,7 +478,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_call) = f_call;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bi", "call 0x%x", 'x', f_call, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bi", "call 0x%x", 'x', f_call, (char *) 0));
#undef FLD
return idesc;
@@ -501,7 +501,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r0) = f_r0;
FLD (f_r1) = f_r1;
FLD (i_branch) = f_branch;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_be", "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, "branch 0x%x", 'x', f_branch, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_be", "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, "branch 0x%x", 'x', f_branch, (char *) 0));
#undef FLD
return idesc;
@@ -518,7 +518,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_r0) = f_r0;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_call", "f_r0 0x%x", 'x', f_r0, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_call", "f_r0 0x%x", 'x', f_r0, (char *) 0));
#undef FLD
return idesc;
@@ -535,7 +535,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_call) = f_call;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_calli", "call 0x%x", 'x', f_call, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_calli", "call 0x%x", 'x', f_call, (char *) 0));
#undef FLD
return idesc;
@@ -558,7 +558,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r0) = f_r0;
FLD (f_r1) = f_r1;
FLD (f_r2) = f_r2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_divu", "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_divu", "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, (char *) 0));
#undef FLD
return idesc;
@@ -581,7 +581,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm) = f_imm;
FLD (f_r0) = f_r0;
FLD (f_r1) = f_r1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lb", "f_imm 0x%x", 'x', f_imm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lb", "f_imm 0x%x", 'x', f_imm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0));
#undef FLD
return idesc;
@@ -604,7 +604,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm) = f_imm;
FLD (f_r0) = f_r0;
FLD (f_r1) = f_r1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lh", "f_imm 0x%x", 'x', f_imm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lh", "f_imm 0x%x", 'x', f_imm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0));
#undef FLD
return idesc;
@@ -627,7 +627,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm) = f_imm;
FLD (f_r0) = f_r0;
FLD (f_r1) = f_r1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lw", "f_imm 0x%x", 'x', f_imm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lw", "f_imm 0x%x", 'x', f_imm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0));
#undef FLD
return idesc;
@@ -650,7 +650,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_uimm) = f_uimm;
FLD (f_r0) = f_r0;
FLD (f_r1) = f_r1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ori", "f_uimm 0x%x", 'x', f_uimm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ori", "f_uimm 0x%x", 'x', f_uimm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0));
#undef FLD
return idesc;
@@ -670,7 +670,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_csr) = f_csr;
FLD (f_r2) = f_r2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rcsr", "f_csr 0x%x", 'x', f_csr, "f_r2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rcsr", "f_csr 0x%x", 'x', f_csr, "f_r2 0x%x", 'x', f_r2, (char *) 0));
#undef FLD
return idesc;
@@ -693,7 +693,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm) = f_imm;
FLD (f_r0) = f_r0;
FLD (f_r1) = f_r1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sb", "f_imm 0x%x", 'x', f_imm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sb", "f_imm 0x%x", 'x', f_imm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0));
#undef FLD
return idesc;
@@ -713,7 +713,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_r0) = f_r0;
FLD (f_r2) = f_r2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sextb", "f_r0 0x%x", 'x', f_r0, "f_r2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sextb", "f_r0 0x%x", 'x', f_r0, "f_r2 0x%x", 'x', f_r2, (char *) 0));
#undef FLD
return idesc;
@@ -736,7 +736,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm) = f_imm;
FLD (f_r0) = f_r0;
FLD (f_r1) = f_r1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sh", "f_imm 0x%x", 'x', f_imm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sh", "f_imm 0x%x", 'x', f_imm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0));
#undef FLD
return idesc;
@@ -759,7 +759,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm) = f_imm;
FLD (f_r0) = f_r0;
FLD (f_r1) = f_r1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sw", "f_imm 0x%x", 'x', f_imm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sw", "f_imm 0x%x", 'x', f_imm, "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, (char *) 0));
#undef FLD
return idesc;
@@ -785,7 +785,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (f_user) = f_user;
FLD (f_r2) = f_r2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_user", "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, "f_user 0x%x", 'x', f_user, "f_r2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_user", "f_r0 0x%x", 'x', f_r0, "f_r1 0x%x", 'x', f_r1, "f_user 0x%x", 'x', f_user, "f_r2 0x%x", 'x', f_r2, (char *) 0));
#undef FLD
return idesc;
@@ -805,7 +805,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_csr) = f_csr;
FLD (f_r1) = f_r1;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_wcsr", "f_csr 0x%x", 'x', f_csr, "f_r1 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_wcsr", "f_csr 0x%x", 'x', f_csr, "f_r1 0x%x", 'x', f_r1, (char *) 0));
#undef FLD
return idesc;
@@ -818,7 +818,7 @@ lm32bf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_break", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_break", (char *) 0));
#undef FLD
return idesc;
diff --git a/sim/lm32/mloop.in b/sim/lm32/mloop.in
index 54f433c1f5f..a8db7f51768 100644
--- a/sim/lm32/mloop.in
+++ b/sim/lm32/mloop.in
@@ -86,8 +86,8 @@ execute (SIM_CPU *current_cpu, SCACHE *sc, int fast_p)
if (PROFILE_MODEL_P (current_cpu)
&& ARGBUF_PROFILE_P (abuf))
@cpu@_model_insn_before (current_cpu, 1 /*first_p*/);
- TRACE_INSN_INIT (current_cpu, abuf, 1);
- TRACE_INSN (current_cpu, idata,
+ CGEN_TRACE_INSN_INIT (current_cpu, abuf, 1);
+ CGEN_TRACE_INSN (current_cpu, idata,
(const struct argbuf *) abuf, abuf->addr);
}
#if WITH_SCACHE
@@ -106,7 +106,7 @@ execute (SIM_CPU *current_cpu, SCACHE *sc, int fast_p)
cycles = (*idesc->timing->model_fn) (current_cpu, sc);
@cpu@_model_insn_after (current_cpu, 1 /*last_p*/, cycles);
}
- TRACE_INSN_FINI (current_cpu, abuf, 1);
+ CGEN_TRACE_INSN_FINI (current_cpu, abuf, 1);
}
#else
abort ();
diff --git a/sim/lm32/sem-switch.c b/sim/lm32/sem-switch.c
index 7b658dfe762..e1eace804b2 100644
--- a/sim/lm32/sem-switch.c
+++ b/sim/lm32/sem-switch.c
@@ -119,13 +119,13 @@ This file is part of the GNU simulators.
/* If hyper-fast [well not unnecessarily slow] execution is selected, turn
off frills like tracing and profiling. */
-/* FIXME: A better way would be to have TRACE_RESULT check for something
+/* FIXME: A better way would be to have CGEN_TRACE_RESULT check for something
that can cause it to be optimized out. Another way would be to emit
special handlers into the instruction "stream". */
#if FAST_P
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
+#undef CGEN_TRACE_RESULT
+#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
#endif
#undef GET_ATTR
@@ -310,7 +310,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -329,7 +329,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -348,7 +348,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ANDSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -367,7 +367,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ANDSI (CPU (h_gr[FLD (f_r0)]), ZEXTSISI (FLD (f_uimm)));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -386,7 +386,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ANDSI (CPU (h_gr[FLD (f_r0)]), SLLSI (FLD (f_uimm), 16));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -406,7 +406,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
USI opval = lm32bf_b_insn (current_cpu, CPU (h_gr[FLD (f_r0)]), FLD (f_r0));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -427,7 +427,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
USI opval = EXTSISI (FLD (i_call));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -450,7 +450,7 @@ if (EQSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
USI opval = FLD (i_branch);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -475,7 +475,7 @@ if (GTSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
USI opval = FLD (i_branch);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -500,7 +500,7 @@ if (GESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
USI opval = FLD (i_branch);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -525,7 +525,7 @@ if (GEUSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
USI opval = FLD (i_branch);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -550,7 +550,7 @@ if (GTUSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
USI opval = FLD (i_branch);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -575,7 +575,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
USI opval = FLD (i_branch);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -599,12 +599,12 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = ADDSI (pc, 4);
CPU (h_gr[((UINT) 29)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = CPU (h_gr[FLD (f_r0)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -627,12 +627,12 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = ADDSI (pc, 4);
CPU (h_gr[((UINT) 29)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = EXTSISI (FLD (i_call));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -653,7 +653,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = EQSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -672,7 +672,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = EQSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -691,7 +691,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = GTSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -710,7 +710,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = GTSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -729,7 +729,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = GESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -748,7 +748,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = GESI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -767,7 +767,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = GEUSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -786,7 +786,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = GEUSI (CPU (h_gr[FLD (f_r0)]), ZEXTSISI (FLD (f_uimm)));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -805,7 +805,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = GTUSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -824,7 +824,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = GTUSI (CPU (h_gr[FLD (f_r0)]), ZEXTSISI (FLD (f_uimm)));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -843,7 +843,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -862,7 +862,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = NESI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -882,7 +882,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
USI opval = lm32bf_divu_insn (current_cpu, pc, FLD (f_r0), FLD (f_r1), FLD (f_r2));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -902,7 +902,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -921,7 +921,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = ZEXTQISI (GETMEMQI (current_cpu, pc, ADDSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -940,7 +940,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -959,7 +959,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = ZEXTHISI (GETMEMHI (current_cpu, pc, ADDSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -978,7 +978,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm)))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -998,7 +998,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
USI opval = lm32bf_modu_insn (current_cpu, pc, FLD (f_r0), FLD (f_r1), FLD (f_r2));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -1018,7 +1018,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = MULSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1037,7 +1037,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = MULSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1056,7 +1056,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = INVSI (ORSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)])));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1075,7 +1075,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = INVSI (ORSI (CPU (h_gr[FLD (f_r0)]), ZEXTSISI (FLD (f_uimm))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1094,7 +1094,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = ORSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1113,7 +1113,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = ORSI (CPU (h_gr[FLD (f_r0)]), ZEXTSISI (FLD (f_uimm)));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1132,7 +1132,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = ORSI (CPU (h_gr[FLD (f_r0)]), SLLSI (FLD (f_uimm), 16));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1151,7 +1151,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = CPU (h_csr[FLD (f_csr)]);
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1170,7 +1170,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
QI opval = CPU (h_gr[FLD (f_r1)]);
SETMEMQI (current_cpu, pc, ADDSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm)))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -1189,7 +1189,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = EXTQISI (TRUNCSIQI (CPU (h_gr[FLD (f_r0)])));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1208,7 +1208,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = EXTHISI (TRUNCSIHI (CPU (h_gr[FLD (f_r0)])));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1227,7 +1227,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
HI opval = CPU (h_gr[FLD (f_r1)]);
SETMEMHI (current_cpu, pc, ADDSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm)))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -1246,7 +1246,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = SLLSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1265,7 +1265,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = SLLSI (CPU (h_gr[FLD (f_r0)]), FLD (f_imm));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1284,7 +1284,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = SRASI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1303,7 +1303,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = SRASI (CPU (h_gr[FLD (f_r0)]), FLD (f_imm));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1322,7 +1322,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = SRLSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1341,7 +1341,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = SRLSI (CPU (h_gr[FLD (f_r0)]), FLD (f_imm));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1360,7 +1360,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = SUBSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1379,7 +1379,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = CPU (h_gr[FLD (f_r1)]);
SETMEMSI (current_cpu, pc, ADDSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm)))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -1398,7 +1398,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
{
SI opval = lm32bf_user_insn (current_cpu, CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]), FLD (f_user));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1432,7 +1432,7 @@ lm32bf_wcsr_insn (current_cpu, FLD (f_csr), CPU (h_gr[FLD (f_r1)]));
{
SI opval = XORSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1451,7 +1451,7 @@ lm32bf_wcsr_insn (current_cpu, FLD (f_csr), CPU (h_gr[FLD (f_r1)]));
{
SI opval = XORSI (CPU (h_gr[FLD (f_r0)]), ZEXTSISI (FLD (f_uimm)));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1470,7 +1470,7 @@ lm32bf_wcsr_insn (current_cpu, FLD (f_csr), CPU (h_gr[FLD (f_r1)]));
{
SI opval = INVSI (XORSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)])));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1489,7 +1489,7 @@ lm32bf_wcsr_insn (current_cpu, FLD (f_csr), CPU (h_gr[FLD (f_r1)]));
{
SI opval = INVSI (XORSI (CPU (h_gr[FLD (f_r0)]), ZEXTSISI (FLD (f_uimm))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1509,7 +1509,7 @@ lm32bf_wcsr_insn (current_cpu, FLD (f_csr), CPU (h_gr[FLD (f_r1)]));
{
USI opval = lm32bf_break_insn (current_cpu, pc);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -1530,7 +1530,7 @@ lm32bf_wcsr_insn (current_cpu, FLD (f_csr), CPU (h_gr[FLD (f_r1)]));
{
USI opval = lm32bf_scall_insn (current_cpu, pc);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
diff --git a/sim/lm32/sem.c b/sim/lm32/sem.c
index d3505211226..451f9d3b0a4 100644
--- a/sim/lm32/sem.c
+++ b/sim/lm32/sem.c
@@ -36,8 +36,8 @@ This file is part of the GNU simulators.
FAST_P, when desired, is defined on the command line, -DFAST_P=1. */
#if FAST_P
#define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_semf_,fn)
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
+#undef CGEN_TRACE_RESULT
+#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
#else
#define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_sem_,fn)
#endif
@@ -210,7 +210,7 @@ SEM_FN_NAME (lm32bf,add) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -231,7 +231,7 @@ SEM_FN_NAME (lm32bf,addi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -252,7 +252,7 @@ SEM_FN_NAME (lm32bf,and) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ANDSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -273,7 +273,7 @@ SEM_FN_NAME (lm32bf,andi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ANDSI (CPU (h_gr[FLD (f_r0)]), ZEXTSISI (FLD (f_uimm)));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -294,7 +294,7 @@ SEM_FN_NAME (lm32bf,andhii) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ANDSI (CPU (h_gr[FLD (f_r0)]), SLLSI (FLD (f_uimm), 16));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -316,7 +316,7 @@ SEM_FN_NAME (lm32bf,b) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
USI opval = lm32bf_b_insn (current_cpu, CPU (h_gr[FLD (f_r0)]), FLD (f_r0));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -339,7 +339,7 @@ SEM_FN_NAME (lm32bf,bi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
USI opval = EXTSISI (FLD (i_call));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -364,7 +364,7 @@ if (EQSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
USI opval = FLD (i_branch);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -391,7 +391,7 @@ if (GTSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
USI opval = FLD (i_branch);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -418,7 +418,7 @@ if (GESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
USI opval = FLD (i_branch);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -445,7 +445,7 @@ if (GEUSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
USI opval = FLD (i_branch);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -472,7 +472,7 @@ if (GTUSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
USI opval = FLD (i_branch);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -499,7 +499,7 @@ if (NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]))) {
USI opval = FLD (i_branch);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -525,12 +525,12 @@ SEM_FN_NAME (lm32bf,call) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (pc, 4);
CPU (h_gr[((UINT) 29)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = CPU (h_gr[FLD (f_r0)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -555,12 +555,12 @@ SEM_FN_NAME (lm32bf,calli) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (pc, 4);
CPU (h_gr[((UINT) 29)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = EXTSISI (FLD (i_call));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -583,7 +583,7 @@ SEM_FN_NAME (lm32bf,cmpe) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EQSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -604,7 +604,7 @@ SEM_FN_NAME (lm32bf,cmpei) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EQSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -625,7 +625,7 @@ SEM_FN_NAME (lm32bf,cmpg) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GTSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -646,7 +646,7 @@ SEM_FN_NAME (lm32bf,cmpgi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GTSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -667,7 +667,7 @@ SEM_FN_NAME (lm32bf,cmpge) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -688,7 +688,7 @@ SEM_FN_NAME (lm32bf,cmpgei) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GESI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -709,7 +709,7 @@ SEM_FN_NAME (lm32bf,cmpgeu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GEUSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -730,7 +730,7 @@ SEM_FN_NAME (lm32bf,cmpgeui) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GEUSI (CPU (h_gr[FLD (f_r0)]), ZEXTSISI (FLD (f_uimm)));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -751,7 +751,7 @@ SEM_FN_NAME (lm32bf,cmpgu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GTUSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -772,7 +772,7 @@ SEM_FN_NAME (lm32bf,cmpgui) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GTUSI (CPU (h_gr[FLD (f_r0)]), ZEXTSISI (FLD (f_uimm)));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -793,7 +793,7 @@ SEM_FN_NAME (lm32bf,cmpne) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = NESI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -814,7 +814,7 @@ SEM_FN_NAME (lm32bf,cmpnei) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = NESI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -836,7 +836,7 @@ SEM_FN_NAME (lm32bf,divu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
USI opval = lm32bf_divu_insn (current_cpu, pc, FLD (f_r0), FLD (f_r1), FLD (f_r2));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -858,7 +858,7 @@ SEM_FN_NAME (lm32bf,lb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -879,7 +879,7 @@ SEM_FN_NAME (lm32bf,lbu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ZEXTQISI (GETMEMQI (current_cpu, pc, ADDSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -900,7 +900,7 @@ SEM_FN_NAME (lm32bf,lh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -921,7 +921,7 @@ SEM_FN_NAME (lm32bf,lhu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ZEXTHISI (GETMEMHI (current_cpu, pc, ADDSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -942,7 +942,7 @@ SEM_FN_NAME (lm32bf,lw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm)))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -964,7 +964,7 @@ SEM_FN_NAME (lm32bf,modu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
USI opval = lm32bf_modu_insn (current_cpu, pc, FLD (f_r0), FLD (f_r1), FLD (f_r2));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -986,7 +986,7 @@ SEM_FN_NAME (lm32bf,mul) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = MULSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1007,7 +1007,7 @@ SEM_FN_NAME (lm32bf,muli) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = MULSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1028,7 +1028,7 @@ SEM_FN_NAME (lm32bf,nor) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = INVSI (ORSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)])));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1049,7 +1049,7 @@ SEM_FN_NAME (lm32bf,nori) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = INVSI (ORSI (CPU (h_gr[FLD (f_r0)]), ZEXTSISI (FLD (f_uimm))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1070,7 +1070,7 @@ SEM_FN_NAME (lm32bf,or) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1091,7 +1091,7 @@ SEM_FN_NAME (lm32bf,ori) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (CPU (h_gr[FLD (f_r0)]), ZEXTSISI (FLD (f_uimm)));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1112,7 +1112,7 @@ SEM_FN_NAME (lm32bf,orhii) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (CPU (h_gr[FLD (f_r0)]), SLLSI (FLD (f_uimm), 16));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1133,7 +1133,7 @@ SEM_FN_NAME (lm32bf,rcsr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = CPU (h_csr[FLD (f_csr)]);
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1154,7 +1154,7 @@ SEM_FN_NAME (lm32bf,sb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
QI opval = CPU (h_gr[FLD (f_r1)]);
SETMEMQI (current_cpu, pc, ADDSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm)))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -1175,7 +1175,7 @@ SEM_FN_NAME (lm32bf,sextb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTQISI (TRUNCSIQI (CPU (h_gr[FLD (f_r0)])));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1196,7 +1196,7 @@ SEM_FN_NAME (lm32bf,sexth) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTHISI (TRUNCSIHI (CPU (h_gr[FLD (f_r0)])));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1217,7 +1217,7 @@ SEM_FN_NAME (lm32bf,sh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
HI opval = CPU (h_gr[FLD (f_r1)]);
SETMEMHI (current_cpu, pc, ADDSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm)))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -1238,7 +1238,7 @@ SEM_FN_NAME (lm32bf,sl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SLLSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1259,7 +1259,7 @@ SEM_FN_NAME (lm32bf,sli) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SLLSI (CPU (h_gr[FLD (f_r0)]), FLD (f_imm));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1280,7 +1280,7 @@ SEM_FN_NAME (lm32bf,sr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRASI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1301,7 +1301,7 @@ SEM_FN_NAME (lm32bf,sri) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRASI (CPU (h_gr[FLD (f_r0)]), FLD (f_imm));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1322,7 +1322,7 @@ SEM_FN_NAME (lm32bf,sru) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRLSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1343,7 +1343,7 @@ SEM_FN_NAME (lm32bf,srui) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRLSI (CPU (h_gr[FLD (f_r0)]), FLD (f_imm));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1364,7 +1364,7 @@ SEM_FN_NAME (lm32bf,sub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SUBSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1385,7 +1385,7 @@ SEM_FN_NAME (lm32bf,sw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = CPU (h_gr[FLD (f_r1)]);
SETMEMSI (current_cpu, pc, ADDSI (CPU (h_gr[FLD (f_r0)]), EXTHISI (TRUNCSIHI (FLD (f_imm)))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -1406,7 +1406,7 @@ SEM_FN_NAME (lm32bf,user) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = lm32bf_user_insn (current_cpu, CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]), FLD (f_user));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1444,7 +1444,7 @@ SEM_FN_NAME (lm32bf,xor) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = XORSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)]));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1465,7 +1465,7 @@ SEM_FN_NAME (lm32bf,xori) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = XORSI (CPU (h_gr[FLD (f_r0)]), ZEXTSISI (FLD (f_uimm)));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1486,7 +1486,7 @@ SEM_FN_NAME (lm32bf,xnor) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = INVSI (XORSI (CPU (h_gr[FLD (f_r0)]), CPU (h_gr[FLD (f_r1)])));
CPU (h_gr[FLD (f_r2)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1507,7 +1507,7 @@ SEM_FN_NAME (lm32bf,xnori) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = INVSI (XORSI (CPU (h_gr[FLD (f_r0)]), ZEXTSISI (FLD (f_uimm))));
CPU (h_gr[FLD (f_r1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1529,7 +1529,7 @@ SEM_FN_NAME (lm32bf,break) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
USI opval = lm32bf_break_insn (current_cpu, pc);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -1552,7 +1552,7 @@ SEM_FN_NAME (lm32bf,scall) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
USI opval = lm32bf_scall_insn (current_cpu, pc);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
diff --git a/sim/lm32/traps.c b/sim/lm32/traps.c
index 777e7b582f5..9de09106b03 100644
--- a/sim/lm32/traps.c
+++ b/sim/lm32/traps.c
@@ -22,33 +22,10 @@
#define WANT_CPU_LM32BF
#include "sim-main.h"
+#include "sim-syscall.h"
#include "lm32-sim.h"
#include "targ-vals.h"
-/* Read memory function for system call interface. */
-
-static int
-syscall_read_mem (host_callback * cb, struct cb_syscall *sc,
- unsigned long taddr, char *buf, int bytes)
-{
- SIM_DESC sd = (SIM_DESC) sc->p1;
- SIM_CPU *cpu = (SIM_CPU *) sc->p2;
-
- return sim_core_read_buffer (sd, cpu, read_map, buf, taddr, bytes);
-}
-
-/* Write memory function for system call interface. */
-
-static int
-syscall_write_mem (host_callback * cb, struct cb_syscall *sc,
- unsigned long taddr, const char *buf, int bytes)
-{
- SIM_DESC sd = (SIM_DESC) sc->p1;
- SIM_CPU *cpu = (SIM_CPU *) sc->p2;
-
- return sim_core_write_buffer (sd, cpu, write_map, buf, taddr, bytes);
-}
-
/* Handle invalid instructions. */
SEM_PC
@@ -155,26 +132,18 @@ lm32bf_scall_insn (SIM_CPU * current_cpu, IADDR pc)
|| (GET_H_GR (8) == TARGET_SYS_exit))
{
/* Delegate system call to host O/S. */
- CB_SYSCALL s;
- CB_SYSCALL_INIT (&s);
- s.p1 = (PTR) sd;
- s.p2 = (PTR) current_cpu;
- s.read_mem = syscall_read_mem;
- s.write_mem = syscall_write_mem;
- /* Extract parameters. */
- s.func = GET_H_GR (8);
- s.arg1 = GET_H_GR (1);
- s.arg2 = GET_H_GR (2);
- s.arg3 = GET_H_GR (3);
- /* Halt the simulator if the requested system call is _exit. */
- if (s.func == TARGET_SYS_exit)
- sim_engine_halt (sd, current_cpu, NULL, pc, sim_exited, s.arg1);
+ long result, result2;
+ int errcode;
+
/* Perform the system call. */
- cb_syscall (cb, &s);
+ sim_syscall_multi (current_cpu, GET_H_GR (8), GET_H_GR (1), GET_H_GR (2),
+ GET_H_GR (3), GET_H_GR (4), &result, &result2,
+ &errcode);
/* Store the return value in the CPU's registers. */
- SET_H_GR (1, s.result);
- SET_H_GR (2, s.result2);
- SET_H_GR (3, s.errcode);
+ SET_H_GR (1, result);
+ SET_H_GR (2, result2);
+ SET_H_GR (3, errcode);
+
/* Skip over scall instruction. */
return pc + 4;
}
diff --git a/sim/m32c/ChangeLog b/sim/m32c/ChangeLog
index de47b6df220..e782138fdc0 100644
--- a/sim/m32c/ChangeLog
+++ b/sim/m32c/ChangeLog
@@ -1,3 +1,15 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
2015-04-13 Mike Frysinger <vapier@gentoo.org>
* configure: Regenerate.
diff --git a/sim/m32c/configure b/sim/m32c/configure
index 1a1515f14c4..f51664b4102 100755
--- a/sim/m32c/configure
+++ b/sim/m32c/configure
@@ -1400,12 +1400,16 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings if gcc is used
--enable-sim-build-warnings
@@ -2217,7 +2221,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12296,7 +12300,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12299 "configure"
+#line 12303 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12402,7 +12406,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12405 "configure"
+#line 12409 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12738,10 +12742,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/m32r/ChangeLog b/sim/m32r/ChangeLog
index c85b181af72..347ddc029ea 100644
--- a/sim/m32r/ChangeLog
+++ b/sim/m32r/ChangeLog
@@ -1,3 +1,44 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-17 Mike Frysinger <vapier@gentoo.org>
+
+ * traps.c (m32r_trap): Replace call to cb_syscall with
+ sim_syscall_multi.
+ * traps-linux.c (m32r_trap): Likewise.
+
+2015-06-17 Mike Frysinger <vapier@gentoo.org>
+
+ * traps-linux.c: Include sim-syscall.h.
+ (syscall_read_mem, syscall_write_mem): Delete.
+ (m32r_trap): Change syscall_read_mem/syscall_write_mem
+ to sim_syscall_read_mem/sim_syscall_write_mem.
+ * traps.c: Include sim-syscall.h.
+ (syscall_read_mem, syscall_write_mem): Delete.
+ (m32r_trap): Change syscall_read_mem/syscall_write_mem
+ to sim_syscall_read_mem/sim_syscall_write_mem.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * decode.c (m32rbf_decode): Change TRACE_EXTRACT to CGEN_TRACE_EXTRACT.
+ * decode2.c (m32r2f_decode): Likewise.
+ * decodex.c (m32rxf_decode): Likewise.
+ * mloop.in (execute): Change TRACE_INSN_INIT to CGEN_TRACE_INSN_INIT,
+ TRACE_INSN to CGEN_TRACE_INSN, and TRACE_INSN_FINI to CGEN_TRACE_INSN_FINI.
+ * sem.c: Rename TRACE_RESULT to CGEN_TRACE_RESULT.
+ * sem-switch.c: Likewise.
+ * sem-switch2.c: Likewise.
+ * sem-switchx.c: Likewise.
+
2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-main.h (SIM_ENGINE_HALT_HOOK, SIM_ENGINE_RESTART_HOOK): Delete.
diff --git a/sim/m32r/configure b/sim/m32r/configure
index 2145d6a7dbd..00d3316879c 100755
--- a/sim/m32r/configure
+++ b/sim/m32r/configure
@@ -1411,20 +1411,33 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
- --enable-sim-scache=size Specify simulator execution cache size.
- --enable-sim-default-model=model Specify default model to simulate.
- --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.
- --enable-sim-inline=inlines Specify which functions should be inlined.
- --enable-cgen-maint=DIR build cgen generated files
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
+ --enable-sim-scache=size
+ Specify simulator execution cache size
+ --enable-sim-default-model=model
+ Specify default model to simulate
+ --enable-sim-environment=environment
+ Specify mixed, user, virtual or operating
+ environment
+ --enable-sim-inline=inlines
+ Specify which functions should be inlined
+ --enable-cgen-maint=DIR build cgen generated files
--enable-sim-hardware=LIST
Specify the hardware to be included in the build.
@@ -2233,7 +2246,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12312,7 +12325,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12315 "configure"
+#line 12328 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12418,7 +12431,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12421 "configure"
+#line 12434 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12754,10 +12767,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/m32r/decode.c b/sim/m32r/decode.c
index 1274dec53b9..3713e5d2abd 100644
--- a/sim/m32r/decode.c
+++ b/sim/m32r/decode.c
@@ -577,7 +577,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
#undef FLD
return idesc;
@@ -599,7 +599,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_dr) = & CPU (h_gr)[f_r1];
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -633,7 +633,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add3", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add3", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -666,7 +666,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and3", "f_r2 0x%x", 'x', f_r2, "f_uimm16 0x%x", 'x', f_uimm16, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and3", "f_r2 0x%x", 'x', f_r2, "f_uimm16 0x%x", 'x', f_uimm16, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -699,7 +699,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_or3", "f_r2 0x%x", 'x', f_r2, "f_uimm16 0x%x", 'x', f_uimm16, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_or3", "f_r2 0x%x", 'x', f_r2, "f_uimm16 0x%x", 'x', f_uimm16, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -728,7 +728,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (f_simm8) = f_simm8;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_r1 0x%x", 'x', f_r1, "f_simm8 0x%x", 'x', f_simm8, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_r1 0x%x", 'x', f_r1, "f_simm8 0x%x", 'x', f_simm8, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -758,7 +758,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_dr) = & CPU (h_gr)[f_r1];
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addv", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addv", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -792,7 +792,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addv3", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addv3", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -822,7 +822,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_dr) = & CPU (h_gr)[f_r1];
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addx", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addx", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -848,7 +848,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp8) = f_disp8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bc8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bc8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -871,7 +871,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp24) = f_disp24;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bc24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bc24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -902,7 +902,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (i_disp16) = f_disp16;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beq", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "disp16 0x%x", 'x', f_disp16, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beq", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "disp16 0x%x", 'x', f_disp16, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -931,7 +931,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_disp16) = f_disp16;
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqz", "f_r2 0x%x", 'x', f_r2, "disp16 0x%x", 'x', f_disp16, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqz", "f_r2 0x%x", 'x', f_r2, "disp16 0x%x", 'x', f_disp16, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -955,7 +955,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp8) = f_disp8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bl8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bl8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -979,7 +979,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp24) = f_disp24;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bl24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bl24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1003,7 +1003,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp8) = f_disp8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1026,7 +1026,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp24) = f_disp24;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1054,7 +1054,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1083,7 +1083,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_simm16) = f_simm16;
FLD (f_r2) = f_r2;
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpi", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpi", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1112,7 +1112,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_dr) = & CPU (h_gr)[f_r1];
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1139,7 +1139,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_r2) = f_r2;
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jl", "f_r2 0x%x", 'x', f_r2, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jl", "f_r2 0x%x", 'x', f_r2, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1165,7 +1165,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_r2) = f_r2;
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmp", "f_r2 0x%x", 'x', f_r2, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmp", "f_r2 0x%x", 'x', f_r2, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1194,7 +1194,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1227,7 +1227,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_d", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_d", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1257,7 +1257,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1290,7 +1290,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb_d", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb_d", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1320,7 +1320,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldh", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldh", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1353,7 +1353,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldh_d", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldh_d", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1383,7 +1383,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_plus", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_plus", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1413,7 +1413,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_uimm24) = f_uimm24;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld24", "f_r1 0x%x", 'x', f_r1, "uimm24 0x%x", 'x', f_uimm24, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld24", "f_r1 0x%x", 'x', f_r1, "uimm24 0x%x", 'x', f_uimm24, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1441,7 +1441,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_simm8) = f_simm8;
FLD (f_r1) = f_r1;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi8", "f_simm8 0x%x", 'x', f_simm8, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi8", "f_simm8 0x%x", 'x', f_simm8, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1469,7 +1469,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_simm16) = f_simm16;
FLD (f_r1) = f_r1;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi16", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi16", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1498,7 +1498,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lock", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lock", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1528,7 +1528,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_machi", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_machi", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1558,7 +1558,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulhi", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulhi", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1588,7 +1588,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mv", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mv", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1614,7 +1614,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_r1) = f_r1;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvfachi", "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvfachi", "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1642,7 +1642,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (f_r1) = f_r1;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvfc", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvfc", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1667,7 +1667,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_r1) = f_r1;
FLD (i_src1) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvtachi", "f_r1 0x%x", 'x', f_r1, "src1 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvtachi", "f_r1 0x%x", 'x', f_r1, "src1 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1695,7 +1695,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvtc", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvtc", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1715,7 +1715,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop", (char *) 0));
#undef FLD
return idesc;
@@ -1728,7 +1728,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rac", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rac", (char *) 0));
#undef FLD
return idesc;
@@ -1741,7 +1741,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rte", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rte", (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1768,7 +1768,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_hi16) = f_hi16;
FLD (f_r1) = f_r1;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_seth", "f_hi16 0x%x", 'x', f_hi16, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_seth", "f_hi16 0x%x", 'x', f_hi16, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1800,7 +1800,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sll3", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sll3", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1829,7 +1829,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (f_uimm5) = f_uimm5;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_slli", "f_r1 0x%x", 'x', f_r1, "f_uimm5 0x%x", 'x', f_uimm5, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_slli", "f_r1 0x%x", 'x', f_r1, "f_uimm5 0x%x", 'x', f_uimm5, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1859,7 +1859,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1892,7 +1892,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st_d", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st_d", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1922,7 +1922,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1955,7 +1955,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb_d", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb_d", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1985,7 +1985,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2018,7 +2018,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth_d", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth_d", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2048,7 +2048,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st_plus", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st_plus", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2074,7 +2074,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_uimm4) = f_uimm4;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_trap", "f_uimm4 0x%x", 'x', f_uimm4, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_trap", "f_uimm4 0x%x", 'x', f_uimm4, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2102,7 +2102,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_unlock", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_unlock", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2127,7 +2127,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_uimm8) = f_uimm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrpsw", "f_uimm8 0x%x", 'x', f_uimm8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrpsw", "f_uimm8 0x%x", 'x', f_uimm8, (char *) 0));
#undef FLD
return idesc;
@@ -2144,7 +2144,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_uimm8) = f_uimm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setpsw", "f_uimm8 0x%x", 'x', f_uimm8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setpsw", "f_uimm8 0x%x", 'x', f_uimm8, (char *) 0));
#undef FLD
return idesc;
@@ -2168,7 +2168,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (f_uimm3) = f_uimm3;
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bset", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_uimm3 0x%x", 'x', f_uimm3, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bset", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_uimm3 0x%x", 'x', f_uimm3, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2196,7 +2196,7 @@ m32rbf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (f_uimm3) = f_uimm3;
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btst", "f_r2 0x%x", 'x', f_r2, "f_uimm3 0x%x", 'x', f_uimm3, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btst", "f_r2 0x%x", 'x', f_r2, "f_uimm3 0x%x", 'x', f_uimm3, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
diff --git a/sim/m32r/decode2.c b/sim/m32r/decode2.c
index 5b8220d2a40..62adb153737 100644
--- a/sim/m32r/decode2.c
+++ b/sim/m32r/decode2.c
@@ -766,7 +766,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
#undef FLD
return idesc;
@@ -788,7 +788,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_dr) = & CPU (h_gr)[f_r1];
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -822,7 +822,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add3", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add3", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -855,7 +855,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and3", "f_r2 0x%x", 'x', f_r2, "f_uimm16 0x%x", 'x', f_uimm16, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and3", "f_r2 0x%x", 'x', f_r2, "f_uimm16 0x%x", 'x', f_uimm16, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -888,7 +888,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_or3", "f_r2 0x%x", 'x', f_r2, "f_uimm16 0x%x", 'x', f_uimm16, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_or3", "f_r2 0x%x", 'x', f_r2, "f_uimm16 0x%x", 'x', f_uimm16, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -917,7 +917,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (f_simm8) = f_simm8;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_r1 0x%x", 'x', f_r1, "f_simm8 0x%x", 'x', f_simm8, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_r1 0x%x", 'x', f_r1, "f_simm8 0x%x", 'x', f_simm8, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -947,7 +947,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_dr) = & CPU (h_gr)[f_r1];
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addv", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addv", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -981,7 +981,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addv3", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addv3", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1011,7 +1011,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_dr) = & CPU (h_gr)[f_r1];
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addx", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addx", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1037,7 +1037,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp8) = f_disp8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bc8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bc8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1060,7 +1060,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp24) = f_disp24;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bc24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bc24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1091,7 +1091,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (i_disp16) = f_disp16;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beq", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "disp16 0x%x", 'x', f_disp16, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beq", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "disp16 0x%x", 'x', f_disp16, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1120,7 +1120,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_disp16) = f_disp16;
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqz", "f_r2 0x%x", 'x', f_r2, "disp16 0x%x", 'x', f_disp16, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqz", "f_r2 0x%x", 'x', f_r2, "disp16 0x%x", 'x', f_disp16, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1144,7 +1144,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp8) = f_disp8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bl8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bl8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1168,7 +1168,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp24) = f_disp24;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bl24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bl24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1192,7 +1192,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp8) = f_disp8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcl8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcl8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1216,7 +1216,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp24) = f_disp24;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcl24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcl24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1240,7 +1240,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp8) = f_disp8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1263,7 +1263,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp24) = f_disp24;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1291,7 +1291,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1320,7 +1320,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_simm16) = f_simm16;
FLD (f_r2) = f_r2;
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpi", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpi", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1345,7 +1345,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_r2) = f_r2;
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpz", "f_r2 0x%x", 'x', f_r2, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpz", "f_r2 0x%x", 'x', f_r2, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1374,7 +1374,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_dr) = & CPU (h_gr)[f_r1];
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1401,7 +1401,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_r2) = f_r2;
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jc", "f_r2 0x%x", 'x', f_r2, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jc", "f_r2 0x%x", 'x', f_r2, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1426,7 +1426,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_r2) = f_r2;
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jl", "f_r2 0x%x", 'x', f_r2, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jl", "f_r2 0x%x", 'x', f_r2, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1452,7 +1452,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_r2) = f_r2;
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmp", "f_r2 0x%x", 'x', f_r2, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmp", "f_r2 0x%x", 'x', f_r2, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1481,7 +1481,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1514,7 +1514,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_d", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_d", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1544,7 +1544,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1577,7 +1577,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb_d", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb_d", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1607,7 +1607,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldh", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldh", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1640,7 +1640,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldh_d", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldh_d", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1670,7 +1670,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_plus", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_plus", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1700,7 +1700,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_uimm24) = f_uimm24;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld24", "f_r1 0x%x", 'x', f_r1, "uimm24 0x%x", 'x', f_uimm24, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld24", "f_r1 0x%x", 'x', f_r1, "uimm24 0x%x", 'x', f_uimm24, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1728,7 +1728,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_simm8) = f_simm8;
FLD (f_r1) = f_r1;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi8", "f_simm8 0x%x", 'x', f_simm8, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi8", "f_simm8 0x%x", 'x', f_simm8, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1756,7 +1756,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_simm16) = f_simm16;
FLD (f_r1) = f_r1;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi16", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi16", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1785,7 +1785,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lock", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lock", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1818,7 +1818,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_machi_a", "f_acc 0x%x", 'x', f_acc, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_machi_a", "f_acc 0x%x", 'x', f_acc, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1851,7 +1851,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_acc) = f_acc;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulhi_a", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "f_acc 0x%x", 'x', f_acc, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulhi_a", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "f_acc 0x%x", 'x', f_acc, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1881,7 +1881,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mv", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mv", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1910,7 +1910,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_accs) = f_accs;
FLD (f_r1) = f_r1;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvfachi_a", "f_accs 0x%x", 'x', f_accs, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvfachi_a", "f_accs 0x%x", 'x', f_accs, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1938,7 +1938,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (f_r1) = f_r1;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvfc", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvfc", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1966,7 +1966,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_accs) = f_accs;
FLD (f_r1) = f_r1;
FLD (i_src1) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvtachi_a", "f_accs 0x%x", 'x', f_accs, "f_r1 0x%x", 'x', f_r1, "src1 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvtachi_a", "f_accs 0x%x", 'x', f_accs, "f_r1 0x%x", 'x', f_r1, "src1 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1994,7 +1994,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvtc", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvtc", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2014,7 +2014,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop", (char *) 0));
#undef FLD
return idesc;
@@ -2037,7 +2037,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_accs) = f_accs;
FLD (f_imm1) = f_imm1;
FLD (f_accd) = f_accd;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rac_dsi", "f_accs 0x%x", 'x', f_accs, "f_imm1 0x%x", 'x', f_imm1, "f_accd 0x%x", 'x', f_accd, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rac_dsi", "f_accs 0x%x", 'x', f_accs, "f_imm1 0x%x", 'x', f_imm1, "f_accd 0x%x", 'x', f_accd, (char *) 0));
#undef FLD
return idesc;
@@ -2050,7 +2050,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rte", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rte", (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2077,7 +2077,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_hi16) = f_hi16;
FLD (f_r1) = f_r1;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_seth", "f_hi16 0x%x", 'x', f_hi16, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_seth", "f_hi16 0x%x", 'x', f_hi16, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2109,7 +2109,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sll3", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sll3", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2138,7 +2138,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (f_uimm5) = f_uimm5;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_slli", "f_r1 0x%x", 'x', f_r1, "f_uimm5 0x%x", 'x', f_uimm5, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_slli", "f_r1 0x%x", 'x', f_r1, "f_uimm5 0x%x", 'x', f_uimm5, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2168,7 +2168,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2201,7 +2201,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st_d", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st_d", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2231,7 +2231,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2264,7 +2264,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb_d", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb_d", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2294,7 +2294,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2327,7 +2327,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth_d", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth_d", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2357,7 +2357,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st_plus", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st_plus", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2388,7 +2388,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth_plus", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth_plus", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2419,7 +2419,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb_plus", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb_plus", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2445,7 +2445,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_uimm4) = f_uimm4;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_trap", "f_uimm4 0x%x", 'x', f_uimm4, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_trap", "f_uimm4 0x%x", 'x', f_uimm4, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2473,7 +2473,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_unlock", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_unlock", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2503,7 +2503,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_satb", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_satb", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2533,7 +2533,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sat", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sat", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2554,7 +2554,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sadd", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sadd", (char *) 0));
#undef FLD
return idesc;
@@ -2576,7 +2576,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_macwu1", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_macwu1", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2606,7 +2606,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_msblo", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_msblo", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2636,7 +2636,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulwu1", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulwu1", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2657,7 +2657,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sc", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sc", (char *) 0));
#undef FLD
return idesc;
@@ -2674,7 +2674,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_uimm8) = f_uimm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrpsw", "f_uimm8 0x%x", 'x', f_uimm8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrpsw", "f_uimm8 0x%x", 'x', f_uimm8, (char *) 0));
#undef FLD
return idesc;
@@ -2691,7 +2691,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_uimm8) = f_uimm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setpsw", "f_uimm8 0x%x", 'x', f_uimm8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setpsw", "f_uimm8 0x%x", 'x', f_uimm8, (char *) 0));
#undef FLD
return idesc;
@@ -2715,7 +2715,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (f_uimm3) = f_uimm3;
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bset", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_uimm3 0x%x", 'x', f_uimm3, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bset", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_uimm3 0x%x", 'x', f_uimm3, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2743,7 +2743,7 @@ m32r2f_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (f_uimm3) = f_uimm3;
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btst", "f_r2 0x%x", 'x', f_r2, "f_uimm3 0x%x", 'x', f_uimm3, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btst", "f_r2 0x%x", 'x', f_r2, "f_uimm3 0x%x", 'x', f_uimm3, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
diff --git a/sim/m32r/decodex.c b/sim/m32r/decodex.c
index 0ccf3634805..e5b1605d0b5 100644
--- a/sim/m32r/decodex.c
+++ b/sim/m32r/decodex.c
@@ -707,7 +707,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
#undef FLD
return idesc;
@@ -729,7 +729,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_dr) = & CPU (h_gr)[f_r1];
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -763,7 +763,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add3", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add3", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -796,7 +796,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and3", "f_r2 0x%x", 'x', f_r2, "f_uimm16 0x%x", 'x', f_uimm16, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and3", "f_r2 0x%x", 'x', f_r2, "f_uimm16 0x%x", 'x', f_uimm16, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -829,7 +829,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_or3", "f_r2 0x%x", 'x', f_r2, "f_uimm16 0x%x", 'x', f_uimm16, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_or3", "f_r2 0x%x", 'x', f_r2, "f_uimm16 0x%x", 'x', f_uimm16, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -858,7 +858,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (f_simm8) = f_simm8;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_r1 0x%x", 'x', f_r1, "f_simm8 0x%x", 'x', f_simm8, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_r1 0x%x", 'x', f_r1, "f_simm8 0x%x", 'x', f_simm8, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -888,7 +888,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_dr) = & CPU (h_gr)[f_r1];
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addv", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addv", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -922,7 +922,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addv3", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addv3", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -952,7 +952,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_dr) = & CPU (h_gr)[f_r1];
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addx", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addx", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -978,7 +978,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp8) = f_disp8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bc8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bc8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1001,7 +1001,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp24) = f_disp24;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bc24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bc24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1032,7 +1032,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (i_disp16) = f_disp16;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beq", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "disp16 0x%x", 'x', f_disp16, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beq", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "disp16 0x%x", 'x', f_disp16, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1061,7 +1061,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_disp16) = f_disp16;
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqz", "f_r2 0x%x", 'x', f_r2, "disp16 0x%x", 'x', f_disp16, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqz", "f_r2 0x%x", 'x', f_r2, "disp16 0x%x", 'x', f_disp16, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1085,7 +1085,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp8) = f_disp8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bl8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bl8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1109,7 +1109,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp24) = f_disp24;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bl24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bl24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1133,7 +1133,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp8) = f_disp8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcl8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcl8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1157,7 +1157,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp24) = f_disp24;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcl24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bcl24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1181,7 +1181,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp8) = f_disp8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra8", "disp8 0x%x", 'x', f_disp8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1204,7 +1204,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp24) = f_disp24;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra24", "disp24 0x%x", 'x', f_disp24, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1232,7 +1232,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmp", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1261,7 +1261,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_simm16) = f_simm16;
FLD (f_r2) = f_r2;
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpi", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpi", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1286,7 +1286,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_r2) = f_r2;
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpz", "f_r2 0x%x", 'x', f_r2, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpz", "f_r2 0x%x", 'x', f_r2, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1315,7 +1315,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_dr) = & CPU (h_gr)[f_r1];
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1342,7 +1342,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_r2) = f_r2;
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jc", "f_r2 0x%x", 'x', f_r2, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jc", "f_r2 0x%x", 'x', f_r2, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1367,7 +1367,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_r2) = f_r2;
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jl", "f_r2 0x%x", 'x', f_r2, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jl", "f_r2 0x%x", 'x', f_r2, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1393,7 +1393,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_r2) = f_r2;
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmp", "f_r2 0x%x", 'x', f_r2, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmp", "f_r2 0x%x", 'x', f_r2, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1422,7 +1422,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1455,7 +1455,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_d", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_d", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1485,7 +1485,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1518,7 +1518,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb_d", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb_d", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1548,7 +1548,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldh", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldh", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1581,7 +1581,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldh_d", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldh_d", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1611,7 +1611,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_plus", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld_plus", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1641,7 +1641,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_uimm24) = f_uimm24;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld24", "f_r1 0x%x", 'x', f_r1, "uimm24 0x%x", 'x', f_uimm24, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ld24", "f_r1 0x%x", 'x', f_r1, "uimm24 0x%x", 'x', f_uimm24, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1669,7 +1669,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_simm8) = f_simm8;
FLD (f_r1) = f_r1;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi8", "f_simm8 0x%x", 'x', f_simm8, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi8", "f_simm8 0x%x", 'x', f_simm8, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1697,7 +1697,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_simm16) = f_simm16;
FLD (f_r1) = f_r1;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi16", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldi16", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1726,7 +1726,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lock", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lock", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1759,7 +1759,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_machi_a", "f_acc 0x%x", 'x', f_acc, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_machi_a", "f_acc 0x%x", 'x', f_acc, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1792,7 +1792,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_acc) = f_acc;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulhi_a", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "f_acc 0x%x", 'x', f_acc, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulhi_a", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "f_acc 0x%x", 'x', f_acc, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1822,7 +1822,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mv", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mv", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1851,7 +1851,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_accs) = f_accs;
FLD (f_r1) = f_r1;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvfachi_a", "f_accs 0x%x", 'x', f_accs, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvfachi_a", "f_accs 0x%x", 'x', f_accs, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1879,7 +1879,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (f_r1) = f_r1;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvfc", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvfc", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1907,7 +1907,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_accs) = f_accs;
FLD (f_r1) = f_r1;
FLD (i_src1) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvtachi_a", "f_accs 0x%x", 'x', f_accs, "f_r1 0x%x", 'x', f_r1, "src1 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvtachi_a", "f_accs 0x%x", 'x', f_accs, "f_r1 0x%x", 'x', f_r1, "src1 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1935,7 +1935,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvtc", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mvtc", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1955,7 +1955,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop", (char *) 0));
#undef FLD
return idesc;
@@ -1978,7 +1978,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_accs) = f_accs;
FLD (f_imm1) = f_imm1;
FLD (f_accd) = f_accd;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rac_dsi", "f_accs 0x%x", 'x', f_accs, "f_imm1 0x%x", 'x', f_imm1, "f_accd 0x%x", 'x', f_accd, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rac_dsi", "f_accs 0x%x", 'x', f_accs, "f_imm1 0x%x", 'x', f_imm1, "f_accd 0x%x", 'x', f_accd, (char *) 0));
#undef FLD
return idesc;
@@ -1991,7 +1991,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rte", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rte", (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2018,7 +2018,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_hi16) = f_hi16;
FLD (f_r1) = f_r1;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_seth", "f_hi16 0x%x", 'x', f_hi16, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_seth", "f_hi16 0x%x", 'x', f_hi16, "f_r1 0x%x", 'x', f_r1, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2050,7 +2050,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sll3", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sll3", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2079,7 +2079,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (f_uimm5) = f_uimm5;
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_slli", "f_r1 0x%x", 'x', f_r1, "f_uimm5 0x%x", 'x', f_uimm5, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_slli", "f_r1 0x%x", 'x', f_r1, "f_uimm5 0x%x", 'x', f_uimm5, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2109,7 +2109,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2142,7 +2142,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st_d", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st_d", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2172,7 +2172,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2205,7 +2205,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb_d", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb_d", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2235,7 +2235,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2268,7 +2268,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth_d", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth_d", "f_simm16 0x%x", 'x', f_simm16, "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2298,7 +2298,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st_plus", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_st_plus", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2329,7 +2329,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth_plus", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sth_plus", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2360,7 +2360,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb_plus", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb_plus", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2386,7 +2386,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_uimm4) = f_uimm4;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_trap", "f_uimm4 0x%x", 'x', f_uimm4, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_trap", "f_uimm4 0x%x", 'x', f_uimm4, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2414,7 +2414,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_unlock", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_unlock", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2444,7 +2444,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_satb", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_satb", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2474,7 +2474,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r1) = f_r1;
FLD (i_sr) = & CPU (h_gr)[f_r2];
FLD (i_dr) = & CPU (h_gr)[f_r1];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sat", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sat", "f_r2 0x%x", 'x', f_r2, "f_r1 0x%x", 'x', f_r1, "sr 0x%x", 'x', f_r2, "dr 0x%x", 'x', f_r1, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2495,7 +2495,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sadd", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sadd", (char *) 0));
#undef FLD
return idesc;
@@ -2517,7 +2517,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_macwu1", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_macwu1", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2547,7 +2547,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_msblo", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_msblo", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2577,7 +2577,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (i_src1) = & CPU (h_gr)[f_r1];
FLD (i_src2) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulwu1", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mulwu1", "f_r1 0x%x", 'x', f_r1, "f_r2 0x%x", 'x', f_r2, "src1 0x%x", 'x', f_r1, "src2 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2598,7 +2598,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sc", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sc", (char *) 0));
#undef FLD
return idesc;
@@ -2615,7 +2615,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_uimm8) = f_uimm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrpsw", "f_uimm8 0x%x", 'x', f_uimm8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrpsw", "f_uimm8 0x%x", 'x', f_uimm8, (char *) 0));
#undef FLD
return idesc;
@@ -2632,7 +2632,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_uimm8) = f_uimm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setpsw", "f_uimm8 0x%x", 'x', f_uimm8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_setpsw", "f_uimm8 0x%x", 'x', f_uimm8, (char *) 0));
#undef FLD
return idesc;
@@ -2656,7 +2656,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (f_uimm3) = f_uimm3;
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bset", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_uimm3 0x%x", 'x', f_uimm3, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bset", "f_simm16 0x%x", 'x', f_simm16, "f_r2 0x%x", 'x', f_r2, "f_uimm3 0x%x", 'x', f_uimm3, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2684,7 +2684,7 @@ m32rxf_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_r2) = f_r2;
FLD (f_uimm3) = f_uimm3;
FLD (i_sr) = & CPU (h_gr)[f_r2];
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btst", "f_r2 0x%x", 'x', f_r2, "f_uimm3 0x%x", 'x', f_uimm3, "sr 0x%x", 'x', f_r2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_btst", "f_r2 0x%x", 'x', f_r2, "f_uimm3 0x%x", 'x', f_uimm3, "sr 0x%x", 'x', f_r2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
diff --git a/sim/m32r/mloop.in b/sim/m32r/mloop.in
index e1508ffe9b7..95b3652d627 100644
--- a/sim/m32r/mloop.in
+++ b/sim/m32r/mloop.in
@@ -113,8 +113,8 @@ execute (SIM_CPU *current_cpu, SCACHE *sc, int fast_p)
if (PROFILE_MODEL_P (current_cpu)
&& ARGBUF_PROFILE_P (abuf))
@cpu@_model_insn_before (current_cpu, 1 /*first_p*/);
- TRACE_INSN_INIT (current_cpu, abuf, 1);
- TRACE_INSN (current_cpu, idata,
+ CGEN_TRACE_INSN_INIT (current_cpu, abuf, 1);
+ CGEN_TRACE_INSN (current_cpu, idata,
(const struct argbuf *) abuf, abuf->addr);
}
#if WITH_SCACHE
@@ -133,7 +133,7 @@ execute (SIM_CPU *current_cpu, SCACHE *sc, int fast_p)
cycles = (*idesc->timing->model_fn) (current_cpu, sc);
@cpu@_model_insn_after (current_cpu, 1 /*last_p*/, cycles);
}
- TRACE_INSN_FINI (current_cpu, abuf, 1);
+ CGEN_TRACE_INSN_FINI (current_cpu, abuf, 1);
}
#else
abort ();
diff --git a/sim/m32r/sem-switch.c b/sim/m32r/sem-switch.c
index 01a3d4ff8e6..b0f147cc3d9 100644
--- a/sim/m32r/sem-switch.c
+++ b/sim/m32r/sem-switch.c
@@ -161,13 +161,13 @@ This file is part of the GNU simulators.
/* If hyper-fast [well not unnecessarily slow] execution is selected, turn
off frills like tracing and profiling. */
-/* FIXME: A better way would be to have TRACE_RESULT check for something
+/* FIXME: A better way would be to have CGEN_TRACE_RESULT check for something
that can cause it to be optimized out. Another way would be to emit
special handlers into the instruction "stream". */
#if FAST_P
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
+#undef CGEN_TRACE_RESULT
+#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
#endif
#undef GET_ATTR
@@ -352,7 +352,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -371,7 +371,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDSI (* FLD (i_sr), FLD (f_simm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -390,7 +390,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ANDSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -409,7 +409,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ANDSI (* FLD (i_sr), FLD (f_uimm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -428,7 +428,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ORSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -447,7 +447,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ORSI (* FLD (i_sr), FLD (f_uimm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -466,7 +466,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = XORSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -485,7 +485,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = XORSI (* FLD (i_sr), FLD (f_uimm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -504,7 +504,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDSI (* FLD (i_dr), FLD (f_simm8));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -527,12 +527,12 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -556,12 +556,12 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -585,12 +585,12 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -613,7 +613,7 @@ if (CPU (h_cond)) {
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -638,7 +638,7 @@ if (CPU (h_cond)) {
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -663,7 +663,7 @@ if (EQSI (* FLD (i_src1), * FLD (i_src2))) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -688,7 +688,7 @@ if (EQSI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -713,7 +713,7 @@ if (GESI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -738,7 +738,7 @@ if (GTSI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -763,7 +763,7 @@ if (LESI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -788,7 +788,7 @@ if (LTSI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -813,7 +813,7 @@ if (NESI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -837,12 +837,12 @@ if (NESI (* FLD (i_src2), 0)) {
{
SI opval = ADDSI (ANDSI (pc, -4), 4);
CPU (h_gr[((UINT) 14)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -865,12 +865,12 @@ if (NESI (* FLD (i_src2), 0)) {
{
SI opval = ADDSI (pc, 4);
CPU (h_gr[((UINT) 14)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -894,7 +894,7 @@ if (NOTBI (CPU (h_cond))) {
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -919,7 +919,7 @@ if (NOTBI (CPU (h_cond))) {
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -944,7 +944,7 @@ if (NESI (* FLD (i_src1), * FLD (i_src2))) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -967,7 +967,7 @@ if (NESI (* FLD (i_src1), * FLD (i_src2))) {
{
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -988,7 +988,7 @@ if (NESI (* FLD (i_src1), * FLD (i_src2))) {
{
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -1008,7 +1008,7 @@ if (NESI (* FLD (i_src1), * FLD (i_src2))) {
{
BI opval = LTSI (* FLD (i_src1), * FLD (i_src2));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -1027,7 +1027,7 @@ if (NESI (* FLD (i_src1), * FLD (i_src2))) {
{
BI opval = LTSI (* FLD (i_src2), FLD (f_simm16));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -1046,7 +1046,7 @@ if (NESI (* FLD (i_src1), * FLD (i_src2))) {
{
BI opval = LTUSI (* FLD (i_src1), * FLD (i_src2));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -1065,7 +1065,7 @@ if (NESI (* FLD (i_src1), * FLD (i_src2))) {
{
BI opval = LTUSI (* FLD (i_src2), FLD (f_simm16));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -1086,7 +1086,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = DIVSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1109,7 +1109,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = UDIVSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1132,7 +1132,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = MODSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1155,7 +1155,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = UMODSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1181,12 +1181,12 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = temp0;
CPU (h_gr[((UINT) 14)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = temp1;
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1208,7 +1208,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
USI opval = ANDSI (* FLD (i_sr), -4);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -1228,7 +1228,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = GETMEMSI (current_cpu, pc, * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1247,7 +1247,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1266,7 +1266,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1285,7 +1285,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1304,7 +1304,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1323,7 +1323,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1342,7 +1342,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = ZEXTQISI (GETMEMQI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1361,7 +1361,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = ZEXTQISI (GETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1380,7 +1380,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = ZEXTHISI (GETMEMHI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1399,7 +1399,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = ZEXTHISI (GETMEMHI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1422,12 +1422,12 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = temp1;
* FLD (i_sr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1447,7 +1447,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = FLD (i_uimm24);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1466,7 +1466,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = FLD (f_simm8);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1485,7 +1485,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = FLD (f_simm16);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1505,12 +1505,12 @@ if (NESI (* FLD (i_sr), 0)) {
{
BI opval = 1;
CPU (h_lock) = opval;
- TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
}
{
SI opval = GETMEMSI (current_cpu, pc, * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1530,7 +1530,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUM (), MULDI (EXTSIDI (ANDSI (* FLD (i_src1), 0xffff0000)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16))))), 8), 8);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
#undef FLD
@@ -1549,7 +1549,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUM (), MULDI (EXTSIDI (SLLSI (* FLD (i_src1), 16)), EXTHIDI (TRUNCSIHI (* FLD (i_src2))))), 8), 8);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
#undef FLD
@@ -1568,7 +1568,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUM (), MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16))))), 8), 8);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
#undef FLD
@@ -1587,7 +1587,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUM (), MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (* FLD (i_src2))))), 8), 8);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
#undef FLD
@@ -1606,7 +1606,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = MULSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1625,7 +1625,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (ANDSI (* FLD (i_src1), 0xffff0000)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16)))), 16), 16);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
#undef FLD
@@ -1644,7 +1644,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (SLLSI (* FLD (i_src1), 16)), EXTHIDI (TRUNCSIHI (* FLD (i_src2)))), 16), 16);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
#undef FLD
@@ -1663,7 +1663,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16)))), 8), 8);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
#undef FLD
@@ -1682,7 +1682,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (* FLD (i_src2)))), 8), 8);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
#undef FLD
@@ -1701,7 +1701,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = * FLD (i_sr);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1720,7 +1720,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = TRUNCDISI (SRADI (GET_H_ACCUM (), 32));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1739,7 +1739,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = TRUNCDISI (GET_H_ACCUM ());
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1758,7 +1758,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = TRUNCDISI (SRADI (GET_H_ACCUM (), 16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1777,7 +1777,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = GET_H_CR (FLD (f_r2));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1796,7 +1796,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
DI opval = ORDI (ANDDI (GET_H_ACCUM (), MAKEDI (0, 0xffffffff)), SLLDI (EXTSIDI (* FLD (i_src1)), 32));
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
#undef FLD
@@ -1815,7 +1815,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
DI opval = ORDI (ANDDI (GET_H_ACCUM (), MAKEDI (0xffffffff, 0)), ZEXTSIDI (* FLD (i_src1)));
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
#undef FLD
@@ -1834,7 +1834,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
USI opval = * FLD (i_sr);
SET_H_CR (FLD (f_r1), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
#undef FLD
@@ -1853,7 +1853,7 @@ if (NESI (* FLD (i_sr), 0)) {
{
SI opval = NEGSI (* FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1887,7 +1887,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = INVSI (* FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1910,7 +1910,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
DI opval = (GTDI (tmp_tmp1, MAKEDI (32767, 0xffff0000))) ? (MAKEDI (32767, 0xffff0000)) : (LTDI (tmp_tmp1, MAKEDI (0xffff8000, 0))) ? (MAKEDI (0xffff8000, 0)) : (ANDDI (tmp_tmp1, MAKEDI (0xffffffff, 0xffff0000)));
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
}
@@ -1943,7 +1943,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
DI opval = SRADI (SLLDI (tmp_tmp1, 7), 7);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
}
@@ -1965,22 +1965,22 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
USI opval = ANDSI (GET_H_CR (((UINT) 6)), -4);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
{
USI opval = GET_H_CR (((UINT) 14));
SET_H_CR (((UINT) 6), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
UQI opval = CPU (h_bpsw);
SET_H_PSW (opval);
- TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
}
{
UQI opval = CPU (h_bbpsw);
CPU (h_bpsw) = opval;
- TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
}
}
@@ -2001,7 +2001,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
SI opval = SLLSI (FLD (f_hi16), 16);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2020,7 +2020,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
SI opval = SLLSI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2039,7 +2039,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
SI opval = SLLSI (* FLD (i_sr), ANDSI (FLD (f_simm16), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2058,7 +2058,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
SI opval = SLLSI (* FLD (i_dr), FLD (f_uimm5));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2077,7 +2077,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
SI opval = SRASI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2096,7 +2096,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
SI opval = SRASI (* FLD (i_sr), ANDSI (FLD (f_simm16), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2115,7 +2115,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
SI opval = SRASI (* FLD (i_dr), FLD (f_uimm5));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2134,7 +2134,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
SI opval = SRLSI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2153,7 +2153,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
SI opval = SRLSI (* FLD (i_sr), ANDSI (FLD (f_simm16), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2172,7 +2172,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
SI opval = SRLSI (* FLD (i_dr), FLD (f_uimm5));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2191,7 +2191,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, * FLD (i_src2), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2210,7 +2210,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, ADDSI (* FLD (i_src2), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2229,7 +2229,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
QI opval = * FLD (i_src1);
SETMEMQI (current_cpu, pc, * FLD (i_src2), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2248,7 +2248,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
QI opval = * FLD (i_src1);
SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_src2), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2267,7 +2267,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
HI opval = * FLD (i_src1);
SETMEMHI (current_cpu, pc, * FLD (i_src2), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2286,7 +2286,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
HI opval = * FLD (i_src1);
SETMEMHI (current_cpu, pc, ADDSI (* FLD (i_src2), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2308,12 +2308,12 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, tmp_new_src2, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_new_src2;
* FLD (i_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -2336,12 +2336,12 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, tmp_new_src2, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_new_src2;
* FLD (i_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -2361,7 +2361,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
SI opval = SUBSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2384,12 +2384,12 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -2413,12 +2413,12 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -2440,32 +2440,32 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
USI opval = GET_H_CR (((UINT) 6));
SET_H_CR (((UINT) 14), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
USI opval = ADDSI (pc, 4);
SET_H_CR (((UINT) 6), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
UQI opval = CPU (h_bpsw);
CPU (h_bbpsw) = opval;
- TRACE_RESULT (current_cpu, abuf, "bbpsw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "bbpsw", 'x', opval);
}
{
UQI opval = GET_H_PSW ();
CPU (h_bpsw) = opval;
- TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
}
{
UQI opval = ANDQI (GET_H_PSW (), 128);
SET_H_PSW (opval);
- TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
}
{
SI opval = m32r_trap (current_cpu, pc, FLD (f_uimm4));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -2489,13 +2489,13 @@ if (CPU (h_lock)) {
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, * FLD (i_src2), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
{
BI opval = 0;
CPU (h_lock) = opval;
- TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
}
}
@@ -2516,7 +2516,7 @@ if (CPU (h_lock)) {
{
USI opval = ANDSI (GET_H_CR (((UINT) 0)), ORSI (ZEXTQISI (INVQI (FLD (f_uimm8))), 65280));
SET_H_CR (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
#undef FLD
@@ -2535,7 +2535,7 @@ if (CPU (h_lock)) {
{
USI opval = FLD (f_uimm8);
SET_H_CR (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
#undef FLD
@@ -2554,7 +2554,7 @@ if (CPU (h_lock)) {
{
QI opval = ORQI (GETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))), SLLQI (1, SUBSI (7, FLD (f_uimm3))));
SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2573,7 +2573,7 @@ if (CPU (h_lock)) {
{
QI opval = ANDQI (GETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))), INVQI (SLLQI (1, SUBSI (7, FLD (f_uimm3)))));
SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2592,7 +2592,7 @@ if (CPU (h_lock)) {
{
BI opval = ANDQI (SRLQI (* FLD (i_sr), SUBSI (7, FLD (f_uimm3))), 1);
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
diff --git a/sim/m32r/sem.c b/sim/m32r/sem.c
index a20e024f0b9..dcd82d9fff6 100644
--- a/sim/m32r/sem.c
+++ b/sim/m32r/sem.c
@@ -36,8 +36,8 @@ This file is part of the GNU simulators.
FAST_P, when desired, is defined on the command line, -DFAST_P=1. */
#if FAST_P
#define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_semf_,fn)
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
+#undef CGEN_TRACE_RESULT
+#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
#else
#define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_sem_,fn)
#endif
@@ -210,7 +210,7 @@ SEM_FN_NAME (m32rbf,add) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -231,7 +231,7 @@ SEM_FN_NAME (m32rbf,add3) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (* FLD (i_sr), FLD (f_simm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -252,7 +252,7 @@ SEM_FN_NAME (m32rbf,and) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ANDSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -273,7 +273,7 @@ SEM_FN_NAME (m32rbf,and3) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ANDSI (* FLD (i_sr), FLD (f_uimm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -294,7 +294,7 @@ SEM_FN_NAME (m32rbf,or) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -315,7 +315,7 @@ SEM_FN_NAME (m32rbf,or3) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (* FLD (i_sr), FLD (f_uimm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -336,7 +336,7 @@ SEM_FN_NAME (m32rbf,xor) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = XORSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -357,7 +357,7 @@ SEM_FN_NAME (m32rbf,xor3) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = XORSI (* FLD (i_sr), FLD (f_uimm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -378,7 +378,7 @@ SEM_FN_NAME (m32rbf,addi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (* FLD (i_dr), FLD (f_simm8));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -403,12 +403,12 @@ SEM_FN_NAME (m32rbf,addv) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -434,12 +434,12 @@ SEM_FN_NAME (m32rbf,addv3) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -465,12 +465,12 @@ SEM_FN_NAME (m32rbf,addx) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -495,7 +495,7 @@ if (CPU (h_cond)) {
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -522,7 +522,7 @@ if (CPU (h_cond)) {
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -549,7 +549,7 @@ if (EQSI (* FLD (i_src1), * FLD (i_src2))) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -576,7 +576,7 @@ if (EQSI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -603,7 +603,7 @@ if (GESI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -630,7 +630,7 @@ if (GTSI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -657,7 +657,7 @@ if (LESI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -684,7 +684,7 @@ if (LTSI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -711,7 +711,7 @@ if (NESI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -737,12 +737,12 @@ SEM_FN_NAME (m32rbf,bl8) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (ANDSI (pc, -4), 4);
CPU (h_gr[((UINT) 14)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -767,12 +767,12 @@ SEM_FN_NAME (m32rbf,bl24) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (pc, 4);
CPU (h_gr[((UINT) 14)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -798,7 +798,7 @@ if (NOTBI (CPU (h_cond))) {
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -825,7 +825,7 @@ if (NOTBI (CPU (h_cond))) {
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -852,7 +852,7 @@ if (NESI (* FLD (i_src1), * FLD (i_src2))) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -877,7 +877,7 @@ SEM_FN_NAME (m32rbf,bra8) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -900,7 +900,7 @@ SEM_FN_NAME (m32rbf,bra24) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -922,7 +922,7 @@ SEM_FN_NAME (m32rbf,cmp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = LTSI (* FLD (i_src1), * FLD (i_src2));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
return vpc;
@@ -943,7 +943,7 @@ SEM_FN_NAME (m32rbf,cmpi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = LTSI (* FLD (i_src2), FLD (f_simm16));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
return vpc;
@@ -964,7 +964,7 @@ SEM_FN_NAME (m32rbf,cmpu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = LTUSI (* FLD (i_src1), * FLD (i_src2));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
return vpc;
@@ -985,7 +985,7 @@ SEM_FN_NAME (m32rbf,cmpui) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = LTUSI (* FLD (i_src2), FLD (f_simm16));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
return vpc;
@@ -1008,7 +1008,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = DIVSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1033,7 +1033,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = UDIVSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1058,7 +1058,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = MODSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1083,7 +1083,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = UMODSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1111,12 +1111,12 @@ SEM_FN_NAME (m32rbf,jl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = temp0;
CPU (h_gr[((UINT) 14)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = temp1;
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1140,7 +1140,7 @@ SEM_FN_NAME (m32rbf,jmp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
USI opval = ANDSI (* FLD (i_sr), -4);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -1162,7 +1162,7 @@ SEM_FN_NAME (m32rbf,ld) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GETMEMSI (current_cpu, pc, * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1183,7 +1183,7 @@ SEM_FN_NAME (m32rbf,ld_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1204,7 +1204,7 @@ SEM_FN_NAME (m32rbf,ldb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1225,7 +1225,7 @@ SEM_FN_NAME (m32rbf,ldb_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1246,7 +1246,7 @@ SEM_FN_NAME (m32rbf,ldh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1267,7 +1267,7 @@ SEM_FN_NAME (m32rbf,ldh_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1288,7 +1288,7 @@ SEM_FN_NAME (m32rbf,ldub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ZEXTQISI (GETMEMQI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1309,7 +1309,7 @@ SEM_FN_NAME (m32rbf,ldub_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ZEXTQISI (GETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1330,7 +1330,7 @@ SEM_FN_NAME (m32rbf,lduh) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ZEXTHISI (GETMEMHI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1351,7 +1351,7 @@ SEM_FN_NAME (m32rbf,lduh_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ZEXTHISI (GETMEMHI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1376,12 +1376,12 @@ SEM_FN_NAME (m32rbf,ld_plus) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = temp1;
* FLD (i_sr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1403,7 +1403,7 @@ SEM_FN_NAME (m32rbf,ld24) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = FLD (i_uimm24);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1424,7 +1424,7 @@ SEM_FN_NAME (m32rbf,ldi8) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = FLD (f_simm8);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1445,7 +1445,7 @@ SEM_FN_NAME (m32rbf,ldi16) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = FLD (f_simm16);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1467,12 +1467,12 @@ SEM_FN_NAME (m32rbf,lock) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = 1;
CPU (h_lock) = opval;
- TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
}
{
SI opval = GETMEMSI (current_cpu, pc, * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1494,7 +1494,7 @@ SEM_FN_NAME (m32rbf,machi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUM (), MULDI (EXTSIDI (ANDSI (* FLD (i_src1), 0xffff0000)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16))))), 8), 8);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
return vpc;
@@ -1515,7 +1515,7 @@ SEM_FN_NAME (m32rbf,maclo) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUM (), MULDI (EXTSIDI (SLLSI (* FLD (i_src1), 16)), EXTHIDI (TRUNCSIHI (* FLD (i_src2))))), 8), 8);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
return vpc;
@@ -1536,7 +1536,7 @@ SEM_FN_NAME (m32rbf,macwhi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUM (), MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16))))), 8), 8);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
return vpc;
@@ -1557,7 +1557,7 @@ SEM_FN_NAME (m32rbf,macwlo) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUM (), MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (* FLD (i_src2))))), 8), 8);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
return vpc;
@@ -1578,7 +1578,7 @@ SEM_FN_NAME (m32rbf,mul) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = MULSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1599,7 +1599,7 @@ SEM_FN_NAME (m32rbf,mulhi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (ANDSI (* FLD (i_src1), 0xffff0000)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16)))), 16), 16);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
return vpc;
@@ -1620,7 +1620,7 @@ SEM_FN_NAME (m32rbf,mullo) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (SLLSI (* FLD (i_src1), 16)), EXTHIDI (TRUNCSIHI (* FLD (i_src2)))), 16), 16);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
return vpc;
@@ -1641,7 +1641,7 @@ SEM_FN_NAME (m32rbf,mulwhi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16)))), 8), 8);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
return vpc;
@@ -1662,7 +1662,7 @@ SEM_FN_NAME (m32rbf,mulwlo) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (* FLD (i_src2)))), 8), 8);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
return vpc;
@@ -1683,7 +1683,7 @@ SEM_FN_NAME (m32rbf,mv) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = * FLD (i_sr);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1704,7 +1704,7 @@ SEM_FN_NAME (m32rbf,mvfachi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = TRUNCDISI (SRADI (GET_H_ACCUM (), 32));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1725,7 +1725,7 @@ SEM_FN_NAME (m32rbf,mvfaclo) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = TRUNCDISI (GET_H_ACCUM ());
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1746,7 +1746,7 @@ SEM_FN_NAME (m32rbf,mvfacmi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = TRUNCDISI (SRADI (GET_H_ACCUM (), 16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1767,7 +1767,7 @@ SEM_FN_NAME (m32rbf,mvfc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GET_H_CR (FLD (f_r2));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1788,7 +1788,7 @@ SEM_FN_NAME (m32rbf,mvtachi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (ANDDI (GET_H_ACCUM (), MAKEDI (0, 0xffffffff)), SLLDI (EXTSIDI (* FLD (i_src1)), 32));
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
return vpc;
@@ -1809,7 +1809,7 @@ SEM_FN_NAME (m32rbf,mvtaclo) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (ANDDI (GET_H_ACCUM (), MAKEDI (0xffffffff, 0)), ZEXTSIDI (* FLD (i_src1)));
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
return vpc;
@@ -1830,7 +1830,7 @@ SEM_FN_NAME (m32rbf,mvtc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
USI opval = * FLD (i_sr);
SET_H_CR (FLD (f_r1), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
return vpc;
@@ -1851,7 +1851,7 @@ SEM_FN_NAME (m32rbf,neg) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = NEGSI (* FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1889,7 +1889,7 @@ SEM_FN_NAME (m32rbf,not) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = INVSI (* FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -1914,7 +1914,7 @@ SEM_FN_NAME (m32rbf,rac) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = (GTDI (tmp_tmp1, MAKEDI (32767, 0xffff0000))) ? (MAKEDI (32767, 0xffff0000)) : (LTDI (tmp_tmp1, MAKEDI (0xffff8000, 0))) ? (MAKEDI (0xffff8000, 0)) : (ANDDI (tmp_tmp1, MAKEDI (0xffffffff, 0xffff0000)));
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
}
@@ -1949,7 +1949,7 @@ if (ANDIF (GEDI (tmp_tmp1, MAKEDI (8388608, 0)), LEDI (tmp_tmp1, MAKEDI (1676083
{
DI opval = SRADI (SLLDI (tmp_tmp1, 7), 7);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
}
@@ -1973,22 +1973,22 @@ SEM_FN_NAME (m32rbf,rte) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
USI opval = ANDSI (GET_H_CR (((UINT) 6)), -4);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
{
USI opval = GET_H_CR (((UINT) 14));
SET_H_CR (((UINT) 6), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
UQI opval = CPU (h_bpsw);
SET_H_PSW (opval);
- TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
}
{
UQI opval = CPU (h_bbpsw);
CPU (h_bpsw) = opval;
- TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
}
}
@@ -2011,7 +2011,7 @@ SEM_FN_NAME (m32rbf,seth) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SLLSI (FLD (f_hi16), 16);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2032,7 +2032,7 @@ SEM_FN_NAME (m32rbf,sll) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SLLSI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2053,7 +2053,7 @@ SEM_FN_NAME (m32rbf,sll3) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SLLSI (* FLD (i_sr), ANDSI (FLD (f_simm16), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2074,7 +2074,7 @@ SEM_FN_NAME (m32rbf,slli) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SLLSI (* FLD (i_dr), FLD (f_uimm5));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2095,7 +2095,7 @@ SEM_FN_NAME (m32rbf,sra) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRASI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2116,7 +2116,7 @@ SEM_FN_NAME (m32rbf,sra3) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRASI (* FLD (i_sr), ANDSI (FLD (f_simm16), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2137,7 +2137,7 @@ SEM_FN_NAME (m32rbf,srai) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRASI (* FLD (i_dr), FLD (f_uimm5));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2158,7 +2158,7 @@ SEM_FN_NAME (m32rbf,srl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRLSI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2179,7 +2179,7 @@ SEM_FN_NAME (m32rbf,srl3) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRLSI (* FLD (i_sr), ANDSI (FLD (f_simm16), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2200,7 +2200,7 @@ SEM_FN_NAME (m32rbf,srli) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRLSI (* FLD (i_dr), FLD (f_uimm5));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2221,7 +2221,7 @@ SEM_FN_NAME (m32rbf,st) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, * FLD (i_src2), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -2242,7 +2242,7 @@ SEM_FN_NAME (m32rbf,st_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, ADDSI (* FLD (i_src2), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -2263,7 +2263,7 @@ SEM_FN_NAME (m32rbf,stb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
QI opval = * FLD (i_src1);
SETMEMQI (current_cpu, pc, * FLD (i_src2), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -2284,7 +2284,7 @@ SEM_FN_NAME (m32rbf,stb_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
QI opval = * FLD (i_src1);
SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_src2), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -2305,7 +2305,7 @@ SEM_FN_NAME (m32rbf,sth) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
HI opval = * FLD (i_src1);
SETMEMHI (current_cpu, pc, * FLD (i_src2), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -2326,7 +2326,7 @@ SEM_FN_NAME (m32rbf,sth_d) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
HI opval = * FLD (i_src1);
SETMEMHI (current_cpu, pc, ADDSI (* FLD (i_src2), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -2350,12 +2350,12 @@ SEM_FN_NAME (m32rbf,st_plus) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, tmp_new_src2, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_new_src2;
* FLD (i_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -2380,12 +2380,12 @@ SEM_FN_NAME (m32rbf,st_minus) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, tmp_new_src2, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_new_src2;
* FLD (i_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -2407,7 +2407,7 @@ SEM_FN_NAME (m32rbf,sub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SUBSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
return vpc;
@@ -2432,12 +2432,12 @@ SEM_FN_NAME (m32rbf,subv) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -2463,12 +2463,12 @@ SEM_FN_NAME (m32rbf,subx) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -2492,32 +2492,32 @@ SEM_FN_NAME (m32rbf,trap) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
USI opval = GET_H_CR (((UINT) 6));
SET_H_CR (((UINT) 14), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
USI opval = ADDSI (pc, 4);
SET_H_CR (((UINT) 6), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
UQI opval = CPU (h_bpsw);
CPU (h_bbpsw) = opval;
- TRACE_RESULT (current_cpu, abuf, "bbpsw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "bbpsw", 'x', opval);
}
{
UQI opval = GET_H_PSW ();
CPU (h_bpsw) = opval;
- TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
}
{
UQI opval = ANDQI (GET_H_PSW (), 128);
SET_H_PSW (opval);
- TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
}
{
SI opval = m32r_trap (current_cpu, pc, FLD (f_uimm4));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -2543,13 +2543,13 @@ if (CPU (h_lock)) {
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, * FLD (i_src2), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
{
BI opval = 0;
CPU (h_lock) = opval;
- TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
}
}
@@ -2572,7 +2572,7 @@ SEM_FN_NAME (m32rbf,clrpsw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
USI opval = ANDSI (GET_H_CR (((UINT) 0)), ORSI (ZEXTQISI (INVQI (FLD (f_uimm8))), 65280));
SET_H_CR (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
return vpc;
@@ -2593,7 +2593,7 @@ SEM_FN_NAME (m32rbf,setpsw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
USI opval = FLD (f_uimm8);
SET_H_CR (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
return vpc;
@@ -2614,7 +2614,7 @@ SEM_FN_NAME (m32rbf,bset) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
QI opval = ORQI (GETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))), SLLQI (1, SUBSI (7, FLD (f_uimm3))));
SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -2635,7 +2635,7 @@ SEM_FN_NAME (m32rbf,bclr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
QI opval = ANDQI (GETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))), INVQI (SLLQI (1, SUBSI (7, FLD (f_uimm3)))));
SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -2656,7 +2656,7 @@ SEM_FN_NAME (m32rbf,btst) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = ANDQI (SRLQI (* FLD (i_sr), SUBSI (7, FLD (f_uimm3))), 1);
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
return vpc;
diff --git a/sim/m32r/sem2-switch.c b/sim/m32r/sem2-switch.c
index f899b4b384f..c8d01f050e7 100644
--- a/sim/m32r/sem2-switch.c
+++ b/sim/m32r/sem2-switch.c
@@ -352,13 +352,13 @@ This file is part of the GNU simulators.
/* If hyper-fast [well not unnecessarily slow] execution is selected, turn
off frills like tracing and profiling. */
-/* FIXME: A better way would be to have TRACE_RESULT check for something
+/* FIXME: A better way would be to have CGEN_TRACE_RESULT check for something
that can cause it to be optimized out. Another way would be to emit
special handlers into the instruction "stream". */
#if FAST_P
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
+#undef CGEN_TRACE_RESULT
+#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
#endif
#undef GET_ATTR
@@ -543,7 +543,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -562,7 +562,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDSI (* FLD (i_sr), FLD (f_simm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -581,7 +581,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ANDSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -600,7 +600,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ANDSI (* FLD (i_sr), FLD (f_uimm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -619,7 +619,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ORSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -638,7 +638,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ORSI (* FLD (i_sr), FLD (f_uimm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -657,7 +657,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = XORSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -676,7 +676,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = XORSI (* FLD (i_sr), FLD (f_uimm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -695,7 +695,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDSI (* FLD (i_dr), FLD (f_simm8));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -718,12 +718,12 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -747,12 +747,12 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -776,12 +776,12 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -804,7 +804,7 @@ if (CPU (h_cond)) {
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -829,7 +829,7 @@ if (CPU (h_cond)) {
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -854,7 +854,7 @@ if (EQSI (* FLD (i_src1), * FLD (i_src2))) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -879,7 +879,7 @@ if (EQSI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -904,7 +904,7 @@ if (GESI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -929,7 +929,7 @@ if (GTSI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -954,7 +954,7 @@ if (LESI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -979,7 +979,7 @@ if (LTSI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1004,7 +1004,7 @@ if (NESI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1028,12 +1028,12 @@ if (NESI (* FLD (i_src2), 0)) {
{
SI opval = ADDSI (ANDSI (pc, -4), 4);
CPU (h_gr[((UINT) 14)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1056,12 +1056,12 @@ if (NESI (* FLD (i_src2), 0)) {
{
SI opval = ADDSI (pc, 4);
CPU (h_gr[((UINT) 14)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1086,13 +1086,13 @@ if (CPU (h_cond)) {
SI opval = ADDSI (ANDSI (pc, -4), 4);
CPU (h_gr[((UINT) 14)]) = opval;
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1119,13 +1119,13 @@ if (CPU (h_cond)) {
SI opval = ADDSI (pc, 4);
CPU (h_gr[((UINT) 14)]) = opval;
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1151,7 +1151,7 @@ if (NOTBI (CPU (h_cond))) {
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1176,7 +1176,7 @@ if (NOTBI (CPU (h_cond))) {
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1201,7 +1201,7 @@ if (NESI (* FLD (i_src1), * FLD (i_src2))) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1224,7 +1224,7 @@ if (NESI (* FLD (i_src1), * FLD (i_src2))) {
{
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -1245,7 +1245,7 @@ if (NESI (* FLD (i_src1), * FLD (i_src2))) {
{
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -1269,13 +1269,13 @@ if (NOTBI (CPU (h_cond))) {
SI opval = ADDSI (ANDSI (pc, -4), 4);
CPU (h_gr[((UINT) 14)]) = opval;
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1302,13 +1302,13 @@ if (NOTBI (CPU (h_cond))) {
SI opval = ADDSI (pc, 4);
CPU (h_gr[((UINT) 14)]) = opval;
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1331,7 +1331,7 @@ if (NOTBI (CPU (h_cond))) {
{
BI opval = LTSI (* FLD (i_src1), * FLD (i_src2));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -1350,7 +1350,7 @@ if (NOTBI (CPU (h_cond))) {
{
BI opval = LTSI (* FLD (i_src2), FLD (f_simm16));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -1369,7 +1369,7 @@ if (NOTBI (CPU (h_cond))) {
{
BI opval = LTUSI (* FLD (i_src1), * FLD (i_src2));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -1388,7 +1388,7 @@ if (NOTBI (CPU (h_cond))) {
{
BI opval = LTUSI (* FLD (i_src2), FLD (f_simm16));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -1407,7 +1407,7 @@ if (NOTBI (CPU (h_cond))) {
{
BI opval = EQSI (* FLD (i_src1), * FLD (i_src2));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -1426,7 +1426,7 @@ if (NOTBI (CPU (h_cond))) {
{
BI opval = EQSI (* FLD (i_src2), 0);
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -1447,7 +1447,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = DIVSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1470,7 +1470,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = UDIVSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1493,7 +1493,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = MODSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1516,7 +1516,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = UMODSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1539,7 +1539,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = MODSI (EXTHISI (TRUNCSIHI (* FLD (i_dr))), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1562,7 +1562,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = UMODSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1585,7 +1585,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = MODSI (EXTBISI (TRUNCSIBI (* FLD (i_dr))), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1608,7 +1608,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = UMODSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1631,7 +1631,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = UDIVSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1654,7 +1654,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = DIVSI (EXTBISI (TRUNCSIBI (* FLD (i_dr))), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1677,7 +1677,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = UDIVSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1700,7 +1700,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = DIVSI (EXTHISI (TRUNCSIHI (* FLD (i_dr))), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1724,7 +1724,7 @@ if (CPU (h_cond)) {
USI opval = ANDSI (* FLD (i_sr), -4);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1749,7 +1749,7 @@ if (NOTBI (CPU (h_cond))) {
USI opval = ANDSI (* FLD (i_sr), -4);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1776,12 +1776,12 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = temp0;
CPU (h_gr[((UINT) 14)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = temp1;
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1803,7 +1803,7 @@ if (NOTBI (CPU (h_cond))) {
{
USI opval = ANDSI (* FLD (i_sr), -4);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -1823,7 +1823,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = GETMEMSI (current_cpu, pc, * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1842,7 +1842,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1861,7 +1861,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1880,7 +1880,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1899,7 +1899,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1918,7 +1918,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1937,7 +1937,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = ZEXTQISI (GETMEMQI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1956,7 +1956,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = ZEXTQISI (GETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1975,7 +1975,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = ZEXTHISI (GETMEMHI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1994,7 +1994,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = ZEXTHISI (GETMEMHI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2017,12 +2017,12 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = temp1;
* FLD (i_sr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -2042,7 +2042,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = FLD (i_uimm24);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2061,7 +2061,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = FLD (f_simm8);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2080,7 +2080,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = FLD (f_simm16);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2100,12 +2100,12 @@ if (NOTBI (CPU (h_cond))) {
{
BI opval = 1;
CPU (h_lock) = opval;
- TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
}
{
SI opval = GETMEMSI (current_cpu, pc, * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -2125,7 +2125,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUMS (FLD (f_acc)), MULDI (EXTSIDI (ANDSI (* FLD (i_src1), 0xffff0000)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16))))), 8), 8);
SET_H_ACCUMS (FLD (f_acc), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -2144,7 +2144,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUMS (FLD (f_acc)), MULDI (EXTSIDI (SLLSI (* FLD (i_src1), 16)), EXTHIDI (TRUNCSIHI (* FLD (i_src2))))), 8), 8);
SET_H_ACCUMS (FLD (f_acc), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -2163,7 +2163,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = ADDDI (GET_H_ACCUMS (FLD (f_acc)), MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16)))));
SET_H_ACCUMS (FLD (f_acc), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -2182,7 +2182,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = ADDDI (GET_H_ACCUMS (FLD (f_acc)), MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (* FLD (i_src2)))));
SET_H_ACCUMS (FLD (f_acc), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -2201,7 +2201,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = MULSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2220,7 +2220,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (ANDSI (* FLD (i_src1), 0xffff0000)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16)))), 16), 16);
SET_H_ACCUMS (FLD (f_acc), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -2239,7 +2239,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (SLLSI (* FLD (i_src1), 16)), EXTHIDI (TRUNCSIHI (* FLD (i_src2)))), 16), 16);
SET_H_ACCUMS (FLD (f_acc), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -2258,7 +2258,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16))));
SET_H_ACCUMS (FLD (f_acc), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -2277,7 +2277,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (* FLD (i_src2))));
SET_H_ACCUMS (FLD (f_acc), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -2296,7 +2296,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = * FLD (i_sr);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2315,7 +2315,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = TRUNCDISI (SRADI (GET_H_ACCUMS (FLD (f_accs)), 32));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2334,7 +2334,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = TRUNCDISI (GET_H_ACCUMS (FLD (f_accs)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2353,7 +2353,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = TRUNCDISI (SRADI (GET_H_ACCUMS (FLD (f_accs)), 16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2372,7 +2372,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = GET_H_CR (FLD (f_r2));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2391,7 +2391,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = ORDI (ANDDI (GET_H_ACCUMS (FLD (f_accs)), MAKEDI (0, 0xffffffff)), SLLDI (EXTSIDI (* FLD (i_src1)), 32));
SET_H_ACCUMS (FLD (f_accs), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -2410,7 +2410,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = ORDI (ANDDI (GET_H_ACCUMS (FLD (f_accs)), MAKEDI (0xffffffff, 0)), ZEXTSIDI (* FLD (i_src1)));
SET_H_ACCUMS (FLD (f_accs), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -2429,7 +2429,7 @@ if (NOTBI (CPU (h_cond))) {
{
USI opval = * FLD (i_sr);
SET_H_CR (FLD (f_r1), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
#undef FLD
@@ -2448,7 +2448,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = NEGSI (* FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2482,7 +2482,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = INVSI (* FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2505,7 +2505,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
DI opval = (GTDI (tmp_tmp1, MAKEDI (32767, 0xffff0000))) ? (MAKEDI (32767, 0xffff0000)) : (LTDI (tmp_tmp1, MAKEDI (0xffff8000, 0))) ? (MAKEDI (0xffff8000, 0)) : (ANDDI (tmp_tmp1, MAKEDI (0xffffffff, 0xffff0000)));
SET_H_ACCUMS (FLD (f_accd), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
}
@@ -2529,7 +2529,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
DI opval = (GTDI (tmp_tmp1, MAKEDI (32767, 0))) ? (MAKEDI (32767, 0)) : (LTDI (tmp_tmp1, MAKEDI (0xffff8000, 0))) ? (MAKEDI (0xffff8000, 0)) : (ANDDI (tmp_tmp1, MAKEDI (0xffffffff, 0)));
SET_H_ACCUMS (FLD (f_accd), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
}
@@ -2551,22 +2551,22 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
USI opval = ANDSI (GET_H_CR (((UINT) 6)), -4);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
{
USI opval = GET_H_CR (((UINT) 14));
SET_H_CR (((UINT) 6), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
UQI opval = CPU (h_bpsw);
SET_H_PSW (opval);
- TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
}
{
UQI opval = CPU (h_bbpsw);
CPU (h_bpsw) = opval;
- TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
}
}
@@ -2587,7 +2587,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SLLSI (FLD (f_hi16), 16);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2606,7 +2606,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SLLSI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2625,7 +2625,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SLLSI (* FLD (i_sr), ANDSI (FLD (f_simm16), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2644,7 +2644,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SLLSI (* FLD (i_dr), FLD (f_uimm5));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2663,7 +2663,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SRASI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2682,7 +2682,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SRASI (* FLD (i_sr), ANDSI (FLD (f_simm16), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2701,7 +2701,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SRASI (* FLD (i_dr), FLD (f_uimm5));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2720,7 +2720,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SRLSI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2739,7 +2739,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SRLSI (* FLD (i_sr), ANDSI (FLD (f_simm16), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2758,7 +2758,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SRLSI (* FLD (i_dr), FLD (f_uimm5));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2777,7 +2777,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, * FLD (i_src2), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2796,7 +2796,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, ADDSI (* FLD (i_src2), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2815,7 +2815,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
QI opval = * FLD (i_src1);
SETMEMQI (current_cpu, pc, * FLD (i_src2), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2834,7 +2834,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
QI opval = * FLD (i_src1);
SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_src2), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2853,7 +2853,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
HI opval = * FLD (i_src1);
SETMEMHI (current_cpu, pc, * FLD (i_src2), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2872,7 +2872,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
HI opval = * FLD (i_src1);
SETMEMHI (current_cpu, pc, ADDSI (* FLD (i_src2), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2894,12 +2894,12 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, tmp_new_src2, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_new_src2;
* FLD (i_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -2922,12 +2922,12 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
HI opval = * FLD (i_src1);
SETMEMHI (current_cpu, pc, tmp_new_src2, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = ADDSI (tmp_new_src2, 2);
* FLD (i_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -2950,12 +2950,12 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
QI opval = * FLD (i_src1);
SETMEMQI (current_cpu, pc, tmp_new_src2, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = ADDSI (tmp_new_src2, 1);
* FLD (i_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -2978,12 +2978,12 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, tmp_new_src2, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_new_src2;
* FLD (i_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -3003,7 +3003,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SUBSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -3026,12 +3026,12 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -3055,12 +3055,12 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -3082,32 +3082,32 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
USI opval = GET_H_CR (((UINT) 6));
SET_H_CR (((UINT) 14), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
USI opval = ADDSI (pc, 4);
SET_H_CR (((UINT) 6), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
UQI opval = CPU (h_bpsw);
CPU (h_bbpsw) = opval;
- TRACE_RESULT (current_cpu, abuf, "bbpsw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "bbpsw", 'x', opval);
}
{
UQI opval = GET_H_PSW ();
CPU (h_bpsw) = opval;
- TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
}
{
UQI opval = ANDQI (GET_H_PSW (), 128);
SET_H_PSW (opval);
- TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
}
{
SI opval = m32r_trap (current_cpu, pc, FLD (f_uimm4));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -3131,13 +3131,13 @@ if (CPU (h_lock)) {
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, * FLD (i_src2), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
{
BI opval = 0;
CPU (h_lock) = opval;
- TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
}
}
@@ -3158,7 +3158,7 @@ if (CPU (h_lock)) {
{
SI opval = (GESI (* FLD (i_sr), 127)) ? (127) : (LESI (* FLD (i_sr), -128)) ? (-128) : (* FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -3177,7 +3177,7 @@ if (CPU (h_lock)) {
{
SI opval = (GESI (* FLD (i_sr), 32767)) ? (32767) : (LESI (* FLD (i_sr), -32768)) ? (-32768) : (* FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -3196,7 +3196,7 @@ if (CPU (h_lock)) {
{
SI opval = ((CPU (h_cond)) ? (((LTSI (* FLD (i_sr), 0)) ? (2147483647) : (0x80000000))) : (* FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -3215,7 +3215,7 @@ if (CPU (h_lock)) {
{
BI opval = (EQSI (ANDSI (* FLD (i_src2), 255), 0)) ? (1) : (EQSI (ANDSI (* FLD (i_src2), 65280), 0)) ? (1) : (EQSI (ANDSI (* FLD (i_src2), 16711680), 0)) ? (1) : (EQSI (ANDSI (* FLD (i_src2), 0xff000000), 0)) ? (1) : (0);
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -3234,7 +3234,7 @@ if (CPU (h_lock)) {
{
DI opval = ADDDI (SRADI (GET_H_ACCUMS (((UINT) 1)), 16), GET_H_ACCUMS (((UINT) 0)));
SET_H_ACCUMS (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -3253,7 +3253,7 @@ if (CPU (h_lock)) {
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUMS (((UINT) 1)), MULDI (EXTSIDI (* FLD (i_src1)), EXTSIDI (ANDSI (* FLD (i_src2), 65535)))), 8), 8);
SET_H_ACCUMS (((UINT) 1), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -3272,7 +3272,7 @@ if (CPU (h_lock)) {
{
DI opval = SRADI (SLLDI (SUBDI (GET_H_ACCUM (), SRADI (SLLDI (MULDI (EXTHIDI (TRUNCSIHI (* FLD (i_src1))), EXTHIDI (TRUNCSIHI (* FLD (i_src2)))), 32), 16)), 8), 8);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
#undef FLD
@@ -3291,7 +3291,7 @@ if (CPU (h_lock)) {
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (* FLD (i_src1)), EXTSIDI (ANDSI (* FLD (i_src2), 65535))), 16), 16);
SET_H_ACCUMS (((UINT) 1), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -3310,7 +3310,7 @@ if (CPU (h_lock)) {
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUMS (((UINT) 1)), SLLDI (EXTSIDI (MULSI (EXTHISI (TRUNCSIHI (* FLD (i_src1))), SRASI (* FLD (i_src2), 16))), 16)), 8), 8);
SET_H_ACCUMS (((UINT) 1), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -3361,7 +3361,7 @@ if (ZEXTBISI (NOTBI (CPU (h_cond))))
{
USI opval = ANDSI (GET_H_CR (((UINT) 0)), ORSI (ZEXTQISI (INVQI (FLD (f_uimm8))), 65280));
SET_H_CR (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
#undef FLD
@@ -3380,7 +3380,7 @@ if (ZEXTBISI (NOTBI (CPU (h_cond))))
{
USI opval = FLD (f_uimm8);
SET_H_CR (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
#undef FLD
@@ -3399,7 +3399,7 @@ if (ZEXTBISI (NOTBI (CPU (h_cond))))
{
QI opval = ORQI (GETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))), SLLQI (1, SUBSI (7, FLD (f_uimm3))));
SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -3418,7 +3418,7 @@ if (ZEXTBISI (NOTBI (CPU (h_cond))))
{
QI opval = ANDQI (GETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))), INVQI (SLLQI (1, SUBSI (7, FLD (f_uimm3)))));
SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -3437,7 +3437,7 @@ if (ZEXTBISI (NOTBI (CPU (h_cond))))
{
BI opval = ANDQI (SRLQI (* FLD (i_sr), SUBSI (7, FLD (f_uimm3))), 1);
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -3457,7 +3457,7 @@ if (ZEXTBISI (NOTBI (CPU (h_cond))))
{
SI opval = ADDSI (* FLD (i_dr), * FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -3495,7 +3495,7 @@ CASE (sem, INSN_WRITE_ADD) : /* add $dr,$sr */
{
SI opval = ANDSI (* FLD (i_dr), * FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -3533,7 +3533,7 @@ CASE (sem, INSN_WRITE_AND) : /* and $dr,$sr */
{
SI opval = ORSI (* FLD (i_dr), * FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -3571,7 +3571,7 @@ CASE (sem, INSN_WRITE_OR) : /* or $dr,$sr */
{
SI opval = XORSI (* FLD (i_dr), * FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -3609,7 +3609,7 @@ CASE (sem, INSN_WRITE_XOR) : /* xor $dr,$sr */
{
SI opval = ADDSI (* FLD (i_dr), FLD (f_simm8));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -3651,12 +3651,12 @@ CASE (sem, INSN_WRITE_ADDI) : /* addi $dr,$simm8 */
{
SI opval = temp0;
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -3700,12 +3700,12 @@ CASE (sem, INSN_WRITE_ADDV) : /* addv $dr,$sr */
{
SI opval = temp0;
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -3747,7 +3747,7 @@ if (CPU (h_cond)) {
USI opval = FLD (i_disp8);
OPRND (pc) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -3793,12 +3793,12 @@ CASE (sem, INSN_WRITE_BC8) : /* bc.s $disp8 */
{
SI opval = ADDSI (ANDSI (pc, -4), 4);
OPRND (h_gr_SI_14) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp8);
OPRND (pc) = opval;
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -3843,13 +3843,13 @@ if (CPU (h_cond)) {
SI opval = ADDSI (ANDSI (pc, -4), 4);
OPRND (h_gr_SI_14) = opval;
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp8);
OPRND (pc) = opval;
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -3901,7 +3901,7 @@ if (NOTBI (CPU (h_cond))) {
USI opval = FLD (i_disp8);
OPRND (pc) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -3946,7 +3946,7 @@ CASE (sem, INSN_WRITE_BNC8) : /* bnc.s $disp8 */
{
USI opval = FLD (i_disp8);
OPRND (pc) = opval;
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
#undef OPRND
@@ -3989,13 +3989,13 @@ if (NOTBI (CPU (h_cond))) {
SI opval = ADDSI (ANDSI (pc, -4), 4);
OPRND (h_gr_SI_14) = opval;
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp8);
OPRND (pc) = opval;
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -4045,7 +4045,7 @@ CASE (sem, INSN_WRITE_BNCL8) : /* bncl.s $disp8 */
{
BI opval = LTSI (* FLD (i_src1), * FLD (i_src2));
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef OPRND
@@ -4083,7 +4083,7 @@ CASE (sem, INSN_WRITE_CMP) : /* cmp $src1,$src2 */
{
BI opval = LTUSI (* FLD (i_src1), * FLD (i_src2));
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef OPRND
@@ -4121,7 +4121,7 @@ CASE (sem, INSN_WRITE_CMPU) : /* cmpu $src1,$src2 */
{
BI opval = EQSI (* FLD (i_src1), * FLD (i_src2));
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef OPRND
@@ -4159,7 +4159,7 @@ CASE (sem, INSN_WRITE_CMPEQ) : /* cmpeq $src1,$src2 */
{
BI opval = EQSI (* FLD (i_src2), 0);
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef OPRND
@@ -4199,7 +4199,7 @@ if (CPU (h_cond)) {
USI opval = ANDSI (* FLD (i_sr), -4);
OPRND (pc) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -4246,7 +4246,7 @@ if (NOTBI (CPU (h_cond))) {
USI opval = ANDSI (* FLD (i_sr), -4);
OPRND (pc) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -4295,12 +4295,12 @@ CASE (sem, INSN_WRITE_JNC) : /* jnc $sr */
{
SI opval = temp0;
OPRND (h_gr_SI_14) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = temp1;
OPRND (pc) = opval;
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -4342,7 +4342,7 @@ CASE (sem, INSN_WRITE_JL) : /* jl $sr */
{
USI opval = ANDSI (* FLD (i_sr), -4);
OPRND (pc) = opval;
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
#undef OPRND
@@ -4382,7 +4382,7 @@ CASE (sem, INSN_WRITE_JMP) : /* jmp $sr */
{
SI opval = GETMEMSI (current_cpu, pc, * FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -4420,7 +4420,7 @@ CASE (sem, INSN_WRITE_LD) : /* ld $dr,@$sr */
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, * FLD (i_sr)));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -4458,7 +4458,7 @@ CASE (sem, INSN_WRITE_LDB) : /* ldb $dr,@$sr */
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, * FLD (i_sr)));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -4496,7 +4496,7 @@ CASE (sem, INSN_WRITE_LDH) : /* ldh $dr,@$sr */
{
SI opval = ZEXTQISI (GETMEMQI (current_cpu, pc, * FLD (i_sr)));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -4534,7 +4534,7 @@ CASE (sem, INSN_WRITE_LDUB) : /* ldub $dr,@$sr */
{
SI opval = ZEXTHISI (GETMEMHI (current_cpu, pc, * FLD (i_sr)));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -4576,12 +4576,12 @@ CASE (sem, INSN_WRITE_LDUH) : /* lduh $dr,@$sr */
{
SI opval = temp0;
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = temp1;
OPRND (sr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -4621,7 +4621,7 @@ CASE (sem, INSN_WRITE_LD_PLUS) : /* ld $dr,@$sr+ */
{
SI opval = FLD (f_simm8);
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -4660,12 +4660,12 @@ CASE (sem, INSN_WRITE_LDI8) : /* ldi8 $dr,$simm8 */
{
BI opval = 1;
OPRND (h_lock_BI) = opval;
- TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
}
{
SI opval = GETMEMSI (current_cpu, pc, * FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -4705,7 +4705,7 @@ CASE (sem, INSN_WRITE_LOCK) : /* lock $dr,@$sr */
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUMS (FLD (f_acc)), MULDI (EXTSIDI (ANDSI (* FLD (i_src1), 0xffff0000)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16))))), 8), 8);
OPRND (acc) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -4743,7 +4743,7 @@ CASE (sem, INSN_WRITE_MACHI_A) : /* machi $src1,$src2,$acc */
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUMS (FLD (f_acc)), MULDI (EXTSIDI (SLLSI (* FLD (i_src1), 16)), EXTHIDI (TRUNCSIHI (* FLD (i_src2))))), 8), 8);
OPRND (acc) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -4781,7 +4781,7 @@ CASE (sem, INSN_WRITE_MACLO_A) : /* maclo $src1,$src2,$acc */
{
DI opval = ADDDI (GET_H_ACCUMS (FLD (f_acc)), MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16)))));
OPRND (acc) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -4819,7 +4819,7 @@ CASE (sem, INSN_WRITE_MACWHI_A) : /* macwhi $src1,$src2,$acc */
{
DI opval = ADDDI (GET_H_ACCUMS (FLD (f_acc)), MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (* FLD (i_src2)))));
OPRND (acc) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -4857,7 +4857,7 @@ CASE (sem, INSN_WRITE_MACWLO_A) : /* macwlo $src1,$src2,$acc */
{
SI opval = MULSI (* FLD (i_dr), * FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -4895,7 +4895,7 @@ CASE (sem, INSN_WRITE_MUL) : /* mul $dr,$sr */
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (ANDSI (* FLD (i_src1), 0xffff0000)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16)))), 16), 16);
OPRND (acc) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -4933,7 +4933,7 @@ CASE (sem, INSN_WRITE_MULHI_A) : /* mulhi $src1,$src2,$acc */
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (SLLSI (* FLD (i_src1), 16)), EXTHIDI (TRUNCSIHI (* FLD (i_src2)))), 16), 16);
OPRND (acc) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -4971,7 +4971,7 @@ CASE (sem, INSN_WRITE_MULLO_A) : /* mullo $src1,$src2,$acc */
{
DI opval = MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16))));
OPRND (acc) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -5009,7 +5009,7 @@ CASE (sem, INSN_WRITE_MULWHI_A) : /* mulwhi $src1,$src2,$acc */
{
DI opval = MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (* FLD (i_src2))));
OPRND (acc) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -5047,7 +5047,7 @@ CASE (sem, INSN_WRITE_MULWLO_A) : /* mulwlo $src1,$src2,$acc */
{
SI opval = * FLD (i_sr);
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5085,7 +5085,7 @@ CASE (sem, INSN_WRITE_MV) : /* mv $dr,$sr */
{
SI opval = TRUNCDISI (SRADI (GET_H_ACCUMS (FLD (f_accs)), 32));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5123,7 +5123,7 @@ CASE (sem, INSN_WRITE_MVFACHI_A) : /* mvfachi $dr,$accs */
{
SI opval = TRUNCDISI (GET_H_ACCUMS (FLD (f_accs)));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5161,7 +5161,7 @@ CASE (sem, INSN_WRITE_MVFACLO_A) : /* mvfaclo $dr,$accs */
{
SI opval = TRUNCDISI (SRADI (GET_H_ACCUMS (FLD (f_accs)), 16));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5199,7 +5199,7 @@ CASE (sem, INSN_WRITE_MVFACMI_A) : /* mvfacmi $dr,$accs */
{
SI opval = GET_H_CR (FLD (f_r2));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5237,7 +5237,7 @@ CASE (sem, INSN_WRITE_MVFC) : /* mvfc $dr,$scr */
{
DI opval = ORDI (ANDDI (GET_H_ACCUMS (FLD (f_accs)), MAKEDI (0, 0xffffffff)), SLLDI (EXTSIDI (* FLD (i_src1)), 32));
OPRND (accs) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -5275,7 +5275,7 @@ CASE (sem, INSN_WRITE_MVTACHI_A) : /* mvtachi $src1,$accs */
{
DI opval = ORDI (ANDDI (GET_H_ACCUMS (FLD (f_accs)), MAKEDI (0xffffffff, 0)), ZEXTSIDI (* FLD (i_src1)));
OPRND (accs) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -5313,7 +5313,7 @@ CASE (sem, INSN_WRITE_MVTACLO_A) : /* mvtaclo $src1,$accs */
{
USI opval = * FLD (i_sr);
OPRND (dcr) = opval;
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
#undef OPRND
@@ -5351,7 +5351,7 @@ CASE (sem, INSN_WRITE_MVTC) : /* mvtc $sr,$dcr */
{
SI opval = NEGSI (* FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5422,7 +5422,7 @@ CASE (sem, INSN_WRITE_NOP) : /* nop */
{
SI opval = INVSI (* FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5464,7 +5464,7 @@ CASE (sem, INSN_WRITE_NOT) : /* not $dr,$sr */
{
DI opval = (GTDI (tmp_tmp1, MAKEDI (32767, 0xffff0000))) ? (MAKEDI (32767, 0xffff0000)) : (LTDI (tmp_tmp1, MAKEDI (0xffff8000, 0))) ? (MAKEDI (0xffff8000, 0)) : (ANDDI (tmp_tmp1, MAKEDI (0xffffffff, 0xffff0000)));
OPRND (accd) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
}
@@ -5507,7 +5507,7 @@ CASE (sem, INSN_WRITE_RAC_DSI) : /* rac $accd,$accs,$imm1 */
{
DI opval = (GTDI (tmp_tmp1, MAKEDI (32767, 0))) ? (MAKEDI (32767, 0)) : (LTDI (tmp_tmp1, MAKEDI (0xffff8000, 0))) ? (MAKEDI (0xffff8000, 0)) : (ANDDI (tmp_tmp1, MAKEDI (0xffffffff, 0)));
OPRND (accd) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
}
@@ -5547,22 +5547,22 @@ CASE (sem, INSN_WRITE_RACH_DSI) : /* rach $accd,$accs,$imm1 */
{
USI opval = ANDSI (GET_H_CR (((UINT) 6)), -4);
OPRND (pc) = opval;
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
{
USI opval = GET_H_CR (((UINT) 14));
OPRND (h_cr_USI_6) = opval;
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
UQI opval = CPU (h_bpsw);
OPRND (h_psw_UQI) = opval;
- TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
}
{
UQI opval = CPU (h_bbpsw);
OPRND (h_bpsw_UQI) = opval;
- TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
}
}
@@ -5606,7 +5606,7 @@ CASE (sem, INSN_WRITE_RTE) : /* rte */
{
SI opval = SLLSI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5644,7 +5644,7 @@ CASE (sem, INSN_WRITE_SLL) : /* sll $dr,$sr */
{
SI opval = SLLSI (* FLD (i_dr), FLD (f_uimm5));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5682,7 +5682,7 @@ CASE (sem, INSN_WRITE_SLLI) : /* slli $dr,$uimm5 */
{
SI opval = SRASI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5720,7 +5720,7 @@ CASE (sem, INSN_WRITE_SRA) : /* sra $dr,$sr */
{
SI opval = SRASI (* FLD (i_dr), FLD (f_uimm5));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5758,7 +5758,7 @@ CASE (sem, INSN_WRITE_SRAI) : /* srai $dr,$uimm5 */
{
SI opval = SRLSI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5796,7 +5796,7 @@ CASE (sem, INSN_WRITE_SRL) : /* srl $dr,$sr */
{
SI opval = SRLSI (* FLD (i_dr), FLD (f_uimm5));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5835,7 +5835,7 @@ CASE (sem, INSN_WRITE_SRLI) : /* srli $dr,$uimm5 */
SI opval = * FLD (i_src1);
OPRND (h_memory_SI_src2_idx) = * FLD (i_src2);
OPRND (h_memory_SI_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef OPRND
@@ -5874,7 +5874,7 @@ CASE (sem, INSN_WRITE_ST) : /* st $src1,@$src2 */
QI opval = * FLD (i_src1);
OPRND (h_memory_QI_src2_idx) = * FLD (i_src2);
OPRND (h_memory_QI_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef OPRND
@@ -5913,7 +5913,7 @@ CASE (sem, INSN_WRITE_STB) : /* stb $src1,@$src2 */
HI opval = * FLD (i_src1);
OPRND (h_memory_HI_src2_idx) = * FLD (i_src2);
OPRND (h_memory_HI_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef OPRND
@@ -5955,12 +5955,12 @@ CASE (sem, INSN_WRITE_STH) : /* sth $src1,@$src2 */
SI opval = * FLD (i_src1);
OPRND (h_memory_SI_new_src2_idx) = tmp_new_src2;
OPRND (h_memory_SI_new_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_new_src2;
OPRND (src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -6004,12 +6004,12 @@ CASE (sem, INSN_WRITE_ST_PLUS) : /* st $src1,@+$src2 */
HI opval = * FLD (i_src1);
OPRND (h_memory_HI_new_src2_idx) = tmp_new_src2;
OPRND (h_memory_HI_new_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = ADDSI (tmp_new_src2, 2);
OPRND (src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -6053,12 +6053,12 @@ CASE (sem, INSN_WRITE_STH_PLUS) : /* sth $src1,@$src2+ */
QI opval = * FLD (i_src1);
OPRND (h_memory_QI_new_src2_idx) = tmp_new_src2;
OPRND (h_memory_QI_new_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = ADDSI (tmp_new_src2, 1);
OPRND (src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -6102,12 +6102,12 @@ CASE (sem, INSN_WRITE_STB_PLUS) : /* stb $src1,@$src2+ */
SI opval = * FLD (i_src1);
OPRND (h_memory_SI_new_src2_idx) = tmp_new_src2;
OPRND (h_memory_SI_new_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_new_src2;
OPRND (src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -6147,7 +6147,7 @@ CASE (sem, INSN_WRITE_ST_MINUS) : /* st $src1,@-$src2 */
{
SI opval = SUBSI (* FLD (i_dr), * FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -6189,12 +6189,12 @@ CASE (sem, INSN_WRITE_SUB) : /* sub $dr,$sr */
{
SI opval = temp0;
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -6238,12 +6238,12 @@ CASE (sem, INSN_WRITE_SUBV) : /* subv $dr,$sr */
{
SI opval = temp0;
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -6284,32 +6284,32 @@ CASE (sem, INSN_WRITE_SUBX) : /* subx $dr,$sr */
{
USI opval = GET_H_CR (((UINT) 6));
OPRND (h_cr_USI_14) = opval;
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
USI opval = ADDSI (pc, 4);
OPRND (h_cr_USI_6) = opval;
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
UQI opval = CPU (h_bpsw);
OPRND (h_bbpsw_UQI) = opval;
- TRACE_RESULT (current_cpu, abuf, "bbpsw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "bbpsw", 'x', opval);
}
{
UQI opval = GET_H_PSW ();
OPRND (h_bpsw_UQI) = opval;
- TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
}
{
UQI opval = ANDQI (GET_H_PSW (), 128);
OPRND (h_psw_UQI) = opval;
- TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
}
{
SI opval = m32r_trap (current_cpu, pc, FLD (f_uimm4));
OPRND (pc) = opval;
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -6359,13 +6359,13 @@ if (CPU (h_lock)) {
OPRND (h_memory_SI_src2_idx) = * FLD (i_src2);
OPRND (h_memory_SI_src2) = opval;
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
{
BI opval = 0;
OPRND (h_lock_BI) = opval;
- TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
}
}
@@ -6409,7 +6409,7 @@ CASE (sem, INSN_WRITE_UNLOCK) : /* unlock $src1,@$src2 */
{
BI opval = (EQSI (ANDSI (* FLD (i_src2), 255), 0)) ? (1) : (EQSI (ANDSI (* FLD (i_src2), 65280), 0)) ? (1) : (EQSI (ANDSI (* FLD (i_src2), 16711680), 0)) ? (1) : (EQSI (ANDSI (* FLD (i_src2), 0xff000000), 0)) ? (1) : (0);
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef OPRND
@@ -6447,7 +6447,7 @@ CASE (sem, INSN_WRITE_PCMPBZ) : /* pcmpbz $src2 */
{
DI opval = ADDDI (SRADI (GET_H_ACCUMS (((UINT) 1)), 16), GET_H_ACCUMS (((UINT) 0)));
OPRND (h_accums_DI_0) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -6485,7 +6485,7 @@ CASE (sem, INSN_WRITE_SADD) : /* sadd */
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUMS (((UINT) 1)), MULDI (EXTSIDI (* FLD (i_src1)), EXTSIDI (ANDSI (* FLD (i_src2), 65535)))), 8), 8);
OPRND (h_accums_DI_1) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -6523,7 +6523,7 @@ CASE (sem, INSN_WRITE_MACWU1) : /* macwu1 $src1,$src2 */
{
DI opval = SRADI (SLLDI (SUBDI (GET_H_ACCUM (), SRADI (SLLDI (MULDI (EXTHIDI (TRUNCSIHI (* FLD (i_src1))), EXTHIDI (TRUNCSIHI (* FLD (i_src2)))), 32), 16)), 8), 8);
OPRND (accum) = opval;
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
#undef OPRND
@@ -6561,7 +6561,7 @@ CASE (sem, INSN_WRITE_MSBLO) : /* msblo $src1,$src2 */
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (* FLD (i_src1)), EXTSIDI (ANDSI (* FLD (i_src2), 65535))), 16), 16);
OPRND (h_accums_DI_1) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -6599,7 +6599,7 @@ CASE (sem, INSN_WRITE_MULWU1) : /* mulwu1 $src1,$src2 */
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUMS (((UINT) 1)), SLLDI (EXTSIDI (MULSI (EXTHISI (TRUNCSIHI (* FLD (i_src1))), SRASI (* FLD (i_src2), 16))), 16)), 8), 8);
OPRND (h_accums_DI_1) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -6705,7 +6705,7 @@ CASE (sem, INSN_WRITE_SNC) : /* snc */
{
USI opval = ANDSI (GET_H_CR (((UINT) 0)), ORSI (ZEXTQISI (INVQI (FLD (f_uimm8))), 65280));
OPRND (h_cr_USI_0) = opval;
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
#undef OPRND
@@ -6743,7 +6743,7 @@ CASE (sem, INSN_WRITE_CLRPSW) : /* clrpsw $uimm8 */
{
USI opval = FLD (f_uimm8);
OPRND (h_cr_USI_0) = opval;
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
#undef OPRND
@@ -6781,7 +6781,7 @@ CASE (sem, INSN_WRITE_SETPSW) : /* setpsw $uimm8 */
{
BI opval = ANDQI (SRLQI (* FLD (i_sr), SUBSI (7, FLD (f_uimm3))), 1);
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef OPRND
diff --git a/sim/m32r/semx-switch.c b/sim/m32r/semx-switch.c
index 8ab7f22aa17..e76f3c587cd 100644
--- a/sim/m32r/semx-switch.c
+++ b/sim/m32r/semx-switch.c
@@ -345,13 +345,13 @@ This file is part of the GNU simulators.
/* If hyper-fast [well not unnecessarily slow] execution is selected, turn
off frills like tracing and profiling. */
-/* FIXME: A better way would be to have TRACE_RESULT check for something
+/* FIXME: A better way would be to have CGEN_TRACE_RESULT check for something
that can cause it to be optimized out. Another way would be to emit
special handlers into the instruction "stream". */
#if FAST_P
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
+#undef CGEN_TRACE_RESULT
+#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
#endif
#undef GET_ATTR
@@ -536,7 +536,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -555,7 +555,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDSI (* FLD (i_sr), FLD (f_simm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -574,7 +574,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ANDSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -593,7 +593,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ANDSI (* FLD (i_sr), FLD (f_uimm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -612,7 +612,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ORSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -631,7 +631,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ORSI (* FLD (i_sr), FLD (f_uimm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -650,7 +650,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = XORSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -669,7 +669,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = XORSI (* FLD (i_sr), FLD (f_uimm16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -688,7 +688,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDSI (* FLD (i_dr), FLD (f_simm8));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -711,12 +711,12 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -740,12 +740,12 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -769,12 +769,12 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -797,7 +797,7 @@ if (CPU (h_cond)) {
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -822,7 +822,7 @@ if (CPU (h_cond)) {
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -847,7 +847,7 @@ if (EQSI (* FLD (i_src1), * FLD (i_src2))) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -872,7 +872,7 @@ if (EQSI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -897,7 +897,7 @@ if (GESI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -922,7 +922,7 @@ if (GTSI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -947,7 +947,7 @@ if (LESI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -972,7 +972,7 @@ if (LTSI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -997,7 +997,7 @@ if (NESI (* FLD (i_src2), 0)) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1021,12 +1021,12 @@ if (NESI (* FLD (i_src2), 0)) {
{
SI opval = ADDSI (ANDSI (pc, -4), 4);
CPU (h_gr[((UINT) 14)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1049,12 +1049,12 @@ if (NESI (* FLD (i_src2), 0)) {
{
SI opval = ADDSI (pc, 4);
CPU (h_gr[((UINT) 14)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1079,13 +1079,13 @@ if (CPU (h_cond)) {
SI opval = ADDSI (ANDSI (pc, -4), 4);
CPU (h_gr[((UINT) 14)]) = opval;
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1112,13 +1112,13 @@ if (CPU (h_cond)) {
SI opval = ADDSI (pc, 4);
CPU (h_gr[((UINT) 14)]) = opval;
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1144,7 +1144,7 @@ if (NOTBI (CPU (h_cond))) {
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1169,7 +1169,7 @@ if (NOTBI (CPU (h_cond))) {
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1194,7 +1194,7 @@ if (NESI (* FLD (i_src1), * FLD (i_src2))) {
USI opval = FLD (i_disp16);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1217,7 +1217,7 @@ if (NESI (* FLD (i_src1), * FLD (i_src2))) {
{
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -1238,7 +1238,7 @@ if (NESI (* FLD (i_src1), * FLD (i_src2))) {
{
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -1262,13 +1262,13 @@ if (NOTBI (CPU (h_cond))) {
SI opval = ADDSI (ANDSI (pc, -4), 4);
CPU (h_gr[((UINT) 14)]) = opval;
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1295,13 +1295,13 @@ if (NOTBI (CPU (h_cond))) {
SI opval = ADDSI (pc, 4);
CPU (h_gr[((UINT) 14)]) = opval;
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp24);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -1324,7 +1324,7 @@ if (NOTBI (CPU (h_cond))) {
{
BI opval = LTSI (* FLD (i_src1), * FLD (i_src2));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -1343,7 +1343,7 @@ if (NOTBI (CPU (h_cond))) {
{
BI opval = LTSI (* FLD (i_src2), FLD (f_simm16));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -1362,7 +1362,7 @@ if (NOTBI (CPU (h_cond))) {
{
BI opval = LTUSI (* FLD (i_src1), * FLD (i_src2));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -1381,7 +1381,7 @@ if (NOTBI (CPU (h_cond))) {
{
BI opval = LTUSI (* FLD (i_src2), FLD (f_simm16));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -1400,7 +1400,7 @@ if (NOTBI (CPU (h_cond))) {
{
BI opval = EQSI (* FLD (i_src1), * FLD (i_src2));
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -1419,7 +1419,7 @@ if (NOTBI (CPU (h_cond))) {
{
BI opval = EQSI (* FLD (i_src2), 0);
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -1440,7 +1440,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = DIVSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1463,7 +1463,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = UDIVSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1486,7 +1486,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = MODSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1509,7 +1509,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = UMODSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1532,7 +1532,7 @@ if (NESI (* FLD (i_sr), 0)) {
SI opval = DIVSI (EXTHISI (TRUNCSIHI (* FLD (i_dr))), * FLD (i_sr));
* FLD (i_dr) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1556,7 +1556,7 @@ if (CPU (h_cond)) {
USI opval = ANDSI (* FLD (i_sr), -4);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1581,7 +1581,7 @@ if (NOTBI (CPU (h_cond))) {
USI opval = ANDSI (* FLD (i_sr), -4);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1608,12 +1608,12 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = temp0;
CPU (h_gr[((UINT) 14)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = temp1;
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -1635,7 +1635,7 @@ if (NOTBI (CPU (h_cond))) {
{
USI opval = ANDSI (* FLD (i_sr), -4);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
SEM_BRANCH_FINI (vpc);
@@ -1655,7 +1655,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = GETMEMSI (current_cpu, pc, * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1674,7 +1674,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1693,7 +1693,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1712,7 +1712,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1731,7 +1731,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1750,7 +1750,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1769,7 +1769,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = ZEXTQISI (GETMEMQI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1788,7 +1788,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = ZEXTQISI (GETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1807,7 +1807,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = ZEXTHISI (GETMEMHI (current_cpu, pc, * FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1826,7 +1826,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = ZEXTHISI (GETMEMHI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1849,12 +1849,12 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = temp1;
* FLD (i_sr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1874,7 +1874,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = FLD (i_uimm24);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1893,7 +1893,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = FLD (f_simm8);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1912,7 +1912,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = FLD (f_simm16);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -1932,12 +1932,12 @@ if (NOTBI (CPU (h_cond))) {
{
BI opval = 1;
CPU (h_lock) = opval;
- TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
}
{
SI opval = GETMEMSI (current_cpu, pc, * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -1957,7 +1957,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUMS (FLD (f_acc)), MULDI (EXTSIDI (ANDSI (* FLD (i_src1), 0xffff0000)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16))))), 8), 8);
SET_H_ACCUMS (FLD (f_acc), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -1976,7 +1976,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUMS (FLD (f_acc)), MULDI (EXTSIDI (SLLSI (* FLD (i_src1), 16)), EXTHIDI (TRUNCSIHI (* FLD (i_src2))))), 8), 8);
SET_H_ACCUMS (FLD (f_acc), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -1995,7 +1995,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = ADDDI (GET_H_ACCUMS (FLD (f_acc)), MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16)))));
SET_H_ACCUMS (FLD (f_acc), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -2014,7 +2014,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = ADDDI (GET_H_ACCUMS (FLD (f_acc)), MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (* FLD (i_src2)))));
SET_H_ACCUMS (FLD (f_acc), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -2033,7 +2033,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = MULSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2052,7 +2052,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (ANDSI (* FLD (i_src1), 0xffff0000)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16)))), 16), 16);
SET_H_ACCUMS (FLD (f_acc), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -2071,7 +2071,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (SLLSI (* FLD (i_src1), 16)), EXTHIDI (TRUNCSIHI (* FLD (i_src2)))), 16), 16);
SET_H_ACCUMS (FLD (f_acc), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -2090,7 +2090,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16))));
SET_H_ACCUMS (FLD (f_acc), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -2109,7 +2109,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (* FLD (i_src2))));
SET_H_ACCUMS (FLD (f_acc), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -2128,7 +2128,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = * FLD (i_sr);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2147,7 +2147,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = TRUNCDISI (SRADI (GET_H_ACCUMS (FLD (f_accs)), 32));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2166,7 +2166,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = TRUNCDISI (GET_H_ACCUMS (FLD (f_accs)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2185,7 +2185,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = TRUNCDISI (SRADI (GET_H_ACCUMS (FLD (f_accs)), 16));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2204,7 +2204,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = GET_H_CR (FLD (f_r2));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2223,7 +2223,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = ORDI (ANDDI (GET_H_ACCUMS (FLD (f_accs)), MAKEDI (0, 0xffffffff)), SLLDI (EXTSIDI (* FLD (i_src1)), 32));
SET_H_ACCUMS (FLD (f_accs), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -2242,7 +2242,7 @@ if (NOTBI (CPU (h_cond))) {
{
DI opval = ORDI (ANDDI (GET_H_ACCUMS (FLD (f_accs)), MAKEDI (0xffffffff, 0)), ZEXTSIDI (* FLD (i_src1)));
SET_H_ACCUMS (FLD (f_accs), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -2261,7 +2261,7 @@ if (NOTBI (CPU (h_cond))) {
{
USI opval = * FLD (i_sr);
SET_H_CR (FLD (f_r1), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
#undef FLD
@@ -2280,7 +2280,7 @@ if (NOTBI (CPU (h_cond))) {
{
SI opval = NEGSI (* FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2314,7 +2314,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = INVSI (* FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2337,7 +2337,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
DI opval = (GTDI (tmp_tmp1, MAKEDI (32767, 0xffff0000))) ? (MAKEDI (32767, 0xffff0000)) : (LTDI (tmp_tmp1, MAKEDI (0xffff8000, 0))) ? (MAKEDI (0xffff8000, 0)) : (ANDDI (tmp_tmp1, MAKEDI (0xffffffff, 0xffff0000)));
SET_H_ACCUMS (FLD (f_accd), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
}
@@ -2361,7 +2361,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
DI opval = (GTDI (tmp_tmp1, MAKEDI (32767, 0))) ? (MAKEDI (32767, 0)) : (LTDI (tmp_tmp1, MAKEDI (0xffff8000, 0))) ? (MAKEDI (0xffff8000, 0)) : (ANDDI (tmp_tmp1, MAKEDI (0xffffffff, 0)));
SET_H_ACCUMS (FLD (f_accd), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
}
@@ -2383,22 +2383,22 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
USI opval = ANDSI (GET_H_CR (((UINT) 6)), -4);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
{
USI opval = GET_H_CR (((UINT) 14));
SET_H_CR (((UINT) 6), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
UQI opval = CPU (h_bpsw);
SET_H_PSW (opval);
- TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
}
{
UQI opval = CPU (h_bbpsw);
CPU (h_bpsw) = opval;
- TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
}
}
@@ -2419,7 +2419,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SLLSI (FLD (f_hi16), 16);
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2438,7 +2438,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SLLSI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2457,7 +2457,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SLLSI (* FLD (i_sr), ANDSI (FLD (f_simm16), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2476,7 +2476,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SLLSI (* FLD (i_dr), FLD (f_uimm5));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2495,7 +2495,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SRASI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2514,7 +2514,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SRASI (* FLD (i_sr), ANDSI (FLD (f_simm16), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2533,7 +2533,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SRASI (* FLD (i_dr), FLD (f_uimm5));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2552,7 +2552,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SRLSI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2571,7 +2571,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SRLSI (* FLD (i_sr), ANDSI (FLD (f_simm16), 31));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2590,7 +2590,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SRLSI (* FLD (i_dr), FLD (f_uimm5));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2609,7 +2609,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, * FLD (i_src2), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2628,7 +2628,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, ADDSI (* FLD (i_src2), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2647,7 +2647,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
QI opval = * FLD (i_src1);
SETMEMQI (current_cpu, pc, * FLD (i_src2), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2666,7 +2666,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
QI opval = * FLD (i_src1);
SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_src2), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2685,7 +2685,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
HI opval = * FLD (i_src1);
SETMEMHI (current_cpu, pc, * FLD (i_src2), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2704,7 +2704,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
HI opval = * FLD (i_src1);
SETMEMHI (current_cpu, pc, ADDSI (* FLD (i_src2), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2726,12 +2726,12 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, tmp_new_src2, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_new_src2;
* FLD (i_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -2754,12 +2754,12 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
HI opval = * FLD (i_src1);
SETMEMHI (current_cpu, pc, tmp_new_src2, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = ADDSI (tmp_new_src2, 2);
* FLD (i_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -2782,12 +2782,12 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
QI opval = * FLD (i_src1);
SETMEMQI (current_cpu, pc, tmp_new_src2, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = ADDSI (tmp_new_src2, 1);
* FLD (i_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -2810,12 +2810,12 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, tmp_new_src2, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_new_src2;
* FLD (i_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -2835,7 +2835,7 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = SUBSI (* FLD (i_dr), * FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -2858,12 +2858,12 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -2887,12 +2887,12 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
SI opval = temp0;
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -2914,32 +2914,32 @@ PROFILE_COUNT_FILLNOPS (current_cpu, abuf->addr);
{
USI opval = GET_H_CR (((UINT) 6));
SET_H_CR (((UINT) 14), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
USI opval = ADDSI (pc, 4);
SET_H_CR (((UINT) 6), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
UQI opval = CPU (h_bpsw);
CPU (h_bbpsw) = opval;
- TRACE_RESULT (current_cpu, abuf, "bbpsw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "bbpsw", 'x', opval);
}
{
UQI opval = GET_H_PSW ();
CPU (h_bpsw) = opval;
- TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
}
{
UQI opval = ANDQI (GET_H_PSW (), 128);
SET_H_PSW (opval);
- TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
}
{
SI opval = m32r_trap (current_cpu, pc, FLD (f_uimm4));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -2963,13 +2963,13 @@ if (CPU (h_lock)) {
SI opval = * FLD (i_src1);
SETMEMSI (current_cpu, pc, * FLD (i_src2), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
{
BI opval = 0;
CPU (h_lock) = opval;
- TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
}
}
@@ -2990,7 +2990,7 @@ if (CPU (h_lock)) {
{
SI opval = (GESI (* FLD (i_sr), 127)) ? (127) : (LESI (* FLD (i_sr), -128)) ? (-128) : (* FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -3009,7 +3009,7 @@ if (CPU (h_lock)) {
{
SI opval = (GESI (* FLD (i_sr), 32767)) ? (32767) : (LESI (* FLD (i_sr), -32768)) ? (-32768) : (* FLD (i_sr));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -3028,7 +3028,7 @@ if (CPU (h_lock)) {
{
SI opval = ((CPU (h_cond)) ? (((LTSI (* FLD (i_sr), 0)) ? (2147483647) : (0x80000000))) : (* FLD (i_sr)));
* FLD (i_dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef FLD
@@ -3047,7 +3047,7 @@ if (CPU (h_lock)) {
{
BI opval = (EQSI (ANDSI (* FLD (i_src2), 255), 0)) ? (1) : (EQSI (ANDSI (* FLD (i_src2), 65280), 0)) ? (1) : (EQSI (ANDSI (* FLD (i_src2), 16711680), 0)) ? (1) : (EQSI (ANDSI (* FLD (i_src2), 0xff000000), 0)) ? (1) : (0);
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -3066,7 +3066,7 @@ if (CPU (h_lock)) {
{
DI opval = ADDDI (SRADI (GET_H_ACCUMS (((UINT) 1)), 16), GET_H_ACCUMS (((UINT) 0)));
SET_H_ACCUMS (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -3085,7 +3085,7 @@ if (CPU (h_lock)) {
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUMS (((UINT) 1)), MULDI (EXTSIDI (* FLD (i_src1)), EXTSIDI (ANDSI (* FLD (i_src2), 65535)))), 8), 8);
SET_H_ACCUMS (((UINT) 1), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -3104,7 +3104,7 @@ if (CPU (h_lock)) {
{
DI opval = SRADI (SLLDI (SUBDI (GET_H_ACCUM (), SRADI (SLLDI (MULDI (EXTHIDI (TRUNCSIHI (* FLD (i_src1))), EXTHIDI (TRUNCSIHI (* FLD (i_src2)))), 32), 16)), 8), 8);
SET_H_ACCUM (opval);
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
#undef FLD
@@ -3123,7 +3123,7 @@ if (CPU (h_lock)) {
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (* FLD (i_src1)), EXTSIDI (ANDSI (* FLD (i_src2), 65535))), 16), 16);
SET_H_ACCUMS (((UINT) 1), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -3142,7 +3142,7 @@ if (CPU (h_lock)) {
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUMS (((UINT) 1)), SLLDI (EXTSIDI (MULSI (EXTHISI (TRUNCSIHI (* FLD (i_src1))), SRASI (* FLD (i_src2), 16))), 16)), 8), 8);
SET_H_ACCUMS (((UINT) 1), opval);
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef FLD
@@ -3193,7 +3193,7 @@ if (ZEXTBISI (NOTBI (CPU (h_cond))))
{
USI opval = ANDSI (GET_H_CR (((UINT) 0)), ORSI (ZEXTQISI (INVQI (FLD (f_uimm8))), 65280));
SET_H_CR (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
#undef FLD
@@ -3212,7 +3212,7 @@ if (ZEXTBISI (NOTBI (CPU (h_cond))))
{
USI opval = FLD (f_uimm8);
SET_H_CR (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
#undef FLD
@@ -3231,7 +3231,7 @@ if (ZEXTBISI (NOTBI (CPU (h_cond))))
{
QI opval = ORQI (GETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))), SLLQI (1, SUBSI (7, FLD (f_uimm3))));
SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -3250,7 +3250,7 @@ if (ZEXTBISI (NOTBI (CPU (h_cond))))
{
QI opval = ANDQI (GETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16))), INVQI (SLLQI (1, SUBSI (7, FLD (f_uimm3)))));
SETMEMQI (current_cpu, pc, ADDSI (* FLD (i_sr), FLD (f_simm16)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -3269,7 +3269,7 @@ if (ZEXTBISI (NOTBI (CPU (h_cond))))
{
BI opval = ANDQI (SRLQI (* FLD (i_sr), SUBSI (7, FLD (f_uimm3))), 1);
CPU (h_cond) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef FLD
@@ -3289,7 +3289,7 @@ if (ZEXTBISI (NOTBI (CPU (h_cond))))
{
SI opval = ADDSI (* FLD (i_dr), * FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -3327,7 +3327,7 @@ CASE (sem, INSN_WRITE_ADD) : /* add $dr,$sr */
{
SI opval = ANDSI (* FLD (i_dr), * FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -3365,7 +3365,7 @@ CASE (sem, INSN_WRITE_AND) : /* and $dr,$sr */
{
SI opval = ORSI (* FLD (i_dr), * FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -3403,7 +3403,7 @@ CASE (sem, INSN_WRITE_OR) : /* or $dr,$sr */
{
SI opval = XORSI (* FLD (i_dr), * FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -3441,7 +3441,7 @@ CASE (sem, INSN_WRITE_XOR) : /* xor $dr,$sr */
{
SI opval = ADDSI (* FLD (i_dr), FLD (f_simm8));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -3483,12 +3483,12 @@ CASE (sem, INSN_WRITE_ADDI) : /* addi $dr,$simm8 */
{
SI opval = temp0;
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -3532,12 +3532,12 @@ CASE (sem, INSN_WRITE_ADDV) : /* addv $dr,$sr */
{
SI opval = temp0;
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -3579,7 +3579,7 @@ if (CPU (h_cond)) {
USI opval = FLD (i_disp8);
OPRND (pc) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -3625,12 +3625,12 @@ CASE (sem, INSN_WRITE_BC8) : /* bc.s $disp8 */
{
SI opval = ADDSI (ANDSI (pc, -4), 4);
OPRND (h_gr_SI_14) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp8);
OPRND (pc) = opval;
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -3675,13 +3675,13 @@ if (CPU (h_cond)) {
SI opval = ADDSI (ANDSI (pc, -4), 4);
OPRND (h_gr_SI_14) = opval;
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp8);
OPRND (pc) = opval;
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -3733,7 +3733,7 @@ if (NOTBI (CPU (h_cond))) {
USI opval = FLD (i_disp8);
OPRND (pc) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -3778,7 +3778,7 @@ CASE (sem, INSN_WRITE_BNC8) : /* bnc.s $disp8 */
{
USI opval = FLD (i_disp8);
OPRND (pc) = opval;
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
#undef OPRND
@@ -3821,13 +3821,13 @@ if (NOTBI (CPU (h_cond))) {
SI opval = ADDSI (ANDSI (pc, -4), 4);
OPRND (h_gr_SI_14) = opval;
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = FLD (i_disp8);
OPRND (pc) = opval;
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
}
@@ -3877,7 +3877,7 @@ CASE (sem, INSN_WRITE_BNCL8) : /* bncl.s $disp8 */
{
BI opval = LTSI (* FLD (i_src1), * FLD (i_src2));
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef OPRND
@@ -3915,7 +3915,7 @@ CASE (sem, INSN_WRITE_CMP) : /* cmp $src1,$src2 */
{
BI opval = LTUSI (* FLD (i_src1), * FLD (i_src2));
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef OPRND
@@ -3953,7 +3953,7 @@ CASE (sem, INSN_WRITE_CMPU) : /* cmpu $src1,$src2 */
{
BI opval = EQSI (* FLD (i_src1), * FLD (i_src2));
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef OPRND
@@ -3991,7 +3991,7 @@ CASE (sem, INSN_WRITE_CMPEQ) : /* cmpeq $src1,$src2 */
{
BI opval = EQSI (* FLD (i_src2), 0);
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef OPRND
@@ -4031,7 +4031,7 @@ if (CPU (h_cond)) {
USI opval = ANDSI (* FLD (i_sr), -4);
OPRND (pc) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -4078,7 +4078,7 @@ if (NOTBI (CPU (h_cond))) {
USI opval = ANDSI (* FLD (i_sr), -4);
OPRND (pc) = opval;
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -4127,12 +4127,12 @@ CASE (sem, INSN_WRITE_JNC) : /* jnc $sr */
{
SI opval = temp0;
OPRND (h_gr_SI_14) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
USI opval = temp1;
OPRND (pc) = opval;
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -4174,7 +4174,7 @@ CASE (sem, INSN_WRITE_JL) : /* jl $sr */
{
USI opval = ANDSI (* FLD (i_sr), -4);
OPRND (pc) = opval;
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
#undef OPRND
@@ -4214,7 +4214,7 @@ CASE (sem, INSN_WRITE_JMP) : /* jmp $sr */
{
SI opval = GETMEMSI (current_cpu, pc, * FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -4252,7 +4252,7 @@ CASE (sem, INSN_WRITE_LD) : /* ld $dr,@$sr */
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, * FLD (i_sr)));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -4290,7 +4290,7 @@ CASE (sem, INSN_WRITE_LDB) : /* ldb $dr,@$sr */
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, * FLD (i_sr)));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -4328,7 +4328,7 @@ CASE (sem, INSN_WRITE_LDH) : /* ldh $dr,@$sr */
{
SI opval = ZEXTQISI (GETMEMQI (current_cpu, pc, * FLD (i_sr)));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -4366,7 +4366,7 @@ CASE (sem, INSN_WRITE_LDUB) : /* ldub $dr,@$sr */
{
SI opval = ZEXTHISI (GETMEMHI (current_cpu, pc, * FLD (i_sr)));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -4408,12 +4408,12 @@ CASE (sem, INSN_WRITE_LDUH) : /* lduh $dr,@$sr */
{
SI opval = temp0;
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
SI opval = temp1;
OPRND (sr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -4453,7 +4453,7 @@ CASE (sem, INSN_WRITE_LD_PLUS) : /* ld $dr,@$sr+ */
{
SI opval = FLD (f_simm8);
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -4492,12 +4492,12 @@ CASE (sem, INSN_WRITE_LDI8) : /* ldi8 $dr,$simm8 */
{
BI opval = 1;
OPRND (h_lock_BI) = opval;
- TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
}
{
SI opval = GETMEMSI (current_cpu, pc, * FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -4537,7 +4537,7 @@ CASE (sem, INSN_WRITE_LOCK) : /* lock $dr,@$sr */
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUMS (FLD (f_acc)), MULDI (EXTSIDI (ANDSI (* FLD (i_src1), 0xffff0000)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16))))), 8), 8);
OPRND (acc) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -4575,7 +4575,7 @@ CASE (sem, INSN_WRITE_MACHI_A) : /* machi $src1,$src2,$acc */
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUMS (FLD (f_acc)), MULDI (EXTSIDI (SLLSI (* FLD (i_src1), 16)), EXTHIDI (TRUNCSIHI (* FLD (i_src2))))), 8), 8);
OPRND (acc) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -4613,7 +4613,7 @@ CASE (sem, INSN_WRITE_MACLO_A) : /* maclo $src1,$src2,$acc */
{
DI opval = ADDDI (GET_H_ACCUMS (FLD (f_acc)), MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16)))));
OPRND (acc) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -4651,7 +4651,7 @@ CASE (sem, INSN_WRITE_MACWHI_A) : /* macwhi $src1,$src2,$acc */
{
DI opval = ADDDI (GET_H_ACCUMS (FLD (f_acc)), MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (* FLD (i_src2)))));
OPRND (acc) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -4689,7 +4689,7 @@ CASE (sem, INSN_WRITE_MACWLO_A) : /* macwlo $src1,$src2,$acc */
{
SI opval = MULSI (* FLD (i_dr), * FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -4727,7 +4727,7 @@ CASE (sem, INSN_WRITE_MUL) : /* mul $dr,$sr */
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (ANDSI (* FLD (i_src1), 0xffff0000)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16)))), 16), 16);
OPRND (acc) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -4765,7 +4765,7 @@ CASE (sem, INSN_WRITE_MULHI_A) : /* mulhi $src1,$src2,$acc */
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (SLLSI (* FLD (i_src1), 16)), EXTHIDI (TRUNCSIHI (* FLD (i_src2)))), 16), 16);
OPRND (acc) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -4803,7 +4803,7 @@ CASE (sem, INSN_WRITE_MULLO_A) : /* mullo $src1,$src2,$acc */
{
DI opval = MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (SRASI (* FLD (i_src2), 16))));
OPRND (acc) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -4841,7 +4841,7 @@ CASE (sem, INSN_WRITE_MULWHI_A) : /* mulwhi $src1,$src2,$acc */
{
DI opval = MULDI (EXTSIDI (* FLD (i_src1)), EXTHIDI (TRUNCSIHI (* FLD (i_src2))));
OPRND (acc) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -4879,7 +4879,7 @@ CASE (sem, INSN_WRITE_MULWLO_A) : /* mulwlo $src1,$src2,$acc */
{
SI opval = * FLD (i_sr);
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -4917,7 +4917,7 @@ CASE (sem, INSN_WRITE_MV) : /* mv $dr,$sr */
{
SI opval = TRUNCDISI (SRADI (GET_H_ACCUMS (FLD (f_accs)), 32));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -4955,7 +4955,7 @@ CASE (sem, INSN_WRITE_MVFACHI_A) : /* mvfachi $dr,$accs */
{
SI opval = TRUNCDISI (GET_H_ACCUMS (FLD (f_accs)));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -4993,7 +4993,7 @@ CASE (sem, INSN_WRITE_MVFACLO_A) : /* mvfaclo $dr,$accs */
{
SI opval = TRUNCDISI (SRADI (GET_H_ACCUMS (FLD (f_accs)), 16));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5031,7 +5031,7 @@ CASE (sem, INSN_WRITE_MVFACMI_A) : /* mvfacmi $dr,$accs */
{
SI opval = GET_H_CR (FLD (f_r2));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5069,7 +5069,7 @@ CASE (sem, INSN_WRITE_MVFC) : /* mvfc $dr,$scr */
{
DI opval = ORDI (ANDDI (GET_H_ACCUMS (FLD (f_accs)), MAKEDI (0, 0xffffffff)), SLLDI (EXTSIDI (* FLD (i_src1)), 32));
OPRND (accs) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -5107,7 +5107,7 @@ CASE (sem, INSN_WRITE_MVTACHI_A) : /* mvtachi $src1,$accs */
{
DI opval = ORDI (ANDDI (GET_H_ACCUMS (FLD (f_accs)), MAKEDI (0xffffffff, 0)), ZEXTSIDI (* FLD (i_src1)));
OPRND (accs) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -5145,7 +5145,7 @@ CASE (sem, INSN_WRITE_MVTACLO_A) : /* mvtaclo $src1,$accs */
{
USI opval = * FLD (i_sr);
OPRND (dcr) = opval;
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
#undef OPRND
@@ -5183,7 +5183,7 @@ CASE (sem, INSN_WRITE_MVTC) : /* mvtc $sr,$dcr */
{
SI opval = NEGSI (* FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5254,7 +5254,7 @@ CASE (sem, INSN_WRITE_NOP) : /* nop */
{
SI opval = INVSI (* FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5296,7 +5296,7 @@ CASE (sem, INSN_WRITE_NOT) : /* not $dr,$sr */
{
DI opval = (GTDI (tmp_tmp1, MAKEDI (32767, 0xffff0000))) ? (MAKEDI (32767, 0xffff0000)) : (LTDI (tmp_tmp1, MAKEDI (0xffff8000, 0))) ? (MAKEDI (0xffff8000, 0)) : (ANDDI (tmp_tmp1, MAKEDI (0xffffffff, 0xffff0000)));
OPRND (accd) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
}
@@ -5339,7 +5339,7 @@ CASE (sem, INSN_WRITE_RAC_DSI) : /* rac $accd,$accs,$imm1 */
{
DI opval = (GTDI (tmp_tmp1, MAKEDI (32767, 0))) ? (MAKEDI (32767, 0)) : (LTDI (tmp_tmp1, MAKEDI (0xffff8000, 0))) ? (MAKEDI (0xffff8000, 0)) : (ANDDI (tmp_tmp1, MAKEDI (0xffffffff, 0)));
OPRND (accd) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
}
@@ -5379,22 +5379,22 @@ CASE (sem, INSN_WRITE_RACH_DSI) : /* rach $accd,$accs,$imm1 */
{
USI opval = ANDSI (GET_H_CR (((UINT) 6)), -4);
OPRND (pc) = opval;
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
{
USI opval = GET_H_CR (((UINT) 14));
OPRND (h_cr_USI_6) = opval;
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
UQI opval = CPU (h_bpsw);
OPRND (h_psw_UQI) = opval;
- TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
}
{
UQI opval = CPU (h_bbpsw);
OPRND (h_bpsw_UQI) = opval;
- TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
}
}
@@ -5438,7 +5438,7 @@ CASE (sem, INSN_WRITE_RTE) : /* rte */
{
SI opval = SLLSI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5476,7 +5476,7 @@ CASE (sem, INSN_WRITE_SLL) : /* sll $dr,$sr */
{
SI opval = SLLSI (* FLD (i_dr), FLD (f_uimm5));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5514,7 +5514,7 @@ CASE (sem, INSN_WRITE_SLLI) : /* slli $dr,$uimm5 */
{
SI opval = SRASI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5552,7 +5552,7 @@ CASE (sem, INSN_WRITE_SRA) : /* sra $dr,$sr */
{
SI opval = SRASI (* FLD (i_dr), FLD (f_uimm5));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5590,7 +5590,7 @@ CASE (sem, INSN_WRITE_SRAI) : /* srai $dr,$uimm5 */
{
SI opval = SRLSI (* FLD (i_dr), ANDSI (* FLD (i_sr), 31));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5628,7 +5628,7 @@ CASE (sem, INSN_WRITE_SRL) : /* srl $dr,$sr */
{
SI opval = SRLSI (* FLD (i_dr), FLD (f_uimm5));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -5667,7 +5667,7 @@ CASE (sem, INSN_WRITE_SRLI) : /* srli $dr,$uimm5 */
SI opval = * FLD (i_src1);
OPRND (h_memory_SI_src2_idx) = * FLD (i_src2);
OPRND (h_memory_SI_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef OPRND
@@ -5706,7 +5706,7 @@ CASE (sem, INSN_WRITE_ST) : /* st $src1,@$src2 */
QI opval = * FLD (i_src1);
OPRND (h_memory_QI_src2_idx) = * FLD (i_src2);
OPRND (h_memory_QI_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef OPRND
@@ -5745,7 +5745,7 @@ CASE (sem, INSN_WRITE_STB) : /* stb $src1,@$src2 */
HI opval = * FLD (i_src1);
OPRND (h_memory_HI_src2_idx) = * FLD (i_src2);
OPRND (h_memory_HI_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef OPRND
@@ -5787,12 +5787,12 @@ CASE (sem, INSN_WRITE_STH) : /* sth $src1,@$src2 */
SI opval = * FLD (i_src1);
OPRND (h_memory_SI_new_src2_idx) = tmp_new_src2;
OPRND (h_memory_SI_new_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_new_src2;
OPRND (src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -5836,12 +5836,12 @@ CASE (sem, INSN_WRITE_ST_PLUS) : /* st $src1,@+$src2 */
HI opval = * FLD (i_src1);
OPRND (h_memory_HI_new_src2_idx) = tmp_new_src2;
OPRND (h_memory_HI_new_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = ADDSI (tmp_new_src2, 2);
OPRND (src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -5885,12 +5885,12 @@ CASE (sem, INSN_WRITE_STH_PLUS) : /* sth $src1,@$src2+ */
QI opval = * FLD (i_src1);
OPRND (h_memory_QI_new_src2_idx) = tmp_new_src2;
OPRND (h_memory_QI_new_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = ADDSI (tmp_new_src2, 1);
OPRND (src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -5934,12 +5934,12 @@ CASE (sem, INSN_WRITE_STB_PLUS) : /* stb $src1,@$src2+ */
SI opval = * FLD (i_src1);
OPRND (h_memory_SI_new_src2_idx) = tmp_new_src2;
OPRND (h_memory_SI_new_src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_new_src2;
OPRND (src2) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
}
@@ -5979,7 +5979,7 @@ CASE (sem, INSN_WRITE_ST_MINUS) : /* st $src1,@-$src2 */
{
SI opval = SUBSI (* FLD (i_dr), * FLD (i_sr));
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
#undef OPRND
@@ -6021,12 +6021,12 @@ CASE (sem, INSN_WRITE_SUB) : /* sub $dr,$sr */
{
SI opval = temp0;
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -6070,12 +6070,12 @@ CASE (sem, INSN_WRITE_SUBV) : /* subv $dr,$sr */
{
SI opval = temp0;
OPRND (dr) = opval;
- TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'x', opval);
}
{
BI opval = temp1;
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
}
@@ -6116,32 +6116,32 @@ CASE (sem, INSN_WRITE_SUBX) : /* subx $dr,$sr */
{
USI opval = GET_H_CR (((UINT) 6));
OPRND (h_cr_USI_14) = opval;
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
USI opval = ADDSI (pc, 4);
OPRND (h_cr_USI_6) = opval;
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
{
UQI opval = CPU (h_bpsw);
OPRND (h_bbpsw_UQI) = opval;
- TRACE_RESULT (current_cpu, abuf, "bbpsw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "bbpsw", 'x', opval);
}
{
UQI opval = GET_H_PSW ();
OPRND (h_bpsw_UQI) = opval;
- TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "bpsw", 'x', opval);
}
{
UQI opval = ANDQI (GET_H_PSW (), 128);
OPRND (h_psw_UQI) = opval;
- TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "psw", 'x', opval);
}
{
SI opval = m32r_trap (current_cpu, pc, FLD (f_uimm4));
OPRND (pc) = opval;
- TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'x', opval);
}
}
@@ -6191,13 +6191,13 @@ if (CPU (h_lock)) {
OPRND (h_memory_SI_src2_idx) = * FLD (i_src2);
OPRND (h_memory_SI_src2) = opval;
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
{
BI opval = 0;
OPRND (h_lock_BI) = opval;
- TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "lock", 'x', opval);
}
}
@@ -6241,7 +6241,7 @@ CASE (sem, INSN_WRITE_UNLOCK) : /* unlock $src1,@$src2 */
{
BI opval = (EQSI (ANDSI (* FLD (i_src2), 255), 0)) ? (1) : (EQSI (ANDSI (* FLD (i_src2), 65280), 0)) ? (1) : (EQSI (ANDSI (* FLD (i_src2), 16711680), 0)) ? (1) : (EQSI (ANDSI (* FLD (i_src2), 0xff000000), 0)) ? (1) : (0);
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef OPRND
@@ -6279,7 +6279,7 @@ CASE (sem, INSN_WRITE_PCMPBZ) : /* pcmpbz $src2 */
{
DI opval = ADDDI (SRADI (GET_H_ACCUMS (((UINT) 1)), 16), GET_H_ACCUMS (((UINT) 0)));
OPRND (h_accums_DI_0) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -6317,7 +6317,7 @@ CASE (sem, INSN_WRITE_SADD) : /* sadd */
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUMS (((UINT) 1)), MULDI (EXTSIDI (* FLD (i_src1)), EXTSIDI (ANDSI (* FLD (i_src2), 65535)))), 8), 8);
OPRND (h_accums_DI_1) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -6355,7 +6355,7 @@ CASE (sem, INSN_WRITE_MACWU1) : /* macwu1 $src1,$src2 */
{
DI opval = SRADI (SLLDI (SUBDI (GET_H_ACCUM (), SRADI (SLLDI (MULDI (EXTHIDI (TRUNCSIHI (* FLD (i_src1))), EXTHIDI (TRUNCSIHI (* FLD (i_src2)))), 32), 16)), 8), 8);
OPRND (accum) = opval;
- TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accum", 'D', opval);
}
#undef OPRND
@@ -6393,7 +6393,7 @@ CASE (sem, INSN_WRITE_MSBLO) : /* msblo $src1,$src2 */
{
DI opval = SRADI (SLLDI (MULDI (EXTSIDI (* FLD (i_src1)), EXTSIDI (ANDSI (* FLD (i_src2), 65535))), 16), 16);
OPRND (h_accums_DI_1) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -6431,7 +6431,7 @@ CASE (sem, INSN_WRITE_MULWU1) : /* mulwu1 $src1,$src2 */
{
DI opval = SRADI (SLLDI (ADDDI (GET_H_ACCUMS (((UINT) 1)), SLLDI (EXTSIDI (MULSI (EXTHISI (TRUNCSIHI (* FLD (i_src1))), SRASI (* FLD (i_src2), 16))), 16)), 8), 8);
OPRND (h_accums_DI_1) = opval;
- TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "accums", 'D', opval);
}
#undef OPRND
@@ -6537,7 +6537,7 @@ CASE (sem, INSN_WRITE_SNC) : /* snc */
{
USI opval = ANDSI (GET_H_CR (((UINT) 0)), ORSI (ZEXTQISI (INVQI (FLD (f_uimm8))), 65280));
OPRND (h_cr_USI_0) = opval;
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
#undef OPRND
@@ -6575,7 +6575,7 @@ CASE (sem, INSN_WRITE_CLRPSW) : /* clrpsw $uimm8 */
{
USI opval = FLD (f_uimm8);
OPRND (h_cr_USI_0) = opval;
- TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'x', opval);
}
#undef OPRND
@@ -6613,7 +6613,7 @@ CASE (sem, INSN_WRITE_SETPSW) : /* setpsw $uimm8 */
{
BI opval = ANDQI (SRLQI (* FLD (i_sr), SUBSI (7, FLD (f_uimm3))), 1);
OPRND (condbit) = opval;
- TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cond", 'x', opval);
}
#undef OPRND
diff --git a/sim/m32r/traps-linux.c b/sim/m32r/traps-linux.c
index ba3da54717d..8fee2a04b54 100644
--- a/sim/m32r/traps-linux.c
+++ b/sim/m32r/traps-linux.c
@@ -18,6 +18,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "sim-main.h"
+#include "sim-syscall.h"
#include "syscall.h"
#include "targ-vals.h"
#include <dirent.h>
@@ -113,28 +114,6 @@ m32r_core_signal (SIM_DESC sd, SIM_CPU *current_cpu, sim_cia cia,
transfer, sig);
}
-/* Read/write functions for system call interface. */
-
-static int
-syscall_read_mem (host_callback *cb, struct cb_syscall *sc,
- unsigned long taddr, char *buf, int bytes)
-{
- SIM_DESC sd = (SIM_DESC) sc->p1;
- SIM_CPU *cpu = (SIM_CPU *) sc->p2;
-
- return sim_core_read_buffer (sd, cpu, read_map, buf, taddr, bytes);
-}
-
-static int
-syscall_write_mem (host_callback *cb, struct cb_syscall *sc,
- unsigned long taddr, const char *buf, int bytes)
-{
- SIM_DESC sd = (SIM_DESC) sc->p1;
- SIM_CPU *cpu = (SIM_CPU *) sc->p2;
-
- return sim_core_write_buffer (sd, cpu, write_map, buf, taddr, bytes);
-}
-
/* Translate target's address to host's address. */
static void *
@@ -234,28 +213,21 @@ m32r_trap (SIM_CPU *current_cpu, PCADDR pc, int num)
{
case TRAP_ELF_SYSCALL :
{
- CB_SYSCALL s;
-
- CB_SYSCALL_INIT (&s);
- s.func = m32rbf_h_gr_get (current_cpu, 0);
- s.arg1 = m32rbf_h_gr_get (current_cpu, 1);
- s.arg2 = m32rbf_h_gr_get (current_cpu, 2);
- s.arg3 = m32rbf_h_gr_get (current_cpu, 3);
-
- if (s.func == TARGET_SYS_exit)
- {
- sim_engine_halt (sd, current_cpu, NULL, pc, sim_exited, s.arg1);
- }
-
- s.p1 = (PTR) sd;
- s.p2 = (PTR) current_cpu;
- s.read_mem = syscall_read_mem;
- s.write_mem = syscall_write_mem;
- cb_syscall (cb, &s);
- m32rbf_h_gr_set (current_cpu, 2, s.errcode);
- m32rbf_h_gr_set (current_cpu, 0, s.result);
- m32rbf_h_gr_set (current_cpu, 1, s.result2);
- break;
+ long result, result2;
+ int errcode;
+
+ sim_syscall_multi (current_cpu,
+ m32rbf_h_gr_get (current_cpu, 0),
+ m32rbf_h_gr_get (current_cpu, 1),
+ m32rbf_h_gr_get (current_cpu, 2),
+ m32rbf_h_gr_get (current_cpu, 3),
+ m32rbf_h_gr_get (current_cpu, 4),
+ &result, &result2, &errcode);
+
+ m32rbf_h_gr_set (current_cpu, 2, errcode);
+ m32rbf_h_gr_set (current_cpu, 0, result);
+ m32rbf_h_gr_set (current_cpu, 1, result2);
+ break;
}
case TRAP_LINUX_SYSCALL :
@@ -290,8 +262,8 @@ m32r_trap (SIM_CPU *current_cpu, PCADDR pc, int num)
s.p1 = (PTR) sd;
s.p2 = (PTR) current_cpu;
- s.read_mem = syscall_read_mem;
- s.write_mem = syscall_write_mem;
+ s.read_mem = sim_syscall_read_mem;
+ s.write_mem = sim_syscall_write_mem;
result = 0;
result2 = 0;
diff --git a/sim/m32r/traps.c b/sim/m32r/traps.c
index b0814b2e632..225c37fb2fc 100644
--- a/sim/m32r/traps.c
+++ b/sim/m32r/traps.c
@@ -18,6 +18,7 @@
along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "sim-main.h"
+#include "sim-syscall.h"
#include "targ-vals.h"
#define TRAP_FLUSH_CACHE 12
@@ -92,28 +93,6 @@ m32r_core_signal (SIM_DESC sd, SIM_CPU *current_cpu, sim_cia cia,
transfer, sig);
}
-/* Read/write functions for system call interface. */
-
-static int
-syscall_read_mem (host_callback *cb, struct cb_syscall *sc,
- unsigned long taddr, char *buf, int bytes)
-{
- SIM_DESC sd = (SIM_DESC) sc->p1;
- SIM_CPU *cpu = (SIM_CPU *) sc->p2;
-
- return sim_core_read_buffer (sd, cpu, read_map, buf, taddr, bytes);
-}
-
-static int
-syscall_write_mem (host_callback *cb, struct cb_syscall *sc,
- unsigned long taddr, const char *buf, int bytes)
-{
- SIM_DESC sd = (SIM_DESC) sc->p1;
- SIM_CPU *cpu = (SIM_CPU *) sc->p2;
-
- return sim_core_write_buffer (sd, cpu, write_map, buf, taddr, bytes);
-}
-
/* Trap support.
The result is the pc address to continue at.
Preprocessing like saving the various registers has already been done. */
@@ -150,27 +129,20 @@ m32r_trap (SIM_CPU *current_cpu, PCADDR pc, int num)
{
case TRAP_SYSCALL :
{
- CB_SYSCALL s;
-
- CB_SYSCALL_INIT (&s);
- s.func = m32rbf_h_gr_get (current_cpu, 0);
- s.arg1 = m32rbf_h_gr_get (current_cpu, 1);
- s.arg2 = m32rbf_h_gr_get (current_cpu, 2);
- s.arg3 = m32rbf_h_gr_get (current_cpu, 3);
-
- if (s.func == TARGET_SYS_exit)
- {
- sim_engine_halt (sd, current_cpu, NULL, pc, sim_exited, s.arg1);
- }
-
- s.p1 = (PTR) sd;
- s.p2 = (PTR) current_cpu;
- s.read_mem = syscall_read_mem;
- s.write_mem = syscall_write_mem;
- cb_syscall (cb, &s);
- m32rbf_h_gr_set (current_cpu, 2, s.errcode);
- m32rbf_h_gr_set (current_cpu, 0, s.result);
- m32rbf_h_gr_set (current_cpu, 1, s.result2);
+ long result, result2;
+ int errcode;
+
+ sim_syscall_multi (current_cpu,
+ m32rbf_h_gr_get (current_cpu, 0),
+ m32rbf_h_gr_get (current_cpu, 1),
+ m32rbf_h_gr_get (current_cpu, 2),
+ m32rbf_h_gr_get (current_cpu, 3),
+ m32rbf_h_gr_get (current_cpu, 4),
+ &result, &result2, &errcode);
+
+ m32rbf_h_gr_set (current_cpu, 2, errcode);
+ m32rbf_h_gr_set (current_cpu, 0, result);
+ m32rbf_h_gr_set (current_cpu, 1, result2);
break;
}
diff --git a/sim/m68hc11/ChangeLog b/sim/m68hc11/ChangeLog
index f87aedf8496..2c5cf17174d 100644
--- a/sim/m68hc11/ChangeLog
+++ b/sim/m68hc11/ChangeLog
@@ -1,3 +1,28 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-11 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (interrupt_names): Delete.
+
+2015-06-11 Mike Frysinger <vapier@gentoo.org>
+
+ * Makefile.in (SIM_OBJS): Add sim-resume.o
+ * interp.c (has_stepped, sim_resume): Delete.
+
+2015-06-11 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (INLINE): Delete define.
+
2015-04-29 Nick Clifton <nickc@redhat.com>
PR 18273
diff --git a/sim/m68hc11/Makefile.in b/sim/m68hc11/Makefile.in
index 9b931a19958..98b811a2648 100644
--- a/sim/m68hc11/Makefile.in
+++ b/sim/m68hc11/Makefile.in
@@ -25,7 +25,8 @@ SIM_OBJS = $(M68HC11_OBJS) \
sim-load.o \
sim-hload.o \
sim-stop.o \
- sim-reason.o
+ sim-reason.o \
+ sim-resume.o
SIM_PROFILE= -DPROFILE=1 -DWITH_PROFILE=-1
# We must use 32-bit addresses to support memory bank switching.
diff --git a/sim/m68hc11/configure b/sim/m68hc11/configure
index 7bde7e486c7..5d7749d1149 100755
--- a/sim/m68hc11/configure
+++ b/sim/m68hc11/configure
@@ -1404,15 +1404,23 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-inline=inlines Specify which functions should be inlined.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-inline=inlines
+ Specify which functions should be inlined
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings if gcc is used
--enable-sim-build-warnings
@@ -2226,7 +2234,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12305,7 +12313,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12308 "configure"
+#line 12316 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12411,7 +12419,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12414 "configure"
+#line 12422 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12747,10 +12755,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/m68hc11/interp.c b/sim/m68hc11/interp.c
index 659001ab013..a1d98a732bc 100644
--- a/sim/m68hc11/interp.c
+++ b/sim/m68hc11/interp.c
@@ -33,22 +33,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
static void sim_get_info (SIM_DESC sd, char *cmd);
-
-char *interrupt_names[] = {
- "reset",
- "nmi",
- "int",
- NULL
-};
-
-#ifndef INLINE
-#if defined(__GNUC__) && defined(__OPTIMIZE__)
-#define INLINE __inline__
-#else
-#define INLINE
-#endif
-#endif
-
struct sim_info_list
{
const char *name;
@@ -707,79 +691,3 @@ sim_store_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
return 2;
}
-
-/* Halt the simulator after just one instruction */
-
-static void
-has_stepped (SIM_DESC sd,
- void *data)
-{
- ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
- sim_engine_halt (sd, NULL, NULL, NULL_CIA, sim_stopped, SIM_SIGTRAP);
-}
-
-
-/* Generic resume - assumes the existance of sim_engine_run */
-
-void
-sim_resume (SIM_DESC sd,
- int step,
- int siggnal)
-{
- sim_engine *engine = STATE_ENGINE (sd);
- jmp_buf buf;
- int jmpval;
-
- ASSERT (STATE_MAGIC (sd) == SIM_MAGIC_NUMBER);
-
- /* we only want to be single stepping the simulator once */
- if (engine->stepper != NULL)
- {
- sim_events_deschedule (sd, engine->stepper);
- engine->stepper = NULL;
- }
- sim_module_resume (sd);
-
- /* run/resume the simulator */
- engine->jmpbuf = &buf;
- jmpval = setjmp (buf);
- if (jmpval == sim_engine_start_jmpval
- || jmpval == sim_engine_restart_jmpval)
- {
- int last_cpu_nr = sim_engine_last_cpu_nr (sd);
- int next_cpu_nr = sim_engine_next_cpu_nr (sd);
- int nr_cpus = sim_engine_nr_cpus (sd);
-
- sim_events_preprocess (sd, last_cpu_nr >= nr_cpus, next_cpu_nr >= nr_cpus);
- if (next_cpu_nr >= nr_cpus)
- next_cpu_nr = 0;
-
- /* Only deliver the siggnal ]sic] the first time through - don't
- re-deliver any siggnal during a restart. */
- if (jmpval == sim_engine_restart_jmpval)
- siggnal = 0;
-
- /* Install the stepping event after having processed some
- pending events. This is necessary for HC11/HC12 simulator
- because the tick counter is incremented by the number of cycles
- the instruction took. Some pending ticks to process can still
- be recorded internally by the simulator and sim_events_preprocess
- will handle them. If the stepping event is inserted before,
- these pending ticks will raise the event and the simulator will
- stop without having executed any instruction. */
- if (step)
- engine->stepper = sim_events_schedule (sd, 0, has_stepped, sd);
-
-#ifdef SIM_CPU_EXCEPTION_RESUME
- {
- sim_cpu* cpu = STATE_CPU (sd, next_cpu_nr);
- SIM_CPU_EXCEPTION_RESUME(sd, cpu, siggnal);
- }
-#endif
-
- sim_engine_run (sd, next_cpu_nr, nr_cpus, siggnal);
- }
- engine->jmpbuf = NULL;
-
- sim_module_suspend (sd);
-}
diff --git a/sim/mcore/ChangeLog b/sim/mcore/ChangeLog
index 3ebbef2f1d9..d396ab4300c 100644
--- a/sim/mcore/ChangeLog
+++ b/sim/mcore/ChangeLog
@@ -1,3 +1,27 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-17 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (handle_trap1): Replace call to cb_syscall with
+ sim_syscall.
+
+2015-06-17 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c: Include sim-syscall.h.
+ (syscall_read_mem, syscall_write_mem): Delete.
+ (m32r_trap): Change syscall_read_mem/syscall_write_mem
+ to sim_syscall_read_mem/sim_syscall_write_mem.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
2015-04-21 Mike Frysinger <vapier@gentoo.org>
* interp.c (sim_resume): Change %x to %lx for all cpu registers.
diff --git a/sim/mcore/configure b/sim/mcore/configure
index 39f93ad4b44..215f0c45bfa 100755
--- a/sim/mcore/configure
+++ b/sim/mcore/configure
@@ -1405,17 +1405,28 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
- --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.
- --enable-sim-inline=inlines Specify which functions should be inlined.
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
+ --enable-sim-environment=environment
+ Specify mixed, user, virtual or operating
+ environment
+ --enable-sim-inline=inlines
+ Specify which functions should be inlined
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings if gcc is used
--enable-sim-build-warnings
@@ -2227,7 +2238,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12306,7 +12317,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12309 "configure"
+#line 12320 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12412,7 +12423,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12415 "configure"
+#line 12426 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12748,10 +12759,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/mcore/interp.c b/sim/mcore/interp.c
index c13dbd8aac2..64d148a10b0 100644
--- a/sim/mcore/interp.c
+++ b/sim/mcore/interp.c
@@ -31,6 +31,7 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */
#include "sim-main.h"
#include "sim-base.h"
+#include "sim-syscall.h"
#include "sim-options.h"
#define target_big_endian (CURRENT_TARGET_BYTE_ORDER == BIG_ENDIAN)
@@ -197,53 +198,15 @@ set_initial_gprs (SIM_CPU *scpu)
cpu.gr[PARM4] = cpu.gr[0];
}
-/* Read/write functions for system call interface. */
-
-static int
-syscall_read_mem (host_callback *cb, struct cb_syscall *sc,
- unsigned long taddr, char *buf, int bytes)
-{
- SIM_DESC sd = (SIM_DESC) sc->p1;
- SIM_CPU *cpu = (SIM_CPU *) sc->p2;
-
- return sim_core_read_buffer (sd, cpu, read_map, buf, taddr, bytes);
-}
-
-static int
-syscall_write_mem (host_callback *cb, struct cb_syscall *sc,
- unsigned long taddr, const char *buf, int bytes)
-{
- SIM_DESC sd = (SIM_DESC) sc->p1;
- SIM_CPU *cpu = (SIM_CPU *) sc->p2;
-
- return sim_core_write_buffer (sd, cpu, write_map, buf, taddr, bytes);
-}
-
/* Simulate a monitor trap. */
static void
handle_trap1 (SIM_DESC sd)
{
- host_callback *cb = STATE_CALLBACK (sd);
- CB_SYSCALL sc;
-
- CB_SYSCALL_INIT (&sc);
-
- sc.func = cpu.gr[TRAPCODE];
- sc.arg1 = cpu.gr[PARM1];
- sc.arg2 = cpu.gr[PARM2];
- sc.arg3 = cpu.gr[PARM3];
- sc.arg4 = cpu.gr[PARM4];
-
- sc.p1 = (PTR) sd;
- sc.p2 = (PTR) STATE_CPU (sd, 0);
- sc.read_mem = syscall_read_mem;
- sc.write_mem = syscall_write_mem;
-
- cb_syscall (cb, &sc);
-
/* XXX: We don't pass back the actual errno value. */
- cpu.gr[RET1] = sc.result;
+ cpu.gr[RET1] = sim_syscall (STATE_CPU (sd, 0), cpu.gr[TRAPCODE],
+ cpu.gr[PARM1], cpu.gr[PARM2], cpu.gr[PARM3],
+ cpu.gr[PARM4]);
}
static void
diff --git a/sim/microblaze/ChangeLog b/sim/microblaze/ChangeLog
index cd4be04ad50..765480c14fb 100644
--- a/sim/microblaze/ChangeLog
+++ b/sim/microblaze/ChangeLog
@@ -1,3 +1,25 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-11 Mike Frysinger <vapier@gentoo.org>
+
+ * Makefile.in (SIM_OBJS): Add sim-resume.o.
+ * interp.c (sim_resume): rename to ...
+ (sim_engine_run): ... this. Change CPU.exception setting to
+ sim_engine_halt calls. Change do/while to while(1). Call
+ sim_events_process when sim_events_tick is true.
+ (sim_stop_reason): Delete.
+ * sim-main.h (microblaze_regset): Delete exception member.
+
2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-main.h (SIM_CPU): Delete.
diff --git a/sim/microblaze/Makefile.in b/sim/microblaze/Makefile.in
index 6c631291b18..ca4f70a4073 100644
--- a/sim/microblaze/Makefile.in
+++ b/sim/microblaze/Makefile.in
@@ -22,6 +22,7 @@ SIM_OBJS = \
$(SIM_NEW_COMMON_OBJS) \
sim-hload.o \
sim-reason.o \
+ sim-resume.o \
sim-stop.o
## COMMON_POST_CONFIG_FRAG
diff --git a/sim/microblaze/configure b/sim/microblaze/configure
index 39f93ad4b44..215f0c45bfa 100755
--- a/sim/microblaze/configure
+++ b/sim/microblaze/configure
@@ -1405,17 +1405,28 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
- --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.
- --enable-sim-inline=inlines Specify which functions should be inlined.
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
+ --enable-sim-environment=environment
+ Specify mixed, user, virtual or operating
+ environment
+ --enable-sim-inline=inlines
+ Specify which functions should be inlined
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings if gcc is used
--enable-sim-build-warnings
@@ -2227,7 +2238,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12306,7 +12317,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12309 "configure"
+#line 12320 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12412,7 +12423,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12415 "configure"
+#line 12426 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12748,10 +12759,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/microblaze/interp.c b/sim/microblaze/interp.c
index e05c107dc6c..93e622dc5f8 100644
--- a/sim/microblaze/interp.c
+++ b/sim/microblaze/interp.c
@@ -110,7 +110,10 @@ set_initial_gprs (SIM_CPU *cpu)
static int tracing = 0;
void
-sim_resume (SIM_DESC sd, int step, int siggnal)
+sim_engine_run (SIM_DESC sd,
+ int next_cpu_nr, /* ignore */
+ int nr_cpus, /* ignore */
+ int siggnal) /* ignore */
{
SIM_CPU *cpu = STATE_CPU (sd, 0);
int needfetch;
@@ -132,13 +135,11 @@ sim_resume (SIM_DESC sd, int step, int siggnal)
short num_delay_slot; /* UNUSED except as reqd parameter */
enum microblaze_instr_type insn_type;
- CPU.exception = step ? SIGTRAP : 0;
-
memops = 0;
bonus_cycles = 0;
insts = 0;
- do
+ while (1)
{
/* Fetch the initial instructions that we'll decode. */
inst = MEM_RD_WORD (PC & 0xFFFFFFFC);
@@ -161,12 +162,12 @@ sim_resume (SIM_DESC sd, int step, int siggnal)
delay_slot_enable = 0;
branch_taken = 0;
if (op == microblaze_brk)
- CPU.exception = SIGTRAP;
+ sim_engine_halt (sd, NULL, NULL, NULL_CIA, sim_stopped, SIM_SIGTRAP);
else if (inst == MICROBLAZE_HALT_INST)
{
- CPU.exception = SIGQUIT;
insts += 1;
bonus_cycles++;
+ sim_engine_halt (sd, NULL, NULL, NULL_CIA, sim_exited, RETREG);
}
else
{
@@ -180,7 +181,8 @@ sim_resume (SIM_DESC sd, int step, int siggnal)
#undef INSTRUCTION
default:
- CPU.exception = SIGILL;
+ sim_engine_halt (sd, NULL, NULL, NULL_CIA, sim_signalled,
+ SIM_SIGILL);
fprintf (stderr, "ERROR: Unknown opcode\n");
}
/* Make R0 consistent */
@@ -238,7 +240,8 @@ sim_resume (SIM_DESC sd, int step, int siggnal)
if (STATE_VERBOSE_P (sd))
fprintf (stderr, "Cannot have branch or return instructions "
"in delay slot (at address 0x%x)\n", PC);
- CPU.exception = SIGILL;
+ sim_engine_halt (sd, NULL, NULL, NULL_CIA, sim_signalled,
+ SIM_SIGILL);
}
else
{
@@ -252,7 +255,8 @@ sim_resume (SIM_DESC sd, int step, int siggnal)
#undef INSTRUCTION
default:
- CPU.exception = SIGILL;
+ sim_engine_halt (sd, NULL, NULL, NULL_CIA,
+ sim_signalled, SIM_SIGILL);
fprintf (stderr, "ERROR: Unknown opcode at 0x%x\n", PC);
}
/* Update cycle counts */
@@ -287,8 +291,10 @@ sim_resume (SIM_DESC sd, int step, int siggnal)
if (tracing)
fprintf (stderr, "\n");
+
+ if (sim_events_tick (sd))
+ sim_events_process (sd);
}
- while (!CPU.exception);
/* Hide away the things we've cached while executing. */
/* CPU.pc = pc; */
@@ -349,23 +355,6 @@ sim_fetch_register (SIM_DESC sd, int rn, unsigned char *memory, int length)
}
void
-sim_stop_reason (SIM_DESC sd, enum sim_stop *reason, int *sigrc)
-{
- SIM_CPU *cpu = STATE_CPU (sd, 0);
-
- if (CPU.exception == SIGQUIT)
- {
- *reason = sim_exited;
- *sigrc = RETREG;
- }
- else
- {
- *reason = sim_stopped;
- *sigrc = CPU.exception;
- }
-}
-
-void
sim_info (SIM_DESC sd, int verbose)
{
SIM_CPU *cpu = STATE_CPU (sd, 0);
diff --git a/sim/microblaze/sim-main.h b/sim/microblaze/sim-main.h
index ab4e6afd0d8..678137421bf 100644
--- a/sim/microblaze/sim-main.h
+++ b/sim/microblaze/sim-main.h
@@ -39,7 +39,6 @@
word spregs[2]; /* pc + msr */
int cycles;
int insts;
- int exception;
ubyte imm_enable;
half imm_high;
};
diff --git a/sim/mips/ChangeLog b/sim/mips/ChangeLog
index 1feeb83d5b1..d9c86a76834 100644
--- a/sim/mips/ChangeLog
+++ b/sim/mips/ChangeLog
@@ -1,3 +1,29 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure.ac: Change configure.in to configure.ac.
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c [TRACE]: Delete.
+ (TRACE): Change to WITH_TRACE_ANY_P.
+ [!WITH_TRACE_ANY_P] (open_trace): Define.
+ (mips_option_handler, open_trace, sim_close, dotrace):
+ Change defined(TRACE) to WITH_TRACE_ANY_P.
+ (sim_open): Delete TRACE ifdef check.
+ * sim-main.c (load_memory): Delete TRACE ifdef check.
+ (store_memory): Likewise.
+ * sim-main.h [WITH_TRACE_ANY_P] (dotrace, tracefh): Protect decls.
+ [!WITH_TRACE_ANY_P] (dotrace): Define.
+
2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-main.h (SIM_ENGINE_HALT_HOOK, SIM_ENGINE_RESTART_HOOK): Delete
diff --git a/sim/mips/configure b/sim/mips/configure
index 16367a80a54..f073b2b86fb 100755
--- a/sim/mips/configure
+++ b/sim/mips/configure
@@ -1426,25 +1426,38 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-inline=inlines Specify which functions should be inlined.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-inline=inlines
+ Specify which functions should be inlined
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings if gcc is used
--enable-sim-build-warnings
enable SIM specific build-time compiler warnings if
gcc is used
- --enable-sim-reserved-bits Specify whether to check reserved bits in instruction.
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-bitsize=N Specify target bitsize (32 or 64).
- --enable-sim-float Specify that the target processor has floating point hardware.
- --enable-sim-smp=n Specify number of processors to configure for (default ${default_sim_smp}).
+ --enable-sim-reserved-bits
+ Specify whether to check reserved bits in
+ instruction
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-bitsize=N Specify target bitsize (32 or 64)
+ --enable-sim-float Specify that the target processor has floating point
+ hardware
+ --enable-sim-smp=n Specify number of processors to configure for
+ (default ${default_sim_smp})
--enable-sim-hardware=LIST
Specify the hardware to be included in the build.
@@ -2255,7 +2268,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12334,7 +12347,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12337 "configure"
+#line 12350 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12440,7 +12453,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12443 "configure"
+#line 12456 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12776,10 +12789,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
@@ -13743,7 +13756,7 @@ if test ${sim_gen} = MULTI; then
# Simple sanity check.
if test -z "${sim_multi_configs}" || test -z "${sim_multi_default}"; then
- as_fn_error "Error in configure.in: MULTI simulator not set up correctly" "$LINENO" 5
+ as_fn_error "Error in configure.ac: MULTI simulator not set up correctly" "$LINENO" 5
fi
# Start in a known state.
@@ -13868,7 +13881,7 @@ __EOF__
# Check whether we added a 'default:' label.
if test ${sim_seen_default} = no; then
- as_fn_error "Error in configure.in: \${sim_multi_configs} doesn't have an entry for \${sim_multi_default}" "$LINENO" 5
+ as_fn_error "Error in configure.ac: \${sim_multi_configs} doesn't have an entry for \${sim_multi_default}" "$LINENO" 5
fi
cat << __EOF__ >> multi-run.c
@@ -13912,7 +13925,7 @@ else
sim_multi_src=doesnt-exist.c
if test x"${sim_mach_default}" = x""; then
- as_fn_error "Error in configure.in: \${sim_mach_default} not defined" "$LINENO" 5
+ as_fn_error "Error in configure.ac: \${sim_mach_default} not defined" "$LINENO" 5
fi
SIM_SUBTARGET="$SIM_SUBTARGET -DMIPS_MACH_DEFAULT=bfd_mach_${sim_mach_default}"
fi
diff --git a/sim/mips/configure.ac b/sim/mips/configure.ac
index 4dee7d4606b..d7863510c72 100644
--- a/sim/mips/configure.ac
+++ b/sim/mips/configure.ac
@@ -221,7 +221,7 @@ if test ${sim_gen} = MULTI; then
# Simple sanity check.
if test -z "${sim_multi_configs}" || test -z "${sim_multi_default}"; then
- AC_MSG_ERROR(Error in configure.in: MULTI simulator not set up correctly)
+ AC_MSG_ERROR(Error in configure.ac: MULTI simulator not set up correctly)
fi
# Start in a known state.
@@ -346,7 +346,7 @@ __EOF__
# Check whether we added a 'default:' label.
if test ${sim_seen_default} = no; then
- AC_MSG_ERROR(Error in configure.in: \${sim_multi_configs} doesn't have an entry for \${sim_multi_default})
+ AC_MSG_ERROR(Error in configure.ac: \${sim_multi_configs} doesn't have an entry for \${sim_multi_default})
fi
cat << __EOF__ >> multi-run.c
@@ -390,7 +390,7 @@ else
sim_multi_src=doesnt-exist.c
if test x"${sim_mach_default}" = x""; then
- AC_MSG_ERROR(Error in configure.in: \${sim_mach_default} not defined)
+ AC_MSG_ERROR(Error in configure.ac: \${sim_mach_default} not defined)
fi
SIM_SUBTARGET="$SIM_SUBTARGET -DMIPS_MACH_DEFAULT=bfd_mach_${sim_mach_default}"
fi
diff --git a/sim/mips/interp.c b/sim/mips/interp.c
index 38f25247c71..ed44cd97e60 100644
--- a/sim/mips/interp.c
+++ b/sim/mips/interp.c
@@ -22,13 +22,6 @@ code on the hardware.
*/
-/* The TRACE manifests enable the provision of extra features. If they
- are not defined then a simpler (quicker) simulator is constructed
- without the required run-time checks, etc. */
-#if 1 /* 0 to allow user build selection, 1 to force inclusion */
-#define TRACE (1)
-#endif
-
#include "config.h"
#include "bfd.h"
#include "sim-main.h"
@@ -157,11 +150,13 @@ static SIM_RC sim_firmware_command (SIM_DESC sd, char* arg);
#define MEM_SIZE (8 << 20) /* 8 MBytes */
-#if defined(TRACE)
+#if WITH_TRACE_ANY_P
static char *tracefile = "trace.din"; /* default filename for trace log */
FILE *tracefh = NULL;
static void open_trace (SIM_DESC sd);
-#endif /* TRACE */
+#else
+#define open_trace(sd)
+#endif
static const char * get_insn_name (sim_cpu *, int);
@@ -189,7 +184,7 @@ mips_option_handler (SIM_DESC sd, sim_cpu *cpu, int opt, char *arg,
switch (opt)
{
case OPTION_DINERO_TRACE: /* ??? */
-#if defined(TRACE)
+#if WITH_TRACE_ANY_P
/* Eventually the simTRACE flag could be treated as a toggle, to
allow external control of the program points being traced
(i.e. only from main onwards, excluding the run-time setup,
@@ -214,15 +209,15 @@ mips_option_handler (SIM_DESC sd, sim_cpu *cpu, int opt, char *arg,
}
}
return SIM_RC_OK;
-#else /* !TRACE */
+#else /* !WITH_TRACE_ANY_P */
fprintf(stderr,"\
Simulator constructed without dinero tracing support (for performance).\n\
-Re-compile simulator with \"-DTRACE\" to enable this option.\n");
+Re-compile simulator with \"-DWITH_TRACE_ANY_P\" to enable this option.\n");
return SIM_RC_FAIL;
-#endif /* !TRACE */
+#endif /* !WITH_TRACE_ANY_P */
case OPTION_DINERO_FILE:
-#if defined(TRACE)
+#if WITH_TRACE_ANY_P
if (optarg != NULL) {
char *tmp;
tmp = (char *)malloc(strlen(optarg) + 1);
@@ -237,7 +232,7 @@ Re-compile simulator with \"-DTRACE\" to enable this option.\n");
sim_io_printf(sd,"Placing trace information into file \"%s\"\n",tracefile);
}
}
-#endif /* TRACE */
+#endif /* WITH_TRACE_ANY_P */
return SIM_RC_OK;
case OPTION_FIRMWARE:
@@ -695,10 +690,8 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb, struct bfd *abfd, char **argv)
}
-#if defined(TRACE)
if (STATE & simTRACE)
open_trace(sd);
-#endif /* TRACE */
/*
sim_io_eprintf (sd, "idt@%x pmon@%x lsipmon@%x\n",
@@ -821,7 +814,7 @@ sim_open (SIM_OPEN_KIND kind, host_callback *cb, struct bfd *abfd, char **argv)
return sd;
}
-#if defined(TRACE)
+#if WITH_TRACE_ANY_P
static void
open_trace (SIM_DESC sd)
{
@@ -832,7 +825,7 @@ open_trace (SIM_DESC sd)
tracefh = stderr;
}
}
-#endif /* TRACE */
+#endif
/* Return name of an insn, used by insn profiling. */
static const char *
@@ -858,11 +851,11 @@ sim_close (SIM_DESC sd, int quitting)
mechanism are released: */
sim_io_shutdown (sd);
-#if defined(TRACE)
+#if WITH_TRACE_ANY_P
if (tracefh != NULL && tracefh != stderr)
fclose(tracefh);
tracefh = NULL;
-#endif /* TRACE */
+#endif
/* FIXME - free SD */
@@ -1676,16 +1669,16 @@ mips16_entry (SIM_DESC sd,
/*-- trace support ----------------------------------------------------------*/
-/* The TRACE support is provided (if required) in the memory accessing
+/* The trace support is provided (if required) in the memory accessing
routines. Since we are also providing the architecture specific
features, the architecture simulation code can also deal with
- notifying the TRACE world of cache flushes, etc. Similarly we do
+ notifying the trace world of cache flushes, etc. Similarly we do
not need to provide profiling support in the simulator engine,
since we can sample in the instruction fetch control loop. By
- defining the TRACE manifest, we add tracing as a run-time
+ defining the trace manifest, we add tracing as a run-time
option. */
-#if defined(TRACE)
+#if WITH_TRACE_ANY_P
/* Tracing by default produces "din" format (as required by
dineroIII). Each line of such a trace file *MUST* have a din label
and address field. The rest of the line is ignored, so comments can
@@ -1749,7 +1742,7 @@ dotrace (SIM_DESC sd,
return;
}
-#endif /* TRACE */
+#endif /* WITH_TRACE_ANY_P */
/*---------------------------------------------------------------------------*/
/*-- simulator engine -------------------------------------------------------*/
diff --git a/sim/mips/sim-main.c b/sim/mips/sim-main.c
index 67fde8ddfca..916769e7c1f 100644
--- a/sim/mips/sim-main.c
+++ b/sim/mips/sim-main.c
@@ -152,9 +152,7 @@ load_memory (SIM_DESC SD,
pr_addr (pAddr));
}
-#if defined(TRACE)
dotrace (SD, CPU, tracefh,((IorD == isDATA) ? 0 : 2),(unsigned int)(pAddr&0xFFFFFFFF),(AccessLength + 1),"load%s",((IorD == isDATA) ? "" : " instruction"));
-#endif /* TRACE */
/* Read the specified number of bytes from memory. Adjust for
host/target byte ordering/ Align the least significant byte
@@ -264,9 +262,7 @@ store_memory (SIM_DESC SD,
(LOADDRMASK + 1) << 3,
pr_addr(pAddr));
-#if defined(TRACE)
dotrace (SD, CPU, tracefh,1,(unsigned int)(pAddr&0xFFFFFFFF),(AccessLength + 1),"store");
-#endif /* TRACE */
#ifdef DEBUG
printf("DBG: StoreMemory: offset = %d MemElem = 0x%s%s\n",(unsigned int)(pAddr & LOADDRMASK),pr_uword64(MemElem1),pr_uword64(MemElem));
diff --git a/sim/mips/sim-main.h b/sim/mips/sim-main.h
index c87b8e67b8f..8d698adad3d 100644
--- a/sim/mips/sim-main.h
+++ b/sim/mips/sim-main.h
@@ -957,8 +957,12 @@ INLINE_SIM_MAIN (unsigned16) ifetch16 (SIM_DESC sd, sim_cpu *cpu, address_word c
#define IMEM16(CIA) ifetch16 (SD, CPU, (CIA), ((CIA) & ~1))
#define IMEM16_IMMED(CIA,NR) ifetch16 (SD, CPU, (CIA), ((CIA) & ~1) + 2 * (NR))
+#if WITH_TRACE_ANY_P
void dotrace (SIM_DESC sd, sim_cpu *cpu, FILE *tracefh, int type, SIM_ADDR address, int width, char *comment, ...);
extern FILE *tracefh;
+#else
+#define dotrace(sd, cpu, tracefh, type, address, width, comment, ...)
+#endif
extern int DSPLO_REGNUM[4];
extern int DSPHI_REGNUM[4];
diff --git a/sim/mn10300/ChangeLog b/sim/mn10300/ChangeLog
index bee772f5570..4758f694fb6 100644
--- a/sim/mn10300/ChangeLog
+++ b/sim/mn10300/ChangeLog
@@ -1,3 +1,63 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-17 Mike Frysinger <vapier@gentoo.org>
+
+ * op_utils.c (do_syscall): Replace call to cb_syscall with
+ sim_syscall_multi.
+
+2015-06-17 Mike Frysinger <vapier@gentoo.org>
+
+ * mn10300_sim.h (syscall_read_mem, syscall_write_mem): Delete.
+ * op_utils.c: Include sim-syscall.h.
+ (syscall_read_mem, syscall_write_mem): Delete.
+ (do_syscall): Change syscall_read_mem/syscall_write_mem
+ to sim_syscall_read_mem/sim_syscall_write_mem. Set syscall.p2.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-11 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (get_byte, get_half, get_word, put_byte, put_half,
+ put_word): Delete.
+ (sim_fetch_register): Inline put_word call.
+ (sim_store_register): Inline get_word call.
+ * mn10300_sim.h (struct _state): Delete mem member.
+ (OP, Simops, get_byte, get_half, get_word, put_byte, put_half,
+ put_word, map): Delete.
+ * op_utils.c (MEMPTR): Delete.
+
+2015-06-11 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (round_64, fpu_status_ok): Add static.
+
+2015-06-11 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (mn10300_debug): Delete.
+ * mn10300_sim.h (DEBUG_TRACE, DEBUG_VALUES, mn10300_debug): Delete.
+ (struct _state): Delete exception and exited members.
+ [_WIN32] (SIGTRAP, SIGQUIT): Delete.
+ * op_utils.c (do_syscall): Call sim_engine_halt instead of setting
+ State.exception.
+
+2015-06-11 Mike Frysinger <vapier@gentoo.org>
+
+ * mn10300_sim.h (uint8, int8, uint16, int16, uint32, int32): Typedef
+ in terms of unsigned8, signed8, unsigned16, signed16, unsigned32,
+ and signed32 respectively.
+
+2015-06-11 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (INLINE): Delete define.
+ * mn10300_sim.h (INLINE): Likewise.
+
2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-main.h (SIM_CPU): Delete.
diff --git a/sim/mn10300/configure b/sim/mn10300/configure
index 54425b1c642..703063f93d5 100755
--- a/sim/mn10300/configure
+++ b/sim/mn10300/configure
@@ -1407,23 +1407,34 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings if gcc is used
--enable-sim-build-warnings
enable SIM specific build-time compiler warnings if
gcc is used
- --enable-sim-reserved-bits Specify whether to check reserved bits in instruction.
- --enable-sim-bitsize=N Specify target bitsize (32 or 64).
- --enable-sim-inline=inlines Specify which functions should be inlined.
+ --enable-sim-reserved-bits
+ Specify whether to check reserved bits in
+ instruction
+ --enable-sim-bitsize=N Specify target bitsize (32 or 64)
+ --enable-sim-inline=inlines
+ Specify which functions should be inlined
--enable-sim-hardware=LIST
Specify the hardware to be included in the build.
@@ -2232,7 +2243,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12311,7 +12322,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12314 "configure"
+#line 12325 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12417,7 +12428,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12420 "configure"
+#line 12431 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12753,10 +12764,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/mn10300/interp.c b/sim/mn10300/interp.c
index 4439ac8c481..14344fc2ecb 100644
--- a/sim/mn10300/interp.c
+++ b/sim/mn10300/interp.c
@@ -23,17 +23,8 @@
#include "bfd.h"
-#ifndef INLINE
-#ifdef __GNUC__
-#define INLINE inline
-#else
-#define INLINE
-#endif
-#endif
-
host_callback *mn10300_callback;
-int mn10300_debug;
struct _state State;
@@ -357,58 +348,18 @@ sim_create_inferior (SIM_DESC sd,
/* FIXME These would more efficient to use than load_mem/store_mem,
but need to be changed to use the memory map. */
-uint8
-get_byte (uint8 *x)
-{
- return *x;
-}
-
-uint16
-get_half (uint8 *x)
-{
- uint8 *a = x;
- return (a[1] << 8) + (a[0]);
-}
-
-uint32
-get_word (uint8 *x)
-{
- uint8 *a = x;
- return (a[3]<<24) + (a[2]<<16) + (a[1]<<8) + (a[0]);
-}
-
-void
-put_byte (uint8 *addr, uint8 data)
-{
- uint8 *a = addr;
- a[0] = data;
-}
-
-void
-put_half (uint8 *addr, uint16 data)
-{
- uint8 *a = addr;
- a[0] = data & 0xff;
- a[1] = (data >> 8) & 0xff;
-}
-
-void
-put_word (uint8 *addr, uint32 data)
-{
- uint8 *a = addr;
- a[0] = data & 0xff;
- a[1] = (data >> 8) & 0xff;
- a[2] = (data >> 16) & 0xff;
- a[3] = (data >> 24) & 0xff;
-}
-
int
sim_fetch_register (SIM_DESC sd,
int rn,
unsigned char *memory,
int length)
{
- put_word (memory, State.regs[rn]);
+ reg_t reg = State.regs[rn];
+ uint8 *a = memory;
+ a[0] = reg;
+ a[1] = reg >> 8;
+ a[2] = reg >> 16;
+ a[3] = reg >> 24;
return length;
}
@@ -418,7 +369,8 @@ sim_store_register (SIM_DESC sd,
unsigned char *memory,
int length)
{
- State.regs[rn] = get_word (memory);
+ uint8 *a = memory;
+ State.regs[rn] = (a[3] << 24) + (a[2] << 16) + (a[1] << 8) + a[0];
return length;
}
@@ -638,7 +590,7 @@ reg2val_64 (const void *reg, sim_fpu *val)
/* Round the given sim_fpu value to double precision, following the
target platform rounding and denormalization conventions. On
AM33/2.0, round_near is the only rounding mode. */
-int
+static int
round_64 (sim_fpu *val)
{
return sim_fpu_round_64 (val, sim_fpu_round_near, sim_fpu_denorm_zero);
@@ -666,7 +618,7 @@ fp_double_prec = {
/* Check whether overflow, underflow or inexact exceptions should be
raised. */
-int
+static int
fpu_status_ok (sim_fpu_status stat)
{
if ((stat & sim_fpu_status_overflow)
diff --git a/sim/mn10300/mn10300_sim.h b/sim/mn10300/mn10300_sim.h
index 4ea5d3ec0a1..6e8f53a4f22 100644
--- a/sim/mn10300/mn10300_sim.h
+++ b/sim/mn10300/mn10300_sim.h
@@ -8,51 +8,15 @@
#include "bfd.h"
#include "sim-fpu.h"
-#ifndef INLINE
-#ifdef __GNUC__
-#define INLINE inline
-#else
-#define INLINE
-#endif
-#endif
-
extern host_callback *mn10300_callback;
extern SIM_DESC simulator;
-#define DEBUG_TRACE 0x00000001
-#define DEBUG_VALUES 0x00000002
-
-extern int mn10300_debug;
-
-#if UCHAR_MAX == 255
-typedef unsigned char uint8;
-typedef signed char int8;
-#else
-#error "Char is not an 8-bit type"
-#endif
-
-#if SHRT_MAX == 32767
-typedef unsigned short uint16;
-typedef signed short int16;
-#else
-#error "Short is not a 16-bit type"
-#endif
-
-#if INT_MAX == 2147483647
-
-typedef unsigned int uint32;
-typedef signed int int32;
-
-#else
-# if LONG_MAX == 2147483647
-
-typedef unsigned long uint32;
-typedef signed long int32;
-
-# else
-# error "Neither int nor long is a 32-bit type"
-# endif
-#endif
+typedef unsigned8 uint8;
+typedef signed8 int8;
+typedef unsigned16 uint16;
+typedef signed16 int16;
+typedef unsigned32 uint32;
+typedef signed32 int32;
typedef struct
{
@@ -83,9 +47,6 @@ struct _state
reg_t fs[32]; /* FS0-31 */
dword fd[16]; /* FD0,2,...,30 */
} fpregs;
- uint8 *mem; /* main memory */
- int exception;
- int exited;
/* All internal state modified by signal_exception() that may need to be
rolled back for passing moment-of-exception image back to gdb. */
@@ -99,8 +60,6 @@ struct _state
};
extern struct _state State;
-extern uint32 OP[4];
-extern struct simops Simops[];
#define PC (State.regs[REG_PC])
#define SP (State.regs[REG_SP])
@@ -179,11 +138,6 @@ extern struct simops Simops[];
#define FPU2FS(F,FS) sim_fpu_to32 (&(FS), &(F))
#define FPU2FD(F,FD) sim_fpu_to232 (&((FD).high), &((FD).low), &(F))
-#ifdef _WIN32
-#define SIGTRAP 5
-#define SIGQUIT 3
-#endif
-
#define FETCH32(a,b,c,d) \
((a)+((b)<<8)+((c)<<16)+((d)<<24))
@@ -240,31 +194,12 @@ dw2u64 (dword data)
/* Function declarations. */
-uint32 get_word (uint8 *);
-uint16 get_half (uint8 *);
-uint8 get_byte (uint8 *);
-void put_word (uint8 *, uint32);
-void put_half (uint8 *, uint16);
-void put_byte (uint8 *, uint8);
-
-extern uint8 *map (SIM_ADDR addr);
-
INLINE_SIM_MAIN (void) genericAdd (unsigned32 source, unsigned32 destReg);
INLINE_SIM_MAIN (void) genericSub (unsigned32 source, unsigned32 destReg);
INLINE_SIM_MAIN (void) genericCmp (unsigned32 leftOpnd, unsigned32 rightOpnd);
INLINE_SIM_MAIN (void) genericOr (unsigned32 source, unsigned32 destReg);
INLINE_SIM_MAIN (void) genericXor (unsigned32 source, unsigned32 destReg);
INLINE_SIM_MAIN (void) genericBtst (unsigned32 leftOpnd, unsigned32 rightOpnd);
-INLINE_SIM_MAIN (int) syscall_read_mem (host_callback *cb,
- struct cb_syscall *sc,
- unsigned long taddr,
- char *buf,
- int bytes);
-INLINE_SIM_MAIN (int) syscall_write_mem (host_callback *cb,
- struct cb_syscall *sc,
- unsigned long taddr,
- const char *buf,
- int bytes);
INLINE_SIM_MAIN (void) do_syscall (void);
void program_interrupt (SIM_DESC sd, sim_cpu *cpu, sim_cia cia, SIM_SIGNAL sig);
diff --git a/sim/mn10300/op_utils.c b/sim/mn10300/op_utils.c
index 36f387c9bd3..67bf9a34f68 100644
--- a/sim/mn10300/op_utils.c
+++ b/sim/mn10300/op_utils.c
@@ -1,4 +1,5 @@
#include "sim-main.h"
+#include "sim-syscall.h"
#include "targ-vals.h"
#ifdef HAVE_UTIME_H
@@ -140,32 +141,19 @@ genericBtst(unsigned32 leftOpnd, unsigned32 rightOpnd)
PSW |= (z ? PSW_Z : 0) | (n ? PSW_N : 0);
}
-/* Read/write functions for system call interface. */
-INLINE_SIM_MAIN (int)
-syscall_read_mem (host_callback *cb, struct cb_syscall *sc,
- unsigned long taddr, char *buf, int bytes)
-{
- SIM_DESC sd = (SIM_DESC) sc->p1;
- sim_cpu *cpu = STATE_CPU(sd, 0);
-
- return sim_core_read_buffer (sd, cpu, read_map, buf, taddr, bytes);
-}
-
-INLINE_SIM_MAIN (int)
-syscall_write_mem (host_callback *cb, struct cb_syscall *sc,
- unsigned long taddr, const char *buf, int bytes)
-{
- SIM_DESC sd = (SIM_DESC) sc->p1;
- sim_cpu *cpu = STATE_CPU(sd, 0);
-
- return sim_core_write_buffer (sd, cpu, write_map, buf, taddr, bytes);
-}
-
-
/* syscall */
INLINE_SIM_MAIN (void)
do_syscall (void)
{
+ /* Registers passed to trap 0. */
+
+ /* Function number. */
+ reg_t func = State.regs[0];
+ /* Parameters. */
+ reg_t parm1 = State.regs[1];
+ reg_t parm2 = load_word (State.regs[REG_SP] + 12);
+ reg_t parm3 = load_word (State.regs[REG_SP] + 16);
+ reg_t parm4 = load_word (State.regs[REG_SP] + 20);
/* We use this for simulated system calls; we may need to change
it to a reserved instruction if we conflict with uses at
@@ -173,55 +161,24 @@ do_syscall (void)
int save_errno = errno;
errno = 0;
-/* Registers passed to trap 0 */
-
-/* Function number. */
-#define FUNC (State.regs[0])
-
-/* Parameters. */
-#define PARM1 (State.regs[1])
-#define PARM2 (load_word (State.regs[REG_SP] + 12))
-#define PARM3 (load_word (State.regs[REG_SP] + 16))
-
-/* Registers set by trap 0 */
-
-#define RETVAL State.regs[0] /* return value */
-#define RETERR State.regs[1] /* return error code */
-
-/* Turn a pointer in a register into a pointer into real memory. */
-#define MEMPTR(x) (State.mem + x)
-
- if ( FUNC == TARGET_SYS_exit )
+ if (func == TARGET_SYS_exit)
{
- /* EXIT - caller can look in PARM1 to work out the reason */
- if (PARM1 == 0xdead)
- State.exception = SIGABRT;
- else
- {
- sim_engine_halt (simulator, STATE_CPU (simulator, 0), NULL, PC,
- sim_exited, PARM1);
- State.exception = SIGQUIT;
- }
- State.exited = 1;
+ /* EXIT - caller can look in parm1 to work out the reason */
+ sim_engine_halt (simulator, STATE_CPU (simulator, 0), NULL, PC,
+ (parm1 == 0xdead ? SIM_SIGABRT : sim_exited), parm1);
}
else
{
- CB_SYSCALL syscall;
-
- CB_SYSCALL_INIT (&syscall);
- syscall.arg1 = PARM1;
- syscall.arg2 = PARM2;
- syscall.arg3 = PARM3;
- syscall.func = FUNC;
- syscall.p1 = (PTR) simulator;
- syscall.read_mem = syscall_read_mem;
- syscall.write_mem = syscall_write_mem;
- cb_syscall (STATE_CALLBACK (simulator), &syscall);
- RETERR = syscall.errcode;
- RETVAL = syscall.result;
- }
+ long result, result2;
+ int errcode;
+ sim_syscall_multi (STATE_CPU (simulator, 0), func, parm1, parm2,
+ parm3, parm4, &result, &result2, &errcode);
+
+ /* Registers set by trap 0. */
+ State.regs[0] = errcode;
+ State.regs[1] = result;
+ }
errno = save_errno;
}
-
diff --git a/sim/moxie/ChangeLog b/sim/moxie/ChangeLog
index 22277bd77d8..c6fecbae70e 100644
--- a/sim/moxie/ChangeLog
+++ b/sim/moxie/ChangeLog
@@ -1,3 +1,26 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (tracefile, tracing): Delete.
+ (MOXIE_TRACE_INSN): Call TRACE_INSN directly.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (TRACE): Rename to ...
+ (MOXIE_TRACE_INSN): ... this.
+ (sim_engine_run): Change TRACE to MOXIE_TRACE_INSN.
+
2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-main.h (SIM_CPU): Delete.
diff --git a/sim/moxie/configure b/sim/moxie/configure
index 6540bccf133..53bc48b97d4 100755
--- a/sim/moxie/configure
+++ b/sim/moxie/configure
@@ -1406,17 +1406,28 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
- --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.
- --enable-sim-inline=inlines Specify which functions should be inlined.
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
+ --enable-sim-environment=environment
+ Specify mixed, user, virtual or operating
+ environment
+ --enable-sim-inline=inlines
+ Specify which functions should be inlined
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings if gcc is used
--enable-sim-build-warnings
@@ -2228,7 +2239,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12307,7 +12318,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12310 "configure"
+#line 12321 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12413,7 +12424,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12416 "configure"
+#line 12427 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12749,10 +12760,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/moxie/interp.c b/sim/moxie/interp.c
index 0fbb850b042..35ee2a70a83 100644
--- a/sim/moxie/interp.c
+++ b/sim/moxie/interp.c
@@ -229,10 +229,15 @@ convert_target_flags (unsigned int tflags)
return hflags;
}
-/* TODO: Move to sim-trace.h. */
-static FILE *tracefile;
-static const int tracing = 0;
-#define TRACE(str) if (tracing) fprintf(tracefile,"0x%08x, %s, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x\n", opc, str, cpu.asregs.regs[0], cpu.asregs.regs[1], cpu.asregs.regs[2], cpu.asregs.regs[3], cpu.asregs.regs[4], cpu.asregs.regs[5], cpu.asregs.regs[6], cpu.asregs.regs[7], cpu.asregs.regs[8], cpu.asregs.regs[9], cpu.asregs.regs[10], cpu.asregs.regs[11], cpu.asregs.regs[12], cpu.asregs.regs[13], cpu.asregs.regs[14], cpu.asregs.regs[15]);
+/* TODO: Split this up into finger trace levels than just insn. */
+#define MOXIE_TRACE_INSN(str) \
+ TRACE_INSN (scpu, "0x%08x, %s, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x, 0x%x", \
+ opc, str, cpu.asregs.regs[0], cpu.asregs.regs[1], \
+ cpu.asregs.regs[2], cpu.asregs.regs[3], cpu.asregs.regs[4], \
+ cpu.asregs.regs[5], cpu.asregs.regs[6], cpu.asregs.regs[7], \
+ cpu.asregs.regs[8], cpu.asregs.regs[9], cpu.asregs.regs[10], \
+ cpu.asregs.regs[11], cpu.asregs.regs[12], cpu.asregs.regs[13], \
+ cpu.asregs.regs[14], cpu.asregs.regs[15])
void
sim_engine_run (SIM_DESC sd,
@@ -268,76 +273,76 @@ sim_engine_run (SIM_DESC sd,
{
case 0x00: /* beq */
{
- TRACE("beq");
+ MOXIE_TRACE_INSN ("beq");
if (cpu.asregs.cc & CC_EQ)
pc += INST2OFFSET(inst);
}
break;
case 0x01: /* bne */
{
- TRACE("bne");
+ MOXIE_TRACE_INSN ("bne");
if (! (cpu.asregs.cc & CC_EQ))
pc += INST2OFFSET(inst);
}
break;
case 0x02: /* blt */
{
- TRACE("blt");
+ MOXIE_TRACE_INSN ("blt");
if (cpu.asregs.cc & CC_LT)
pc += INST2OFFSET(inst);
} break;
case 0x03: /* bgt */
{
- TRACE("bgt");
+ MOXIE_TRACE_INSN ("bgt");
if (cpu.asregs.cc & CC_GT)
pc += INST2OFFSET(inst);
}
break;
case 0x04: /* bltu */
{
- TRACE("bltu");
+ MOXIE_TRACE_INSN ("bltu");
if (cpu.asregs.cc & CC_LTU)
pc += INST2OFFSET(inst);
}
break;
case 0x05: /* bgtu */
{
- TRACE("bgtu");
+ MOXIE_TRACE_INSN ("bgtu");
if (cpu.asregs.cc & CC_GTU)
pc += INST2OFFSET(inst);
}
break;
case 0x06: /* bge */
{
- TRACE("bge");
+ MOXIE_TRACE_INSN ("bge");
if (cpu.asregs.cc & (CC_GT | CC_EQ))
pc += INST2OFFSET(inst);
}
break;
case 0x07: /* ble */
{
- TRACE("ble");
+ MOXIE_TRACE_INSN ("ble");
if (cpu.asregs.cc & (CC_LT | CC_EQ))
pc += INST2OFFSET(inst);
}
break;
case 0x08: /* bgeu */
{
- TRACE("bgeu");
+ MOXIE_TRACE_INSN ("bgeu");
if (cpu.asregs.cc & (CC_GTU | CC_EQ))
pc += INST2OFFSET(inst);
}
break;
case 0x09: /* bleu */
{
- TRACE("bleu");
+ MOXIE_TRACE_INSN ("bleu");
if (cpu.asregs.cc & (CC_LTU | CC_EQ))
pc += INST2OFFSET(inst);
}
break;
default:
{
- TRACE("SIGILL3");
+ MOXIE_TRACE_INSN ("SIGILL3");
sim_engine_halt (sd, NULL, NULL, pc, sim_stopped, SIM_SIGILL);
break;
}
@@ -355,7 +360,7 @@ sim_engine_run (SIM_DESC sd,
unsigned av = cpu.asregs.regs[a];
unsigned v = (inst & 0xff);
- TRACE("inc");
+ MOXIE_TRACE_INSN ("inc");
cpu.asregs.regs[a] = av + v;
}
break;
@@ -365,7 +370,7 @@ sim_engine_run (SIM_DESC sd,
unsigned av = cpu.asregs.regs[a];
unsigned v = (inst & 0xff);
- TRACE("dec");
+ MOXIE_TRACE_INSN ("dec");
cpu.asregs.regs[a] = av - v;
}
break;
@@ -374,7 +379,7 @@ sim_engine_run (SIM_DESC sd,
int a = (inst >> 8) & 0xf;
unsigned v = (inst & 0xff);
- TRACE("gsr");
+ MOXIE_TRACE_INSN ("gsr");
cpu.asregs.regs[a] = cpu.asregs.sregs[v];
}
break;
@@ -383,12 +388,12 @@ sim_engine_run (SIM_DESC sd,
int a = (inst >> 8) & 0xf;
unsigned v = (inst & 0xff);
- TRACE("ssr");
+ MOXIE_TRACE_INSN ("ssr");
cpu.asregs.sregs[v] = cpu.asregs.regs[a];
}
break;
default:
- TRACE("SIGILL2");
+ MOXIE_TRACE_INSN ("SIGILL2");
sim_engine_halt (sd, NULL, NULL, pc, sim_stopped, SIM_SIGILL);
break;
}
@@ -402,7 +407,7 @@ sim_engine_run (SIM_DESC sd,
{
case 0x00: /* bad */
opc = opcode;
- TRACE("SIGILL0");
+ MOXIE_TRACE_INSN ("SIGILL0");
sim_engine_halt (sd, NULL, NULL, pc, sim_stopped, SIM_SIGILL);
break;
case 0x01: /* ldi.l (immediate) */
@@ -410,7 +415,7 @@ sim_engine_run (SIM_DESC sd,
int reg = (inst >> 4) & 0xf;
unsigned int val = EXTRACT_WORD(pc+2);
- TRACE("ldi.l");
+ MOXIE_TRACE_INSN ("ldi.l");
cpu.asregs.regs[reg] = val;
pc += 4;
}
@@ -420,7 +425,7 @@ sim_engine_run (SIM_DESC sd,
int dest = (inst >> 4) & 0xf;
int src = (inst ) & 0xf;
- TRACE("mov");
+ MOXIE_TRACE_INSN ("mov");
cpu.asregs.regs[dest] = cpu.asregs.regs[src];
}
break;
@@ -429,7 +434,7 @@ sim_engine_run (SIM_DESC sd,
unsigned int fn = EXTRACT_WORD(pc+2);
unsigned int sp = cpu.asregs.regs[1];
- TRACE("jsra");
+ MOXIE_TRACE_INSN ("jsra");
/* Save a slot for the static chain. */
sp -= 4;
@@ -451,7 +456,7 @@ sim_engine_run (SIM_DESC sd,
{
unsigned int sp = cpu.asregs.regs[0];
- TRACE("ret");
+ MOXIE_TRACE_INSN ("ret");
/* Pop the frame pointer. */
cpu.asregs.regs[0] = rlat (scpu, opc, sp);
@@ -475,7 +480,7 @@ sim_engine_run (SIM_DESC sd,
unsigned av = cpu.asregs.regs[a];
unsigned bv = cpu.asregs.regs[b];
- TRACE("add.l");
+ MOXIE_TRACE_INSN ("add.l");
cpu.asregs.regs[a] = av + bv;
}
break;
@@ -485,7 +490,7 @@ sim_engine_run (SIM_DESC sd,
int b = inst & 0xf;
int sp = cpu.asregs.regs[a] - 4;
- TRACE("push");
+ MOXIE_TRACE_INSN ("push");
wlat (scpu, opc, sp, cpu.asregs.regs[b]);
cpu.asregs.regs[a] = sp;
}
@@ -496,7 +501,7 @@ sim_engine_run (SIM_DESC sd,
int b = inst & 0xf;
int sp = cpu.asregs.regs[a];
- TRACE("pop");
+ MOXIE_TRACE_INSN ("pop");
cpu.asregs.regs[b] = rlat (scpu, opc, sp);
cpu.asregs.regs[a] = sp + 4;
}
@@ -506,7 +511,7 @@ sim_engine_run (SIM_DESC sd,
int reg = (inst >> 4) & 0xf;
unsigned int addr = EXTRACT_WORD(pc+2);
- TRACE("lda.l");
+ MOXIE_TRACE_INSN ("lda.l");
cpu.asregs.regs[reg] = rlat (scpu, opc, addr);
pc += 4;
}
@@ -516,7 +521,7 @@ sim_engine_run (SIM_DESC sd,
int reg = (inst >> 4) & 0xf;
unsigned int addr = EXTRACT_WORD(pc+2);
- TRACE("sta.l");
+ MOXIE_TRACE_INSN ("sta.l");
wlat (scpu, opc, addr, cpu.asregs.regs[reg]);
pc += 4;
}
@@ -527,7 +532,7 @@ sim_engine_run (SIM_DESC sd,
int dest = (inst >> 4) & 0xf;
int xv;
- TRACE("ld.l");
+ MOXIE_TRACE_INSN ("ld.l");
xv = cpu.asregs.regs[src];
cpu.asregs.regs[dest] = rlat (scpu, opc, xv);
}
@@ -537,7 +542,7 @@ sim_engine_run (SIM_DESC sd,
int dest = (inst >> 4) & 0xf;
int val = inst & 0xf;
- TRACE("st.l");
+ MOXIE_TRACE_INSN ("st.l");
wlat (scpu, opc, cpu.asregs.regs[dest], cpu.asregs.regs[val]);
}
break;
@@ -547,7 +552,7 @@ sim_engine_run (SIM_DESC sd,
int a = (inst >> 4) & 0xf;
int b = inst & 0xf;
- TRACE("ldo.l");
+ MOXIE_TRACE_INSN ("ldo.l");
addr += cpu.asregs.regs[b];
cpu.asregs.regs[a] = rlat (scpu, opc, addr);
pc += 2;
@@ -559,7 +564,7 @@ sim_engine_run (SIM_DESC sd,
int a = (inst >> 4) & 0xf;
int b = inst & 0xf;
- TRACE("sto.l");
+ MOXIE_TRACE_INSN ("sto.l");
addr += cpu.asregs.regs[a];
wlat (scpu, opc, addr, cpu.asregs.regs[b]);
pc += 2;
@@ -573,7 +578,7 @@ sim_engine_run (SIM_DESC sd,
int va = cpu.asregs.regs[a];
int vb = cpu.asregs.regs[b];
- TRACE("cmp");
+ MOXIE_TRACE_INSN ("cmp");
if (va == vb)
cc = CC_EQ;
else
@@ -595,7 +600,7 @@ sim_engine_run (SIM_DESC sd,
int b = inst & 0xf;
signed char bv = cpu.asregs.regs[b];
- TRACE("sex.b");
+ MOXIE_TRACE_INSN ("sex.b");
cpu.asregs.regs[a] = (int) bv;
}
break;
@@ -605,7 +610,7 @@ sim_engine_run (SIM_DESC sd,
int b = inst & 0xf;
signed short bv = cpu.asregs.regs[b];
- TRACE("sex.s");
+ MOXIE_TRACE_INSN ("sex.s");
cpu.asregs.regs[a] = (int) bv;
}
break;
@@ -615,7 +620,7 @@ sim_engine_run (SIM_DESC sd,
int b = inst & 0xf;
signed char bv = cpu.asregs.regs[b];
- TRACE("zex.b");
+ MOXIE_TRACE_INSN ("zex.b");
cpu.asregs.regs[a] = (int) bv & 0xff;
}
break;
@@ -625,7 +630,7 @@ sim_engine_run (SIM_DESC sd,
int b = inst & 0xf;
signed short bv = cpu.asregs.regs[b];
- TRACE("zex.s");
+ MOXIE_TRACE_INSN ("zex.s");
cpu.asregs.regs[a] = (int) bv & 0xffff;
}
break;
@@ -638,7 +643,7 @@ sim_engine_run (SIM_DESC sd,
unsigned long long r =
(unsigned long long) av * (unsigned long long) bv;
- TRACE("umul.x");
+ MOXIE_TRACE_INSN ("umul.x");
cpu.asregs.regs[a] = r >> 32;
}
break;
@@ -651,7 +656,7 @@ sim_engine_run (SIM_DESC sd,
signed long long r =
(signed long long) av * (signed long long) bv;
- TRACE("mul.x");
+ MOXIE_TRACE_INSN ("mul.x");
cpu.asregs.regs[a] = r >> 32;
}
break;
@@ -660,7 +665,7 @@ sim_engine_run (SIM_DESC sd,
case 0x18: /* bad */
{
opc = opcode;
- TRACE("SIGILL0");
+ MOXIE_TRACE_INSN ("SIGILL0");
sim_engine_halt (sd, NULL, NULL, pc, sim_stopped, SIM_SIGILL);
break;
}
@@ -669,7 +674,7 @@ sim_engine_run (SIM_DESC sd,
unsigned int fn = cpu.asregs.regs[(inst >> 4) & 0xf];
unsigned int sp = cpu.asregs.regs[1];
- TRACE("jsr");
+ MOXIE_TRACE_INSN ("jsr");
/* Save a slot for the static chain. */
sp -= 4;
@@ -692,7 +697,7 @@ sim_engine_run (SIM_DESC sd,
{
unsigned int tgt = EXTRACT_WORD(pc+2);
- TRACE("jmpa");
+ MOXIE_TRACE_INSN ("jmpa");
pc = tgt - 2;
}
break;
@@ -701,7 +706,7 @@ sim_engine_run (SIM_DESC sd,
int reg = (inst >> 4) & 0xf;
unsigned int val = EXTRACT_WORD(pc+2);
- TRACE("ldi.b");
+ MOXIE_TRACE_INSN ("ldi.b");
cpu.asregs.regs[reg] = val;
pc += 4;
}
@@ -712,7 +717,7 @@ sim_engine_run (SIM_DESC sd,
int dest = (inst >> 4) & 0xf;
int xv;
- TRACE("ld.b");
+ MOXIE_TRACE_INSN ("ld.b");
xv = cpu.asregs.regs[src];
cpu.asregs.regs[dest] = rbat (scpu, opc, xv);
}
@@ -722,7 +727,7 @@ sim_engine_run (SIM_DESC sd,
int reg = (inst >> 4) & 0xf;
unsigned int addr = EXTRACT_WORD(pc+2);
- TRACE("lda.b");
+ MOXIE_TRACE_INSN ("lda.b");
cpu.asregs.regs[reg] = rbat (scpu, opc, addr);
pc += 4;
}
@@ -732,7 +737,7 @@ sim_engine_run (SIM_DESC sd,
int dest = (inst >> 4) & 0xf;
int val = inst & 0xf;
- TRACE("st.b");
+ MOXIE_TRACE_INSN ("st.b");
wbat (scpu, opc, cpu.asregs.regs[dest], cpu.asregs.regs[val]);
}
break;
@@ -741,7 +746,7 @@ sim_engine_run (SIM_DESC sd,
int reg = (inst >> 4) & 0xf;
unsigned int addr = EXTRACT_WORD(pc+2);
- TRACE("sta.b");
+ MOXIE_TRACE_INSN ("sta.b");
wbat (scpu, opc, addr, cpu.asregs.regs[reg]);
pc += 4;
}
@@ -752,7 +757,7 @@ sim_engine_run (SIM_DESC sd,
unsigned int val = EXTRACT_WORD(pc+2);
- TRACE("ldi.s");
+ MOXIE_TRACE_INSN ("ldi.s");
cpu.asregs.regs[reg] = val;
pc += 4;
}
@@ -763,7 +768,7 @@ sim_engine_run (SIM_DESC sd,
int dest = (inst >> 4) & 0xf;
int xv;
- TRACE("ld.s");
+ MOXIE_TRACE_INSN ("ld.s");
xv = cpu.asregs.regs[src];
cpu.asregs.regs[dest] = rsat (scpu, opc, xv);
}
@@ -773,7 +778,7 @@ sim_engine_run (SIM_DESC sd,
int reg = (inst >> 4) & 0xf;
unsigned int addr = EXTRACT_WORD(pc+2);
- TRACE("lda.s");
+ MOXIE_TRACE_INSN ("lda.s");
cpu.asregs.regs[reg] = rsat (scpu, opc, addr);
pc += 4;
}
@@ -783,7 +788,7 @@ sim_engine_run (SIM_DESC sd,
int dest = (inst >> 4) & 0xf;
int val = inst & 0xf;
- TRACE("st.s");
+ MOXIE_TRACE_INSN ("st.s");
wsat (scpu, opc, cpu.asregs.regs[dest], cpu.asregs.regs[val]);
}
break;
@@ -792,7 +797,7 @@ sim_engine_run (SIM_DESC sd,
int reg = (inst >> 4) & 0xf;
unsigned int addr = EXTRACT_WORD(pc+2);
- TRACE("sta.s");
+ MOXIE_TRACE_INSN ("sta.s");
wsat (scpu, opc, addr, cpu.asregs.regs[reg]);
pc += 4;
}
@@ -801,7 +806,7 @@ sim_engine_run (SIM_DESC sd,
{
int reg = (inst >> 4) & 0xf;
- TRACE("jmp");
+ MOXIE_TRACE_INSN ("jmp");
pc = cpu.asregs.regs[reg] - 2;
}
break;
@@ -811,7 +816,7 @@ sim_engine_run (SIM_DESC sd,
int b = inst & 0xf;
int av, bv;
- TRACE("and");
+ MOXIE_TRACE_INSN ("and");
av = cpu.asregs.regs[a];
bv = cpu.asregs.regs[b];
cpu.asregs.regs[a] = av & bv;
@@ -824,7 +829,7 @@ sim_engine_run (SIM_DESC sd,
int av = cpu.asregs.regs[a];
int bv = cpu.asregs.regs[b];
- TRACE("lshr");
+ MOXIE_TRACE_INSN ("lshr");
cpu.asregs.regs[a] = (unsigned) ((unsigned) av >> bv);
}
break;
@@ -835,7 +840,7 @@ sim_engine_run (SIM_DESC sd,
int av = cpu.asregs.regs[a];
int bv = cpu.asregs.regs[b];
- TRACE("ashl");
+ MOXIE_TRACE_INSN ("ashl");
cpu.asregs.regs[a] = av << bv;
}
break;
@@ -846,7 +851,7 @@ sim_engine_run (SIM_DESC sd,
unsigned av = cpu.asregs.regs[a];
unsigned bv = cpu.asregs.regs[b];
- TRACE("sub.l");
+ MOXIE_TRACE_INSN ("sub.l");
cpu.asregs.regs[a] = av - bv;
}
break;
@@ -856,7 +861,7 @@ sim_engine_run (SIM_DESC sd,
int b = inst & 0xf;
int bv = cpu.asregs.regs[b];
- TRACE("neg");
+ MOXIE_TRACE_INSN ("neg");
cpu.asregs.regs[a] = - bv;
}
break;
@@ -866,7 +871,7 @@ sim_engine_run (SIM_DESC sd,
int b = inst & 0xf;
int av, bv;
- TRACE("or");
+ MOXIE_TRACE_INSN ("or");
av = cpu.asregs.regs[a];
bv = cpu.asregs.regs[b];
cpu.asregs.regs[a] = av | bv;
@@ -878,7 +883,7 @@ sim_engine_run (SIM_DESC sd,
int b = inst & 0xf;
int bv = cpu.asregs.regs[b];
- TRACE("not");
+ MOXIE_TRACE_INSN ("not");
cpu.asregs.regs[a] = 0xffffffff ^ bv;
}
break;
@@ -889,7 +894,7 @@ sim_engine_run (SIM_DESC sd,
int av = cpu.asregs.regs[a];
int bv = cpu.asregs.regs[b];
- TRACE("ashr");
+ MOXIE_TRACE_INSN ("ashr");
cpu.asregs.regs[a] = av >> bv;
}
break;
@@ -899,7 +904,7 @@ sim_engine_run (SIM_DESC sd,
int b = inst & 0xf;
int av, bv;
- TRACE("xor");
+ MOXIE_TRACE_INSN ("xor");
av = cpu.asregs.regs[a];
bv = cpu.asregs.regs[b];
cpu.asregs.regs[a] = av ^ bv;
@@ -912,7 +917,7 @@ sim_engine_run (SIM_DESC sd,
unsigned av = cpu.asregs.regs[a];
unsigned bv = cpu.asregs.regs[b];
- TRACE("mul.l");
+ MOXIE_TRACE_INSN ("mul.l");
cpu.asregs.regs[a] = av * bv;
}
break;
@@ -920,7 +925,7 @@ sim_engine_run (SIM_DESC sd,
{
unsigned int inum = EXTRACT_WORD(pc+2);
- TRACE("swi");
+ MOXIE_TRACE_INSN ("swi");
/* Set the special registers appropriately. */
cpu.asregs.sregs[2] = 3; /* MOXIE_EX_SWI */
cpu.asregs.sregs[3] = inum;
@@ -1002,7 +1007,7 @@ sim_engine_run (SIM_DESC sd,
int av = cpu.asregs.regs[a];
int bv = cpu.asregs.regs[b];
- TRACE("div.l");
+ MOXIE_TRACE_INSN ("div.l");
cpu.asregs.regs[a] = av / bv;
}
break;
@@ -1013,7 +1018,7 @@ sim_engine_run (SIM_DESC sd,
unsigned int av = cpu.asregs.regs[a];
unsigned int bv = cpu.asregs.regs[b];
- TRACE("udiv.l");
+ MOXIE_TRACE_INSN ("udiv.l");
cpu.asregs.regs[a] = (av / bv);
}
break;
@@ -1024,7 +1029,7 @@ sim_engine_run (SIM_DESC sd,
int av = cpu.asregs.regs[a];
int bv = cpu.asregs.regs[b];
- TRACE("mod.l");
+ MOXIE_TRACE_INSN ("mod.l");
cpu.asregs.regs[a] = av % bv;
}
break;
@@ -1035,12 +1040,12 @@ sim_engine_run (SIM_DESC sd,
unsigned int av = cpu.asregs.regs[a];
unsigned int bv = cpu.asregs.regs[b];
- TRACE("umod.l");
+ MOXIE_TRACE_INSN ("umod.l");
cpu.asregs.regs[a] = (av % bv);
}
break;
case 0x35: /* brk */
- TRACE("brk");
+ MOXIE_TRACE_INSN ("brk");
sim_engine_halt (sd, NULL, NULL, pc, sim_stopped, SIM_SIGTRAP);
pc -= 2; /* Adjust pc */
break;
@@ -1050,7 +1055,7 @@ sim_engine_run (SIM_DESC sd,
int a = (inst >> 4) & 0xf;
int b = inst & 0xf;
- TRACE("ldo.b");
+ MOXIE_TRACE_INSN ("ldo.b");
addr += cpu.asregs.regs[b];
cpu.asregs.regs[a] = rbat (scpu, opc, addr);
pc += 2;
@@ -1062,7 +1067,7 @@ sim_engine_run (SIM_DESC sd,
int a = (inst >> 4) & 0xf;
int b = inst & 0xf;
- TRACE("sto.b");
+ MOXIE_TRACE_INSN ("sto.b");
addr += cpu.asregs.regs[a];
wbat (scpu, opc, addr, cpu.asregs.regs[b]);
pc += 2;
@@ -1074,7 +1079,7 @@ sim_engine_run (SIM_DESC sd,
int a = (inst >> 4) & 0xf;
int b = inst & 0xf;
- TRACE("ldo.s");
+ MOXIE_TRACE_INSN ("ldo.s");
addr += cpu.asregs.regs[b];
cpu.asregs.regs[a] = rsat (scpu, opc, addr);
pc += 2;
@@ -1086,7 +1091,7 @@ sim_engine_run (SIM_DESC sd,
int a = (inst >> 4) & 0xf;
int b = inst & 0xf;
- TRACE("sto.s");
+ MOXIE_TRACE_INSN ("sto.s");
addr += cpu.asregs.regs[a];
wsat (scpu, opc, addr, cpu.asregs.regs[b]);
pc += 2;
@@ -1094,7 +1099,7 @@ sim_engine_run (SIM_DESC sd,
break;
default:
opc = opcode;
- TRACE("SIGILL1");
+ MOXIE_TRACE_INSN ("SIGILL1");
sim_engine_halt (sd, NULL, NULL, pc, sim_stopped, SIM_SIGILL);
break;
}
diff --git a/sim/msp430/ChangeLog b/sim/msp430/ChangeLog
index c2205b5d7f0..08da33dc2da 100644
--- a/sim/msp430/ChangeLog
+++ b/sim/msp430/ChangeLog
@@ -1,3 +1,52 @@
+2015-06-24 Mike Frysinger <vapier@gentoo.org>
+
+ * msp430-sim.c (trace_reg_put): Change TRACE_VPU to TRACE_REGISTER.
+ (trace_reg_get): Likewise.
+
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-17 Mike Frysinger <vapier@gentoo.org>
+
+ * msp430-sim.c (maybe_perform_syscall): Replace call to cb_syscall
+ with sim_syscall.
+
+2015-06-17 Mike Frysinger <vapier@gentoo.org>
+
+ * msp430-sim.c: Include sim-syscall.h.
+ (syscall_read_mem, syscall_write_mem): Delete.
+ (maybe_perform_syscall): Change syscall_read_mem/syscall_write_mem
+ to sim_syscall_read_mem/sim_syscall_write_mem.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * msp430-sim.c (trace_reg_put): Replace TRACE_VPU_P/trace_generic
+ with TRACE_VPU.
+ (trace_reg_get): Likewise.
+ (get_op): Replace TRACE_MEMORY_P/trace_generic with TRACE_MEMORY.
+ (put_op): Likewise.
+ (msp430_dis_read): Replace TRACE_ALU_P/trace_generic with TRACE_ALU.
+ (do_flags): Likewise.
+ (maybe_perform_syscall): Replace TRACE_SYSCALL_P/trace_generic with
+ TRACE_SYSCALL.
+ (msp430_step_once): Replace TRACE_ALU_P/trace_generic with TRACE_ALU.
+ Replace TRACE_BRANCH_P/trace_generic with TRACE_BRANCH.
+
+2015-06-11 Mike Frysinger <vapier@gentoo.org>
+
+ * sim-main.h (MAYBE_TRACE, TRACE_INSN, TRACE_DECODE, TRACE_EXTRACT,
+ TRACE_SYSCALL, TRACE_CORE, TRACE_EVENTS, TRACE_BRANCH,
+ trace_register, TRACE_REGISTER, TRACE_REG): Delete.
+
2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-main.h (SIM_CPU): Delete.
diff --git a/sim/msp430/configure b/sim/msp430/configure
index 12f9ed4c228..b5d166c8cd4 100755
--- a/sim/msp430/configure
+++ b/sim/msp430/configure
@@ -1403,15 +1403,23 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-inline=inlines Specify which functions should be inlined.
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-inline=inlines
+ Specify which functions should be inlined
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings if gcc is used
--enable-sim-build-warnings
@@ -2223,7 +2231,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12302,7 +12310,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12305 "configure"
+#line 12313 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12408,7 +12416,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12411 "configure"
+#line 12419 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12744,10 +12752,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/msp430/msp430-sim.c b/sim/msp430/msp430-sim.c
index f7057e2fb22..f32cb69030c 100644
--- a/sim/msp430/msp430-sim.c
+++ b/sim/msp430/msp430-sim.c
@@ -29,6 +29,7 @@
#include "bfd.h"
#include "opcode/msp430-decode.h"
#include "sim-main.h"
+#include "sim-syscall.h"
#include "dis-asm.h"
#include "targ-vals.h"
#include "trace.h"
@@ -302,18 +303,14 @@ register_names[] =
static void
trace_reg_put (SIM_DESC sd, int n, unsigned int v)
{
- if (TRACE_VPU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_VPU_IDX,
- "PUT: %#x -> %s", v, register_names [n]);
+ TRACE_REGISTER (MSP430_CPU (sd), "PUT: %#x -> %s", v, register_names[n]);
REG (n) = v;
}
static unsigned int
trace_reg_get (SIM_DESC sd, int n)
{
- if (TRACE_VPU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_VPU_IDX,
- "GET: %s -> %#x", register_names [n], REG (n));
+ TRACE_REGISTER (MSP430_CPU (sd), "GET: %s -> %#x", register_names[n], REG (n));
return REG (n);
}
@@ -486,9 +483,8 @@ get_op (SIM_DESC sd, MSP430_Opcode_Decoded *opc, int n)
}
}
- if (TRACE_MEMORY_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_MEMORY_IDX,
- "GET: [%#x].%d -> %#x", addr, opc->size, rv);
+ TRACE_MEMORY (MSP430_CPU (sd), "GET: [%#x].%d -> %#x", addr, opc->size,
+ rv);
break;
default:
@@ -580,9 +576,8 @@ put_op (SIM_DESC sd, MSP430_Opcode_Decoded *opc, int n, int val)
}
addr &= 0xfffff;
- if (TRACE_MEMORY_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_MEMORY_IDX,
- "PUT: [%#x].%d <- %#x", addr, opc->size, val);
+ TRACE_MEMORY (MSP430_CPU (sd), "PUT: [%#x].%d <- %#x", addr, opc->size,
+ val);
#if 0
/* Hack - MSP430X5438 serial port transmit register. */
if (addr == 0x5ce)
@@ -858,9 +853,8 @@ msp430_dis_read (bfd_vma memaddr,
int s1 = DSRC; \
int s2 = SRC; \
int result = s1 OP s2 MORE; \
- if (TRACE_ALU_P (MSP430_CPU (sd))) \
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX, \
- "ALU: %#x %s %#x %s = %#x", s1, SOP, s2, #MORE, result); \
+ TRACE_ALU (MSP430_CPU (sd), "ALU: %#x %s %#x %s = %#x", s1, SOP, \
+ s2, #MORE, result); \
DEST (result); \
}
@@ -922,16 +916,11 @@ do_flags (SIM_DESC sd,
new_f |= MSP430_FLAG_C;
new_f = f | (new_f & opcode->flags_set);
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- {
- if (SR != new_f)
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "FLAGS: %s -> %s", flags2string (SR),
- flags2string (new_f));
- else
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "FLAGS: %s", flags2string (new_f));
- }
+ if (SR != new_f)
+ TRACE_ALU (MSP430_CPU (sd), "FLAGS: %s -> %s", flags2string (SR),
+ flags2string (new_f));
+ else
+ TRACE_ALU (MSP430_CPU (sd), "FLAGS: %s", flags2string (new_f));
SR = new_f;
}
@@ -961,26 +950,6 @@ binary_to_bcd (int v)
return r;
}
-static int
-syscall_read_mem (host_callback *cb, struct cb_syscall *sc,
- unsigned long taddr, char *buf, int bytes)
-{
- SIM_DESC sd = (SIM_DESC) sc->p1;
- SIM_CPU *cpu = (SIM_CPU *) sc->p2;
-
- return sim_core_read_buffer (sd, cpu, read_map, buf, taddr, bytes);
-}
-
-static int
-syscall_write_mem (host_callback *cb, struct cb_syscall *sc,
- unsigned long taddr, const char *buf, int bytes)
-{
- SIM_DESC sd = (SIM_DESC) sc->p1;
- SIM_CPU *cpu = (SIM_CPU *) sc->p2;
-
- return sim_core_write_buffer (sd, cpu, write_map, buf, taddr, bytes);
-}
-
static const char *
cond_string (int cond)
{
@@ -1053,64 +1022,14 @@ maybe_perform_syscall (SIM_DESC sd, int call_addr)
{
/* Syscall! */
int syscall_num = call_addr & 0x3f;
- host_callback *cb = STATE_CALLBACK (sd);
- CB_SYSCALL sc;
-
- CB_SYSCALL_INIT (&sc);
-
- sc.func = syscall_num;
- sc.arg1 = MSP430_CPU (sd)->state.regs[12];
- sc.arg2 = MSP430_CPU (sd)->state.regs[13];
- sc.arg3 = MSP430_CPU (sd)->state.regs[14];
- sc.arg4 = MSP430_CPU (sd)->state.regs[15];
-
- if (TRACE_SYSCALL_P (MSP430_CPU (sd)))
- {
- const char *syscall_name = "*unknown*";
-
- switch (syscall_num)
- {
- case TARGET_SYS_exit:
- syscall_name = "exit(%d)";
- break;
- case TARGET_SYS_open:
- syscall_name = "open(%#x,%#x)";
- break;
- case TARGET_SYS_close:
- syscall_name = "close(%d)";
- break;
- case TARGET_SYS_read:
- syscall_name = "read(%d,%#x,%d)";
- break;
- case TARGET_SYS_write:
- syscall_name = "write(%d,%#x,%d)";
- break;
- }
- trace_generic (sd, MSP430_CPU (sd), TRACE_SYSCALL_IDX,
- syscall_name, sc.arg1, sc.arg2, sc.arg3, sc.arg4);
- }
-
- /* Handle SYS_exit here. */
- if (syscall_num == 1)
- {
- sim_engine_halt (sd, MSP430_CPU (sd), NULL,
- MSP430_CPU (sd)->state.regs[0],
- sim_exited, sc.arg1);
- return 1;
- }
-
- sc.p1 = sd;
- sc.p2 = MSP430_CPU (sd);
- sc.read_mem = syscall_read_mem;
- sc.write_mem = syscall_write_mem;
-
- cb_syscall (cb, &sc);
-
- if (TRACE_SYSCALL_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_SYSCALL_IDX,
- "returns %ld", sc.result);
-
- MSP430_CPU (sd)->state.regs[12] = sc.result;
+ int arg1 = MSP430_CPU (sd)->state.regs[12];
+ int arg2 = MSP430_CPU (sd)->state.regs[13];
+ int arg3 = MSP430_CPU (sd)->state.regs[14];
+ int arg4 = MSP430_CPU (sd)->state.regs[15];
+
+ MSP430_CPU (sd)->state.regs[12] = sim_syscall (MSP430_CPU (sd),
+ syscall_num, arg1, arg2,
+ arg3, arg4);
return 1;
}
@@ -1211,7 +1130,7 @@ msp430_step_once (SIM_DESC sd)
if (TRACE_ANY_P (MSP430_CPU (sd)))
trace_prefix (sd, MSP430_CPU (sd), NULL_CIA, opcode_pc,
- TRACE_LINENUM_P (MSP430_CPU (sd)), NULL, 0, "");
+ TRACE_LINENUM_P (MSP430_CPU (sd)), NULL, 0, "");
carry_to_use = 0;
switch (opcode->id)
@@ -1256,10 +1175,8 @@ msp430_step_once (SIM_DESC sd)
s2 = SX (u2);
uresult = u1 + u2 + carry_to_use;
result = s1 + s2 + carry_to_use;
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "ADDC: %#x + %#x + %d = %#x",
- u1, u2, carry_to_use, uresult);
+ TRACE_ALU (MSP430_CPU (sd), "ADDC: %#x + %#x + %d = %#x",
+ u1, u2, carry_to_use, uresult);
DEST (result);
FLAGS (result, uresult != ZX (uresult));
}
@@ -1274,10 +1191,8 @@ msp430_step_once (SIM_DESC sd)
s2 = SX (u2);
uresult = u1 + u2;
result = s1 + s2;
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "ADD: %#x + %#x = %#x",
- u1, u2, uresult);
+ TRACE_ALU (MSP430_CPU (sd), "ADD: %#x + %#x = %#x",
+ u1, u2, uresult);
DEST (result);
FLAGS (result, uresult != ZX (uresult));
}
@@ -1293,10 +1208,8 @@ msp430_step_once (SIM_DESC sd)
s2 = SX (u2);
uresult = ZX (~u2) + u1 + carry_to_use;
result = s1 - s2 + (carry_to_use - 1);
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "SUBC: %#x - %#x + %d = %#x",
- u1, u2, carry_to_use, uresult);
+ TRACE_ALU (MSP430_CPU (sd), "SUBC: %#x - %#x + %d = %#x",
+ u1, u2, carry_to_use, uresult);
DEST (result);
FLAGS (result, uresult != ZX (uresult));
}
@@ -1311,10 +1224,8 @@ msp430_step_once (SIM_DESC sd)
s2 = SX (u2);
uresult = ZX (~u2) + u1 + 1;
result = SX (uresult);
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "SUB: %#x - %#x = %#x",
- u1, u2, uresult);
+ TRACE_ALU (MSP430_CPU (sd), "SUB: %#x - %#x = %#x",
+ u1, u2, uresult);
DEST (result);
FLAGS (result, uresult != ZX (uresult));
}
@@ -1329,10 +1240,8 @@ msp430_step_once (SIM_DESC sd)
s2 = SX (u2);
uresult = ZX (~u2) + u1 + 1;
result = s1 - s2;
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "CMP: %#x - %#x = %x",
- u1, u2, uresult);
+ TRACE_ALU (MSP430_CPU (sd), "CMP: %#x - %#x = %x",
+ u1, u2, uresult);
FLAGS (result, uresult != ZX (uresult));
}
break;
@@ -1345,10 +1254,8 @@ msp430_step_once (SIM_DESC sd)
u2 = SRC;
uresult = bcd_to_binary (u1) + bcd_to_binary (u2) + carry_to_use;
result = binary_to_bcd (uresult);
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "DADD: %#x + %#x + %d = %#x",
- u1, u2, carry_to_use, result);
+ TRACE_ALU (MSP430_CPU (sd), "DADD: %#x + %#x + %d = %#x",
+ u1, u2, carry_to_use, result);
DEST (result);
FLAGS (result, uresult > ((opcode->size == 8) ? 99 : 9999));
}
@@ -1360,10 +1267,8 @@ msp430_step_once (SIM_DESC sd)
u1 = DSRC;
u2 = SRC;
uresult = u1 & u2;
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "AND: %#x & %#x = %#x",
- u1, u2, uresult);
+ TRACE_ALU (MSP430_CPU (sd), "AND: %#x & %#x = %#x",
+ u1, u2, uresult);
DEST (uresult);
FLAGS (uresult, uresult != 0);
}
@@ -1375,10 +1280,8 @@ msp430_step_once (SIM_DESC sd)
u1 = DSRC;
u2 = SRC;
uresult = u1 & u2;
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "BIT: %#x & %#x -> %#x",
- u1, u2, uresult);
+ TRACE_ALU (MSP430_CPU (sd), "BIT: %#x & %#x -> %#x",
+ u1, u2, uresult);
FLAGS (uresult, uresult != 0);
}
break;
@@ -1389,10 +1292,8 @@ msp430_step_once (SIM_DESC sd)
u1 = DSRC;
u2 = SRC;
uresult = u1 & ~ u2;
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "BIC: %#x & ~ %#x = %#x",
- u1, u2, uresult);
+ TRACE_ALU (MSP430_CPU (sd), "BIC: %#x & ~ %#x = %#x",
+ u1, u2, uresult);
DEST (uresult);
}
break;
@@ -1403,10 +1304,8 @@ msp430_step_once (SIM_DESC sd)
u1 = DSRC;
u2 = SRC;
uresult = u1 | u2;
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "BIS: %#x | %#x = %#x",
- u1, u2, uresult);
+ TRACE_ALU (MSP430_CPU (sd), "BIS: %#x | %#x = %#x",
+ u1, u2, uresult);
DEST (uresult);
}
break;
@@ -1418,10 +1317,8 @@ msp430_step_once (SIM_DESC sd)
u1 = DSRC;
u2 = SRC;
uresult = u1 ^ u2;
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "XOR: %#x & %#x = %#x",
- u1, u2, uresult);
+ TRACE_ALU (MSP430_CPU (sd), "XOR: %#x & %#x = %#x",
+ u1, u2, uresult);
DEST (uresult);
FLAGSV (uresult, uresult != 0, (u1 & s1) && (u2 & s1));
}
@@ -1438,10 +1335,8 @@ msp430_step_once (SIM_DESC sd)
uresult = u1 >> 1;
if (SR & MSP430_FLAG_C)
uresult |= (1 << (opcode->size - 1));
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "RRC: %#x >>= %#x",
- u1, uresult);
+ TRACE_ALU (MSP430_CPU (sd), "RRC: %#x >>= %#x",
+ u1, uresult);
DEST (uresult);
FLAGS (uresult, carry_to_use);
}
@@ -1452,10 +1347,8 @@ msp430_step_once (SIM_DESC sd)
{
u1 = SRC;
uresult = ((u1 >> 8) & 0x00ff) | ((u1 << 8) & 0xff00);
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "SWPB: %#x -> %#x",
- u1, uresult);
+ TRACE_ALU (MSP430_CPU (sd), "SWPB: %#x -> %#x",
+ u1, uresult);
DEST (uresult);
}
break;
@@ -1467,10 +1360,8 @@ msp430_step_once (SIM_DESC sd)
c = u1 & 1;
s1 = 1 << (opcode->size - 1);
uresult = (u1 >> 1) | (u1 & s1);
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "RRA: %#x >>= %#x",
- u1, uresult);
+ TRACE_ALU (MSP430_CPU (sd), "RRA: %#x >>= %#x",
+ u1, uresult);
DEST (uresult);
FLAGS (uresult, c);
}
@@ -1482,10 +1373,8 @@ msp430_step_once (SIM_DESC sd)
u1 = SRC;
c = u1 & 1;
uresult = (u1 >> 1);
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "RRU: %#x >>= %#x",
- u1, uresult);
+ TRACE_ALU (MSP430_CPU (sd), "RRU: %#x >>= %#x",
+ u1, uresult);
DEST (uresult);
FLAGS (uresult, c);
}
@@ -1499,10 +1388,8 @@ msp430_step_once (SIM_DESC sd)
uresult = u1 | 0xfff00;
else
uresult = u1 & 0x000ff;
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "SXT: %#x -> %#x",
- u1, uresult);
+ TRACE_ALU (MSP430_CPU (sd), "SXT: %#x -> %#x",
+ u1, uresult);
DEST (uresult);
FLAGS (uresult, c);
}
@@ -1550,10 +1437,8 @@ msp430_step_once (SIM_DESC sd)
REG_PUT (MSR_SP, REG_GET (MSR_SP) - op_bytes);
mem_put_val (sd, SP, PC, op_bits);
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "CALL: func %#x ret %#x, sp %#x",
- u1, PC, SP);
+ TRACE_ALU (MSP430_CPU (sd), "CALL: func %#x ret %#x, sp %#x",
+ u1, PC, SP);
REG_PUT (MSR_PC, u1);
break;
@@ -1568,10 +1453,8 @@ msp430_step_once (SIM_DESC sd)
8-bits of SR will have been written to the stack here, and will
have been read as 0. */
PC |= (u1 & 0xF000) << 4;
- if (TRACE_ALU_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_ALU_IDX,
- "RETI: pc %#x sr %#x",
- PC, SR);
+ TRACE_ALU (MSP430_CPU (sd), "RETI: pc %#x sr %#x",
+ PC, SR);
break;
/* Jumps. */
@@ -1608,19 +1491,15 @@ msp430_step_once (SIM_DESC sd)
if (u1)
{
- if (TRACE_BRANCH_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_BRANCH_IDX,
- "J%s: pc %#x -> %#x sr %#x, taken",
- cond_string (opcode->cond), PC, i, SR);
+ TRACE_BRANCH (MSP430_CPU (sd), "J%s: pc %#x -> %#x sr %#x, taken",
+ cond_string (opcode->cond), PC, i, SR);
PC = i;
if (PC == opcode_pc)
exit (0);
}
else
- if (TRACE_BRANCH_P (MSP430_CPU (sd)))
- trace_generic (sd, MSP430_CPU (sd), TRACE_BRANCH_IDX,
- "J%s: pc %#x to %#x sr %#x, not taken",
- cond_string (opcode->cond), PC, i, SR);
+ TRACE_BRANCH (MSP430_CPU (sd), "J%s: pc %#x to %#x sr %#x, not taken",
+ cond_string (opcode->cond), PC, i, SR);
break;
default:
diff --git a/sim/msp430/sim-main.h b/sim/msp430/sim-main.h
index f08f3e41222..19c8ccaf868 100644
--- a/sim/msp430/sim-main.h
+++ b/sim/msp430/sim-main.h
@@ -54,52 +54,4 @@ struct sim_state
#include "sim-engine.h"
#include "sim-options.h"
-#define MAYBE_TRACE(type, cpu, fmt, ...) \
- do \
- { \
- if (TRACE_##type##_P (cpu)) \
- trace_generic (CPU_STATE (cpu), cpu, TRACE_##type##_IDX, \
- fmt, ## __VA_ARGS__); \
- } \
- while (0)
-
-#define TRACE_INSN(cpu, fmt, ...) MAYBE_TRACE (INSN, cpu, fmt, ## __VA_ARGS__)
-#define TRACE_DECODE(cpu, fmt, ...) MAYBE_TRACE (DECODE, cpu, fmt, ## __VA_ARGS__)
-#define TRACE_EXTRACT(cpu, fmt, ...) MAYBE_TRACE (EXTRACT, cpu, fmt, ## __VA_ARGS__)
-#define TRACE_SYSCALL(cpu, fmt, ...) MAYBE_TRACE (SYSCALL, cpu, fmt, ## __VA_ARGS__)
-
-#define TRACE_CORE(cpu, addr, size, map, val) \
- do \
- { \
- MAYBE_TRACE (CORE, cpu, "%cBUS %s %i bytes @ 0x%08x: 0x%0*x", \
- map == exec_map ? 'I' : 'D', \
- map == write_map ? "STORE" : "FETCH", \
- size, addr, size * 2, val); \
- PROFILE_COUNT_CORE (cpu, addr, size, map); \
- } \
- while (0)
-
-#define TRACE_EVENTS(cpu, fmt, ...) MAYBE_TRACE (EVENTS, cpu, fmt, ## __VA_ARGS__)
-
-#define TRACE_BRANCH(cpu, oldpc, newpc, fmt, ...) \
- do \
- { \
- MAYBE_TRACE (BRANCH, cpu, fmt " to %#x", ## __VA_ARGS__, newpc); \
- } \
- while (0)
-
-extern void trace_register (SIM_DESC, sim_cpu *, const char *, ...)
- __attribute__((format (printf, 3, 4)));
-
-#define TRACE_REGISTER(cpu, fmt, ...) \
- do \
- { \
- if (TRACE_CORE_P (cpu)) \
- trace_register (CPU_STATE (cpu), cpu, fmt, ## __VA_ARGS__); \
- } \
- while (0)
-
-#define TRACE_REG(cpu, reg, val) \
- TRACE_REGISTER (cpu, "wrote R%d = %#x", reg, val)
-
#endif /* _MSP430_MAIN_SIM_H_ */
diff --git a/sim/ppc/ChangeLog b/sim/ppc/ChangeLog
index 1297df17a23..1f87bd85052 100644
--- a/sim/ppc/ChangeLog
+++ b/sim/ppc/ChangeLog
@@ -1,3 +1,7 @@
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
2015-04-29 Nick Clifton <nickc@redhat.com>
PR 18273
diff --git a/sim/ppc/configure b/sim/ppc/configure
index 8cd3313247e..1298d38e24f 100755
--- a/sim/ppc/configure
+++ b/sim/ppc/configure
@@ -2393,7 +2393,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
diff --git a/sim/rl78/ChangeLog b/sim/rl78/ChangeLog
index c3eec8517f1..45481c1135d 100644
--- a/sim/rl78/ChangeLog
+++ b/sim/rl78/ChangeLog
@@ -1,3 +1,15 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
2015-04-30 DJ Delorie <dj@redhat.com>
* cpu.c (g14_multiply): New.
diff --git a/sim/rl78/configure b/sim/rl78/configure
index 2b074d56be0..433cad30684 100755
--- a/sim/rl78/configure
+++ b/sim/rl78/configure
@@ -1397,12 +1397,16 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -2209,7 +2213,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12288,7 +12292,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12291 "configure"
+#line 12295 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12394,7 +12398,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12397 "configure"
+#line 12401 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12730,10 +12734,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/rx/ChangeLog b/sim/rx/ChangeLog
index bcb976155e7..b0be474a3f9 100644
--- a/sim/rx/ChangeLog
+++ b/sim/rx/ChangeLog
@@ -1,3 +1,17 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure.ac (AC_ARG_ENABLE(cycle-accurate)): Call AS_HELP_STRING.
+ (AC_ARG_ENABLE(cycle-stats)): Likewise.
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
2015-04-24 Nick Clifton <nickc@redhat.com>
PR sim/18273
diff --git a/sim/rx/configure b/sim/rx/configure
index cffb1ba8226..e36b80d21a6 100755
--- a/sim/rx/configure
+++ b/sim/rx/configure
@@ -1399,14 +1399,19 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
--disable-cycle-accurate
- --disable-cycle-stats
+ Disable cycle accurate simulation (faster runtime)
+ --disable-cycle-stats Disable cycle statistics (faster runtime)
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -2213,7 +2218,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12292,7 +12297,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12295 "configure"
+#line 12300 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12398,7 +12403,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12401 "configure"
+#line 12406 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12734,10 +12739,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/rx/configure.ac b/sim/rx/configure.ac
index 24e14e7ee59..94b5a74f114 100644
--- a/sim/rx/configure.ac
+++ b/sim/rx/configure.ac
@@ -27,14 +27,16 @@ SIM_AC_COMMON
AC_CHECK_HEADERS(getopt.h)
AC_ARG_ENABLE(cycle-accurate,
-[ --disable-cycle-accurate ],
+[AS_HELP_STRING([--disable-cycle-accurate],
+ [Disable cycle accurate simulation (faster runtime)])],
[case "${enableval}" in
yes | no) ;;
*) AC_MSG_ERROR(bad value ${enableval} given for --enable-cycle-accurate option) ;;
esac])
AC_ARG_ENABLE(cycle-stats,
-[ --disable-cycle-stats ],
+[AS_HELP_STRING([--disable-cycle-stats],
+ [Disable cycle statistics (faster runtime)])],
[case "${enableval}" in
yes | no) ;;
*) AC_MSG_ERROR(bad value ${enableval} given for --enable-cycle-stats option) ;;
diff --git a/sim/sh/ChangeLog b/sim/sh/ChangeLog
index 2127ab8cfac..09d45201887 100644
--- a/sim/sh/ChangeLog
+++ b/sim/sh/ChangeLog
@@ -1,3 +1,15 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-main.h (SIM_CPU): Delete.
diff --git a/sim/sh/configure b/sim/sh/configure
index 39f93ad4b44..215f0c45bfa 100755
--- a/sim/sh/configure
+++ b/sim/sh/configure
@@ -1405,17 +1405,28 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
- --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.
- --enable-sim-inline=inlines Specify which functions should be inlined.
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
+ --enable-sim-environment=environment
+ Specify mixed, user, virtual or operating
+ environment
+ --enable-sim-inline=inlines
+ Specify which functions should be inlined
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings if gcc is used
--enable-sim-build-warnings
@@ -2227,7 +2238,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12306,7 +12317,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12309 "configure"
+#line 12320 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12412,7 +12423,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12415 "configure"
+#line 12426 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12748,10 +12759,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/sh64/ChangeLog b/sim/sh64/ChangeLog
index e8b81e16fd1..14c394ca5dd 100644
--- a/sim/sh64/ChangeLog
+++ b/sim/sh64/ChangeLog
@@ -1,3 +1,31 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * decode-compact.c (sh64_compact_decode): Change TRACE_EXTRACT to
+ CGEN_TRACE_EXTRACT.
+ * decode-media.c: Likewise.
+ * mloop-compact.in (execute): Change TRACE_INSN_INIT to
+ CGEN_TRACE_INSN_INIT, TRACE_INSN to CGEN_TRACE_INSN, and TRACE_INSN_FINI
+ to CGEN_TRACE_INSN_FINI.
+ (sh64_compact_pbb_before): Likewise.
+ (sh64_compact_pbb_after): Change TRACE_INSN_FINI to CGEN_TRACE_INSN_FINI.
+ * mloop-media.in: Likewise.
+ * sem-compact.c: Rename TRACE_RESULT to CGEN_TRACE_RESULT.
+ * sem-compact-switch.c: Likewise.
+ * sem-media.c: Likewise.
+ * sem-media-switch.c: Likewise.
+
2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-main.h (USING_SIM_BASE_H): Delete.
diff --git a/sim/sh64/configure b/sim/sh64/configure
index b1d6a9c16db..2a3e660ed07 100755
--- a/sim/sh64/configure
+++ b/sim/sh64/configure
@@ -1409,20 +1409,33 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
- --enable-sim-scache=size Specify simulator execution cache size.
- --enable-sim-default-model=model Specify default model to simulate.
- --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.
- --enable-sim-inline=inlines Specify which functions should be inlined.
- --enable-cgen-maint=DIR build cgen generated files
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
+ --enable-sim-scache=size
+ Specify simulator execution cache size
+ --enable-sim-default-model=model
+ Specify default model to simulate
+ --enable-sim-environment=environment
+ Specify mixed, user, virtual or operating
+ environment
+ --enable-sim-inline=inlines
+ Specify which functions should be inlined
+ --enable-cgen-maint=DIR build cgen generated files
--enable-sim-hardware=LIST
Specify the hardware to be included in the build.
@@ -2231,7 +2244,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12310,7 +12323,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12313 "configure"
+#line 12326 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12416,7 +12429,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12419 "configure"
+#line 12432 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12752,10 +12765,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/sh64/decode-compact.c b/sim/sh64/decode-compact.c
index d50feddc80b..887545ec1d1 100644
--- a/sim/sh64/decode-compact.c
+++ b/sim/sh64/decode-compact.c
@@ -2649,7 +2649,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
#undef FLD
return idesc;
@@ -2669,7 +2669,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2698,7 +2698,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm8) = f_imm8;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_compact", "f_imm8 0x%x", 'x', f_imm8, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_compact", "f_imm8 0x%x", 'x', f_imm8, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2726,7 +2726,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addc_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addc_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2755,7 +2755,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addv_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addv_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2784,7 +2784,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2810,7 +2810,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm8) = f_imm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andi_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andi_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2835,7 +2835,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm8) = f_imm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andb_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andb_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2859,7 +2859,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp8) = f_disp8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bf_compact", "disp8 0x%x", 'x', f_disp8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bf_compact", "disp8 0x%x", 'x', f_disp8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2882,7 +2882,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp8) = f_disp8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bfs_compact", "disp8 0x%x", 'x', f_disp8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bfs_compact", "disp8 0x%x", 'x', f_disp8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2905,7 +2905,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp12) = f_disp12;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra_compact", "disp12 0x%x", 'x', f_disp12, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra_compact", "disp12 0x%x", 'x', f_disp12, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2928,7 +2928,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_braf_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_braf_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2948,7 +2948,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brk_compact", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brk_compact", (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2971,7 +2971,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (i_disp12) = f_disp12;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bsr_compact", "disp12 0x%x", 'x', f_disp12, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bsr_compact", "disp12 0x%x", 'x', f_disp12, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2994,7 +2994,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bsrf_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bsrf_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3014,7 +3014,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrmac_compact", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrmac_compact", (char *) 0));
#undef FLD
return idesc;
@@ -3027,7 +3027,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrs_compact", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrs_compact", (char *) 0));
#undef FLD
return idesc;
@@ -3040,7 +3040,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrt_compact", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrt_compact", (char *) 0));
#undef FLD
return idesc;
@@ -3060,7 +3060,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpeq_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpeq_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3085,7 +3085,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm8) = f_imm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpeqi_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpeqi_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3109,7 +3109,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmppl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmppl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3136,7 +3136,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0s_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0s_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3157,7 +3157,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0u_compact", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0u_compact", (char *) 0));
#undef FLD
return idesc;
@@ -3177,7 +3177,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3203,7 +3203,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_divu_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_divu_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3232,7 +3232,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmulsl_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmulsl_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3257,7 +3257,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dt_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dt_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3285,7 +3285,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extsb_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extsb_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3310,7 +3310,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fabs_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fabs_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3338,7 +3338,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fadd_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fadd_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3367,7 +3367,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcmpeq_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcmpeq_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3392,7 +3392,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_dn) = f_dn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcnvds_compact", "f_dn 0x%x", 'x', f_dn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcnvds_compact", "f_dn 0x%x", 'x', f_dn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3417,7 +3417,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_dn) = f_dn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcnvsd_compact", "f_dn 0x%x", 'x', f_dn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcnvsd_compact", "f_dn 0x%x", 'x', f_dn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3445,7 +3445,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_vm) = f_vm;
FLD (f_vn) = f_vn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fipr_compact", "f_vm 0x%x", 'x', f_vm, "f_vn 0x%x", 'x', f_vn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fipr_compact", "f_vm 0x%x", 'x', f_vm, "f_vn 0x%x", 'x', f_vn, (char *) 0));
#undef FLD
return idesc;
@@ -3462,7 +3462,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_flds_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_flds_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3487,7 +3487,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldi0_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldi0_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3511,7 +3511,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_float_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_float_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3539,7 +3539,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmac_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmac_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3569,7 +3569,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3597,7 +3597,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3625,7 +3625,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3654,7 +3654,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov4_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov4_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3683,7 +3683,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov5_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov5_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3711,7 +3711,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3740,7 +3740,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3772,7 +3772,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm12x8) = f_imm12x8;
FLD (f_rm) = f_rm;
FLD (f_dn) = f_dn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov8_compact", "f_imm12x8 0x%x", 'x', f_imm12x8, "f_rm 0x%x", 'x', f_rm, "f_dn 0x%x", 'x', f_dn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov8_compact", "f_imm12x8 0x%x", 'x', f_imm12x8, "f_rm 0x%x", 'x', f_rm, "f_dn 0x%x", 'x', f_dn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3803,7 +3803,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_dm) = f_dm;
FLD (f_imm12x8) = f_imm12x8;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov9_compact", "f_dm 0x%x", 'x', f_dm, "f_imm12x8 0x%x", 'x', f_imm12x8, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov9_compact", "f_dm 0x%x", 'x', f_dm, "f_imm12x8 0x%x", 'x', f_imm12x8, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3824,7 +3824,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_frchg_compact", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_frchg_compact", (char *) 0));
#undef FLD
return idesc;
@@ -3837,7 +3837,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fschg_compact", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fschg_compact", (char *) 0));
#undef FLD
return idesc;
@@ -3854,7 +3854,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fsts_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fsts_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3879,7 +3879,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftrc_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftrc_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3904,7 +3904,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_vn) = f_vn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftrv_compact", "f_vn 0x%x", 'x', f_vn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftrv_compact", "f_vn 0x%x", 'x', f_vn, (char *) 0));
#undef FLD
return idesc;
@@ -3921,7 +3921,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldc_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldc_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3945,7 +3945,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldc_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldc_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3969,7 +3969,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldc_sr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldc_sr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3993,7 +3993,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldcl_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldcl_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4018,7 +4018,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldcl_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldcl_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4043,7 +4043,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4067,7 +4067,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4092,7 +4092,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4117,7 +4117,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4143,7 +4143,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4167,7 +4167,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4192,7 +4192,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4216,7 +4216,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4241,7 +4241,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4265,7 +4265,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4293,7 +4293,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_macl_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_macl_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4323,7 +4323,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_macw_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_macw_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4353,7 +4353,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4381,7 +4381,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm8) = f_imm8;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movi_compact", "f_imm8 0x%x", 'x', f_imm8, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movi_compact", "f_imm8 0x%x", 'x', f_imm8, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4412,7 +4412,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm20) = f_imm20;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movi20_compact", "f_imm20 0x%x", 'x', f_imm20, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movi20_compact", "f_imm20 0x%x", 'x', f_imm20, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4439,7 +4439,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4467,7 +4467,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4496,7 +4496,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4522,7 +4522,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm8) = f_imm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb4_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb4_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4549,7 +4549,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm4) = f_imm4;
FLD (f_rm) = f_rm;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb5_compact", "f_imm4 0x%x", 'x', f_imm4, "f_rm 0x%x", 'x', f_rm, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb5_compact", "f_imm4 0x%x", 'x', f_imm4, "f_rm 0x%x", 'x', f_rm, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4577,7 +4577,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4605,7 +4605,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4634,7 +4634,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb8_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb8_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4660,7 +4660,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm8) = f_imm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb9_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb9_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4687,7 +4687,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm4) = f_imm4;
FLD (f_rm) = f_rm;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb10_compact", "f_imm4 0x%x", 'x', f_imm4, "f_rm 0x%x", 'x', f_rm, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb10_compact", "f_imm4 0x%x", 'x', f_imm4, "f_rm 0x%x", 'x', f_rm, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4715,7 +4715,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4743,7 +4743,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4772,7 +4772,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4798,7 +4798,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm8x4) = f_imm8x4;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl4_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl4_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4828,7 +4828,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm4x4) = f_imm4x4;
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl5_compact", "f_imm4x4 0x%x", 'x', f_imm4x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl5_compact", "f_imm4x4 0x%x", 'x', f_imm4x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4856,7 +4856,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4884,7 +4884,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4914,7 +4914,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl8_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl8_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4940,7 +4940,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm8x4) = f_imm8x4;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl9_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl9_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4967,7 +4967,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm8x4) = f_imm8x4;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl10_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl10_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4997,7 +4997,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm4x4) = f_imm4x4;
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl11_compact", "f_imm4x4 0x%x", 'x', f_imm4x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl11_compact", "f_imm4x4 0x%x", 'x', f_imm4x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5028,7 +5028,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm12x4) = f_imm12x4;
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl12_compact", "f_imm12x4 0x%x", 'x', f_imm12x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl12_compact", "f_imm12x4 0x%x", 'x', f_imm12x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5059,7 +5059,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm12x4) = f_imm12x4;
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl13_compact", "f_imm12x4 0x%x", 'x', f_imm12x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl13_compact", "f_imm12x4 0x%x", 'x', f_imm12x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5087,7 +5087,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5115,7 +5115,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5144,7 +5144,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5170,7 +5170,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm8x2) = f_imm8x2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw4_compact", "f_imm8x2 0x%x", 'x', f_imm8x2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw4_compact", "f_imm8x2 0x%x", 'x', f_imm8x2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5197,7 +5197,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm4x2) = f_imm4x2;
FLD (f_rm) = f_rm;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw5_compact", "f_imm4x2 0x%x", 'x', f_imm4x2, "f_rm 0x%x", 'x', f_rm, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw5_compact", "f_imm4x2 0x%x", 'x', f_imm4x2, "f_rm 0x%x", 'x', f_rm, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5225,7 +5225,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5253,7 +5253,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5282,7 +5282,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw8_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw8_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5308,7 +5308,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm8x2) = f_imm8x2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw9_compact", "f_imm8x2 0x%x", 'x', f_imm8x2, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw9_compact", "f_imm8x2 0x%x", 'x', f_imm8x2, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5335,7 +5335,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm8x2) = f_imm8x2;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw10_compact", "f_imm8x2 0x%x", 'x', f_imm8x2, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw10_compact", "f_imm8x2 0x%x", 'x', f_imm8x2, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5362,7 +5362,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm4x2) = f_imm4x2;
FLD (f_rm) = f_rm;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw11_compact", "f_imm4x2 0x%x", 'x', f_imm4x2, "f_rm 0x%x", 'x', f_rm, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw11_compact", "f_imm4x2 0x%x", 'x', f_imm4x2, "f_rm 0x%x", 'x', f_rm, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5387,7 +5387,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm8x4) = f_imm8x4;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mova_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mova_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5411,7 +5411,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movcal_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movcal_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5436,7 +5436,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movcol_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movcol_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5461,7 +5461,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movt_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movt_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5485,7 +5485,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movual_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movual_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5510,7 +5510,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movual2_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movual2_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5539,7 +5539,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mull_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mull_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5567,7 +5567,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_negc_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_negc_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5588,7 +5588,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop_compact", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop_compact", (char *) 0));
#undef FLD
return idesc;
@@ -5605,7 +5605,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_pref_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_pref_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5629,7 +5629,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rotcl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rotcl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5650,7 +5650,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rts_compact", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rts_compact", (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5676,7 +5676,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rm) = f_rm;
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_shad_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_shad_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5702,7 +5702,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stc_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stc_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5726,7 +5726,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stc_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stc_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5750,7 +5750,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stcl_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stcl_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5775,7 +5775,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stcl_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stcl_vbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5800,7 +5800,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5824,7 +5824,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5849,7 +5849,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5874,7 +5874,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5900,7 +5900,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5924,7 +5924,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5949,7 +5949,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5973,7 +5973,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -5998,7 +5998,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6022,7 +6022,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6047,7 +6047,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tasb_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tasb_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6071,7 +6071,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm8) = f_imm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_trapa_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_trapa_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6094,7 +6094,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm8) = f_imm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tsti_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tsti_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -6118,7 +6118,7 @@ sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm8) = f_imm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tstb_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tstb_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
diff --git a/sim/sh64/decode-media.c b/sim/sh64/decode-media.c
index 2f253045aa7..7c6ba133a50 100644
--- a/sim/sh64/decode-media.c
+++ b/sim/sh64/decode-media.c
@@ -1539,7 +1539,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
#undef FLD
return idesc;
@@ -1562,7 +1562,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_left) = f_left;
FLD (f_right) = f_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1594,7 +1594,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp10) = f_disp10;
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_disp10 0x%x", 'x', f_disp10, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_disp10 0x%x", 'x', f_disp10, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1619,7 +1619,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_alloco", "f_left 0x%x", 'x', f_left, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_alloco", "f_left 0x%x", 'x', f_left, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1650,7 +1650,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_left) = f_left;
FLD (f_right) = f_right;
FLD (f_tra) = f_tra;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beq", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_tra 0x%x", 'x', f_tra, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beq", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_tra 0x%x", 'x', f_tra, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1682,7 +1682,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm6) = f_imm6;
FLD (f_left) = f_left;
FLD (f_tra) = f_tra;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqi", "f_imm6 0x%x", 'x', f_imm6, "f_left 0x%x", 'x', f_left, "f_tra 0x%x", 'x', f_tra, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqi", "f_imm6 0x%x", 'x', f_imm6, "f_left 0x%x", 'x', f_left, "f_tra 0x%x", 'x', f_tra, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1710,7 +1710,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_dest) = f_dest;
FLD (f_trb) = f_trb;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_blink", "f_dest 0x%x", 'x', f_dest, "f_trb 0x%x", 'x', f_trb, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_blink", "f_dest 0x%x", 'x', f_dest, "f_trb 0x%x", 'x', f_trb, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1741,7 +1741,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm6) = f_imm6;
FLD (f_left) = f_left;
FLD (f_tra) = f_tra;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bnei", "f_imm6 0x%x", 'x', f_imm6, "f_left 0x%x", 'x', f_left, "f_tra 0x%x", 'x', f_tra, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bnei", "f_imm6 0x%x", 'x', f_imm6, "f_left 0x%x", 'x', f_left, "f_tra 0x%x", 'x', f_tra, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1762,7 +1762,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brk", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brk", (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1788,7 +1788,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_byterev", "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_byterev", "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1819,7 +1819,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_left) = f_left;
FLD (f_right) = f_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmveq", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmveq", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1852,7 +1852,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_left_right) = f_left_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fabsd", "f_left_right 0x%x", 'x', f_left_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fabsd", "f_left_right 0x%x", 'x', f_left_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1884,7 +1884,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_left_right) = f_left_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fabss", "f_left_right 0x%x", 'x', f_left_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fabss", "f_left_right 0x%x", 'x', f_left_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1915,7 +1915,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_left) = f_left;
FLD (f_right) = f_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_faddd", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_faddd", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1947,7 +1947,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_left) = f_left;
FLD (f_right) = f_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fadds", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fadds", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -1979,7 +1979,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_left) = f_left;
FLD (f_right) = f_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcmpeqd", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcmpeqd", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2011,7 +2011,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_left) = f_left;
FLD (f_right) = f_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcmpeqs", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcmpeqs", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2044,7 +2044,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_left_right) = f_left_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcnvds", "f_left_right 0x%x", 'x', f_left_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcnvds", "f_left_right 0x%x", 'x', f_left_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2076,7 +2076,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_left_right) = f_left_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcnvsd", "f_left_right 0x%x", 'x', f_left_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcnvsd", "f_left_right 0x%x", 'x', f_left_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2101,7 +2101,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fgetscr", "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fgetscr", "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2131,7 +2131,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_left) = f_left;
FLD (f_right) = f_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fiprs", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fiprs", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2165,7 +2165,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp10x8) = f_disp10x8;
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldd", "f_disp10x8 0x%x", 'x', f_disp10x8, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldd", "f_disp10x8 0x%x", 'x', f_disp10x8, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2196,7 +2196,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp10x8) = f_disp10x8;
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldp", "f_disp10x8 0x%x", 'x', f_disp10x8, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldp", "f_disp10x8 0x%x", 'x', f_disp10x8, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2228,7 +2228,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp10x4) = f_disp10x4;
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_flds", "f_disp10x4 0x%x", 'x', f_disp10x4, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_flds", "f_disp10x4 0x%x", 'x', f_disp10x4, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2259,7 +2259,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_left) = f_left;
FLD (f_right) = f_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldxd", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldxd", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2291,7 +2291,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldxp", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldxp", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2324,7 +2324,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_left) = f_left;
FLD (f_right) = f_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldxs", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldxs", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2356,7 +2356,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmacs", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmacs", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2390,7 +2390,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_left_right) = f_left_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmovdq", "f_left_right 0x%x", 'x', f_left_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmovdq", "f_left_right 0x%x", 'x', f_left_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2418,7 +2418,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmovls", "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmovls", "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2446,7 +2446,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmovqd", "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmovqd", "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2478,7 +2478,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_left_right) = f_left_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmovsl", "f_left_right 0x%x", 'x', f_left_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmovsl", "f_left_right 0x%x", 'x', f_left_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2507,7 +2507,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_left_right) = f_left_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fputscr", "f_left_right 0x%x", 'x', f_left_right, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fputscr", "f_left_right 0x%x", 'x', f_left_right, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2537,7 +2537,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp10x8) = f_disp10x8;
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fstd", "f_disp10x8 0x%x", 'x', f_disp10x8, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fstd", "f_disp10x8 0x%x", 'x', f_disp10x8, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2568,7 +2568,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp10x4) = f_disp10x4;
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fsts", "f_disp10x4 0x%x", 'x', f_disp10x4, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fsts", "f_disp10x4 0x%x", 'x', f_disp10x4, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2599,7 +2599,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fstxd", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fstxd", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2631,7 +2631,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fstxs", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fstxs", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2663,7 +2663,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_left) = f_left;
FLD (f_right) = f_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fsubd", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fsubd", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2696,7 +2696,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_left_right) = f_left_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftrcdq", "f_left_right 0x%x", 'x', f_left_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftrcdq", "f_left_right 0x%x", 'x', f_left_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2727,7 +2727,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftrvs", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftrvs", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2762,7 +2762,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp6) = f_disp6;
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_getcfg", "f_disp6 0x%x", 'x', f_disp6, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_getcfg", "f_disp6 0x%x", 'x', f_disp6, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2790,7 +2790,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_getcon", "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_getcon", "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2817,7 +2817,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_trb) = f_trb;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_gettr", "f_trb 0x%x", 'x', f_trb, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_gettr", "f_trb 0x%x", 'x', f_trb, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2848,7 +2848,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp10) = f_disp10;
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb", "f_disp10 0x%x", 'x', f_disp10, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb", "f_disp10 0x%x", 'x', f_disp10, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2879,7 +2879,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp10x4) = f_disp10x4;
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldl", "f_disp10x4 0x%x", 'x', f_disp10x4, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldl", "f_disp10x4 0x%x", 'x', f_disp10x4, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2910,7 +2910,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp10x8) = f_disp10x8;
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldq", "f_disp10x8 0x%x", 'x', f_disp10x8, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldq", "f_disp10x8 0x%x", 'x', f_disp10x8, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2941,7 +2941,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp10x2) = f_disp10x2;
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lduw", "f_disp10x2 0x%x", 'x', f_disp10x2, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lduw", "f_disp10x2 0x%x", 'x', f_disp10x2, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -2972,7 +2972,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp6) = f_disp6;
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldhil", "f_disp6 0x%x", 'x', f_disp6, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldhil", "f_disp6 0x%x", 'x', f_disp6, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3003,7 +3003,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp6) = f_disp6;
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldhiq", "f_disp6 0x%x", 'x', f_disp6, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldhiq", "f_disp6 0x%x", 'x', f_disp6, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3034,7 +3034,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp6) = f_disp6;
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldlol", "f_disp6 0x%x", 'x', f_disp6, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldlol", "f_disp6 0x%x", 'x', f_disp6, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3065,7 +3065,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp6) = f_disp6;
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldloq", "f_disp6 0x%x", 'x', f_disp6, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldloq", "f_disp6 0x%x", 'x', f_disp6, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3096,7 +3096,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_left) = f_left;
FLD (f_right) = f_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldxb", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldxb", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3128,7 +3128,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_left) = f_left;
FLD (f_right) = f_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldxl", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldxl", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3160,7 +3160,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_left) = f_left;
FLD (f_right) = f_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldxq", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldxq", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3192,7 +3192,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_left) = f_left;
FLD (f_right) = f_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldxub", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldxub", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3224,7 +3224,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_left) = f_left;
FLD (f_right) = f_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldxuw", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldxuw", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3256,7 +3256,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_left) = f_left;
FLD (f_right) = f_right;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldxw", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldxw", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3288,7 +3288,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mcmv", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mcmv", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3321,7 +3321,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mmacnfx_wl", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mmacnfx_wl", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3351,7 +3351,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_imm16) = f_imm16;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movi", "f_imm16 0x%x", 'x', f_imm16, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movi", "f_imm16 0x%x", 'x', f_imm16, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3371,7 +3371,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop", (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop", (char *) 0));
#undef FLD
return idesc;
@@ -3394,7 +3394,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm10) = f_imm10;
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ori", "f_imm10 0x%x", 'x', f_imm10, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ori", "f_imm10 0x%x", 'x', f_imm10, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3419,7 +3419,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_prefi", "f_left 0x%x", 'x', f_left, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_prefi", "f_left 0x%x", 'x', f_left, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3447,7 +3447,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_disp16) = f_disp16;
FLD (f_tra) = f_tra;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_pta", "f_disp16 0x%x", 'x', f_disp16, "f_tra 0x%x", 'x', f_tra, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_pta", "f_disp16 0x%x", 'x', f_disp16, "f_tra 0x%x", 'x', f_tra, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3474,7 +3474,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_right) = f_right;
FLD (f_tra) = f_tra;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ptabs", "f_right 0x%x", 'x', f_right, "f_tra 0x%x", 'x', f_tra, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ptabs", "f_right 0x%x", 'x', f_right, "f_tra 0x%x", 'x', f_tra, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3502,7 +3502,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_right) = f_right;
FLD (f_tra) = f_tra;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ptrel", "f_right 0x%x", 'x', f_right, "f_tra 0x%x", 'x', f_tra, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ptrel", "f_right 0x%x", 'x', f_right, "f_tra 0x%x", 'x', f_tra, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3533,7 +3533,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp6) = f_disp6;
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_putcfg", "f_disp6 0x%x", 'x', f_disp6, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_putcfg", "f_disp6 0x%x", 'x', f_disp6, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3561,7 +3561,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_putcon", "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_putcon", "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3591,7 +3591,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_left) = f_left;
FLD (f_uimm6) = f_uimm6;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_shari", "f_left 0x%x", 'x', f_left, "f_uimm6 0x%x", 'x', f_uimm6, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_shari", "f_left 0x%x", 'x', f_left, "f_uimm6 0x%x", 'x', f_uimm6, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3619,7 +3619,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_dest) = f_dest;
FLD (f_uimm16) = f_uimm16;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_shori", "f_dest 0x%x", 'x', f_dest, "f_uimm16 0x%x", 'x', f_uimm16, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_shori", "f_dest 0x%x", 'x', f_dest, "f_uimm16 0x%x", 'x', f_uimm16, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3650,7 +3650,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp10) = f_disp10;
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb", "f_disp10 0x%x", 'x', f_disp10, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb", "f_disp10 0x%x", 'x', f_disp10, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3681,7 +3681,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp10x4) = f_disp10x4;
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stl", "f_disp10x4 0x%x", 'x', f_disp10x4, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stl", "f_disp10x4 0x%x", 'x', f_disp10x4, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3712,7 +3712,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp10x8) = f_disp10x8;
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stq", "f_disp10x8 0x%x", 'x', f_disp10x8, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stq", "f_disp10x8 0x%x", 'x', f_disp10x8, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3743,7 +3743,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp10x2) = f_disp10x2;
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stw", "f_disp10x2 0x%x", 'x', f_disp10x2, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stw", "f_disp10x2 0x%x", 'x', f_disp10x2, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3774,7 +3774,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp6) = f_disp6;
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sthil", "f_disp6 0x%x", 'x', f_disp6, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sthil", "f_disp6 0x%x", 'x', f_disp6, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3805,7 +3805,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp6) = f_disp6;
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sthiq", "f_disp6 0x%x", 'x', f_disp6, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sthiq", "f_disp6 0x%x", 'x', f_disp6, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3836,7 +3836,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp6) = f_disp6;
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stlol", "f_disp6 0x%x", 'x', f_disp6, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stlol", "f_disp6 0x%x", 'x', f_disp6, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3867,7 +3867,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_disp6) = f_disp6;
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stloq", "f_disp6 0x%x", 'x', f_disp6, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stloq", "f_disp6 0x%x", 'x', f_disp6, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3898,7 +3898,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stxb", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stxb", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3930,7 +3930,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stxl", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stxl", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3962,7 +3962,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stxq", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stxq", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -3994,7 +3994,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stxw", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stxw", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4026,7 +4026,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_dest) = f_dest;
FLD (f_left) = f_left;
FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_swapq", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_swapq", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4053,7 +4053,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
/* Record the fields for the semantic handler. */
FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_trapa", "f_left 0x%x", 'x', f_left, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_trapa", "f_left 0x%x", 'x', f_left, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
@@ -4083,7 +4083,7 @@ sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
FLD (f_imm6) = f_imm6;
FLD (f_left) = f_left;
FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_xori", "f_imm6 0x%x", 'x', f_imm6, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
+ CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_xori", "f_imm6 0x%x", 'x', f_imm6, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
#if WITH_PROFILE_MODEL_P
/* Record the fields for profiling. */
diff --git a/sim/sh64/mloop-compact.c b/sim/sh64/mloop-compact.c
index fb6b55202cf..16d6e6308ac 100644
--- a/sim/sh64/mloop-compact.c
+++ b/sim/sh64/mloop-compact.c
@@ -124,8 +124,8 @@ execute (SIM_CPU *current_cpu, SCACHE *sc, int fast_p)
if (PROFILE_MODEL_P (current_cpu)
&& ARGBUF_PROFILE_P (abuf))
sh64_compact_model_insn_before (current_cpu, 1 /*first_p*/);
- TRACE_INSN_INIT (current_cpu, abuf, 1);
- TRACE_INSN (current_cpu, idesc->idata,
+ CGEN_TRACE_INSN_INIT (current_cpu, abuf, 1);
+ CGEN_TRACE_INSN (current_cpu, idesc->idata,
(const struct argbuf *) abuf, abuf->addr);
}
#if WITH_SCACHE
@@ -144,7 +144,7 @@ execute (SIM_CPU *current_cpu, SCACHE *sc, int fast_p)
cycles = (*idesc->timing->model_fn) (current_cpu, sc);
sh64_compact_model_insn_after (current_cpu, 1 /*last_p*/, cycles);
}
- TRACE_INSN_FINI (current_cpu, abuf, 1);
+ CGEN_TRACE_INSN_FINI (current_cpu, abuf, 1);
}
#else
abort ();
@@ -459,7 +459,7 @@ sh64_compact_pbb_before (SIM_CPU *current_cpu, SCACHE *sc)
}
}
- TRACE_INSN_FINI (current_cpu, cur_abuf, 0 /*last_p*/);
+ CGEN_TRACE_INSN_FINI (current_cpu, cur_abuf, 0 /*last_p*/);
}
/* FIXME: Later make cover macros: PROFILE_INSN_{INIT,FINI}. */
@@ -467,8 +467,8 @@ sh64_compact_pbb_before (SIM_CPU *current_cpu, SCACHE *sc)
&& ARGBUF_PROFILE_P (cur_abuf))
sh64_compact_model_insn_before (current_cpu, first_p);
- TRACE_INSN_INIT (current_cpu, cur_abuf, first_p);
- TRACE_INSN (current_cpu, cur_idesc->idata, cur_abuf, pc);
+ CGEN_TRACE_INSN_INIT (current_cpu, cur_abuf, first_p);
+ CGEN_TRACE_INSN (current_cpu, cur_idesc->idata, cur_abuf, pc);
}
/* x-after handler.
@@ -493,7 +493,7 @@ sh64_compact_pbb_after (SIM_CPU *current_cpu, SCACHE *sc)
cycles = (*prev_idesc->timing->model_fn) (current_cpu, prev_sem_arg);
sh64_compact_model_insn_after (current_cpu, 1 /*last_p*/, cycles);
}
- TRACE_INSN_FINI (current_cpu, prev_abuf, 1 /*last_p*/);
+ CGEN_TRACE_INSN_FINI (current_cpu, prev_abuf, 1 /*last_p*/);
}
#define FAST_P 0
diff --git a/sim/sh64/mloop-media.c b/sim/sh64/mloop-media.c
index 03c5df534c5..2146d3eaa64 100644
--- a/sim/sh64/mloop-media.c
+++ b/sim/sh64/mloop-media.c
@@ -124,8 +124,8 @@ execute (SIM_CPU *current_cpu, SCACHE *sc, int fast_p)
if (PROFILE_MODEL_P (current_cpu)
&& ARGBUF_PROFILE_P (abuf))
sh64_media_model_insn_before (current_cpu, 1 /*first_p*/);
- TRACE_INSN_INIT (current_cpu, abuf, 1);
- TRACE_INSN (current_cpu, idesc->idata,
+ CGEN_TRACE_INSN_INIT (current_cpu, abuf, 1);
+ CGEN_TRACE_INSN (current_cpu, idesc->idata,
(const struct argbuf *) abuf, abuf->addr);
}
#if WITH_SCACHE
@@ -144,7 +144,7 @@ execute (SIM_CPU *current_cpu, SCACHE *sc, int fast_p)
cycles = (*idesc->timing->model_fn) (current_cpu, sc);
sh64_media_model_insn_after (current_cpu, 1 /*last_p*/, cycles);
}
- TRACE_INSN_FINI (current_cpu, abuf, 1);
+ CGEN_TRACE_INSN_FINI (current_cpu, abuf, 1);
}
#else
abort ();
@@ -446,7 +446,7 @@ sh64_media_pbb_before (SIM_CPU *current_cpu, SCACHE *sc)
}
}
- TRACE_INSN_FINI (current_cpu, cur_abuf, 0 /*last_p*/);
+ CGEN_TRACE_INSN_FINI (current_cpu, cur_abuf, 0 /*last_p*/);
}
/* FIXME: Later make cover macros: PROFILE_INSN_{INIT,FINI}. */
@@ -454,8 +454,8 @@ sh64_media_pbb_before (SIM_CPU *current_cpu, SCACHE *sc)
&& ARGBUF_PROFILE_P (cur_abuf))
sh64_media_model_insn_before (current_cpu, first_p);
- TRACE_INSN_INIT (current_cpu, cur_abuf, first_p);
- TRACE_INSN (current_cpu, cur_idesc->idata, cur_abuf, pc);
+ CGEN_TRACE_INSN_INIT (current_cpu, cur_abuf, first_p);
+ CGEN_TRACE_INSN (current_cpu, cur_idesc->idata, cur_abuf, pc);
}
/* x-after handler.
@@ -480,7 +480,7 @@ sh64_media_pbb_after (SIM_CPU *current_cpu, SCACHE *sc)
cycles = (*prev_idesc->timing->model_fn) (current_cpu, prev_sem_arg);
sh64_media_model_insn_after (current_cpu, 1 /*last_p*/, cycles);
}
- TRACE_INSN_FINI (current_cpu, prev_abuf, 1 /*last_p*/);
+ CGEN_TRACE_INSN_FINI (current_cpu, prev_abuf, 1 /*last_p*/);
}
#define FAST_P 0
diff --git a/sim/sh64/sem-compact-switch.c b/sim/sh64/sem-compact-switch.c
index 08fb43cca60..04225cbf447 100644
--- a/sim/sh64/sem-compact-switch.c
+++ b/sim/sh64/sem-compact-switch.c
@@ -251,13 +251,13 @@ This file is part of the GNU simulators.
/* If hyper-fast [well not unnecessarily slow] execution is selected, turn
off frills like tracing and profiling. */
-/* FIXME: A better way would be to have TRACE_RESULT check for something
+/* FIXME: A better way would be to have CGEN_TRACE_RESULT check for something
that can cause it to be optimized out. Another way would be to emit
special handlers into the instruction "stream". */
#if FAST_P
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
+#undef CGEN_TRACE_RESULT
+#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
#endif
#undef GET_ATTR
@@ -442,7 +442,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -461,7 +461,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), EXTQISI (ANDQI (FLD (f_imm8), 255)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -483,12 +483,12 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDCSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)), GET_H_TBIT ());
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = tmp_flag;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -511,12 +511,12 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = tmp_t;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -536,7 +536,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
DI opval = ANDDI (GET_H_GR (FLD (f_rm)), GET_H_GR (FLD (f_rn)));
SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -555,7 +555,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
SI opval = ANDSI (GET_H_GRC (((UINT) 0)), ZEXTSIDI (FLD (f_imm8)));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -579,7 +579,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
UQI opval = tmp_data;
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
@@ -602,7 +602,7 @@ if (NOTBI (GET_H_TBIT ())) {
UDI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
@@ -628,7 +628,7 @@ if (NOTBI (GET_H_TBIT ())) {
UDI opval = ADDDI (pc, 2);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
((void) 0); /*nop*/
{
@@ -636,7 +636,7 @@ if (NOTBI (GET_H_TBIT ())) {
UDI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -662,14 +662,14 @@ if (NOTBI (GET_H_TBIT ())) {
{
UDI opval = ADDDI (pc, 2);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
((void) 0); /*nop*/
{
{
UDI opval = FLD (i_disp12);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -693,14 +693,14 @@ if (NOTBI (GET_H_TBIT ())) {
{
UDI opval = ADDDI (pc, 2);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
((void) 0); /*nop*/
{
{
UDI opval = ADDDI (EXTSIDI (GET_H_GRC (FLD (f_rn))), ADDDI (pc, 4));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -740,20 +740,20 @@ sh64_break (current_cpu, pc);
{
SI opval = ADDDI (pc, 4);
SET_H_PR (opval);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
}
}
{
UDI opval = ADDDI (pc, 2);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
((void) 0); /*nop*/
{
{
UDI opval = FLD (i_disp12);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -778,20 +778,20 @@ sh64_break (current_cpu, pc);
{
SI opval = ADDDI (pc, 4);
SET_H_PR (opval);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
}
}
{
UDI opval = ADDDI (pc, 2);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
((void) 0); /*nop*/
{
{
UDI opval = ADDDI (EXTSIDI (GET_H_GRC (FLD (f_rn))), ADDDI (pc, 4));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -816,7 +816,7 @@ if (GET_H_TBIT ()) {
UDI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
@@ -842,7 +842,7 @@ if (GET_H_TBIT ()) {
UDI opval = ADDDI (pc, 2);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
((void) 0); /*nop*/
{
@@ -850,7 +850,7 @@ if (GET_H_TBIT ()) {
UDI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -875,12 +875,12 @@ if (GET_H_TBIT ()) {
{
SI opval = 0;
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
{
SI opval = 0;
SET_H_MACH (opval);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
}
@@ -900,7 +900,7 @@ if (GET_H_TBIT ()) {
{
BI opval = 0;
SET_H_SBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "sbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sbit", 'x', opval);
}
#undef FLD
@@ -919,7 +919,7 @@ if (GET_H_TBIT ()) {
{
BI opval = 0;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
@@ -938,7 +938,7 @@ if (GET_H_TBIT ()) {
{
BI opval = EQSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
@@ -957,7 +957,7 @@ if (GET_H_TBIT ()) {
{
BI opval = EQSI (GET_H_GRC (((UINT) 0)), EXTQISI (ANDQI (FLD (f_imm8), 255)));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
@@ -976,7 +976,7 @@ if (GET_H_TBIT ()) {
{
BI opval = GESI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
@@ -995,7 +995,7 @@ if (GET_H_TBIT ()) {
{
BI opval = GTSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
@@ -1014,7 +1014,7 @@ if (GET_H_TBIT ()) {
{
BI opval = GTUSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
@@ -1033,7 +1033,7 @@ if (GET_H_TBIT ()) {
{
BI opval = GEUSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
@@ -1052,7 +1052,7 @@ if (GET_H_TBIT ()) {
{
BI opval = GTSI (GET_H_GRC (FLD (f_rn)), 0);
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
@@ -1071,7 +1071,7 @@ if (GET_H_TBIT ()) {
{
BI opval = GESI (GET_H_GRC (FLD (f_rn)), 0);
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
@@ -1098,7 +1098,7 @@ if (GET_H_TBIT ()) {
{
BI opval = ((GTUBI (tmp_t, 0)) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -1119,17 +1119,17 @@ if (GET_H_TBIT ()) {
{
BI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
{
BI opval = SRLSI (GET_H_GRC (FLD (f_rm)), 31);
SET_H_MBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
}
{
BI opval = ((EQSI (SRLSI (GET_H_GRC (FLD (f_rm)), 31), SRLSI (GET_H_GRC (FLD (f_rn)), 31))) ? (0) : (1));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -1150,17 +1150,17 @@ if (GET_H_TBIT ()) {
{
BI opval = 0;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
{
BI opval = 0;
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
{
BI opval = 0;
SET_H_MBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
}
}
@@ -1185,12 +1185,12 @@ if (GET_H_TBIT ()) {
{
BI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
{
SI opval = ORSI (SLLSI (GET_H_GRC (FLD (f_rn)), 1), ZEXTBISI (GET_H_TBIT ()));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
if (NOTBI (tmp_oldq)) {
if (NOTBI (GET_H_MBIT ())) {
@@ -1199,20 +1199,20 @@ if (NOTBI (GET_H_MBIT ())) {
{
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
tmp_tmp1 = GTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
if (NOTBI (GET_H_QBIT ())) {
{
BI opval = ((tmp_tmp1) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
} else {
{
BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
}
}
@@ -1222,20 +1222,20 @@ if (NOTBI (GET_H_QBIT ())) {
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
tmp_tmp1 = LTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
if (NOTBI (GET_H_QBIT ())) {
{
BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
} else {
{
BI opval = ((tmp_tmp1) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
}
}
@@ -1247,20 +1247,20 @@ if (NOTBI (GET_H_MBIT ())) {
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
tmp_tmp1 = LTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
if (NOTBI (GET_H_QBIT ())) {
{
BI opval = ((tmp_tmp1) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
} else {
{
BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
}
}
@@ -1270,20 +1270,20 @@ if (NOTBI (GET_H_QBIT ())) {
{
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
tmp_tmp1 = GTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
if (NOTBI (GET_H_QBIT ())) {
{
BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
} else {
{
BI opval = ((tmp_tmp1) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
}
}
@@ -1292,7 +1292,7 @@ if (NOTBI (GET_H_QBIT ())) {
{
BI opval = ((EQBI (GET_H_QBIT (), GET_H_MBIT ())) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -1312,7 +1312,7 @@ if (NOTBI (GET_H_QBIT ())) {
{
SI opval = UDIVSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (((UINT) 0)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -1331,7 +1331,7 @@ if (NOTBI (GET_H_QBIT ())) {
{
SI opval = MULSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (((UINT) 0)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -1353,12 +1353,12 @@ if (NOTBI (GET_H_QBIT ())) {
{
SI opval = SUBWORDDISI (tmp_result, 0);
SET_H_MACH (opval);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
{
SI opval = SUBWORDDISI (tmp_result, 1);
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
}
@@ -1381,12 +1381,12 @@ if (NOTBI (GET_H_QBIT ())) {
{
SI opval = SUBWORDDISI (tmp_result, 0);
SET_H_MACH (opval);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
{
SI opval = SUBWORDDISI (tmp_result, 1);
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
}
@@ -1407,12 +1407,12 @@ if (NOTBI (GET_H_QBIT ())) {
{
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), 1);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = EQSI (GET_H_GRC (FLD (f_rn)), 0);
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -1432,7 +1432,7 @@ if (NOTBI (GET_H_QBIT ())) {
{
SI opval = EXTQISI (SUBWORDSIQI (GET_H_GRC (FLD (f_rm)), 3));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -1451,7 +1451,7 @@ if (NOTBI (GET_H_QBIT ())) {
{
SI opval = EXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -1470,7 +1470,7 @@ if (NOTBI (GET_H_QBIT ())) {
{
SI opval = ZEXTQISI (SUBWORDSIQI (GET_H_GRC (FLD (f_rm)), 3));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -1489,7 +1489,7 @@ if (NOTBI (GET_H_QBIT ())) {
{
SI opval = ZEXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -1510,14 +1510,14 @@ if (GET_H_PRBIT ()) {
DF opval = sh64_fabsd (current_cpu, GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
DF opval = sh64_fabss (current_cpu, GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
@@ -1540,14 +1540,14 @@ if (GET_H_PRBIT ()) {
DF opval = sh64_faddd (current_cpu, GET_H_FSD (FLD (f_rm)), GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
DF opval = sh64_fadds (current_cpu, GET_H_FSD (FLD (f_rm)), GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
@@ -1570,14 +1570,14 @@ if (GET_H_PRBIT ()) {
BI opval = sh64_fcmpeqd (current_cpu, GET_H_FSD (FLD (f_rm)), GET_H_FSD (FLD (f_rn)));
SET_H_TBIT (opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
} else {
{
BI opval = sh64_fcmpeqs (current_cpu, GET_H_FSD (FLD (f_rm)), GET_H_FSD (FLD (f_rn)));
SET_H_TBIT (opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -1600,14 +1600,14 @@ if (GET_H_PRBIT ()) {
BI opval = sh64_fcmpgtd (current_cpu, GET_H_FSD (FLD (f_rn)), GET_H_FSD (FLD (f_rm)));
SET_H_TBIT (opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
} else {
{
BI opval = sh64_fcmpgts (current_cpu, GET_H_FSD (FLD (f_rn)), GET_H_FSD (FLD (f_rm)));
SET_H_TBIT (opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -1628,7 +1628,7 @@ if (GET_H_PRBIT ()) {
{
SF opval = sh64_fcnvds (current_cpu, GET_H_DRC (FLD (f_dn)));
CPU (h_fr[((UINT) 32)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -1647,7 +1647,7 @@ if (GET_H_PRBIT ()) {
{
DF opval = sh64_fcnvsd (current_cpu, CPU (h_fr[((UINT) 32)]));
SET_H_DRC (FLD (f_dn), opval);
- TRACE_RESULT (current_cpu, abuf, "drc", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "drc", 'f', opval);
}
#undef FLD
@@ -1668,14 +1668,14 @@ if (GET_H_PRBIT ()) {
DF opval = sh64_fdivd (current_cpu, GET_H_FSD (FLD (f_rn)), GET_H_FSD (FLD (f_rm)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
DF opval = sh64_fdivs (current_cpu, GET_H_FSD (FLD (f_rn)), GET_H_FSD (FLD (f_rm)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
@@ -1711,7 +1711,7 @@ sh64_fipr (current_cpu, FLD (f_vm), FLD (f_vn));
{
SF opval = GET_H_FRC (FLD (f_rn));
CPU (h_fr[((UINT) 32)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -1730,7 +1730,7 @@ sh64_fipr (current_cpu, FLD (f_vm), FLD (f_vn));
{
SF opval = sh64_fldi0 (current_cpu);
SET_H_FRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
}
#undef FLD
@@ -1749,7 +1749,7 @@ sh64_fipr (current_cpu, FLD (f_vm), FLD (f_vn));
{
SF opval = sh64_fldi1 (current_cpu);
SET_H_FRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
}
#undef FLD
@@ -1770,14 +1770,14 @@ if (GET_H_PRBIT ()) {
DF opval = sh64_floatld (current_cpu, CPU (h_fr[((UINT) 32)]));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
DF opval = sh64_floatls (current_cpu, CPU (h_fr[((UINT) 32)]));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
@@ -1798,7 +1798,7 @@ if (GET_H_PRBIT ()) {
{
SF opval = sh64_fmacs (current_cpu, GET_H_FRC (((UINT) 0)), GET_H_FRC (FLD (f_rm)), GET_H_FRC (FLD (f_rn)));
SET_H_FRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
}
#undef FLD
@@ -1817,7 +1817,7 @@ if (GET_H_PRBIT ()) {
{
DF opval = GET_H_FMOV (FLD (f_rm));
SET_H_FMOV (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
#undef FLD
@@ -1838,14 +1838,14 @@ if (NOTBI (GET_H_SZBIT ())) {
DF opval = GETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
SET_H_FMOV (FLD (f_rn), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
} else {
{
DF opval = GETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
SET_H_FMOV (FLD (f_rn), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
}
@@ -1869,13 +1869,13 @@ if (NOTBI (GET_H_SZBIT ())) {
DF opval = GETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
SET_H_FMOV (FLD (f_rn), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
} else {
@@ -1884,13 +1884,13 @@ if (NOTBI (GET_H_SZBIT ())) {
DF opval = GETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
SET_H_FMOV (FLD (f_rn), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 8);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
}
@@ -1914,14 +1914,14 @@ if (NOTBI (GET_H_SZBIT ())) {
DF opval = GETMEMSF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
SET_H_FMOV (FLD (f_rn), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
} else {
{
DF opval = GETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
SET_H_FMOV (FLD (f_rn), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
}
@@ -1944,14 +1944,14 @@ if (NOTBI (GET_H_SZBIT ())) {
SF opval = GET_H_FMOV (FLD (f_rm));
SETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
} else {
{
DF opval = GET_H_FMOV (FLD (f_rm));
SETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
}
@@ -1975,13 +1975,13 @@ if (NOTBI (GET_H_SZBIT ())) {
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
SF opval = GET_H_FMOV (FLD (f_rm));
SETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
}
} else {
@@ -1990,13 +1990,13 @@ if (NOTBI (GET_H_SZBIT ())) {
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), 8);
SET_H_GRC (FLD (f_rn), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
DF opval = GET_H_FMOV (FLD (f_rm));
SETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
}
}
@@ -2020,14 +2020,14 @@ if (NOTBI (GET_H_SZBIT ())) {
SF opval = GET_H_FMOV (FLD (f_rm));
SETMEMSF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
} else {
{
DF opval = GET_H_FMOV (FLD (f_rm));
SETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
}
@@ -2048,7 +2048,7 @@ if (NOTBI (GET_H_SZBIT ())) {
{
DF opval = GETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm12x8)));
SET_H_DRC (FLD (f_dn), opval);
- TRACE_RESULT (current_cpu, abuf, "drc", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "drc", 'f', opval);
}
#undef FLD
@@ -2067,7 +2067,7 @@ if (NOTBI (GET_H_SZBIT ())) {
{
DF opval = GET_H_DRC (FLD (f_dm));
SETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rn)), FLD (f_imm12x8)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
#undef FLD
@@ -2088,14 +2088,14 @@ if (GET_H_PRBIT ()) {
DF opval = sh64_fmuld (current_cpu, GET_H_FSD (FLD (f_rm)), GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
DF opval = sh64_fmuls (current_cpu, GET_H_FSD (FLD (f_rm)), GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
@@ -2118,14 +2118,14 @@ if (GET_H_PRBIT ()) {
DF opval = sh64_fnegd (current_cpu, GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
DF opval = sh64_fnegs (current_cpu, GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
@@ -2146,7 +2146,7 @@ if (GET_H_PRBIT ()) {
{
BI opval = NOTBI (GET_H_FRBIT ());
SET_H_FRBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "frbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "frbit", 'x', opval);
}
#undef FLD
@@ -2165,7 +2165,7 @@ if (GET_H_PRBIT ()) {
{
BI opval = NOTBI (GET_H_SZBIT ());
SET_H_SZBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "szbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "szbit", 'x', opval);
}
#undef FLD
@@ -2186,14 +2186,14 @@ if (GET_H_PRBIT ()) {
DF opval = sh64_fsqrtd (current_cpu, GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
DF opval = sh64_fsqrts (current_cpu, GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
@@ -2214,7 +2214,7 @@ if (GET_H_PRBIT ()) {
{
SF opval = CPU (h_fr[((UINT) 32)]);
SET_H_FRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
}
#undef FLD
@@ -2235,14 +2235,14 @@ if (GET_H_PRBIT ()) {
DF opval = sh64_fsubd (current_cpu, GET_H_FSD (FLD (f_rn)), GET_H_FSD (FLD (f_rm)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
DF opval = sh64_fsubs (current_cpu, GET_H_FSD (FLD (f_rn)), GET_H_FSD (FLD (f_rm)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
@@ -2263,7 +2263,7 @@ if (GET_H_PRBIT ()) {
{
SF opval = ((GET_H_PRBIT ()) ? (sh64_ftrcdl (current_cpu, GET_H_FSD (FLD (f_rn)))) : (sh64_ftrcsl (current_cpu, GET_H_FSD (FLD (f_rn)))));
CPU (h_fr[((UINT) 32)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -2299,14 +2299,14 @@ sh64_ftrv (current_cpu, FLD (f_vn));
{
UDI opval = ADDDI (pc, 2);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
((void) 0); /*nop*/
{
{
UDI opval = GET_H_GRC (FLD (f_rn));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
((void) 0); /*nop*/
@@ -2332,20 +2332,20 @@ sh64_ftrv (current_cpu, FLD (f_vn));
{
SI opval = ADDDI (pc, 4);
SET_H_PR (opval);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
}
}
{
UDI opval = ADDDI (pc, 2);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
((void) 0); /*nop*/
{
{
UDI opval = GET_H_GRC (FLD (f_rn));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
((void) 0); /*nop*/
@@ -2368,7 +2368,7 @@ sh64_ftrv (current_cpu, FLD (f_vn));
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_GBR (opval);
- TRACE_RESULT (current_cpu, abuf, "gbr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gbr", 'x', opval);
}
#undef FLD
@@ -2387,7 +2387,7 @@ sh64_ftrv (current_cpu, FLD (f_vn));
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_VBR (opval);
- TRACE_RESULT (current_cpu, abuf, "vbr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbr", 'x', opval);
}
#undef FLD
@@ -2406,7 +2406,7 @@ sh64_ftrv (current_cpu, FLD (f_vn));
{
SI opval = GET_H_GRC (FLD (f_rn));
CPU (h_sr) = opval;
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
#undef FLD
@@ -2426,12 +2426,12 @@ sh64_ftrv (current_cpu, FLD (f_vn));
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
SET_H_GBR (opval);
- TRACE_RESULT (current_cpu, abuf, "gbr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gbr", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -2452,12 +2452,12 @@ sh64_ftrv (current_cpu, FLD (f_vn));
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
SET_H_VBR (opval);
- TRACE_RESULT (current_cpu, abuf, "vbr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbr", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -2477,7 +2477,7 @@ sh64_ftrv (current_cpu, FLD (f_vn));
{
SI opval = GET_H_GRC (FLD (f_rn));
CPU (h_fpscr) = opval;
- TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
}
#undef FLD
@@ -2497,12 +2497,12 @@ sh64_ftrv (current_cpu, FLD (f_vn));
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
CPU (h_fpscr) = opval;
- TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -2522,7 +2522,7 @@ sh64_ftrv (current_cpu, FLD (f_vn));
{
SF opval = SUBWORDSISF (GET_H_GRC (FLD (f_rn)));
CPU (h_fr[((UINT) 32)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -2542,12 +2542,12 @@ sh64_ftrv (current_cpu, FLD (f_vn));
{
SF opval = GETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
CPU (h_fr[((UINT) 32)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -2567,7 +2567,7 @@ sh64_ftrv (current_cpu, FLD (f_vn));
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_MACH (opval);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
#undef FLD
@@ -2587,12 +2587,12 @@ sh64_ftrv (current_cpu, FLD (f_vn));
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
SET_H_MACH (opval);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -2612,7 +2612,7 @@ sh64_ftrv (current_cpu, FLD (f_vn));
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
#undef FLD
@@ -2632,12 +2632,12 @@ sh64_ftrv (current_cpu, FLD (f_vn));
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -2657,7 +2657,7 @@ sh64_ftrv (current_cpu, FLD (f_vn));
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_PR (opval);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
}
#undef FLD
@@ -2677,12 +2677,12 @@ sh64_ftrv (current_cpu, FLD (f_vn));
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
SET_H_PR (opval);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -2709,20 +2709,20 @@ sh64_ftrv (current_cpu, FLD (f_vn));
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
if (EQSI (FLD (f_rn), FLD (f_rm))) {
{
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
}
@@ -2731,7 +2731,7 @@ if (EQSI (FLD (f_rn), FLD (f_rm))) {
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
tmp_tmpry = MULDI (ZEXTSIDI (tmp_x), ZEXTSIDI (tmp_y));
tmp_mac = ORDI (SLLDI (ZEXTSIDI (GET_H_MACH ()), 32), ZEXTSIDI (GET_H_MACL ()));
@@ -2755,12 +2755,12 @@ if (LTDI (tmp_result, tmp_min)) {
{
SI opval = SUBWORDDISI (tmp_result, 0);
SET_H_MACH (opval);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
{
SI opval = SUBWORDDISI (tmp_result, 1);
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
}
}
@@ -2789,20 +2789,20 @@ if (LTDI (tmp_result, tmp_min)) {
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 2);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
if (EQSI (FLD (f_rn), FLD (f_rm))) {
{
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 2);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 2);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
}
@@ -2811,7 +2811,7 @@ if (EQSI (FLD (f_rn), FLD (f_rm))) {
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 2);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
tmp_tmpry = MULSI (ZEXTHISI (tmp_x), ZEXTHISI (tmp_y));
if (GET_H_SBIT ()) {
@@ -2821,14 +2821,14 @@ if (ADDOFSI (tmp_tmpry, GET_H_MACL (), 0)) {
SI opval = 1;
SET_H_MACH (opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
}
{
SI opval = ADDSI (tmp_tmpry, GET_H_MACL ());
SET_H_MACL (opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
}
} else {
@@ -2839,13 +2839,13 @@ if (ADDOFSI (tmp_tmpry, GET_H_MACL (), 0)) {
SI opval = SUBWORDDISI (tmp_result, 0);
SET_H_MACH (opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
{
SI opval = SUBWORDDISI (tmp_result, 1);
SET_H_MACL (opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
}
}
@@ -2868,7 +2868,7 @@ if (ADDOFSI (tmp_tmpry, GET_H_MACL (), 0)) {
{
DI opval = GET_H_GR (FLD (f_rm));
SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -2887,7 +2887,7 @@ if (ADDOFSI (tmp_tmpry, GET_H_MACL (), 0)) {
{
SI opval = EXTQIDI (ANDQI (FLD (f_imm8), 255));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -2906,7 +2906,7 @@ if (ADDOFSI (tmp_tmpry, GET_H_MACL (), 0)) {
{
SI opval = FLD (f_imm20);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -2925,7 +2925,7 @@ if (ADDOFSI (tmp_tmpry, GET_H_MACL (), 0)) {
{
UQI opval = SUBWORDSIUQI (GET_H_GRC (FLD (f_rm)), 3);
SETMEMUQI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2947,12 +2947,12 @@ if (ADDOFSI (tmp_tmpry, GET_H_MACL (), 0)) {
{
UQI opval = SUBWORDSIUQI (GET_H_GRC (FLD (f_rm)), 3);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -2972,7 +2972,7 @@ if (ADDOFSI (tmp_tmpry, GET_H_MACL (), 0)) {
{
UQI opval = SUBWORDSIUQI (GET_H_GRC (FLD (f_rm)), 3);
SETMEMUQI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -2994,7 +2994,7 @@ if (ADDOFSI (tmp_tmpry, GET_H_MACL (), 0)) {
{
UQI opval = SUBWORDSIUQI (GET_H_GRC (((UINT) 0)), 3);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
@@ -3017,7 +3017,7 @@ if (ADDOFSI (tmp_tmpry, GET_H_MACL (), 0)) {
{
UQI opval = SUBWORDSIUQI (GET_H_GRC (((UINT) 0)), 3);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
@@ -3037,7 +3037,7 @@ if (ADDOFSI (tmp_tmpry, GET_H_MACL (), 0)) {
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, GET_H_GRC (FLD (f_rm))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3061,20 +3061,20 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
SI opval = EXTQISI (tmp_data);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 1);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SI opval = EXTQISI (tmp_data);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -3095,7 +3095,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm)))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3114,7 +3114,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8))));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3133,7 +3133,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4))));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3152,7 +3152,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GET_H_GRC (FLD (f_rm));
SETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -3174,12 +3174,12 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GET_H_GRC (FLD (f_rm));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -3199,7 +3199,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GET_H_GRC (FLD (f_rm));
SETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -3218,7 +3218,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GET_H_GRC (((UINT) 0));
SETMEMSI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x4)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -3237,7 +3237,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GET_H_GRC (FLD (f_rm));
SETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rn)), FLD (f_imm4x4)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -3256,7 +3256,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3276,21 +3276,21 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
}
@@ -3312,7 +3312,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3331,7 +3331,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x4)));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3350,7 +3350,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_imm8x4), ANDDI (ADDDI (pc, 4), INVSI (3))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3369,7 +3369,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4x4)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3388,7 +3388,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm12x4)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3407,7 +3407,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GET_H_GRC (FLD (f_rm));
SETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rn)), FLD (f_imm12x4)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -3426,7 +3426,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
HI opval = SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1);
SETMEMHI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -3448,12 +3448,12 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
HI opval = SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1);
SETMEMHI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -3473,7 +3473,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
HI opval = SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1);
SETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -3492,7 +3492,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
HI opval = SUBWORDSIHI (GET_H_GRC (((UINT) 0)), 1);
SETMEMHI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x2)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -3511,7 +3511,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
HI opval = SUBWORDSIHI (GET_H_GRC (((UINT) 0)), 1);
SETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4x2)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -3530,7 +3530,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, GET_H_GRC (FLD (f_rm))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3554,20 +3554,20 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
SI opval = EXTHISI (tmp_data);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 2);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SI opval = EXTHISI (tmp_data);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -3588,7 +3588,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm)))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3607,7 +3607,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x2))));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3626,7 +3626,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDDI (ADDDI (pc, 4), FLD (f_imm8x2))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3645,7 +3645,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4x2))));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3664,7 +3664,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = ADDDI (ANDDI (ADDDI (pc, 4), INVSI (3)), FLD (f_imm8x4));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3683,7 +3683,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GET_H_GRC (((UINT) 0));
SETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -3702,7 +3702,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3721,7 +3721,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = ZEXTBISI (GET_H_TBIT ());
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3740,7 +3740,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = sh64_movua (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3760,12 +3760,12 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = sh64_movua (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -3785,7 +3785,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = MULSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
#undef FLD
@@ -3804,7 +3804,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = MULSI (EXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1)), EXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rn)), 1)));
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
#undef FLD
@@ -3823,7 +3823,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = MULSI (ZEXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1)), ZEXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rn)), 1)));
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
#undef FLD
@@ -3842,7 +3842,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = NEGSI (GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -3864,12 +3864,12 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = SUBCSI (0, GET_H_GRC (FLD (f_rm)), GET_H_TBIT ());
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = tmp_flag;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -3904,7 +3904,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
DI opval = INVDI (GET_H_GR (FLD (f_rm)));
SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -3924,7 +3924,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
((void) 0); /*nop*/
}
@@ -3946,7 +3946,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
((void) 0); /*nop*/
}
@@ -3968,7 +3968,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
((void) 0); /*nop*/
}
@@ -3989,7 +3989,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
DI opval = ORDI (GET_H_GR (FLD (f_rm)), GET_H_GR (FLD (f_rn)));
SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4008,7 +4008,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = ORSI (GET_H_GRC (((UINT) 0)), ZEXTSIDI (FLD (f_imm8)));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -4032,7 +4032,7 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
UQI opval = tmp_data;
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
@@ -4070,12 +4070,12 @@ sh64_pref (current_cpu, GET_H_GRC (FLD (f_rn)));
{
SI opval = ORSI (SLLSI (GET_H_GRC (FLD (f_rn)), 1), GET_H_TBIT ());
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_temp) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -4100,12 +4100,12 @@ sh64_pref (current_cpu, GET_H_GRC (FLD (f_rn)));
{
SI opval = ORSI (SRLSI (GET_H_GRC (FLD (f_rn)), 1), SLLSI (tmp_temp, 31));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_lsbit) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -4128,12 +4128,12 @@ sh64_pref (current_cpu, GET_H_GRC (FLD (f_rn)));
{
SI opval = ORSI (SLLSI (GET_H_GRC (FLD (f_rn)), 1), tmp_temp);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_temp) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -4158,12 +4158,12 @@ sh64_pref (current_cpu, GET_H_GRC (FLD (f_rn)));
{
SI opval = ORSI (SRLSI (GET_H_GRC (FLD (f_rn)), 1), SLLSI (tmp_temp, 31));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_lsbit) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -4185,14 +4185,14 @@ sh64_pref (current_cpu, GET_H_GRC (FLD (f_rn)));
{
UDI opval = ADDDI (pc, 2);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
((void) 0); /*nop*/
{
{
UDI opval = GET_H_PR ();
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
((void) 0); /*nop*/
@@ -4215,7 +4215,7 @@ sh64_pref (current_cpu, GET_H_GRC (FLD (f_rn)));
{
BI opval = 1;
SET_H_SBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "sbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sbit", 'x', opval);
}
#undef FLD
@@ -4234,7 +4234,7 @@ sh64_pref (current_cpu, GET_H_GRC (FLD (f_rn)));
{
BI opval = 1;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
@@ -4258,7 +4258,7 @@ if (GESI (GET_H_GRC (FLD (f_rm)), 0)) {
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), tmp_shamt);
SET_H_GRC (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
if (NESI (tmp_shamt, 0)) {
@@ -4266,7 +4266,7 @@ if (NESI (tmp_shamt, 0)) {
SI opval = SRASI (GET_H_GRC (FLD (f_rn)), SUBSI (32, tmp_shamt));
SET_H_GRC (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
if (LTSI (GET_H_GRC (FLD (f_rn)), 0)) {
@@ -4274,14 +4274,14 @@ if (LTSI (GET_H_GRC (FLD (f_rn)), 0)) {
SI opval = NEGSI (1);
SET_H_GRC (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
{
SI opval = 0;
SET_H_GRC (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
}
@@ -4308,12 +4308,12 @@ if (LTSI (GET_H_GRC (FLD (f_rn)), 0)) {
{
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 1);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_t) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -4336,12 +4336,12 @@ if (LTSI (GET_H_GRC (FLD (f_rn)), 0)) {
{
SI opval = SRASI (GET_H_GRC (FLD (f_rn)), 1);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_t) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -4366,7 +4366,7 @@ if (GESI (GET_H_GRC (FLD (f_rm)), 0)) {
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), tmp_shamt);
SET_H_GRC (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
if (NESI (tmp_shamt, 0)) {
@@ -4374,14 +4374,14 @@ if (NESI (tmp_shamt, 0)) {
SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), SUBSI (32, tmp_shamt));
SET_H_GRC (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
{
SI opval = 0;
SET_H_GRC (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
}
@@ -4407,12 +4407,12 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 1);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_t) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -4432,7 +4432,7 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 2);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -4451,7 +4451,7 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 8);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -4470,7 +4470,7 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 16);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -4492,12 +4492,12 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 1);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_t) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -4517,7 +4517,7 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 2);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -4536,7 +4536,7 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 8);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -4555,7 +4555,7 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 16);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -4574,7 +4574,7 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = GET_H_GBR ();
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -4593,7 +4593,7 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = GET_H_VBR ();
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -4615,12 +4615,12 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = GET_H_GBR ();
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -4643,12 +4643,12 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = GET_H_VBR ();
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -4668,7 +4668,7 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = CPU (h_fpscr);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -4690,12 +4690,12 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = CPU (h_fpscr);
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -4715,7 +4715,7 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = SUBWORDSFSI (CPU (h_fr[((UINT) 32)]));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -4737,12 +4737,12 @@ if (NESI (tmp_shamt, 0)) {
{
SF opval = CPU (h_fr[((UINT) 32)]);
SETMEMSF (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -4762,7 +4762,7 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = GET_H_MACH ();
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -4784,12 +4784,12 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = GET_H_MACH ();
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -4809,7 +4809,7 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = GET_H_MACL ();
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -4831,12 +4831,12 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = GET_H_MACL ();
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -4856,7 +4856,7 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = GET_H_PR ();
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -4878,12 +4878,12 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = GET_H_PR ();
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -4903,7 +4903,7 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -4925,12 +4925,12 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = SUBCSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)), GET_H_TBIT ());
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = tmp_flag;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -4953,12 +4953,12 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_t) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -4985,7 +4985,7 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = ORSI (SLLSI (tmp_top_half, 16), ORSI (SLLSI (tmp_byte0, 8), tmp_byte1));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -5005,7 +5005,7 @@ if (NESI (tmp_shamt, 0)) {
{
SI opval = ORSI (SRLSI (GET_H_GRC (FLD (f_rm)), 16), SLLSI (GET_H_GRC (FLD (f_rm)), 16));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -5027,13 +5027,13 @@ if (NESI (tmp_shamt, 0)) {
{
BI opval = ((EQQI (tmp_byte, 0)) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
tmp_byte = ORQI (tmp_byte, 128);
{
UQI opval = tmp_byte;
SETMEMUQI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
@@ -5068,7 +5068,7 @@ sh64_compact_trapa (current_cpu, FLD (f_imm8), pc);
{
BI opval = ((EQSI (ANDSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn))), 0)) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
@@ -5087,7 +5087,7 @@ sh64_compact_trapa (current_cpu, FLD (f_imm8), pc);
{
BI opval = ((EQSI (ANDSI (GET_H_GRC (((UINT) 0)), ZEXTSISI (FLD (f_imm8))), 0)) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
#undef FLD
@@ -5109,7 +5109,7 @@ sh64_compact_trapa (current_cpu, FLD (f_imm8), pc);
{
BI opval = ((EQQI (ANDQI (GETMEMUQI (current_cpu, pc, tmp_addr), FLD (f_imm8)), 0)) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -5129,7 +5129,7 @@ sh64_compact_trapa (current_cpu, FLD (f_imm8), pc);
{
DI opval = XORDI (GET_H_GR (FLD (f_rn)), GET_H_GR (FLD (f_rm)));
SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -5148,7 +5148,7 @@ sh64_compact_trapa (current_cpu, FLD (f_imm8), pc);
{
SI opval = XORSI (GET_H_GRC (((UINT) 0)), ZEXTSIDI (FLD (f_imm8)));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
@@ -5172,7 +5172,7 @@ sh64_compact_trapa (current_cpu, FLD (f_imm8), pc);
{
UQI opval = tmp_data;
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
@@ -5192,7 +5192,7 @@ sh64_compact_trapa (current_cpu, FLD (f_imm8), pc);
{
SI opval = ORSI (SLLSI (GET_H_GRC (FLD (f_rm)), 16), SRLSI (GET_H_GRC (FLD (f_rn)), 16));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
#undef FLD
diff --git a/sim/sh64/sem-compact.c b/sim/sh64/sem-compact.c
index 87e94512fa7..d5629aff01a 100644
--- a/sim/sh64/sem-compact.c
+++ b/sim/sh64/sem-compact.c
@@ -36,8 +36,8 @@ This file is part of the GNU simulators.
FAST_P, when desired, is defined on the command line, -DFAST_P=1. */
#if FAST_P
#define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_semf_,fn)
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
+#undef CGEN_TRACE_RESULT
+#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
#else
#define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_sem_,fn)
#endif
@@ -210,7 +210,7 @@ SEM_FN_NAME (sh64_compact,add_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -231,7 +231,7 @@ SEM_FN_NAME (sh64_compact,addi_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), EXTQISI (ANDQI (FLD (f_imm8), 255)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -255,12 +255,12 @@ SEM_FN_NAME (sh64_compact,addc_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDCSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)), GET_H_TBIT ());
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = tmp_flag;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -285,12 +285,12 @@ SEM_FN_NAME (sh64_compact,addv_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = tmp_t;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -312,7 +312,7 @@ SEM_FN_NAME (sh64_compact,and_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ANDDI (GET_H_GR (FLD (f_rm)), GET_H_GR (FLD (f_rn)));
SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -333,7 +333,7 @@ SEM_FN_NAME (sh64_compact,andi_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ANDSI (GET_H_GRC (((UINT) 0)), ZEXTSIDI (FLD (f_imm8)));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -359,7 +359,7 @@ SEM_FN_NAME (sh64_compact,andb_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = tmp_data;
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
@@ -384,7 +384,7 @@ if (NOTBI (GET_H_TBIT ())) {
UDI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
@@ -412,7 +412,7 @@ if (NOTBI (GET_H_TBIT ())) {
UDI opval = ADDDI (pc, 2);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
((void) 0); /*nop*/
{
@@ -420,7 +420,7 @@ if (NOTBI (GET_H_TBIT ())) {
UDI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -448,14 +448,14 @@ SEM_FN_NAME (sh64_compact,bra_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UDI opval = ADDDI (pc, 2);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
((void) 0); /*nop*/
{
{
UDI opval = FLD (i_disp12);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -481,14 +481,14 @@ SEM_FN_NAME (sh64_compact,braf_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UDI opval = ADDDI (pc, 2);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
((void) 0); /*nop*/
{
{
UDI opval = ADDDI (EXTSIDI (GET_H_GRC (FLD (f_rn))), ADDDI (pc, 4));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -532,20 +532,20 @@ SEM_FN_NAME (sh64_compact,bsr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDDI (pc, 4);
SET_H_PR (opval);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
}
}
{
UDI opval = ADDDI (pc, 2);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
((void) 0); /*nop*/
{
{
UDI opval = FLD (i_disp12);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -572,20 +572,20 @@ SEM_FN_NAME (sh64_compact,bsrf_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDDI (pc, 4);
SET_H_PR (opval);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
}
}
{
UDI opval = ADDDI (pc, 2);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
((void) 0); /*nop*/
{
{
UDI opval = ADDDI (EXTSIDI (GET_H_GRC (FLD (f_rn))), ADDDI (pc, 4));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -612,7 +612,7 @@ if (GET_H_TBIT ()) {
UDI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
@@ -640,7 +640,7 @@ if (GET_H_TBIT ()) {
UDI opval = ADDDI (pc, 2);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
((void) 0); /*nop*/
{
@@ -648,7 +648,7 @@ if (GET_H_TBIT ()) {
UDI opval = FLD (i_disp8);
SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -675,12 +675,12 @@ SEM_FN_NAME (sh64_compact,clrmac_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = 0;
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
{
SI opval = 0;
SET_H_MACH (opval);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
}
@@ -702,7 +702,7 @@ SEM_FN_NAME (sh64_compact,clrs_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = 0;
SET_H_SBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "sbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sbit", 'x', opval);
}
return vpc;
@@ -723,7 +723,7 @@ SEM_FN_NAME (sh64_compact,clrt_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = 0;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
return vpc;
@@ -744,7 +744,7 @@ SEM_FN_NAME (sh64_compact,cmpeq_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = EQSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
return vpc;
@@ -765,7 +765,7 @@ SEM_FN_NAME (sh64_compact,cmpeqi_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
BI opval = EQSI (GET_H_GRC (((UINT) 0)), EXTQISI (ANDQI (FLD (f_imm8), 255)));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
return vpc;
@@ -786,7 +786,7 @@ SEM_FN_NAME (sh64_compact,cmpge_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = GESI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
return vpc;
@@ -807,7 +807,7 @@ SEM_FN_NAME (sh64_compact,cmpgt_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = GTSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
return vpc;
@@ -828,7 +828,7 @@ SEM_FN_NAME (sh64_compact,cmphi_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = GTUSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
return vpc;
@@ -849,7 +849,7 @@ SEM_FN_NAME (sh64_compact,cmphs_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = GEUSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
return vpc;
@@ -870,7 +870,7 @@ SEM_FN_NAME (sh64_compact,cmppl_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = GTSI (GET_H_GRC (FLD (f_rn)), 0);
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
return vpc;
@@ -891,7 +891,7 @@ SEM_FN_NAME (sh64_compact,cmppz_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = GESI (GET_H_GRC (FLD (f_rn)), 0);
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
return vpc;
@@ -920,7 +920,7 @@ SEM_FN_NAME (sh64_compact,cmpstr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
BI opval = ((GTUBI (tmp_t, 0)) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -943,17 +943,17 @@ SEM_FN_NAME (sh64_compact,div0s_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
{
BI opval = SRLSI (GET_H_GRC (FLD (f_rm)), 31);
SET_H_MBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
}
{
BI opval = ((EQSI (SRLSI (GET_H_GRC (FLD (f_rm)), 31), SRLSI (GET_H_GRC (FLD (f_rn)), 31))) ? (0) : (1));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -976,17 +976,17 @@ SEM_FN_NAME (sh64_compact,div0u_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = 0;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
{
BI opval = 0;
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
{
BI opval = 0;
SET_H_MBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
}
}
@@ -1013,12 +1013,12 @@ SEM_FN_NAME (sh64_compact,div1_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
{
SI opval = ORSI (SLLSI (GET_H_GRC (FLD (f_rn)), 1), ZEXTBISI (GET_H_TBIT ()));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
if (NOTBI (tmp_oldq)) {
if (NOTBI (GET_H_MBIT ())) {
@@ -1027,20 +1027,20 @@ if (NOTBI (GET_H_MBIT ())) {
{
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
tmp_tmp1 = GTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
if (NOTBI (GET_H_QBIT ())) {
{
BI opval = ((tmp_tmp1) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
} else {
{
BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
}
}
@@ -1050,20 +1050,20 @@ if (NOTBI (GET_H_QBIT ())) {
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
tmp_tmp1 = LTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
if (NOTBI (GET_H_QBIT ())) {
{
BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
} else {
{
BI opval = ((tmp_tmp1) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
}
}
@@ -1075,20 +1075,20 @@ if (NOTBI (GET_H_MBIT ())) {
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
tmp_tmp1 = LTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
if (NOTBI (GET_H_QBIT ())) {
{
BI opval = ((tmp_tmp1) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
} else {
{
BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
}
}
@@ -1098,20 +1098,20 @@ if (NOTBI (GET_H_QBIT ())) {
{
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
tmp_tmp1 = GTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
if (NOTBI (GET_H_QBIT ())) {
{
BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
} else {
{
BI opval = ((tmp_tmp1) ? (1) : (0));
SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
}
}
}
@@ -1120,7 +1120,7 @@ if (NOTBI (GET_H_QBIT ())) {
{
BI opval = ((EQBI (GET_H_QBIT (), GET_H_MBIT ())) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -1142,7 +1142,7 @@ SEM_FN_NAME (sh64_compact,divu_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = UDIVSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (((UINT) 0)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -1163,7 +1163,7 @@ SEM_FN_NAME (sh64_compact,mulr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = MULSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (((UINT) 0)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -1187,12 +1187,12 @@ SEM_FN_NAME (sh64_compact,dmulsl_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = SUBWORDDISI (tmp_result, 0);
SET_H_MACH (opval);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
{
SI opval = SUBWORDDISI (tmp_result, 1);
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
}
@@ -1217,12 +1217,12 @@ SEM_FN_NAME (sh64_compact,dmulul_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = SUBWORDDISI (tmp_result, 0);
SET_H_MACH (opval);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
{
SI opval = SUBWORDDISI (tmp_result, 1);
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
}
@@ -1245,12 +1245,12 @@ SEM_FN_NAME (sh64_compact,dt_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), 1);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = EQSI (GET_H_GRC (FLD (f_rn)), 0);
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -1272,7 +1272,7 @@ SEM_FN_NAME (sh64_compact,extsb_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTQISI (SUBWORDSIQI (GET_H_GRC (FLD (f_rm)), 3));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -1293,7 +1293,7 @@ SEM_FN_NAME (sh64_compact,extsw_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -1314,7 +1314,7 @@ SEM_FN_NAME (sh64_compact,extub_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ZEXTQISI (SUBWORDSIQI (GET_H_GRC (FLD (f_rm)), 3));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -1335,7 +1335,7 @@ SEM_FN_NAME (sh64_compact,extuw_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ZEXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -1358,14 +1358,14 @@ if (GET_H_PRBIT ()) {
DF opval = sh64_fabsd (current_cpu, GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
DF opval = sh64_fabss (current_cpu, GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
@@ -1390,14 +1390,14 @@ if (GET_H_PRBIT ()) {
DF opval = sh64_faddd (current_cpu, GET_H_FSD (FLD (f_rm)), GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
DF opval = sh64_fadds (current_cpu, GET_H_FSD (FLD (f_rm)), GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
@@ -1422,14 +1422,14 @@ if (GET_H_PRBIT ()) {
BI opval = sh64_fcmpeqd (current_cpu, GET_H_FSD (FLD (f_rm)), GET_H_FSD (FLD (f_rn)));
SET_H_TBIT (opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
} else {
{
BI opval = sh64_fcmpeqs (current_cpu, GET_H_FSD (FLD (f_rm)), GET_H_FSD (FLD (f_rn)));
SET_H_TBIT (opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -1454,14 +1454,14 @@ if (GET_H_PRBIT ()) {
BI opval = sh64_fcmpgtd (current_cpu, GET_H_FSD (FLD (f_rn)), GET_H_FSD (FLD (f_rm)));
SET_H_TBIT (opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
} else {
{
BI opval = sh64_fcmpgts (current_cpu, GET_H_FSD (FLD (f_rn)), GET_H_FSD (FLD (f_rm)));
SET_H_TBIT (opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -1484,7 +1484,7 @@ SEM_FN_NAME (sh64_compact,fcnvds_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SF opval = sh64_fcnvds (current_cpu, GET_H_DRC (FLD (f_dn)));
CPU (h_fr[((UINT) 32)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -1505,7 +1505,7 @@ SEM_FN_NAME (sh64_compact,fcnvsd_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
DF opval = sh64_fcnvsd (current_cpu, CPU (h_fr[((UINT) 32)]));
SET_H_DRC (FLD (f_dn), opval);
- TRACE_RESULT (current_cpu, abuf, "drc", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "drc", 'f', opval);
}
return vpc;
@@ -1528,14 +1528,14 @@ if (GET_H_PRBIT ()) {
DF opval = sh64_fdivd (current_cpu, GET_H_FSD (FLD (f_rn)), GET_H_FSD (FLD (f_rm)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
DF opval = sh64_fdivs (current_cpu, GET_H_FSD (FLD (f_rn)), GET_H_FSD (FLD (f_rm)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
@@ -1575,7 +1575,7 @@ SEM_FN_NAME (sh64_compact,flds_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = GET_H_FRC (FLD (f_rn));
CPU (h_fr[((UINT) 32)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -1596,7 +1596,7 @@ SEM_FN_NAME (sh64_compact,fldi0_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = sh64_fldi0 (current_cpu);
SET_H_FRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
}
return vpc;
@@ -1617,7 +1617,7 @@ SEM_FN_NAME (sh64_compact,fldi1_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = sh64_fldi1 (current_cpu);
SET_H_FRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
}
return vpc;
@@ -1640,14 +1640,14 @@ if (GET_H_PRBIT ()) {
DF opval = sh64_floatld (current_cpu, CPU (h_fr[((UINT) 32)]));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
DF opval = sh64_floatls (current_cpu, CPU (h_fr[((UINT) 32)]));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
@@ -1670,7 +1670,7 @@ SEM_FN_NAME (sh64_compact,fmac_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = sh64_fmacs (current_cpu, GET_H_FRC (((UINT) 0)), GET_H_FRC (FLD (f_rm)), GET_H_FRC (FLD (f_rn)));
SET_H_FRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
}
return vpc;
@@ -1691,7 +1691,7 @@ SEM_FN_NAME (sh64_compact,fmov1_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = GET_H_FMOV (FLD (f_rm));
SET_H_FMOV (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
return vpc;
@@ -1714,14 +1714,14 @@ if (NOTBI (GET_H_SZBIT ())) {
DF opval = GETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
SET_H_FMOV (FLD (f_rn), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
} else {
{
DF opval = GETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
SET_H_FMOV (FLD (f_rn), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
}
@@ -1747,13 +1747,13 @@ if (NOTBI (GET_H_SZBIT ())) {
DF opval = GETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
SET_H_FMOV (FLD (f_rn), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
} else {
@@ -1762,13 +1762,13 @@ if (NOTBI (GET_H_SZBIT ())) {
DF opval = GETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
SET_H_FMOV (FLD (f_rn), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 8);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
}
@@ -1794,14 +1794,14 @@ if (NOTBI (GET_H_SZBIT ())) {
DF opval = GETMEMSF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
SET_H_FMOV (FLD (f_rn), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
} else {
{
DF opval = GETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
SET_H_FMOV (FLD (f_rn), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
}
}
@@ -1826,14 +1826,14 @@ if (NOTBI (GET_H_SZBIT ())) {
SF opval = GET_H_FMOV (FLD (f_rm));
SETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
} else {
{
DF opval = GET_H_FMOV (FLD (f_rm));
SETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
}
@@ -1859,13 +1859,13 @@ if (NOTBI (GET_H_SZBIT ())) {
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
SF opval = GET_H_FMOV (FLD (f_rm));
SETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
}
} else {
@@ -1874,13 +1874,13 @@ if (NOTBI (GET_H_SZBIT ())) {
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), 8);
SET_H_GRC (FLD (f_rn), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
DF opval = GET_H_FMOV (FLD (f_rm));
SETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
}
}
@@ -1906,14 +1906,14 @@ if (NOTBI (GET_H_SZBIT ())) {
SF opval = GET_H_FMOV (FLD (f_rm));
SETMEMSF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
} else {
{
DF opval = GET_H_FMOV (FLD (f_rm));
SETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
}
@@ -1936,7 +1936,7 @@ SEM_FN_NAME (sh64_compact,fmov8_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = GETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm12x8)));
SET_H_DRC (FLD (f_dn), opval);
- TRACE_RESULT (current_cpu, abuf, "drc", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "drc", 'f', opval);
}
return vpc;
@@ -1957,7 +1957,7 @@ SEM_FN_NAME (sh64_compact,fmov9_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = GET_H_DRC (FLD (f_dm));
SETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rn)), FLD (f_imm12x8)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
return vpc;
@@ -1980,14 +1980,14 @@ if (GET_H_PRBIT ()) {
DF opval = sh64_fmuld (current_cpu, GET_H_FSD (FLD (f_rm)), GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
DF opval = sh64_fmuls (current_cpu, GET_H_FSD (FLD (f_rm)), GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
@@ -2012,14 +2012,14 @@ if (GET_H_PRBIT ()) {
DF opval = sh64_fnegd (current_cpu, GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
DF opval = sh64_fnegs (current_cpu, GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
@@ -2042,7 +2042,7 @@ SEM_FN_NAME (sh64_compact,frchg_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = NOTBI (GET_H_FRBIT ());
SET_H_FRBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "frbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "frbit", 'x', opval);
}
return vpc;
@@ -2063,7 +2063,7 @@ SEM_FN_NAME (sh64_compact,fschg_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = NOTBI (GET_H_SZBIT ());
SET_H_SZBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "szbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "szbit", 'x', opval);
}
return vpc;
@@ -2086,14 +2086,14 @@ if (GET_H_PRBIT ()) {
DF opval = sh64_fsqrtd (current_cpu, GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
DF opval = sh64_fsqrts (current_cpu, GET_H_FSD (FLD (f_rn)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
@@ -2116,7 +2116,7 @@ SEM_FN_NAME (sh64_compact,fsts_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CPU (h_fr[((UINT) 32)]);
SET_H_FRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
}
return vpc;
@@ -2139,14 +2139,14 @@ if (GET_H_PRBIT ()) {
DF opval = sh64_fsubd (current_cpu, GET_H_FSD (FLD (f_rn)), GET_H_FSD (FLD (f_rm)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
} else {
{
DF opval = sh64_fsubs (current_cpu, GET_H_FSD (FLD (f_rn)), GET_H_FSD (FLD (f_rm)));
SET_H_FSD (FLD (f_rn), opval);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
}
}
@@ -2169,7 +2169,7 @@ SEM_FN_NAME (sh64_compact,ftrc_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = ((GET_H_PRBIT ()) ? (sh64_ftrcdl (current_cpu, GET_H_FSD (FLD (f_rn)))) : (sh64_ftrcsl (current_cpu, GET_H_FSD (FLD (f_rn)))));
CPU (h_fr[((UINT) 32)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -2209,14 +2209,14 @@ SEM_FN_NAME (sh64_compact,jmp_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UDI opval = ADDDI (pc, 2);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
((void) 0); /*nop*/
{
{
UDI opval = GET_H_GRC (FLD (f_rn));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
((void) 0); /*nop*/
@@ -2244,20 +2244,20 @@ SEM_FN_NAME (sh64_compact,jsr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDDI (pc, 4);
SET_H_PR (opval);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
}
}
{
UDI opval = ADDDI (pc, 2);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
((void) 0); /*nop*/
{
{
UDI opval = GET_H_GRC (FLD (f_rn));
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
((void) 0); /*nop*/
@@ -2282,7 +2282,7 @@ SEM_FN_NAME (sh64_compact,ldc_gbr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_ar
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_GBR (opval);
- TRACE_RESULT (current_cpu, abuf, "gbr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gbr", 'x', opval);
}
return vpc;
@@ -2303,7 +2303,7 @@ SEM_FN_NAME (sh64_compact,ldc_vbr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_ar
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_VBR (opval);
- TRACE_RESULT (current_cpu, abuf, "vbr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbr", 'x', opval);
}
return vpc;
@@ -2324,7 +2324,7 @@ SEM_FN_NAME (sh64_compact,ldc_sr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = GET_H_GRC (FLD (f_rn));
CPU (h_sr) = opval;
- TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
}
return vpc;
@@ -2346,12 +2346,12 @@ SEM_FN_NAME (sh64_compact,ldcl_gbr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_a
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
SET_H_GBR (opval);
- TRACE_RESULT (current_cpu, abuf, "gbr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gbr", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -2374,12 +2374,12 @@ SEM_FN_NAME (sh64_compact,ldcl_vbr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_a
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
SET_H_VBR (opval);
- TRACE_RESULT (current_cpu, abuf, "vbr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "vbr", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -2401,7 +2401,7 @@ SEM_FN_NAME (sh64_compact,lds_fpscr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_
{
SI opval = GET_H_GRC (FLD (f_rn));
CPU (h_fpscr) = opval;
- TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
}
return vpc;
@@ -2423,12 +2423,12 @@ SEM_FN_NAME (sh64_compact,ldsl_fpscr_compact) (SIM_CPU *current_cpu, SEM_ARG sem
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
CPU (h_fpscr) = opval;
- TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -2450,7 +2450,7 @@ SEM_FN_NAME (sh64_compact,lds_fpul_compact) (SIM_CPU *current_cpu, SEM_ARG sem_a
{
SF opval = SUBWORDSISF (GET_H_GRC (FLD (f_rn)));
CPU (h_fr[((UINT) 32)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -2472,12 +2472,12 @@ SEM_FN_NAME (sh64_compact,ldsl_fpul_compact) (SIM_CPU *current_cpu, SEM_ARG sem_
{
SF opval = GETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
CPU (h_fr[((UINT) 32)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -2499,7 +2499,7 @@ SEM_FN_NAME (sh64_compact,lds_mach_compact) (SIM_CPU *current_cpu, SEM_ARG sem_a
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_MACH (opval);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
return vpc;
@@ -2521,12 +2521,12 @@ SEM_FN_NAME (sh64_compact,ldsl_mach_compact) (SIM_CPU *current_cpu, SEM_ARG sem_
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
SET_H_MACH (opval);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -2548,7 +2548,7 @@ SEM_FN_NAME (sh64_compact,lds_macl_compact) (SIM_CPU *current_cpu, SEM_ARG sem_a
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
return vpc;
@@ -2570,12 +2570,12 @@ SEM_FN_NAME (sh64_compact,ldsl_macl_compact) (SIM_CPU *current_cpu, SEM_ARG sem_
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -2597,7 +2597,7 @@ SEM_FN_NAME (sh64_compact,lds_pr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_PR (opval);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
}
return vpc;
@@ -2619,12 +2619,12 @@ SEM_FN_NAME (sh64_compact,ldsl_pr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_ar
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
SET_H_PR (opval);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -2653,20 +2653,20 @@ SEM_FN_NAME (sh64_compact,macl_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
if (EQSI (FLD (f_rn), FLD (f_rm))) {
{
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
}
@@ -2675,7 +2675,7 @@ if (EQSI (FLD (f_rn), FLD (f_rm))) {
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
tmp_tmpry = MULDI (ZEXTSIDI (tmp_x), ZEXTSIDI (tmp_y));
tmp_mac = ORDI (SLLDI (ZEXTSIDI (GET_H_MACH ()), 32), ZEXTSIDI (GET_H_MACL ()));
@@ -2699,12 +2699,12 @@ if (LTDI (tmp_result, tmp_min)) {
{
SI opval = SUBWORDDISI (tmp_result, 0);
SET_H_MACH (opval);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
{
SI opval = SUBWORDDISI (tmp_result, 1);
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
}
}
@@ -2735,20 +2735,20 @@ SEM_FN_NAME (sh64_compact,macw_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 2);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
if (EQSI (FLD (f_rn), FLD (f_rm))) {
{
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 2);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 2);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
}
@@ -2757,7 +2757,7 @@ if (EQSI (FLD (f_rn), FLD (f_rm))) {
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 2);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
tmp_tmpry = MULSI (ZEXTHISI (tmp_x), ZEXTHISI (tmp_y));
if (GET_H_SBIT ()) {
@@ -2767,14 +2767,14 @@ if (ADDOFSI (tmp_tmpry, GET_H_MACL (), 0)) {
SI opval = 1;
SET_H_MACH (opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
}
{
SI opval = ADDSI (tmp_tmpry, GET_H_MACL ());
SET_H_MACL (opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
}
} else {
@@ -2785,13 +2785,13 @@ if (ADDOFSI (tmp_tmpry, GET_H_MACL (), 0)) {
SI opval = SUBWORDDISI (tmp_result, 0);
SET_H_MACH (opval);
written |= (1 << 9);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
}
{
SI opval = SUBWORDDISI (tmp_result, 1);
SET_H_MACL (opval);
written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
}
}
@@ -2816,7 +2816,7 @@ SEM_FN_NAME (sh64_compact,mov_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = GET_H_GR (FLD (f_rm));
SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -2837,7 +2837,7 @@ SEM_FN_NAME (sh64_compact,movi_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTQIDI (ANDQI (FLD (f_imm8), 255));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -2858,7 +2858,7 @@ SEM_FN_NAME (sh64_compact,movi20_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = FLD (f_imm20);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -2879,7 +2879,7 @@ SEM_FN_NAME (sh64_compact,movb1_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = SUBWORDSIUQI (GET_H_GRC (FLD (f_rm)), 3);
SETMEMUQI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -2903,12 +2903,12 @@ SEM_FN_NAME (sh64_compact,movb2_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = SUBWORDSIUQI (GET_H_GRC (FLD (f_rm)), 3);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -2930,7 +2930,7 @@ SEM_FN_NAME (sh64_compact,movb3_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = SUBWORDSIUQI (GET_H_GRC (FLD (f_rm)), 3);
SETMEMUQI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -2954,7 +2954,7 @@ SEM_FN_NAME (sh64_compact,movb4_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = SUBWORDSIUQI (GET_H_GRC (((UINT) 0)), 3);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
@@ -2979,7 +2979,7 @@ SEM_FN_NAME (sh64_compact,movb5_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = SUBWORDSIUQI (GET_H_GRC (((UINT) 0)), 3);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
@@ -3001,7 +3001,7 @@ SEM_FN_NAME (sh64_compact,movb6_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, GET_H_GRC (FLD (f_rm))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3027,20 +3027,20 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
SI opval = EXTQISI (tmp_data);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 1);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SI opval = EXTQISI (tmp_data);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -3063,7 +3063,7 @@ SEM_FN_NAME (sh64_compact,movb8_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm)))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3084,7 +3084,7 @@ SEM_FN_NAME (sh64_compact,movb9_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8))));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3105,7 +3105,7 @@ SEM_FN_NAME (sh64_compact,movb10_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4))));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3126,7 +3126,7 @@ SEM_FN_NAME (sh64_compact,movl1_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GET_H_GRC (FLD (f_rm));
SETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -3150,12 +3150,12 @@ SEM_FN_NAME (sh64_compact,movl2_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GET_H_GRC (FLD (f_rm));
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -3177,7 +3177,7 @@ SEM_FN_NAME (sh64_compact,movl3_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GET_H_GRC (FLD (f_rm));
SETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -3198,7 +3198,7 @@ SEM_FN_NAME (sh64_compact,movl4_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GET_H_GRC (((UINT) 0));
SETMEMSI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x4)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -3219,7 +3219,7 @@ SEM_FN_NAME (sh64_compact,movl5_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GET_H_GRC (FLD (f_rm));
SETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rn)), FLD (f_imm4x4)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -3240,7 +3240,7 @@ SEM_FN_NAME (sh64_compact,movl6_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3262,21 +3262,21 @@ SEM_FN_NAME (sh64_compact,movl7_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
if (EQSI (FLD (f_rm), FLD (f_rn))) {
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
}
@@ -3300,7 +3300,7 @@ SEM_FN_NAME (sh64_compact,movl8_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3321,7 +3321,7 @@ SEM_FN_NAME (sh64_compact,movl9_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x4)));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3342,7 +3342,7 @@ SEM_FN_NAME (sh64_compact,movl10_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_imm8x4), ANDDI (ADDDI (pc, 4), INVSI (3))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3363,7 +3363,7 @@ SEM_FN_NAME (sh64_compact,movl11_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4x4)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3384,7 +3384,7 @@ SEM_FN_NAME (sh64_compact,movl12_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm12x4)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3405,7 +3405,7 @@ SEM_FN_NAME (sh64_compact,movl13_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = GET_H_GRC (FLD (f_rm));
SETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rn)), FLD (f_imm12x4)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -3426,7 +3426,7 @@ SEM_FN_NAME (sh64_compact,movw1_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
HI opval = SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1);
SETMEMHI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -3450,12 +3450,12 @@ SEM_FN_NAME (sh64_compact,movw2_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
HI opval = SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1);
SETMEMHI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -3477,7 +3477,7 @@ SEM_FN_NAME (sh64_compact,movw3_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
HI opval = SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1);
SETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -3498,7 +3498,7 @@ SEM_FN_NAME (sh64_compact,movw4_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
HI opval = SUBWORDSIHI (GET_H_GRC (((UINT) 0)), 1);
SETMEMHI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x2)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -3519,7 +3519,7 @@ SEM_FN_NAME (sh64_compact,movw5_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
HI opval = SUBWORDSIHI (GET_H_GRC (((UINT) 0)), 1);
SETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4x2)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -3540,7 +3540,7 @@ SEM_FN_NAME (sh64_compact,movw6_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, GET_H_GRC (FLD (f_rm))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3566,20 +3566,20 @@ if (EQSI (FLD (f_rm), FLD (f_rn))) {
SI opval = EXTHISI (tmp_data);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 2);
SET_H_GRC (FLD (f_rm), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
{
SI opval = EXTHISI (tmp_data);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -3602,7 +3602,7 @@ SEM_FN_NAME (sh64_compact,movw8_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm)))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3623,7 +3623,7 @@ SEM_FN_NAME (sh64_compact,movw9_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x2))));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3644,7 +3644,7 @@ SEM_FN_NAME (sh64_compact,movw10_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDDI (ADDDI (pc, 4), FLD (f_imm8x2))));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3665,7 +3665,7 @@ SEM_FN_NAME (sh64_compact,movw11_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4x2))));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3686,7 +3686,7 @@ SEM_FN_NAME (sh64_compact,mova_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ADDDI (ANDDI (ADDDI (pc, 4), INVSI (3)), FLD (f_imm8x4));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3707,7 +3707,7 @@ SEM_FN_NAME (sh64_compact,movcal_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = GET_H_GRC (((UINT) 0));
SETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -3728,7 +3728,7 @@ SEM_FN_NAME (sh64_compact,movcol_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3749,7 +3749,7 @@ SEM_FN_NAME (sh64_compact,movt_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ZEXTBISI (GET_H_TBIT ());
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3770,7 +3770,7 @@ SEM_FN_NAME (sh64_compact,movual_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = sh64_movua (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3792,12 +3792,12 @@ SEM_FN_NAME (sh64_compact,movual2_compact) (SIM_CPU *current_cpu, SEM_ARG sem_ar
{
SI opval = sh64_movua (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -3819,7 +3819,7 @@ SEM_FN_NAME (sh64_compact,mull_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = MULSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
return vpc;
@@ -3840,7 +3840,7 @@ SEM_FN_NAME (sh64_compact,mulsw_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = MULSI (EXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1)), EXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rn)), 1)));
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
return vpc;
@@ -3861,7 +3861,7 @@ SEM_FN_NAME (sh64_compact,muluw_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = MULSI (ZEXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1)), ZEXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rn)), 1)));
SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
}
return vpc;
@@ -3882,7 +3882,7 @@ SEM_FN_NAME (sh64_compact,neg_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = NEGSI (GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -3906,12 +3906,12 @@ SEM_FN_NAME (sh64_compact,negc_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SUBCSI (0, GET_H_GRC (FLD (f_rm)), GET_H_TBIT ());
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = tmp_flag;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -3950,7 +3950,7 @@ SEM_FN_NAME (sh64_compact,not_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = INVDI (GET_H_GR (FLD (f_rm)));
SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -3972,7 +3972,7 @@ SEM_FN_NAME (sh64_compact,ocbi_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
((void) 0); /*nop*/
}
@@ -3996,7 +3996,7 @@ SEM_FN_NAME (sh64_compact,ocbp_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
((void) 0); /*nop*/
}
@@ -4020,7 +4020,7 @@ SEM_FN_NAME (sh64_compact,ocbwb_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GET_H_GRC (FLD (f_rn));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
((void) 0); /*nop*/
}
@@ -4043,7 +4043,7 @@ SEM_FN_NAME (sh64_compact,or_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (GET_H_GR (FLD (f_rm)), GET_H_GR (FLD (f_rn)));
SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -4064,7 +4064,7 @@ SEM_FN_NAME (sh64_compact,ori_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (GET_H_GRC (((UINT) 0)), ZEXTSIDI (FLD (f_imm8)));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -4090,7 +4090,7 @@ SEM_FN_NAME (sh64_compact,orb_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = tmp_data;
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
@@ -4132,12 +4132,12 @@ SEM_FN_NAME (sh64_compact,rotcl_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (SLLSI (GET_H_GRC (FLD (f_rn)), 1), GET_H_TBIT ());
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_temp) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -4164,12 +4164,12 @@ SEM_FN_NAME (sh64_compact,rotcr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (SRLSI (GET_H_GRC (FLD (f_rn)), 1), SLLSI (tmp_temp, 31));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_lsbit) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -4194,12 +4194,12 @@ SEM_FN_NAME (sh64_compact,rotl_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (SLLSI (GET_H_GRC (FLD (f_rn)), 1), tmp_temp);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_temp) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -4226,12 +4226,12 @@ SEM_FN_NAME (sh64_compact,rotr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (SRLSI (GET_H_GRC (FLD (f_rn)), 1), SLLSI (tmp_temp, 31));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_lsbit) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -4255,14 +4255,14 @@ SEM_FN_NAME (sh64_compact,rts_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UDI opval = ADDDI (pc, 2);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
((void) 0); /*nop*/
{
{
UDI opval = GET_H_PR ();
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
((void) 0); /*nop*/
@@ -4287,7 +4287,7 @@ SEM_FN_NAME (sh64_compact,sets_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = 1;
SET_H_SBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "sbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "sbit", 'x', opval);
}
return vpc;
@@ -4308,7 +4308,7 @@ SEM_FN_NAME (sh64_compact,sett_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = 1;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
return vpc;
@@ -4334,7 +4334,7 @@ if (GESI (GET_H_GRC (FLD (f_rm)), 0)) {
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), tmp_shamt);
SET_H_GRC (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
if (NESI (tmp_shamt, 0)) {
@@ -4342,7 +4342,7 @@ if (NESI (tmp_shamt, 0)) {
SI opval = SRASI (GET_H_GRC (FLD (f_rn)), SUBSI (32, tmp_shamt));
SET_H_GRC (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
if (LTSI (GET_H_GRC (FLD (f_rn)), 0)) {
@@ -4350,14 +4350,14 @@ if (LTSI (GET_H_GRC (FLD (f_rn)), 0)) {
SI opval = NEGSI (1);
SET_H_GRC (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
{
SI opval = 0;
SET_H_GRC (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
}
@@ -4386,12 +4386,12 @@ SEM_FN_NAME (sh64_compact,shal_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 1);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_t) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -4416,12 +4416,12 @@ SEM_FN_NAME (sh64_compact,shar_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRASI (GET_H_GRC (FLD (f_rn)), 1);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_t) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -4448,7 +4448,7 @@ if (GESI (GET_H_GRC (FLD (f_rm)), 0)) {
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), tmp_shamt);
SET_H_GRC (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
if (NESI (tmp_shamt, 0)) {
@@ -4456,14 +4456,14 @@ if (NESI (tmp_shamt, 0)) {
SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), SUBSI (32, tmp_shamt));
SET_H_GRC (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
} else {
{
SI opval = 0;
SET_H_GRC (FLD (f_rn), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
}
@@ -4491,12 +4491,12 @@ SEM_FN_NAME (sh64_compact,shll_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 1);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_t) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -4518,7 +4518,7 @@ SEM_FN_NAME (sh64_compact,shll2_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 2);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -4539,7 +4539,7 @@ SEM_FN_NAME (sh64_compact,shll8_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 8);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -4560,7 +4560,7 @@ SEM_FN_NAME (sh64_compact,shll16_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 16);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -4584,12 +4584,12 @@ SEM_FN_NAME (sh64_compact,shlr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 1);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_t) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -4611,7 +4611,7 @@ SEM_FN_NAME (sh64_compact,shlr2_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 2);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -4632,7 +4632,7 @@ SEM_FN_NAME (sh64_compact,shlr8_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 8);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -4653,7 +4653,7 @@ SEM_FN_NAME (sh64_compact,shlr16_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 16);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -4674,7 +4674,7 @@ SEM_FN_NAME (sh64_compact,stc_gbr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_ar
{
SI opval = GET_H_GBR ();
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -4695,7 +4695,7 @@ SEM_FN_NAME (sh64_compact,stc_vbr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_ar
{
SI opval = GET_H_VBR ();
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -4719,12 +4719,12 @@ SEM_FN_NAME (sh64_compact,stcl_gbr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_a
{
SI opval = GET_H_GBR ();
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -4749,12 +4749,12 @@ SEM_FN_NAME (sh64_compact,stcl_vbr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_a
{
SI opval = GET_H_VBR ();
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -4776,7 +4776,7 @@ SEM_FN_NAME (sh64_compact,sts_fpscr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_
{
SI opval = CPU (h_fpscr);
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -4800,12 +4800,12 @@ SEM_FN_NAME (sh64_compact,stsl_fpscr_compact) (SIM_CPU *current_cpu, SEM_ARG sem
{
SI opval = CPU (h_fpscr);
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -4827,7 +4827,7 @@ SEM_FN_NAME (sh64_compact,sts_fpul_compact) (SIM_CPU *current_cpu, SEM_ARG sem_a
{
SI opval = SUBWORDSFSI (CPU (h_fr[((UINT) 32)]));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -4851,12 +4851,12 @@ SEM_FN_NAME (sh64_compact,stsl_fpul_compact) (SIM_CPU *current_cpu, SEM_ARG sem_
{
SF opval = CPU (h_fr[((UINT) 32)]);
SETMEMSF (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -4878,7 +4878,7 @@ SEM_FN_NAME (sh64_compact,sts_mach_compact) (SIM_CPU *current_cpu, SEM_ARG sem_a
{
SI opval = GET_H_MACH ();
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -4902,12 +4902,12 @@ SEM_FN_NAME (sh64_compact,stsl_mach_compact) (SIM_CPU *current_cpu, SEM_ARG sem_
{
SI opval = GET_H_MACH ();
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -4929,7 +4929,7 @@ SEM_FN_NAME (sh64_compact,sts_macl_compact) (SIM_CPU *current_cpu, SEM_ARG sem_a
{
SI opval = GET_H_MACL ();
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -4953,12 +4953,12 @@ SEM_FN_NAME (sh64_compact,stsl_macl_compact) (SIM_CPU *current_cpu, SEM_ARG sem_
{
SI opval = GET_H_MACL ();
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -4980,7 +4980,7 @@ SEM_FN_NAME (sh64_compact,sts_pr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg
{
SI opval = GET_H_PR ();
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -5004,12 +5004,12 @@ SEM_FN_NAME (sh64_compact,stsl_pr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_ar
{
SI opval = GET_H_PR ();
SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
{
SI opval = tmp_addr;
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -5031,7 +5031,7 @@ SEM_FN_NAME (sh64_compact,sub_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -5055,12 +5055,12 @@ SEM_FN_NAME (sh64_compact,subc_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SUBCSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)), GET_H_TBIT ());
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = tmp_flag;
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -5085,12 +5085,12 @@ SEM_FN_NAME (sh64_compact,subv_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
{
BI opval = ((tmp_t) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -5119,7 +5119,7 @@ SEM_FN_NAME (sh64_compact,swapb_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (SLLSI (tmp_top_half, 16), ORSI (SLLSI (tmp_byte0, 8), tmp_byte1));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
}
@@ -5141,7 +5141,7 @@ SEM_FN_NAME (sh64_compact,swapw_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (SRLSI (GET_H_GRC (FLD (f_rm)), 16), SLLSI (GET_H_GRC (FLD (f_rm)), 16));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -5165,13 +5165,13 @@ SEM_FN_NAME (sh64_compact,tasb_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = ((EQQI (tmp_byte, 0)) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
tmp_byte = ORQI (tmp_byte, 128);
{
UQI opval = tmp_byte;
SETMEMUQI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
@@ -5210,7 +5210,7 @@ SEM_FN_NAME (sh64_compact,tst_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = ((EQSI (ANDSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn))), 0)) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
return vpc;
@@ -5231,7 +5231,7 @@ SEM_FN_NAME (sh64_compact,tsti_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = ((EQSI (ANDSI (GET_H_GRC (((UINT) 0)), ZEXTSISI (FLD (f_imm8))), 0)) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
return vpc;
@@ -5255,7 +5255,7 @@ SEM_FN_NAME (sh64_compact,tstb_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
BI opval = ((EQQI (ANDQI (GETMEMUQI (current_cpu, pc, tmp_addr), FLD (f_imm8)), 0)) ? (1) : (0));
SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
}
}
@@ -5277,7 +5277,7 @@ SEM_FN_NAME (sh64_compact,xor_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = XORDI (GET_H_GR (FLD (f_rn)), GET_H_GR (FLD (f_rm)));
SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -5298,7 +5298,7 @@ SEM_FN_NAME (sh64_compact,xori_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = XORSI (GET_H_GRC (((UINT) 0)), ZEXTSIDI (FLD (f_imm8)));
SET_H_GRC (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
@@ -5324,7 +5324,7 @@ SEM_FN_NAME (sh64_compact,xorb_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = tmp_data;
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
@@ -5346,7 +5346,7 @@ SEM_FN_NAME (sh64_compact,xtrct_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ORSI (SLLSI (GET_H_GRC (FLD (f_rm)), 16), SRLSI (GET_H_GRC (FLD (f_rn)), 16));
SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
}
return vpc;
diff --git a/sim/sh64/sem-media-switch.c b/sim/sh64/sem-media-switch.c
index 9aadc928bb3..717a52199e7 100644
--- a/sim/sh64/sem-media-switch.c
+++ b/sim/sh64/sem-media-switch.c
@@ -265,13 +265,13 @@ This file is part of the GNU simulators.
/* If hyper-fast [well not unnecessarily slow] execution is selected, turn
off frills like tracing and profiling. */
-/* FIXME: A better way would be to have TRACE_RESULT check for something
+/* FIXME: A better way would be to have CGEN_TRACE_RESULT check for something
that can cause it to be optimized out. Another way would be to emit
special handlers into the instruction "stream". */
#if FAST_P
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
+#undef CGEN_TRACE_RESULT
+#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
#endif
#undef GET_ATTR
@@ -456,7 +456,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
DI opval = ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -475,7 +475,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
DI opval = ADDSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), SUBWORDDISI (GET_H_GR (FLD (f_right)), 1));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -494,7 +494,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
DI opval = ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -513,7 +513,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
DI opval = EXTSIDI (ADDSI (EXTSISI (FLD (f_disp10)), SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -532,7 +532,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
DI opval = ZEXTSIDI (ADDSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), SUBWORDDISI (GET_H_GR (FLD (f_right)), 1)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -552,7 +552,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
DI opval = GET_H_GR (FLD (f_left));
SET_H_GR (FLD (f_left), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
((void) 0); /*nop*/
}
@@ -573,7 +573,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
DI opval = ANDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -592,7 +592,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
DI opval = ANDDI (GET_H_GR (FLD (f_left)), INVDI (GET_H_GR (FLD (f_right))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -611,7 +611,7 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
{
DI opval = ANDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -635,7 +635,7 @@ if (EQDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
UDI opval = CPU (h_tr[FLD (f_tra)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -663,7 +663,7 @@ if (EQDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm6)))) {
UDI opval = CPU (h_tr[FLD (f_tra)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -691,7 +691,7 @@ if (GEDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
UDI opval = CPU (h_tr[FLD (f_tra)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -719,7 +719,7 @@ if (GEUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
UDI opval = CPU (h_tr[FLD (f_tra)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -747,7 +747,7 @@ if (GTDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
UDI opval = CPU (h_tr[FLD (f_tra)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -775,7 +775,7 @@ if (GTUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
UDI opval = CPU (h_tr[FLD (f_tra)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -800,12 +800,12 @@ if (GTUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
{
DI opval = ORDI (ADDDI (pc, 4), 1);
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
{
UDI opval = CPU (h_tr[FLD (f_trb)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
if (EQSI (FLD (f_dest), 63)) {
((void) 0); /*nop*/
@@ -836,7 +836,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
UDI opval = CPU (h_tr[FLD (f_tra)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -864,7 +864,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm6)))) {
UDI opval = CPU (h_tr[FLD (f_tra)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -939,7 +939,7 @@ sh64_break (current_cpu, pc);
{
DI opval = tmp_result;
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -959,7 +959,7 @@ sh64_break (current_cpu, pc);
{
DI opval = ((EQDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) ? (1) : (0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -978,7 +978,7 @@ sh64_break (current_cpu, pc);
{
DI opval = ((GTDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) ? (1) : (0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -997,7 +997,7 @@ sh64_break (current_cpu, pc);
{
DI opval = ((GTUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) ? (1) : (0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -1018,7 +1018,7 @@ if (EQDI (GET_H_GR (FLD (f_left)), 0)) {
DI opval = GET_H_GR (FLD (f_right));
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -1041,7 +1041,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
DI opval = GET_H_GR (FLD (f_right));
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -1062,7 +1062,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
DF opval = sh64_fabsd (current_cpu, GET_H_DR (FLD (f_left_right)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
#undef FLD
@@ -1081,7 +1081,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
SF opval = sh64_fabss (current_cpu, CPU (h_fr[FLD (f_left_right)]));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -1100,7 +1100,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
DF opval = sh64_faddd (current_cpu, GET_H_DR (FLD (f_left)), GET_H_DR (FLD (f_right)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
#undef FLD
@@ -1119,7 +1119,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
SF opval = sh64_fadds (current_cpu, CPU (h_fr[FLD (f_left)]), CPU (h_fr[FLD (f_right)]));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -1138,7 +1138,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
DI opval = ZEXTBIDI (sh64_fcmpeqd (current_cpu, GET_H_DR (FLD (f_left)), GET_H_DR (FLD (f_right))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -1157,7 +1157,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
DI opval = ZEXTBIDI (sh64_fcmpeqs (current_cpu, CPU (h_fr[FLD (f_left)]), CPU (h_fr[FLD (f_right)])));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -1176,7 +1176,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
DI opval = ZEXTBIDI (sh64_fcmpged (current_cpu, GET_H_DR (FLD (f_left)), GET_H_DR (FLD (f_right))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -1195,7 +1195,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
DI opval = ZEXTBIDI (sh64_fcmpges (current_cpu, CPU (h_fr[FLD (f_left)]), CPU (h_fr[FLD (f_right)])));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -1214,7 +1214,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
DI opval = ZEXTBIDI (sh64_fcmpgtd (current_cpu, GET_H_DR (FLD (f_left)), GET_H_DR (FLD (f_right))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -1233,7 +1233,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
DI opval = ZEXTBIDI (sh64_fcmpgts (current_cpu, CPU (h_fr[FLD (f_left)]), CPU (h_fr[FLD (f_right)])));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -1252,7 +1252,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
DI opval = ZEXTBIDI (sh64_fcmpund (current_cpu, GET_H_DR (FLD (f_left)), GET_H_DR (FLD (f_right))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -1271,7 +1271,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
DI opval = ZEXTBIDI (sh64_fcmpuns (current_cpu, CPU (h_fr[FLD (f_left)]), CPU (h_fr[FLD (f_right)])));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -1290,7 +1290,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
SF opval = sh64_fcnvds (current_cpu, GET_H_DR (FLD (f_left_right)));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -1309,7 +1309,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
DF opval = sh64_fcnvsd (current_cpu, CPU (h_fr[FLD (f_left_right)]));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
#undef FLD
@@ -1328,7 +1328,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
DF opval = sh64_fdivd (current_cpu, GET_H_DR (FLD (f_left)), GET_H_DR (FLD (f_right)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
#undef FLD
@@ -1347,7 +1347,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
SF opval = sh64_fdivs (current_cpu, CPU (h_fr[FLD (f_left)]), CPU (h_fr[FLD (f_right)]));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -1366,7 +1366,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
SF opval = SUBWORDSISF (CPU (h_fpscr));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -1386,17 +1386,17 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
SF opval = GET_H_FV (FLD (f_left));
SET_H_FV (FLD (f_left), opval);
- TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
}
{
SF opval = GET_H_FV (FLD (f_right));
SET_H_FV (FLD (f_right), opval);
- TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
}
{
SF opval = sh64_fiprs (current_cpu, FLD (f_left), FLD (f_right));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -1416,7 +1416,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
DF opval = GETMEMDF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x8)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
#undef FLD
@@ -1436,7 +1436,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
{
SF opval = GET_H_FP (FLD (f_dest));
SET_H_FP (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval);
}
sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), FLD (f_disp10x8), FLD (f_dest));
}
@@ -1457,7 +1457,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), FLD (f_disp10x8), FLD (f_de
{
SF opval = GETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x4)));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -1476,7 +1476,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), FLD (f_disp10x8), FLD (f_de
{
DF opval = GETMEMDF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
#undef FLD
@@ -1496,7 +1496,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), FLD (f_disp10x8), FLD (f_de
{
SF opval = GET_H_FP (FLD (f_dest));
SET_H_FP (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval);
}
sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), FLD (f_dest));
}
@@ -1517,7 +1517,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
SF opval = GETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -1536,7 +1536,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
DF opval = sh64_floatld (current_cpu, CPU (h_fr[FLD (f_left_right)]));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
#undef FLD
@@ -1555,7 +1555,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
SF opval = sh64_floatls (current_cpu, CPU (h_fr[FLD (f_left_right)]));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -1574,7 +1574,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
DF opval = sh64_floatqd (current_cpu, GET_H_DR (FLD (f_left_right)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
#undef FLD
@@ -1593,7 +1593,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
SF opval = sh64_floatqs (current_cpu, GET_H_DR (FLD (f_left_right)));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -1612,7 +1612,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
SF opval = sh64_fadds (current_cpu, CPU (h_fr[FLD (f_dest)]), sh64_fmuls (current_cpu, CPU (h_fr[FLD (f_left)]), CPU (h_fr[FLD (f_right)])));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -1631,7 +1631,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
DF opval = GET_H_DR (FLD (f_left_right));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
#undef FLD
@@ -1650,7 +1650,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
DI opval = SUBWORDDFDI (GET_H_DR (FLD (f_left_right)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -1669,7 +1669,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
SF opval = SUBWORDSISF (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -1688,7 +1688,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
DF opval = SUBWORDDIDF (GET_H_GR (FLD (f_left)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
#undef FLD
@@ -1707,7 +1707,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
SF opval = CPU (h_fr[FLD (f_left_right)]);
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -1726,7 +1726,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
DI opval = EXTSIDI (SUBWORDSFSI (CPU (h_fr[FLD (f_left_right)])));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -1745,7 +1745,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
DF opval = sh64_fmuld (current_cpu, GET_H_DR (FLD (f_left)), GET_H_DR (FLD (f_right)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
#undef FLD
@@ -1764,7 +1764,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
SF opval = sh64_fmuls (current_cpu, CPU (h_fr[FLD (f_left)]), CPU (h_fr[FLD (f_right)]));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -1783,7 +1783,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
DF opval = sh64_fnegd (current_cpu, GET_H_DR (FLD (f_left_right)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
#undef FLD
@@ -1802,7 +1802,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
SF opval = sh64_fnegs (current_cpu, CPU (h_fr[FLD (f_left_right)]));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -1821,7 +1821,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
SI opval = SUBWORDSFSI (CPU (h_fr[FLD (f_left_right)]));
CPU (h_fpscr) = opval;
- TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
}
#undef FLD
@@ -1840,7 +1840,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
DF opval = sh64_fsqrtd (current_cpu, GET_H_DR (FLD (f_left_right)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
#undef FLD
@@ -1859,7 +1859,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
SF opval = sh64_fsqrts (current_cpu, CPU (h_fr[FLD (f_left_right)]));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -1878,7 +1878,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
DF opval = GET_H_DR (FLD (f_dest));
SETMEMDF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x8)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
#undef FLD
@@ -1898,7 +1898,7 @@ sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
SF opval = GET_H_FP (FLD (f_dest));
SET_H_FP (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval);
}
sh64_fstp (current_cpu, pc, GET_H_GR (FLD (f_left)), FLD (f_disp10x8), FLD (f_dest));
}
@@ -1919,7 +1919,7 @@ sh64_fstp (current_cpu, pc, GET_H_GR (FLD (f_left)), FLD (f_disp10x8), FLD (f_de
{
SF opval = CPU (h_fr[FLD (f_dest)]);
SETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x4)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
#undef FLD
@@ -1938,7 +1938,7 @@ sh64_fstp (current_cpu, pc, GET_H_GR (FLD (f_left)), FLD (f_disp10x8), FLD (f_de
{
DF opval = GET_H_DR (FLD (f_dest));
SETMEMDF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
#undef FLD
@@ -1958,7 +1958,7 @@ sh64_fstp (current_cpu, pc, GET_H_GR (FLD (f_left)), FLD (f_disp10x8), FLD (f_de
{
SF opval = GET_H_FP (FLD (f_dest));
SET_H_FP (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval);
}
sh64_fstp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), FLD (f_dest));
}
@@ -1979,7 +1979,7 @@ sh64_fstp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
SF opval = CPU (h_fr[FLD (f_dest)]);
SETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
#undef FLD
@@ -1998,7 +1998,7 @@ sh64_fstp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
DF opval = sh64_fsubd (current_cpu, GET_H_DR (FLD (f_left)), GET_H_DR (FLD (f_right)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
#undef FLD
@@ -2017,7 +2017,7 @@ sh64_fstp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
SF opval = sh64_fsubs (current_cpu, CPU (h_fr[FLD (f_left)]), CPU (h_fr[FLD (f_right)]));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -2036,7 +2036,7 @@ sh64_fstp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
SF opval = sh64_ftrcdl (current_cpu, GET_H_DR (FLD (f_left_right)));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -2055,7 +2055,7 @@ sh64_fstp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
SF opval = sh64_ftrcsl (current_cpu, CPU (h_fr[FLD (f_left_right)]));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
#undef FLD
@@ -2074,7 +2074,7 @@ sh64_fstp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
DF opval = sh64_ftrcdq (current_cpu, GET_H_DR (FLD (f_left_right)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
#undef FLD
@@ -2093,7 +2093,7 @@ sh64_fstp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
DF opval = sh64_ftrcsq (current_cpu, CPU (h_fr[FLD (f_left_right)]));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
#undef FLD
@@ -2113,17 +2113,17 @@ sh64_fstp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), F
{
SF opval = GET_H_FMTX (FLD (f_left));
SET_H_FMTX (FLD (f_left), opval);
- TRACE_RESULT (current_cpu, abuf, "fmtx", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmtx", 'f', opval);
}
{
SF opval = GET_H_FV (FLD (f_right));
SET_H_FV (FLD (f_right), opval);
- TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
}
{
SF opval = GET_H_FV (FLD (f_dest));
SET_H_FV (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
}
sh64_ftrvs (current_cpu, FLD (f_left), FLD (f_right), FLD (f_dest));
}
@@ -2148,7 +2148,7 @@ sh64_ftrvs (current_cpu, FLD (f_left), FLD (f_right), FLD (f_dest));
{
DI opval = GETMEMSI (current_cpu, pc, tmp_address);
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2168,7 +2168,7 @@ sh64_ftrvs (current_cpu, FLD (f_left), FLD (f_right), FLD (f_dest));
{
DI opval = GET_H_CR (FLD (f_left));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -2187,7 +2187,7 @@ sh64_ftrvs (current_cpu, FLD (f_left), FLD (f_right), FLD (f_dest));
{
DI opval = CPU (h_tr[FLD (f_trb)]);
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -2207,7 +2207,7 @@ sh64_ftrvs (current_cpu, FLD (f_left), FLD (f_right), FLD (f_dest));
{
DI opval = GET_H_GR (FLD (f_left));
SET_H_GR (FLD (f_left), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
((void) 0); /*nop*/
}
@@ -2228,7 +2228,7 @@ sh64_ftrvs (current_cpu, FLD (f_left), FLD (f_right), FLD (f_dest));
{
DI opval = EXTQIDI (GETMEMQI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -2247,7 +2247,7 @@ sh64_ftrvs (current_cpu, FLD (f_left), FLD (f_right), FLD (f_dest));
{
DI opval = EXTSIDI (GETMEMSI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10x4)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -2266,7 +2266,7 @@ sh64_ftrvs (current_cpu, FLD (f_left), FLD (f_right), FLD (f_dest));
{
DI opval = GETMEMDI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10x8))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -2285,7 +2285,7 @@ sh64_ftrvs (current_cpu, FLD (f_left), FLD (f_right), FLD (f_dest));
{
DI opval = ZEXTQIDI (GETMEMQI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -2304,7 +2304,7 @@ sh64_ftrvs (current_cpu, FLD (f_left), FLD (f_right), FLD (f_dest));
{
DI opval = ZEXTHIDI (GETMEMHI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10x2)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -2323,7 +2323,7 @@ sh64_ftrvs (current_cpu, FLD (f_left), FLD (f_right), FLD (f_dest));
{
DI opval = EXTHIDI (GETMEMHI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10x2)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -2351,7 +2351,7 @@ if (ANDQI (tmp_bytecount, 4)) {
DI opval = EXTSIDI (GETMEMSI (current_cpu, pc, ANDDI (tmp_addr, -4)));
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
} else {
if (GET_H_ENDIAN ()) {
@@ -2366,7 +2366,7 @@ if (ANDQI (tmp_bytecount, 1)) {
DI opval = EXTSIDI (tmp_val);
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
} else {
@@ -2381,7 +2381,7 @@ if (ANDQI (tmp_bytecount, 2)) {
DI opval = EXTSIDI (SLLSI (tmp_val, SUBSI (32, MULSI (8, tmp_bytecount))));
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
}
@@ -2414,7 +2414,7 @@ if (ANDQI (tmp_bytecount, 8)) {
DI opval = GETMEMDI (current_cpu, pc, ANDDI (tmp_addr, -8));
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
} else {
if (GET_H_ENDIAN ()) {
@@ -2432,7 +2432,7 @@ if (ANDQI (tmp_bytecount, 1)) {
DI opval = tmp_val;
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
} else {
@@ -2450,7 +2450,7 @@ if (ANDQI (tmp_bytecount, 4)) {
DI opval = SLLDI (tmp_val, SUBSI (64, MULSI (8, tmp_bytecount)));
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
}
@@ -2483,7 +2483,7 @@ if (ANDQI (tmp_bytecount, 4)) {
DI opval = EXTSIDI (GETMEMSI (current_cpu, pc, tmp_addr));
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
} else {
if (GET_H_ENDIAN ()) {
@@ -2498,7 +2498,7 @@ if (ANDQI (tmp_bytecount, 2)) {
DI opval = EXTSIDI (SLLSI (tmp_val, SUBSI (32, MULSI (8, tmp_bytecount))));
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
} else {
@@ -2513,7 +2513,7 @@ if (ANDQI (tmp_bytecount, 1)) {
DI opval = EXTSIDI (tmp_val);
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
}
@@ -2546,7 +2546,7 @@ if (ANDQI (tmp_bytecount, 8)) {
DI opval = GETMEMDI (current_cpu, pc, tmp_addr);
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
} else {
if (GET_H_ENDIAN ()) {
@@ -2564,7 +2564,7 @@ if (ANDQI (tmp_bytecount, 4)) {
DI opval = SLLDI (tmp_val, SUBSI (64, MULSI (8, tmp_bytecount)));
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
} else {
@@ -2582,7 +2582,7 @@ if (ANDQI (tmp_bytecount, 1)) {
DI opval = tmp_val;
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
}
@@ -2606,7 +2606,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = EXTQIDI (GETMEMQI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -2625,7 +2625,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = EXTSIDI (GETMEMSI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -2644,7 +2644,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = GETMEMDI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -2663,7 +2663,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ZEXTQIDI (GETMEMUQI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -2682,7 +2682,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ZEXTHIDI (GETMEMUHI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -2701,7 +2701,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = EXTHIDI (GETMEMHI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -2725,7 +2725,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2754,7 +2754,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2779,7 +2779,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2808,7 +2808,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2833,7 +2833,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2870,7 +2870,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTQIDI (tmp_result7), 56), ORDI (SLLDI (ZEXTQIDI (tmp_result6), 48), ORDI (SLLDI (ZEXTQIDI (tmp_result5), 40), ORDI (SLLDI (ZEXTQIDI (tmp_result4), 32), ORDI (SLLDI (ZEXTQIDI (tmp_result3), 24), ORDI (SLLDI (ZEXTQIDI (tmp_result2), 16), ORDI (SLLDI (ZEXTQIDI (tmp_result1), 8), ZEXTQIDI (tmp_result0))))))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2899,7 +2899,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2936,7 +2936,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTQIDI (tmp_result7), 56), ORDI (SLLDI (ZEXTQIDI (tmp_result6), 48), ORDI (SLLDI (ZEXTQIDI (tmp_result5), 40), ORDI (SLLDI (ZEXTQIDI (tmp_result4), 32), ORDI (SLLDI (ZEXTQIDI (tmp_result3), 24), ORDI (SLLDI (ZEXTQIDI (tmp_result2), 16), ORDI (SLLDI (ZEXTQIDI (tmp_result1), 8), ZEXTQIDI (tmp_result0))))))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2961,7 +2961,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2990,7 +2990,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3015,7 +3015,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3052,7 +3052,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTQIDI (tmp_result7), 56), ORDI (SLLDI (ZEXTQIDI (tmp_result6), 48), ORDI (SLLDI (ZEXTQIDI (tmp_result5), 40), ORDI (SLLDI (ZEXTQIDI (tmp_result4), 32), ORDI (SLLDI (ZEXTQIDI (tmp_result3), 24), ORDI (SLLDI (ZEXTQIDI (tmp_result2), 16), ORDI (SLLDI (ZEXTQIDI (tmp_result1), 8), ZEXTQIDI (tmp_result0))))))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3081,7 +3081,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3101,7 +3101,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (ANDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))), ANDDI (GET_H_GR (FLD (f_dest)), INVDI (GET_H_GR (FLD (f_right)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -3129,7 +3129,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3166,7 +3166,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTQIDI (tmp_result7), 56), ORDI (SLLDI (ZEXTQIDI (tmp_result6), 48), ORDI (SLLDI (ZEXTQIDI (tmp_result5), 40), ORDI (SLLDI (ZEXTQIDI (tmp_result4), 32), ORDI (SLLDI (ZEXTQIDI (tmp_result3), 24), ORDI (SLLDI (ZEXTQIDI (tmp_result2), 16), ORDI (SLLDI (ZEXTQIDI (tmp_result1), 8), ZEXTQIDI (tmp_result0))))))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3203,7 +3203,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTQIDI (tmp_result7), 56), ORDI (SLLDI (ZEXTQIDI (tmp_result6), 48), ORDI (SLLDI (ZEXTQIDI (tmp_result5), 40), ORDI (SLLDI (ZEXTQIDI (tmp_result4), 32), ORDI (SLLDI (ZEXTQIDI (tmp_result3), 24), ORDI (SLLDI (ZEXTQIDI (tmp_result2), 16), ORDI (SLLDI (ZEXTQIDI (tmp_result1), 8), ZEXTQIDI (tmp_result0))))))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3232,7 +3232,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3261,7 +3261,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3290,7 +3290,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3319,7 +3319,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3348,7 +3348,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3377,7 +3377,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3406,7 +3406,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3438,7 +3438,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3470,7 +3470,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3495,7 +3495,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3524,7 +3524,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3552,7 +3552,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3586,7 +3586,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3622,7 +3622,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3647,7 +3647,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3672,7 +3672,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3698,7 +3698,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ADDDI (GET_H_GR (FLD (f_dest)), tmp_acc);
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3718,7 +3718,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = EXTSIDI (FLD (f_imm16));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -3748,7 +3748,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3778,7 +3778,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ADDDI (GET_H_GR (FLD (f_dest)), tmp_acc);
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3803,7 +3803,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3832,7 +3832,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3857,7 +3857,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3886,7 +3886,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3906,7 +3906,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ((LTDI (SRADI (GET_H_GR (FLD (f_left)), ANDDI (GET_H_GR (FLD (f_right)), 63)), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGDI (SLLDI (1, SUBSI (16, 1)))) : (((LTDI (SRADI (GET_H_GR (FLD (f_left)), ANDDI (GET_H_GR (FLD (f_right)), 63)), SLLDI (1, SUBSI (16, 1)))) ? (SRADI (GET_H_GR (FLD (f_left)), ANDDI (GET_H_GR (FLD (f_right)), 63))) : (SUBDI (SLLDI (1, SUBSI (16, 1)), 1)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -3942,7 +3942,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTQIDI (tmp_result7), 56), ORDI (SLLDI (ZEXTQIDI (tmp_result6), 48), ORDI (SLLDI (ZEXTQIDI (tmp_result5), 40), ORDI (SLLDI (ZEXTQIDI (tmp_result4), 32), ORDI (SLLDI (ZEXTQIDI (tmp_result3), 24), ORDI (SLLDI (ZEXTQIDI (tmp_result2), 16), ORDI (SLLDI (ZEXTQIDI (tmp_result1), 8), ZEXTQIDI (tmp_result0))))))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3967,7 +3967,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3996,7 +3996,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4033,7 +4033,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTQIDI (tmp_result7), 56), ORDI (SLLDI (ZEXTQIDI (tmp_result6), 48), ORDI (SLLDI (ZEXTQIDI (tmp_result5), 40), ORDI (SLLDI (ZEXTQIDI (tmp_result4), 32), ORDI (SLLDI (ZEXTQIDI (tmp_result3), 24), ORDI (SLLDI (ZEXTQIDI (tmp_result2), 16), ORDI (SLLDI (ZEXTQIDI (tmp_result1), 8), ZEXTQIDI (tmp_result0))))))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4058,7 +4058,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4087,7 +4087,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4112,7 +4112,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4141,7 +4141,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4166,7 +4166,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4195,7 +4195,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4220,7 +4220,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4249,7 +4249,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4274,7 +4274,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4311,7 +4311,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTQIDI (tmp_result7), 56), ORDI (SLLDI (ZEXTQIDI (tmp_result6), 48), ORDI (SLLDI (ZEXTQIDI (tmp_result5), 40), ORDI (SLLDI (ZEXTQIDI (tmp_result4), 32), ORDI (SLLDI (ZEXTQIDI (tmp_result3), 24), ORDI (SLLDI (ZEXTQIDI (tmp_result2), 16), ORDI (SLLDI (ZEXTQIDI (tmp_result1), 8), ZEXTQIDI (tmp_result0))))))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4348,7 +4348,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (ZEXTQIDI (tmp_result7), 56), ORDI (SLLDI (ZEXTQIDI (tmp_result6), 48), ORDI (SLLDI (ZEXTQIDI (tmp_result5), 40), ORDI (SLLDI (ZEXTQIDI (tmp_result4), 32), ORDI (SLLDI (ZEXTQIDI (tmp_result3), 24), ORDI (SLLDI (ZEXTQIDI (tmp_result2), 16), ORDI (SLLDI (ZEXTQIDI (tmp_result1), 8), ZEXTQIDI (tmp_result0))))))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4368,7 +4368,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = MULDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4387,7 +4387,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = MULDI (ZEXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)), ZEXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4421,7 +4421,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = sh64_nsb (current_cpu, GET_H_GR (FLD (f_left)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4441,7 +4441,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = GET_H_GR (FLD (f_left));
SET_H_GR (FLD (f_left), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
((void) 0); /*nop*/
}
@@ -4463,7 +4463,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = GET_H_GR (FLD (f_left));
SET_H_GR (FLD (f_left), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
((void) 0); /*nop*/
}
@@ -4485,7 +4485,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = GET_H_GR (FLD (f_left));
SET_H_GR (FLD (f_left), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
((void) 0); /*nop*/
}
@@ -4506,7 +4506,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4525,7 +4525,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm10)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4545,7 +4545,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = GET_H_GR (FLD (f_left));
SET_H_GR (FLD (f_left), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
((void) 0); /*nop*/
}
@@ -4568,7 +4568,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ADDSI (FLD (f_disp16), 1);
CPU (h_tr[FLD (f_tra)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
}
}
@@ -4590,7 +4590,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = GET_H_GR (FLD (f_right));
CPU (h_tr[FLD (f_tra)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
}
}
@@ -4612,7 +4612,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = FLD (f_disp16);
CPU (h_tr[FLD (f_tra)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
}
}
@@ -4634,7 +4634,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ADDDI (pc, GET_H_GR (FLD (f_right)));
CPU (h_tr[FLD (f_tra)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
}
}
@@ -4658,7 +4658,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
SI opval = GET_H_GR (FLD (f_dest));
SETMEMSI (current_cpu, pc, tmp_address, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
@@ -4678,7 +4678,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = GET_H_GR (FLD (f_left));
SET_H_CR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'D', opval);
}
#undef FLD
@@ -4712,7 +4712,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = SRADI (GET_H_GR (FLD (f_left)), ANDDI (GET_H_GR (FLD (f_right)), 63));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4731,7 +4731,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = EXTSIDI (SRASI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 63)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4750,7 +4750,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = SRADI (GET_H_GR (FLD (f_left)), FLD (f_uimm6));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4769,7 +4769,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = EXTSIDI (SRASI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDSI (FLD (f_uimm6), 63)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4788,7 +4788,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = SLLDI (GET_H_GR (FLD (f_left)), ANDDI (GET_H_GR (FLD (f_right)), 63));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4807,7 +4807,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = EXTSIDI (SLLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 63)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4826,7 +4826,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = SLLDI (GET_H_GR (FLD (f_left)), FLD (f_uimm6));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4845,7 +4845,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = EXTSIDI (SLLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDSI (FLD (f_uimm6), 63)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4864,7 +4864,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = SRLDI (GET_H_GR (FLD (f_left)), ANDDI (GET_H_GR (FLD (f_right)), 63));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4883,7 +4883,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = EXTSIDI (SRLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 63)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4902,7 +4902,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = SRLDI (GET_H_GR (FLD (f_left)), FLD (f_uimm6));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4921,7 +4921,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = EXTSIDI (SRLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDSI (FLD (f_uimm6), 63)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4940,7 +4940,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = ORDI (SLLDI (GET_H_GR (FLD (f_dest)), 16), ZEXTSIDI (FLD (f_uimm16)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -4974,7 +4974,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
UQI opval = ANDQI (GET_H_GR (FLD (f_dest)), 255);
SETMEMUQI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -4993,7 +4993,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
SI opval = ANDSI (GET_H_GR (FLD (f_dest)), 0xffffffff);
SETMEMSI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10x4))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -5012,7 +5012,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
DI opval = GET_H_GR (FLD (f_dest));
SETMEMDI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10x8))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
}
#undef FLD
@@ -5031,7 +5031,7 @@ if (ANDQI (tmp_bytecount, 1)) {
{
HI opval = ANDHI (GET_H_GR (FLD (f_dest)), 65535);
SETMEMHI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10x2))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -5058,7 +5058,7 @@ if (ANDQI (tmp_bytecount, 4)) {
SI opval = GET_H_GR (FLD (f_dest));
SETMEMSI (current_cpu, pc, ANDDI (tmp_addr, -4), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
} else {
if (GET_H_ENDIAN ()) {
@@ -5070,7 +5070,7 @@ if (ANDQI (tmp_bytecount, 1)) {
UQI opval = ANDQI (tmp_val, 255);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 8);
}
@@ -5081,7 +5081,7 @@ if (ANDQI (tmp_bytecount, 2)) {
HI opval = ANDHI (tmp_val, 65535);
SETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 16);
}
@@ -5096,7 +5096,7 @@ if (ANDQI (tmp_bytecount, 2)) {
HI opval = ANDHI (tmp_val, 65535);
SETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 16);
}
@@ -5107,7 +5107,7 @@ if (ANDQI (tmp_bytecount, 1)) {
UQI opval = ANDQI (tmp_val, 255);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 8);
}
@@ -5142,7 +5142,7 @@ if (ANDQI (tmp_bytecount, 8)) {
DI opval = GET_H_GR (FLD (f_dest));
SETMEMDI (current_cpu, pc, ANDDI (tmp_addr, -8), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
}
} else {
if (GET_H_ENDIAN ()) {
@@ -5154,7 +5154,7 @@ if (ANDQI (tmp_bytecount, 1)) {
UQI opval = ANDQI (tmp_val, 255);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 8);
}
@@ -5165,7 +5165,7 @@ if (ANDQI (tmp_bytecount, 2)) {
HI opval = ANDHI (tmp_val, 65535);
SETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 16);
}
@@ -5176,7 +5176,7 @@ if (ANDQI (tmp_bytecount, 4)) {
SI opval = ANDSI (tmp_val, 0xffffffff);
SETMEMSI (current_cpu, pc, ANDDI (tmp_addr, -8), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 32);
}
@@ -5191,7 +5191,7 @@ if (ANDQI (tmp_bytecount, 4)) {
SI opval = ANDSI (tmp_val, 0xffffffff);
SETMEMSI (current_cpu, pc, ANDDI (tmp_addr, -8), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 32);
}
@@ -5202,7 +5202,7 @@ if (ANDQI (tmp_bytecount, 2)) {
HI opval = ANDHI (tmp_val, 65535);
SETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 16);
}
@@ -5213,7 +5213,7 @@ if (ANDQI (tmp_bytecount, 1)) {
UQI opval = ANDQI (tmp_val, 255);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 8);
}
@@ -5248,7 +5248,7 @@ if (ANDQI (tmp_bytecount, 4)) {
USI opval = GET_H_GR (FLD (f_dest));
SETMEMUSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
} else {
if (GET_H_ENDIAN ()) {
@@ -5260,7 +5260,7 @@ if (ANDQI (tmp_bytecount, 2)) {
UHI opval = ANDHI (tmp_val, 65535);
SETMEMUHI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 1), -2), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 16);
}
@@ -5271,7 +5271,7 @@ if (ANDQI (tmp_bytecount, 1)) {
UQI opval = ANDQI (tmp_val, 255);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 8);
}
@@ -5286,7 +5286,7 @@ if (ANDQI (tmp_bytecount, 1)) {
UQI opval = ANDQI (tmp_val, 255);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 8);
}
@@ -5297,7 +5297,7 @@ if (ANDQI (tmp_bytecount, 2)) {
UHI opval = ANDHI (tmp_val, 65535);
SETMEMUHI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 1), -2), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 16);
}
@@ -5332,7 +5332,7 @@ if (ANDQI (tmp_bytecount, 8)) {
UDI opval = GET_H_GR (FLD (f_dest));
SETMEMUDI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
}
} else {
if (GET_H_ENDIAN ()) {
@@ -5344,7 +5344,7 @@ if (ANDQI (tmp_bytecount, 4)) {
USI opval = ANDSI (tmp_val, 0xffffffff);
SETMEMUSI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 3), -4), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 32);
}
@@ -5355,7 +5355,7 @@ if (ANDQI (tmp_bytecount, 2)) {
UHI opval = ANDHI (tmp_val, 65535);
SETMEMUHI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 1), -2), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 16);
}
@@ -5366,7 +5366,7 @@ if (ANDQI (tmp_bytecount, 1)) {
UQI opval = ANDQI (tmp_val, 255);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 8);
}
@@ -5381,7 +5381,7 @@ if (ANDQI (tmp_bytecount, 1)) {
UQI opval = ANDQI (tmp_val, 255);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 8);
}
@@ -5392,7 +5392,7 @@ if (ANDQI (tmp_bytecount, 2)) {
UHI opval = ANDHI (tmp_val, 65535);
SETMEMUHI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 1), -2), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 16);
}
@@ -5403,7 +5403,7 @@ if (ANDQI (tmp_bytecount, 4)) {
USI opval = ANDSI (tmp_val, 0xffffffff);
SETMEMUSI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 3), -4), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 32);
}
@@ -5430,7 +5430,7 @@ if (ANDQI (tmp_bytecount, 4)) {
{
UQI opval = SUBWORDDIQI (GET_H_GR (FLD (f_dest)), 7);
SETMEMUQI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -5449,7 +5449,7 @@ if (ANDQI (tmp_bytecount, 4)) {
{
SI opval = SUBWORDDISI (GET_H_GR (FLD (f_dest)), 1);
SETMEMSI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -5468,7 +5468,7 @@ if (ANDQI (tmp_bytecount, 4)) {
{
DI opval = GET_H_GR (FLD (f_dest));
SETMEMDI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
}
#undef FLD
@@ -5487,7 +5487,7 @@ if (ANDQI (tmp_bytecount, 4)) {
{
HI opval = SUBWORDDIHI (GET_H_GR (FLD (f_dest)), 3);
SETMEMHI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
#undef FLD
@@ -5506,7 +5506,7 @@ if (ANDQI (tmp_bytecount, 4)) {
{
DI opval = SUBDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -5525,7 +5525,7 @@ if (ANDQI (tmp_bytecount, 4)) {
{
DI opval = EXTSIDI (SUBSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), SUBWORDDISI (GET_H_GR (FLD (f_right)), 1)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -5549,12 +5549,12 @@ if (ANDQI (tmp_bytecount, 4)) {
{
DI opval = GET_H_GR (FLD (f_dest));
SETMEMDI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
}
{
DI opval = tmp_temp;
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -5619,7 +5619,7 @@ sh64_trapa (current_cpu, GET_H_GR (FLD (f_left)), pc);
{
DI opval = XORDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
@@ -5638,7 +5638,7 @@ sh64_trapa (current_cpu, GET_H_GR (FLD (f_left)), pc);
{
DI opval = XORDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm6)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
#undef FLD
diff --git a/sim/sh64/sem-media.c b/sim/sh64/sem-media.c
index ba20a81ef2f..2e0e25af61b 100644
--- a/sim/sh64/sem-media.c
+++ b/sim/sh64/sem-media.c
@@ -36,8 +36,8 @@ This file is part of the GNU simulators.
FAST_P, when desired, is defined on the command line, -DFAST_P=1. */
#if FAST_P
#define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_semf_,fn)
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
+#undef CGEN_TRACE_RESULT
+#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
#else
#define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_sem_,fn)
#endif
@@ -210,7 +210,7 @@ SEM_FN_NAME (sh64_media,add) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -231,7 +231,7 @@ SEM_FN_NAME (sh64_media,addl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ADDSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), SUBWORDDISI (GET_H_GR (FLD (f_right)), 1));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -252,7 +252,7 @@ SEM_FN_NAME (sh64_media,addi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -273,7 +273,7 @@ SEM_FN_NAME (sh64_media,addil) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = EXTSIDI (ADDSI (EXTSISI (FLD (f_disp10)), SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -294,7 +294,7 @@ SEM_FN_NAME (sh64_media,addzl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ZEXTSIDI (ADDSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), SUBWORDDISI (GET_H_GR (FLD (f_right)), 1)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -316,7 +316,7 @@ SEM_FN_NAME (sh64_media,alloco) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = GET_H_GR (FLD (f_left));
SET_H_GR (FLD (f_left), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
((void) 0); /*nop*/
}
@@ -339,7 +339,7 @@ SEM_FN_NAME (sh64_media,and) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ANDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -360,7 +360,7 @@ SEM_FN_NAME (sh64_media,andc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ANDDI (GET_H_GR (FLD (f_left)), INVDI (GET_H_GR (FLD (f_right))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -381,7 +381,7 @@ SEM_FN_NAME (sh64_media,andi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ANDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -407,7 +407,7 @@ if (EQDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
UDI opval = CPU (h_tr[FLD (f_tra)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -437,7 +437,7 @@ if (EQDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm6)))) {
UDI opval = CPU (h_tr[FLD (f_tra)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -467,7 +467,7 @@ if (GEDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
UDI opval = CPU (h_tr[FLD (f_tra)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -497,7 +497,7 @@ if (GEUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
UDI opval = CPU (h_tr[FLD (f_tra)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -527,7 +527,7 @@ if (GTDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
UDI opval = CPU (h_tr[FLD (f_tra)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -557,7 +557,7 @@ if (GTUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
UDI opval = CPU (h_tr[FLD (f_tra)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -584,12 +584,12 @@ SEM_FN_NAME (sh64_media,blink) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (ADDDI (pc, 4), 1);
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
{
UDI opval = CPU (h_tr[FLD (f_trb)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
if (EQSI (FLD (f_dest), 63)) {
((void) 0); /*nop*/
@@ -622,7 +622,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
UDI opval = CPU (h_tr[FLD (f_tra)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -652,7 +652,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm6)))) {
UDI opval = CPU (h_tr[FLD (f_tra)]);
SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
}
}
}
@@ -731,7 +731,7 @@ SEM_FN_NAME (sh64_media,byterev) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = tmp_result;
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -753,7 +753,7 @@ SEM_FN_NAME (sh64_media,cmpeq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ((EQDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) ? (1) : (0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -774,7 +774,7 @@ SEM_FN_NAME (sh64_media,cmpgt) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ((GTDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) ? (1) : (0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -795,7 +795,7 @@ SEM_FN_NAME (sh64_media,cmpgtu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ((GTUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) ? (1) : (0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -818,7 +818,7 @@ if (EQDI (GET_H_GR (FLD (f_left)), 0)) {
DI opval = GET_H_GR (FLD (f_right));
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -843,7 +843,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) {
DI opval = GET_H_GR (FLD (f_right));
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 2);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -866,7 +866,7 @@ SEM_FN_NAME (sh64_media,fabsd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = sh64_fabsd (current_cpu, GET_H_DR (FLD (f_left_right)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
return vpc;
@@ -887,7 +887,7 @@ SEM_FN_NAME (sh64_media,fabss) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = sh64_fabss (current_cpu, CPU (h_fr[FLD (f_left_right)]));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -908,7 +908,7 @@ SEM_FN_NAME (sh64_media,faddd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = sh64_faddd (current_cpu, GET_H_DR (FLD (f_left)), GET_H_DR (FLD (f_right)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
return vpc;
@@ -929,7 +929,7 @@ SEM_FN_NAME (sh64_media,fadds) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = sh64_fadds (current_cpu, CPU (h_fr[FLD (f_left)]), CPU (h_fr[FLD (f_right)]));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -950,7 +950,7 @@ SEM_FN_NAME (sh64_media,fcmpeqd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ZEXTBIDI (sh64_fcmpeqd (current_cpu, GET_H_DR (FLD (f_left)), GET_H_DR (FLD (f_right))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -971,7 +971,7 @@ SEM_FN_NAME (sh64_media,fcmpeqs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ZEXTBIDI (sh64_fcmpeqs (current_cpu, CPU (h_fr[FLD (f_left)]), CPU (h_fr[FLD (f_right)])));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -992,7 +992,7 @@ SEM_FN_NAME (sh64_media,fcmpged) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ZEXTBIDI (sh64_fcmpged (current_cpu, GET_H_DR (FLD (f_left)), GET_H_DR (FLD (f_right))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -1013,7 +1013,7 @@ SEM_FN_NAME (sh64_media,fcmpges) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ZEXTBIDI (sh64_fcmpges (current_cpu, CPU (h_fr[FLD (f_left)]), CPU (h_fr[FLD (f_right)])));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -1034,7 +1034,7 @@ SEM_FN_NAME (sh64_media,fcmpgtd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ZEXTBIDI (sh64_fcmpgtd (current_cpu, GET_H_DR (FLD (f_left)), GET_H_DR (FLD (f_right))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -1055,7 +1055,7 @@ SEM_FN_NAME (sh64_media,fcmpgts) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ZEXTBIDI (sh64_fcmpgts (current_cpu, CPU (h_fr[FLD (f_left)]), CPU (h_fr[FLD (f_right)])));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -1076,7 +1076,7 @@ SEM_FN_NAME (sh64_media,fcmpund) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ZEXTBIDI (sh64_fcmpund (current_cpu, GET_H_DR (FLD (f_left)), GET_H_DR (FLD (f_right))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -1097,7 +1097,7 @@ SEM_FN_NAME (sh64_media,fcmpuns) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ZEXTBIDI (sh64_fcmpuns (current_cpu, CPU (h_fr[FLD (f_left)]), CPU (h_fr[FLD (f_right)])));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -1118,7 +1118,7 @@ SEM_FN_NAME (sh64_media,fcnvds) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = sh64_fcnvds (current_cpu, GET_H_DR (FLD (f_left_right)));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -1139,7 +1139,7 @@ SEM_FN_NAME (sh64_media,fcnvsd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = sh64_fcnvsd (current_cpu, CPU (h_fr[FLD (f_left_right)]));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
return vpc;
@@ -1160,7 +1160,7 @@ SEM_FN_NAME (sh64_media,fdivd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = sh64_fdivd (current_cpu, GET_H_DR (FLD (f_left)), GET_H_DR (FLD (f_right)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
return vpc;
@@ -1181,7 +1181,7 @@ SEM_FN_NAME (sh64_media,fdivs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = sh64_fdivs (current_cpu, CPU (h_fr[FLD (f_left)]), CPU (h_fr[FLD (f_right)]));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -1202,7 +1202,7 @@ SEM_FN_NAME (sh64_media,fgetscr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = SUBWORDSISF (CPU (h_fpscr));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -1224,17 +1224,17 @@ SEM_FN_NAME (sh64_media,fiprs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = GET_H_FV (FLD (f_left));
SET_H_FV (FLD (f_left), opval);
- TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
}
{
SF opval = GET_H_FV (FLD (f_right));
SET_H_FV (FLD (f_right), opval);
- TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
}
{
SF opval = sh64_fiprs (current_cpu, FLD (f_left), FLD (f_right));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
}
@@ -1256,7 +1256,7 @@ SEM_FN_NAME (sh64_media,fldd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = GETMEMDF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x8)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
return vpc;
@@ -1278,7 +1278,7 @@ SEM_FN_NAME (sh64_media,fldp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = GET_H_FP (FLD (f_dest));
SET_H_FP (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval);
}
sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), FLD (f_disp10x8), FLD (f_dest));
}
@@ -1301,7 +1301,7 @@ SEM_FN_NAME (sh64_media,flds) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = GETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x4)));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -1322,7 +1322,7 @@ SEM_FN_NAME (sh64_media,fldxd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = GETMEMDF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
return vpc;
@@ -1344,7 +1344,7 @@ SEM_FN_NAME (sh64_media,fldxp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = GET_H_FP (FLD (f_dest));
SET_H_FP (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval);
}
sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), FLD (f_dest));
}
@@ -1367,7 +1367,7 @@ SEM_FN_NAME (sh64_media,fldxs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = GETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -1388,7 +1388,7 @@ SEM_FN_NAME (sh64_media,floatld) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = sh64_floatld (current_cpu, CPU (h_fr[FLD (f_left_right)]));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
return vpc;
@@ -1409,7 +1409,7 @@ SEM_FN_NAME (sh64_media,floatls) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = sh64_floatls (current_cpu, CPU (h_fr[FLD (f_left_right)]));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -1430,7 +1430,7 @@ SEM_FN_NAME (sh64_media,floatqd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = sh64_floatqd (current_cpu, GET_H_DR (FLD (f_left_right)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
return vpc;
@@ -1451,7 +1451,7 @@ SEM_FN_NAME (sh64_media,floatqs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = sh64_floatqs (current_cpu, GET_H_DR (FLD (f_left_right)));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -1472,7 +1472,7 @@ SEM_FN_NAME (sh64_media,fmacs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = sh64_fadds (current_cpu, CPU (h_fr[FLD (f_dest)]), sh64_fmuls (current_cpu, CPU (h_fr[FLD (f_left)]), CPU (h_fr[FLD (f_right)])));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -1493,7 +1493,7 @@ SEM_FN_NAME (sh64_media,fmovd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = GET_H_DR (FLD (f_left_right));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
return vpc;
@@ -1514,7 +1514,7 @@ SEM_FN_NAME (sh64_media,fmovdq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = SUBWORDDFDI (GET_H_DR (FLD (f_left_right)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -1535,7 +1535,7 @@ SEM_FN_NAME (sh64_media,fmovls) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = SUBWORDSISF (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -1556,7 +1556,7 @@ SEM_FN_NAME (sh64_media,fmovqd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = SUBWORDDIDF (GET_H_GR (FLD (f_left)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
return vpc;
@@ -1577,7 +1577,7 @@ SEM_FN_NAME (sh64_media,fmovs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CPU (h_fr[FLD (f_left_right)]);
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -1598,7 +1598,7 @@ SEM_FN_NAME (sh64_media,fmovsl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = EXTSIDI (SUBWORDSFSI (CPU (h_fr[FLD (f_left_right)])));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -1619,7 +1619,7 @@ SEM_FN_NAME (sh64_media,fmuld) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = sh64_fmuld (current_cpu, GET_H_DR (FLD (f_left)), GET_H_DR (FLD (f_right)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
return vpc;
@@ -1640,7 +1640,7 @@ SEM_FN_NAME (sh64_media,fmuls) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = sh64_fmuls (current_cpu, CPU (h_fr[FLD (f_left)]), CPU (h_fr[FLD (f_right)]));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -1661,7 +1661,7 @@ SEM_FN_NAME (sh64_media,fnegd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = sh64_fnegd (current_cpu, GET_H_DR (FLD (f_left_right)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
return vpc;
@@ -1682,7 +1682,7 @@ SEM_FN_NAME (sh64_media,fnegs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = sh64_fnegs (current_cpu, CPU (h_fr[FLD (f_left_right)]));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -1703,7 +1703,7 @@ SEM_FN_NAME (sh64_media,fputscr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SUBWORDSFSI (CPU (h_fr[FLD (f_left_right)]));
CPU (h_fpscr) = opval;
- TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
}
return vpc;
@@ -1724,7 +1724,7 @@ SEM_FN_NAME (sh64_media,fsqrtd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = sh64_fsqrtd (current_cpu, GET_H_DR (FLD (f_left_right)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
return vpc;
@@ -1745,7 +1745,7 @@ SEM_FN_NAME (sh64_media,fsqrts) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = sh64_fsqrts (current_cpu, CPU (h_fr[FLD (f_left_right)]));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -1766,7 +1766,7 @@ SEM_FN_NAME (sh64_media,fstd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = GET_H_DR (FLD (f_dest));
SETMEMDF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x8)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
return vpc;
@@ -1788,7 +1788,7 @@ SEM_FN_NAME (sh64_media,fstp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = GET_H_FP (FLD (f_dest));
SET_H_FP (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval);
}
sh64_fstp (current_cpu, pc, GET_H_GR (FLD (f_left)), FLD (f_disp10x8), FLD (f_dest));
}
@@ -1811,7 +1811,7 @@ SEM_FN_NAME (sh64_media,fsts) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CPU (h_fr[FLD (f_dest)]);
SETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x4)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
return vpc;
@@ -1832,7 +1832,7 @@ SEM_FN_NAME (sh64_media,fstxd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = GET_H_DR (FLD (f_dest));
SETMEMDF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
return vpc;
@@ -1854,7 +1854,7 @@ SEM_FN_NAME (sh64_media,fstxp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = GET_H_FP (FLD (f_dest));
SET_H_FP (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval);
}
sh64_fstp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), FLD (f_dest));
}
@@ -1877,7 +1877,7 @@ SEM_FN_NAME (sh64_media,fstxs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = CPU (h_fr[FLD (f_dest)]);
SETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
}
return vpc;
@@ -1898,7 +1898,7 @@ SEM_FN_NAME (sh64_media,fsubd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = sh64_fsubd (current_cpu, GET_H_DR (FLD (f_left)), GET_H_DR (FLD (f_right)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
return vpc;
@@ -1919,7 +1919,7 @@ SEM_FN_NAME (sh64_media,fsubs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = sh64_fsubs (current_cpu, CPU (h_fr[FLD (f_left)]), CPU (h_fr[FLD (f_right)]));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -1940,7 +1940,7 @@ SEM_FN_NAME (sh64_media,ftrcdl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = sh64_ftrcdl (current_cpu, GET_H_DR (FLD (f_left_right)));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -1961,7 +1961,7 @@ SEM_FN_NAME (sh64_media,ftrcsl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = sh64_ftrcsl (current_cpu, CPU (h_fr[FLD (f_left_right)]));
CPU (h_fr[FLD (f_dest)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
}
return vpc;
@@ -1982,7 +1982,7 @@ SEM_FN_NAME (sh64_media,ftrcdq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = sh64_ftrcdq (current_cpu, GET_H_DR (FLD (f_left_right)));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
return vpc;
@@ -2003,7 +2003,7 @@ SEM_FN_NAME (sh64_media,ftrcsq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DF opval = sh64_ftrcsq (current_cpu, CPU (h_fr[FLD (f_left_right)]));
SET_H_DR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
}
return vpc;
@@ -2025,17 +2025,17 @@ SEM_FN_NAME (sh64_media,ftrvs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SF opval = GET_H_FMTX (FLD (f_left));
SET_H_FMTX (FLD (f_left), opval);
- TRACE_RESULT (current_cpu, abuf, "fmtx", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fmtx", 'f', opval);
}
{
SF opval = GET_H_FV (FLD (f_right));
SET_H_FV (FLD (f_right), opval);
- TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
}
{
SF opval = GET_H_FV (FLD (f_dest));
SET_H_FV (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
}
sh64_ftrvs (current_cpu, FLD (f_left), FLD (f_right), FLD (f_dest));
}
@@ -2062,7 +2062,7 @@ SEM_FN_NAME (sh64_media,getcfg) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = GETMEMSI (current_cpu, pc, tmp_address);
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2084,7 +2084,7 @@ SEM_FN_NAME (sh64_media,getcon) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = GET_H_CR (FLD (f_left));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -2105,7 +2105,7 @@ SEM_FN_NAME (sh64_media,gettr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = CPU (h_tr[FLD (f_trb)]);
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -2127,7 +2127,7 @@ SEM_FN_NAME (sh64_media,icbi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = GET_H_GR (FLD (f_left));
SET_H_GR (FLD (f_left), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
((void) 0); /*nop*/
}
@@ -2150,7 +2150,7 @@ SEM_FN_NAME (sh64_media,ldb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = EXTQIDI (GETMEMQI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -2171,7 +2171,7 @@ SEM_FN_NAME (sh64_media,ldl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = EXTSIDI (GETMEMSI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10x4)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -2192,7 +2192,7 @@ SEM_FN_NAME (sh64_media,ldq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = GETMEMDI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10x8))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -2213,7 +2213,7 @@ SEM_FN_NAME (sh64_media,ldub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ZEXTQIDI (GETMEMQI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -2234,7 +2234,7 @@ SEM_FN_NAME (sh64_media,lduw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ZEXTHIDI (GETMEMHI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10x2)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -2255,7 +2255,7 @@ SEM_FN_NAME (sh64_media,ldw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = EXTHIDI (GETMEMHI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10x2)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -2285,7 +2285,7 @@ if (ANDQI (tmp_bytecount, 4)) {
DI opval = EXTSIDI (GETMEMSI (current_cpu, pc, ANDDI (tmp_addr, -4)));
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
} else {
if (GET_H_ENDIAN ()) {
@@ -2300,7 +2300,7 @@ if (ANDQI (tmp_bytecount, 1)) {
DI opval = EXTSIDI (tmp_val);
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
} else {
@@ -2315,7 +2315,7 @@ if (ANDQI (tmp_bytecount, 2)) {
DI opval = EXTSIDI (SLLSI (tmp_val, SUBSI (32, MULSI (8, tmp_bytecount))));
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
}
@@ -2350,7 +2350,7 @@ if (ANDQI (tmp_bytecount, 8)) {
DI opval = GETMEMDI (current_cpu, pc, ANDDI (tmp_addr, -8));
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
} else {
if (GET_H_ENDIAN ()) {
@@ -2368,7 +2368,7 @@ if (ANDQI (tmp_bytecount, 1)) {
DI opval = tmp_val;
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
} else {
@@ -2386,7 +2386,7 @@ if (ANDQI (tmp_bytecount, 4)) {
DI opval = SLLDI (tmp_val, SUBSI (64, MULSI (8, tmp_bytecount)));
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
}
@@ -2421,7 +2421,7 @@ if (ANDQI (tmp_bytecount, 4)) {
DI opval = EXTSIDI (GETMEMSI (current_cpu, pc, tmp_addr));
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
} else {
if (GET_H_ENDIAN ()) {
@@ -2436,7 +2436,7 @@ if (ANDQI (tmp_bytecount, 2)) {
DI opval = EXTSIDI (SLLSI (tmp_val, SUBSI (32, MULSI (8, tmp_bytecount))));
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
} else {
@@ -2451,7 +2451,7 @@ if (ANDQI (tmp_bytecount, 1)) {
DI opval = EXTSIDI (tmp_val);
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
}
@@ -2486,7 +2486,7 @@ if (ANDQI (tmp_bytecount, 8)) {
DI opval = GETMEMDI (current_cpu, pc, tmp_addr);
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
} else {
if (GET_H_ENDIAN ()) {
@@ -2504,7 +2504,7 @@ if (ANDQI (tmp_bytecount, 4)) {
DI opval = SLLDI (tmp_val, SUBSI (64, MULSI (8, tmp_bytecount)));
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
} else {
@@ -2522,7 +2522,7 @@ if (ANDQI (tmp_bytecount, 1)) {
DI opval = tmp_val;
SET_H_GR (FLD (f_dest), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
}
@@ -2548,7 +2548,7 @@ SEM_FN_NAME (sh64_media,ldxb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = EXTQIDI (GETMEMQI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -2569,7 +2569,7 @@ SEM_FN_NAME (sh64_media,ldxl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = EXTSIDI (GETMEMSI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -2590,7 +2590,7 @@ SEM_FN_NAME (sh64_media,ldxq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = GETMEMDI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -2611,7 +2611,7 @@ SEM_FN_NAME (sh64_media,ldxub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ZEXTQIDI (GETMEMUQI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -2632,7 +2632,7 @@ SEM_FN_NAME (sh64_media,ldxuw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ZEXTHIDI (GETMEMUHI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -2653,7 +2653,7 @@ SEM_FN_NAME (sh64_media,ldxw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = EXTHIDI (GETMEMHI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -2679,7 +2679,7 @@ SEM_FN_NAME (sh64_media,mabsl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2710,7 +2710,7 @@ SEM_FN_NAME (sh64_media,mabsw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2737,7 +2737,7 @@ SEM_FN_NAME (sh64_media,maddl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2768,7 +2768,7 @@ SEM_FN_NAME (sh64_media,maddw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2795,7 +2795,7 @@ SEM_FN_NAME (sh64_media,maddsl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2834,7 +2834,7 @@ SEM_FN_NAME (sh64_media,maddsub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTQIDI (tmp_result7), 56), ORDI (SLLDI (ZEXTQIDI (tmp_result6), 48), ORDI (SLLDI (ZEXTQIDI (tmp_result5), 40), ORDI (SLLDI (ZEXTQIDI (tmp_result4), 32), ORDI (SLLDI (ZEXTQIDI (tmp_result3), 24), ORDI (SLLDI (ZEXTQIDI (tmp_result2), 16), ORDI (SLLDI (ZEXTQIDI (tmp_result1), 8), ZEXTQIDI (tmp_result0))))))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2865,7 +2865,7 @@ SEM_FN_NAME (sh64_media,maddsw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2904,7 +2904,7 @@ SEM_FN_NAME (sh64_media,mcmpeqb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTQIDI (tmp_result7), 56), ORDI (SLLDI (ZEXTQIDI (tmp_result6), 48), ORDI (SLLDI (ZEXTQIDI (tmp_result5), 40), ORDI (SLLDI (ZEXTQIDI (tmp_result4), 32), ORDI (SLLDI (ZEXTQIDI (tmp_result3), 24), ORDI (SLLDI (ZEXTQIDI (tmp_result2), 16), ORDI (SLLDI (ZEXTQIDI (tmp_result1), 8), ZEXTQIDI (tmp_result0))))))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2931,7 +2931,7 @@ SEM_FN_NAME (sh64_media,mcmpeql) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2962,7 +2962,7 @@ SEM_FN_NAME (sh64_media,mcmpeqw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -2989,7 +2989,7 @@ SEM_FN_NAME (sh64_media,mcmpgtl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3028,7 +3028,7 @@ SEM_FN_NAME (sh64_media,mcmpgtub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTQIDI (tmp_result7), 56), ORDI (SLLDI (ZEXTQIDI (tmp_result6), 48), ORDI (SLLDI (ZEXTQIDI (tmp_result5), 40), ORDI (SLLDI (ZEXTQIDI (tmp_result4), 32), ORDI (SLLDI (ZEXTQIDI (tmp_result3), 24), ORDI (SLLDI (ZEXTQIDI (tmp_result2), 16), ORDI (SLLDI (ZEXTQIDI (tmp_result1), 8), ZEXTQIDI (tmp_result0))))))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3059,7 +3059,7 @@ SEM_FN_NAME (sh64_media,mcmpgtw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3081,7 +3081,7 @@ SEM_FN_NAME (sh64_media,mcmv) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (ANDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))), ANDDI (GET_H_GR (FLD (f_dest)), INVDI (GET_H_GR (FLD (f_right)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -3111,7 +3111,7 @@ SEM_FN_NAME (sh64_media,mcnvslw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3150,7 +3150,7 @@ SEM_FN_NAME (sh64_media,mcnvswb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTQIDI (tmp_result7), 56), ORDI (SLLDI (ZEXTQIDI (tmp_result6), 48), ORDI (SLLDI (ZEXTQIDI (tmp_result5), 40), ORDI (SLLDI (ZEXTQIDI (tmp_result4), 32), ORDI (SLLDI (ZEXTQIDI (tmp_result3), 24), ORDI (SLLDI (ZEXTQIDI (tmp_result2), 16), ORDI (SLLDI (ZEXTQIDI (tmp_result1), 8), ZEXTQIDI (tmp_result0))))))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3189,7 +3189,7 @@ SEM_FN_NAME (sh64_media,mcnvswub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTQIDI (tmp_result7), 56), ORDI (SLLDI (ZEXTQIDI (tmp_result6), 48), ORDI (SLLDI (ZEXTQIDI (tmp_result5), 40), ORDI (SLLDI (ZEXTQIDI (tmp_result4), 32), ORDI (SLLDI (ZEXTQIDI (tmp_result3), 24), ORDI (SLLDI (ZEXTQIDI (tmp_result2), 16), ORDI (SLLDI (ZEXTQIDI (tmp_result1), 8), ZEXTQIDI (tmp_result0))))))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3220,7 +3220,7 @@ SEM_FN_NAME (sh64_media,mextr1) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3251,7 +3251,7 @@ SEM_FN_NAME (sh64_media,mextr2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3282,7 +3282,7 @@ SEM_FN_NAME (sh64_media,mextr3) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3313,7 +3313,7 @@ SEM_FN_NAME (sh64_media,mextr4) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3344,7 +3344,7 @@ SEM_FN_NAME (sh64_media,mextr5) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3375,7 +3375,7 @@ SEM_FN_NAME (sh64_media,mextr6) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3406,7 +3406,7 @@ SEM_FN_NAME (sh64_media,mextr7) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3440,7 +3440,7 @@ SEM_FN_NAME (sh64_media,mmacfxwl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3474,7 +3474,7 @@ SEM_FN_NAME (sh64_media,mmacnfx_wl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3501,7 +3501,7 @@ SEM_FN_NAME (sh64_media,mmull) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3532,7 +3532,7 @@ SEM_FN_NAME (sh64_media,mmulw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3562,7 +3562,7 @@ SEM_FN_NAME (sh64_media,mmulfxl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3598,7 +3598,7 @@ SEM_FN_NAME (sh64_media,mmulfxw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3636,7 +3636,7 @@ SEM_FN_NAME (sh64_media,mmulfxrpw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3663,7 +3663,7 @@ SEM_FN_NAME (sh64_media,mmulhiwl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3690,7 +3690,7 @@ SEM_FN_NAME (sh64_media,mmullowl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3718,7 +3718,7 @@ SEM_FN_NAME (sh64_media,mmulsumwq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ADDDI (GET_H_GR (FLD (f_dest)), tmp_acc);
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3740,7 +3740,7 @@ SEM_FN_NAME (sh64_media,movi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = EXTSIDI (FLD (f_imm16));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -3772,7 +3772,7 @@ SEM_FN_NAME (sh64_media,mpermw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3804,7 +3804,7 @@ SEM_FN_NAME (sh64_media,msadubq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ADDDI (GET_H_GR (FLD (f_dest)), tmp_acc);
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3831,7 +3831,7 @@ SEM_FN_NAME (sh64_media,mshaldsl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3862,7 +3862,7 @@ SEM_FN_NAME (sh64_media,mshaldsw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3889,7 +3889,7 @@ SEM_FN_NAME (sh64_media,mshardl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3920,7 +3920,7 @@ SEM_FN_NAME (sh64_media,mshardw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -3942,7 +3942,7 @@ SEM_FN_NAME (sh64_media,mshardsq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ((LTDI (SRADI (GET_H_GR (FLD (f_left)), ANDDI (GET_H_GR (FLD (f_right)), 63)), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGDI (SLLDI (1, SUBSI (16, 1)))) : (((LTDI (SRADI (GET_H_GR (FLD (f_left)), ANDDI (GET_H_GR (FLD (f_right)), 63)), SLLDI (1, SUBSI (16, 1)))) ? (SRADI (GET_H_GR (FLD (f_left)), ANDDI (GET_H_GR (FLD (f_right)), 63))) : (SUBDI (SLLDI (1, SUBSI (16, 1)), 1)))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -3980,7 +3980,7 @@ SEM_FN_NAME (sh64_media,mshfhib) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTQIDI (tmp_result7), 56), ORDI (SLLDI (ZEXTQIDI (tmp_result6), 48), ORDI (SLLDI (ZEXTQIDI (tmp_result5), 40), ORDI (SLLDI (ZEXTQIDI (tmp_result4), 32), ORDI (SLLDI (ZEXTQIDI (tmp_result3), 24), ORDI (SLLDI (ZEXTQIDI (tmp_result2), 16), ORDI (SLLDI (ZEXTQIDI (tmp_result1), 8), ZEXTQIDI (tmp_result0))))))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4007,7 +4007,7 @@ SEM_FN_NAME (sh64_media,mshfhil) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4038,7 +4038,7 @@ SEM_FN_NAME (sh64_media,mshfhiw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4077,7 +4077,7 @@ SEM_FN_NAME (sh64_media,mshflob) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTQIDI (tmp_result7), 56), ORDI (SLLDI (ZEXTQIDI (tmp_result6), 48), ORDI (SLLDI (ZEXTQIDI (tmp_result5), 40), ORDI (SLLDI (ZEXTQIDI (tmp_result4), 32), ORDI (SLLDI (ZEXTQIDI (tmp_result3), 24), ORDI (SLLDI (ZEXTQIDI (tmp_result2), 16), ORDI (SLLDI (ZEXTQIDI (tmp_result1), 8), ZEXTQIDI (tmp_result0))))))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4104,7 +4104,7 @@ SEM_FN_NAME (sh64_media,mshflol) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4135,7 +4135,7 @@ SEM_FN_NAME (sh64_media,mshflow) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4162,7 +4162,7 @@ SEM_FN_NAME (sh64_media,mshlldl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4193,7 +4193,7 @@ SEM_FN_NAME (sh64_media,mshlldw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4220,7 +4220,7 @@ SEM_FN_NAME (sh64_media,mshlrdl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4251,7 +4251,7 @@ SEM_FN_NAME (sh64_media,mshlrdw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4278,7 +4278,7 @@ SEM_FN_NAME (sh64_media,msubl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4309,7 +4309,7 @@ SEM_FN_NAME (sh64_media,msubw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTHIDI (tmp_result3), 48), ORDI (SLLDI (ZEXTHIDI (tmp_result2), 32), ORDI (SLLDI (ZEXTHIDI (tmp_result1), 16), ZEXTHIDI (tmp_result0))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4336,7 +4336,7 @@ SEM_FN_NAME (sh64_media,msubsl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4375,7 +4375,7 @@ SEM_FN_NAME (sh64_media,msubsub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTQIDI (tmp_result7), 56), ORDI (SLLDI (ZEXTQIDI (tmp_result6), 48), ORDI (SLLDI (ZEXTQIDI (tmp_result5), 40), ORDI (SLLDI (ZEXTQIDI (tmp_result4), 32), ORDI (SLLDI (ZEXTQIDI (tmp_result3), 24), ORDI (SLLDI (ZEXTQIDI (tmp_result2), 16), ORDI (SLLDI (ZEXTQIDI (tmp_result1), 8), ZEXTQIDI (tmp_result0))))))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4414,7 +4414,7 @@ SEM_FN_NAME (sh64_media,msubsw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (ZEXTQIDI (tmp_result7), 56), ORDI (SLLDI (ZEXTQIDI (tmp_result6), 48), ORDI (SLLDI (ZEXTQIDI (tmp_result5), 40), ORDI (SLLDI (ZEXTQIDI (tmp_result4), 32), ORDI (SLLDI (ZEXTQIDI (tmp_result3), 24), ORDI (SLLDI (ZEXTQIDI (tmp_result2), 16), ORDI (SLLDI (ZEXTQIDI (tmp_result1), 8), ZEXTQIDI (tmp_result0))))))));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -4436,7 +4436,7 @@ SEM_FN_NAME (sh64_media,mulsl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = MULDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -4457,7 +4457,7 @@ SEM_FN_NAME (sh64_media,mulul) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = MULDI (ZEXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)), ZEXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -4495,7 +4495,7 @@ SEM_FN_NAME (sh64_media,nsb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = sh64_nsb (current_cpu, GET_H_GR (FLD (f_left)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -4517,7 +4517,7 @@ SEM_FN_NAME (sh64_media,ocbi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = GET_H_GR (FLD (f_left));
SET_H_GR (FLD (f_left), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
((void) 0); /*nop*/
}
@@ -4541,7 +4541,7 @@ SEM_FN_NAME (sh64_media,ocbp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = GET_H_GR (FLD (f_left));
SET_H_GR (FLD (f_left), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
((void) 0); /*nop*/
}
@@ -4565,7 +4565,7 @@ SEM_FN_NAME (sh64_media,ocbwb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = GET_H_GR (FLD (f_left));
SET_H_GR (FLD (f_left), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
((void) 0); /*nop*/
}
@@ -4588,7 +4588,7 @@ SEM_FN_NAME (sh64_media,or) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -4609,7 +4609,7 @@ SEM_FN_NAME (sh64_media,ori) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm10)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -4631,7 +4631,7 @@ SEM_FN_NAME (sh64_media,prefi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = GET_H_GR (FLD (f_left));
SET_H_GR (FLD (f_left), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
((void) 0); /*nop*/
}
@@ -4656,7 +4656,7 @@ SEM_FN_NAME (sh64_media,pta) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ADDSI (FLD (f_disp16), 1);
CPU (h_tr[FLD (f_tra)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
}
}
@@ -4680,7 +4680,7 @@ SEM_FN_NAME (sh64_media,ptabs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = GET_H_GR (FLD (f_right));
CPU (h_tr[FLD (f_tra)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
}
}
@@ -4704,7 +4704,7 @@ SEM_FN_NAME (sh64_media,ptb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = FLD (f_disp16);
CPU (h_tr[FLD (f_tra)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
}
}
@@ -4728,7 +4728,7 @@ SEM_FN_NAME (sh64_media,ptrel) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ADDDI (pc, GET_H_GR (FLD (f_right)));
CPU (h_tr[FLD (f_tra)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
}
}
@@ -4754,7 +4754,7 @@ SEM_FN_NAME (sh64_media,putcfg) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = GET_H_GR (FLD (f_dest));
SETMEMSI (current_cpu, pc, tmp_address, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
}
@@ -4776,7 +4776,7 @@ SEM_FN_NAME (sh64_media,putcon) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = GET_H_GR (FLD (f_left));
SET_H_CR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "cr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'D', opval);
}
return vpc;
@@ -4814,7 +4814,7 @@ SEM_FN_NAME (sh64_media,shard) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = SRADI (GET_H_GR (FLD (f_left)), ANDDI (GET_H_GR (FLD (f_right)), 63));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -4835,7 +4835,7 @@ SEM_FN_NAME (sh64_media,shardl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = EXTSIDI (SRASI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 63)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -4856,7 +4856,7 @@ SEM_FN_NAME (sh64_media,shari) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = SRADI (GET_H_GR (FLD (f_left)), FLD (f_uimm6));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -4877,7 +4877,7 @@ SEM_FN_NAME (sh64_media,sharil) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = EXTSIDI (SRASI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDSI (FLD (f_uimm6), 63)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -4898,7 +4898,7 @@ SEM_FN_NAME (sh64_media,shlld) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = SLLDI (GET_H_GR (FLD (f_left)), ANDDI (GET_H_GR (FLD (f_right)), 63));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -4919,7 +4919,7 @@ SEM_FN_NAME (sh64_media,shlldl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = EXTSIDI (SLLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 63)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -4940,7 +4940,7 @@ SEM_FN_NAME (sh64_media,shlli) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = SLLDI (GET_H_GR (FLD (f_left)), FLD (f_uimm6));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -4961,7 +4961,7 @@ SEM_FN_NAME (sh64_media,shllil) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = EXTSIDI (SLLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDSI (FLD (f_uimm6), 63)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -4982,7 +4982,7 @@ SEM_FN_NAME (sh64_media,shlrd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = SRLDI (GET_H_GR (FLD (f_left)), ANDDI (GET_H_GR (FLD (f_right)), 63));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -5003,7 +5003,7 @@ SEM_FN_NAME (sh64_media,shlrdl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = EXTSIDI (SRLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 63)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -5024,7 +5024,7 @@ SEM_FN_NAME (sh64_media,shlri) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = SRLDI (GET_H_GR (FLD (f_left)), FLD (f_uimm6));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -5045,7 +5045,7 @@ SEM_FN_NAME (sh64_media,shlril) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = EXTSIDI (SRLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDSI (FLD (f_uimm6), 63)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -5066,7 +5066,7 @@ SEM_FN_NAME (sh64_media,shori) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = ORDI (SLLDI (GET_H_GR (FLD (f_dest)), 16), ZEXTSIDI (FLD (f_uimm16)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -5104,7 +5104,7 @@ SEM_FN_NAME (sh64_media,stb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = ANDQI (GET_H_GR (FLD (f_dest)), 255);
SETMEMUQI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -5125,7 +5125,7 @@ SEM_FN_NAME (sh64_media,stl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = ANDSI (GET_H_GR (FLD (f_dest)), 0xffffffff);
SETMEMSI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10x4))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -5146,7 +5146,7 @@ SEM_FN_NAME (sh64_media,stq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = GET_H_GR (FLD (f_dest));
SETMEMDI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10x8))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
}
return vpc;
@@ -5167,7 +5167,7 @@ SEM_FN_NAME (sh64_media,stw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
HI opval = ANDHI (GET_H_GR (FLD (f_dest)), 65535);
SETMEMHI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10x2))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -5196,7 +5196,7 @@ if (ANDQI (tmp_bytecount, 4)) {
SI opval = GET_H_GR (FLD (f_dest));
SETMEMSI (current_cpu, pc, ANDDI (tmp_addr, -4), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
} else {
if (GET_H_ENDIAN ()) {
@@ -5208,7 +5208,7 @@ if (ANDQI (tmp_bytecount, 1)) {
UQI opval = ANDQI (tmp_val, 255);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 8);
}
@@ -5219,7 +5219,7 @@ if (ANDQI (tmp_bytecount, 2)) {
HI opval = ANDHI (tmp_val, 65535);
SETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 16);
}
@@ -5234,7 +5234,7 @@ if (ANDQI (tmp_bytecount, 2)) {
HI opval = ANDHI (tmp_val, 65535);
SETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 16);
}
@@ -5245,7 +5245,7 @@ if (ANDQI (tmp_bytecount, 1)) {
UQI opval = ANDQI (tmp_val, 255);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 8);
}
@@ -5282,7 +5282,7 @@ if (ANDQI (tmp_bytecount, 8)) {
DI opval = GET_H_GR (FLD (f_dest));
SETMEMDI (current_cpu, pc, ANDDI (tmp_addr, -8), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
}
} else {
if (GET_H_ENDIAN ()) {
@@ -5294,7 +5294,7 @@ if (ANDQI (tmp_bytecount, 1)) {
UQI opval = ANDQI (tmp_val, 255);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 8);
}
@@ -5305,7 +5305,7 @@ if (ANDQI (tmp_bytecount, 2)) {
HI opval = ANDHI (tmp_val, 65535);
SETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 16);
}
@@ -5316,7 +5316,7 @@ if (ANDQI (tmp_bytecount, 4)) {
SI opval = ANDSI (tmp_val, 0xffffffff);
SETMEMSI (current_cpu, pc, ANDDI (tmp_addr, -8), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 32);
}
@@ -5331,7 +5331,7 @@ if (ANDQI (tmp_bytecount, 4)) {
SI opval = ANDSI (tmp_val, 0xffffffff);
SETMEMSI (current_cpu, pc, ANDDI (tmp_addr, -8), opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 32);
}
@@ -5342,7 +5342,7 @@ if (ANDQI (tmp_bytecount, 2)) {
HI opval = ANDHI (tmp_val, 65535);
SETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 16);
}
@@ -5353,7 +5353,7 @@ if (ANDQI (tmp_bytecount, 1)) {
UQI opval = ANDQI (tmp_val, 255);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 8);
}
@@ -5390,7 +5390,7 @@ if (ANDQI (tmp_bytecount, 4)) {
USI opval = GET_H_GR (FLD (f_dest));
SETMEMUSI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
} else {
if (GET_H_ENDIAN ()) {
@@ -5402,7 +5402,7 @@ if (ANDQI (tmp_bytecount, 2)) {
UHI opval = ANDHI (tmp_val, 65535);
SETMEMUHI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 1), -2), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 16);
}
@@ -5413,7 +5413,7 @@ if (ANDQI (tmp_bytecount, 1)) {
UQI opval = ANDQI (tmp_val, 255);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 8);
}
@@ -5428,7 +5428,7 @@ if (ANDQI (tmp_bytecount, 1)) {
UQI opval = ANDQI (tmp_val, 255);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 8);
}
@@ -5439,7 +5439,7 @@ if (ANDQI (tmp_bytecount, 2)) {
UHI opval = ANDHI (tmp_val, 65535);
SETMEMUHI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 1), -2), opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 16);
}
@@ -5476,7 +5476,7 @@ if (ANDQI (tmp_bytecount, 8)) {
UDI opval = GET_H_GR (FLD (f_dest));
SETMEMUDI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
}
} else {
if (GET_H_ENDIAN ()) {
@@ -5488,7 +5488,7 @@ if (ANDQI (tmp_bytecount, 4)) {
USI opval = ANDSI (tmp_val, 0xffffffff);
SETMEMUSI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 3), -4), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 32);
}
@@ -5499,7 +5499,7 @@ if (ANDQI (tmp_bytecount, 2)) {
UHI opval = ANDHI (tmp_val, 65535);
SETMEMUHI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 1), -2), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 16);
}
@@ -5510,7 +5510,7 @@ if (ANDQI (tmp_bytecount, 1)) {
UQI opval = ANDQI (tmp_val, 255);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 8);
}
@@ -5525,7 +5525,7 @@ if (ANDQI (tmp_bytecount, 1)) {
UQI opval = ANDQI (tmp_val, 255);
SETMEMUQI (current_cpu, pc, tmp_addr, opval);
written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 8);
}
@@ -5536,7 +5536,7 @@ if (ANDQI (tmp_bytecount, 2)) {
UHI opval = ANDHI (tmp_val, 65535);
SETMEMUHI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 1), -2), opval);
written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 16);
}
@@ -5547,7 +5547,7 @@ if (ANDQI (tmp_bytecount, 4)) {
USI opval = ANDSI (tmp_val, 0xffffffff);
SETMEMUSI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 3), -4), opval);
written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
tmp_val = SRLDI (tmp_val, 32);
}
@@ -5576,7 +5576,7 @@ SEM_FN_NAME (sh64_media,stxb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
UQI opval = SUBWORDDIQI (GET_H_GR (FLD (f_dest)), 7);
SETMEMUQI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -5597,7 +5597,7 @@ SEM_FN_NAME (sh64_media,stxl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
SI opval = SUBWORDDISI (GET_H_GR (FLD (f_dest)), 1);
SETMEMSI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -5618,7 +5618,7 @@ SEM_FN_NAME (sh64_media,stxq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = GET_H_GR (FLD (f_dest));
SETMEMDI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
}
return vpc;
@@ -5639,7 +5639,7 @@ SEM_FN_NAME (sh64_media,stxw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
HI opval = SUBWORDDIHI (GET_H_GR (FLD (f_dest)), 3);
SETMEMHI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
}
return vpc;
@@ -5660,7 +5660,7 @@ SEM_FN_NAME (sh64_media,sub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = SUBDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -5681,7 +5681,7 @@ SEM_FN_NAME (sh64_media,subl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = EXTSIDI (SUBSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), SUBWORDDISI (GET_H_GR (FLD (f_right)), 1)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -5707,12 +5707,12 @@ SEM_FN_NAME (sh64_media,swapq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = GET_H_GR (FLD (f_dest));
SETMEMDI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
}
{
DI opval = tmp_temp;
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
}
@@ -5785,7 +5785,7 @@ SEM_FN_NAME (sh64_media,xor) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = XORDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
@@ -5806,7 +5806,7 @@ SEM_FN_NAME (sh64_media,xori) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
{
DI opval = XORDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm6)));
SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
+ CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
}
return vpc;
diff --git a/sim/v850/ChangeLog b/sim/v850/ChangeLog
index f47e33f8b27..92f4dcdcbb4 100644
--- a/sim/v850/ChangeLog
+++ b/sim/v850/ChangeLog
@@ -1,3 +1,19 @@
+2015-06-23 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-12 Mike Frysinger <vapier@gentoo.org>
+
+ * configure: Regenerate.
+
+2015-06-11 Mike Frysinger <vapier@gentoo.org>
+
+ * interp.c (INLINE): Delete define.
+
2015-04-18 Mike Frysinger <vapier@gentoo.org>
* sim-main.h (SIM_CPU): Delete.
diff --git a/sim/v850/configure b/sim/v850/configure
index f631e0c54bb..46d9ffed8a8 100755
--- a/sim/v850/configure
+++ b/sim/v850/configure
@@ -1405,22 +1405,32 @@ Optional Features:
--disable-libtool-lock avoid locking (might break parallel builds)
--enable-maintainer-mode enable make rules and dependencies not useful
(and sometimes confusing) to the casual installer
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
+ --enable-sim-bswap Use Host specific BSWAP instruction
+ --enable-sim-cflags=opts
+ Extra CFLAGS for use in building simulator
+ --enable-sim-debug=opts Enable debugging flags (for developers of the sim
+ itself)
+ --enable-sim-stdio Specify whether to use stdio for console
+ input/output
+ --enable-sim-trace=opts Enable tracing of simulated programs
+ --enable-sim-profile=opts
+ Enable profiling flags
+ --enable-sim-endian=endian
+ Specify target byte endian orientation
+ --enable-sim-alignment=align
+ Specify strict, nonstrict or forced alignment of
+ memory accesses
+ --enable-sim-hostendian=end
+ Specify host byte endian orientation
--enable-werror treat compile warnings as errors
--enable-build-warnings enable build-time compiler warnings if gcc is used
--enable-sim-build-warnings
enable SIM specific build-time compiler warnings if
gcc is used
- --enable-sim-reserved-bits Specify whether to check reserved bits in instruction.
- --enable-sim-bitsize=N Specify target bitsize (32 or 64).
+ --enable-sim-reserved-bits
+ Specify whether to check reserved bits in
+ instruction
+ --enable-sim-bitsize=N Specify target bitsize (32 or 64)
Optional Packages:
--with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
@@ -2227,7 +2237,7 @@ ac_compiler_gnu=$ac_cv_c_compiler_gnu
# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
# It is intended to be invoked last.
#
-# The simulator's configure.in should look like:
+# The simulator's configure.ac should look like:
#
# dnl Process this file with autoconf to produce a configure script.
# AC_PREREQ(2.64)dnl
@@ -12306,7 +12316,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12309 "configure"
+#line 12319 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12412,7 +12422,7 @@ else
lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
lt_status=$lt_dlunknown
cat > conftest.$ac_ext <<_LT_EOF
-#line 12415 "configure"
+#line 12425 "configure"
#include "confdefs.h"
#if HAVE_DLFCN_H
@@ -12748,10 +12758,10 @@ fi
# Check whether --enable-sim-trace was given.
if test "${enable_sim_trace+set}" = set; then :
enableval=$enable_sim_trace; case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
+ yes) sim_trace="-DWITH_TRACE=-1";;
+ no) sim_trace="-DWITH_TRACE=0";;
[-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
+ sim_trace="-DWITH_TRACE='(${enableval})'";;
[[:lower:]]*)
sim_trace=""
for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
diff --git a/sim/v850/interp.c b/sim/v850/interp.c
index 36da1328223..5b46feb503e 100644
--- a/sim/v850/interp.c
+++ b/sim/v850/interp.c
@@ -18,14 +18,6 @@
#include "bfd.h"
-#ifndef INLINE
-#ifdef __GNUC__
-#define INLINE inline
-#else
-#define INLINE
-#endif
-#endif
-
static const char * get_insn_name (sim_cpu *, int);
/* For compatibility. */