sim: sh64: delete port
authorMike Frysinger <vapier@gentoo.org>
Sat, 9 Jan 2021 07:40:14 +0000 (02:40 -0500)
committerMike Frysinger <vapier@gentoo.org>
Sat, 9 Jan 2021 14:29:17 +0000 (09:29 -0500)
Support for sh64 was dropped from bfd et al in 2018.  Without
that, the sim port is useless.  So clean up this code too.

430 files changed:
sim/ChangeLog
sim/MAINTAINERS
sim/configure
sim/configure.tgt
sim/sh64/ChangeLog [deleted file]
sim/sh64/Makefile.in [deleted file]
sim/sh64/aclocal.m4 [deleted file]
sim/sh64/arch.c [deleted file]
sim/sh64/arch.h [deleted file]
sim/sh64/config.in [deleted file]
sim/sh64/configure [deleted file]
sim/sh64/configure.ac [deleted file]
sim/sh64/cpu.c [deleted file]
sim/sh64/cpu.h [deleted file]
sim/sh64/cpuall.h [deleted file]
sim/sh64/decode-compact.c [deleted file]
sim/sh64/decode-compact.h [deleted file]
sim/sh64/decode-media.c [deleted file]
sim/sh64/decode-media.h [deleted file]
sim/sh64/decode.h [deleted file]
sim/sh64/defs-compact.h [deleted file]
sim/sh64/defs-media.h [deleted file]
sim/sh64/eng-compact.h [deleted file]
sim/sh64/eng-media.h [deleted file]
sim/sh64/eng.h [deleted file]
sim/sh64/mloop-compact.c [deleted file]
sim/sh64/mloop-media.c [deleted file]
sim/sh64/sem-compact-switch.c [deleted file]
sim/sh64/sem-compact.c [deleted file]
sim/sh64/sem-media-switch.c [deleted file]
sim/sh64/sem-media.c [deleted file]
sim/sh64/sh-desc.c [deleted file]
sim/sh64/sh-desc.h [deleted file]
sim/sh64/sh-opc.h [deleted file]
sim/sh64/sh64-sim.h [deleted file]
sim/sh64/sh64.c [deleted file]
sim/sh64/sim-if.c [deleted file]
sim/sh64/sim-main.h [deleted file]
sim/testsuite/ChangeLog
sim/testsuite/configure
sim/testsuite/sim/sh64/ChangeLog [deleted file]
sim/testsuite/sim/sh64/compact.exp [deleted file]
sim/testsuite/sim/sh64/compact/ChangeLog [deleted file]
sim/testsuite/sim/sh64/compact/add.cgs [deleted file]
sim/testsuite/sim/sh64/compact/addc.cgs [deleted file]
sim/testsuite/sim/sh64/compact/addi.cgs [deleted file]
sim/testsuite/sim/sh64/compact/addv.cgs [deleted file]
sim/testsuite/sim/sh64/compact/and.cgs [deleted file]
sim/testsuite/sim/sh64/compact/andb.cgs [deleted file]
sim/testsuite/sim/sh64/compact/andi.cgs [deleted file]
sim/testsuite/sim/sh64/compact/bf.cgs [deleted file]
sim/testsuite/sim/sh64/compact/bfs.cgs [deleted file]
sim/testsuite/sim/sh64/compact/bra.cgs [deleted file]
sim/testsuite/sim/sh64/compact/braf.cgs [deleted file]
sim/testsuite/sim/sh64/compact/brk.cgs [deleted file]
sim/testsuite/sim/sh64/compact/bsr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/bsrf.cgs [deleted file]
sim/testsuite/sim/sh64/compact/bt.cgs [deleted file]
sim/testsuite/sim/sh64/compact/bts.cgs [deleted file]
sim/testsuite/sim/sh64/compact/clrmac.cgs [deleted file]
sim/testsuite/sim/sh64/compact/clrs.cgs [deleted file]
sim/testsuite/sim/sh64/compact/clrt.cgs [deleted file]
sim/testsuite/sim/sh64/compact/cmpeq.cgs [deleted file]
sim/testsuite/sim/sh64/compact/cmpeqi.cgs [deleted file]
sim/testsuite/sim/sh64/compact/cmpge.cgs [deleted file]
sim/testsuite/sim/sh64/compact/cmpgt.cgs [deleted file]
sim/testsuite/sim/sh64/compact/cmphi.cgs [deleted file]
sim/testsuite/sim/sh64/compact/cmphs.cgs [deleted file]
sim/testsuite/sim/sh64/compact/cmppl.cgs [deleted file]
sim/testsuite/sim/sh64/compact/cmppz.cgs [deleted file]
sim/testsuite/sim/sh64/compact/cmpstr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/div0s.cgs [deleted file]
sim/testsuite/sim/sh64/compact/div0u.cgs [deleted file]
sim/testsuite/sim/sh64/compact/div1.cgs [deleted file]
sim/testsuite/sim/sh64/compact/dmulsl.cgs [deleted file]
sim/testsuite/sim/sh64/compact/dmulul.cgs [deleted file]
sim/testsuite/sim/sh64/compact/dt.cgs [deleted file]
sim/testsuite/sim/sh64/compact/extsb.cgs [deleted file]
sim/testsuite/sim/sh64/compact/extsw.cgs [deleted file]
sim/testsuite/sim/sh64/compact/extub.cgs [deleted file]
sim/testsuite/sim/sh64/compact/extuw.cgs [deleted file]
sim/testsuite/sim/sh64/compact/fabs.cgs [deleted file]
sim/testsuite/sim/sh64/compact/fadd.cgs [deleted file]
sim/testsuite/sim/sh64/compact/fcmpeq.cgs [deleted file]
sim/testsuite/sim/sh64/compact/fcmpgt.cgs [deleted file]
sim/testsuite/sim/sh64/compact/fcnvds.cgs [deleted file]
sim/testsuite/sim/sh64/compact/fcnvsd.cgs [deleted file]
sim/testsuite/sim/sh64/compact/fdiv.cgs [deleted file]
sim/testsuite/sim/sh64/compact/fipr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/fldi0.cgs [deleted file]
sim/testsuite/sim/sh64/compact/fldi1.cgs [deleted file]
sim/testsuite/sim/sh64/compact/flds.cgs [deleted file]
sim/testsuite/sim/sh64/compact/float.cgs [deleted file]
sim/testsuite/sim/sh64/compact/fmac.cgs [deleted file]
sim/testsuite/sim/sh64/compact/fmov.cgs [deleted file]
sim/testsuite/sim/sh64/compact/fmul.cgs [deleted file]
sim/testsuite/sim/sh64/compact/fneg.cgs [deleted file]
sim/testsuite/sim/sh64/compact/frchg.cgs [deleted file]
sim/testsuite/sim/sh64/compact/fschg.cgs [deleted file]
sim/testsuite/sim/sh64/compact/fsqrt.cgs [deleted file]
sim/testsuite/sim/sh64/compact/fsts.cgs [deleted file]
sim/testsuite/sim/sh64/compact/fsub.cgs [deleted file]
sim/testsuite/sim/sh64/compact/ftrc.cgs [deleted file]
sim/testsuite/sim/sh64/compact/ftrv.cgs [deleted file]
sim/testsuite/sim/sh64/compact/jmp.cgs [deleted file]
sim/testsuite/sim/sh64/compact/jsr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/ldc-gbr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/ldcl-gbr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/lds-fpscr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/lds-fpul.cgs [deleted file]
sim/testsuite/sim/sh64/compact/lds-mach.cgs [deleted file]
sim/testsuite/sim/sh64/compact/lds-macl.cgs [deleted file]
sim/testsuite/sim/sh64/compact/lds-pr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/ldsl-fpscr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/ldsl-fpul.cgs [deleted file]
sim/testsuite/sim/sh64/compact/ldsl-mach.cgs [deleted file]
sim/testsuite/sim/sh64/compact/ldsl-macl.cgs [deleted file]
sim/testsuite/sim/sh64/compact/ldsl-pr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/macl.cgs [deleted file]
sim/testsuite/sim/sh64/compact/macw.cgs [deleted file]
sim/testsuite/sim/sh64/compact/mov.cgs [deleted file]
sim/testsuite/sim/sh64/compact/mova.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movb1.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movb10.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movb2.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movb3.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movb4.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movb5.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movb6.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movb7.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movb8.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movb9.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movcal.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movi.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movl1.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movl10.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movl11.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movl2.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movl3.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movl4.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movl5.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movl6.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movl7.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movl8.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movl9.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movt.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movw1.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movw10.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movw11.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movw2.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movw3.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movw4.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movw5.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movw6.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movw7.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movw8.cgs [deleted file]
sim/testsuite/sim/sh64/compact/movw9.cgs [deleted file]
sim/testsuite/sim/sh64/compact/mull.cgs [deleted file]
sim/testsuite/sim/sh64/compact/mulsw.cgs [deleted file]
sim/testsuite/sim/sh64/compact/muluw.cgs [deleted file]
sim/testsuite/sim/sh64/compact/neg.cgs [deleted file]
sim/testsuite/sim/sh64/compact/negc.cgs [deleted file]
sim/testsuite/sim/sh64/compact/nop.cgs [deleted file]
sim/testsuite/sim/sh64/compact/not.cgs [deleted file]
sim/testsuite/sim/sh64/compact/ocbi.cgs [deleted file]
sim/testsuite/sim/sh64/compact/ocbp.cgs [deleted file]
sim/testsuite/sim/sh64/compact/ocbwb.cgs [deleted file]
sim/testsuite/sim/sh64/compact/or.cgs [deleted file]
sim/testsuite/sim/sh64/compact/orb.cgs [deleted file]
sim/testsuite/sim/sh64/compact/ori.cgs [deleted file]
sim/testsuite/sim/sh64/compact/pref.cgs [deleted file]
sim/testsuite/sim/sh64/compact/rotcl.cgs [deleted file]
sim/testsuite/sim/sh64/compact/rotcr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/rotl.cgs [deleted file]
sim/testsuite/sim/sh64/compact/rotr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/rts.cgs [deleted file]
sim/testsuite/sim/sh64/compact/sets.cgs [deleted file]
sim/testsuite/sim/sh64/compact/sett.cgs [deleted file]
sim/testsuite/sim/sh64/compact/shad.cgs [deleted file]
sim/testsuite/sim/sh64/compact/shal.cgs [deleted file]
sim/testsuite/sim/sh64/compact/shar.cgs [deleted file]
sim/testsuite/sim/sh64/compact/shld.cgs [deleted file]
sim/testsuite/sim/sh64/compact/shll.cgs [deleted file]
sim/testsuite/sim/sh64/compact/shll16.cgs [deleted file]
sim/testsuite/sim/sh64/compact/shll2.cgs [deleted file]
sim/testsuite/sim/sh64/compact/shll8.cgs [deleted file]
sim/testsuite/sim/sh64/compact/shlr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/shlr16.cgs [deleted file]
sim/testsuite/sim/sh64/compact/shlr2.cgs [deleted file]
sim/testsuite/sim/sh64/compact/shlr8.cgs [deleted file]
sim/testsuite/sim/sh64/compact/stc-gbr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/stcl-gbr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/sts-fpscr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/sts-fpul.cgs [deleted file]
sim/testsuite/sim/sh64/compact/sts-mach.cgs [deleted file]
sim/testsuite/sim/sh64/compact/sts-macl.cgs [deleted file]
sim/testsuite/sim/sh64/compact/sts-pr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/stsl-fpscr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/stsl-fpul.cgs [deleted file]
sim/testsuite/sim/sh64/compact/stsl-mach.cgs [deleted file]
sim/testsuite/sim/sh64/compact/stsl-macl.cgs [deleted file]
sim/testsuite/sim/sh64/compact/stsl-pr.cgs [deleted file]
sim/testsuite/sim/sh64/compact/sub.cgs [deleted file]
sim/testsuite/sim/sh64/compact/subc.cgs [deleted file]
sim/testsuite/sim/sh64/compact/subv.cgs [deleted file]
sim/testsuite/sim/sh64/compact/swapb.cgs [deleted file]
sim/testsuite/sim/sh64/compact/swapw.cgs [deleted file]
sim/testsuite/sim/sh64/compact/tasb.cgs [deleted file]
sim/testsuite/sim/sh64/compact/testutils.inc [deleted file]
sim/testsuite/sim/sh64/compact/trapa.cgs [deleted file]
sim/testsuite/sim/sh64/compact/tst.cgs [deleted file]
sim/testsuite/sim/sh64/compact/tstb.cgs [deleted file]
sim/testsuite/sim/sh64/compact/tsti.cgs [deleted file]
sim/testsuite/sim/sh64/compact/xor.cgs [deleted file]
sim/testsuite/sim/sh64/compact/xorb.cgs [deleted file]
sim/testsuite/sim/sh64/compact/xori.cgs [deleted file]
sim/testsuite/sim/sh64/compact/xtrct.cgs [deleted file]
sim/testsuite/sim/sh64/interwork.exp [deleted file]
sim/testsuite/sim/sh64/media.exp [deleted file]
sim/testsuite/sim/sh64/media/ChangeLog [deleted file]
sim/testsuite/sim/sh64/media/add.cgs [deleted file]
sim/testsuite/sim/sh64/media/addi.cgs [deleted file]
sim/testsuite/sim/sh64/media/addil.cgs [deleted file]
sim/testsuite/sim/sh64/media/addl.cgs [deleted file]
sim/testsuite/sim/sh64/media/addzl.cgs [deleted file]
sim/testsuite/sim/sh64/media/alloco.cgs [deleted file]
sim/testsuite/sim/sh64/media/and.cgs [deleted file]
sim/testsuite/sim/sh64/media/andc.cgs [deleted file]
sim/testsuite/sim/sh64/media/andi.cgs [deleted file]
sim/testsuite/sim/sh64/media/beq.cgs [deleted file]
sim/testsuite/sim/sh64/media/beqi.cgs [deleted file]
sim/testsuite/sim/sh64/media/bge.cgs [deleted file]
sim/testsuite/sim/sh64/media/bgeu.cgs [deleted file]
sim/testsuite/sim/sh64/media/bgt.cgs [deleted file]
sim/testsuite/sim/sh64/media/bgtu.cgs [deleted file]
sim/testsuite/sim/sh64/media/blink.cgs [deleted file]
sim/testsuite/sim/sh64/media/bne.cgs [deleted file]
sim/testsuite/sim/sh64/media/bnei.cgs [deleted file]
sim/testsuite/sim/sh64/media/brk.cgs [deleted file]
sim/testsuite/sim/sh64/media/byterev.cgs [deleted file]
sim/testsuite/sim/sh64/media/cmpeq.cgs [deleted file]
sim/testsuite/sim/sh64/media/cmpgt.cgs [deleted file]
sim/testsuite/sim/sh64/media/cmpgtu.cgs [deleted file]
sim/testsuite/sim/sh64/media/cmveq.cgs [deleted file]
sim/testsuite/sim/sh64/media/cmvne.cgs [deleted file]
sim/testsuite/sim/sh64/media/fabsd.cgs [deleted file]
sim/testsuite/sim/sh64/media/fabss.cgs [deleted file]
sim/testsuite/sim/sh64/media/faddd.cgs [deleted file]
sim/testsuite/sim/sh64/media/fadds.cgs [deleted file]
sim/testsuite/sim/sh64/media/fcmpeqd.cgs [deleted file]
sim/testsuite/sim/sh64/media/fcmpeqs.cgs [deleted file]
sim/testsuite/sim/sh64/media/fcmpged.cgs [deleted file]
sim/testsuite/sim/sh64/media/fcmpges.cgs [deleted file]
sim/testsuite/sim/sh64/media/fcmpgtd.cgs [deleted file]
sim/testsuite/sim/sh64/media/fcmpgts.cgs [deleted file]
sim/testsuite/sim/sh64/media/fcmpund.cgs [deleted file]
sim/testsuite/sim/sh64/media/fcmpuns.cgs [deleted file]
sim/testsuite/sim/sh64/media/fcnvds.cgs [deleted file]
sim/testsuite/sim/sh64/media/fcnvsd.cgs [deleted file]
sim/testsuite/sim/sh64/media/fdivd.cgs [deleted file]
sim/testsuite/sim/sh64/media/fdivs.cgs [deleted file]
sim/testsuite/sim/sh64/media/fgetscr.cgs [deleted file]
sim/testsuite/sim/sh64/media/fiprs.cgs [deleted file]
sim/testsuite/sim/sh64/media/fldd.cgs [deleted file]
sim/testsuite/sim/sh64/media/fldp.cgs [deleted file]
sim/testsuite/sim/sh64/media/flds.cgs [deleted file]
sim/testsuite/sim/sh64/media/fldxd.cgs [deleted file]
sim/testsuite/sim/sh64/media/fldxp.cgs [deleted file]
sim/testsuite/sim/sh64/media/fldxs.cgs [deleted file]
sim/testsuite/sim/sh64/media/floatld.cgs [deleted file]
sim/testsuite/sim/sh64/media/floatls.cgs [deleted file]
sim/testsuite/sim/sh64/media/floatqd.cgs [deleted file]
sim/testsuite/sim/sh64/media/floatqs.cgs [deleted file]
sim/testsuite/sim/sh64/media/fmacs.cgs [deleted file]
sim/testsuite/sim/sh64/media/fmovd.cgs [deleted file]
sim/testsuite/sim/sh64/media/fmovdq.cgs [deleted file]
sim/testsuite/sim/sh64/media/fmovls.cgs [deleted file]
sim/testsuite/sim/sh64/media/fmovqd.cgs [deleted file]
sim/testsuite/sim/sh64/media/fmovs.cgs [deleted file]
sim/testsuite/sim/sh64/media/fmovsl.cgs [deleted file]
sim/testsuite/sim/sh64/media/fmuld.cgs [deleted file]
sim/testsuite/sim/sh64/media/fmuls.cgs [deleted file]
sim/testsuite/sim/sh64/media/fnegd.cgs [deleted file]
sim/testsuite/sim/sh64/media/fnegs.cgs [deleted file]
sim/testsuite/sim/sh64/media/fputscr.cgs [deleted file]
sim/testsuite/sim/sh64/media/fsqrtd.cgs [deleted file]
sim/testsuite/sim/sh64/media/fsqrts.cgs [deleted file]
sim/testsuite/sim/sh64/media/fstd.cgs [deleted file]
sim/testsuite/sim/sh64/media/fstp.cgs [deleted file]
sim/testsuite/sim/sh64/media/fsts.cgs [deleted file]
sim/testsuite/sim/sh64/media/fstxd.cgs [deleted file]
sim/testsuite/sim/sh64/media/fstxp.cgs [deleted file]
sim/testsuite/sim/sh64/media/fstxs.cgs [deleted file]
sim/testsuite/sim/sh64/media/fsubd.cgs [deleted file]
sim/testsuite/sim/sh64/media/fsubs.cgs [deleted file]
sim/testsuite/sim/sh64/media/ftrcdl.cgs [deleted file]
sim/testsuite/sim/sh64/media/ftrcdq.cgs [deleted file]
sim/testsuite/sim/sh64/media/ftrcsl.cgs [deleted file]
sim/testsuite/sim/sh64/media/ftrcsq.cgs [deleted file]
sim/testsuite/sim/sh64/media/ftrvs.cgs [deleted file]
sim/testsuite/sim/sh64/media/getcfg.cgs [deleted file]
sim/testsuite/sim/sh64/media/getcon.cgs [deleted file]
sim/testsuite/sim/sh64/media/gettr.cgs [deleted file]
sim/testsuite/sim/sh64/media/icbi.cgs [deleted file]
sim/testsuite/sim/sh64/media/ldb.cgs [deleted file]
sim/testsuite/sim/sh64/media/ldhil.cgs [deleted file]
sim/testsuite/sim/sh64/media/ldhiq.cgs [deleted file]
sim/testsuite/sim/sh64/media/ldl.cgs [deleted file]
sim/testsuite/sim/sh64/media/ldlol.cgs [deleted file]
sim/testsuite/sim/sh64/media/ldloq.cgs [deleted file]
sim/testsuite/sim/sh64/media/ldq.cgs [deleted file]
sim/testsuite/sim/sh64/media/ldub.cgs [deleted file]
sim/testsuite/sim/sh64/media/lduw.cgs [deleted file]
sim/testsuite/sim/sh64/media/ldw.cgs [deleted file]
sim/testsuite/sim/sh64/media/ldxb.cgs [deleted file]
sim/testsuite/sim/sh64/media/ldxl.cgs [deleted file]
sim/testsuite/sim/sh64/media/ldxq.cgs [deleted file]
sim/testsuite/sim/sh64/media/ldxub.cgs [deleted file]
sim/testsuite/sim/sh64/media/ldxuw.cgs [deleted file]
sim/testsuite/sim/sh64/media/ldxw.cgs [deleted file]
sim/testsuite/sim/sh64/media/mabsl.cgs [deleted file]
sim/testsuite/sim/sh64/media/mabsw.cgs [deleted file]
sim/testsuite/sim/sh64/media/maddl.cgs [deleted file]
sim/testsuite/sim/sh64/media/maddsl.cgs [deleted file]
sim/testsuite/sim/sh64/media/maddsub.cgs [deleted file]
sim/testsuite/sim/sh64/media/maddsw.cgs [deleted file]
sim/testsuite/sim/sh64/media/maddw.cgs [deleted file]
sim/testsuite/sim/sh64/media/mcmpeqb.cgs [deleted file]
sim/testsuite/sim/sh64/media/mcmpeql.cgs [deleted file]
sim/testsuite/sim/sh64/media/mcmpeqw.cgs [deleted file]
sim/testsuite/sim/sh64/media/mcmpgtl.cgs [deleted file]
sim/testsuite/sim/sh64/media/mcmpgtub.cgs [deleted file]
sim/testsuite/sim/sh64/media/mcmpgtw.cgs [deleted file]
sim/testsuite/sim/sh64/media/mcmv.cgs [deleted file]
sim/testsuite/sim/sh64/media/mcnvslw.cgs [deleted file]
sim/testsuite/sim/sh64/media/mcnvswb.cgs [deleted file]
sim/testsuite/sim/sh64/media/mcnvswub.cgs [deleted file]
sim/testsuite/sim/sh64/media/mextr1.cgs [deleted file]
sim/testsuite/sim/sh64/media/mextr2.cgs [deleted file]
sim/testsuite/sim/sh64/media/mextr3.cgs [deleted file]
sim/testsuite/sim/sh64/media/mextr4.cgs [deleted file]
sim/testsuite/sim/sh64/media/mextr5.cgs [deleted file]
sim/testsuite/sim/sh64/media/mextr6.cgs [deleted file]
sim/testsuite/sim/sh64/media/mextr7.cgs [deleted file]
sim/testsuite/sim/sh64/media/mmacfxwl.cgs [deleted file]
sim/testsuite/sim/sh64/media/mmacnfx-wl.cgs [deleted file]
sim/testsuite/sim/sh64/media/mmulfxl.cgs [deleted file]
sim/testsuite/sim/sh64/media/mmulfxrpw.cgs [deleted file]
sim/testsuite/sim/sh64/media/mmulfxw.cgs [deleted file]
sim/testsuite/sim/sh64/media/mmulhiwl.cgs [deleted file]
sim/testsuite/sim/sh64/media/mmull.cgs [deleted file]
sim/testsuite/sim/sh64/media/mmullowl.cgs [deleted file]
sim/testsuite/sim/sh64/media/mmulsumwq.cgs [deleted file]
sim/testsuite/sim/sh64/media/mmulw.cgs [deleted file]
sim/testsuite/sim/sh64/media/movi.cgs [deleted file]
sim/testsuite/sim/sh64/media/mpermw.cgs [deleted file]
sim/testsuite/sim/sh64/media/msadubq.cgs [deleted file]
sim/testsuite/sim/sh64/media/mshaldsl.cgs [deleted file]
sim/testsuite/sim/sh64/media/mshaldsw.cgs [deleted file]
sim/testsuite/sim/sh64/media/mshardl.cgs [deleted file]
sim/testsuite/sim/sh64/media/mshardsq.cgs [deleted file]
sim/testsuite/sim/sh64/media/mshardw.cgs [deleted file]
sim/testsuite/sim/sh64/media/mshfhib.cgs [deleted file]
sim/testsuite/sim/sh64/media/mshfhil.cgs [deleted file]
sim/testsuite/sim/sh64/media/mshfhiw.cgs [deleted file]
sim/testsuite/sim/sh64/media/mshflob.cgs [deleted file]
sim/testsuite/sim/sh64/media/mshflol.cgs [deleted file]
sim/testsuite/sim/sh64/media/mshflow.cgs [deleted file]
sim/testsuite/sim/sh64/media/mshlldl.cgs [deleted file]
sim/testsuite/sim/sh64/media/mshlldw.cgs [deleted file]
sim/testsuite/sim/sh64/media/mshlrdl.cgs [deleted file]
sim/testsuite/sim/sh64/media/mshlrdw.cgs [deleted file]
sim/testsuite/sim/sh64/media/msubl.cgs [deleted file]
sim/testsuite/sim/sh64/media/msubsl.cgs [deleted file]
sim/testsuite/sim/sh64/media/msubsub.cgs [deleted file]
sim/testsuite/sim/sh64/media/msubsw.cgs [deleted file]
sim/testsuite/sim/sh64/media/msubw.cgs [deleted file]
sim/testsuite/sim/sh64/media/mulsl.cgs [deleted file]
sim/testsuite/sim/sh64/media/mulul.cgs [deleted file]
sim/testsuite/sim/sh64/media/nop.cgs [deleted file]
sim/testsuite/sim/sh64/media/nsb.cgs [deleted file]
sim/testsuite/sim/sh64/media/ocbi.cgs [deleted file]
sim/testsuite/sim/sh64/media/ocbp.cgs [deleted file]
sim/testsuite/sim/sh64/media/ocbwb.cgs [deleted file]
sim/testsuite/sim/sh64/media/or.cgs [deleted file]
sim/testsuite/sim/sh64/media/ori.cgs [deleted file]
sim/testsuite/sim/sh64/media/prefi.cgs [deleted file]
sim/testsuite/sim/sh64/media/pta.cgs [deleted file]
sim/testsuite/sim/sh64/media/ptabs.cgs [deleted file]
sim/testsuite/sim/sh64/media/ptb.cgs [deleted file]
sim/testsuite/sim/sh64/media/ptrel.cgs [deleted file]
sim/testsuite/sim/sh64/media/putcfg.cgs [deleted file]
sim/testsuite/sim/sh64/media/putcon.cgs [deleted file]
sim/testsuite/sim/sh64/media/rte.cgs [deleted file]
sim/testsuite/sim/sh64/media/shard.cgs [deleted file]
sim/testsuite/sim/sh64/media/shardl.cgs [deleted file]
sim/testsuite/sim/sh64/media/shari.cgs [deleted file]
sim/testsuite/sim/sh64/media/sharil.cgs [deleted file]
sim/testsuite/sim/sh64/media/shlld.cgs [deleted file]
sim/testsuite/sim/sh64/media/shlldl.cgs [deleted file]
sim/testsuite/sim/sh64/media/shlli.cgs [deleted file]
sim/testsuite/sim/sh64/media/shllil.cgs [deleted file]
sim/testsuite/sim/sh64/media/shlrd.cgs [deleted file]
sim/testsuite/sim/sh64/media/shlrdl.cgs [deleted file]
sim/testsuite/sim/sh64/media/shlri.cgs [deleted file]
sim/testsuite/sim/sh64/media/shlril.cgs [deleted file]
sim/testsuite/sim/sh64/media/shori.cgs [deleted file]
sim/testsuite/sim/sh64/media/sleep.cgs [deleted file]
sim/testsuite/sim/sh64/media/stb.cgs [deleted file]
sim/testsuite/sim/sh64/media/sthil.cgs [deleted file]
sim/testsuite/sim/sh64/media/sthiq.cgs [deleted file]
sim/testsuite/sim/sh64/media/stl.cgs [deleted file]
sim/testsuite/sim/sh64/media/stlol.cgs [deleted file]
sim/testsuite/sim/sh64/media/stloq.cgs [deleted file]
sim/testsuite/sim/sh64/media/stq.cgs [deleted file]
sim/testsuite/sim/sh64/media/stw.cgs [deleted file]
sim/testsuite/sim/sh64/media/stxb.cgs [deleted file]
sim/testsuite/sim/sh64/media/stxl.cgs [deleted file]
sim/testsuite/sim/sh64/media/stxq.cgs [deleted file]
sim/testsuite/sim/sh64/media/stxw.cgs [deleted file]
sim/testsuite/sim/sh64/media/sub.cgs [deleted file]
sim/testsuite/sim/sh64/media/subl.cgs [deleted file]
sim/testsuite/sim/sh64/media/swapq.cgs [deleted file]
sim/testsuite/sim/sh64/media/synci.cgs [deleted file]
sim/testsuite/sim/sh64/media/synco.cgs [deleted file]
sim/testsuite/sim/sh64/media/testutils.inc [deleted file]
sim/testsuite/sim/sh64/media/trapa.cgs [deleted file]
sim/testsuite/sim/sh64/media/xor.cgs [deleted file]
sim/testsuite/sim/sh64/media/xori.cgs [deleted file]
sim/testsuite/sim/sh64/misc/fr-dr.s [deleted file]

index 34e14080d698a944dbc8ac743577ba3592b06f24..d01c5fd3c423d9bd22db9bb8040dfd99ab4455cb 100644 (file)
@@ -1,3 +1,10 @@
+2021-01-09  Mike Frysinger  <vapier@gentoo.org>
+
+       * MAINTAINERS (sh64): Move to past maintainers.
+       * configure: Regenerate.
+       * configure.tgt (sh64*-*-*): Delete.
+       * sh64/: Delete.
+
 2021-01-09  Mike Frysinger  <vapier@gentoo.org>
 
        * README-HACKING (AC_PREREQ): Delete.
index 7dcd88422c5689e27e13435b4c5f8ca49a774764..5f4cc4c85e2ef109cfa7ddf4341c938d745bef3a 100644 (file)
@@ -32,7 +32,6 @@ msp430                Nick Clifton <nickc@redhat.com>
 or1k           Stafford Horne <shorne@gmail.com>
 pru            Dimitar Dimitrov <dimitar@dinux.eu>
 sh             (global maintainers)
-sh64           Dave Brolley <brolley@redhat.com>
 common         Frank Ch. Eigler <fche@redhat.com>
 *              (target, then global maintainers)
 
@@ -50,5 +49,6 @@ ppc           Geoff Keating <geoffk@geoffk.org>
 ppc            Andrew Cagney <cagney@gnu.org>
 rl78           DJ Delorie <dj@redhat.com>
 rx             DJ Delorie <dj@redhat.com>
+sh64           Dave Brolley <brolley@redhat.com>
 v850           DJ Delorie <dj@redhat.com>
 *              Mike Frysinger <vapier@gentoo.org>
index 34f1a15a4c63ea58678a4e90c053d0f23cffcb0c..3135b67b1464a13d31991d868a4b293c1cc10cf5 100755 (executable)
@@ -690,7 +690,6 @@ or1k
 pru
 rl78
 rx
-sh64
 sh
 erc32
 ppc
@@ -3867,13 +3866,6 @@ subdirs="$subdirs aarch64"
   subdirs="$subdirs rx"
 
 
-       ;;
-   sh64*-*-*)
-
-  sim_arch=sh64
-  subdirs="$subdirs sh64"
-
-
        ;;
    sh*-*-*)
 
index c115c3c8ddc7d2ea14204b4a89d230ea013f12f1..a48c6966e8ae72e44a9a03441c989cc828624e96 100644 (file)
@@ -91,9 +91,6 @@ case "${target}" in
    rx-*-*)
        SIM_ARCH(rx)
        ;;
-   sh64*-*-*)
-       SIM_ARCH(sh64)
-       ;;
    sh*-*-*)
        SIM_ARCH(sh)
        ;;
diff --git a/sim/sh64/ChangeLog b/sim/sh64/ChangeLog
deleted file mode 100644 (file)
index cb5904d..0000000
+++ /dev/null
@@ -1,864 +0,0 @@
-2021-01-09  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure: Regenerate.
-
-2021-01-08  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure: Regenerate.
-
-2021-01-04  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure: Regenerate.
-
-2017-09-06  John Baldwin  <jhb@FreeBSD.org>
-
-       * configure: Regenerate.
-
-2017-02-13  Mike Frysinger  <vapier@gentoo.org>
-
-       * decode-compact.c (sh64_compact_init_idesc_table): Use ARRAY_SIZE.
-       * decode-media.c (sh64_media_init_idesc_table): Likewise.
-
-2016-01-10  Mike Frysinger  <vapier@gentoo.org>
-
-       * config.in, configure: Regenerate.
-
-2016-01-10  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure: Regenerate.
-
-2016-01-10  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure.ac (SIM_AC_OPTION_ENVIRONMENT): Delete call.
-       * configure: Regenerate.
-
-2016-01-10  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure: Regenerate.
-
-2016-01-10  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure: Regenerate.
-
-2016-01-10  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure.ac (SIM_AC_OPTION_INLINE): Delete call.
-       * configure: Regenerate.
-
-2016-01-10  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure: Regenerate.
-
-2016-01-10  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure: Regenerate.
-
-2016-01-09  Mike Frysinger  <vapier@gentoo.org>
-
-       * config.in, configure: Regenerate.
-
-2016-01-06  Mike Frysinger  <vapier@gentoo.org>
-
-       * sim-if.c (sim_open): Mark argv const.
-       (sim_create_inferior): Mark argv and env const.
-
-2016-01-04  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure: Regenerate.
-
-2016-01-03  Mike Frysinger  <vapier@gentoo.org>
-
-       * sim-if.c (sim_open): Update sim_parse_args comment.
-
-2016-01-03  Mike Frysinger  <vapier@gentoo.org>
-
-       * sh64-sim.h (GETTWI, SETTWI): Delete unused defines.
-       (sh5_devices): Delete.
-       (struct _device): Delete.
-
-2016-01-03  Mike Frysinger  <vapier@gentoo.org>
-
-       * sh64.c (count_argc): Delete.
-       (trap_handler): Change count_argc to countargv.
-
-2016-01-03  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure.ac (SIM_AC_OPTION_HOSTENDIAN): Delete.
-       * configure: Regenerate.
-
-2016-01-02  Mike Frysinger  <vapier@gentoo.org>
-
-       * arch.h (TARGET_BIG_ENDIAN): Delete.
-       * configure.ac (SIM_AC_OPTION_ENDIAN): Change BIG_ENDIAN to BIG.
-       * configure: Regenerate.
-
-2016-01-02  Mike Frysinger  <vapier@gentoo.org>
-
-       * sim-if.c (sim_open): Delete #if 0 sim_add_option_table call.
-
-2016-01-02  Mike Frysinger  <vapier@gentoo.org>
-
-       * sim-if.c (current_state): Delete.
-       (sim_open): Delete current_state assignment.
-
-2015-12-27  Mike Frysinger  <vapier@gentoo.org>
-
-       * Makefile.in (SIM_OBJS): Delete sim-hload.o.
-
-2015-12-26  Mike Frysinger  <vapier@gentoo.org>
-
-       * config.in, configure: Regenerate.
-
-2015-12-26  Mike Frysinger  <vapier@gentoo.org>
-
-       * sim-if.c (sim_create_inferior): Replace old #if 0 code with dupargv.
-
-2015-12-25  Mike Frysinger  <vapier@gentoo.org>
-
-       * Makefile.in (SIM_OBJS): Delete sim-model.o.
-       * tconfig.h: Delete file.
-
-2015-12-25  Mike Frysinger  <vapier@gentoo.org>
-
-       * arch.c: Rename MACH to SIM_MACH.
-       * cpuall.h: Likewise.
-       * sh64.c: Rename MACH to SIM_MACH, MACH_IMP_PROPERTIES to
-       SIM_MACH_IMP_PROPERTIES, and MODEL to SIM_MODEL.
-
-2015-12-25  Mike Frysinger  <vapier@gentoo.org>
-
-       * sim-main.h (WITH_SCACHE_PBB): Move from ...
-       * tconfig.h (WITH_SCACHE_PBB): ... here.
-
-2015-12-24  Mike Frysinger  <vapier@gentoo.org>
-
-       * tconfig.h (SIM_HANDLES_LMA): Delete.
-
-2015-12-24  Mike Frysinger  <vapier@gentoo.org>
-
-       * tconfig.h (SIM_HAVE_BREAKPOINTS, SIM_BREAKPOINT,
-       SIM_BREAKPOINT_SIZE): Delete.
-
-2015-12-24  Mike Frysinger  <vapier@gentoo.org>
-
-       * tconfig.h (WITH_WATCHPOINTS): Delete.
-
-2015-12-24  Mike Frysinger  <vapier@gentoo.org>
-
-       * tconfig.h (SIM_HAVE_MEM_SIZE): Delete.
-
-2015-11-15  Mike Frysinger  <vapier@gentoo.org>
-
-       * Makefile.in (SIM_OBJS): Delete sim-reason.o, sim-reg.o, and
-       sim-stop.o.
-
-2015-11-14  Mike Frysinger  <vapier@gentoo.org>
-
-       * sim-if.c (sim_close): Delete.
-
-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.
-
-2015-04-18  Mike Frysinger  <vapier@gentoo.org>
-
-       * sim-main.h (_sim_cpu, SIM_CPU): Delete.
-
-2015-04-18  Mike Frysinger  <vapier@gentoo.org>
-
-       * sim-main.h (CIA_ADDR): Define.
-
-2015-04-17  Mike Frysinger  <vapier@gentoo.org>
-
-       * sim-main.h (CIA_GET, CIA_SET): Delete.
-
-2015-04-15  Mike Frysinger  <vapier@gentoo.org>
-
-       * Makefile.in (SIM_OBJS): Delete sim-cpu.o.
-       * sim-main.h (STATE_CPU): Delete.
-
-2015-04-15  Mike Frysinger  <vapier@gentoo.org>
-
-       * sim-main.h (struct sim_state): Change cpu to an array of pointers.
-       (STATE_CPU): Handle WITH_SMP.
-
-2015-04-13  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure: Regenerate.
-
-2015-04-06  Mike Frysinger  <vapier@gentoo.org>
-
-       * Makefile.in (SIM_OBJS): Delete sim-engine.o and sim-hrw.o.
-
-2015-03-31  Mike Frysinger  <vapier@gentoo.org>
-
-       * config.in, configure: Regenerate.
-
-2015-03-24  Mike Frysinger  <vapier@gentoo.org>
-
-       * tconfig.h (SIM_HAVE_BIENDIAN): Delete.
-
-2015-03-24  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure: Regenerate.
-
-2015-03-24  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure: Regenerate.
-
-2015-03-23  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure: Regenerate.
-
-2015-03-23  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure: Regenerate.
-
-2015-03-23  Mike Frysinger  <vapier@gentoo.org>
-
-       * Makefile.in (CONFIG_DEVICES): Delete.
-       (SIM_OBJS): Delete CONFIG_DEVICES.
-
-2015-03-16  Mike Frysinger  <vapier@gentoo.org>
-
-       * aclocal.m4, config.in, configure: Regenerate.
-       * tconfig.in: Rename file ...
-       * tconfig.h: ... here.
-
-2015-03-15  Mike Frysinger  <vapier@gentoo.org>
-
-       * tconfig.in [HAVE_DV_SOCKSER]: Delete.
-
-2015-03-14  Mike Frysinger  <vapier@gentoo.org>
-
-       * Makefile.in (SIM_RUN_OBJS): Delete.
-
-2014-08-23  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure.ac: Default simulator hardware to off again
-       without emitting errors when off or dv-sockser.o unavailable.
-       * configure: Regenerate.
-
-2014-08-19  Alan Modra  <amodra@gmail.com>
-
-       * configure: Regenerate.
-
-2014-08-15  Roland McGrath  <mcgrathr@google.com>
-
-       * configure: Regenerate.
-       * config.in: Regenerate.
-
-2013-09-23  Alan Modra  <amodra@gmail.com>
-
-       * configure: Regenerate.
-
-2013-06-03  Mike Frysinger  <vapier@gentoo.org>
-
-       * aclocal.m4, configure: Regenerate.
-
-2013-03-26  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure: Regenerate.
-
-2013-03-23  Joel Sherrill  <joel.sherrill@oarcorp.com>
-
-       * configure.ac: Fail if dv-sockser.o not available.
-       Error when --disable-sim-hardware is specified.
-       * configure: Regenerated.
-
-2012-06-15  Joel Brobecker  <brobecker@adacore.com>
-
-       * config.in, configure: Regenerate.
-
-2012-05-18  Nick Clifton  <nickc@redhat.com>
-
-       PR 14072
-       * interp.c: Include config.h before system header files.
-
-2012-03-24  Mike Frysinger  <vapier@gentoo.org>
-
-       * aclocal.m4, config.in, configure: Regenerate.
-
-2011-12-03  Mike Frysinger  <vapier@gentoo.org>
-
-       * aclocal.m4: New file.
-       * configure: Regenerate.
-
-2011-10-17  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure.ac: Change include to common/acinclude.m4.
-
-2011-10-17  Mike Frysinger  <vapier@gentoo.org>
-
-       * configure.ac: Change AC_PREREQ to 2.64.  Delete AC_CONFIG_HEADER
-       call.  Replace common.m4 include with SIM_AC_COMMON.
-       * configure: Regenerate.
-
-2011-07-05  Mike Frysinger  <vapier@gentoo.org>
-
-       * sim-if.c (sim_do_command): Delete.
-
-2011-02-14  Mike Frysinger  <vapier@gentoo.org>
-
-       * sh64.c (trap_handler): Change zfree to free.
-
-2010-10-09  Alan Modra  <amodra@gmail.com>
-
-       * sh-desc.h: Regenerate.
-
-2010-02-12  Doug Evans  <dje@sebabeach.org>
-
-       * decode-media.c, * decode-media.h: Regenerate.
-
-2010-02-11  Doug Evans  <dje@sebabeach.org>
-
-       * decode-compact.c, * decode-media.c, * defs-compact.h, * defs-media.h,
-       * sem-compact-switch.c, * sem-compact.c, * sem-media-switch.c,
-       * sem-media.c, * sh-desc.c, * sh-desc.h: Regenerate.
-
-2010-01-24  Doug Evans  <dje@sebabeach.org>
-
-       * cpu.h: Regenerate.
-
-2010-01-09  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * configure: Regenerate.
-
-2010-01-02  Doug Evans  <dje@sebabeach.org>
-
-       * arch.c, * arch.h, * cpu.c, * cpu.h, * cpuall.h, * decode-compact.c,
-       * decode-compact.h, * decode-media.c, * decode-media.h,
-       * defs-compact.h, * defs-media.h, * sem-compact-switch.c,
-       * sem-compact.c, * sem-media-switch.c, * sem-media.c, * sh-desc.c,
-       * sh-desc.h, * sh-opc.h: Regenerate, update copyright year.
-
-2009-11-22  Doug Evans  <dje@sebabeach.org>
-
-       * cpu.h: Regenerate.
-       * cpuall.h: Regenerate.
-       * decode-compact.c: Regenerate.
-       * decode-compact.h: Regenerate.
-       * decode-media.c: Regenerate.
-       * decode-media.h: Regenerate.
-       * defs-compact.h: Regenerate.
-       * defs-media.h: Regenerate.
-
-2009-11-03  Doug Evans  <dje@sebabeach.org>
-
-       * arch.c: Regenerate.
-       * arch.h: Regenerate.
-       * cpu.c: Regenerate.
-       * cpu.h: Regenerate.
-       * cpuall.h: Regenerate.
-       * decode-compact.c: Regenerate.
-       * decode-compact.h: Regenerate.
-       * decode-media.c: Regenerate.
-       * decode-media.h: Regenerate.
-       * defs-compact.h: Regenerate.
-       * defs-media.h: Regenerate.
-       * sem-compact-switch.c: Regenerate.
-       * sem-compact.c: Regenerate.
-       * sem-media-switch.c: Regenerate.
-       * sem-media.c: Regenerate.
-       * sh-desc.c: Regenerate.
-       * sh-opc.h: Regenerate.
-
-       * Makefile.in (SIM_EXTRA_DEPS): Add sh-desc.h sh-opc.h.
-       (sh-desc.o): New rule.
-       (sh-desc.h,sh-desc.c,sh-opc.h): Replaces rule for desc.h.
-       (all generated file rules): Specify generated file with full path.
-
-2009-10-24  Doug Evans  <dje@sebabeach.org>
-
-       * sh-desc.h: Regenerate.
-
-2009-08-22  Ralf Wildenhues  <Ralf.Wildenhues@gmx.de>
-
-       * config.in: Regenerate.
-       * configure: Likewise.
-
-       * configure: Regenerate.
-
-2008-07-11  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate to track ../common/common.m4 changes.
-       * config.in: Ditto.
-
-2008-06-06  Vladimir Prus  <vladimir@codesourcery.com>
-           Daniel Jacobowitz  <dan@codesourcery.com>
-           Joseph Myers  <joseph@codesourcery.com>
-
-       * configure: Regenerate.
-
-2006-12-21  Hans-Peter Nilsson  <hp@axis.com>
-
-       * config.in, configure: Regenerate.
-
-2006-10-18  Dave Brolley  <brolley@redhat.com>
-
-       * Contribute the following changes:
-
-       2006-06-14  Dave Brolley  <brolley@redhat.com>
-
-       * sh64-sim.h (sh64_fipr,sh64_fiprs,sh64_fldp,sh64_fstp,sh64_ftrv)
-       (sh64_fpref): New functions.
-       * sh64.c (sh64_fipr,sh64_fiprs,sh64_fldp,sh64_fstp,sh64_ftrv)
-       (sh64_fpref): New functions.
-       (sh_models): Add sh2e, sh2a, sh2a_nofpu, sh4_nofpu, sh4a,
-       sh4a_nofpu and sh4al.
-       (sh2e_mach): New MACH.
-       (sh2a_fpu_mach): New MACH.
-       (sh2a_nofpu_mach): New MACH.
-       (sh4_nofpu): New MACH.
-       (sh4a_mach): New MACH.
-       (sh4a_nofpu_mach): New MACH.
-       (sh4al_mach): New MACH.
-       * Makefile.in (stamp-*): Depend on $(CGEN_CPU_DIR)/sh-sim.cpu. Pass
-       archfile to CGEN script.
-       * arch.c: Regenerated.
-       * arch.h: Regenerated.
-       * cpu.c: Regenerated.
-       * cpu.h: Regenerated.
-       * cpuall.h: Regenerated.
-       * decode-compact.c: Regenerated.
-       * decode-compact.h: Regenerated.
-       * decode-media.c: Regenerated.
-       * decode-media.h: Regenerated.
-       * defs-compact.h: Regenerated.
-       * defs-media.h: Regenerated.
-       * sem-compact-switch.c: Regenerated.
-       * sem-compact.c: Regenerated.
-       * sem-media-switch.c: Regenerated.
-       * sem-media.c: Regenerated.
-       * sh-desc.c: Regenerated.
-       * sh-desc.h: Regenerated.
-       * sh-opc.h: Regenerated.
-
-2006-06-05  Daniel Jacobowitz  <dan@codesourcery.com>
-
-       * configure: Regenerated.
-
-2006-05-31  Daniel Jacobowitz  <dan@codesourcery.com>
-
-       * configure: Regenerated.
-
-2005-05-02  Corinna Vinschen  <vinschen@redhat.com>
-
-       * sh-desc.h: Move extern declaration of sh_cgen_ifld_table after
-       inclusion of cgen.h.
-
-2005-04-15  Corinna Vinschen  <vinschen@redhat.com>
-
-       * configure.ac: New file.
-       * configure.in: Remove.
-       * configure: Regenerate.
-       * defs-media.h (sem_fields): Add missing sfmt_ldhil member.
-       * sim-if.c (sim_open): Use struct bfd instead of struct _bfd.
-       (sim_create_inferior): Ditto.
-
-2004-12-08  Hans-Peter Nilsson  <hp@axis.com>
-
-       * configure: Regenerate for ../common/aclocal.m4 update.
-
-Fri Feb 21 19:49:45 2003  J"orn Rennecke <joern.rennecke@superh.com>
-
-       * sem-media-switch.c, sem-media.c: Regenerate.
-
-2002-06-24  Richard Sandiford  <rsandifo@redhat.com>
-
-       * sh64.c: Update path of "callback.h".
-
-2002-06-20  Elena Zannoni  <ezannoni@redhat.com>
-
-       * sh64.c: Include correct file for register numbers.
-
-Fri May 17 14:27:41 2002  J"orn Rennecke <joern.rennecke@superh.com>
-
-       * sim-if.c (sh64_disassemble_insn): Use  print_insn_sh instead of
-       print_insn_shl.
-
-2001-07-05  Ben Elliston  <bje@redhat.com>
-
-       * Makefile.in (stamp-arch): Use $(CGEN_CPU_DIR).
-       (stamp-desc): Likewise.
-       (stamp-cpu): Likewise.
-       (stamp-defs-compact): Likewise.
-       (stamp-defs-media): Likewise.
-       (stamp-decode-compact): Likewise.
-       (stamp-decode-media): Likewise.
-
-2001-03-30  Ben Elliston  <bje@redhat.com>
-
-       * sim-if.c (sim_open): Set sh64_idesc_{media,compact} to NULL.
-       * sh64-sim.h (sh64_idesc_{compact,media}): Declare extern.
-       * sh64.c (sh64_idesc_{compact,media}): Make non-static.
-
-2001-01-30  Ben Elliston  <bje@redhat.com>
-
-       * sh64.c (SYS_argc, SYS_argn, SYS_argnlen): Define.
-       (trap_handler): Implement these syscalls.
-       (count_argc): New function.
-
-2001-01-24  Alexandre Oliva  <aoliva@redhat.com>
-
-       * sh64.c (trap_handler): Implement time.
-
-       * sh64.c (fetch_str): New function.
-       (trap_handler): Re-implement write, and implement lseek, read,
-       open and close.
-
-2001-01-18  Elena Zannoni  <ezannoni@kwikemart.cygnus.com>
-
-       * sh64.c (sh64_fetch_register): When fetching the PC, return the
-       PC value and set the LSB according to the current ISA.
-
-2001-01-18  Ben Elliston  <bje@redhat.com>
-
-       * sh64.c (trap_handler): Use sim_engine_halt to indicate a program
-       has terminated, not exit!
-
-2001-01-12  Ben Elliston  <bje@redhat.com>
-
-       * sh64.c (sh64_fcnvds): Re-implement.
-
-       * sh64.c: Include "bfd.h".
-       (trap_handler): New function. Consolidate function bodies of
-       sh64_trapa and sh64_compact_trapa.
-       (sh64_trapa): Use it.
-       (sh64_compact_trapa): Likewise.
-
-2001-01-11  Ben Elliston  <bje@redhat.com>
-
-       * sem-media.c, sem-media-switch.c: Regenerate.
-       * sem-compact.c, sem-compact-switch.c: Likewise.
-
-       * sh64.c (sh64_trapa): Adhere to SH64 sys call conventions.
-
-       * cpu.h, sh-desc.c, sh-desc.h, sh-opc.h: Regenerate.
-       * decode-media.c, decode-media.h, defs-media.h: Likewise.
-       * sem-compact.c, sem-compact-switch.c: Likewise.
-       * sem-media.c, sem-media-switch.c: Likewise.
-
-2001-01-10  Ben Elliston  <bje@redhat.com>
-
-       * sim-main.h (CIA_SET): Encode the current instruction set mode
-       when setting the cia.
-
-2001-01-08  Ben Elliston  <bje@redhat.com>
-
-       * sh64.c (sh64_store_register): Do not set insn set mode--allow
-       sh64_h_pc_set() to do it.
-       (shmedia_init_cpu): Do not initialise the insn set mode--let the
-       loader set it based on bit 0 of the executable's starting address.
-       (shcompact_init_cpu): Likewise.
-       * mloop-compact.c (sh64_compact_pbb_begin): Emit a warning message
-       about malformed programs which have illegal insns in delay slots.
-       (sh64_compact_pbb_cti_chain): Examine the least significant bit of
-       the new pc, not the current instruction set mode to determine if
-       the next pbb in the chain will consist of SHmedia instructions.
-       * mloop-media.c (sh64_media_pbb_cti_chain): Likewise for SHcompact
-       switches. Set bit 0 when setting the pc for the next SHmedia pbb.
-
-       * cpu.c, cpu.h: Regenerate.
-       * sem-compact.c, sem-compact-switch.c: Likewise.
-       * sem-media.c, sem-media-switch.c: Likewise.
-
-       * sh64.c (sh64_compact_trapa): Use sim_io_write_{stdout,error}(),
-       not stdio functions to emit output when executing write traps.
-
-2001-01-07  Alexandre Oliva  <aoliva@redhat.com>
-
-       * sh64.c (sh64_compact_trapa): Support writing to stderr.  Flush
-       output stream after each (compound) write.
-
-2001-01-06  Ben Elliston  <bje@redhat.com>
-
-       * sem-media.c, sem-media-switch.c: Regenerate.
-
-2001-01-04  Ben Elliston  <bje@redhat.com>
-
-       * sem-compact.c, sem-compact-switch.c: Regenerate.
-       * cpu.h: Regenerate.
-
-2001-01-03  Ben Elliston  <bje@redhat.com>
-
-       * cpu.c, cpu.h: Regenerate.
-       * sem-media.c, sem-media-switch.c: Likewise.
-
-2001-01-02  Ben Elliston  <bje@redhat.com>
-
-       * sim-if.c (sh64_disassemble_insn): Set arch and mach fields using
-       BFD primitives.
-
-       * sem-compact.c, sem-compact-switch.c: Regenerate.
-
-2000-12-30  Alexandre Oliva  <aoliva@redhat.com>
-
-       * sh64.c (sh64_nsb): Re-implement correctly.
-
-2000-12-26  Alexandre Oliva  <aoliva@redhat.com>
-
-       * sh64.c (sh64_nsb): Re-implement.
-
-2000-12-27  Ben Elliston  <bje@redhat.com>
-
-       * cpu.c, cpu.h: Regenerate.
-       * sem-compact.c, sem-compact-switch.c: Likewise.
-       * sem-media.c, sem-media-switch.c: Likewise.
-       * sh-desc.c: Likewise.
-
-2000-12-26  Ben Elliston  <bje@redhat.com>
-
-       * mloop-compact.in, mloop-media.in: Remove.
-       * mloop-compact.c, mloop-media.c: New files.
-       * eng-compact.c, eng-media.c: Likewise.
-       * Makefile.in (mloop-compact.c): Remove target.
-       (stamp-mloop-compact): Likewise.
-       (mloop-media.c): Likewise.
-       (stamp-mloop-media): Likewise.
-       (sh64-clean): Update.
-       (stamp-mloop): Remove.
-
-2000-12-23  Ben Elliston  <bje@redhat.com>
-
-       * sh64.c (sh64_prepare_run): Rename from shmedia_prepare_run.
-       (shcompact_prepare_run): Remove.
-       (sh2_mach, sh3_mach, sh3e_mach, sh4_mach, sh5_mach): Update.
-
-2000-12-22  Ben Elliston  <bje@redhat.com>
-
-       * sh64.c (sh64_idesc_media, sh64_idesc_compact): New variables.
-       (sh64_dump): Remove.
-       (sh64_engine_run_full): Only compute idesc tables once.
-       (sh64_engine_run_fast): Likewise.
-       (shmedia_prepare_run): Do nothing.
-       (shcompact_prepare_run): Likewise.
-
-       * sem-compact.c, sem-compact-switch.c: Regenerate.
-       * sem-media.c, sem-media-switch.c: Likewise.
-
-2000-12-19  Ben Elliston  <bje@redhat.com>
-
-       * sem-media.c, sem-media-switch.c: Regenerate.
-
-2000-12-15  Ben Elliston  <bje@redhat.com>
-
-       * sh64.c (sh64_store_register): When storing a new PC, set ISA
-       mode based on the value of bit 0.
-
-       * sh64.c: Include "sim-sh64.h" for GDB interfacing.
-       (sh64_fetch_register): Implement.
-       (sh64_store_register): Likewise.
-
-       * sh64-sim.h (sh64_fmacs): Declare.
-       (sh64_ftrcdl, sh64_ftrcdq, sh64_ftrcsl): Likewise.
-
-       * sem-media.c, sem-media-switch.c: Regenerate.
-
-2000-12-13  Ben Elliston  <bje@redhat.com>
-
-       * sh64-sim.h (sh64_compact_trapa): Renamed from sh64_trapa.
-       (sh64_trapa): Renamed from sh64_trap.
-       * sh64.c (sh64_trapa): Call sh64_compact_trapa for handling.
-       Apply renaming described above.
-
-       * decode-media.c, decode-media.h, defs-media.h: Regenerate.
-       * sem-media.c sem-media-switch.c: Likewise.
-       * sh-desc.c, sh-desc.h, sh-opc.h: Likewise.
-
-2000-12-12  Ben Elliston  <bje@redhat.com>
-
-       * cpu.c, cpu.h, sh-desc.c: Regenerate.
-       * sem-media.c, sem-media-switch.c: Likewise.
-       * sem-compact.c, sem-compact-switch.c: Likewise.
-       * sh64-sim.h (sh64_ftrvs): Declare.
-       * sh64.c (sh64_ftrvs): Bug fixes.
-
-       * sh64.c (sh64_fcmpgtd): Fix order of arguments to sim_fpu_is_gt.
-       (sh64_fcmpgts): Likewise.
-
-2000-12-11  Ben Elliston  <bje@redhat.com>
-
-       * decode-media.c, decode-media.h: Regenerate.
-       * defs-media.h: Likewise.
-       * sem-media.c, sem-media-switch.c: Likewise.
-       * sh-desc.c: Likewise.
-
-2000-12-08  Ben Elliston  <bje@redhat.com>
-
-       * decode-media.c, decode-media.h: Regenerate.
-       * defs-media.h: Likewise.
-       * sem-media.c, sem-media-switch.c: Likewise.
-
-2000-12-07  Ben Elliston  <bje@redhat.com>
-
-       * decode-media.c, decode-media.h: Regenerate.
-       * sem-media.c, sem-media-switch.c: Likewise.
-
-       * defs-media.h: Regenete.
-       * decode-compact.c, decode-media.c: Likewise.
-
-2000-12-06  Ben Elliston  <bje@redhat.com>
-
-       * sh64.c (sh64_fcmpund): Return a BI.
-       (sh64_fcmpuns): Likewise.
-       (sh64_nsb): Treat source value as unsigned.
-       (sh64_compact_model_insn_before): New function.
-       (sh64_media_model_insn_before): Likewise.
-       (sh64_compact_model_insn_after): Likewise.
-       (sh64_media_model_insn_after): Likewise.
-       (sh_models): Use sh5_mach for "sh5".
-       * sh64-sim.h: Add missing function prototypes.
-
-       * cpu.c, cpu.h, defs-media.h, sh-desc.c: Regenerate.
-       * decode-media.c, decode-media.h: Likewise.
-       * sem-media.c, sem-media-switch.c: Likewise.
-
-2000-12-05  Ben Elliston  <bje@redhat.com>
-
-       * mloop-compact.in, mloop-media.in: Use @prefix@.
-       * Makefile.in (stamp-mloop-compact): Pass -outfile-suffix option
-       to make generated files safe in the presence of parallel makes.
-       (stamp-mloop-media): Likewise.
-
-       * decode-media.c, defs-media.h: Regenerate.
-
-2000-12-04  Ben Elliston  <bje@redhat.com>
-
-       * sh64-sim.h: Add function prototypes from sh64.c.
-
-       * Makefile.in (SH64_OBJS): Add ISA variant objects.
-       (SIM_EXTRA_DEPS): Do not depend on opcodes headers.
-       (SH64_INCLUDE_DEPS): Update for ISA variants.
-       (stamp-mloop-compact, stamp-mloop-media): New targets.
-       (decode-compact.o, sem-compact.o): New rules.
-       (decode-media.o, sem-media.o): Likewise.
-       (sh64-clean): Update.
-       (stamp-all, stamp-mloop, stamp-decode, stamp-defs): New targets.
-       (stamp-desc, stamp-cpu): Likewise.
-       (stamp-defs-compact, stamp-defs-media): Likewise.
-       (stamp-decode-compact, stamp-decode-media): Likewise.
-
-       * defs-compact.h, defs-media.h: Regenerate.
-
-2000-12-03  Ben Elliston  <bje@redhat.com>
-
-       * sh64-sim.h (sh64_fcmpeqd, sh64_fcmpeqs): Declare.
-       (sh64_fcmpged, sh64_fcmpges): Likewise.
-       (sh64_fcmpgtd, sh64_fcmpgts): Likewise.
-
-       * sh64.c (sh64_endian): New function.
-       (sh64_fcmpeqd, sh64_fcmpeqs): Return a BI.
-       (sh64_fcmpged, sh64_fcmpges): Likewise.
-       (sh64_fcmpgtd, sh64_fcmpgts): Likewise.
-       (sh64_trap): Implement a basic syscall facility.
-       (sh64_trapa): Exit with return code in R5, not 0.
-       (sh64_model_sh5_u_exec): Remove.
-       (sh64_engine_run_full): New function.
-       (sh64_engine_run_fast): Likewise.
-       (shmedia_prepare_run): Likewise.
-       (shcompact_prepare_run): Likewise.
-       (sh64_get_idata): Likewise.
-       (sh64_init_cpu): Likewise.
-       (shmedia_init_cpu): Likewise.
-       (shcompact_init_cpu): Likewise.
-       (sh64_model_init): Likewise.
-       (sh_models): Define.
-       (sh5_imp_properties): Likewise.
-       (sh2_mach, sh3_mach, sh4_mach, sh5_mach): Define.
-
-       * sem-compact.c, sem-compact-switch.c: Regenerate.
-
-2000-12-01  Ben Elliston  <bje@redhat.com>
-
-       * sh64-sim.h (sh64_endian): Declare.
-       * sim-main.h (sim_cia): Use UDI, not USI.
-       (WITH_PROFILE_MODEL_P): Remove.
-       * sim-if.c (sim_sh64_disassemble_insn): Remove.
-       (sh64_disassemble_insn): New function.
-       (sim_open): Use as this CPU's disassembler.
-       * eng.h: New file.
-       * decode.h (WITH_PROFILE_MODEL_P): Undefine.
-
-       * decode-compact.c, decode-media.c: Regenerate.
-       * defs-compact.h, defs-media.h: Likewise.
-       * sem-compact.c, sem-compact-switch.c: Likewise.
-       * sh-desc.c, sh-desc.h: Likewise.
-       * cpu.c, cpu.h, cpuall.h: Likewise.
-
-2000-11-30  Ben Elliston  <bje@redhat.com>
-
-       * arch.c, sh-desc.c, sh-desc.h: Regenerate.
-
-       * tconfig.in (SIM_HAVE_BIENDIAN): Define.
-       * configure.in (SIM_AC_OPTION_BIGENDIAN): Do not hard-wire a
-       target byte order, but default to big endian.
-       * configure: Regenerate.
-
-2000-11-27  Ben Elliston  <bje@redhat.com>
-
-       * sim-main.h (WITH_PROFILE_MODEL_P): Define.
-       * sh64-sim.h (ISM_COMPACT, ISM_MEDIA): New enums.
-
-       * sh-desc.c, sh-desc.h: Regenerate.
-       * arch.c, cpu.h, cpuall.h: Regenerate.
-       * decode.h (WITH_PROFILE_MODEL_P): Remove.
-
-       * mloop-compact.in, mloop-media.in: New files.
-       * decode.h: Likewise.
-
-2000-11-26  Ben Elliston  <bje@redhat.com>
-
-       * sem-compact.c, sem-compact-switch.c: Generate.
-       * sem-media.c, sem-media-switch.c: Likewise.
-
-2000-11-25  Ben Elliston  <bje@redhat.com>
-
-       * sh-desc.c, sh-desc.h, sh-opc.h: Generate.
-
-       * arch.c, arch.h, cpuall.h, cpu.c, cpu.h: Generate.
-       * decode-compact.c, decode-compact.h: Likewise.
-       * decode-media.c, decode-media.h: Likewise.
-       * sh64-sim.h: New file.
-       * sim-main.h: Likewise.
-
-2000-11-22  Ben Elliston  <bje@redhat.com>
-
-       * sim-if.c: New file.
-       * sh64.c: Likewise.
-
-2000-11-16  Ben Elliston  <bje@redhat.com>
-
-       * config.in: New file.
-       * tconfig.in: Likewise.
-       * configure.in: Likewise.
-       * configure: Generate.
-       * Makefile.in: New file.
diff --git a/sim/sh64/Makefile.in b/sim/sh64/Makefile.in
deleted file mode 100644 (file)
index 4b4d3ab..0000000
+++ /dev/null
@@ -1,150 +0,0 @@
-# Makefile template for Configure for the SH64 simulator
-# Copyright (C) 2000-2021 Free Software Foundation, Inc.
-# Contributed by Red Hat, 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/>.
-
-## COMMON_PRE_CONFIG_FRAG
-
-SH64_OBJS = sh64.o cpu.o sh-desc.o \
-       decode-compact.o sem-compact.o mloop-compact.o \
-       decode-media.o sem-media.o mloop-media.o
-
-SIM_OBJS = \
-       $(SIM_NEW_COMMON_OBJS) \
-       cgen-utils.o cgen-trace.o cgen-scache.o \
-       cgen-run.o \
-       sim-if.o arch.o \
-       $(SH64_OBJS)
-
-# Extra headers included by sim-main.h.
-SIM_EXTRA_DEPS = \
-       $(CGEN_INCLUDE_DEPS) \
-       arch.h cpuall.h sh64-sim.h sh-desc.h sh-opc.h
-
-SIM_EXTRA_CFLAGS =
-
-SIM_EXTRA_CLEAN = sh64-clean
-
-## COMMON_POST_CONFIG_FRAG
-
-arch = sh
-
-sim-if.o: sim-if.c $(SIM_MAIN_DEPS) $(srcdir)/../common/sim-core.h
-
-arch.o: arch.c $(SIM_MAIN_DEPS)
-
-sh-desc.o: sh-desc.c $(SIM_MAIN_DEPS)
-
-devices.o: devices.c $(SIM_MAIN_DEPS)
-
-# SH64 objs
-
-SH64_INCLUDE_DEPS = \
-       $(CGEN_MAIN_CPU_DEPS) \
-       cpu.h decode.h \
-       decode-compact.h eng-compact.h defs-compact.h \
-       decode-media.h eng-media.h defs-media.h
-
-sh64.o: sh64.c $(SH64_INCLUDE_DEPS)
-
-mloop-compact.o: mloop-compact.c sem-compact-switch.c $(SH64_INCLUDE_DEPS)
-       $(CC) -c $(srcdir)/mloop-compact.c $(ALL_CFLAGS) -DWANT_ISA_COMPACT
-
-mloop-media.o: mloop-media.c sem-media-switch.c $(SH64_INCLUDE_DEPS)
-       $(CC) -c $(srcdir)/mloop-media.c $(ALL_CFLAGS) -DWANT_ISA_MEDIA
-
-cpu.o: $(srcdir)/cpu.c $(SH64_INCLUDE_DEPS)
-
-decode-compact.o: decode-compact.c $(SH64_INCLUDE_DEPS)
-       $(CC) -c $(srcdir)/decode-compact.c $(ALL_CFLAGS) -DWANT_ISA_COMPACT
-
-sem-compact.o: sem-compact.c $(SH64_INCLUDE_DEPS)
-       $(CC) -c $(srcdir)/sem-compact.c $(ALL_CFLAGS) -DWANT_ISA_COMPACT
-
-decode-media.o: decode-media.c $(SH64_INCLUDE_DEPS)
-       $(CC) -c $(srcdir)/decode-media.c $(ALL_CFLAGS) -DWANT_ISA_MEDIA
-
-sem-media.o: sem-media.c $(SH64_INCLUDE_DEPS)
-       $(CC) -c $(srcdir)/sem-media.c $(ALL_CFLAGS) -DWANT_ISA_MEDIA
-
-sh64-clean:
-       rm -f tmp-*
-       rm -f stamp-defs-{compact,media}
-       rm -f stamp-arch stamp-desc stamp-cpu stamp-decode-{compact,media}
-
-# cgen support, enable with --enable-cgen-maint
-CGEN_MAINT = ; @true
-# The following line is commented in or out depending upon --enable-cgen-maint.
-@CGEN_MAINT@CGEN_MAINT =
-
-# Utility rules for humans.
-.PHONY: stamp-all stamp-decode stamp-defs
-stamp-all: stamp-arch stamp-desc stamp-cpu stamp-decode stamp-defs
-stamp-decode: stamp-decode-compact stamp-decode-media
-stamp-defs: stamp-defs-compact stamp-defs-media
-
-# NOTE: Generated source files are specified as full paths,
-# e.g. $(srcdir)/arch.c, because make may decide the files live
-# in objdir otherwise.
-
-stamp-arch: $(CGEN_READ_SCM) $(CGEN_ARCH_SCM) $(CGEN_CPU_DIR)/sh.cpu $(CGEN_CPU_DIR)/sh.opc $(CGEN_CPU_DIR)/sh64-media.cpu $(CGEN_CPU_DIR)/sh64-compact.cpu $(CGEN_CPU_DIR)/sh-sim.cpu Makefile
-       $(MAKE) cgen-arch $(CGEN_FLAGS_TO_PASS) mach=all isa=compact,media archfile=$(CGEN_CPU_DIR)/sh.cpu \
-         FLAGS="with-scache"
-       touch $@
-$(srcdir)/arch.h $(srcdir)/arch.c $(srcdir)/cpuall.h: $(CGEN_MAINT) stamp-arch
-       @true
-
-stamp-desc: $(CGEN_READ_SCM) $(CGEN_CPU_SCM) $(CGEN_CPU_DIR)/sh.cpu $(CGEN_CPU_DIR)/sh.opc $(CGEN_CPU_DIR)/sh64-compact.cpu $(CGEN_CPU_DIR)/sh64-media.cpu $(CGEN_CPU_DIR)/sh-sim.cpu Makefile
-       $(MAKE) cgen-desc $(CGEN_FLAGS_TO_PASS) cpu=sh64 mach=all isa=compact,media archfile=$(CGEN_CPU_DIR)/sh.cpu 
-       touch $@
-$(srcdir)/sh-desc.h $(srcdir)/sh-desc.c $(srcdir)/sh-opc.h: $(CGEN_MAINT) stamp-desc
-       @true
-
-stamp-cpu: $(CGEN_READ_SCM) $(CGEN_CPU_SCM) $(CGEN_CPU_DIR)/sh.cpu $(CGEN_CPU_DIR)/sh.opc $(CGEN_CPU_DIR)/sh64-compact.cpu $(CGEN_CPU_DIR)/sh64-media.cpu $(CGEN_CPU_DIR)/sh-sim.cpu Makefile
-       $(MAKE) cgen-cpu $(CGEN_FLAGS_TO_PASS) \
-         cpu=sh64 mach=sh4,sh5 isa=compact,media FLAGS="with-multiple-isa with-scache" archfile=$(CGEN_CPU_DIR)/sh.cpu 
-       rm -f $(srcdir)/model.c
-       touch $@
-$(srcdir)/cpu.h $(srcdir)/cpu.c: $(CGEN_MAINT) stamp-cpu
-       @true
-
-stamp-defs-compact: $(CGEN_READ_SCM) $(CGEN_CPU_SCM) $(CGEN_CPU_DIR)/sh.cpu $(CGEN_CPU_DIR)/sh.opc $(CGEN_CPU_DIR)/sh64-compact.cpu $(CGEN_CPU_DIR)/sh-sim.cpu Makefile
-       $(MAKE) cgen-defs $(CGEN_FLAGS_TO_PASS) \
-         cpu=sh64 mach=sh5 isa=compact FLAGS="with-scache" SUFFIX="-compact" archfile=$(CGEN_CPU_DIR)/sh.cpu 
-       touch $@
-$(srcdir)/defs-compact.h: $(CGEN_MAINT) stamp-defs-compact
-       @true
-
-stamp-defs-media: $(CGEN_READ_SCM) $(CGEN_CPU_SCM) $(CGEN_CPU_DIR)/sh.cpu $(CGEN_CPU_DIR)/sh.opc $(CGEN_CPU_DIR)/sh64-media.cpu $(CGEN_CPU_DIR)/sh-sim.cpu Makefile
-       $(MAKE) cgen-defs $(CGEN_FLAGS_TO_PASS) \
-         cpu=sh64 mach=sh5 isa=media FLAGS="with-scache" SUFFIX="-media" archfile=$(CGEN_CPU_DIR)/sh.cpu 
-       touch $@
-$(srcdir)/defs-media.h: $(CGEN_MAINT) stamp-defs-media
-
-stamp-decode-compact: $(CGEN_READ_SCM) $(CGEN_CPU_SCM) $(CGEN_DECODE_SCM) $(CGEN_CPU_DIR)/sh.cpu $(CGEN_CPU_DIR)/sh.opc $(CGEN_CPU_DIR)/sh64-compact.cpu $(CGEN_CPU_DIR)/sh-sim.cpu Makefile
-       $(MAKE) cgen-decode $(CGEN_FLAGS_TO_PASS) \
-         cpu=sh64 mach=sh5 isa=compact FLAGS="with-scache" SUFFIX="-compact" EXTRAFILES="$(CGEN_CPU_SEM) $(CGEN_CPU_SEMSW)" \
-         archfile=$(CGEN_CPU_DIR)/sh.cpu
-       touch $@
-$(srcdir)/sem-compact.c $(srcdir)/sem-compact-switch.c $(srcdir)/decode-compact.c $(srcdir)/decode-compact.h: $(CGEN_MAINT) stamp-decode-compact
-       @true
-
-stamp-decode-media: $(CGEN_READ_SCM) $(CGEN_CPU_SCM) $(CGEN_DECODE_SCM) $(CGEN_CPU_DIR)/sh.cpu $(CGEN_CPU_DIR)/sh.opc $(CGEN_CPU_DIR)/sh64-media.cpu $(CGEN_CPU_DIR)/sh-sim.cpu Makefile
-       $(MAKE) cgen-decode $(CGEN_FLAGS_TO_PASS) \
-         cpu=sh64 mach=sh5 isa=media FLAGS="with-scache" SUFFIX="-media" EXTRAFILES="$(CGEN_CPU_SEM) $(CGEN_CPU_SEMSW)" \
-         archfile=$(CGEN_CPU_DIR)/sh.cpu
-       touch $@
-$(srcdir)/sem-media.c $(srcdir)/sem-media-switch.c $(srcdir)/decode-media.c $(srcdir)/decode-media.h: $(CGEN_MAINT) stamp-decode-media
-       @true
diff --git a/sim/sh64/aclocal.m4 b/sim/sh64/aclocal.m4
deleted file mode 100644 (file)
index e9f11c7..0000000
+++ /dev/null
@@ -1,119 +0,0 @@
-# generated automatically by aclocal 1.15.1 -*- Autoconf -*-
-
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
-
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-# even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-# PARTICULAR PURPOSE.
-
-m4_ifndef([AC_CONFIG_MACRO_DIRS], [m4_defun([_AM_CONFIG_MACRO_DIRS], [])m4_defun([AC_CONFIG_MACRO_DIRS], [_AM_CONFIG_MACRO_DIRS($@)])])
-# AM_CONDITIONAL                                            -*- Autoconf -*-
-
-# Copyright (C) 1997-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_CONDITIONAL(NAME, SHELL-CONDITION)
-# -------------------------------------
-# Define a conditional.
-AC_DEFUN([AM_CONDITIONAL],
-[AC_PREREQ([2.52])dnl
- m4_if([$1], [TRUE],  [AC_FATAL([$0: invalid condition: $1])],
-       [$1], [FALSE], [AC_FATAL([$0: invalid condition: $1])])dnl
-AC_SUBST([$1_TRUE])dnl
-AC_SUBST([$1_FALSE])dnl
-_AM_SUBST_NOTMAKE([$1_TRUE])dnl
-_AM_SUBST_NOTMAKE([$1_FALSE])dnl
-m4_define([_AM_COND_VALUE_$1], [$2])dnl
-if $2; then
-  $1_TRUE=
-  $1_FALSE='#'
-else
-  $1_TRUE='#'
-  $1_FALSE=
-fi
-AC_CONFIG_COMMANDS_PRE(
-[if test -z "${$1_TRUE}" && test -z "${$1_FALSE}"; then
-  AC_MSG_ERROR([[conditional "$1" was never defined.
-Usually this means the macro was only invoked conditionally.]])
-fi])])
-
-# Copyright (C) 2003-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# Check whether the underlying file-system supports filenames
-# with a leading dot.  For instance MS-DOS doesn't.
-AC_DEFUN([AM_SET_LEADING_DOT],
-[rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-AC_SUBST([am__leading_dot])])
-
-# Add --enable-maintainer-mode option to configure.         -*- Autoconf -*-
-# From Jim Meyering
-
-# Copyright (C) 1996-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# AM_MAINTAINER_MODE([DEFAULT-MODE])
-# ----------------------------------
-# Control maintainer-specific portions of Makefiles.
-# Default is to disable them, unless 'enable' is passed literally.
-# For symmetry, 'disable' may be passed as well.  Anyway, the user
-# can override the default with the --enable/--disable switch.
-AC_DEFUN([AM_MAINTAINER_MODE],
-[m4_case(m4_default([$1], [disable]),
-       [enable], [m4_define([am_maintainer_other], [disable])],
-       [disable], [m4_define([am_maintainer_other], [enable])],
-       [m4_define([am_maintainer_other], [enable])
-        m4_warn([syntax], [unexpected argument to AM@&t@_MAINTAINER_MODE: $1])])
-AC_MSG_CHECKING([whether to enable maintainer-specific portions of Makefiles])
-  dnl maintainer-mode's default is 'disable' unless 'enable' is passed
-  AC_ARG_ENABLE([maintainer-mode],
-    [AS_HELP_STRING([--]am_maintainer_other[-maintainer-mode],
-      am_maintainer_other[ make rules and dependencies not useful
-      (and sometimes confusing) to the casual installer])],
-    [USE_MAINTAINER_MODE=$enableval],
-    [USE_MAINTAINER_MODE=]m4_if(am_maintainer_other, [enable], [no], [yes]))
-  AC_MSG_RESULT([$USE_MAINTAINER_MODE])
-  AM_CONDITIONAL([MAINTAINER_MODE], [test $USE_MAINTAINER_MODE = yes])
-  MAINT=$MAINTAINER_MODE_TRUE
-  AC_SUBST([MAINT])dnl
-]
-)
-
-# Copyright (C) 2006-2017 Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# _AM_SUBST_NOTMAKE(VARIABLE)
-# ---------------------------
-# Prevent Automake from outputting VARIABLE = @VARIABLE@ in Makefile.in.
-# This macro is traced by Automake.
-AC_DEFUN([_AM_SUBST_NOTMAKE])
-
-# AM_SUBST_NOTMAKE(VARIABLE)
-# --------------------------
-# Public sister of _AM_SUBST_NOTMAKE.
-AC_DEFUN([AM_SUBST_NOTMAKE], [_AM_SUBST_NOTMAKE($@)])
-
diff --git a/sim/sh64/arch.c b/sim/sh64/arch.c
deleted file mode 100644 (file)
index 20266f8..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-/* Simulator support for sh.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996-2021 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   It 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 "sim-main.h"
-#include "bfd.h"
-
-const SIM_MACH *sim_machs[] =
-{
-#ifdef HAVE_CPU_SH64
-  & sh2_mach,
-#endif
-#ifdef HAVE_CPU_SH64
-  & sh2e_mach,
-#endif
-#ifdef HAVE_CPU_SH64
-  & sh2a_fpu_mach,
-#endif
-#ifdef HAVE_CPU_SH64
-  & sh2a_nofpu_mach,
-#endif
-#ifdef HAVE_CPU_SH64
-  & sh3_mach,
-#endif
-#ifdef HAVE_CPU_SH64
-  & sh3e_mach,
-#endif
-#ifdef HAVE_CPU_SH64
-  & sh4_nofpu_mach,
-#endif
-#ifdef HAVE_CPU_SH64
-  & sh4_mach,
-#endif
-#ifdef HAVE_CPU_SH64
-  & sh4a_nofpu_mach,
-#endif
-#ifdef HAVE_CPU_SH64
-  & sh4a_mach,
-#endif
-#ifdef HAVE_CPU_SH64
-  & sh4al_mach,
-#endif
-#ifdef HAVE_CPU_SH64
-  & sh5_mach,
-#endif
-  0
-};
-
diff --git a/sim/sh64/arch.h b/sim/sh64/arch.h
deleted file mode 100644 (file)
index 586752c..0000000
+++ /dev/null
@@ -1,216 +0,0 @@
-/* Simulator header for sh.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996-2021 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   It 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 SH_ARCH_H
-#define SH_ARCH_H
-
-/* Enum declaration for model types.  */
-typedef enum model_type {
-  MODEL_SH2A_NOFPU, MODEL_SH2A_FPU, MODEL_SH4_NOFPU, MODEL_SH4
- , MODEL_SH4A_NOFPU, MODEL_SH4A, MODEL_SH4AL, MODEL_SH5
- , MODEL_SH5_MEDIA, MODEL_SH2, MODEL_SH2E, MODEL_SH3
- , MODEL_SH3E, MODEL_MAX
-} MODEL_TYPE;
-
-#define MAX_MODELS ((int) MODEL_MAX)
-
-/* Enum declaration for unit types.  */
-typedef enum unit_type {
-  UNIT_NONE, UNIT_SH2A_NOFPU_U_MULR_GR, UNIT_SH2A_NOFPU_U_MULR, UNIT_SH2A_NOFPU_U_TRAP
- , UNIT_SH2A_NOFPU_U_WRITE_BACK, UNIT_SH2A_NOFPU_U_USE_MULTIPLY_RESULT, UNIT_SH2A_NOFPU_U_SHIFT, UNIT_SH2A_NOFPU_U_TAS
- , UNIT_SH2A_NOFPU_U_MULSW, UNIT_SH2A_NOFPU_U_MULL, UNIT_SH2A_NOFPU_U_DMUL, UNIT_SH2A_NOFPU_U_MACL
- , UNIT_SH2A_NOFPU_U_MACW, UNIT_SH2A_NOFPU_U_MULTIPLY, UNIT_SH2A_NOFPU_U_SET_MAC, UNIT_SH2A_NOFPU_U_LOAD_MAC
- , UNIT_SH2A_NOFPU_U_LOAD_VBR, UNIT_SH2A_NOFPU_U_LOAD_GBR, UNIT_SH2A_NOFPU_U_USE_GR, UNIT_SH2A_NOFPU_U_LOAD_GR
- , UNIT_SH2A_NOFPU_U_STC_VBR, UNIT_SH2A_NOFPU_U_LDCL_VBR, UNIT_SH2A_NOFPU_U_LDCL, UNIT_SH2A_NOFPU_U_USE_TBIT
- , UNIT_SH2A_NOFPU_U_LDC_GBR, UNIT_SH2A_NOFPU_U_LDC_SR, UNIT_SH2A_NOFPU_U_SET_SR_BIT, UNIT_SH2A_NOFPU_U_USE_PR
- , UNIT_SH2A_NOFPU_U_LOAD_PR, UNIT_SH2A_NOFPU_U_STS_PR, UNIT_SH2A_NOFPU_U_LDS_PR, UNIT_SH2A_NOFPU_U_MEMORY_ACCESS
- , UNIT_SH2A_NOFPU_U_LOGIC_B, UNIT_SH2A_NOFPU_U_JSR, UNIT_SH2A_NOFPU_U_JMP, UNIT_SH2A_NOFPU_U_BRANCH
- , UNIT_SH2A_NOFPU_U_SX, UNIT_SH2A_NOFPU_U_EXEC, UNIT_SH2A_FPU_U_USE_DR, UNIT_SH2A_FPU_U_LOAD_DR
- , UNIT_SH2A_FPU_U_SET_DR, UNIT_SH2A_FPU_U_MULR_GR, UNIT_SH2A_FPU_U_MULR, UNIT_SH2A_FPU_U_FCNV
- , UNIT_SH2A_FPU_U_FCMP, UNIT_SH2A_FPU_U_FSQRT, UNIT_SH2A_FPU_U_FDIV, UNIT_SH2A_FPU_U_FPU_LOAD_GR
- , UNIT_SH2A_FPU_U_USE_FPSCR, UNIT_SH2A_FPU_U_LDSL_FPSCR, UNIT_SH2A_FPU_U_LDS_FPSCR, UNIT_SH2A_FPU_U_USE_FPUL
- , UNIT_SH2A_FPU_U_FLDS_FPUL, UNIT_SH2A_FPU_U_LOAD_FPUL, UNIT_SH2A_FPU_U_SET_FPUL, UNIT_SH2A_FPU_U_FPU_MEMORY_ACCESS
- , UNIT_SH2A_FPU_U_USE_FR, UNIT_SH2A_FPU_U_SET_FR_0, UNIT_SH2A_FPU_U_SET_FR, UNIT_SH2A_FPU_U_LOAD_FR
- , UNIT_SH2A_FPU_U_MAYBE_FPU, UNIT_SH2A_FPU_U_FPU, UNIT_SH2A_FPU_U_TRAP, UNIT_SH2A_FPU_U_WRITE_BACK
- , UNIT_SH2A_FPU_U_USE_MULTIPLY_RESULT, UNIT_SH2A_FPU_U_SHIFT, UNIT_SH2A_FPU_U_TAS, UNIT_SH2A_FPU_U_MULSW
- , UNIT_SH2A_FPU_U_MULL, UNIT_SH2A_FPU_U_DMUL, UNIT_SH2A_FPU_U_MACL, UNIT_SH2A_FPU_U_MACW
- , UNIT_SH2A_FPU_U_MULTIPLY, UNIT_SH2A_FPU_U_SET_MAC, UNIT_SH2A_FPU_U_LOAD_MAC, UNIT_SH2A_FPU_U_LOAD_VBR
- , UNIT_SH2A_FPU_U_LOAD_GBR, UNIT_SH2A_FPU_U_USE_GR, UNIT_SH2A_FPU_U_LOAD_GR, UNIT_SH2A_FPU_U_STC_VBR
- , UNIT_SH2A_FPU_U_LDCL_VBR, UNIT_SH2A_FPU_U_LDCL, UNIT_SH2A_FPU_U_USE_TBIT, UNIT_SH2A_FPU_U_LDC_GBR
- , UNIT_SH2A_FPU_U_LDC_SR, UNIT_SH2A_FPU_U_SET_SR_BIT, UNIT_SH2A_FPU_U_USE_PR, UNIT_SH2A_FPU_U_LOAD_PR
- , UNIT_SH2A_FPU_U_STS_PR, UNIT_SH2A_FPU_U_LDS_PR, UNIT_SH2A_FPU_U_MEMORY_ACCESS, UNIT_SH2A_FPU_U_LOGIC_B
- , UNIT_SH2A_FPU_U_JSR, UNIT_SH2A_FPU_U_JMP, UNIT_SH2A_FPU_U_BRANCH, UNIT_SH2A_FPU_U_SX
- , UNIT_SH2A_FPU_U_EXEC, UNIT_SH4_NOFPU_U_OCB, UNIT_SH4_NOFPU_U_MULR_GR, UNIT_SH4_NOFPU_U_MULR
- , UNIT_SH4_NOFPU_U_TRAP, UNIT_SH4_NOFPU_U_WRITE_BACK, UNIT_SH4_NOFPU_U_USE_MULTIPLY_RESULT, UNIT_SH4_NOFPU_U_SHIFT
- , UNIT_SH4_NOFPU_U_TAS, UNIT_SH4_NOFPU_U_MULSW, UNIT_SH4_NOFPU_U_MULL, UNIT_SH4_NOFPU_U_DMUL
- , UNIT_SH4_NOFPU_U_MACL, UNIT_SH4_NOFPU_U_MACW, UNIT_SH4_NOFPU_U_MULTIPLY, UNIT_SH4_NOFPU_U_SET_MAC
- , UNIT_SH4_NOFPU_U_LOAD_MAC, UNIT_SH4_NOFPU_U_LOAD_VBR, UNIT_SH4_NOFPU_U_LOAD_GBR, UNIT_SH4_NOFPU_U_USE_GR
- , UNIT_SH4_NOFPU_U_LOAD_GR, UNIT_SH4_NOFPU_U_STC_VBR, UNIT_SH4_NOFPU_U_LDCL_VBR, UNIT_SH4_NOFPU_U_LDCL
- , UNIT_SH4_NOFPU_U_USE_TBIT, UNIT_SH4_NOFPU_U_LDC_GBR, UNIT_SH4_NOFPU_U_LDC_SR, UNIT_SH4_NOFPU_U_SET_SR_BIT
- , UNIT_SH4_NOFPU_U_USE_PR, UNIT_SH4_NOFPU_U_LOAD_PR, UNIT_SH4_NOFPU_U_STS_PR, UNIT_SH4_NOFPU_U_LDS_PR
- , UNIT_SH4_NOFPU_U_MEMORY_ACCESS, UNIT_SH4_NOFPU_U_LOGIC_B, UNIT_SH4_NOFPU_U_JSR, UNIT_SH4_NOFPU_U_JMP
- , UNIT_SH4_NOFPU_U_BRANCH, UNIT_SH4_NOFPU_U_SX, UNIT_SH4_NOFPU_U_EXEC, UNIT_SH4_U_FTRV
- , UNIT_SH4_U_FIPR, UNIT_SH4_U_OCB, UNIT_SH4_U_MULR_GR, UNIT_SH4_U_MULR
- , UNIT_SH4_U_USE_DR, UNIT_SH4_U_LOAD_DR, UNIT_SH4_U_SET_DR, UNIT_SH4_U_FCNV
- , UNIT_SH4_U_FCMP, UNIT_SH4_U_FSQRT, UNIT_SH4_U_FDIV, UNIT_SH4_U_FPU_LOAD_GR
- , UNIT_SH4_U_USE_FPSCR, UNIT_SH4_U_LDSL_FPSCR, UNIT_SH4_U_LDS_FPSCR, UNIT_SH4_U_USE_FPUL
- , UNIT_SH4_U_FLDS_FPUL, UNIT_SH4_U_LOAD_FPUL, UNIT_SH4_U_SET_FPUL, UNIT_SH4_U_FPU_MEMORY_ACCESS
- , UNIT_SH4_U_USE_FR, UNIT_SH4_U_SET_FR_0, UNIT_SH4_U_SET_FR, UNIT_SH4_U_LOAD_FR
- , UNIT_SH4_U_MAYBE_FPU, UNIT_SH4_U_FPU, UNIT_SH4_U_TRAP, UNIT_SH4_U_WRITE_BACK
- , UNIT_SH4_U_USE_MULTIPLY_RESULT, UNIT_SH4_U_SHIFT, UNIT_SH4_U_TAS, UNIT_SH4_U_MULSW
- , UNIT_SH4_U_MULL, UNIT_SH4_U_DMUL, UNIT_SH4_U_MACL, UNIT_SH4_U_MACW
- , UNIT_SH4_U_MULTIPLY, UNIT_SH4_U_SET_MAC, UNIT_SH4_U_LOAD_MAC, UNIT_SH4_U_LOAD_VBR
- , UNIT_SH4_U_LOAD_GBR, UNIT_SH4_U_USE_GR, UNIT_SH4_U_LOAD_GR, UNIT_SH4_U_STC_VBR
- , UNIT_SH4_U_LDCL_VBR, UNIT_SH4_U_LDCL, UNIT_SH4_U_USE_TBIT, UNIT_SH4_U_LDC_GBR
- , UNIT_SH4_U_LDC_SR, UNIT_SH4_U_SET_SR_BIT, UNIT_SH4_U_USE_PR, UNIT_SH4_U_LOAD_PR
- , UNIT_SH4_U_STS_PR, UNIT_SH4_U_LDS_PR, UNIT_SH4_U_MEMORY_ACCESS, UNIT_SH4_U_LOGIC_B
- , UNIT_SH4_U_JSR, UNIT_SH4_U_JMP, UNIT_SH4_U_BRANCH, UNIT_SH4_U_SX
- , UNIT_SH4_U_EXEC, UNIT_SH4A_NOFPU_U_OCB, UNIT_SH4A_NOFPU_U_MULR_GR, UNIT_SH4A_NOFPU_U_MULR
- , UNIT_SH4A_NOFPU_U_FCNV, UNIT_SH4A_NOFPU_U_FCMP, UNIT_SH4A_NOFPU_U_FSQRT, UNIT_SH4A_NOFPU_U_FDIV
- , UNIT_SH4A_NOFPU_U_FPU_LOAD_GR, UNIT_SH4A_NOFPU_U_USE_FPSCR, UNIT_SH4A_NOFPU_U_LDSL_FPSCR, UNIT_SH4A_NOFPU_U_LDS_FPSCR
- , UNIT_SH4A_NOFPU_U_USE_FPUL, UNIT_SH4A_NOFPU_U_FLDS_FPUL, UNIT_SH4A_NOFPU_U_LOAD_FPUL, UNIT_SH4A_NOFPU_U_SET_FPUL
- , UNIT_SH4A_NOFPU_U_FPU_MEMORY_ACCESS, UNIT_SH4A_NOFPU_U_USE_FR, UNIT_SH4A_NOFPU_U_SET_FR_0, UNIT_SH4A_NOFPU_U_SET_FR
- , UNIT_SH4A_NOFPU_U_LOAD_FR, UNIT_SH4A_NOFPU_U_MAYBE_FPU, UNIT_SH4A_NOFPU_U_FPU, UNIT_SH4A_NOFPU_U_TRAP
- , UNIT_SH4A_NOFPU_U_WRITE_BACK, UNIT_SH4A_NOFPU_U_USE_MULTIPLY_RESULT, UNIT_SH4A_NOFPU_U_SHIFT, UNIT_SH4A_NOFPU_U_TAS
- , UNIT_SH4A_NOFPU_U_MULSW, UNIT_SH4A_NOFPU_U_MULL, UNIT_SH4A_NOFPU_U_DMUL, UNIT_SH4A_NOFPU_U_MACL
- , UNIT_SH4A_NOFPU_U_MACW, UNIT_SH4A_NOFPU_U_MULTIPLY, UNIT_SH4A_NOFPU_U_SET_MAC, UNIT_SH4A_NOFPU_U_LOAD_MAC
- , UNIT_SH4A_NOFPU_U_LOAD_VBR, UNIT_SH4A_NOFPU_U_LOAD_GBR, UNIT_SH4A_NOFPU_U_USE_GR, UNIT_SH4A_NOFPU_U_LOAD_GR
- , UNIT_SH4A_NOFPU_U_STC_VBR, UNIT_SH4A_NOFPU_U_LDCL_VBR, UNIT_SH4A_NOFPU_U_LDCL, UNIT_SH4A_NOFPU_U_USE_TBIT
- , UNIT_SH4A_NOFPU_U_LDC_GBR, UNIT_SH4A_NOFPU_U_LDC_SR, UNIT_SH4A_NOFPU_U_SET_SR_BIT, UNIT_SH4A_NOFPU_U_USE_PR
- , UNIT_SH4A_NOFPU_U_LOAD_PR, UNIT_SH4A_NOFPU_U_STS_PR, UNIT_SH4A_NOFPU_U_LDS_PR, UNIT_SH4A_NOFPU_U_MEMORY_ACCESS
- , UNIT_SH4A_NOFPU_U_LOGIC_B, UNIT_SH4A_NOFPU_U_JSR, UNIT_SH4A_NOFPU_U_JMP, UNIT_SH4A_NOFPU_U_BRANCH
- , UNIT_SH4A_NOFPU_U_SX, UNIT_SH4A_NOFPU_U_EXEC, UNIT_SH4A_U_FTRV, UNIT_SH4A_U_FIPR
- , UNIT_SH4A_U_OCB, UNIT_SH4A_U_MULR_GR, UNIT_SH4A_U_MULR, UNIT_SH4A_U_FCNV
- , UNIT_SH4A_U_FCMP, UNIT_SH4A_U_FSQRT, UNIT_SH4A_U_FDIV, UNIT_SH4A_U_FPU_LOAD_GR
- , UNIT_SH4A_U_USE_FPSCR, UNIT_SH4A_U_LDSL_FPSCR, UNIT_SH4A_U_LDS_FPSCR, UNIT_SH4A_U_USE_FPUL
- , UNIT_SH4A_U_FLDS_FPUL, UNIT_SH4A_U_LOAD_FPUL, UNIT_SH4A_U_SET_FPUL, UNIT_SH4A_U_FPU_MEMORY_ACCESS
- , UNIT_SH4A_U_USE_FR, UNIT_SH4A_U_SET_FR_0, UNIT_SH4A_U_SET_FR, UNIT_SH4A_U_LOAD_FR
- , UNIT_SH4A_U_MAYBE_FPU, UNIT_SH4A_U_FPU, UNIT_SH4A_U_TRAP, UNIT_SH4A_U_WRITE_BACK
- , UNIT_SH4A_U_USE_MULTIPLY_RESULT, UNIT_SH4A_U_SHIFT, UNIT_SH4A_U_TAS, UNIT_SH4A_U_MULSW
- , UNIT_SH4A_U_MULL, UNIT_SH4A_U_DMUL, UNIT_SH4A_U_MACL, UNIT_SH4A_U_MACW
- , UNIT_SH4A_U_MULTIPLY, UNIT_SH4A_U_SET_MAC, UNIT_SH4A_U_LOAD_MAC, UNIT_SH4A_U_LOAD_VBR
- , UNIT_SH4A_U_LOAD_GBR, UNIT_SH4A_U_USE_GR, UNIT_SH4A_U_LOAD_GR, UNIT_SH4A_U_STC_VBR
- , UNIT_SH4A_U_LDCL_VBR, UNIT_SH4A_U_LDCL, UNIT_SH4A_U_USE_TBIT, UNIT_SH4A_U_LDC_GBR
- , UNIT_SH4A_U_LDC_SR, UNIT_SH4A_U_SET_SR_BIT, UNIT_SH4A_U_USE_PR, UNIT_SH4A_U_LOAD_PR
- , UNIT_SH4A_U_STS_PR, UNIT_SH4A_U_LDS_PR, UNIT_SH4A_U_MEMORY_ACCESS, UNIT_SH4A_U_LOGIC_B
- , UNIT_SH4A_U_JSR, UNIT_SH4A_U_JMP, UNIT_SH4A_U_BRANCH, UNIT_SH4A_U_SX
- , UNIT_SH4A_U_EXEC, UNIT_SH4AL_U_OCB, UNIT_SH4AL_U_MULR_GR, UNIT_SH4AL_U_MULR
- , UNIT_SH4AL_U_FCNV, UNIT_SH4AL_U_FCMP, UNIT_SH4AL_U_FSQRT, UNIT_SH4AL_U_FDIV
- , UNIT_SH4AL_U_FPU_LOAD_GR, UNIT_SH4AL_U_USE_FPSCR, UNIT_SH4AL_U_LDSL_FPSCR, UNIT_SH4AL_U_LDS_FPSCR
- , UNIT_SH4AL_U_USE_FPUL, UNIT_SH4AL_U_FLDS_FPUL, UNIT_SH4AL_U_LOAD_FPUL, UNIT_SH4AL_U_SET_FPUL
- , UNIT_SH4AL_U_FPU_MEMORY_ACCESS, UNIT_SH4AL_U_USE_FR, UNIT_SH4AL_U_SET_FR_0, UNIT_SH4AL_U_SET_FR
- , UNIT_SH4AL_U_LOAD_FR, UNIT_SH4AL_U_MAYBE_FPU, UNIT_SH4AL_U_FPU, UNIT_SH4AL_U_TRAP
- , UNIT_SH4AL_U_WRITE_BACK, UNIT_SH4AL_U_USE_MULTIPLY_RESULT, UNIT_SH4AL_U_SHIFT, UNIT_SH4AL_U_TAS
- , UNIT_SH4AL_U_MULSW, UNIT_SH4AL_U_MULL, UNIT_SH4AL_U_DMUL, UNIT_SH4AL_U_MACL
- , UNIT_SH4AL_U_MACW, UNIT_SH4AL_U_MULTIPLY, UNIT_SH4AL_U_SET_MAC, UNIT_SH4AL_U_LOAD_MAC
- , UNIT_SH4AL_U_LOAD_VBR, UNIT_SH4AL_U_LOAD_GBR, UNIT_SH4AL_U_USE_GR, UNIT_SH4AL_U_LOAD_GR
- , UNIT_SH4AL_U_STC_VBR, UNIT_SH4AL_U_LDCL_VBR, UNIT_SH4AL_U_LDCL, UNIT_SH4AL_U_USE_TBIT
- , UNIT_SH4AL_U_LDC_GBR, UNIT_SH4AL_U_LDC_SR, UNIT_SH4AL_U_SET_SR_BIT, UNIT_SH4AL_U_USE_PR
- , UNIT_SH4AL_U_LOAD_PR, UNIT_SH4AL_U_STS_PR, UNIT_SH4AL_U_LDS_PR, UNIT_SH4AL_U_MEMORY_ACCESS
- , UNIT_SH4AL_U_LOGIC_B, UNIT_SH4AL_U_JSR, UNIT_SH4AL_U_JMP, UNIT_SH4AL_U_BRANCH
- , UNIT_SH4AL_U_SX, UNIT_SH4AL_U_EXEC, UNIT_SH5_U_FTRV, UNIT_SH5_U_FIPR
- , UNIT_SH5_U_OCB, UNIT_SH5_U_MULR_GR, UNIT_SH5_U_MULR, UNIT_SH5_U_USE_DR
- , UNIT_SH5_U_LOAD_DR, UNIT_SH5_U_SET_DR, UNIT_SH5_U_FCNV, UNIT_SH5_U_FCMP
- , UNIT_SH5_U_FSQRT, UNIT_SH5_U_FDIV, UNIT_SH5_U_FPU_LOAD_GR, UNIT_SH5_U_USE_FPSCR
- , UNIT_SH5_U_LDSL_FPSCR, UNIT_SH5_U_LDS_FPSCR, UNIT_SH5_U_USE_FPUL, UNIT_SH5_U_FLDS_FPUL
- , UNIT_SH5_U_LOAD_FPUL, UNIT_SH5_U_SET_FPUL, UNIT_SH5_U_FPU_MEMORY_ACCESS, UNIT_SH5_U_USE_FR
- , UNIT_SH5_U_SET_FR_0, UNIT_SH5_U_SET_FR, UNIT_SH5_U_LOAD_FR, UNIT_SH5_U_MAYBE_FPU
- , UNIT_SH5_U_FPU, UNIT_SH5_U_TRAP, UNIT_SH5_U_WRITE_BACK, UNIT_SH5_U_USE_MULTIPLY_RESULT
- , UNIT_SH5_U_SHIFT, UNIT_SH5_U_TAS, UNIT_SH5_U_MULSW, UNIT_SH5_U_MULL
- , UNIT_SH5_U_DMUL, UNIT_SH5_U_MACL, UNIT_SH5_U_MACW, UNIT_SH5_U_MULTIPLY
- , UNIT_SH5_U_SET_MAC, UNIT_SH5_U_LOAD_MAC, UNIT_SH5_U_LOAD_VBR, UNIT_SH5_U_LOAD_GBR
- , UNIT_SH5_U_USE_GR, UNIT_SH5_U_LOAD_GR, UNIT_SH5_U_STC_VBR, UNIT_SH5_U_LDCL_VBR
- , UNIT_SH5_U_LDCL, UNIT_SH5_U_USE_TBIT, UNIT_SH5_U_LDC_GBR, UNIT_SH5_U_LDC_SR
- , UNIT_SH5_U_SET_SR_BIT, UNIT_SH5_U_USE_PR, UNIT_SH5_U_LOAD_PR, UNIT_SH5_U_STS_PR
- , UNIT_SH5_U_LDS_PR, UNIT_SH5_U_MEMORY_ACCESS, UNIT_SH5_U_LOGIC_B, UNIT_SH5_U_JSR
- , UNIT_SH5_U_JMP, UNIT_SH5_U_BRANCH, UNIT_SH5_U_SX, UNIT_SH5_U_EXEC
- , UNIT_SH5_MEDIA_U_PUTCFG, UNIT_SH5_MEDIA_U_GETCFG, UNIT_SH5_MEDIA_U_PT, UNIT_SH5_MEDIA_U_FTRVS
- , UNIT_SH5_MEDIA_U_FSQRTD, UNIT_SH5_MEDIA_U_FDIVD, UNIT_SH5_MEDIA_U_COND_BRANCH, UNIT_SH5_MEDIA_U_BLINK
- , UNIT_SH5_MEDIA_U_USE_TR, UNIT_SH5_MEDIA_U_USE_MTRX, UNIT_SH5_MEDIA_U_USE_FV, UNIT_SH5_MEDIA_U_USE_FP
- , UNIT_SH5_MEDIA_U_LOAD_MTRX, UNIT_SH5_MEDIA_U_LOAD_FV, UNIT_SH5_MEDIA_U_LOAD_FP, UNIT_SH5_MEDIA_U_SET_MTRX
- , UNIT_SH5_MEDIA_U_SET_FV, UNIT_SH5_MEDIA_U_SET_FP, UNIT_SH5_MEDIA_U_SET_GR, UNIT_SH5_MEDIA_U_FTRV
- , UNIT_SH5_MEDIA_U_FIPR, UNIT_SH5_MEDIA_U_OCB, UNIT_SH5_MEDIA_U_MULR_GR, UNIT_SH5_MEDIA_U_MULR
- , UNIT_SH5_MEDIA_U_USE_DR, UNIT_SH5_MEDIA_U_LOAD_DR, UNIT_SH5_MEDIA_U_SET_DR, UNIT_SH5_MEDIA_U_FCNV
- , UNIT_SH5_MEDIA_U_FCMP, UNIT_SH5_MEDIA_U_FSQRT, UNIT_SH5_MEDIA_U_FDIV, UNIT_SH5_MEDIA_U_FPU_LOAD_GR
- , UNIT_SH5_MEDIA_U_USE_FPSCR, UNIT_SH5_MEDIA_U_LDSL_FPSCR, UNIT_SH5_MEDIA_U_LDS_FPSCR, UNIT_SH5_MEDIA_U_USE_FPUL
- , UNIT_SH5_MEDIA_U_FLDS_FPUL, UNIT_SH5_MEDIA_U_LOAD_FPUL, UNIT_SH5_MEDIA_U_SET_FPUL, UNIT_SH5_MEDIA_U_FPU_MEMORY_ACCESS
- , UNIT_SH5_MEDIA_U_USE_FR, UNIT_SH5_MEDIA_U_SET_FR_0, UNIT_SH5_MEDIA_U_SET_FR, UNIT_SH5_MEDIA_U_LOAD_FR
- , UNIT_SH5_MEDIA_U_MAYBE_FPU, UNIT_SH5_MEDIA_U_FPU, UNIT_SH5_MEDIA_U_TRAP, UNIT_SH5_MEDIA_U_WRITE_BACK
- , UNIT_SH5_MEDIA_U_USE_MULTIPLY_RESULT, UNIT_SH5_MEDIA_U_SHIFT, UNIT_SH5_MEDIA_U_TAS, UNIT_SH5_MEDIA_U_MULSW
- , UNIT_SH5_MEDIA_U_MULL, UNIT_SH5_MEDIA_U_DMUL, UNIT_SH5_MEDIA_U_MACL, UNIT_SH5_MEDIA_U_MACW
- , UNIT_SH5_MEDIA_U_MULTIPLY, UNIT_SH5_MEDIA_U_SET_MAC, UNIT_SH5_MEDIA_U_LOAD_MAC, UNIT_SH5_MEDIA_U_LOAD_VBR
- , UNIT_SH5_MEDIA_U_LOAD_GBR, UNIT_SH5_MEDIA_U_USE_GR, UNIT_SH5_MEDIA_U_LOAD_GR, UNIT_SH5_MEDIA_U_STC_VBR
- , UNIT_SH5_MEDIA_U_LDCL_VBR, UNIT_SH5_MEDIA_U_LDCL, UNIT_SH5_MEDIA_U_USE_TBIT, UNIT_SH5_MEDIA_U_LDC_GBR
- , UNIT_SH5_MEDIA_U_LDC_SR, UNIT_SH5_MEDIA_U_SET_SR_BIT, UNIT_SH5_MEDIA_U_USE_PR, UNIT_SH5_MEDIA_U_LOAD_PR
- , UNIT_SH5_MEDIA_U_STS_PR, UNIT_SH5_MEDIA_U_LDS_PR, UNIT_SH5_MEDIA_U_MEMORY_ACCESS, UNIT_SH5_MEDIA_U_LOGIC_B
- , UNIT_SH5_MEDIA_U_JSR, UNIT_SH5_MEDIA_U_JMP, UNIT_SH5_MEDIA_U_BRANCH, UNIT_SH5_MEDIA_U_SX
- , UNIT_SH5_MEDIA_U_EXEC, UNIT_SH2_U_TRAP, UNIT_SH2_U_WRITE_BACK, UNIT_SH2_U_USE_MULTIPLY_RESULT
- , UNIT_SH2_U_SHIFT, UNIT_SH2_U_TAS, UNIT_SH2_U_MULSW, UNIT_SH2_U_MULL
- , UNIT_SH2_U_DMUL, UNIT_SH2_U_MACL, UNIT_SH2_U_MACW, UNIT_SH2_U_MULTIPLY
- , UNIT_SH2_U_SET_MAC, UNIT_SH2_U_LOAD_MAC, UNIT_SH2_U_LOAD_VBR, UNIT_SH2_U_LOAD_GBR
- , UNIT_SH2_U_USE_GR, UNIT_SH2_U_LOAD_GR, UNIT_SH2_U_STC_VBR, UNIT_SH2_U_LDCL_VBR
- , UNIT_SH2_U_LDCL, UNIT_SH2_U_USE_TBIT, UNIT_SH2_U_LDC_GBR, UNIT_SH2_U_LDC_SR
- , UNIT_SH2_U_SET_SR_BIT, UNIT_SH2_U_USE_PR, UNIT_SH2_U_LOAD_PR, UNIT_SH2_U_STS_PR
- , UNIT_SH2_U_LDS_PR, UNIT_SH2_U_MEMORY_ACCESS, UNIT_SH2_U_LOGIC_B, UNIT_SH2_U_JSR
- , UNIT_SH2_U_JMP, UNIT_SH2_U_BRANCH, UNIT_SH2_U_SX, UNIT_SH2_U_EXEC
- , UNIT_SH2E_U_FCNV, UNIT_SH2E_U_FCMP, UNIT_SH2E_U_FSQRT, UNIT_SH2E_U_FDIV
- , UNIT_SH2E_U_FPU_LOAD_GR, UNIT_SH2E_U_USE_FPSCR, UNIT_SH2E_U_LDSL_FPSCR, UNIT_SH2E_U_LDS_FPSCR
- , UNIT_SH2E_U_USE_FPUL, UNIT_SH2E_U_FLDS_FPUL, UNIT_SH2E_U_LOAD_FPUL, UNIT_SH2E_U_SET_FPUL
- , UNIT_SH2E_U_FPU_MEMORY_ACCESS, UNIT_SH2E_U_USE_FR, UNIT_SH2E_U_SET_FR_0, UNIT_SH2E_U_SET_FR
- , UNIT_SH2E_U_LOAD_FR, UNIT_SH2E_U_MAYBE_FPU, UNIT_SH2E_U_FPU, UNIT_SH2E_U_TRAP
- , UNIT_SH2E_U_WRITE_BACK, UNIT_SH2E_U_USE_MULTIPLY_RESULT, UNIT_SH2E_U_SHIFT, UNIT_SH2E_U_TAS
- , UNIT_SH2E_U_MULSW, UNIT_SH2E_U_MULL, UNIT_SH2E_U_DMUL, UNIT_SH2E_U_MACL
- , UNIT_SH2E_U_MACW, UNIT_SH2E_U_MULTIPLY, UNIT_SH2E_U_SET_MAC, UNIT_SH2E_U_LOAD_MAC
- , UNIT_SH2E_U_LOAD_VBR, UNIT_SH2E_U_LOAD_GBR, UNIT_SH2E_U_USE_GR, UNIT_SH2E_U_LOAD_GR
- , UNIT_SH2E_U_STC_VBR, UNIT_SH2E_U_LDCL_VBR, UNIT_SH2E_U_LDCL, UNIT_SH2E_U_USE_TBIT
- , UNIT_SH2E_U_LDC_GBR, UNIT_SH2E_U_LDC_SR, UNIT_SH2E_U_SET_SR_BIT, UNIT_SH2E_U_USE_PR
- , UNIT_SH2E_U_LOAD_PR, UNIT_SH2E_U_STS_PR, UNIT_SH2E_U_LDS_PR, UNIT_SH2E_U_MEMORY_ACCESS
- , UNIT_SH2E_U_LOGIC_B, UNIT_SH2E_U_JSR, UNIT_SH2E_U_JMP, UNIT_SH2E_U_BRANCH
- , UNIT_SH2E_U_SX, UNIT_SH2E_U_EXEC, UNIT_SH3_U_TRAP, UNIT_SH3_U_WRITE_BACK
- , UNIT_SH3_U_USE_MULTIPLY_RESULT, UNIT_SH3_U_SHIFT, UNIT_SH3_U_TAS, UNIT_SH3_U_MULSW
- , UNIT_SH3_U_MULL, UNIT_SH3_U_DMUL, UNIT_SH3_U_MACL, UNIT_SH3_U_MACW
- , UNIT_SH3_U_MULTIPLY, UNIT_SH3_U_SET_MAC, UNIT_SH3_U_LOAD_MAC, UNIT_SH3_U_LOAD_VBR
- , UNIT_SH3_U_LOAD_GBR, UNIT_SH3_U_USE_GR, UNIT_SH3_U_LOAD_GR, UNIT_SH3_U_STC_VBR
- , UNIT_SH3_U_LDCL_VBR, UNIT_SH3_U_LDCL, UNIT_SH3_U_USE_TBIT, UNIT_SH3_U_LDC_GBR
- , UNIT_SH3_U_LDC_SR, UNIT_SH3_U_SET_SR_BIT, UNIT_SH3_U_USE_PR, UNIT_SH3_U_LOAD_PR
- , UNIT_SH3_U_STS_PR, UNIT_SH3_U_LDS_PR, UNIT_SH3_U_MEMORY_ACCESS, UNIT_SH3_U_LOGIC_B
- , UNIT_SH3_U_JSR, UNIT_SH3_U_JMP, UNIT_SH3_U_BRANCH, UNIT_SH3_U_SX
- , UNIT_SH3_U_EXEC, UNIT_SH3E_U_FCNV, UNIT_SH3E_U_FCMP, UNIT_SH3E_U_FSQRT
- , UNIT_SH3E_U_FDIV, UNIT_SH3E_U_FPU_LOAD_GR, UNIT_SH3E_U_USE_FPSCR, UNIT_SH3E_U_LDSL_FPSCR
- , UNIT_SH3E_U_LDS_FPSCR, UNIT_SH3E_U_USE_FPUL, UNIT_SH3E_U_FLDS_FPUL, UNIT_SH3E_U_LOAD_FPUL
- , UNIT_SH3E_U_SET_FPUL, UNIT_SH3E_U_FPU_MEMORY_ACCESS, UNIT_SH3E_U_USE_FR, UNIT_SH3E_U_SET_FR_0
- , UNIT_SH3E_U_SET_FR, UNIT_SH3E_U_LOAD_FR, UNIT_SH3E_U_MAYBE_FPU, UNIT_SH3E_U_FPU
- , UNIT_SH3E_U_TRAP, UNIT_SH3E_U_WRITE_BACK, UNIT_SH3E_U_USE_MULTIPLY_RESULT, UNIT_SH3E_U_SHIFT
- , UNIT_SH3E_U_TAS, UNIT_SH3E_U_MULSW, UNIT_SH3E_U_MULL, UNIT_SH3E_U_DMUL
- , UNIT_SH3E_U_MACL, UNIT_SH3E_U_MACW, UNIT_SH3E_U_MULTIPLY, UNIT_SH3E_U_SET_MAC
- , UNIT_SH3E_U_LOAD_MAC, UNIT_SH3E_U_LOAD_VBR, UNIT_SH3E_U_LOAD_GBR, UNIT_SH3E_U_USE_GR
- , UNIT_SH3E_U_LOAD_GR, UNIT_SH3E_U_STC_VBR, UNIT_SH3E_U_LDCL_VBR, UNIT_SH3E_U_LDCL
- , UNIT_SH3E_U_USE_TBIT, UNIT_SH3E_U_LDC_GBR, UNIT_SH3E_U_LDC_SR, UNIT_SH3E_U_SET_SR_BIT
- , UNIT_SH3E_U_USE_PR, UNIT_SH3E_U_LOAD_PR, UNIT_SH3E_U_STS_PR, UNIT_SH3E_U_LDS_PR
- , UNIT_SH3E_U_MEMORY_ACCESS, UNIT_SH3E_U_LOGIC_B, UNIT_SH3E_U_JSR, UNIT_SH3E_U_JMP
- , UNIT_SH3E_U_BRANCH, UNIT_SH3E_U_SX, UNIT_SH3E_U_EXEC, UNIT_MAX
-} UNIT_TYPE;
-
-#define MAX_UNITS (9)
-
-#endif /* SH_ARCH_H */
diff --git a/sim/sh64/config.in b/sim/sh64/config.in
deleted file mode 100644 (file)
index ea6c08c..0000000
+++ /dev/null
@@ -1,254 +0,0 @@
-/* config.in.  Generated from configure.ac by autoheader.  */
-
-/* Define if building universal (internal helper macro) */
-#undef AC_APPLE_UNIVERSAL_BUILD
-
-/* Sim debug setting */
-#undef DEBUG
-
-/* Define to 1 if translation of program messages to the user's native
-   language is requested. */
-#undef ENABLE_NLS
-
-/* Define to 1 if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define if dv-sockser is usable. */
-#undef HAVE_DV_SOCKSER
-
-/* Define to 1 if you have the <errno.h> header file. */
-#undef HAVE_ERRNO_H
-
-/* Define to 1 if you have the <fcntl.h> header file. */
-#undef HAVE_FCNTL_H
-
-/* Define to 1 if you have the <fpu_control.h> header file. */
-#undef HAVE_FPU_CONTROL_H
-
-/* Define to 1 if you have the `ftruncate' function. */
-#undef HAVE_FTRUNCATE
-
-/* Define to 1 if you have the `getrusage' function. */
-#undef HAVE_GETRUSAGE
-
-/* Define to 1 if you have the <inttypes.h> header file. */
-#undef HAVE_INTTYPES_H
-
-/* Define to 1 if you have the `m' library (-lm). */
-#undef HAVE_LIBM
-
-/* Define to 1 if you have the `nsl' library (-lnsl). */
-#undef HAVE_LIBNSL
-
-/* Define to 1 if you have the `socket' library (-lsocket). */
-#undef HAVE_LIBSOCKET
-
-/* Define to 1 if you have the `lstat' function. */
-#undef HAVE_LSTAT
-
-/* Define to 1 if you have the <memory.h> header file. */
-#undef HAVE_MEMORY_H
-
-/* Define to 1 if you have the `mmap' function. */
-#undef HAVE_MMAP
-
-/* Define to 1 if you have the `munmap' function. */
-#undef HAVE_MUNMAP
-
-/* Define to 1 if you have the `posix_fallocate' function. */
-#undef HAVE_POSIX_FALLOCATE
-
-/* Define to 1 if you have the `sigaction' function. */
-#undef HAVE_SIGACTION
-
-/* Define to 1 if the system has the type `socklen_t'. */
-#undef HAVE_SOCKLEN_T
-
-/* Define to 1 if you have the <stdint.h> header file. */
-#undef HAVE_STDINT_H
-
-/* Define to 1 if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define to 1 if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define to 1 if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define to 1 if `st_atime' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_ATIME
-
-/* Define to 1 if `st_blksize' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_BLKSIZE
-
-/* Define to 1 if `st_blocks' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_BLOCKS
-
-/* Define to 1 if `st_ctime' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_CTIME
-
-/* Define to 1 if `st_dev' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_DEV
-
-/* Define to 1 if `st_gid' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_GID
-
-/* Define to 1 if `st_ino' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_INO
-
-/* Define to 1 if `st_mode' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_MODE
-
-/* Define to 1 if `st_mtime' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_MTIME
-
-/* Define to 1 if `st_nlink' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_NLINK
-
-/* Define to 1 if `st_rdev' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_RDEV
-
-/* Define to 1 if `st_size' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_SIZE
-
-/* Define to 1 if `st_uid' is a member of `struct stat'. */
-#undef HAVE_STRUCT_STAT_ST_UID
-
-/* Define to 1 if you have the <sys/mman.h> header file. */
-#undef HAVE_SYS_MMAN_H
-
-/* Define to 1 if you have the <sys/resource.h> header file. */
-#undef HAVE_SYS_RESOURCE_H
-
-/* Define to 1 if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define to 1 if you have the <sys/times.h> header file. */
-#undef HAVE_SYS_TIMES_H
-
-/* Define to 1 if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define to 1 if you have the <sys/types.h> header file. */
-#undef HAVE_SYS_TYPES_H
-
-/* Define to 1 if you have the `time' function. */
-#undef HAVE_TIME
-
-/* Define to 1 if you have the <time.h> header file. */
-#undef HAVE_TIME_H
-
-/* Define to 1 if you have the `truncate' function. */
-#undef HAVE_TRUNCATE
-
-/* Define to 1 if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define to 1 if you have the <windows.h> header file. */
-#undef HAVE_WINDOWS_H
-
-/* Define to 1 if you have the `__setfpucw' function. */
-#undef HAVE___SETFPUCW
-
-/* Define to the sub-directory in which libtool stores uninstalled libraries.
-   */
-#undef LT_OBJDIR
-
-/* Name of this package. */
-#undef PACKAGE
-
-/* Define to the address where bug reports for this package should be sent. */
-#undef PACKAGE_BUGREPORT
-
-/* Define to the full name of this package. */
-#undef PACKAGE_NAME
-
-/* Define to the full name and version of this package. */
-#undef PACKAGE_STRING
-
-/* Define to the one symbol short name of this package. */
-#undef PACKAGE_TARNAME
-
-/* Define to the home page for this package. */
-#undef PACKAGE_URL
-
-/* Define to the version of this package. */
-#undef PACKAGE_VERSION
-
-/* Additional package description */
-#undef PKGVERSION
-
-/* Sim profile settings */
-#undef PROFILE
-
-/* Bug reporting address */
-#undef REPORT_BUGS_TO
-
-/* Define as the return type of signal handlers (`int' or `void'). */
-#undef RETSIGTYPE
-
-/* Define to 1 if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* 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
-
-
-/* Sim assert settings */
-#undef WITH_ASSERT
-
-/* Sim debug setting */
-#undef WITH_DEBUG
-
-/* Sim default environment */
-#undef WITH_ENVIRONMENT
-
-/* Sim profile settings */
-#undef WITH_PROFILE
-
-/* How to route I/O */
-#undef WITH_STDIO
-
-/* Sim trace settings */
-#undef WITH_TRACE
-
-/* Define WORDS_BIGENDIAN to 1 if your processor stores words with the most
-   significant byte first (like Motorola and SPARC, unlike Intel). */
-#if defined AC_APPLE_UNIVERSAL_BUILD
-# if defined __BIG_ENDIAN__
-#  define WORDS_BIGENDIAN 1
-# endif
-#else
-# ifndef WORDS_BIGENDIAN
-#  undef WORDS_BIGENDIAN
-# endif
-#endif
-
-/* Define to 1 if on MINIX. */
-#undef _MINIX
-
-/* 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
diff --git a/sim/sh64/configure b/sim/sh64/configure
deleted file mode 100755 (executable)
index d56314e..0000000
+++ /dev/null
@@ -1,16082 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.69.
-#
-#
-# Copyright (C) 1992-1996, 1998-2012 Free Software Foundation, Inc.
-#
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-# Use a proper internal environment variable to ensure we don't fall
-  # into an infinite loop, continuously re-executing ourselves.
-  if test x"${_as_can_reexec}" != xno && test "x$CONFIG_SHELL" != x; then
-    _as_can_reexec=no; export _as_can_reexec;
-    # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-as_fn_exit 255
-  fi
-  # We don't want this to propagate to other subprocesses.
-          { _as_can_reexec=; unset _as_can_reexec;}
-if test "x$CONFIG_SHELL" = x; then
-  as_bourne_compatible="if test -n \"\${ZSH_VERSION+set}\" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on \${1+\"\$@\"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '\${1+\"\$@\"}'='\"\$@\"'
-  setopt NO_GLOB_SUBST
-else
-  case \`(set -o) 2>/dev/null\` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-"
-  as_required="as_fn_return () { (exit \$1); }
-as_fn_success () { as_fn_return 0; }
-as_fn_failure () { as_fn_return 1; }
-as_fn_ret_success () { return 0; }
-as_fn_ret_failure () { return 1; }
-
-exitcode=0
-as_fn_success || { exitcode=1; echo as_fn_success failed.; }
-as_fn_failure && { exitcode=1; echo as_fn_failure succeeded.; }
-as_fn_ret_success || { exitcode=1; echo as_fn_ret_success failed.; }
-as_fn_ret_failure && { exitcode=1; echo as_fn_ret_failure succeeded.; }
-if ( set x; as_fn_ret_success y && test x = \"\$1\" ); then :
-
-else
-  exitcode=1; echo positional parameters were not saved.
-fi
-test x\$exitcode = x0 || exit 1
-test -x / || exit 1"
-  as_suggested="  as_lineno_1=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_1a=\$LINENO
-  as_lineno_2=";as_suggested=$as_suggested$LINENO;as_suggested=$as_suggested" as_lineno_2a=\$LINENO
-  eval 'test \"x\$as_lineno_1'\$as_run'\" != \"x\$as_lineno_2'\$as_run'\" &&
-  test \"x\`expr \$as_lineno_1'\$as_run' + 1\`\" = \"x\$as_lineno_2'\$as_run'\"' || exit 1
-test \$(( 1 + 1 )) = 2 || exit 1
-
-  test -n \"\${ZSH_VERSION+set}\${BASH_VERSION+set}\" || (
-    ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    ECHO=\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO\$ECHO
-    PATH=/empty FPATH=/empty; export PATH FPATH
-    test \"X\`printf %s \$ECHO\`\" = \"X\$ECHO\" \\
-      || test \"X\`print -r -- \$ECHO\`\" = \"X\$ECHO\" ) || exit 1"
-  if (eval "$as_required") 2>/dev/null; then :
-  as_have_required=yes
-else
-  as_have_required=no
-fi
-  if test x$as_have_required = xyes && (eval "$as_suggested") 2>/dev/null; then :
-
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-as_found=false
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-  as_found=:
-  case $as_dir in #(
-        /*)
-          for as_base in sh bash ksh sh5; do
-            # Try only shells that exist, to save several forks.
-            as_shell=$as_dir/$as_base
-            if { test -f "$as_shell" || test -f "$as_shell.exe"; } &&
-                   { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  CONFIG_SHELL=$as_shell as_have_required=yes
-                  if { $as_echo "$as_bourne_compatible""$as_suggested" | as_run=a "$as_shell"; } 2>/dev/null; then :
-  break 2
-fi
-fi
-          done;;
-       esac
-  as_found=false
-done
-$as_found || { if { test -f "$SHELL" || test -f "$SHELL.exe"; } &&
-             { $as_echo "$as_bourne_compatible""$as_required" | as_run=a "$SHELL"; } 2>/dev/null; then :
-  CONFIG_SHELL=$SHELL as_have_required=yes
-fi; }
-IFS=$as_save_IFS
-
-
-      if test "x$CONFIG_SHELL" != x; then :
-  export CONFIG_SHELL
-             # We cannot yet assume a decent shell, so we have to provide a
-# neutralization value for shells without unset; and this also
-# works around shells that cannot unset nonexistent variables.
-# Preserve -v and -x to the replacement shell.
-BASH_ENV=/dev/null
-ENV=/dev/null
-(unset BASH_ENV) >/dev/null 2>&1 && unset BASH_ENV ENV
-case $- in # ((((
-  *v*x* | *x*v* ) as_opts=-vx ;;
-  *v* ) as_opts=-v ;;
-  *x* ) as_opts=-x ;;
-  * ) as_opts= ;;
-esac
-exec $CONFIG_SHELL $as_opts "$as_myself" ${1+"$@"}
-# Admittedly, this is quite paranoid, since all the known shells bail
-# out after a failed `exec'.
-$as_echo "$0: could not re-execute with $CONFIG_SHELL" >&2
-exit 255
-fi
-
-    if test x$as_have_required = xno; then :
-  $as_echo "$0: This script requires a shell more modern than all"
-  $as_echo "$0: the shells that I found on your system."
-  if test x${ZSH_VERSION+set} = xset ; then
-    $as_echo "$0: In particular, zsh $ZSH_VERSION has bugs and should"
-    $as_echo "$0: be upgraded to zsh 4.3.4 or later."
-  else
-    $as_echo "$0: Please tell bug-autoconf@gnu.org about your system,
-$0: including any error possibly output before this
-$0: message. Then install a modern shell, or manually run
-$0: the script under such a shell if you do have one."
-  fi
-  exit 1
-fi
-fi
-fi
-SHELL=${CONFIG_SHELL-/bin/sh}
-export SHELL
-# Unset more variables known to interfere with behavior of common tools.
-CLICOLOR_FORCE= GREP_OPTIONS=
-unset CLICOLOR_FORCE GREP_OPTIONS
-
-## --------------------- ##
-## M4sh Shell Functions. ##
-## --------------------- ##
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-
-  as_lineno_1=$LINENO as_lineno_1a=$LINENO
-  as_lineno_2=$LINENO as_lineno_2a=$LINENO
-  eval 'test "x$as_lineno_1'$as_run'" != "x$as_lineno_2'$as_run'" &&
-  test "x`expr $as_lineno_1'$as_run' + 1`" = "x$as_lineno_2'$as_run'"' || {
-  # Blame Lee E. McMahon (1931-1989) for sed's syntax.  :-)
-  sed -n '
-    p
-    /[$]LINENO/=
-  ' <$as_myself |
-    sed '
-      s/[$]LINENO.*/&-/
-      t lineno
-      b
-      :lineno
-      N
-      :loop
-      s/[$]LINENO\([^'$as_cr_alnum'_].*\n\)\(.*\)/\2\1\2/
-      t loop
-      s/-\n.*//
-    ' >$as_me.lineno &&
-  chmod +x "$as_me.lineno" ||
-    { $as_echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2; as_fn_exit 1; }
-
-  # If we had to re-execute with $CONFIG_SHELL, we're ensured to have
-  # already done that, so ensure we don't try to do so again and fall
-  # in an infinite loop.  This has already happened in practice.
-  _as_can_reexec=no; export _as_can_reexec
-  # Don't try to exec as it changes $[0], causing all sort of problems
-  # (the dirname of $[0] is not the place where we might find the
-  # original and so on.  Autoconf is especially sensitive to this).
-  . "./$as_me.lineno"
-  # Exit status is that of the last command.
-  exit
-}
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-
-test -n "$DJDIR" || exec 7<&0 </dev/null
-exec 6>&1
-
-# Name of the host.
-# hostname on some systems (SVR3.2, old GNU/Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_clean_files=
-ac_config_libobj_dir=.
-LIBOBJS=
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-
-# Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
-PACKAGE_URL=
-
-ac_unique_file="Makefile.in"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#ifdef HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# ifdef HAVE_STDLIB_H
-#  include <stdlib.h>
-# endif
-#endif
-#ifdef HAVE_STRING_H
-# if !defined STDC_HEADERS && defined HAVE_MEMORY_H
-#  include <memory.h>
-# endif
-# include <string.h>
-#endif
-#ifdef HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#ifdef HAVE_INTTYPES_H
-# include <inttypes.h>
-#endif
-#ifdef HAVE_STDINT_H
-# include <stdint.h>
-#endif
-#ifdef HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='LTLIBOBJS
-LIBOBJS
-cgen_breaks
-cgen
-cgendir
-CGEN_MAINT
-REPORT_BUGS_TEXI
-REPORT_BUGS_TO
-PKGVERSION
-MAINT
-MAINTAINER_MODE_FALSE
-MAINTAINER_MODE_TRUE
-lt_cv_dlopen_libs
-OTOOL64
-OTOOL
-LIPO
-NMEDIT
-DSYMUTIL
-AWK
-STRIP
-OBJDUMP
-LN_S
-NM
-ac_ct_DUMPBIN
-DUMPBIN
-LD
-FGREP
-SED
-LIBTOOL
-PLUGINS_FALSE
-PLUGINS_TRUE
-zlibinc
-zlibdir
-CATOBJEXT
-GENCAT
-INSTOBJEXT
-DATADIRNAME
-CATALOGS
-POSUB
-GMSGFMT
-XGETTEXT
-INCINTL
-LIBINTL_DEP
-LIBINTL
-USE_NLS
-GMAKE_FALSE
-GMAKE_TRUE
-MAKE
-CCDEPMODE
-DEPDIR
-am__leading_dot
-PACKAGE
-C_DIALECT
-RANLIB
-AR
-HDEFINES
-CC_FOR_BUILD
-INSTALL_DATA
-INSTALL_SCRIPT
-INSTALL_PROGRAM
-EGREP
-GREP
-CPP
-target_os
-target_vendor
-target_cpu
-target
-host_os
-host_vendor
-host_cpu
-host
-build_os
-build_vendor
-build_cpu
-build
-OBJEXT
-EXEEXT
-ac_ct_CC
-CPPFLAGS
-LDFLAGS
-CFLAGS
-CC
-WERROR_CFLAGS
-WARN_CFLAGS
-sim_reserved_bits
-sim_inline
-sim_hw
-sim_hw_objs
-sim_hw_cflags
-sim_default_model
-sim_scache
-sim_float
-sim_endian
-sim_bitsize
-sim_alignment
-target_alias
-host_alias
-build_alias
-LIBS
-ECHO_T
-ECHO_N
-ECHO_C
-DEFS
-mandir
-localedir
-libdir
-psdir
-pdfdir
-dvidir
-htmldir
-infodir
-docdir
-oldincludedir
-includedir
-localstatedir
-sharedstatedir
-sysconfdir
-datadir
-datarootdir
-libexecdir
-sbindir
-bindir
-program_transform_name
-prefix
-exec_prefix
-PACKAGE_URL
-PACKAGE_BUGREPORT
-PACKAGE_STRING
-PACKAGE_VERSION
-PACKAGE_TARNAME
-PACKAGE_NAME
-PATH_SEPARATOR
-SHELL'
-ac_subst_files=''
-ac_user_opts='
-enable_option_checking
-with_system_zlib
-enable_plugins
-enable_shared
-enable_static
-with_pic
-enable_fast_install
-with_gnu_ld
-enable_libtool_lock
-enable_maintainer_mode
-enable_sim_debug
-enable_sim_stdio
-enable_sim_trace
-enable_sim_profile
-enable_sim_assert
-enable_sim_environment
-enable_sim_inline
-with_pkgversion
-with_bugurl
-enable_sim_endian
-enable_sim_alignment
-enable_sim_scache
-enable_sim_default_model
-enable_cgen_maint
-enable_sim_hardware
-'
-      ac_precious_vars='build_alias
-host_alias
-target_alias
-CC
-CFLAGS
-LDFLAGS
-LIBS
-CPPFLAGS
-CPP'
-
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-ac_unrecognized_opts=
-ac_unrecognized_sep=
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-cache_file=/dev/null
-exec_prefix=NONE
-no_create=
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-verbose=
-x_includes=NONE
-x_libraries=NONE
-
-# Installation directory options.
-# These are left unexpanded so users can "make install exec_prefix=/foo"
-# and all the variables that are supposed to be based on exec_prefix
-# by default will actually change.
-# Use braces instead of parens because sh, perl, etc. also accept them.
-# (The list follows the same order as the GNU Coding Standards.)
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datarootdir='${prefix}/share'
-datadir='${datarootdir}'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-docdir='${datarootdir}/doc/${PACKAGE}'
-infodir='${datarootdir}/info'
-htmldir='${docdir}'
-dvidir='${docdir}'
-pdfdir='${docdir}'
-psdir='${docdir}'
-libdir='${exec_prefix}/lib'
-localedir='${datarootdir}/locale'
-mandir='${datarootdir}/man'
-
-ac_prev=
-ac_dashdash=
-for ac_option
-do
-  # If the previous option needs an argument, assign it.
-  if test -n "$ac_prev"; then
-    eval $ac_prev=\$ac_option
-    ac_prev=
-    continue
-  fi
-
-  case $ac_option in
-  *=?*) ac_optarg=`expr "X$ac_option" : '[^=]*=\(.*\)'` ;;
-  *=)   ac_optarg= ;;
-  *)    ac_optarg=yes ;;
-  esac
-
-  # Accept the important Cygnus configure options, so we can diagnose typos.
-
-  case $ac_dashdash$ac_option in
-  --)
-    ac_dashdash=yes ;;
-
-  -bindir | --bindir | --bindi | --bind | --bin | --bi)
-    ac_prev=bindir ;;
-  -bindir=* | --bindir=* | --bindi=* | --bind=* | --bin=* | --bi=*)
-    bindir=$ac_optarg ;;
-
-  -build | --build | --buil | --bui | --bu)
-    ac_prev=build_alias ;;
-  -build=* | --build=* | --buil=* | --bui=* | --bu=*)
-    build_alias=$ac_optarg ;;
-
-  -cache-file | --cache-file | --cache-fil | --cache-fi \
-  | --cache-f | --cache- | --cache | --cach | --cac | --ca | --c)
-    ac_prev=cache_file ;;
-  -cache-file=* | --cache-file=* | --cache-fil=* | --cache-fi=* \
-  | --cache-f=* | --cache-=* | --cache=* | --cach=* | --cac=* | --ca=* | --c=*)
-    cache_file=$ac_optarg ;;
-
-  --config-cache | -C)
-    cache_file=config.cache ;;
-
-  -datadir | --datadir | --datadi | --datad)
-    ac_prev=datadir ;;
-  -datadir=* | --datadir=* | --datadi=* | --datad=*)
-    datadir=$ac_optarg ;;
-
-  -datarootdir | --datarootdir | --datarootdi | --datarootd | --dataroot \
-  | --dataroo | --dataro | --datar)
-    ac_prev=datarootdir ;;
-  -datarootdir=* | --datarootdir=* | --datarootdi=* | --datarootd=* \
-  | --dataroot=* | --dataroo=* | --dataro=* | --datar=*)
-    datarootdir=$ac_optarg ;;
-
-  -disable-* | --disable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--disable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=no ;;
-
-  -docdir | --docdir | --docdi | --doc | --do)
-    ac_prev=docdir ;;
-  -docdir=* | --docdir=* | --docdi=* | --doc=* | --do=*)
-    docdir=$ac_optarg ;;
-
-  -dvidir | --dvidir | --dvidi | --dvid | --dvi | --dv)
-    ac_prev=dvidir ;;
-  -dvidir=* | --dvidir=* | --dvidi=* | --dvid=* | --dvi=* | --dv=*)
-    dvidir=$ac_optarg ;;
-
-  -enable-* | --enable-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid feature name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"enable_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--enable-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval enable_$ac_useropt=\$ac_optarg ;;
-
-  -exec-prefix | --exec_prefix | --exec-prefix | --exec-prefi \
-  | --exec-pref | --exec-pre | --exec-pr | --exec-p | --exec- \
-  | --exec | --exe | --ex)
-    ac_prev=exec_prefix ;;
-  -exec-prefix=* | --exec_prefix=* | --exec-prefix=* | --exec-prefi=* \
-  | --exec-pref=* | --exec-pre=* | --exec-pr=* | --exec-p=* | --exec-=* \
-  | --exec=* | --exe=* | --ex=*)
-    exec_prefix=$ac_optarg ;;
-
-  -gas | --gas | --ga | --g)
-    # Obsolete; use --with-gas.
-    with_gas=yes ;;
-
-  -help | --help | --hel | --he | -h)
-    ac_init_help=long ;;
-  -help=r* | --help=r* | --hel=r* | --he=r* | -hr*)
-    ac_init_help=recursive ;;
-  -help=s* | --help=s* | --hel=s* | --he=s* | -hs*)
-    ac_init_help=short ;;
-
-  -host | --host | --hos | --ho)
-    ac_prev=host_alias ;;
-  -host=* | --host=* | --hos=* | --ho=*)
-    host_alias=$ac_optarg ;;
-
-  -htmldir | --htmldir | --htmldi | --htmld | --html | --htm | --ht)
-    ac_prev=htmldir ;;
-  -htmldir=* | --htmldir=* | --htmldi=* | --htmld=* | --html=* | --htm=* \
-  | --ht=*)
-    htmldir=$ac_optarg ;;
-
-  -includedir | --includedir | --includedi | --included | --include \
-  | --includ | --inclu | --incl | --inc)
-    ac_prev=includedir ;;
-  -includedir=* | --includedir=* | --includedi=* | --included=* | --include=* \
-  | --includ=* | --inclu=* | --incl=* | --inc=*)
-    includedir=$ac_optarg ;;
-
-  -infodir | --infodir | --infodi | --infod | --info | --inf)
-    ac_prev=infodir ;;
-  -infodir=* | --infodir=* | --infodi=* | --infod=* | --info=* | --inf=*)
-    infodir=$ac_optarg ;;
-
-  -libdir | --libdir | --libdi | --libd)
-    ac_prev=libdir ;;
-  -libdir=* | --libdir=* | --libdi=* | --libd=*)
-    libdir=$ac_optarg ;;
-
-  -libexecdir | --libexecdir | --libexecdi | --libexecd | --libexec \
-  | --libexe | --libex | --libe)
-    ac_prev=libexecdir ;;
-  -libexecdir=* | --libexecdir=* | --libexecdi=* | --libexecd=* | --libexec=* \
-  | --libexe=* | --libex=* | --libe=*)
-    libexecdir=$ac_optarg ;;
-
-  -localedir | --localedir | --localedi | --localed | --locale)
-    ac_prev=localedir ;;
-  -localedir=* | --localedir=* | --localedi=* | --localed=* | --locale=*)
-    localedir=$ac_optarg ;;
-
-  -localstatedir | --localstatedir | --localstatedi | --localstated \
-  | --localstate | --localstat | --localsta | --localst | --locals)
-    ac_prev=localstatedir ;;
-  -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
-  | --localstate=* | --localstat=* | --localsta=* | --localst=* | --locals=*)
-    localstatedir=$ac_optarg ;;
-
-  -mandir | --mandir | --mandi | --mand | --man | --ma | --m)
-    ac_prev=mandir ;;
-  -mandir=* | --mandir=* | --mandi=* | --mand=* | --man=* | --ma=* | --m=*)
-    mandir=$ac_optarg ;;
-
-  -nfp | --nfp | --nf)
-    # Obsolete; use --without-fp.
-    with_fp=no ;;
-
-  -no-create | --no-create | --no-creat | --no-crea | --no-cre \
-  | --no-cr | --no-c | -n)
-    no_create=yes ;;
-
-  -no-recursion | --no-recursion | --no-recursio | --no-recursi \
-  | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r)
-    no_recursion=yes ;;
-
-  -oldincludedir | --oldincludedir | --oldincludedi | --oldincluded \
-  | --oldinclude | --oldinclud | --oldinclu | --oldincl | --oldinc \
-  | --oldin | --oldi | --old | --ol | --o)
-    ac_prev=oldincludedir ;;
-  -oldincludedir=* | --oldincludedir=* | --oldincludedi=* | --oldincluded=* \
-  | --oldinclude=* | --oldinclud=* | --oldinclu=* | --oldincl=* | --oldinc=* \
-  | --oldin=* | --oldi=* | --old=* | --ol=* | --o=*)
-    oldincludedir=$ac_optarg ;;
-
-  -prefix | --prefix | --prefi | --pref | --pre | --pr | --p)
-    ac_prev=prefix ;;
-  -prefix=* | --prefix=* | --prefi=* | --pref=* | --pre=* | --pr=* | --p=*)
-    prefix=$ac_optarg ;;
-
-  -program-prefix | --program-prefix | --program-prefi | --program-pref \
-  | --program-pre | --program-pr | --program-p)
-    ac_prev=program_prefix ;;
-  -program-prefix=* | --program-prefix=* | --program-prefi=* \
-  | --program-pref=* | --program-pre=* | --program-pr=* | --program-p=*)
-    program_prefix=$ac_optarg ;;
-
-  -program-suffix | --program-suffix | --program-suffi | --program-suff \
-  | --program-suf | --program-su | --program-s)
-    ac_prev=program_suffix ;;
-  -program-suffix=* | --program-suffix=* | --program-suffi=* \
-  | --program-suff=* | --program-suf=* | --program-su=* | --program-s=*)
-    program_suffix=$ac_optarg ;;
-
-  -program-transform-name | --program-transform-name \
-  | --program-transform-nam | --program-transform-na \
-  | --program-transform-n | --program-transform- \
-  | --program-transform | --program-transfor \
-  | --program-transfo | --program-transf \
-  | --program-trans | --program-tran \
-  | --progr-tra | --program-tr | --program-t)
-    ac_prev=program_transform_name ;;
-  -program-transform-name=* | --program-transform-name=* \
-  | --program-transform-nam=* | --program-transform-na=* \
-  | --program-transform-n=* | --program-transform-=* \
-  | --program-transform=* | --program-transfor=* \
-  | --program-transfo=* | --program-transf=* \
-  | --program-trans=* | --program-tran=* \
-  | --progr-tra=* | --program-tr=* | --program-t=*)
-    program_transform_name=$ac_optarg ;;
-
-  -pdfdir | --pdfdir | --pdfdi | --pdfd | --pdf | --pd)
-    ac_prev=pdfdir ;;
-  -pdfdir=* | --pdfdir=* | --pdfdi=* | --pdfd=* | --pdf=* | --pd=*)
-    pdfdir=$ac_optarg ;;
-
-  -psdir | --psdir | --psdi | --psd | --ps)
-    ac_prev=psdir ;;
-  -psdir=* | --psdir=* | --psdi=* | --psd=* | --ps=*)
-    psdir=$ac_optarg ;;
-
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil)
-    silent=yes ;;
-
-  -sbindir | --sbindir | --sbindi | --sbind | --sbin | --sbi | --sb)
-    ac_prev=sbindir ;;
-  -sbindir=* | --sbindir=* | --sbindi=* | --sbind=* | --sbin=* \
-  | --sbi=* | --sb=*)
-    sbindir=$ac_optarg ;;
-
-  -sharedstatedir | --sharedstatedir | --sharedstatedi \
-  | --sharedstated | --sharedstate | --sharedstat | --sharedsta \
-  | --sharedst | --shareds | --shared | --share | --shar \
-  | --sha | --sh)
-    ac_prev=sharedstatedir ;;
-  -sharedstatedir=* | --sharedstatedir=* | --sharedstatedi=* \
-  | --sharedstated=* | --sharedstate=* | --sharedstat=* | --sharedsta=* \
-  | --sharedst=* | --shareds=* | --shared=* | --share=* | --shar=* \
-  | --sha=* | --sh=*)
-    sharedstatedir=$ac_optarg ;;
-
-  -site | --site | --sit)
-    ac_prev=site ;;
-  -site=* | --site=* | --sit=*)
-    site=$ac_optarg ;;
-
-  -srcdir | --srcdir | --srcdi | --srcd | --src | --sr)
-    ac_prev=srcdir ;;
-  -srcdir=* | --srcdir=* | --srcdi=* | --srcd=* | --src=* | --sr=*)
-    srcdir=$ac_optarg ;;
-
-  -sysconfdir | --sysconfdir | --sysconfdi | --sysconfd | --sysconf \
-  | --syscon | --sysco | --sysc | --sys | --sy)
-    ac_prev=sysconfdir ;;
-  -sysconfdir=* | --sysconfdir=* | --sysconfdi=* | --sysconfd=* | --sysconf=* \
-  | --syscon=* | --sysco=* | --sysc=* | --sys=* | --sy=*)
-    sysconfdir=$ac_optarg ;;
-
-  -target | --target | --targe | --targ | --tar | --ta | --t)
-    ac_prev=target_alias ;;
-  -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
-    target_alias=$ac_optarg ;;
-
-  -v | -verbose | --verbose | --verbos | --verbo | --verb)
-    verbose=yes ;;
-
-  -version | --version | --versio | --versi | --vers | -V)
-    ac_init_version=: ;;
-
-  -with-* | --with-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--with-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=\$ac_optarg ;;
-
-  -without-* | --without-*)
-    ac_useropt=`expr "x$ac_option" : 'x-*without-\(.*\)'`
-    # Reject names that are not valid shell variable names.
-    expr "x$ac_useropt" : ".*[^-+._$as_cr_alnum]" >/dev/null &&
-      as_fn_error $? "invalid package name: $ac_useropt"
-    ac_useropt_orig=$ac_useropt
-    ac_useropt=`$as_echo "$ac_useropt" | sed 's/[-+.]/_/g'`
-    case $ac_user_opts in
-      *"
-"with_$ac_useropt"
-"*) ;;
-      *) ac_unrecognized_opts="$ac_unrecognized_opts$ac_unrecognized_sep--without-$ac_useropt_orig"
-        ac_unrecognized_sep=', ';;
-    esac
-    eval with_$ac_useropt=no ;;
-
-  --x)
-    # Obsolete; use --with-x.
-    with_x=yes ;;
-
-  -x-includes | --x-includes | --x-include | --x-includ | --x-inclu \
-  | --x-incl | --x-inc | --x-in | --x-i)
-    ac_prev=x_includes ;;
-  -x-includes=* | --x-includes=* | --x-include=* | --x-includ=* | --x-inclu=* \
-  | --x-incl=* | --x-inc=* | --x-in=* | --x-i=*)
-    x_includes=$ac_optarg ;;
-
-  -x-libraries | --x-libraries | --x-librarie | --x-librari \
-  | --x-librar | --x-libra | --x-libr | --x-lib | --x-li | --x-l)
-    ac_prev=x_libraries ;;
-  -x-libraries=* | --x-libraries=* | --x-librarie=* | --x-librari=* \
-  | --x-librar=* | --x-libra=* | --x-libr=* | --x-lib=* | --x-li=* | --x-l=*)
-    x_libraries=$ac_optarg ;;
-
-  -*) as_fn_error $? "unrecognized option: \`$ac_option'
-Try \`$0 --help' for more information"
-    ;;
-
-  *=*)
-    ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
-    # Reject names that are not valid shell variable names.
-    case $ac_envvar in #(
-      '' | [0-9]* | *[!_$as_cr_alnum]* )
-      as_fn_error $? "invalid variable name: \`$ac_envvar'" ;;
-    esac
-    eval $ac_envvar=\$ac_optarg
-    export $ac_envvar ;;
-
-  *)
-    # FIXME: should be removed in autoconf 3.0.
-    $as_echo "$as_me: WARNING: you should use --build, --host, --target" >&2
-    expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
-      $as_echo "$as_me: WARNING: invalid host type: $ac_option" >&2
-    : "${build_alias=$ac_option} ${host_alias=$ac_option} ${target_alias=$ac_option}"
-    ;;
-
-  esac
-done
-
-if test -n "$ac_prev"; then
-  ac_option=--`echo $ac_prev | sed 's/_/-/g'`
-  as_fn_error $? "missing argument to $ac_option"
-fi
-
-if test -n "$ac_unrecognized_opts"; then
-  case $enable_option_checking in
-    no) ;;
-    fatal) as_fn_error $? "unrecognized options: $ac_unrecognized_opts" ;;
-    *)     $as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2 ;;
-  esac
-fi
-
-# Check all directory arguments for consistency.
-for ac_var in  exec_prefix prefix bindir sbindir libexecdir datarootdir \
-               datadir sysconfdir sharedstatedir localstatedir includedir \
-               oldincludedir docdir infodir htmldir dvidir pdfdir psdir \
-               libdir localedir mandir
-do
-  eval ac_val=\$$ac_var
-  # Remove trailing slashes.
-  case $ac_val in
-    */ )
-      ac_val=`expr "X$ac_val" : 'X\(.*[^/]\)' \| "X$ac_val" : 'X\(.*\)'`
-      eval $ac_var=\$ac_val;;
-  esac
-  # Be sure to have absolute directory names.
-  case $ac_val in
-    [\\/$]* | ?:[\\/]* )  continue;;
-    NONE | '' ) case $ac_var in *prefix ) continue;; esac;;
-  esac
-  as_fn_error $? "expected an absolute directory name for --$ac_var: $ac_val"
-done
-
-# There might be people who depend on the old broken behavior: `$host'
-# used to hold the argument of --host etc.
-# FIXME: To remove some day.
-build=$build_alias
-host=$host_alias
-target=$target_alias
-
-# FIXME: To remove some day.
-if test "x$host_alias" != x; then
-  if test "x$build_alias" = x; then
-    cross_compiling=maybe
-  elif test "x$build_alias" != "x$host_alias"; then
-    cross_compiling=yes
-  fi
-fi
-
-ac_tool_prefix=
-test -n "$host_alias" && ac_tool_prefix=$host_alias-
-
-test "$silent" = yes && exec 6>/dev/null
-
-
-ac_pwd=`pwd` && test -n "$ac_pwd" &&
-ac_ls_di=`ls -di .` &&
-ac_pwd_ls_di=`cd "$ac_pwd" && ls -di .` ||
-  as_fn_error $? "working directory cannot be determined"
-test "X$ac_ls_di" = "X$ac_pwd_ls_di" ||
-  as_fn_error $? "pwd does not report name of working directory"
-
-
-# Find the source files, if location was not specified.
-if test -z "$srcdir"; then
-  ac_srcdir_defaulted=yes
-  # Try the directory containing this script, then the parent directory.
-  ac_confdir=`$as_dirname -- "$as_myself" ||
-$as_expr X"$as_myself" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_myself" : 'X\(//\)[^/]' \| \
-        X"$as_myself" : 'X\(//\)$' \| \
-        X"$as_myself" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_myself" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  srcdir=$ac_confdir
-  if test ! -r "$srcdir/$ac_unique_file"; then
-    srcdir=..
-  fi
-else
-  ac_srcdir_defaulted=no
-fi
-if test ! -r "$srcdir/$ac_unique_file"; then
-  test "$ac_srcdir_defaulted" = yes && srcdir="$ac_confdir or .."
-  as_fn_error $? "cannot find sources ($ac_unique_file) in $srcdir"
-fi
-ac_msg="sources are in $srcdir, but \`cd $srcdir' does not work"
-ac_abs_confdir=`(
-       cd "$srcdir" && test -r "./$ac_unique_file" || as_fn_error $? "$ac_msg"
-       pwd)`
-# When building in place, set srcdir=.
-if test "$ac_abs_confdir" = "$ac_pwd"; then
-  srcdir=.
-fi
-# Remove unnecessary trailing slashes from srcdir.
-# Double slashes in file names in object file debugging info
-# mess up M-x gdb in Emacs.
-case $srcdir in
-*/) srcdir=`expr "X$srcdir" : 'X\(.*[^/]\)' \| "X$srcdir" : 'X\(.*\)'`;;
-esac
-for ac_var in $ac_precious_vars; do
-  eval ac_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_env_${ac_var}_value=\$${ac_var}
-  eval ac_cv_env_${ac_var}_set=\${${ac_var}+set}
-  eval ac_cv_env_${ac_var}_value=\$${ac_var}
-done
-
-#
-# Report the --help message.
-#
-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 this package to adapt to many kinds of systems.
-
-Usage: $0 [OPTION]... [VAR=VALUE]...
-
-To assign environment variables (e.g., CC, CFLAGS...), specify them as
-VAR=VALUE.  See below for descriptions of some of the useful variables.
-
-Defaults for the options are specified in brackets.
-
-Configuration:
-  -h, --help              display this help and exit
-      --help=short        display options specific to this package
-      --help=recursive    display the short help of all the included packages
-  -V, --version           display version information and exit
-  -q, --quiet, --silent   do not print \`checking ...' messages
-      --cache-file=FILE   cache test results in FILE [disabled]
-  -C, --config-cache      alias for \`--cache-file=config.cache'
-  -n, --no-create         do not create output files
-      --srcdir=DIR        find the sources in DIR [configure dir or \`..']
-
-Installation directories:
-  --prefix=PREFIX         install architecture-independent files in PREFIX
-                          [$ac_default_prefix]
-  --exec-prefix=EPREFIX   install architecture-dependent files in EPREFIX
-                          [PREFIX]
-
-By default, \`make install' will install all the files in
-\`$ac_default_prefix/bin', \`$ac_default_prefix/lib' etc.  You can specify
-an installation prefix other than \`$ac_default_prefix' using \`--prefix',
-for instance \`--prefix=\$HOME'.
-
-For better control, use the options below.
-
-Fine tuning of the installation directories:
-  --bindir=DIR            user executables [EPREFIX/bin]
-  --sbindir=DIR           system admin executables [EPREFIX/sbin]
-  --libexecdir=DIR        program executables [EPREFIX/libexec]
-  --sysconfdir=DIR        read-only single-machine data [PREFIX/etc]
-  --sharedstatedir=DIR    modifiable architecture-independent data [PREFIX/com]
-  --localstatedir=DIR     modifiable single-machine data [PREFIX/var]
-  --libdir=DIR            object code libraries [EPREFIX/lib]
-  --includedir=DIR        C header files [PREFIX/include]
-  --oldincludedir=DIR     C header files for non-gcc [/usr/include]
-  --datarootdir=DIR       read-only arch.-independent data root [PREFIX/share]
-  --datadir=DIR           read-only architecture-independent data [DATAROOTDIR]
-  --infodir=DIR           info documentation [DATAROOTDIR/info]
-  --localedir=DIR         locale-dependent data [DATAROOTDIR/locale]
-  --mandir=DIR            man documentation [DATAROOTDIR/man]
-  --docdir=DIR            documentation root [DATAROOTDIR/doc/PACKAGE]
-  --htmldir=DIR           html documentation [DOCDIR]
-  --dvidir=DIR            dvi documentation [DOCDIR]
-  --pdfdir=DIR            pdf documentation [DOCDIR]
-  --psdir=DIR             ps documentation [DOCDIR]
-_ACEOF
-
-  cat <<\_ACEOF
-
-Program names:
-  --program-prefix=PREFIX            prepend PREFIX to installed program names
-  --program-suffix=SUFFIX            append SUFFIX to installed program names
-  --program-transform-name=PROGRAM   run sed PROGRAM on installed program names
-
-System types:
-  --build=BUILD     configure for building on BUILD [guessed]
-  --host=HOST       cross-compile to build programs to run on HOST [BUILD]
-  --target=TARGET   configure for building compilers for TARGET [HOST]
-_ACEOF
-fi
-
-if test -n "$ac_init_help"; then
-
-  cat <<\_ACEOF
-
-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-plugins        Enable support for plugins
-  --enable-shared[=PKGS]  build shared libraries [default=yes]
-  --enable-static[=PKGS]  build static libraries [default=yes]
-  --enable-fast-install[=PKGS]
-                          optimize for fast installation [default=yes]
-  --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-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-assert     Specify whether to perform random assertions
-  --enable-sim-environment=environment
-                          Specify mixed, user, virtual or operating
-                          environment
-  --enable-sim-inline=inlines
-                          Specify which functions should be inlined
-  --enable-sim-endian=endian
-                          Specify target byte endian orientation
-  --enable-sim-alignment=align
-                          Specify strict, nonstrict or forced alignment of
-                          memory accesses
-  --enable-sim-scache=size
-                          Specify simulator execution cache size
-  --enable-sim-default-model=model
-                          Specify default model to simulate
-  --enable-cgen-maint=DIR build cgen generated files
-  --enable-sim-hardware=LIST
-                          Specify the hardware to be included in the build.
-
-Optional Packages:
-  --with-PACKAGE[=ARG]    use PACKAGE [ARG=yes]
-  --without-PACKAGE       do not use PACKAGE (same as --with-PACKAGE=no)
-  --with-system-zlib      use installed libz
-  --with-pic              try to use only PIC/non-PIC objects [default=use
-                          both]
-  --with-gnu-ld           assume the C compiler uses GNU ld [default=no]
-  --with-pkgversion=PKG   Use PKG in the version string in place of "SIM"
-  --with-bugurl=URL       Direct users to URL to report a bug
-
-Some influential environment variables:
-  CC          C compiler command
-  CFLAGS      C compiler flags
-  LDFLAGS     linker flags, e.g. -L<lib dir> if you have libraries in a
-              nonstandard directory <lib dir>
-  LIBS        libraries to pass to the linker, e.g. -l<library>
-  CPPFLAGS    (Objective) C/C++ preprocessor flags, e.g. -I<include dir> if
-              you have headers in a nonstandard directory <include dir>
-  CPP         C preprocessor
-
-Use these variables to override the choices made by `configure' or to help
-it to find libraries and programs with nonstandard names/locations.
-
-Report bugs to the package provider.
-_ACEOF
-ac_status=$?
-fi
-
-if test "$ac_init_help" = "recursive"; then
-  # If there are subdirs, report their specific --help.
-  for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
-    test -d "$ac_dir" ||
-      { cd "$srcdir" && ac_pwd=`pwd` && srcdir=. && test -d "$ac_dir"; } ||
-      continue
-    ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-    cd "$ac_dir" || { ac_status=$?; continue; }
-    # Check for guested configure.
-    if test -f "$ac_srcdir/configure.gnu"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure.gnu" --help=recursive
-    elif test -f "$ac_srcdir/configure"; then
-      echo &&
-      $SHELL "$ac_srcdir/configure" --help=recursive
-    else
-      $as_echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
-    fi || ac_status=$?
-    cd "$ac_pwd" || { ac_status=$?; break; }
-  done
-fi
-
-test -n "$ac_init_help" && exit $ac_status
-if $ac_init_version; then
-  cat <<\_ACEOF
-configure
-generated by GNU Autoconf 2.69
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This configure script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it.
-_ACEOF
-  exit
-fi
-
-## ------------------------ ##
-## Autoconf initialization. ##
-## ------------------------ ##
-
-# ac_fn_c_try_compile LINENO
-# --------------------------
-# Try to compile conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_compile ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext
-  if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest.$ac_objext; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_compile
-
-# ac_fn_c_try_cpp LINENO
-# ----------------------
-# Try to preprocess conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_cpp ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_cpp conftest.$ac_ext"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_cpp conftest.$ac_ext") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } > conftest.i && {
-        test -z "$ac_c_preproc_warn_flag$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-    ac_retval=1
-fi
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # 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 eval \${$3+:} false; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2" >&5
-$as_echo_n "checking for $2... " >&6; }
-if eval \${$3+:} false; 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.i 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 eval \${$3+:} false; 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; ${as_lineno_stack:+:} 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
-# that executables *can* be run.
-ac_fn_c_try_run ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && { ac_try='./conftest$ac_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: program exited with status $ac_status" >&5
-       $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=$ac_status
-fi
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # 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 eval \${$3+:} false; 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; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_header_compile
-
-# ac_fn_c_try_link LINENO
-# -----------------------
-# Try to link conftest.$ac_ext, and return whether this succeeded.
-ac_fn_c_try_link ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  rm -f conftest.$ac_objext conftest$ac_exeext
-  if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    grep -v '^ *+' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-    mv -f conftest.er1 conftest.err
-  fi
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && {
-        test -z "$ac_c_werror_flag" ||
-        test ! -s conftest.err
-       } && test -s conftest$ac_exeext && {
-        test "$cross_compiling" = yes ||
-        test -x conftest$ac_exeext
-       }; then :
-  ac_retval=0
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-       ac_retval=1
-fi
-  # Delete the IPA/IPO (Inter Procedural Analysis/Optimization) information
-  # created by the PGI compiler (conftest_ipa8_conftest.oo), as it would
-  # interfere with the next link command; also delete a directory that is
-  # left behind by Apple's compiler.  We do this before executing the actions.
-  rm -rf conftest.dSYM conftest_ipa8_conftest.oo
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-  as_fn_set_status $ac_retval
-
-} # ac_fn_c_try_link
-
-# ac_fn_c_check_func LINENO FUNC VAR
-# ----------------------------------
-# Tests whether FUNC exists, setting the cache variable VAR accordingly
-ac_fn_c_check_func ()
-{
-  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 eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-/* Define $2 to an innocuous variant, in case <limits.h> declares $2.
-   For example, HP-UX 11i <limits.h> declares gettimeofday.  */
-#define $2 innocuous_$2
-
-/* System header to define __stub macros and hopefully few prototypes,
-    which can conflict with char $2 (); below.
-    Prefer <limits.h> to <assert.h> if __STDC__ is defined, since
-    <limits.h> exists even on freestanding compilers.  */
-
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
-
-#undef $2
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char $2 ();
-/* The GNU C library defines this for functions which it implements
-    to always fail with ENOSYS.  Some functions are actually named
-    something starting with __ and the normal name is an alias.  */
-#if defined __stub_$2 || defined __stub___$2
-choke me
-#endif
-
-int
-main ()
-{
-return $2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  eval "$3=yes"
-else
-  eval "$3=no"
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext 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; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_func
-
-# ac_fn_c_check_member LINENO AGGR MEMBER VAR INCLUDES
-# ----------------------------------------------------
-# Tries to find if the field MEMBER exists in type AGGR, after including
-# INCLUDES, setting cache variable VAR accordingly.
-ac_fn_c_check_member ()
-{
-  as_lineno=${as_lineno-"$1"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for $2.$3" >&5
-$as_echo_n "checking for $2.$3... " >&6; }
-if eval \${$4+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (ac_aggr.$3)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$4=yes"
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$5
-int
-main ()
-{
-static $2 ac_aggr;
-if (sizeof ac_aggr.$3)
-return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  eval "$4=yes"
-else
-  eval "$4=no"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$4
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_member
-
-# ac_fn_c_check_type LINENO TYPE VAR INCLUDES
-# -------------------------------------------
-# Tests whether TYPE exists after having included INCLUDES, setting cache
-# variable VAR accordingly.
-ac_fn_c_check_type ()
-{
-  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 eval \${$3+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  eval "$3=no"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof ($2))
-        return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$4
-int
-main ()
-{
-if (sizeof (($2)))
-           return 0;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  eval "$3=yes"
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-eval ac_res=\$$3
-              { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_res" >&5
-$as_echo "$ac_res" >&6; }
-  eval $as_lineno_stack; ${as_lineno_stack:+:} unset as_lineno
-
-} # ac_fn_c_check_type
-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 $as_me, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  $ $0 $@
-
-_ACEOF
-exec 5>>config.log
-{
-cat <<_ASUNAME
-## --------- ##
-## Platform. ##
-## --------- ##
-
-hostname = `(hostname || uname -n) 2>/dev/null | sed 1q`
-uname -m = `(uname -m) 2>/dev/null || echo unknown`
-uname -r = `(uname -r) 2>/dev/null || echo unknown`
-uname -s = `(uname -s) 2>/dev/null || echo unknown`
-uname -v = `(uname -v) 2>/dev/null || echo unknown`
-
-/usr/bin/uname -p = `(/usr/bin/uname -p) 2>/dev/null || echo unknown`
-/bin/uname -X     = `(/bin/uname -X) 2>/dev/null     || echo unknown`
-
-/bin/arch              = `(/bin/arch) 2>/dev/null              || echo unknown`
-/usr/bin/arch -k       = `(/usr/bin/arch -k) 2>/dev/null       || echo unknown`
-/usr/convex/getsysinfo = `(/usr/convex/getsysinfo) 2>/dev/null || echo unknown`
-/usr/bin/hostinfo      = `(/usr/bin/hostinfo) 2>/dev/null      || echo unknown`
-/bin/machine           = `(/bin/machine) 2>/dev/null           || echo unknown`
-/usr/bin/oslevel       = `(/usr/bin/oslevel) 2>/dev/null       || echo unknown`
-/bin/universe          = `(/bin/universe) 2>/dev/null          || echo unknown`
-
-_ASUNAME
-
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    $as_echo "PATH: $as_dir"
-  done
-IFS=$as_save_IFS
-
-} >&5
-
-cat >&5 <<_ACEOF
-
-
-## ----------- ##
-## Core tests. ##
-## ----------- ##
-
-_ACEOF
-
-
-# Keep a trace of the command line.
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Strip out --silent because we don't want to record it for future runs.
-# Also quote any args containing shell meta-characters.
-# Make two passes to allow for proper duplicate-argument suppression.
-ac_configure_args=
-ac_configure_args0=
-ac_configure_args1=
-ac_must_keep_next=false
-for ac_pass in 1 2
-do
-  for ac_arg
-  do
-    case $ac_arg in
-    -no-create | --no-c* | -n | -no-recursion | --no-r*) continue ;;
-    -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-    | -silent | --silent | --silen | --sile | --sil)
-      continue ;;
-    *\'*)
-      ac_arg=`$as_echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    case $ac_pass in
-    1) as_fn_append ac_configure_args0 " '$ac_arg'" ;;
-    2)
-      as_fn_append ac_configure_args1 " '$ac_arg'"
-      if test $ac_must_keep_next = true; then
-       ac_must_keep_next=false # Got value, back to normal.
-      else
-       case $ac_arg in
-         *=* | --config-cache | -C | -disable-* | --disable-* \
-         | -enable-* | --enable-* | -gas | --g* | -nfp | --nf* \
-         | -q | -quiet | --q* | -silent | --sil* | -v | -verb* \
-         | -with-* | --with-* | -without-* | --without-* | --x)
-           case "$ac_configure_args0 " in
-             "$ac_configure_args1"*" '$ac_arg' "* ) continue ;;
-           esac
-           ;;
-         -* ) ac_must_keep_next=true ;;
-       esac
-      fi
-      as_fn_append ac_configure_args " '$ac_arg'"
-      ;;
-    esac
-  done
-done
-{ ac_configure_args0=; unset ac_configure_args0;}
-{ ac_configure_args1=; unset ac_configure_args1;}
-
-# When interrupted or exit'd, cleanup temporary files, and complete
-# config.log.  We remove comments because anyway the quotes in there
-# would cause problems or look ugly.
-# WARNING: Use '\'' to represent an apostrophe within the trap.
-# WARNING: Do not start the trap code with a newline, due to a FreeBSD 4.0 bug.
-trap 'exit_status=$?
-  # Save into config.log some information that might help in debugging.
-  {
-    echo
-
-    $as_echo "## ---------------- ##
-## Cache variables. ##
-## ---------------- ##"
-    echo
-    # The following way of writing the cache mishandles newlines in values,
-(
-  for ac_var in `(set) 2>&1 | sed -n '\''s/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'\''`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-  (set) 2>&1 |
-    case $as_nl`(ac_space='\'' '\''; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      sed -n \
-       "s/'\''/'\''\\\\'\'''\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\''\\2'\''/p"
-      ;; #(
-    *)
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-)
-    echo
-
-    $as_echo "## ----------------- ##
-## Output variables. ##
-## ----------------- ##"
-    echo
-    for ac_var in $ac_subst_vars
-    do
-      eval ac_val=\$$ac_var
-      case $ac_val in
-      *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-      esac
-      $as_echo "$ac_var='\''$ac_val'\''"
-    done | sort
-    echo
-
-    if test -n "$ac_subst_files"; then
-      $as_echo "## ------------------- ##
-## File substitutions. ##
-## ------------------- ##"
-      echo
-      for ac_var in $ac_subst_files
-      do
-       eval ac_val=\$$ac_var
-       case $ac_val in
-       *\'\''*) ac_val=`$as_echo "$ac_val" | sed "s/'\''/'\''\\\\\\\\'\'''\''/g"`;;
-       esac
-       $as_echo "$ac_var='\''$ac_val'\''"
-      done | sort
-      echo
-    fi
-
-    if test -s confdefs.h; then
-      $as_echo "## ----------- ##
-## confdefs.h. ##
-## ----------- ##"
-      echo
-      cat confdefs.h
-      echo
-    fi
-    test "$ac_signal" != 0 &&
-      $as_echo "$as_me: caught signal $ac_signal"
-    $as_echo "$as_me: exit $exit_status"
-  } >&5
-  rm -f core *.core core.conftest.* &&
-    rm -f -r conftest* confdefs* conf$$* $ac_clean_files &&
-    exit $exit_status
-' 0
-for ac_signal in 1 2 13 15; do
-  trap 'ac_signal='$ac_signal'; as_fn_exit 1' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -f -r conftest* confdefs.h
-
-$as_echo "/* confdefs.h */" > confdefs.h
-
-# Predefined preprocessor variables.
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_NAME "$PACKAGE_NAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_TARNAME "$PACKAGE_TARNAME"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_VERSION "$PACKAGE_VERSION"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_STRING "$PACKAGE_STRING"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_BUGREPORT "$PACKAGE_BUGREPORT"
-_ACEOF
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE_URL "$PACKAGE_URL"
-_ACEOF
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer an explicitly selected file to automatically selected ones.
-ac_site_file1=NONE
-ac_site_file2=NONE
-if test -n "$CONFIG_SITE"; then
-  # We do not want a PATH search for config.site.
-  case $CONFIG_SITE in #((
-    -*)  ac_site_file1=./$CONFIG_SITE;;
-    */*) ac_site_file1=$CONFIG_SITE;;
-    *)   ac_site_file1=./$CONFIG_SITE;;
-  esac
-elif test "x$prefix" != xNONE; then
-  ac_site_file1=$prefix/share/config.site
-  ac_site_file2=$prefix/etc/config.site
-else
-  ac_site_file1=$ac_default_prefix/share/config.site
-  ac_site_file2=$ac_default_prefix/etc/config.site
-fi
-for ac_site_file in "$ac_site_file1" "$ac_site_file2"
-do
-  test "x$ac_site_file" = xNONE && continue
-  if test /dev/null != "$ac_site_file" && test -r "$ac_site_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading site script $ac_site_file" >&5
-$as_echo "$as_me: loading site script $ac_site_file" >&6;}
-    sed 's/^/| /' "$ac_site_file" >&5
-    . "$ac_site_file" \
-      || { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "failed to load site script $ac_site_file
-See \`config.log' for more details" "$LINENO" 5; }
-  fi
-done
-
-if test -r "$cache_file"; then
-  # Some versions of bash will fail to source /dev/null (special files
-  # actually), so we avoid doing that.  DJGPP emulates it as a regular file.
-  if test /dev/null != "$cache_file" && test -f "$cache_file"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: loading cache $cache_file" >&5
-$as_echo "$as_me: loading cache $cache_file" >&6;}
-    case $cache_file in
-      [\\/]* | ?:[\\/]* ) . "$cache_file";;
-      *)                      . "./$cache_file";;
-    esac
-  fi
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: creating cache $cache_file" >&5
-$as_echo "$as_me: creating cache $cache_file" >&6;}
-  >$cache_file
-fi
-
-# Check that the precious variables saved in the cache have kept the same
-# value.
-ac_cache_corrupted=false
-for ac_var in $ac_precious_vars; do
-  eval ac_old_set=\$ac_cv_env_${ac_var}_set
-  eval ac_new_set=\$ac_env_${ac_var}_set
-  eval ac_old_val=\$ac_cv_env_${ac_var}_value
-  eval ac_new_val=\$ac_env_${ac_var}_value
-  case $ac_old_set,$ac_new_set in
-    set,)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,set)
-      { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' was not set in the previous run" >&5
-$as_echo "$as_me: error: \`$ac_var' was not set in the previous run" >&2;}
-      ac_cache_corrupted=: ;;
-    ,);;
-    *)
-      if test "x$ac_old_val" != "x$ac_new_val"; then
-       # differences in whitespace do not lead to failure.
-       ac_old_val_w=`echo x $ac_old_val`
-       ac_new_val_w=`echo x $ac_new_val`
-       if test "$ac_old_val_w" != "$ac_new_val_w"; then
-         { $as_echo "$as_me:${as_lineno-$LINENO}: error: \`$ac_var' has changed since the previous run:" >&5
-$as_echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
-         ac_cache_corrupted=:
-       else
-         { $as_echo "$as_me:${as_lineno-$LINENO}: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&5
-$as_echo "$as_me: warning: ignoring whitespace changes in \`$ac_var' since the previous run:" >&2;}
-         eval $ac_var=\$ac_old_val
-       fi
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   former value:  \`$ac_old_val'" >&5
-$as_echo "$as_me:   former value:  \`$ac_old_val'" >&2;}
-       { $as_echo "$as_me:${as_lineno-$LINENO}:   current value: \`$ac_new_val'" >&5
-$as_echo "$as_me:   current value: \`$ac_new_val'" >&2;}
-      fi;;
-  esac
-  # Pass precious variables to config.status.
-  if test "$ac_new_set" = set; then
-    case $ac_new_val in
-    *\'*) ac_arg=$ac_var=`$as_echo "$ac_new_val" | sed "s/'/'\\\\\\\\''/g"` ;;
-    *) ac_arg=$ac_var=$ac_new_val ;;
-    esac
-    case " $ac_configure_args " in
-      *" '$ac_arg' "*) ;; # Avoid dups.  Use of quotes ensures accuracy.
-      *) as_fn_append ac_configure_args " '$ac_arg'" ;;
-    esac
-  fi
-done
-if $ac_cache_corrupted; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-  { $as_echo "$as_me:${as_lineno-$LINENO}: error: changes in the environment can compromise the build" >&5
-$as_echo "$as_me: error: changes in the environment can compromise the build" >&2;}
-  as_fn_error $? "run \`make distclean' and/or \`rm $cache_file' and start over" "$LINENO" 5
-fi
-## -------------------- ##
-## Main body of script. ##
-## -------------------- ##
-
-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
-
-
-# This file contains common code used by all simulators.
-#
-# SIM_AC_COMMON invokes AC macros used by all simulators and by the common
-# directory.  It is intended to be invoked before any target specific stuff.
-# SIM_AC_OUTPUT is a cover function to AC_OUTPUT to generate the Makefile.
-# It is intended to be invoked last.
-#
-# See README-HACKING for more details.
-
-# Include global overrides and fixes for Autoconf.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# libtool.m4 - Configure libtool for the host system. -*-Autoconf-*-
-#
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-
-
-# serial 56 LT_INIT
-
-
-# LT_PREREQ(VERSION)
-# ------------------
-# Complain and exit if this libtool version is less that VERSION.
-
-
-
-# _LT_CHECK_BUILDDIR
-# ------------------
-# Complain if the absolute build directory name contains unusual characters
-
-
-
-# LT_INIT([OPTIONS])
-# ------------------
-# LT_INIT
-
-# Old names:
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-# _LT_CC_BASENAME(CC)
-# -------------------
-# Calculate cc_basename.  Skip known compiler wrappers and cross-prefix.
-
-
-
-# _LT_FILEUTILS_DEFAULTS
-# ----------------------
-# It is okay to use these file commands and assume they have been set
-# sensibly after `m4_require([_LT_FILEUTILS_DEFAULTS])'.
-# _LT_FILEUTILS_DEFAULTS
-
-
-# _LT_SETUP
-# ---------
-# _LT_SETUP
-
-
-# _LT_PREPARE_SED_QUOTE_VARS
-# --------------------------
-# Define a few sed substitution that help us do robust quoting.
-
-
-# _LT_PROG_LTMAIN
-# ---------------
-# Note that this code is called both from `configure', and `config.status'
-# now that we use AC_CONFIG_COMMANDS to generate libtool.  Notably,
-# `config.status' has no value for ac_aux_dir unless we are using Automake,
-# so we pass a copy along to make sure it has a sensible value anyway.
-# _LT_PROG_LTMAIN
-
-
-## ------------------------------------- ##
-## Accumulate code for creating libtool. ##
-## ------------------------------------- ##
-
-# So that we can recreate a full libtool script including additional
-# tags, we accumulate the chunks of code to send to AC_CONFIG_COMMANDS
-# in macros and then make a single call at the end using the `libtool'
-# label.
-
-
-# _LT_CONFIG_LIBTOOL_INIT([INIT-COMMANDS])
-# ----------------------------------------
-# Register INIT-COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-
-
-# Initialize.
-
-
-
-# _LT_CONFIG_LIBTOOL([COMMANDS])
-# ------------------------------
-# Register COMMANDS to be passed to AC_CONFIG_COMMANDS later.
-
-
-# Initialize.
-
-
-
-# _LT_CONFIG_SAVE_COMMANDS([COMMANDS], [INIT_COMMANDS])
-# -----------------------------------------------------
-
-
-
-# _LT_FORMAT_COMMENT([COMMENT])
-# -----------------------------
-# Add leading comment marks to the start of each line, and a trailing
-# full-stop to the whole comment if one is not present already.
-
-
-
-
-## ------------------------ ##
-## FIXME: Eliminate VARNAME ##
-## ------------------------ ##
-
-
-# _LT_DECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION], [IS-TAGGED?])
-# -------------------------------------------------------------------
-# CONFIGNAME is the name given to the value in the libtool script.
-# VARNAME is the (base) name used in the configure script.
-# VALUE may be 0, 1 or 2 for a computed quote escaped value based on
-# VARNAME.  Any other value will be used directly.
-
-
-
-# _LT_TAGDECL([CONFIGNAME], VARNAME, VALUE, [DESCRIPTION])
-# --------------------------------------------------------
-
-
-
-# lt_decl_tag_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-
-
-
-# _lt_decl_filter(SUBKEY, VALUE, [SEPARATOR], [VARNAME1..])
-# ---------------------------------------------------------
-
-
-
-# lt_decl_quote_varnames([SEPARATOR], [VARNAME1...])
-# --------------------------------------------------
-
-
-
-# lt_decl_dquote_varnames([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-
-
-
-# lt_decl_varnames_tagged([SEPARATOR], [VARNAME1...])
-# ---------------------------------------------------
-
-
-
-
-# lt_decl_all_varnames([SEPARATOR], [VARNAME1...])
-# ------------------------------------------------
-
-
-
-
-# _LT_CONFIG_STATUS_DECLARE([VARNAME])
-# ------------------------------------
-# Quote a variable value, and forward it to `config.status' so that its
-# declaration there will have the same value as in `configure'.  VARNAME
-# must have a single quote delimited value for this to work.
-
-
-
-# _LT_CONFIG_STATUS_DECLARATIONS
-# ------------------------------
-# We delimit libtool config variables with single quotes, so when
-# we write them to config.status, we have to be sure to quote all
-# embedded single quotes properly.  In configure, this macro expands
-# each variable declared with _LT_DECL (and _LT_TAGDECL) into:
-#
-#    <var>='`$ECHO "$<var>" | $SED "$delay_single_quote_subst"`'
-
-
-
-# _LT_LIBTOOL_TAGS
-# ----------------
-# Output comment and list of tags supported by the script
-
-
-
-# _LT_LIBTOOL_DECLARE(VARNAME, [TAG])
-# -----------------------------------
-# Extract the dictionary values for VARNAME (optionally with TAG) and
-# expand to a commented shell variable setting:
-#
-#    # Some comment about what VAR is for.
-#    visible_name=$lt_internal_name
-
-
-
-# _LT_LIBTOOL_CONFIG_VARS
-# -----------------------
-# Produce commented declarations of non-tagged libtool config variables
-# suitable for insertion in the LIBTOOL CONFIG section of the `libtool'
-# script.  Tagged libtool config variables (even for the LIBTOOL CONFIG
-# section) are produced by _LT_LIBTOOL_TAG_VARS.
-
-
-
-# _LT_LIBTOOL_TAG_VARS(TAG)
-# -------------------------
-
-
-
-# _LT_TAGVAR(VARNAME, [TAGNAME])
-# ------------------------------
-
-
-
-# _LT_CONFIG_COMMANDS
-# -------------------
-# Send accumulated output to $CONFIG_STATUS.  Thanks to the lists of
-# variables for single and double quote escaping we saved from calls
-# to _LT_DECL, we can put quote escaped variables declarations
-# into `config.status', and then the shell code to quote escape them in
-# for loops in `config.status'.  Finally, any additional code accumulated
-# from calls to _LT_CONFIG_LIBTOOL_INIT is expanded.
-#_LT_CONFIG_COMMANDS
-
-
-# Initialize.
-
-
-# _LT_GENERATED_FILE_INIT(FILE, [COMMENT])
-# ------------------------------------
-# Generate a child script FILE with all initialization necessary to
-# reuse the environment learned by the parent script, and make the
-# file executable.  If COMMENT is supplied, it is inserted after the
-# `#!' sequence but before initialization text begins.  After this
-# macro, additional text can be appended to FILE to form the body of
-# the child script.  The macro ends with non-zero status if the
-# file could not be fully written (such as if the disk is full).
-# _LT_GENERATED_FILE_INIT
-
-# LT_OUTPUT
-# ---------
-# This macro allows early generation of the libtool script (before
-# AC_OUTPUT is called), incase it is used in configure for compilation
-# tests.
-# LT_OUTPUT
-
-
-# _LT_CONFIG(TAG)
-# ---------------
-# If TAG is the built-in tag, create an initial libtool script with a
-# default configuration from the untagged config vars.  Otherwise add code
-# to config.status for appending the configuration named by TAG from the
-# matching tagged config vars.
-# _LT_CONFIG
-
-
-# LT_SUPPORTED_TAG(TAG)
-# ---------------------
-# Trace this macro to discover what tags are supported by the libtool
-# --tag option, using:
-#    autoconf --trace 'LT_SUPPORTED_TAG:$1'
-
-
-
-# C support is built-in for now
-
-
-
-
-# LT_LANG(LANG)
-# -------------
-# Enable libtool support for the given language if not already enabled.
-# LT_LANG
-
-
-# _LT_LANG(LANGNAME)
-# ------------------
-# _LT_LANG
-
-
-# _LT_LANG_DEFAULT_CONFIG
-# -----------------------
-# _LT_LANG_DEFAULT_CONFIG
-
-# Obsolete macros:
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-# _LT_TAG_COMPILER
-# ----------------
-# _LT_TAG_COMPILER
-
-
-# _LT_COMPILER_BOILERPLATE
-# ------------------------
-# Check for compiler boilerplate output or warnings with
-# the simple compiler test code.
-# _LT_COMPILER_BOILERPLATE
-
-
-# _LT_LINKER_BOILERPLATE
-# ----------------------
-# Check for linker boilerplate output or warnings with
-# the simple link test code.
-# _LT_LINKER_BOILERPLATE
-
-# _LT_REQUIRED_DARWIN_CHECKS
-# -------------------------
-
-
-
-# _LT_DARWIN_LINKER_FEATURES
-# --------------------------
-# Checks for linker and compiler features on darwin
-
-
-# _LT_SYS_MODULE_PATH_AIX
-# -----------------------
-# Links a minimal program and checks the executable
-# for the system default hardcoded library path. In most cases,
-# this is /usr/lib:/lib, but when the MPI compilers are used
-# the location of the communication and MPI libs are included too.
-# If we don't find anything, use the default library path according
-# to the aix ld manual.
-# _LT_SYS_MODULE_PATH_AIX
-
-
-# _LT_SHELL_INIT(ARG)
-# -------------------
-# _LT_SHELL_INIT
-
-
-
-# _LT_PROG_ECHO_BACKSLASH
-# -----------------------
-# Find how we can fake an echo command that does not interpret backslash.
-# In particular, with Autoconf 2.60 or later we add some code to the start
-# of the generated configure script which will find a shell with a builtin
-# printf (which we can use as an echo command).
-# _LT_PROG_ECHO_BACKSLASH
-
-
-# _LT_ENABLE_LOCK
-# ---------------
-# _LT_ENABLE_LOCK
-
-
-# _LT_CMD_OLD_ARCHIVE
-# -------------------
-# _LT_CMD_OLD_ARCHIVE
-
-
-# _LT_COMPILER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#              [OUTPUT-FILE], [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------------------
-# Check whether the given compiler option works
-# _LT_COMPILER_OPTION
-
-# Old name:
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-# _LT_LINKER_OPTION(MESSAGE, VARIABLE-NAME, FLAGS,
-#                  [ACTION-SUCCESS], [ACTION-FAILURE])
-# ----------------------------------------------------
-# Check whether the given linker option works
-# _LT_LINKER_OPTION
-
-# Old name:
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-# LT_CMD_MAX_LEN
-#---------------
-# LT_CMD_MAX_LEN
-
-# Old name:
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-# _LT_HEADER_DLFCN
-# ----------------
-# _LT_HEADER_DLFCN
-
-
-# _LT_TRY_DLOPEN_SELF (ACTION-IF-TRUE, ACTION-IF-TRUE-W-USCORE,
-#                      ACTION-IF-FALSE, ACTION-IF-CROSS-COMPILING)
-# ----------------------------------------------------------------
-# _LT_TRY_DLOPEN_SELF
-
-
-# LT_SYS_DLOPEN_SELF
-# ------------------
-# LT_SYS_DLOPEN_SELF
-
-# Old name:
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-# _LT_COMPILER_C_O([TAGNAME])
-# ---------------------------
-# Check to see if options -c and -o are simultaneously supported by compiler.
-# This macro does not hard code the compiler like AC_PROG_CC_C_O.
-# _LT_COMPILER_C_O
-
-
-# _LT_COMPILER_FILE_LOCKS([TAGNAME])
-# ----------------------------------
-# Check to see if we can do hard links to lock some files if needed
-# _LT_COMPILER_FILE_LOCKS
-
-
-# _LT_CHECK_OBJDIR
-# ----------------
-# _LT_CHECK_OBJDIR
-
-
-# _LT_LINKER_HARDCODE_LIBPATH([TAGNAME])
-# --------------------------------------
-# Check hardcoding attributes.
-# _LT_LINKER_HARDCODE_LIBPATH
-
-
-# _LT_CMD_STRIPLIB
-# ----------------
-# _LT_CMD_STRIPLIB
-
-
-# _LT_SYS_DYNAMIC_LINKER([TAG])
-# -----------------------------
-# PORTME Fill in your ld.so characteristics
-# _LT_SYS_DYNAMIC_LINKER
-
-
-# _LT_PATH_TOOL_PREFIX(TOOL)
-# --------------------------
-# find a file program which can recognize shared library
-# _LT_PATH_TOOL_PREFIX
-
-# Old name:
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-# _LT_PATH_MAGIC
-# --------------
-# find a file program which can recognize a shared library
-# _LT_PATH_MAGIC
-
-
-# LT_PATH_LD
-# ----------
-# find the pathname to the GNU or non-GNU linker
-# LT_PATH_LD
-
-# Old names:
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-# _LT_PATH_LD_GNU
-#- --------------
-# _LT_PATH_LD_GNU
-
-
-# _LT_CMD_RELOAD
-# --------------
-# find reload flag for linker
-#   -- PORTME Some linkers may need a different reload flag.
-# _LT_CMD_RELOAD
-
-
-# _LT_CHECK_MAGIC_METHOD
-# ----------------------
-# how to check for library dependencies
-#  -- PORTME fill in with the dynamic library characteristics
-# _LT_CHECK_MAGIC_METHOD
-
-
-# LT_PATH_NM
-# ----------
-# find the pathname to a BSD- or MS-compatible name lister
-# LT_PATH_NM
-
-# Old names:
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-# LT_LIB_M
-# --------
-# check for math library
-# LT_LIB_M
-
-# Old name:
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-# _LT_COMPILER_NO_RTTI([TAGNAME])
-# -------------------------------
-# _LT_COMPILER_NO_RTTI
-
-
-# _LT_CMD_GLOBAL_SYMBOLS
-# ----------------------
- # _LT_CMD_GLOBAL_SYMBOLS
-
-
-# _LT_COMPILER_PIC([TAGNAME])
-# ---------------------------
-# _LT_COMPILER_PIC
-
-
-# _LT_LINKER_SHLIBS([TAGNAME])
-# ----------------------------
-# See if the linker supports building shared libraries.
-# _LT_LINKER_SHLIBS
-
-
-# _LT_LANG_C_CONFIG([TAG])
-# ------------------------
-# Ensure that the configuration variables for a C compiler are suitably
-# defined.  These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-# _LT_LANG_C_CONFIG
-
-
-# _LT_LANG_CXX_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a C++ compiler are suitably
-# defined.  These variables are subsequently used by _LT_CONFIG to write
-# the compiler configuration to `libtool'.
-# _LT_LANG_CXX_CONFIG
-
-
-# _LT_SYS_HIDDEN_LIBDEPS([TAGNAME])
-# ---------------------------------
-# Figure out "hidden" library dependencies from verbose
-# compiler output when linking a shared library.
-# Parse the compiler output and extract the necessary
-# objects, libraries and library flags.
-# _LT_SYS_HIDDEN_LIBDEPS
-
-
-# _LT_LANG_F77_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for a Fortran 77 compiler are
-# suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-# _LT_LANG_F77_CONFIG
-
-
-# _LT_LANG_FC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for a Fortran compiler are
-# suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-# _LT_LANG_FC_CONFIG
-
-
-# _LT_LANG_GCJ_CONFIG([TAG])
-# --------------------------
-# Ensure that the configuration variables for the GNU Java Compiler compiler
-# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-# _LT_LANG_GCJ_CONFIG
-
-
-# _LT_LANG_RC_CONFIG([TAG])
-# -------------------------
-# Ensure that the configuration variables for the Windows resource compiler
-# are suitably defined.  These variables are subsequently used by _LT_CONFIG
-# to write the compiler configuration to `libtool'.
-# _LT_LANG_RC_CONFIG
-
-
-# LT_PROG_GCJ
-# -----------
-
-
-# Old name:
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-# LT_PROG_RC
-# ----------
-
-
-# Old name:
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-# _LT_DECL_EGREP
-# --------------
-# If we don't have a new enough Autoconf to choose the best grep
-# available, choose the one first in the user's PATH.
-
-
-
-# _LT_DECL_OBJDUMP
-# --------------
-# If we don't have a new enough Autoconf to choose the best objdump
-# available, choose the one first in the user's PATH.
-
-
-
-# _LT_DECL_SED
-# ------------
-# Check for a fully-functional sed program, that truncates
-# as few characters as possible.  Prefer GNU sed if found.
-# _LT_DECL_SED
-
-#m4_ifndef
-
-# Old name:
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-# _LT_CHECK_SHELL_FEATURES
-# ------------------------
-# Find out whether the shell is Bourne or XSI compatible,
-# or has some other useful features.
-# _LT_CHECK_SHELL_FEATURES
-
-
-# _LT_PROG_XSI_SHELLFNS
-# ---------------------
-# Bourne and XSI compatible variants of some useful shell functions.
-
-
-# Helper functions for option handling.                    -*- Autoconf -*-
-#
-#   Copyright (C) 2004, 2005, 2007, 2008, 2009 Free Software Foundation,
-#   Inc.
-#   Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 6 ltoptions.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-
-
-
-# _LT_MANGLE_OPTION(MACRO-NAME, OPTION-NAME)
-# ------------------------------------------
-
-
-
-# _LT_SET_OPTION(MACRO-NAME, OPTION-NAME)
-# ---------------------------------------
-# Set option OPTION-NAME for macro MACRO-NAME, and if there is a
-# matching handler defined, dispatch to it.  Other OPTION-NAMEs are
-# saved as a flag.
-
-
-
-# _LT_IF_OPTION(MACRO-NAME, OPTION-NAME, IF-SET, [IF-NOT-SET])
-# ------------------------------------------------------------
-# Execute IF-SET if OPTION is set, IF-NOT-SET otherwise.
-
-
-
-# _LT_UNLESS_OPTIONS(MACRO-NAME, OPTION-LIST, IF-NOT-SET)
-# -------------------------------------------------------
-# Execute IF-NOT-SET unless all options in OPTION-LIST for MACRO-NAME
-# are set.
-
-
-
-# _LT_SET_OPTIONS(MACRO-NAME, OPTION-LIST)
-# ----------------------------------------
-# OPTION-LIST is a space-separated list of Libtool options associated
-# with MACRO-NAME.  If any OPTION has a matching handler declared with
-# LT_OPTION_DEFINE, dispatch to that macro; otherwise complain about
-# the unknown option and exit.
-# _LT_SET_OPTIONS
-
-
-## --------------------------------- ##
-## Macros to handle LT_INIT options. ##
-## --------------------------------- ##
-
-# _LT_MANGLE_DEFUN(MACRO-NAME, OPTION-NAME)
-# -----------------------------------------
-
-
-
-# LT_OPTION_DEFINE(MACRO-NAME, OPTION-NAME, CODE)
-# -----------------------------------------------
-# LT_OPTION_DEFINE
-
-
-# dlopen
-# ------
-
-
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-
-# win32-dll
-# ---------
-# Declare package support for building win32 dll's.
-# win32-dll
-
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-
-# _LT_ENABLE_SHARED([DEFAULT])
-# ----------------------------
-# implement the --enable-shared flag, and supports the `shared' and
-# `disable-shared' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-# _LT_ENABLE_SHARED
-
-
-
-
-# Old names:
-
-
-
-
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-
-
-# _LT_ENABLE_STATIC([DEFAULT])
-# ----------------------------
-# implement the --enable-static flag, and support the `static' and
-# `disable-static' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-# _LT_ENABLE_STATIC
-
-
-
-
-# Old names:
-
-
-
-
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-
-
-# _LT_ENABLE_FAST_INSTALL([DEFAULT])
-# ----------------------------------
-# implement the --enable-fast-install flag, and support the `fast-install'
-# and `disable-fast-install' LT_INIT options.
-# DEFAULT is either `yes' or `no'.  If omitted, it defaults to `yes'.
-# _LT_ENABLE_FAST_INSTALL
-
-
-
-
-# Old names:
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-
-# _LT_WITH_PIC([MODE])
-# --------------------
-# implement the --with-pic flag, and support the `pic-only' and `no-pic'
-# LT_INIT options.
-# MODE is either `yes' or `no'.  If omitted, it defaults to `both'.
-# _LT_WITH_PIC
-
-
-
-
-# Old name:
-# This is what autoupdate's m4 run will expand.  It fires
-# the warning (with _au_warn_XXX), outputs it into the
-# updated configure.ac (with AC_DIAGNOSE), and then outputs
-# the replacement expansion.
-
-
-# This is an auxiliary macro that is also run when
-# autoupdate runs m4.  It simply calls m4_warning, but
-# we need a wrapper so that each warning is emitted only
-# once.  We break the quoting in m4_warning's argument in
-# order to expand this macro's arguments, not AU_DEFUN's.
-
-
-# Finally, this is the expansion that is picked up by
-# autoconf.  It tells the user to run autoupdate, and
-# then outputs the replacement expansion.  We do not care
-# about autoupdate's warning because that contains
-# information on what to do *after* running autoupdate.
-
-
-
-## ----------------- ##
-## LTDL_INIT Options ##
-## ----------------- ##
-
-
-
-
-
-
-
-
-
-
-# ltsugar.m4 -- libtool m4 base layer.                         -*-Autoconf-*-
-#
-# Copyright (C) 2004, 2005, 2007, 2008 Free Software Foundation, Inc.
-# Written by Gary V. Vaughan, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 6 ltsugar.m4
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-
-
-
-# lt_join(SEP, ARG1, [ARG2...])
-# -----------------------------
-# Produce ARG1SEPARG2...SEPARGn, omitting [] arguments and their
-# associated separator.
-# Needed until we can rely on m4_join from Autoconf 2.62, since all earlier
-# versions in m4sugar had bugs.
-
-
-
-
-# lt_car(LIST)
-# lt_cdr(LIST)
-# ------------
-# Manipulate m4 lists.
-# These macros are necessary as long as will still need to support
-# Autoconf-2.59 which quotes differently.
-
-
-
-
-
-# lt_append(MACRO-NAME, STRING, [SEPARATOR])
-# ------------------------------------------
-# Redefine MACRO-NAME to hold its former content plus `SEPARATOR'`STRING'.
-# Note that neither SEPARATOR nor STRING are expanded; they are appended
-# to MACRO-NAME as is (leaving the expansion for when MACRO-NAME is invoked).
-# No SEPARATOR is output if MACRO-NAME was previously undefined (different
-# than defined and empty).
-#
-# This macro is needed until we can rely on Autoconf 2.62, since earlier
-# versions of m4sugar mistakenly expanded SEPARATOR but not STRING.
-
-
-
-
-# lt_combine(SEP, PREFIX-LIST, INFIX, SUFFIX1, [SUFFIX2...])
-# ----------------------------------------------------------
-# Produce a SEP delimited list of all paired combinations of elements of
-# PREFIX-LIST with SUFFIX1 through SUFFIXn.  Each element of the list
-# has the form PREFIXmINFIXSUFFIXn.
-# Needed until we can rely on m4_combine added in Autoconf 2.62.
-
-
-
-# lt_if_append_uniq(MACRO-NAME, VARNAME, [SEPARATOR], [UNIQ], [NOT-UNIQ])
-# -----------------------------------------------------------------------
-# Iff MACRO-NAME does not yet contain VARNAME, then append it (delimited
-# by SEPARATOR if supplied) and expand UNIQ, else NOT-UNIQ.
-
-
-
-# lt_dict_add(DICT, KEY, VALUE)
-# -----------------------------
-
-
-
-# lt_dict_add_subkey(DICT, KEY, SUBKEY, VALUE)
-# --------------------------------------------
-
-
-
-# lt_dict_fetch(DICT, KEY, [SUBKEY])
-# ----------------------------------
-
-
-
-# lt_if_dict_fetch(DICT, KEY, [SUBKEY], VALUE, IF-TRUE, [IF-FALSE])
-# -----------------------------------------------------------------
-
-
-
-# lt_dict_filter(DICT, [SUBKEY], VALUE, [SEPARATOR], KEY, [...])
-# --------------------------------------------------------------
-
-
-# ltversion.m4 -- version numbers                      -*- Autoconf -*-
-#
-#   Copyright (C) 2004 Free Software Foundation, Inc.
-#   Written by Scott James Remnant, 2004
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# Generated from ltversion.in.
-
-# serial 3134 ltversion.m4
-# This file is part of GNU Libtool
-
-
-
-
-
-
-# lt~obsolete.m4 -- aclocal satisfying obsolete definitions.    -*-Autoconf-*-
-#
-#   Copyright (C) 2004, 2005, 2007, 2009 Free Software Foundation, Inc.
-#   Written by Scott James Remnant, 2004.
-#
-# This file is free software; the Free Software Foundation gives
-# unlimited permission to copy and/or distribute it, with or without
-# modifications, as long as this notice is preserved.
-
-# serial 4 lt~obsolete.m4
-
-# These exist entirely to fool aclocal when bootstrapping libtool.
-#
-# In the past libtool.m4 has provided macros via AC_DEFUN (or AU_DEFUN)
-# which have later been changed to m4_define as they aren't part of the
-# exported API, or moved to Autoconf or Automake where they belong.
-#
-# The trouble is, aclocal is a bit thick.  It'll see the old AC_DEFUN
-# in /usr/share/aclocal/libtool.m4 and remember it, then when it sees us
-# using a macro with the same name in our local m4/libtool.m4 it'll
-# pull the old libtool.m4 in (it doesn't see our shiny new m4_define
-# and doesn't know about Autoconf macros at all.)
-#
-# So we provide this file, which has a silly filename so it's always
-# included after everything else.  This provides aclocal with the
-# AC_DEFUNs it wants, but when m4 processes it, it doesn't do anything
-# because those macros already exist, or will be overwritten later.
-# We use AC_DEFUN over AU_DEFUN for compatibility with aclocal-1.6.
-#
-# Anytime we withdraw an AC_DEFUN or AU_DEFUN, remember to add it here.
-# Yes, that means every name once taken will need to remain here until
-# we give up compatibility with versions before 1.7, at which point
-# we need to keep only those names which we still refer to.
-
-# This is to help aclocal find these macros, as it can't see m4_define.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-##                                                          -*- Autoconf -*-
-
-# Copyright (C) 1999, 2000, 2001, 2002, 2003, 2004, 2005, 2007
-# Free Software Foundation, Inc.
-#
-# This file is free software; the Free Software Foundation
-# gives unlimited permission to copy and/or distribute it,
-# with or without modifications, as long as this notice is preserved.
-
-# serial 8
-
-# Based on depend.m4 from automake 1.9, modified for standalone use in
-# an environment where GNU make is required.
-
-# ZW_PROG_COMPILER_DEPENDENCIES
-# -----------------------------
-# Variant of _AM_DEPENDENCIES which just does the dependency probe and
-# sets fooDEPMODE accordingly.  Cache-variable compatible with
-# original; not side-effect compatible.  As the users of this macro
-# may require accurate dependencies for correct builds, it does *not*
-# honor --disable-dependency-checking, and failure to detect a usable
-# method is an error.  depcomp is assumed to be located in
-# $ac_aux_dir.
-#
-# FIXME: Should use the Autoconf 2.5x language-selection mechanism.
-
-
-
-# AM_SET_DEPDIR
-# -------------
-# Choose a directory name for dependency files.
-
-
-# ZW_CREATE_DEPDIR
-# ----------------
-# As AM_SET_DEPDIR, but also create the directory at config.status time.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# intl sister-directory configuration rules.
-#
-
-# The idea behind this macro is that there's no need to repeat all the
-# autoconf probes done by the intl directory - it's already done them
-# for us.  In fact, there's no need even to look at the cache for the
-# answers.  All we need to do is nab a few pieces of information.
-# The intl directory is set up to make this easy, by generating a
-# small file which can be sourced as a shell script; then we produce
-# the necessary substitutions and definitions for this directory.
-
-
-
-# Autoconf M4 include file defining utility macros for complex Canadian
-# cross builds.
-
-
-
-
-
-
-
-
-
-####
-# _NCN_TOOL_PREFIXES:  Some stuff that oughtta be done in AC_CANONICAL_SYSTEM
-# or AC_INIT.
-# These demand that AC_CANONICAL_SYSTEM be called beforehand.
-
-####
-# NCN_STRICT_CHECK_TOOLS(variable, progs-to-check-for,[value-if-not-found],[path])
-# Like plain AC_CHECK_TOOLS, but require prefix if build!=host.
-
-
-####
-# NCN_STRICT_CHECK_TARGET_TOOLS(variable, progs-to-check-for,[value-if-not-found],[path])
-# Like CVS Autoconf AC_CHECK_TARGET_TOOLS, but require prefix if build!=target.
-
-
-
-# Backported from Autoconf 2.5x; can go away when and if
-# we switch.  Put the OS path separator in $PATH_SEPARATOR.
-
-
-
-
-
-
-
-
-# ACX_HAVE_GCC_FOR_TARGET
-# Check if the variable GCC_FOR_TARGET really points to a GCC binary.
-
-
-# ACX_CHECK_INSTALLED_TARGET_TOOL(VAR, PROG)
-# Searching for installed target binutils.  We need to take extra care,
-# else we may find the wrong assembler, linker, etc., and lose.
-#
-# First try --with-build-time-tools, if specified.
-#
-# For build != host, we ask the installed GCC for the name of the tool it
-# uses, and accept it if it is an absolute path.  This is because the
-# only good choice for a compiler is the same GCC version that is being
-# installed (or we couldn't make target libraries), and we assume that
-# on the host system we'll have not only the same GCC version, but also
-# the same binutils version.
-#
-# For build == host, search the same directories that the installed
-# compiler will search.  We used to do this for the assembler, linker,
-# and nm only; for simplicity of configuration, however, we extend this
-# criterion to tools (such as ar and ranlib) that are never invoked by
-# the compiler, to avoid mismatches.
-#
-# Also note we have to check MD_EXEC_PREFIX before checking the user's path
-# if build == target.  This makes the most sense only when bootstrapping,
-# but we also do so when build != host.  In this case, we hope that the
-# build and host systems will have similar contents of MD_EXEC_PREFIX.
-#
-# If we do not find a suitable binary, then try the user's path.
-
-
-###
-# AC_PROG_CPP_WERROR
-# Used for autoconf 2.5x to force AC_PREPROC_IFELSE to reject code which
-# triggers warnings from the preprocessor.  Will be in autoconf 2.58.
-# For now, using this also overrides header checks to use only the
-# preprocessor (matches 2.13 behavior; matching 2.58's behavior is a
-# bit harder from here).
-# Eventually autoconf will default to checking headers with the compiler
-# instead, and we'll have to do this differently.
-
-# AC_PROG_CPP_WERROR
-
-# Test for GNAT.
-# We require the gnatbind & gnatmake programs, as well as a compiler driver
-# that understands Ada.  We use the user's CC setting, already found, and
-# possibly add $1 to the command-line parameters.
-#
-# Sets the shell variable have_gnat to yes or no as appropriate, and
-# substitutes GNATBIND and GNATMAKE.
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-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
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}gcc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_CC"; then
-  ac_ct_CC=$CC
-  # Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="gcc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-else
-  CC="$ac_cv_prog_CC"
-fi
-
-if test -z "$CC"; then
-          if test -n "$ac_tool_prefix"; then
-    # Extract the first word of "${ac_tool_prefix}cc", so it can be a program name with args.
-set dummy ${ac_tool_prefix}cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="${ac_tool_prefix}cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  fi
-fi
-if test -z "$CC"; then
-  # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-  ac_prog_rejected=no
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    if test "$as_dir/$ac_word$ac_exec_ext" = "/usr/ucb/cc"; then
-       ac_prog_rejected=yes
-       continue
-     fi
-    ac_cv_prog_CC="cc"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-if test $ac_prog_rejected = yes; then
-  # We found a bogon in the path, so make sure we never use it.
-  set dummy $ac_cv_prog_CC
-  shift
-  if test $# != 0; then
-    # We chose a different compiler from the bogus one.
-    # However, it has the same basename, so the bogon will be chosen
-    # first if we set CC to just the basename; use the full file name.
-    shift
-    ac_cv_prog_CC="$as_dir/$ac_word${1+' '}$@"
-  fi
-fi
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$CC"; then
-  if test -n "$ac_tool_prefix"; then
-  for ac_prog in cl.exe
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$CC"; then
-  ac_cv_prog_CC="$CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $CC" >&5
-$as_echo "$CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$CC" && break
-  done
-fi
-if test -z "$CC"; then
-  ac_ct_CC=$CC
-  for ac_prog in cl.exe
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_CC+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_CC"; then
-  ac_cv_prog_ac_ct_CC="$ac_ct_CC" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_CC="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_CC" >&5
-$as_echo "$ac_ct_CC" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_CC" && break
-done
-
-  if test "x$ac_ct_CC" = x; then
-    CC=""
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    CC=$ac_ct_CC
-  fi
-fi
-
-fi
-
-
-test -z "$CC" && { { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "no acceptable C compiler found in \$PATH
-See \`config.log' for more details" "$LINENO" 5; }
-
-# Provide some information about the compiler.
-$as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler version" >&5
-set X $ac_compile
-ac_compiler=$2
-for ac_option in --version -v -V -qversion; do
-  { { ac_try="$ac_compiler $ac_option >&5"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compiler $ac_option >&5") 2>conftest.err
-  ac_status=$?
-  if test -s conftest.err; then
-    sed '10a\
-... rest of stderr output deleted ...
-         10q' conftest.err >conftest.er1
-    cat conftest.er1 >&5
-  fi
-  rm -f conftest.er1 conftest.err
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-done
-
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out a.out.dSYM a.exe b.out"
-# Try to create an executable without -o first, disregard a.out.
-# It will help us diagnose broken compilers, and finding out an intuition
-# of exeext.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler works" >&5
-$as_echo_n "checking whether the C compiler works... " >&6; }
-ac_link_default=`$as_echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-
-# The possible output files:
-ac_files="a.out conftest.exe conftest a.exe a_out.exe b.out conftest.*"
-
-ac_rmfiles=
-for ac_file in $ac_files
-do
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    * ) ac_rmfiles="$ac_rmfiles $ac_file";;
-  esac
-done
-rm -f $ac_rmfiles
-
-if { { ac_try="$ac_link_default"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link_default") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # Autoconf-2.13 could set the ac_cv_exeext variable to `no'.
-# So ignore a value of `no', otherwise this would lead to `EXEEXT = no'
-# in a Makefile.  We should not override ac_cv_exeext if it was cached,
-# so that the user can short-circuit this test for compilers unknown to
-# Autoconf.
-for ac_file in $ac_files ''
-do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj )
-       ;;
-    [ab].out )
-       # We found the default executable, but exeext='' is most
-       # certainly right.
-       break;;
-    *.* )
-       if test "${ac_cv_exeext+set}" = set && test "$ac_cv_exeext" != no;
-       then :; else
-          ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-       fi
-       # We set ac_cv_exeext here because the later test for it is not
-       # safe: cross compilers may not add the suffix if given an `-o'
-       # argument, so we may need to know it at that point already.
-       # Even if this section looks crufty: it has the advantage of
-       # actually working.
-       break;;
-    * )
-       break;;
-  esac
-done
-test "$ac_cv_exeext" = no && ac_cv_exeext=
-
-else
-  ac_file=''
-fi
-if test -z "$ac_file"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-$as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error 77 "C compiler cannot create executables
-See \`config.log' for more details" "$LINENO" 5; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for C compiler default output file name" >&5
-$as_echo_n "checking for C compiler default output file name... " >&6; }
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_file" >&5
-$as_echo "$ac_file" >&6; }
-ac_exeext=$ac_cv_exeext
-
-rm -f -r a.out a.out.dSYM a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of executables" >&5
-$as_echo_n "checking for suffix of executables... " >&6; }
-if { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  # If both `conftest.exe' and `conftest' are `present' (well, observable)
-# catch `conftest.exe'.  For instance with Cygwin, `ls conftest' will
-# work properly (i.e., refer to `conftest.exe'), while it won't with
-# `rm'.
-for ac_file in conftest.exe conftest conftest.*; do
-  test -f "$ac_file" || continue
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM | *.o | *.obj ) ;;
-    *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
-         break;;
-    * ) break;;
-  esac
-done
-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 $? "cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest conftest$ac_cv_exeext
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_exeext" >&5
-$as_echo "$ac_cv_exeext" >&6; }
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdio.h>
-int
-main ()
-{
-FILE *f = fopen ("conftest.out", "w");
- return ferror (f) || fclose (f) != 0;
-
-  ;
-  return 0;
-}
-_ACEOF
-ac_clean_files="$ac_clean_files conftest.out"
-# Check that the compiler produces executables we can run.  If not, either
-# the compiler is broken, or we cross compile.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are cross compiling" >&5
-$as_echo_n "checking whether we are cross compiling... " >&6; }
-if test "$cross_compiling" != yes; then
-  { { ac_try="$ac_link"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_link") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-  if { ac_try='./conftest$ac_cv_exeext'
-  { { case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_try") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; }; then
-    cross_compiling=no
-  else
-    if test "$cross_compiling" = maybe; then
-       cross_compiling=yes
-    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 $? "cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details" "$LINENO" 5; }
-    fi
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $cross_compiling" >&5
-$as_echo "$cross_compiling" >&6; }
-
-rm -f conftest.$ac_ext conftest$ac_cv_exeext conftest.out
-ac_clean_files=$ac_clean_files_save
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for suffix of object files" >&5
-$as_echo_n "checking for suffix of object files... " >&6; }
-if ${ac_cv_objext+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { { ac_try="$ac_compile"
-case "(($ac_try" in
-  *\"* | *\`* | *\\*) ac_try_echo=\$ac_try;;
-  *) ac_try_echo=$ac_try;;
-esac
-eval ac_try_echo="\"\$as_me:${as_lineno-$LINENO}: $ac_try_echo\""
-$as_echo "$ac_try_echo"; } >&5
-  (eval "$ac_compile") 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then :
-  for ac_file in conftest.o conftest.obj conftest.*; do
-  test -f "$ac_file" || continue;
-  case $ac_file in
-    *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.map | *.inf | *.dSYM ) ;;
-    *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
-       break;;
-  esac
-done
-else
-  $as_echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { $as_echo "$as_me:${as_lineno-$LINENO}: error: in \`$ac_pwd':" >&5
-$as_echo "$as_me: error: in \`$ac_pwd':" >&2;}
-as_fn_error $? "cannot compute suffix of object files: cannot compile
-See \`config.log' for more details" "$LINENO" 5; }
-fi
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_objext" >&5
-$as_echo "$ac_cv_objext" >&6; }
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether we are using the GNU C compiler" >&5
-$as_echo_n "checking whether we are using the GNU C compiler... " >&6; }
-if ${ac_cv_c_compiler_gnu+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-#ifndef __GNUC__
-       choke me
-#endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_compiler_gnu=yes
-else
-  ac_compiler_gnu=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_compiler_gnu" >&5
-$as_echo "$ac_cv_c_compiler_gnu" >&6; }
-if test $ac_compiler_gnu = yes; then
-  GCC=yes
-else
-  GCC=
-fi
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether $CC accepts -g" >&5
-$as_echo_n "checking whether $CC accepts -g... " >&6; }
-if ${ac_cv_prog_cc_g+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_save_c_werror_flag=$ac_c_werror_flag
-   ac_c_werror_flag=yes
-   ac_cv_prog_cc_g=no
-   CFLAGS="-g"
-   cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-else
-  CFLAGS=""
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-else
-  ac_c_werror_flag=$ac_save_c_werror_flag
-        CFLAGS="-g"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_g=yes
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-   ac_c_werror_flag=$ac_save_c_werror_flag
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_g" >&5
-$as_echo "$ac_cv_prog_cc_g" >&6; }
-if test "$ac_test_CFLAGS" = set; then
-  CFLAGS=$ac_save_CFLAGS
-elif test $ac_cv_prog_cc_g = yes; then
-  if test "$GCC" = yes; then
-    CFLAGS="-g -O2"
-  else
-    CFLAGS="-g"
-  fi
-else
-  if test "$GCC" = yes; then
-    CFLAGS="-O2"
-  else
-    CFLAGS=
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $CC option to accept ISO C89" >&5
-$as_echo_n "checking for $CC option to accept ISO C89... " >&6; }
-if ${ac_cv_prog_cc_c89+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_prog_cc_c89=no
-ac_save_CC=$CC
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <stdarg.h>
-#include <stdio.h>
-struct stat;
-/* Most of the following tests are stolen from RCS 5.7's src/conf.sh.  */
-struct buf { int x; };
-FILE * (*rcsopen) (struct buf *, struct stat *, int);
-static char *e (p, i)
-     char **p;
-     int i;
-{
-  return p[i];
-}
-static char *f (char * (*g) (char **, int), char **p, ...)
-{
-  char *s;
-  va_list v;
-  va_start (v,p);
-  s = g (p, va_arg (v,int));
-  va_end (v);
-  return s;
-}
-
-/* OSF 4.0 Compaq cc is some sort of almost-ANSI by default.  It has
-   function prototypes and stuff, but not '\xHH' hex character constants.
-   These don't provoke an error unfortunately, instead are silently treated
-   as 'x'.  The following induces an error, until -std is added to get
-   proper ANSI mode.  Curiously '\x00'!='x' always comes out true, for an
-   array size at least.  It's necessary to write '\x00'==0 to get something
-   that's true only with -std.  */
-int osf4_cc_array ['\x00' == 0 ? 1 : -1];
-
-/* IBM C 6 for AIX is almost-ANSI by default, but it replaces macro parameters
-   inside strings and character constants.  */
-#define FOO(x) 'x'
-int xlc6_cc_array[FOO(a) == 'x' ? 1 : -1];
-
-int test (int i, double x);
-struct s1 {int (*f) (int a);};
-struct s2 {int (*f) (double a);};
-int pairnames (int, char **, FILE *(*)(struct buf *, struct stat *, int), int, int);
-int argc;
-char **argv;
-int
-main ()
-{
-return f (e, argv, 0) != argv[0]  ||  f (e, argv, 1) != argv[1];
-  ;
-  return 0;
-}
-_ACEOF
-for ac_arg in '' -qlanglvl=extc89 -qlanglvl=ansi -std \
-       -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
-  CC="$ac_save_CC $ac_arg"
-  if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_prog_cc_c89=$ac_arg
-fi
-rm -f core conftest.err conftest.$ac_objext
-  test "x$ac_cv_prog_cc_c89" != "xno" && break
-done
-rm -f conftest.$ac_ext
-CC=$ac_save_CC
-
-fi
-# AC_CACHE_VAL
-case "x$ac_cv_prog_cc_c89" in
-  x)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: none needed" >&5
-$as_echo "none needed" >&6; } ;;
-  xno)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: unsupported" >&5
-$as_echo "unsupported" >&6; } ;;
-  *)
-    CC="$CC $ac_cv_prog_cc_c89"
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_prog_cc_c89" >&5
-$as_echo "$ac_cv_prog_cc_c89" >&6; } ;;
-esac
-if test "x$ac_cv_prog_cc_c89" != xno; then :
-
-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_aux_dir=
-for ac_dir in "$srcdir" "$srcdir/.." "$srcdir/../.."; do
-  if test -f "$ac_dir/install-sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install-sh -c"
-    break
-  elif test -f "$ac_dir/install.sh"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/install.sh -c"
-    break
-  elif test -f "$ac_dir/shtool"; then
-    ac_aux_dir=$ac_dir
-    ac_install_sh="$ac_aux_dir/shtool install -c"
-    break
-  fi
-done
-if test -z "$ac_aux_dir"; then
-  as_fn_error $? "cannot find install-sh, install.sh, or shtool in \"$srcdir\" \"$srcdir/..\" \"$srcdir/../..\"" "$LINENO" 5
-fi
-
-# These three variables are undocumented and unsupported,
-# and are intended to be withdrawn in a future Autoconf release.
-# They can cause serious problems if a builder's source tree is in a directory
-# whose full name contains unusual characters.
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"  # Please don't use this var.
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"  # Please don't use this var.
-ac_configure="$SHELL $ac_aux_dir/configure"  # Please don't use this var.
-
-
-# Make sure we can run config.sub.
-$SHELL "$ac_aux_dir/config.sub" sun4 >/dev/null 2>&1 ||
-  as_fn_error $? "cannot run $SHELL $ac_aux_dir/config.sub" "$LINENO" 5
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking build system type" >&5
-$as_echo_n "checking build system type... " >&6; }
-if ${ac_cv_build+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_build_alias=$build_alias
-test "x$ac_build_alias" = x &&
-  ac_build_alias=`$SHELL "$ac_aux_dir/config.guess"`
-test "x$ac_build_alias" = x &&
-  as_fn_error $? "cannot guess build type; you must specify one" "$LINENO" 5
-ac_cv_build=`$SHELL "$ac_aux_dir/config.sub" $ac_build_alias` ||
-  as_fn_error $? "$SHELL $ac_aux_dir/config.sub $ac_build_alias failed" "$LINENO" 5
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_build" >&5
-$as_echo "$ac_cv_build" >&6; }
-case $ac_cv_build in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical build" "$LINENO" 5;;
-esac
-build=$ac_cv_build
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_build
-shift
-build_cpu=$1
-build_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-build_os=$*
-IFS=$ac_save_IFS
-case $build_os in *\ *) build_os=`echo "$build_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking host system type" >&5
-$as_echo_n "checking host system type... " >&6; }
-if ${ac_cv_host+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$host_alias" = x; then
-  ac_cv_host=$ac_cv_build
-else
-  ac_cv_host=`$SHELL "$ac_aux_dir/config.sub" $host_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $host_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_host" >&5
-$as_echo "$ac_cv_host" >&6; }
-case $ac_cv_host in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical host" "$LINENO" 5;;
-esac
-host=$ac_cv_host
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_host
-shift
-host_cpu=$1
-host_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-host_os=$*
-IFS=$ac_save_IFS
-case $host_os in *\ *) host_os=`echo "$host_os" | sed 's/ /-/g'`;; esac
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking target system type" >&5
-$as_echo_n "checking target system type... " >&6; }
-if ${ac_cv_target+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test "x$target_alias" = x; then
-  ac_cv_target=$ac_cv_host
-else
-  ac_cv_target=`$SHELL "$ac_aux_dir/config.sub" $target_alias` ||
-    as_fn_error $? "$SHELL $ac_aux_dir/config.sub $target_alias failed" "$LINENO" 5
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_target" >&5
-$as_echo "$ac_cv_target" >&6; }
-case $ac_cv_target in
-*-*-*) ;;
-*) as_fn_error $? "invalid value of canonical target" "$LINENO" 5;;
-esac
-target=$ac_cv_target
-ac_save_IFS=$IFS; IFS='-'
-set x $ac_cv_target
-shift
-target_cpu=$1
-target_vendor=$2
-shift; shift
-# Remember, the first character of IFS is used to create $*,
-# except with old shells:
-target_os=$*
-IFS=$ac_save_IFS
-case $target_os in *\ *) target_os=`echo "$target_os" | sed 's/ /-/g'`;; esac
-
-
-# The aliases save the names the user supplied, while $host etc.
-# will get canonicalized.
-test -n "$target_alias" &&
-  test "$program_prefix$program_suffix$program_transform_name" = \
-    NONENONEs,x,x, &&
-  program_prefix=${target_alias}-
-
-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 ${ac_cv_prog_CPP+:} false; 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.i 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.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i 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.i 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.i conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.i 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 ${ac_cv_path_GREP+:} false; 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"
-      as_fn_executable_p "$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 ${ac_cv_path_EGREP+:} false; 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"
-      as_fn_executable_p "$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 ${ac_cv_header_stdc+:} false; 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
-"
-if eval test \"x\$"$as_ac_Header"\" = 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" = xyes; 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 ${ac_cv_safe_to_define___extensions__+:} false; 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
-
-
-test "$program_prefix" != NONE &&
-  program_transform_name="s&^&$program_prefix&;$program_transform_name"
-# Use a double $ so make ignores it.
-test "$program_suffix" != NONE &&
-  program_transform_name="s&\$&$program_suffix&;$program_transform_name"
-# Double any \ or $.
-# By default was `s,x,x', remove it if useless.
-ac_script='s/[\\$]/&&/g;s/;s,x,x,$//'
-program_transform_name=`$as_echo "$program_transform_name" | sed "$ac_script"`
-
-# Find a good install program.  We prefer a C program (faster),
-# so one script is as good as another.  But avoid the broken or
-# incompatible versions:
-# SysV /etc/install, /usr/sbin/install
-# SunOS /usr/etc/install
-# IRIX /sbin/install
-# AIX /bin/install
-# AmigaOS /C/install, which installs bootblocks on floppy discs
-# AIX 4 /usr/bin/installbsd, which doesn't work without a -g flag
-# AFS /usr/afsws/bin/install, which mishandles nonexistent args
-# SVR4 /usr/ucb/install, which tries to use the nonexistent group "staff"
-# OS/2's system install, which has a completely different semantic
-# ./install, which can be erroneously created by make from ./install.sh.
-# Reject install programs that cannot install multiple files.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a BSD-compatible install" >&5
-$as_echo_n "checking for a BSD-compatible install... " >&6; }
-if test -z "$INSTALL"; then
-if ${ac_cv_path_install+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    # Account for people who put trailing slashes in PATH elements.
-case $as_dir/ in #((
-  ./ | .// | /[cC]/* | \
-  /etc/* | /usr/sbin/* | /usr/etc/* | /sbin/* | /usr/afsws/bin/* | \
-  ?:[\\/]os2[\\/]install[\\/]* | ?:[\\/]OS2[\\/]INSTALL[\\/]* | \
-  /usr/ucb/* ) ;;
-  *)
-    # OSF1 and SCO ODT 3.0 have their own names for install.
-    # Don't use installbsd from OSF since it installs stuff as root
-    # by default.
-    for ac_prog in ginstall scoinst install; do
-      for ac_exec_ext in '' $ac_executable_extensions; do
-       if as_fn_executable_p "$as_dir/$ac_prog$ac_exec_ext"; then
-         if test $ac_prog = install &&
-           grep dspmsg "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # AIX install.  It has an incompatible calling convention.
-           :
-         elif test $ac_prog = install &&
-           grep pwplus "$as_dir/$ac_prog$ac_exec_ext" >/dev/null 2>&1; then
-           # program-specific install script used by HP pwplus--don't use.
-           :
-         else
-           rm -rf conftest.one conftest.two conftest.dir
-           echo one > conftest.one
-           echo two > conftest.two
-           mkdir conftest.dir
-           if "$as_dir/$ac_prog$ac_exec_ext" -c conftest.one conftest.two "`pwd`/conftest.dir" &&
-             test -s conftest.one && test -s conftest.two &&
-             test -s conftest.dir/conftest.one &&
-             test -s conftest.dir/conftest.two
-           then
-             ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
-             break 3
-           fi
-         fi
-       fi
-      done
-    done
-    ;;
-esac
-
-  done
-IFS=$as_save_IFS
-
-rm -rf conftest.one conftest.two conftest.dir
-
-fi
-  if test "${ac_cv_path_install+set}" = set; then
-    INSTALL=$ac_cv_path_install
-  else
-    # As a last resort, use the slow shell script.  Don't cache a
-    # value for INSTALL within a source directory, because that will
-    # break other packages using the cache if that directory is
-    # removed, or if the value is a relative name.
-    INSTALL=$ac_install_sh
-  fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $INSTALL" >&5
-$as_echo "$INSTALL" >&6; }
-
-# Use test -z because SunOS4 sh mishandles braces in ${var-val}.
-# It thinks the first close brace ends the variable substitution.
-test -z "$INSTALL_PROGRAM" && INSTALL_PROGRAM='${INSTALL}'
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL}'
-
-test -z "$INSTALL_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-rm -rf .tst 2>/dev/null
-mkdir .tst 2>/dev/null
-if test -d .tst; then
-  am__leading_dot=.
-else
-  am__leading_dot=_
-fi
-rmdir .tst 2>/dev/null
-
-DEPDIR="${am__leading_dot}deps"
-
-case `pwd` in
-  *\ * | *\    *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&5
-$as_echo "$as_me: WARNING: Libtool does not cope well with whitespace in \`pwd\`" >&2;} ;;
-esac
-
-
-
-macro_version='2.2.7a'
-macro_revision='1.3134'
-
-
-
-
-
-
-
-
-
-
-
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-# Backslashify metacharacters that are still active within
-# double-quoted strings.
-sed_quote_subst='s/\(["`$\\]\)/\\\1/g'
-
-# Same as above, but do not quote variable references.
-double_quote_subst='s/\(["`\\]\)/\\\1/g'
-
-# Sed substitution to delay expansion of an escaped shell variable in a
-# double_quote_subst'ed string.
-delay_variable_subst='s/\\\\\\\\\\\$/\\\\\\$/g'
-
-# Sed substitution to delay expansion of an escaped single quote.
-delay_single_quote_subst='s/'\''/'\'\\\\\\\'\''/g'
-
-# Sed substitution to avoid accidental globbing in evaled expressions
-no_glob_subst='s/\*/\\\*/g'
-
-ECHO='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO
-ECHO=$ECHO$ECHO$ECHO$ECHO$ECHO$ECHO
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to print strings" >&5
-$as_echo_n "checking how to print strings... " >&6; }
-# Test print first, because it will be a builtin if present.
-if test "X`print -r -- -n 2>/dev/null`" = X-n && \
-   test "X`print -r -- $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='print -r --'
-elif test "X`printf %s $ECHO 2>/dev/null`" = "X$ECHO"; then
-  ECHO='printf %s\n'
-else
-  # Use this function as a fallback that always works.
-  func_fallback_echo ()
-  {
-    eval 'cat <<_LTECHO_EOF
-$1
-_LTECHO_EOF'
-  }
-  ECHO='func_fallback_echo'
-fi
-
-# func_echo_all arg...
-# Invoke $ECHO with all args, space-separated.
-func_echo_all ()
-{
-    $ECHO ""
-}
-
-case "$ECHO" in
-  printf*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: printf" >&5
-$as_echo "printf" >&6; } ;;
-  print*) { $as_echo "$as_me:${as_lineno-$LINENO}: result: print -r" >&5
-$as_echo "print -r" >&6; } ;;
-  *) { $as_echo "$as_me:${as_lineno-$LINENO}: result: cat" >&5
-$as_echo "cat" >&6; } ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for a sed that does not truncate output" >&5
-$as_echo_n "checking for a sed that does not truncate output... " >&6; }
-if ${ac_cv_path_SED+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-            ac_script=s/aaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaaa/bbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbbb/
-     for ac_i in 1 2 3 4 5 6 7; do
-       ac_script="$ac_script$as_nl$ac_script"
-     done
-     echo "$ac_script" 2>/dev/null | sed 99q >conftest.sed
-     { ac_script=; unset ac_script;}
-     if test -z "$SED"; then
-  ac_path_SED_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
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_prog in sed gsed; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_SED="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_SED" || continue
-# Check for GNU ac_path_SED and select it if it is found.
-  # Check for GNU $ac_path_SED
-case `"$ac_path_SED" --version 2>&1` in
-*GNU*)
-  ac_cv_path_SED="$ac_path_SED" ac_path_SED_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 '' >> "conftest.nl"
-    "$ac_path_SED" -f conftest.sed < "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_SED_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_SED="$ac_path_SED"
-      ac_path_SED_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_SED_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_SED"; then
-    as_fn_error $? "no acceptable sed could be found in \$PATH" "$LINENO" 5
-  fi
-else
-  ac_cv_path_SED=$SED
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_SED" >&5
-$as_echo "$ac_cv_path_SED" >&6; }
- SED="$ac_cv_path_SED"
-  rm -f conftest.sed
-
-test -z "$SED" && SED=sed
-Xsed="$SED -e 1s/^X//"
-
-
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for fgrep" >&5
-$as_echo_n "checking for fgrep... " >&6; }
-if ${ac_cv_path_FGREP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if echo 'ab*c' | $GREP -F 'ab*c' >/dev/null 2>&1
-   then ac_cv_path_FGREP="$GREP -F"
-   else
-     if test -z "$FGREP"; then
-  ac_path_FGREP_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 fgrep; do
-    for ac_exec_ext in '' $ac_executable_extensions; do
-      ac_path_FGREP="$as_dir/$ac_prog$ac_exec_ext"
-      as_fn_executable_p "$ac_path_FGREP" || continue
-# Check for GNU ac_path_FGREP and select it if it is found.
-  # Check for GNU $ac_path_FGREP
-case `"$ac_path_FGREP" --version 2>&1` in
-*GNU*)
-  ac_cv_path_FGREP="$ac_path_FGREP" ac_path_FGREP_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 'FGREP' >> "conftest.nl"
-    "$ac_path_FGREP" FGREP < "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_FGREP_max-0}; then
-      # Best one so far, save it but keep looking for a better one
-      ac_cv_path_FGREP="$ac_path_FGREP"
-      ac_path_FGREP_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_FGREP_found && break 3
-    done
-  done
-  done
-IFS=$as_save_IFS
-  if test -z "$ac_cv_path_FGREP"; then
-    as_fn_error $? "no acceptable fgrep could be found in $PATH$PATH_SEPARATOR/usr/xpg4/bin" "$LINENO" 5
-  fi
-else
-  ac_cv_path_FGREP=$FGREP
-fi
-
-   fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_path_FGREP" >&5
-$as_echo "$ac_cv_path_FGREP" >&6; }
- FGREP="$ac_cv_path_FGREP"
-
-
-test -z "$GREP" && GREP=grep
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-gnu-ld was given.
-if test "${with_gnu_ld+set}" = set; then :
-  withval=$with_gnu_ld; test "$withval" = no || with_gnu_ld=yes
-else
-  with_gnu_ld=no
-fi
-
-ac_prog=ld
-if test "$GCC" = yes; then
-  # Check if gcc -print-prog-name=ld gives a path.
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ld used by $CC" >&5
-$as_echo_n "checking for ld used by $CC... " >&6; }
-  case $host in
-  *-*-mingw*)
-    # gcc leaves a trailing carriage return which upsets mingw
-    ac_prog=`($CC -print-prog-name=ld) 2>&5 | tr -d '\015'` ;;
-  *)
-    ac_prog=`($CC -print-prog-name=ld) 2>&5` ;;
-  esac
-  case $ac_prog in
-    # Accept absolute paths.
-    [\\/]* | ?:[\\/]*)
-      re_direlt='/[^/][^/]*/\.\./'
-      # Canonicalize the pathname of ld
-      ac_prog=`$ECHO "$ac_prog"| $SED 's%\\\\%/%g'`
-      while $ECHO "$ac_prog" | $GREP "$re_direlt" > /dev/null 2>&1; do
-       ac_prog=`$ECHO $ac_prog| $SED "s%$re_direlt%/%"`
-      done
-      test -z "$LD" && LD="$ac_prog"
-      ;;
-  "")
-    # If it fails, then pretend we aren't using GCC.
-    ac_prog=ld
-    ;;
-  *)
-    # If it is relative, then search for the first ld in PATH.
-    with_gnu_ld=unknown
-    ;;
-  esac
-elif test "$with_gnu_ld" = yes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for GNU ld" >&5
-$as_echo_n "checking for GNU ld... " >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for non-GNU ld" >&5
-$as_echo_n "checking for non-GNU ld... " >&6; }
-fi
-if ${lt_cv_path_LD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -z "$LD"; then
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  for ac_dir in $PATH; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f "$ac_dir/$ac_prog" || test -f "$ac_dir/$ac_prog$ac_exeext"; then
-      lt_cv_path_LD="$ac_dir/$ac_prog"
-      # Check to see if the program is GNU ld.  I'd rather use --version,
-      # but apparently some variants of GNU ld only accept -v.
-      # Break only if it was the GNU/non-GNU ld that we prefer.
-      case `"$lt_cv_path_LD" -v 2>&1 </dev/null` in
-      *GNU* | *'with BFD'*)
-       test "$with_gnu_ld" != no && break
-       ;;
-      *)
-       test "$with_gnu_ld" != yes && break
-       ;;
-      esac
-    fi
-  done
-  IFS="$lt_save_ifs"
-else
-  lt_cv_path_LD="$LD" # Let the user override the test with a path.
-fi
-fi
-
-LD="$lt_cv_path_LD"
-if test -n "$LD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LD" >&5
-$as_echo "$LD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-test -z "$LD" && as_fn_error $? "no acceptable ld found in \$PATH" "$LINENO" 5
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if the linker ($LD) is GNU ld" >&5
-$as_echo_n "checking if the linker ($LD) is GNU ld... " >&6; }
-if ${lt_cv_prog_gnu_ld+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  # I'd rather use --version here, but apparently some GNU lds only accept -v.
-case `$LD -v 2>&1 </dev/null` in
-*GNU* | *'with BFD'*)
-  lt_cv_prog_gnu_ld=yes
-  ;;
-*)
-  lt_cv_prog_gnu_ld=no
-  ;;
-esac
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_gnu_ld" >&5
-$as_echo "$lt_cv_prog_gnu_ld" >&6; }
-with_gnu_ld=$lt_cv_prog_gnu_ld
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for BSD- or MS-compatible name lister (nm)" >&5
-$as_echo_n "checking for BSD- or MS-compatible name lister (nm)... " >&6; }
-if ${lt_cv_path_NM+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NM"; then
-  # Let the user override the test.
-  lt_cv_path_NM="$NM"
-else
-  lt_nm_to_check="${ac_tool_prefix}nm"
-  if test -n "$ac_tool_prefix" && test "$build" = "$host"; then
-    lt_nm_to_check="$lt_nm_to_check nm"
-  fi
-  for lt_tmp_nm in $lt_nm_to_check; do
-    lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-    for ac_dir in $PATH /usr/ccs/bin/elf /usr/ccs/bin /usr/ucb /bin; do
-      IFS="$lt_save_ifs"
-      test -z "$ac_dir" && ac_dir=.
-      tmp_nm="$ac_dir/$lt_tmp_nm"
-      if test -f "$tmp_nm" || test -f "$tmp_nm$ac_exeext" ; then
-       # Check to see if the nm accepts a BSD-compat flag.
-       # Adding the `sed 1q' prevents false positives on HP-UX, which says:
-       #   nm: unknown option "B" ignored
-       # Tru64's nm complains that /dev/null is an invalid object file
-       case `"$tmp_nm" -B /dev/null 2>&1 | sed '1q'` in
-       */dev/null* | *'Invalid file or object type'*)
-         lt_cv_path_NM="$tmp_nm -B"
-         break
-         ;;
-       *)
-         case `"$tmp_nm" -p /dev/null 2>&1 | sed '1q'` in
-         */dev/null*)
-           lt_cv_path_NM="$tmp_nm -p"
-           break
-           ;;
-         *)
-           lt_cv_path_NM=${lt_cv_path_NM="$tmp_nm"} # keep the first match, but
-           continue # so that we can try to find one that supports BSD flags
-           ;;
-         esac
-         ;;
-       esac
-      fi
-    done
-    IFS="$lt_save_ifs"
-  done
-  : ${lt_cv_path_NM=no}
-fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_path_NM" >&5
-$as_echo "$lt_cv_path_NM" >&6; }
-if test "$lt_cv_path_NM" != "no"; then
-  NM="$lt_cv_path_NM"
-else
-  # Didn't find any BSD compatible name lister, look for dumpbin.
-  if test -n "$DUMPBIN"; then :
-    # Let the user override the test.
-  else
-    if test -n "$ac_tool_prefix"; then
-  for ac_prog in dumpbin "link -dump"
-  do
-    # Extract the first word of "$ac_tool_prefix$ac_prog", so it can be a program name with args.
-set dummy $ac_tool_prefix$ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DUMPBIN"; then
-  ac_cv_prog_DUMPBIN="$DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DUMPBIN="$ac_tool_prefix$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DUMPBIN=$ac_cv_prog_DUMPBIN
-if test -n "$DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DUMPBIN" >&5
-$as_echo "$DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-    test -n "$DUMPBIN" && break
-  done
-fi
-if test -z "$DUMPBIN"; then
-  ac_ct_DUMPBIN=$DUMPBIN
-  for ac_prog in dumpbin "link -dump"
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DUMPBIN+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DUMPBIN"; then
-  ac_cv_prog_ac_ct_DUMPBIN="$ac_ct_DUMPBIN" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_DUMPBIN="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DUMPBIN=$ac_cv_prog_ac_ct_DUMPBIN
-if test -n "$ac_ct_DUMPBIN"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DUMPBIN" >&5
-$as_echo "$ac_ct_DUMPBIN" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$ac_ct_DUMPBIN" && break
-done
-
-  if test "x$ac_ct_DUMPBIN" = x; then
-    DUMPBIN=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DUMPBIN=$ac_ct_DUMPBIN
-  fi
-fi
-
-    case `$DUMPBIN -symbols /dev/null 2>&1 | sed '1q'` in
-    *COFF*)
-      DUMPBIN="$DUMPBIN -symbols"
-      ;;
-    *)
-      DUMPBIN=:
-      ;;
-    esac
-  fi
-
-  if test "$DUMPBIN" != ":"; then
-    NM="$DUMPBIN"
-  fi
-fi
-test -z "$NM" && NM=nm
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the name lister ($NM) interface" >&5
-$as_echo_n "checking the name lister ($NM) interface... " >&6; }
-if ${lt_cv_nm_interface+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_nm_interface="BSD nm"
-  echo "int some_variable = 0;" > conftest.$ac_ext
-  (eval echo "\"\$as_me:$LINENO: $ac_compile\"" >&5)
-  (eval "$ac_compile" 2>conftest.err)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: $NM \\\"conftest.$ac_objext\\\"\"" >&5)
-  (eval "$NM \"conftest.$ac_objext\"" 2>conftest.err > conftest.out)
-  cat conftest.err >&5
-  (eval echo "\"\$as_me:$LINENO: output\"" >&5)
-  cat conftest.out >&5
-  if $GREP 'External.*some_variable' conftest.out > /dev/null; then
-    lt_cv_nm_interface="MS dumpbin"
-  fi
-  rm -f conftest*
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_nm_interface" >&5
-$as_echo "$lt_cv_nm_interface" >&6; }
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether ln -s works" >&5
-$as_echo_n "checking whether ln -s works... " >&6; }
-LN_S=$as_ln_s
-if test "$LN_S" = "ln -s"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no, using $LN_S" >&5
-$as_echo "no, using $LN_S" >&6; }
-fi
-
-# find the maximum length of command line arguments
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking the maximum length of command line arguments" >&5
-$as_echo_n "checking the maximum length of command line arguments... " >&6; }
-if ${lt_cv_sys_max_cmd_len+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-    i=0
-  teststring="ABCD"
-
-  case $build_os in
-  msdosdjgpp*)
-    # On DJGPP, this test can blow up pretty badly due to problems in libc
-    # (any single argument exceeding 2000 bytes causes a buffer overrun
-    # during glob expansion).  Even if it were fixed, the result of this
-    # check would be larger than it should be.
-    lt_cv_sys_max_cmd_len=12288;    # 12K is about right
-    ;;
-
-  gnu*)
-    # Under GNU Hurd, this test is not required because there is
-    # no limit to the length of command line arguments.
-    # Libtool will interpret -1 as no limit whatsoever
-    lt_cv_sys_max_cmd_len=-1;
-    ;;
-
-  cygwin* | mingw* | cegcc*)
-    # On Win9x/ME, this test blows up -- it succeeds, but takes
-    # about 5 minutes as the teststring grows exponentially.
-    # Worse, since 9x/ME are not pre-emptively multitasking,
-    # you end up with a "frozen" computer, even though with patience
-    # the test eventually succeeds (with a max line length of 256k).
-    # Instead, let's just punt: use the minimum linelength reported by
-    # all of the supported platforms: 8192 (on NT/2K/XP).
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  mint*)
-    # On MiNT this can take a long time and run out of memory.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  amigaos*)
-    # On AmigaOS with pdksh, this test takes hours, literally.
-    # So we just punt and use a minimum line length of 8192.
-    lt_cv_sys_max_cmd_len=8192;
-    ;;
-
-  netbsd* | freebsd* | openbsd* | darwin* | dragonfly*)
-    # This has been around since 386BSD, at least.  Likely further.
-    if test -x /sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/sbin/sysctl -n kern.argmax`
-    elif test -x /usr/sbin/sysctl; then
-      lt_cv_sys_max_cmd_len=`/usr/sbin/sysctl -n kern.argmax`
-    else
-      lt_cv_sys_max_cmd_len=65536      # usable default for all BSDs
-    fi
-    # And add a safety zone
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-    lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    ;;
-
-  interix*)
-    # We know the value 262144 and hardcode it with a safety zone (like BSD)
-    lt_cv_sys_max_cmd_len=196608
-    ;;
-
-  osf*)
-    # Dr. Hans Ekkehard Plesser reports seeing a kernel panic running configure
-    # due to this test when exec_disable_arg_limit is 1 on Tru64. It is not
-    # nice to cause kernel panics so lets avoid the loop below.
-    # First set a reasonable default.
-    lt_cv_sys_max_cmd_len=16384
-    #
-    if test -x /sbin/sysconfig; then
-      case `/sbin/sysconfig -q proc exec_disable_arg_limit` in
-        *1*) lt_cv_sys_max_cmd_len=-1 ;;
-      esac
-    fi
-    ;;
-  sco3.2v5*)
-    lt_cv_sys_max_cmd_len=102400
-    ;;
-  sysv5* | sco5v6* | sysv4.2uw2*)
-    kargmax=`grep ARG_MAX /etc/conf/cf.d/stune 2>/dev/null`
-    if test -n "$kargmax"; then
-      lt_cv_sys_max_cmd_len=`echo $kargmax | sed 's/.*[         ]//'`
-    else
-      lt_cv_sys_max_cmd_len=32768
-    fi
-    ;;
-  *)
-    lt_cv_sys_max_cmd_len=`(getconf ARG_MAX) 2> /dev/null`
-    if test -n "$lt_cv_sys_max_cmd_len"; then
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 4`
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \* 3`
-    else
-      # Make teststring a little bigger before we do anything with it.
-      # a 1K string should be a reasonable start.
-      for i in 1 2 3 4 5 6 7 8 ; do
-        teststring=$teststring$teststring
-      done
-      SHELL=${SHELL-${CONFIG_SHELL-/bin/sh}}
-      # If test is not a shell built-in, we'll probably end up computing a
-      # maximum length that is only half of the actual maximum length, but
-      # we can't tell.
-      while { test "X"`func_fallback_echo "$teststring$teststring" 2>/dev/null` \
-                = "X$teststring$teststring"; } >/dev/null 2>&1 &&
-             test $i != 17 # 1/2 MB should be enough
-      do
-        i=`expr $i + 1`
-        teststring=$teststring$teststring
-      done
-      # Only check the string length outside the loop.
-      lt_cv_sys_max_cmd_len=`expr "X$teststring" : ".*" 2>&1`
-      teststring=
-      # Add a significant safety factor because C++ compilers can tack on
-      # massive amounts of additional arguments before passing them to the
-      # linker.  It appears as though 1/2 is a usable value.
-      lt_cv_sys_max_cmd_len=`expr $lt_cv_sys_max_cmd_len \/ 2`
-    fi
-    ;;
-  esac
-
-fi
-
-if test -n $lt_cv_sys_max_cmd_len ; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_sys_max_cmd_len" >&5
-$as_echo "$lt_cv_sys_max_cmd_len" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: none" >&5
-$as_echo "none" >&6; }
-fi
-max_cmd_len=$lt_cv_sys_max_cmd_len
-
-
-
-
-
-
-: ${CP="cp -f"}
-: ${MV="mv -f"}
-: ${RM="rm -f"}
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands some XSI constructs" >&5
-$as_echo_n "checking whether the shell understands some XSI constructs... " >&6; }
-# Try some XSI features
-xsi_shell=no
-( _lt_dummy="a/b/c"
-  test "${_lt_dummy##*/},${_lt_dummy%/*},"${_lt_dummy%"$_lt_dummy"}, \
-      = c,a/b,, \
-    && eval 'test $(( 1 + 1 )) -eq 2 \
-    && test "${#_lt_dummy}" -eq 5' ) >/dev/null 2>&1 \
-  && xsi_shell=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $xsi_shell" >&5
-$as_echo "$xsi_shell" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the shell understands \"+=\"" >&5
-$as_echo_n "checking whether the shell understands \"+=\"... " >&6; }
-lt_shell_append=no
-( foo=bar; set foo baz; eval "$1+=\$2" && test "$foo" = barbaz ) \
-    >/dev/null 2>&1 \
-  && lt_shell_append=yes
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_shell_append" >&5
-$as_echo "$lt_shell_append" >&6; }
-
-
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
-  lt_unset=unset
-else
-  lt_unset=false
-fi
-
-
-
-
-
-# test EBCDIC or ASCII
-case `echo X|tr X '\101'` in
- A) # ASCII based system
-    # \n is not interpreted correctly by Solaris 8 /usr/ucb/tr
-  lt_SP2NL='tr \040 \012'
-  lt_NL2SP='tr \015\012 \040\040'
-  ;;
- *) # EBCDIC based system
-  lt_SP2NL='tr \100 \n'
-  lt_NL2SP='tr \r\n \100\100'
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $LD option to reload object files" >&5
-$as_echo_n "checking for $LD option to reload object files... " >&6; }
-if ${lt_cv_ld_reload_flag+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_reload_flag='-r'
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_reload_flag" >&5
-$as_echo "$lt_cv_ld_reload_flag" >&6; }
-reload_flag=$lt_cv_ld_reload_flag
-case $reload_flag in
-"" | " "*) ;;
-*) reload_flag=" $reload_flag" ;;
-esac
-reload_cmds='$LD$reload_flag -o $output$reload_objs'
-case $host_os in
-  darwin*)
-    if test "$GCC" = yes; then
-      reload_cmds='$LTCC $LTCFLAGS -nostdlib ${wl}-r -o $output$reload_objs'
-    else
-      reload_cmds='$LD$reload_flag -o $output$reload_objs'
-    fi
-    ;;
-esac
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}objdump", so it can be a program name with args.
-set dummy ${ac_tool_prefix}objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OBJDUMP"; then
-  ac_cv_prog_OBJDUMP="$OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_OBJDUMP="${ac_tool_prefix}objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OBJDUMP=$ac_cv_prog_OBJDUMP
-if test -n "$OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OBJDUMP" >&5
-$as_echo "$OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OBJDUMP"; then
-  ac_ct_OBJDUMP=$OBJDUMP
-  # Extract the first word of "objdump", so it can be a program name with args.
-set dummy objdump; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OBJDUMP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OBJDUMP"; then
-  ac_cv_prog_ac_ct_OBJDUMP="$ac_ct_OBJDUMP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_OBJDUMP="objdump"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OBJDUMP=$ac_cv_prog_ac_ct_OBJDUMP
-if test -n "$ac_ct_OBJDUMP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OBJDUMP" >&5
-$as_echo "$ac_ct_OBJDUMP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OBJDUMP" = x; then
-    OBJDUMP="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OBJDUMP=$ac_ct_OBJDUMP
-  fi
-else
-  OBJDUMP="$ac_cv_prog_OBJDUMP"
-fi
-
-test -z "$OBJDUMP" && OBJDUMP=objdump
-
-
-
-
-
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking how to recognize dependent libraries" >&5
-$as_echo_n "checking how to recognize dependent libraries... " >&6; }
-if ${lt_cv_deplibs_check_method+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_file_magic_cmd='$MAGIC_CMD'
-lt_cv_file_magic_test_file=
-lt_cv_deplibs_check_method='unknown'
-# Need to set the preceding variable on all platforms that support
-# interlibrary dependencies.
-# 'none' -- dependencies not supported.
-# `unknown' -- same as none, but documents that we really don't know.
-# 'pass_all' -- all dependencies passed with no checks.
-# 'test_compile' -- check by making test program.
-# 'file_magic [[regex]]' -- check by looking for files in library path
-# which responds to the $file_magic_cmd with a given extended regex.
-# If you have `file' or equivalent on your system and you're not sure
-# whether `pass_all' will *always* work, you probably want this one.
-
-case $host_os in
-aix[4-9]*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-beos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-bsdi[45]*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib)'
-  lt_cv_file_magic_cmd='/usr/bin/file -L'
-  lt_cv_file_magic_test_file=/shlib/libc.so
-  ;;
-
-cygwin*)
-  # func_win32_libid is a shell function defined in ltmain.sh
-  lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-  lt_cv_file_magic_cmd='func_win32_libid'
-  ;;
-
-mingw* | pw32*)
-  # Base MSYS/MinGW do not provide the 'file' command needed by
-  # func_win32_libid shell function, so use a weaker test based on 'objdump',
-  # unless we find 'file', for example because we are cross-compiling.
-  # func_win32_libid assumes BSD nm, so disallow it if using MS dumpbin.
-  if ( test "$lt_cv_nm_interface" = "BSD nm" && file / ) >/dev/null 2>&1; then
-    lt_cv_deplibs_check_method='file_magic ^x86 archive import|^x86 DLL'
-    lt_cv_file_magic_cmd='func_win32_libid'
-  else
-    lt_cv_deplibs_check_method='file_magic file format pei*-i386(.*architecture: i386)?'
-    lt_cv_file_magic_cmd='$OBJDUMP -f'
-  fi
-  ;;
-
-cegcc*)
-  # use the weaker test based on 'objdump'. See mingw*.
-  lt_cv_deplibs_check_method='file_magic file format pe-arm-.*little(.*architecture: arm)?'
-  lt_cv_file_magic_cmd='$OBJDUMP -f'
-  ;;
-
-darwin* | rhapsody*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-freebsd* | dragonfly*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    case $host_cpu in
-    i*86 )
-      # Not sure whether the presence of OpenBSD here was a mistake.
-      # Let's accept both of them until this is cleared up.
-      lt_cv_deplibs_check_method='file_magic (FreeBSD|OpenBSD|DragonFly)/i[3-9]86 (compact )?demand paged shared library'
-      lt_cv_file_magic_cmd=/usr/bin/file
-      lt_cv_file_magic_test_file=`echo /usr/lib/libc.so.*`
-      ;;
-    esac
-  else
-    lt_cv_deplibs_check_method=pass_all
-  fi
-  ;;
-
-gnu*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-haiku*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-hpux10.20* | hpux11*)
-  lt_cv_file_magic_cmd=/usr/bin/file
-  case $host_cpu in
-  ia64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF-[0-9][0-9]) shared object file - IA64'
-    lt_cv_file_magic_test_file=/usr/lib/hpux32/libc.so
-    ;;
-  hppa*64*)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|ELF[ -][0-9][0-9])(-bit)?( [LM]SB)? shared object( file)?[, -]* PA-RISC [0-9]\.[0-9]'
-    lt_cv_file_magic_test_file=/usr/lib/pa20_64/libc.sl
-    ;;
-  *)
-    lt_cv_deplibs_check_method='file_magic (s[0-9][0-9][0-9]|PA-RISC[0-9]\.[0-9]) shared library'
-    lt_cv_file_magic_test_file=/usr/lib/libc.sl
-    ;;
-  esac
-  ;;
-
-interix[3-9]*)
-  # PIC code is broken on Interix 3.x, that's why |\.a not |_pic\.a here
-  lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|\.a)$'
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $LD in
-  *-32|*"-32 ") libmagic=32-bit;;
-  *-n32|*"-n32 ") libmagic=N32;;
-  *-64|*"-64 ") libmagic=64-bit;;
-  *) libmagic=never-match;;
-  esac
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-netbsd*)
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ > /dev/null; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so|_pic\.a)$'
-  fi
-  ;;
-
-newos6*)
-  lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (executable|dynamic lib)'
-  lt_cv_file_magic_cmd=/usr/bin/file
-  lt_cv_file_magic_test_file=/usr/lib/libnls.so
-  ;;
-
-*nto* | *qnx*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-openbsd*)
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|\.so|_pic\.a)$'
-  else
-    lt_cv_deplibs_check_method='match_pattern /lib[^/]+(\.so\.[0-9]+\.[0-9]+|_pic\.a)$'
-  fi
-  ;;
-
-osf3* | osf4* | osf5*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-rdos*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-solaris*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-
-sysv4 | sysv4.3*)
-  case $host_vendor in
-  motorola)
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [ML]SB (shared object|dynamic lib) M[0-9][0-9]* Version [0-9]'
-    lt_cv_file_magic_test_file=`echo /usr/lib/libc.so*`
-    ;;
-  ncr)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  sequent)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method='file_magic ELF [0-9][0-9]*-bit [LM]SB (shared object|dynamic lib )'
-    ;;
-  sni)
-    lt_cv_file_magic_cmd='/bin/file'
-    lt_cv_deplibs_check_method="file_magic ELF [0-9][0-9]*-bit [LM]SB dynamic lib"
-    lt_cv_file_magic_test_file=/lib/libc.so
-    ;;
-  siemens)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  pc)
-    lt_cv_deplibs_check_method=pass_all
-    ;;
-  esac
-  ;;
-
-tpf*)
-  lt_cv_deplibs_check_method=pass_all
-  ;;
-esac
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_deplibs_check_method" >&5
-$as_echo "$lt_cv_deplibs_check_method" >&6; }
-file_magic_cmd=$lt_cv_file_magic_cmd
-deplibs_check_method=$lt_cv_deplibs_check_method
-test -z "$deplibs_check_method" && deplibs_check_method=unknown
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ar", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AR"; then
-  ac_cv_prog_AR="$AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_AR="${ac_tool_prefix}ar"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AR=$ac_cv_prog_AR
-if test -n "$AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AR" >&5
-$as_echo "$AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_AR"; then
-  ac_ct_AR=$AR
-  # Extract the first word of "ar", so it can be a program name with args.
-set dummy ar; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_AR+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_AR"; then
-  ac_cv_prog_ac_ct_AR="$ac_ct_AR" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_AR="ar"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_AR=$ac_cv_prog_ac_ct_AR
-if test -n "$ac_ct_AR"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_AR" >&5
-$as_echo "$ac_ct_AR" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_AR" = x; then
-    AR="false"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    AR=$ac_ct_AR
-  fi
-else
-  AR="$ac_cv_prog_AR"
-fi
-
-test -z "$AR" && AR=ar
-test -z "$AR_FLAGS" && AR_FLAGS=cru
-
-
-
-
-
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}strip", so it can be a program name with args.
-set dummy ${ac_tool_prefix}strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$STRIP"; then
-  ac_cv_prog_STRIP="$STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_STRIP="${ac_tool_prefix}strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-STRIP=$ac_cv_prog_STRIP
-if test -n "$STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $STRIP" >&5
-$as_echo "$STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_STRIP"; then
-  ac_ct_STRIP=$STRIP
-  # Extract the first word of "strip", so it can be a program name with args.
-set dummy strip; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_STRIP+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_STRIP"; then
-  ac_cv_prog_ac_ct_STRIP="$ac_ct_STRIP" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_STRIP="strip"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_STRIP=$ac_cv_prog_ac_ct_STRIP
-if test -n "$ac_ct_STRIP"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_STRIP" >&5
-$as_echo "$ac_ct_STRIP" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_STRIP" = x; then
-    STRIP=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    STRIP=$ac_ct_STRIP
-  fi
-else
-  STRIP="$ac_cv_prog_STRIP"
-fi
-
-test -z "$STRIP" && STRIP=:
-
-
-
-
-
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-test -z "$RANLIB" && RANLIB=:
-
-
-
-
-
-
-# Determine commands to create old-style static archives.
-old_archive_cmds='$AR $AR_FLAGS $oldlib$oldobjs'
-old_postinstall_cmds='chmod 644 $oldlib'
-old_postuninstall_cmds=
-
-if test -n "$RANLIB"; then
-  case $host_os in
-  openbsd*)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB -t \$oldlib"
-    ;;
-  *)
-    old_postinstall_cmds="$old_postinstall_cmds~\$RANLIB \$oldlib"
-    ;;
-  esac
-  old_archive_cmds="$old_archive_cmds~\$RANLIB \$oldlib"
-fi
-
-case $host_os in
-  darwin*)
-    lock_old_archive_extraction=yes ;;
-  *)
-    lock_old_archive_extraction=no ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-for ac_prog in gawk mawk nawk awk
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_AWK+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$AWK"; then
-  ac_cv_prog_AWK="$AWK" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_AWK="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-AWK=$ac_cv_prog_AWK
-if test -n "$AWK"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $AWK" >&5
-$as_echo "$AWK" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$AWK" && break
-done
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-
-# Check for command to grab the raw symbol name followed by C symbol from nm.
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking command to parse $NM output from $compiler object" >&5
-$as_echo_n "checking command to parse $NM output from $compiler object... " >&6; }
-if ${lt_cv_sys_global_symbol_pipe+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-
-# These are sane defaults that work on at least a few old systems.
-# [They come from Ultrix.  What could be older than Ultrix?!! ;)]
-
-# Character class describing NM global symbol codes.
-symcode='[BCDEGRST]'
-
-# Regexp to match symbols that can be accessed directly from C.
-sympat='\([_A-Za-z][_A-Za-z0-9]*\)'
-
-# Define system-specific variables.
-case $host_os in
-aix*)
-  symcode='[BCDT]'
-  ;;
-cygwin* | mingw* | pw32* | cegcc*)
-  symcode='[ABCDGISTW]'
-  ;;
-hpux*)
-  if test "$host_cpu" = ia64; then
-    symcode='[ABCDEGRST]'
-  fi
-  ;;
-irix* | nonstopux*)
-  symcode='[BCDEGRST]'
-  ;;
-osf*)
-  symcode='[BCDEGQRST]'
-  ;;
-solaris*)
-  symcode='[BDRT]'
-  ;;
-sco3.2v5*)
-  symcode='[DT]'
-  ;;
-sysv4.2uw2*)
-  symcode='[DT]'
-  ;;
-sysv5* | sco5v6* | unixware* | OpenUNIX*)
-  symcode='[ABDT]'
-  ;;
-sysv4)
-  symcode='[DFNSTU]'
-  ;;
-esac
-
-# If we're using GNU nm, then use its standard symbol codes.
-case `$NM -V 2>&1` in
-*GNU* | *'with BFD'*)
-  symcode='[ABCDGIRSTW]' ;;
-esac
-
-# Transform an extracted symbol line into a proper C declaration.
-# Some systems (esp. on ia64) link data and code symbols differently,
-# so use this general approach.
-lt_cv_sys_global_symbol_to_cdecl="sed -n -e 's/^T .* \(.*\)$/extern int \1();/p' -e 's/^$symcode* .* \(.*\)$/extern char \1;/p'"
-
-# Transform an extracted symbol line into symbol name and symbol address
-lt_cv_sys_global_symbol_to_c_name_address="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"\2\", (void *) \&\2},/p'"
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix="sed -n -e 's/^: \([^ ]*\) $/  {\\\"\1\\\", (void *) 0},/p' -e 's/^$symcode* \([^ ]*\) \(lib[^ ]*\)$/  {\"\2\", (void *) \&\2},/p' -e 's/^$symcode* \([^ ]*\) \([^ ]*\)$/  {\"lib\2\", (void *) \&\2},/p'"
-
-# Handle CRLF in mingw tool chain
-opt_cr=
-case $build_os in
-mingw*)
-  opt_cr=`$ECHO 'x\{0,1\}' | tr x '\015'` # option cr in regexp
-  ;;
-esac
-
-# Try without a prefix underscore, then with it.
-for ac_symprfx in "" "_"; do
-
-  # Transform symcode, sympat, and symprfx into a raw symbol and a C symbol.
-  symxfrm="\\1 $ac_symprfx\\2 \\2"
-
-  # Write the raw and C identifiers.
-  if test "$lt_cv_nm_interface" = "MS dumpbin"; then
-    # Fake it for dumpbin and say T for any non-static function
-    # and D for any global variable.
-    # Also find C++ and __fastcall symbols from MSVC++,
-    # which start with @ or ?.
-    lt_cv_sys_global_symbol_pipe="$AWK '"\
-"     {last_section=section; section=\$ 3};"\
-"     /Section length .*#relocs.*(pick any)/{hide[last_section]=1};"\
-"     \$ 0!~/External *\|/{next};"\
-"     / 0+ UNDEF /{next}; / UNDEF \([^|]\)*()/{next};"\
-"     {if(hide[section]) next};"\
-"     {f=0}; \$ 0~/\(\).*\|/{f=1}; {printf f ? \"T \" : \"D \"};"\
-"     {split(\$ 0, a, /\||\r/); split(a[2], s)};"\
-"     s[1]~/^[@?]/{print s[1], s[1]; next};"\
-"     s[1]~prfx {split(s[1],t,\"@\"); print t[1], substr(t[1],length(prfx))}"\
-"     ' prfx=^$ac_symprfx"
-  else
-    lt_cv_sys_global_symbol_pipe="sed -n -e 's/^.*[     ]\($symcode$symcode*\)[         ][      ]*$ac_symprfx$sympat$opt_cr$/$symxfrm/p'"
-  fi
-
-  # Check to see that the pipe works correctly.
-  pipe_works=no
-
-  rm -f conftest*
-  cat > conftest.$ac_ext <<_LT_EOF
-#ifdef __cplusplus
-extern "C" {
-#endif
-char nm_test_var;
-void nm_test_func(void);
-void nm_test_func(void){}
-#ifdef __cplusplus
-}
-#endif
-int main(){nm_test_var='a';nm_test_func();return(0);}
-_LT_EOF
-
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    # Now try to grab the symbols.
-    nlist=conftest.nm
-    if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist\""; } >&5
-  (eval $NM conftest.$ac_objext \| "$lt_cv_sys_global_symbol_pipe" \> $nlist) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s "$nlist"; then
-      # Try sorting and uniquifying the output.
-      if sort "$nlist" | uniq > "$nlist"T; then
-       mv -f "$nlist"T "$nlist"
-      else
-       rm -f "$nlist"T
-      fi
-
-      # Make sure that we snagged all the symbols we need.
-      if $GREP ' nm_test_var$' "$nlist" >/dev/null; then
-       if $GREP ' nm_test_func$' "$nlist" >/dev/null; then
-         cat <<_LT_EOF > conftest.$ac_ext
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-_LT_EOF
-         # Now generate the symbol file.
-         eval "$lt_cv_sys_global_symbol_to_cdecl"' < "$nlist" | $GREP -v main >> conftest.$ac_ext'
-
-         cat <<_LT_EOF >> conftest.$ac_ext
-
-/* The mapping between symbol names and symbols.  */
-const struct {
-  const char *name;
-  void       *address;
-}
-lt__PROGRAM__LTX_preloaded_symbols[] =
-{
-  { "@PROGRAM@", (void *) 0 },
-_LT_EOF
-         $SED "s/^$symcode$symcode* \(.*\) \(.*\)$/  {\"\2\", (void *) \&\2},/" < "$nlist" | $GREP -v main >> conftest.$ac_ext
-         cat <<\_LT_EOF >> conftest.$ac_ext
-  {0, (void *) 0}
-};
-
-/* This works around a problem in FreeBSD linker */
-#ifdef FREEBSD_WORKAROUND
-static const void *lt_preloaded_setup() {
-  return lt__PROGRAM__LTX_preloaded_symbols;
-}
-#endif
-
-#ifdef __cplusplus
-}
-#endif
-_LT_EOF
-         # Now try linking the two files.
-         mv conftest.$ac_objext conftstm.$ac_objext
-         lt_save_LIBS="$LIBS"
-         lt_save_CFLAGS="$CFLAGS"
-         LIBS="conftstm.$ac_objext"
-         CFLAGS="$CFLAGS$lt_prog_compiler_no_builtin_flag"
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext}; then
-           pipe_works=yes
-         fi
-         LIBS="$lt_save_LIBS"
-         CFLAGS="$lt_save_CFLAGS"
-       else
-         echo "cannot find nm_test_func in $nlist" >&5
-       fi
-      else
-       echo "cannot find nm_test_var in $nlist" >&5
-      fi
-    else
-      echo "cannot run $lt_cv_sys_global_symbol_pipe" >&5
-    fi
-  else
-    echo "$progname: failed program was:" >&5
-    cat conftest.$ac_ext >&5
-  fi
-  rm -rf conftest* conftst*
-
-  # Do not use the global_symbol_pipe unless it works.
-  if test "$pipe_works" = yes; then
-    break
-  else
-    lt_cv_sys_global_symbol_pipe=
-  fi
-done
-
-fi
-
-if test -z "$lt_cv_sys_global_symbol_pipe"; then
-  lt_cv_sys_global_symbol_to_cdecl=
-fi
-if test -z "$lt_cv_sys_global_symbol_pipe$lt_cv_sys_global_symbol_to_cdecl"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: failed" >&5
-$as_echo "failed" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: ok" >&5
-$as_echo "ok" >&6; }
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# Check whether --enable-libtool-lock was given.
-if test "${enable_libtool_lock+set}" = set; then :
-  enableval=$enable_libtool_lock;
-fi
-
-test "x$enable_libtool_lock" != xno && enable_libtool_lock=yes
-
-# Some flags need to be propagated to the compiler or linker for good
-# libtool support.
-case $host in
-ia64-*-hpux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.$ac_objext` in
-      *ELF-32*)
-       HPUX_IA64_MODE="32"
-       ;;
-      *ELF-64*)
-       HPUX_IA64_MODE="64"
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-*-*-irix6*)
-  # Find out which ABI we are using.
-  echo '#line '$LINENO' "configure"' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    if test "$lt_cv_prog_gnu_ld" = yes; then
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -melf32bsmip"
-         ;;
-       *N32*)
-         LD="${LD-ld} -melf32bmipn32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -melf64bmip"
-       ;;
-      esac
-    else
-      case `/usr/bin/file conftest.$ac_objext` in
-       *32-bit*)
-         LD="${LD-ld} -32"
-         ;;
-       *N32*)
-         LD="${LD-ld} -n32"
-         ;;
-       *64-bit*)
-         LD="${LD-ld} -64"
-         ;;
-      esac
-    fi
-  fi
-  rm -rf conftest*
-  ;;
-
-x86_64-*kfreebsd*-gnu|x86_64-*linux*|powerpc*-*linux*| \
-s390*-*linux*|s390*-*tpf*|sparc*-*linux*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-      *32-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_i386_fbsd"
-           ;;
-         x86_64-*linux*)
-           case `/usr/bin/file conftest.o` in
-             *x86-64*)
-               LD="${LD-ld} -m elf32_x86_64"
-               ;;
-             *)
-               LD="${LD-ld} -m elf_i386"
-               ;;
-           esac
-           ;;
-         powerpc64le-*linux*)
-           LD="${LD-ld} -m elf32lppclinux"
-           ;;
-         powerpc64-*linux*)
-           LD="${LD-ld} -m elf32ppclinux"
-           ;;
-         s390x-*linux*)
-           LD="${LD-ld} -m elf_s390"
-           ;;
-         sparc64-*linux*)
-           LD="${LD-ld} -m elf32_sparc"
-           ;;
-       esac
-       ;;
-      *64-bit*)
-       case $host in
-         x86_64-*kfreebsd*-gnu)
-           LD="${LD-ld} -m elf_x86_64_fbsd"
-           ;;
-         x86_64-*linux*)
-           LD="${LD-ld} -m elf_x86_64"
-           ;;
-         powerpcle-*linux*)
-           LD="${LD-ld} -m elf64lppc"
-           ;;
-         powerpc-*linux*)
-           LD="${LD-ld} -m elf64ppc"
-           ;;
-         s390*-*linux*|s390*-*tpf*)
-           LD="${LD-ld} -m elf64_s390"
-           ;;
-         sparc*-*linux*)
-           LD="${LD-ld} -m elf64_sparc"
-           ;;
-       esac
-       ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-
-*-*-sco3.2v5*)
-  # On SCO OpenServer 5, we need -belf to get full-featured binaries.
-  SAVE_CFLAGS="$CFLAGS"
-  CFLAGS="$CFLAGS -belf"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the C compiler needs -belf" >&5
-$as_echo_n "checking whether the C compiler needs -belf... " >&6; }
-if ${lt_cv_cc_needs_belf+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  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
-
-     cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_cc_needs_belf=yes
-else
-  lt_cv_cc_needs_belf=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-     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
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_cc_needs_belf" >&5
-$as_echo "$lt_cv_cc_needs_belf" >&6; }
-  if test x"$lt_cv_cc_needs_belf" != x"yes"; then
-    # this is probably gcc 2.8.0, egcs 1.0 or newer; no need for -belf
-    CFLAGS="$SAVE_CFLAGS"
-  fi
-  ;;
-sparc*-*solaris*)
-  # Find out which ABI we are using.
-  echo 'int i;' > conftest.$ac_ext
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }; then
-    case `/usr/bin/file conftest.o` in
-    *64-bit*)
-      case $lt_cv_prog_gnu_ld in
-      yes*) LD="${LD-ld} -m elf64_sparc" ;;
-      *)
-       if ${LD-ld} -64 -r -o conftest2.o conftest.o >/dev/null 2>&1; then
-         LD="${LD-ld} -64"
-       fi
-       ;;
-      esac
-      ;;
-    esac
-  fi
-  rm -rf conftest*
-  ;;
-esac
-
-need_locks="$enable_libtool_lock"
-
-
-  case $host_os in
-    rhapsody* | darwin*)
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}dsymutil", so it can be a program name with args.
-set dummy ${ac_tool_prefix}dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$DSYMUTIL"; then
-  ac_cv_prog_DSYMUTIL="$DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_DSYMUTIL="${ac_tool_prefix}dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-DSYMUTIL=$ac_cv_prog_DSYMUTIL
-if test -n "$DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $DSYMUTIL" >&5
-$as_echo "$DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_DSYMUTIL"; then
-  ac_ct_DSYMUTIL=$DSYMUTIL
-  # Extract the first word of "dsymutil", so it can be a program name with args.
-set dummy dsymutil; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_DSYMUTIL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_DSYMUTIL"; then
-  ac_cv_prog_ac_ct_DSYMUTIL="$ac_ct_DSYMUTIL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_DSYMUTIL="dsymutil"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_DSYMUTIL=$ac_cv_prog_ac_ct_DSYMUTIL
-if test -n "$ac_ct_DSYMUTIL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_DSYMUTIL" >&5
-$as_echo "$ac_ct_DSYMUTIL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_DSYMUTIL" = x; then
-    DSYMUTIL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    DSYMUTIL=$ac_ct_DSYMUTIL
-  fi
-else
-  DSYMUTIL="$ac_cv_prog_DSYMUTIL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}nmedit", so it can be a program name with args.
-set dummy ${ac_tool_prefix}nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$NMEDIT"; then
-  ac_cv_prog_NMEDIT="$NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_NMEDIT="${ac_tool_prefix}nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-NMEDIT=$ac_cv_prog_NMEDIT
-if test -n "$NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $NMEDIT" >&5
-$as_echo "$NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_NMEDIT"; then
-  ac_ct_NMEDIT=$NMEDIT
-  # Extract the first word of "nmedit", so it can be a program name with args.
-set dummy nmedit; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_NMEDIT+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_NMEDIT"; then
-  ac_cv_prog_ac_ct_NMEDIT="$ac_ct_NMEDIT" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_NMEDIT="nmedit"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_NMEDIT=$ac_cv_prog_ac_ct_NMEDIT
-if test -n "$ac_ct_NMEDIT"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_NMEDIT" >&5
-$as_echo "$ac_ct_NMEDIT" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_NMEDIT" = x; then
-    NMEDIT=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    NMEDIT=$ac_ct_NMEDIT
-  fi
-else
-  NMEDIT="$ac_cv_prog_NMEDIT"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}lipo", so it can be a program name with args.
-set dummy ${ac_tool_prefix}lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$LIPO"; then
-  ac_cv_prog_LIPO="$LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_LIPO="${ac_tool_prefix}lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-LIPO=$ac_cv_prog_LIPO
-if test -n "$LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LIPO" >&5
-$as_echo "$LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_LIPO"; then
-  ac_ct_LIPO=$LIPO
-  # Extract the first word of "lipo", so it can be a program name with args.
-set dummy lipo; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_LIPO+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_LIPO"; then
-  ac_cv_prog_ac_ct_LIPO="$ac_ct_LIPO" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_LIPO="lipo"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_LIPO=$ac_cv_prog_ac_ct_LIPO
-if test -n "$ac_ct_LIPO"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_LIPO" >&5
-$as_echo "$ac_ct_LIPO" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_LIPO" = x; then
-    LIPO=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    LIPO=$ac_ct_LIPO
-  fi
-else
-  LIPO="$ac_cv_prog_LIPO"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL"; then
-  ac_cv_prog_OTOOL="$OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_OTOOL="${ac_tool_prefix}otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL=$ac_cv_prog_OTOOL
-if test -n "$OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL" >&5
-$as_echo "$OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL"; then
-  ac_ct_OTOOL=$OTOOL
-  # Extract the first word of "otool", so it can be a program name with args.
-set dummy otool; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL"; then
-  ac_cv_prog_ac_ct_OTOOL="$ac_ct_OTOOL" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_OTOOL="otool"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL=$ac_cv_prog_ac_ct_OTOOL
-if test -n "$ac_ct_OTOOL"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL" >&5
-$as_echo "$ac_ct_OTOOL" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL" = x; then
-    OTOOL=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL=$ac_ct_OTOOL
-  fi
-else
-  OTOOL="$ac_cv_prog_OTOOL"
-fi
-
-    if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}otool64", so it can be a program name with args.
-set dummy ${ac_tool_prefix}otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$OTOOL64"; then
-  ac_cv_prog_OTOOL64="$OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_OTOOL64="${ac_tool_prefix}otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-OTOOL64=$ac_cv_prog_OTOOL64
-if test -n "$OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $OTOOL64" >&5
-$as_echo "$OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_OTOOL64"; then
-  ac_ct_OTOOL64=$OTOOL64
-  # Extract the first word of "otool64", so it can be a program name with args.
-set dummy otool64; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_OTOOL64+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_OTOOL64"; then
-  ac_cv_prog_ac_ct_OTOOL64="$ac_ct_OTOOL64" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_OTOOL64="otool64"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_OTOOL64=$ac_cv_prog_ac_ct_OTOOL64
-if test -n "$ac_ct_OTOOL64"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_OTOOL64" >&5
-$as_echo "$ac_ct_OTOOL64" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_OTOOL64" = x; then
-    OTOOL64=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    OTOOL64=$ac_ct_OTOOL64
-  fi
-else
-  OTOOL64="$ac_cv_prog_OTOOL64"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -single_module linker flag" >&5
-$as_echo_n "checking for -single_module linker flag... " >&6; }
-if ${lt_cv_apple_cc_single_mod+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_apple_cc_single_mod=no
-      if test -z "${LT_MULTI_MODULE}"; then
-       # By default we will add the -single_module flag. You can override
-       # by either setting the environment variable LT_MULTI_MODULE
-       # non-empty at configure time, or by adding -multi_module to the
-       # link flags.
-       rm -rf libconftest.dylib*
-       echo "int foo(void){return 1;}" > conftest.c
-       echo "$LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
--dynamiclib -Wl,-single_module conftest.c" >&5
-       $LTCC $LTCFLAGS $LDFLAGS -o libconftest.dylib \
-         -dynamiclib -Wl,-single_module conftest.c 2>conftest.err
-        _lt_result=$?
-       if test -f libconftest.dylib && test ! -s conftest.err && test $_lt_result = 0; then
-         lt_cv_apple_cc_single_mod=yes
-       else
-         cat conftest.err >&5
-       fi
-       rm -rf libconftest.dylib*
-       rm -f conftest.*
-      fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_apple_cc_single_mod" >&5
-$as_echo "$lt_cv_apple_cc_single_mod" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -exported_symbols_list linker flag" >&5
-$as_echo_n "checking for -exported_symbols_list linker flag... " >&6; }
-if ${lt_cv_ld_exported_symbols_list+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_exported_symbols_list=no
-      save_LDFLAGS=$LDFLAGS
-      echo "_main" > conftest.sym
-      LDFLAGS="$LDFLAGS -Wl,-exported_symbols_list,conftest.sym"
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  lt_cv_ld_exported_symbols_list=yes
-else
-  lt_cv_ld_exported_symbols_list=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-       LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_exported_symbols_list" >&5
-$as_echo "$lt_cv_ld_exported_symbols_list" >&6; }
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -force_load linker flag" >&5
-$as_echo_n "checking for -force_load linker flag... " >&6; }
-if ${lt_cv_ld_force_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_ld_force_load=no
-      cat > conftest.c << _LT_EOF
-int forced_loaded() { return 2;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS -c -o conftest.o conftest.c" >&5
-      $LTCC $LTCFLAGS -c -o conftest.o conftest.c 2>&5
-      echo "$AR cru libconftest.a conftest.o" >&5
-      $AR cru libconftest.a conftest.o 2>&5
-      cat > conftest.c << _LT_EOF
-int main() { return 0;}
-_LT_EOF
-      echo "$LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a" >&5
-      $LTCC $LTCFLAGS $LDFLAGS -o conftest conftest.c -Wl,-force_load,./libconftest.a 2>conftest.err
-      _lt_result=$?
-      if test -f conftest && test ! -s conftest.err && test $_lt_result = 0 && $GREP forced_load conftest 2>&1 >/dev/null; then
-       lt_cv_ld_force_load=yes
-      else
-       cat conftest.err >&5
-      fi
-        rm -f conftest.err libconftest.a conftest conftest.c
-        rm -rf conftest.dSYM
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_ld_force_load" >&5
-$as_echo "$lt_cv_ld_force_load" >&6; }
-    case $host_os in
-    rhapsody* | darwin1.[012])
-      _lt_dar_allow_undefined='${wl}-undefined ${wl}suppress' ;;
-    darwin1.*)
-      _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-    darwin*) # darwin 5.x on
-      # if running on 10.5 or later, the deployment target defaults
-      # to the OS version, if on x86, and 10.4, the deployment
-      # target defaults to 10.4. Don't you love it?
-      case ${MACOSX_DEPLOYMENT_TARGET-10.0},$host in
-       10.0,*86*-darwin8*|10.0,*-darwin[91]*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-       10.[012][,.]*)
-         _lt_dar_allow_undefined='${wl}-flat_namespace ${wl}-undefined ${wl}suppress' ;;
-       10.*)
-         _lt_dar_allow_undefined='${wl}-undefined ${wl}dynamic_lookup' ;;
-      esac
-    ;;
-  esac
-    if test "$lt_cv_apple_cc_single_mod" = "yes"; then
-      _lt_dar_single_mod='$single_module'
-    fi
-    if test "$lt_cv_ld_exported_symbols_list" = "yes"; then
-      _lt_dar_export_syms=' ${wl}-exported_symbols_list,$output_objdir/${libname}-symbols.expsym'
-    else
-      _lt_dar_export_syms='~$NMEDIT -s $output_objdir/${libname}-symbols.expsym ${lib}'
-    fi
-    if test "$DSYMUTIL" != ":" && test "$lt_cv_ld_force_load" = "no"; then
-      _lt_dsymutil='~$DSYMUTIL $lib || :'
-    else
-      _lt_dsymutil=
-    fi
-    ;;
-  esac
-
-for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
-
-fi
-
-done
-
-
-
-# autoconf.info says this should be called right after AC_INIT.
-ac_config_headers="$ac_config_headers config.h:config.in"
-
-
-
- { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether byte ordering is bigendian" >&5
-$as_echo_n "checking whether byte ordering is bigendian... " >&6; }
-if ${ac_cv_c_bigendian+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_cv_c_bigendian=unknown
-    # See if we're dealing with a universal compiler.
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#ifndef __APPLE_CC__
-              not a universal capable compiler
-            #endif
-            typedef int dummy;
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-       # Check for potential -arch flags.  It is not universal unless
-       # there are at least two -arch flags with different values.
-       ac_arch=
-       ac_prev=
-       for ac_word in $CC $CFLAGS $CPPFLAGS $LDFLAGS; do
-        if test -n "$ac_prev"; then
-          case $ac_word in
-            i?86 | x86_64 | ppc | ppc64)
-              if test -z "$ac_arch" || test "$ac_arch" = "$ac_word"; then
-                ac_arch=$ac_word
-              else
-                ac_cv_c_bigendian=universal
-                break
-              fi
-              ;;
-          esac
-          ac_prev=
-        elif test "x$ac_word" = "x-arch"; then
-          ac_prev=arch
-        fi
-       done
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if sys/param.h defines the BYTE_ORDER macro.
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-            #include <sys/param.h>
-
-int
-main ()
-{
-#if ! (defined BYTE_ORDER && defined BIG_ENDIAN \
-                    && defined LITTLE_ENDIAN && BYTE_ORDER && BIG_ENDIAN \
-                    && LITTLE_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-               #include <sys/param.h>
-
-int
-main ()
-{
-#if BYTE_ORDER != BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # See if <limits.h> defines _LITTLE_ENDIAN or _BIG_ENDIAN (e.g., Solaris).
-      cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#if ! (defined _LITTLE_ENDIAN || defined _BIG_ENDIAN)
-             bogus endian macros
-            #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  # It does; now see whether it defined to _BIG_ENDIAN or not.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <limits.h>
-
-int
-main ()
-{
-#ifndef _BIG_ENDIAN
-                not big endian
-               #endif
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_c_bigendian=yes
-else
-  ac_cv_c_bigendian=no
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-    fi
-    if test $ac_cv_c_bigendian = unknown; then
-      # Compile a test program.
-      if test "$cross_compiling" = yes; then :
-  # Try to guess by grepping values from an object file.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-short int ascii_mm[] =
-                 { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-               short int ascii_ii[] =
-                 { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-               int use_ascii (int i) {
-                 return ascii_mm[i] + ascii_ii[i];
-               }
-               short int ebcdic_ii[] =
-                 { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-               short int ebcdic_mm[] =
-                 { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-               int use_ebcdic (int i) {
-                 return ebcdic_mm[i] + ebcdic_ii[i];
-               }
-               extern int foo;
-
-int
-main ()
-{
-return use_ascii (foo) == use_ebcdic (foo);
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  if grep BIGenDianSyS conftest.$ac_objext >/dev/null; then
-             ac_cv_c_bigendian=yes
-           fi
-           if grep LiTTleEnDian conftest.$ac_objext >/dev/null ; then
-             if test "$ac_cv_c_bigendian" = unknown; then
-               ac_cv_c_bigendian=no
-             else
-               # finding both strings is unlikely to happen, but who knows?
-               ac_cv_c_bigendian=unknown
-             fi
-           fi
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-$ac_includes_default
-int
-main ()
-{
-
-            /* Are we little or big endian?  From Harbison&Steele.  */
-            union
-            {
-              long int l;
-              char c[sizeof (long int)];
-            } u;
-            u.l = 1;
-            return u.c[sizeof (long int) - 1] == 1;
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_run "$LINENO"; then :
-  ac_cv_c_bigendian=no
-else
-  ac_cv_c_bigendian=yes
-fi
-rm -f core *.core core.conftest.* gmon.out bb.out conftest$ac_exeext \
-  conftest.$ac_objext conftest.beam conftest.$ac_ext
-fi
-
-    fi
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_c_bigendian" >&5
-$as_echo "$ac_cv_c_bigendian" >&6; }
- case $ac_cv_c_bigendian in #(
-   yes)
-     $as_echo "#define WORDS_BIGENDIAN 1" >>confdefs.h
-;; #(
-   no)
-      ;; #(
-   universal)
-
-$as_echo "#define AC_APPLE_UNIVERSAL_BUILD 1" >>confdefs.h
-
-     ;; #(
-   *)
-     as_fn_error $? "unknown endianness
- presetting ac_cv_c_bigendian=no (or yes) will help" "$LINENO" 5 ;;
- esac
-
-
-
-
-# Put a plausible default for CC_FOR_BUILD in Makefile.
-if test -z "$CC_FOR_BUILD"; then
-  if test "x$cross_compiling" = "xno"; then
-    CC_FOR_BUILD='$(CC)'
-  else
-    CC_FOR_BUILD=gcc
-  fi
-fi
-
-
-
-
-AR=${AR-ar}
-
-if test -n "$ac_tool_prefix"; then
-  # Extract the first word of "${ac_tool_prefix}ranlib", so it can be a program name with args.
-set dummy ${ac_tool_prefix}ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$RANLIB"; then
-  ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $RANLIB" >&5
-$as_echo "$RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-fi
-if test -z "$ac_cv_prog_RANLIB"; then
-  ac_ct_RANLIB=$RANLIB
-  # Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_ac_ct_RANLIB+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$ac_ct_RANLIB"; then
-  ac_cv_prog_ac_ct_RANLIB="$ac_ct_RANLIB" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_ac_ct_RANLIB="ranlib"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_ct_RANLIB" >&5
-$as_echo "$ac_ct_RANLIB" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-  if test "x$ac_ct_RANLIB" = x; then
-    RANLIB=":"
-  else
-    case $cross_compiling:$ac_tool_warned in
-yes:)
-{ $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: using cross tools not prefixed with host triplet" >&5
-$as_echo "$as_me: WARNING: using cross tools not prefixed with host triplet" >&2;}
-ac_tool_warned=yes ;;
-esac
-    RANLIB=$ac_ct_RANLIB
-  fi
-else
-  RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-
-# Require C11 or newer.  Autoconf-2.70 provides ac_cv_prog_cc_c11 when using
-# AC_PROG_CC, but we're still using Autoconf-2.69, and the newest it understands
-# is C99.  So handle it ourselves.
-:
-C_DIALECT=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether C11 is supported by default" >&5
-$as_echo_n "checking whether C11 is supported by default... " >&6; }
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
-# error "C11 support not found"
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for -std=c11 support" >&5
-$as_echo_n "checking for -std=c11 support... " >&6; }
-  ac_save_CC="$CC"
-  CC="$CC -std=c11"
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-#if !defined __STDC_VERSION__ || __STDC_VERSION__ < 201112L
-# error "C11 support not found"
-#endif
-
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-  CC="$ac_save_CC"
-  C_DIALECT="-std=c11"
-
-else
-  as_fn_error $? "C11 is required" "$LINENO" 5
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-
-
-# Some of the common include files depend on bfd.h, and bfd.h checks
-# that config.h is included first by testing that the PACKAGE macro
-# is defined.
-PACKAGE=sim
-
-cat >>confdefs.h <<_ACEOF
-#define PACKAGE "$PACKAGE"
-_ACEOF
-
-
-
-# Dependency checking.
-ac_config_commands="$ac_config_commands depdir"
-
-
-depcc="$CC"   am_compiler_list=
-
-am_depcomp=$ac_aux_dir/depcomp
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking dependency style of $depcc" >&5
-$as_echo_n "checking dependency style of $depcc... " >&6; }
-if ${am_cv_CC_dependencies_compiler_type+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -f "$am_depcomp"; then
-  # We make a subdir and do the tests there.  Otherwise we can end up
-  # making bogus files that we don't know about and never remove.  For
-  # instance it was reported that on HP-UX the gcc test will end up
-  # making a dummy file named `D' -- because `-MD' means `put the output
-  # in D'.
-  mkdir conftest.dir
-  # Copy depcomp to subdir because otherwise we won't find it if we're
-  # using a relative directory.
-  cp "$am_depcomp" conftest.dir
-  cd conftest.dir
-  # We will build objects and dependencies in a subdirectory because
-  # it helps to detect inapplicable dependency modes.  For instance
-  # both Tru64's cc and ICC support -MD to output dependencies as a
-  # side effect of compilation, but ICC will put the dependencies in
-  # the current directory while Tru64 will put them in the object
-  # directory.
-  mkdir sub
-
-  am_cv_CC_dependencies_compiler_type=none
-  if test "$am_compiler_list" = ""; then
-     am_compiler_list=`sed -n 's/^\([a-zA-Z0-9]*\))$/\1/p' < ./depcomp`
-  fi
-  for depmode in $am_compiler_list; do
-    if test $depmode = none; then break; fi
-
-    $as_echo "$as_me:$LINENO: trying $depmode" >&5
-    # Setup a source with many dependencies, because some compilers
-    # like to wrap large dependency lists on column 80 (with \), and
-    # we should not choose a depcomp mode which is confused by this.
-    #
-    # We need to recreate these files for each test, as the compiler may
-    # overwrite some of them when testing with obscure command lines.
-    # This happens at least with the AIX C compiler.
-    : > sub/conftest.c
-    for i in 1 2 3 4 5 6; do
-      echo '#include "conftst'$i'.h"' >> sub/conftest.c
-      # Using `: > sub/conftst$i.h' creates only sub/conftst1.h with
-      # Solaris 8's {/usr,}/bin/sh.
-      touch sub/conftst$i.h
-    done
-    echo "include sub/conftest.Po" > confmf
-
-    # We check with `-c' and `-o' for the sake of the "dashmstdout"
-    # mode.  It turns out that the SunPro C++ compiler does not properly
-    # handle `-M -o', and we need to detect this.
-    depcmd="depmode=$depmode \
-       source=sub/conftest.c object=sub/conftest.${OBJEXT-o} \
-       depfile=sub/conftest.Po tmpdepfile=sub/conftest.TPo \
-       $SHELL ./depcomp $depcc -c -o sub/conftest.${OBJEXT-o} sub/conftest.c"
-    echo "| $depcmd" | sed -e 's/  */ /g' >&5
-    if env $depcmd > conftest.err 2>&1 &&
-       grep sub/conftst6.h sub/conftest.Po >>conftest.err 2>&1 &&
-       grep sub/conftest.${OBJEXT-o} sub/conftest.Po >>conftest.err 2>&1 &&
-       ${MAKE-make} -s -f confmf >>conftest.err 2>&1; then
-      # icc doesn't choke on unknown options, it will just issue warnings
-      # or remarks (even with -Werror).  So we grep stderr for any message
-      # that says an option was ignored or not supported.
-      # When given -MP, icc 7.0 and 7.1 complain thusly:
-      #   icc: Command line warning: ignoring option '-M'; no argument required
-      # The diagnosis changed in icc 8.0:
-      #   icc: Command line remark: option '-MP' not supported
-      if (grep 'ignoring option' conftest.err ||
-          grep 'not supported' conftest.err) >/dev/null 2>&1; then :; else
-        am_cv_CC_dependencies_compiler_type=$depmode
-       $as_echo "$as_me:$LINENO: success" >&5
-        break
-      fi
-    fi
-    $as_echo "$as_me:$LINENO: failure, diagnostics are:" >&5
-    sed -e 's/^/| /' < conftest.err >&5
-  done
-
-  cd ..
-  rm -rf conftest.dir
-else
-  am_cv_CC_dependencies_compiler_type=none
-fi
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $am_cv_CC_dependencies_compiler_type" >&5
-$as_echo "$am_cv_CC_dependencies_compiler_type" >&6; }
-if test x${am_cv_CC_dependencies_compiler_type-none} = xnone
-then as_fn_error $? "no usable dependency style found" "$LINENO" 5
-else CCDEPMODE=depmode=$am_cv_CC_dependencies_compiler_type
-
-fi
-
-
-# Check for the 'make' the user wants to use.
-for ac_prog in make
-do
-  # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $ac_word" >&5
-$as_echo_n "checking for $ac_word... " >&6; }
-if ${ac_cv_prog_MAKE+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  if test -n "$MAKE"; then
-  ac_cv_prog_MAKE="$MAKE" # Let the user override the test.
-else
-as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    for ac_exec_ext in '' $ac_executable_extensions; do
-  if as_fn_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
-    ac_cv_prog_MAKE="$ac_prog"
-    $as_echo "$as_me:${as_lineno-$LINENO}: found $as_dir/$ac_word$ac_exec_ext" >&5
-    break 2
-  fi
-done
-  done
-IFS=$as_save_IFS
-
-fi
-fi
-MAKE=$ac_cv_prog_MAKE
-if test -n "$MAKE"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAKE" >&5
-$as_echo "$MAKE" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  test -n "$MAKE" && break
-done
-
-MAKE_IS_GNU=
-case "`$MAKE --version 2>&1 | sed 1q`" in
-  *GNU*)
-    MAKE_IS_GNU=yes
-    ;;
-esac
- if test "$MAKE_IS_GNU" = yes; then
-  GMAKE_TRUE=
-  GMAKE_FALSE='#'
-else
-  GMAKE_TRUE='#'
-  GMAKE_FALSE=
-fi
-
-
-ALL_LINGUAS=
-# If we haven't got the data from the intl directory,
-# assume NLS is disabled.
-USE_NLS=no
-LIBINTL=
-LIBINTL_DEP=
-INCINTL=
-XGETTEXT=
-GMSGFMT=
-POSUB=
-
-if test -f  ../../intl/config.intl; then
-  .  ../../intl/config.intl
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether NLS is requested" >&5
-$as_echo_n "checking whether NLS is requested... " >&6; }
-if test x"$USE_NLS" != xyes; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-
-$as_echo "#define ENABLE_NLS 1" >>confdefs.h
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for catalogs to be installed" >&5
-$as_echo_n "checking for catalogs to be installed... " >&6; }
-  # Look for .po and .gmo files in the source directory.
-  CATALOGS=
-  XLINGUAS=
-  for cat in $srcdir/po/*.gmo $srcdir/po/*.po; do
-    # If there aren't any .gmo files the shell will give us the
-    # literal string "../path/to/srcdir/po/*.gmo" which has to be
-    # weeded out.
-    case "$cat" in *\**)
-      continue;;
-    esac
-    # The quadruple backslash is collapsed to a double backslash
-    # by the backticks, then collapsed again by the double quotes,
-    # leaving us with one backslash in the sed expression (right
-    # before the dot that mustn't act as a wildcard).
-    cat=`echo $cat | sed -e "s!$srcdir/po/!!" -e "s!\\\\.po!.gmo!"`
-    lang=`echo $cat | sed -e "s!\\\\.gmo!!"`
-    # The user is allowed to set LINGUAS to a list of languages to
-    # install catalogs for.  If it's empty that means "all of them."
-    if test "x$LINGUAS" = x; then
-      CATALOGS="$CATALOGS $cat"
-      XLINGUAS="$XLINGUAS $lang"
-    else
-      case "$LINGUAS" in *$lang*)
-        CATALOGS="$CATALOGS $cat"
-        XLINGUAS="$XLINGUAS $lang"
-        ;;
-      esac
-    fi
-  done
-  LINGUAS="$XLINGUAS"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $LINGUAS" >&5
-$as_echo "$LINGUAS" >&6; }
-
-
-    DATADIRNAME=share
-
-  INSTOBJEXT=.mo
-
-  GENCAT=gencat
-
-  CATOBJEXT=.gmo
-
-fi
-
-# Check for common headers.
-# FIXME: Seems to me this can cause problems for i386-windows hosts.
-# At one point there were hardcoded AC_DEFINE's if ${host} = i386-*-windows*.
-for ac_header in stdlib.h string.h strings.h unistd.h time.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in sys/time.h sys/times.h sys/resource.h sys/mman.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in fcntl.h fpu_control.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-for ac_header in dlfcn.h errno.h sys/stat.h
-do :
-  as_ac_Header=`$as_echo "ac_cv_header_$ac_header" | $as_tr_sh`
-ac_fn_c_check_header_mongrel "$LINENO" "$ac_header" "$as_ac_Header" "$ac_includes_default"
-if eval test \"x\$"$as_ac_Header"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-for ac_func in getrusage time sigaction __setfpucw
-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"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-for ac_func in mmap munmap lstat truncate ftruncate posix_fallocate
-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"
-if eval test \"x\$"$as_ac_var"\" = x"yes"; then :
-  cat >>confdefs.h <<_ACEOF
-#define `$as_echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-ac_fn_c_check_member "$LINENO" "struct stat" "st_dev" "ac_cv_member_struct_stat_st_dev" "#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-"
-if test "x$ac_cv_member_struct_stat_st_dev" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_STAT_ST_DEV 1
-_ACEOF
-
-
-fi
-ac_fn_c_check_member "$LINENO" "struct stat" "st_ino" "ac_cv_member_struct_stat_st_ino" "#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-"
-if test "x$ac_cv_member_struct_stat_st_ino" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_STAT_ST_INO 1
-_ACEOF
-
-
-fi
-ac_fn_c_check_member "$LINENO" "struct stat" "st_mode" "ac_cv_member_struct_stat_st_mode" "#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-"
-if test "x$ac_cv_member_struct_stat_st_mode" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_STAT_ST_MODE 1
-_ACEOF
-
-
-fi
-ac_fn_c_check_member "$LINENO" "struct stat" "st_nlink" "ac_cv_member_struct_stat_st_nlink" "#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-"
-if test "x$ac_cv_member_struct_stat_st_nlink" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_STAT_ST_NLINK 1
-_ACEOF
-
-
-fi
-ac_fn_c_check_member "$LINENO" "struct stat" "st_uid" "ac_cv_member_struct_stat_st_uid" "#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-"
-if test "x$ac_cv_member_struct_stat_st_uid" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_STAT_ST_UID 1
-_ACEOF
-
-
-fi
-ac_fn_c_check_member "$LINENO" "struct stat" "st_gid" "ac_cv_member_struct_stat_st_gid" "#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-"
-if test "x$ac_cv_member_struct_stat_st_gid" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_STAT_ST_GID 1
-_ACEOF
-
-
-fi
-ac_fn_c_check_member "$LINENO" "struct stat" "st_rdev" "ac_cv_member_struct_stat_st_rdev" "#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-"
-if test "x$ac_cv_member_struct_stat_st_rdev" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_STAT_ST_RDEV 1
-_ACEOF
-
-
-fi
-ac_fn_c_check_member "$LINENO" "struct stat" "st_size" "ac_cv_member_struct_stat_st_size" "#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-"
-if test "x$ac_cv_member_struct_stat_st_size" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_STAT_ST_SIZE 1
-_ACEOF
-
-
-fi
-ac_fn_c_check_member "$LINENO" "struct stat" "st_blksize" "ac_cv_member_struct_stat_st_blksize" "#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-"
-if test "x$ac_cv_member_struct_stat_st_blksize" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_STAT_ST_BLKSIZE 1
-_ACEOF
-
-
-fi
-ac_fn_c_check_member "$LINENO" "struct stat" "st_blocks" "ac_cv_member_struct_stat_st_blocks" "#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-"
-if test "x$ac_cv_member_struct_stat_st_blocks" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_STAT_ST_BLOCKS 1
-_ACEOF
-
-
-fi
-ac_fn_c_check_member "$LINENO" "struct stat" "st_atime" "ac_cv_member_struct_stat_st_atime" "#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-"
-if test "x$ac_cv_member_struct_stat_st_atime" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_STAT_ST_ATIME 1
-_ACEOF
-
-
-fi
-ac_fn_c_check_member "$LINENO" "struct stat" "st_mtime" "ac_cv_member_struct_stat_st_mtime" "#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-"
-if test "x$ac_cv_member_struct_stat_st_mtime" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_STAT_ST_MTIME 1
-_ACEOF
-
-
-fi
-ac_fn_c_check_member "$LINENO" "struct stat" "st_ctime" "ac_cv_member_struct_stat_st_ctime" "#ifdef HAVE_SYS_TYPES_H
-#include <sys/types.h>
-#endif
-#ifdef HAVE_SYS_STAT_H
-#include <sys/stat.h>
-#endif
-"
-if test "x$ac_cv_member_struct_stat_st_ctime" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_STRUCT_STAT_ST_CTIME 1
-_ACEOF
-
-
-fi
-
-ac_fn_c_check_type "$LINENO" "socklen_t" "ac_cv_type_socklen_t" "#include <sys/types.h>
-#include <sys/socket.h>
-
-"
-if test "x$ac_cv_type_socklen_t" = xyes; then :
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_SOCKLEN_T 1
-_ACEOF
-
-
-fi
-
-
-# Check for socket libraries
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for bind in -lsocket" >&5
-$as_echo_n "checking for bind in -lsocket... " >&6; }
-if ${ac_cv_lib_socket_bind+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char bind ();
-int
-main ()
-{
-return bind ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_socket_bind=yes
-else
-  ac_cv_lib_socket_bind=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_socket_bind" >&5
-$as_echo "$ac_cv_lib_socket_bind" >&6; }
-if test "x$ac_cv_lib_socket_bind" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBSOCKET 1
-_ACEOF
-
-  LIBS="-lsocket $LIBS"
-
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for gethostbyname in -lnsl" >&5
-$as_echo_n "checking for gethostbyname in -lnsl... " >&6; }
-if ${ac_cv_lib_nsl_gethostbyname+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnsl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char gethostbyname ();
-int
-main ()
-{
-return gethostbyname ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_nsl_gethostbyname=yes
-else
-  ac_cv_lib_nsl_gethostbyname=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_nsl_gethostbyname" >&5
-$as_echo "$ac_cv_lib_nsl_gethostbyname" >&6; }
-if test "x$ac_cv_lib_nsl_gethostbyname" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBNSL 1
-_ACEOF
-
-  LIBS="-lnsl $LIBS"
-
-fi
-
-
-# BFD conditionally uses zlib, so we must link it in if libbfd does, by
-# using the same condition.
-
-  # Use the system's zlib library.
-  zlibdir="-L\$(top_builddir)/../zlib"
-  zlibinc="-I\$(top_srcdir)/../zlib"
-
-# Check whether --with-system-zlib was given.
-if test "${with_system_zlib+set}" = set; then :
-  withval=$with_system_zlib; if test x$with_system_zlib = xyes ; then
-    zlibdir=
-    zlibinc=
-  fi
-
-fi
-
-
-
-
-
-# BFD uses libdl when when plugins enabled.
-
-  maybe_plugins=no
-  for ac_header in dlfcn.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "dlfcn.h" "ac_cv_header_dlfcn_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_dlfcn_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_DLFCN_H 1
-_ACEOF
- maybe_plugins=yes
-fi
-
-done
-
-  for ac_header in windows.h
-do :
-  ac_fn_c_check_header_compile "$LINENO" "windows.h" "ac_cv_header_windows_h" "$ac_includes_default
-"
-if test "x$ac_cv_header_windows_h" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_WINDOWS_H 1
-_ACEOF
- maybe_plugins=yes
-fi
-
-done
-
-
-  # Check whether --enable-plugins was given.
-if test "${enable_plugins+set}" = set; then :
-  enableval=$enable_plugins; case "${enableval}" in
-      no) plugins=no ;;
-      *) plugins=yes
-         if test "$maybe_plugins" != "yes" ; then
-          as_fn_error $? "Building with plugin support requires a host that supports dlopen." "$LINENO" 5
-        fi ;;
-     esac
-else
-  plugins=$maybe_plugins
-
-fi
-
-  if test "$plugins" = "yes"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for library containing dlsym" >&5
-$as_echo_n "checking for library containing dlsym... " >&6; }
-if ${ac_cv_search_dlsym+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_func_search_save_LIBS=$LIBS
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlsym ();
-int
-main ()
-{
-return dlsym ();
-  ;
-  return 0;
-}
-_ACEOF
-for ac_lib in '' dl; do
-  if test -z "$ac_lib"; then
-    ac_res="none required"
-  else
-    ac_res=-l$ac_lib
-    LIBS="-l$ac_lib  $ac_func_search_save_LIBS"
-  fi
-  if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_search_dlsym=$ac_res
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext
-  if ${ac_cv_search_dlsym+:} false; then :
-  break
-fi
-done
-if ${ac_cv_search_dlsym+:} false; then :
-
-else
-  ac_cv_search_dlsym=no
-fi
-rm conftest.$ac_ext
-LIBS=$ac_func_search_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_search_dlsym" >&5
-$as_echo "$ac_cv_search_dlsym" >&6; }
-ac_res=$ac_cv_search_dlsym
-if test "$ac_res" != no; then :
-  test "$ac_res" = "none required" || LIBS="$ac_res $LIBS"
-
-fi
-
-  fi
-
- if test "$plugins" = yes; then
-  PLUGINS_TRUE=
-  PLUGINS_FALSE='#'
-else
-  PLUGINS_TRUE='#'
-  PLUGINS_FALSE=
-fi
-
-
-
-
-
-# Set options
-enable_dlopen=yes
-
-
-
-
-  enable_win32_dll=no
-
-
-            # Check whether --enable-shared was given.
-if test "${enable_shared+set}" = set; then :
-  enableval=$enable_shared; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_shared=yes ;;
-    no) enable_shared=no ;;
-    *)
-      enable_shared=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_shared=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_shared=yes
-fi
-
-
-
-
-
-
-
-
-
-  # Check whether --enable-static was given.
-if test "${enable_static+set}" = set; then :
-  enableval=$enable_static; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_static=yes ;;
-    no) enable_static=no ;;
-    *)
-     enable_static=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_static=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_static=yes
-fi
-
-
-
-
-
-
-
-
-
-
-# Check whether --with-pic was given.
-if test "${with_pic+set}" = set; then :
-  withval=$with_pic; pic_mode="$withval"
-else
-  pic_mode=default
-fi
-
-
-test -z "$pic_mode" && pic_mode=default
-
-
-
-
-
-
-
-  # Check whether --enable-fast-install was given.
-if test "${enable_fast_install+set}" = set; then :
-  enableval=$enable_fast_install; p=${PACKAGE-default}
-    case $enableval in
-    yes) enable_fast_install=yes ;;
-    no) enable_fast_install=no ;;
-    *)
-      enable_fast_install=no
-      # Look at the argument we got.  We use all the common list separators.
-      lt_save_ifs="$IFS"; IFS="${IFS}$PATH_SEPARATOR,"
-      for pkg in $enableval; do
-       IFS="$lt_save_ifs"
-       if test "X$pkg" = "X$p"; then
-         enable_fast_install=yes
-       fi
-      done
-      IFS="$lt_save_ifs"
-      ;;
-    esac
-else
-  enable_fast_install=yes
-fi
-
-
-
-
-
-
-
-
-
-
-
-# This can be used to rebuild libtool when needed
-LIBTOOL_DEPS="$ltmain"
-
-# Always use our own libtool.
-LIBTOOL='$(SHELL) $(top_builddir)/libtool'
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-test -z "$LN_S" && LN_S="ln -s"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-if test -n "${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for objdir" >&5
-$as_echo_n "checking for objdir... " >&6; }
-if ${lt_cv_objdir+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  rm -f .libs 2>/dev/null
-mkdir .libs 2>/dev/null
-if test -d .libs; then
-  lt_cv_objdir=.libs
-else
-  # MS-DOS does not allow filenames that begin with a dot.
-  lt_cv_objdir=_libs
-fi
-rmdir .libs 2>/dev/null
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_objdir" >&5
-$as_echo "$lt_cv_objdir" >&6; }
-objdir=$lt_cv_objdir
-
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define LT_OBJDIR "$lt_cv_objdir/"
-_ACEOF
-
-
-
-
-case $host_os in
-aix3*)
-  # AIX sometimes has problems with the GCC collect2 program.  For some
-  # reason, if we set the COLLECT_NAMES environment variable, the problems
-  # vanish in a puff of smoke.
-  if test "X${COLLECT_NAMES+set}" != Xset; then
-    COLLECT_NAMES=
-    export COLLECT_NAMES
-  fi
-  ;;
-esac
-
-# Global variables:
-ofile=libtool
-can_build_shared=yes
-
-# All known linkers require a `.a' archive for static linking (except MSVC,
-# which needs '.lib').
-libext=a
-
-with_gnu_ld="$lt_cv_prog_gnu_ld"
-
-old_CC="$CC"
-old_CFLAGS="$CFLAGS"
-
-# Set sane defaults for various variables
-test -z "$CC" && CC=cc
-test -z "$LTCC" && LTCC=$CC
-test -z "$LTCFLAGS" && LTCFLAGS=$CFLAGS
-test -z "$LD" && LD=ld
-test -z "$ac_objext" && ac_objext=o
-
-for cc_temp in $compiler""; do
-  case $cc_temp in
-    compile | *[\\/]compile | ccache | *[\\/]ccache ) ;;
-    distcc | *[\\/]distcc | purify | *[\\/]purify ) ;;
-    \-*) ;;
-    *) break;;
-  esac
-done
-cc_basename=`$ECHO "$cc_temp" | $SED "s%.*/%%; s%^$host_alias-%%"`
-
-
-# Only perform the check for file, if the check method requires it
-test -z "$MAGIC_CMD" && MAGIC_CMD=file
-case $deplibs_check_method in
-file_magic*)
-  if test "$file_magic_cmd" = '$MAGIC_CMD'; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for ${ac_tool_prefix}file" >&5
-$as_echo_n "checking for ${ac_tool_prefix}file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/${ac_tool_prefix}file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/${ac_tool_prefix}file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-
-
-
-if test -z "$lt_cv_path_MAGIC_CMD"; then
-  if test -n "$ac_tool_prefix"; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for file" >&5
-$as_echo_n "checking for file... " >&6; }
-if ${lt_cv_path_MAGIC_CMD+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  case $MAGIC_CMD in
-[\\/*] |  ?:[\\/]*)
-  lt_cv_path_MAGIC_CMD="$MAGIC_CMD" # Let the user override the test with a path.
-  ;;
-*)
-  lt_save_MAGIC_CMD="$MAGIC_CMD"
-  lt_save_ifs="$IFS"; IFS=$PATH_SEPARATOR
-  ac_dummy="/usr/bin$PATH_SEPARATOR$PATH"
-  for ac_dir in $ac_dummy; do
-    IFS="$lt_save_ifs"
-    test -z "$ac_dir" && ac_dir=.
-    if test -f $ac_dir/file; then
-      lt_cv_path_MAGIC_CMD="$ac_dir/file"
-      if test -n "$file_magic_test_file"; then
-       case $deplibs_check_method in
-       "file_magic "*)
-         file_magic_regex=`expr "$deplibs_check_method" : "file_magic \(.*\)"`
-         MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-         if eval $file_magic_cmd \$file_magic_test_file 2> /dev/null |
-           $EGREP "$file_magic_regex" > /dev/null; then
-           :
-         else
-           cat <<_LT_EOF 1>&2
-
-*** Warning: the command libtool uses to detect shared libraries,
-*** $file_magic_cmd, produces output that libtool cannot recognize.
-*** The result is that libtool may fail to recognize shared libraries
-*** as such.  This will affect the creation of libtool libraries that
-*** depend on shared libraries, but programs linked with such libtool
-*** libraries will work regardless of this problem.  Nevertheless, you
-*** may want to report the problem to your system manager and/or to
-*** bug-libtool@gnu.org
-
-_LT_EOF
-         fi ;;
-       esac
-      fi
-      break
-    fi
-  done
-  IFS="$lt_save_ifs"
-  MAGIC_CMD="$lt_save_MAGIC_CMD"
-  ;;
-esac
-fi
-
-MAGIC_CMD="$lt_cv_path_MAGIC_CMD"
-if test -n "$MAGIC_CMD"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $MAGIC_CMD" >&5
-$as_echo "$MAGIC_CMD" >&6; }
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-fi
-
-
-  else
-    MAGIC_CMD=:
-  fi
-fi
-
-  fi
-  ;;
-esac
-
-# Use C for the default configuration in the libtool script
-
-lt_save_CC="$CC"
-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
-
-
-# Source file extension for C test sources.
-ac_ext=c
-
-# Object file extension for compiled C test sources.
-objext=o
-objext=$objext
-
-# Code to be used in simple compile tests
-lt_simple_compile_test_code="int some_variable = 0;"
-
-# Code to be used in simple link tests
-lt_simple_link_test_code='int main(){return(0);}'
-
-
-
-
-
-
-
-# If no C compiler was specified, use CC.
-LTCC=${LTCC-"$CC"}
-
-# If no C compiler flags were specified, use CFLAGS.
-LTCFLAGS=${LTCFLAGS-"$CFLAGS"}
-
-# Allow CC to be a program name with arguments.
-compiler=$CC
-
-# Save the default compiler, since it gets overwritten when the other
-# tags are being tested, and _LT_TAGVAR(compiler, []) is a NOP.
-compiler_DEFAULT=$CC
-
-# save warnings/boilerplate of simple test code
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_compile_test_code" >conftest.$ac_ext
-eval "$ac_compile" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_compiler_boilerplate=`cat conftest.err`
-$RM conftest*
-
-ac_outfile=conftest.$ac_objext
-echo "$lt_simple_link_test_code" >conftest.$ac_ext
-eval "$ac_link" 2>&1 >/dev/null | $SED '/^$/d; /^ *+/d' >conftest.err
-_lt_linker_boilerplate=`cat conftest.err`
-$RM -r conftest*
-
-
-## CAVEAT EMPTOR:
-## There is no encapsulation within the following macros, do not change
-## the running order or otherwise move them around unless you know exactly
-## what you are doing...
-if test -n "$compiler"; then
-
-lt_prog_compiler_no_builtin_flag=
-
-if test "$GCC" = yes; then
-  case $cc_basename in
-  nvcc*)
-    lt_prog_compiler_no_builtin_flag=' -Xcompiler -fno-builtin' ;;
-  *)
-    lt_prog_compiler_no_builtin_flag=' -fno-builtin' ;;
-  esac
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -fno-rtti -fno-exceptions" >&5
-$as_echo_n "checking if $compiler supports -fno-rtti -fno-exceptions... " >&6; }
-if ${lt_cv_prog_compiler_rtti_exceptions+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_rtti_exceptions=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="-fno-rtti -fno-exceptions"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_rtti_exceptions=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_rtti_exceptions" >&5
-$as_echo "$lt_cv_prog_compiler_rtti_exceptions" >&6; }
-
-if test x"$lt_cv_prog_compiler_rtti_exceptions" = xyes; then
-    lt_prog_compiler_no_builtin_flag="$lt_prog_compiler_no_builtin_flag -fno-rtti -fno-exceptions"
-else
-    :
-fi
-
-fi
-
-
-
-
-
-
-  lt_prog_compiler_wl=
-lt_prog_compiler_pic=
-lt_prog_compiler_static=
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for $compiler option to produce PIC" >&5
-$as_echo_n "checking for $compiler option to produce PIC... " >&6; }
-
-  if test "$GCC" = yes; then
-    lt_prog_compiler_wl='-Wl,'
-    lt_prog_compiler_static='-static'
-
-    case $host_os in
-      aix*)
-      # All AIX code is PIC.
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            lt_prog_compiler_pic='-fPIC'
-        ;;
-      m68k)
-            # FIXME: we need at least 68020 code to build shared libraries, but
-            # adding the `-m68020' flag to GCC prevents building anything better,
-            # like `-m68040'.
-            lt_prog_compiler_pic='-m68020 -resident32 -malways-restore-a4'
-        ;;
-      esac
-      ;;
-
-    beos* | irix5* | irix6* | nonstopux* | osf3* | osf4* | osf5*)
-      # PIC is the default for these OSes.
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      # Although the cygwin gcc ignores -fPIC, still need this for old-style
-      # (--disable-auto-import) libraries
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    darwin* | rhapsody*)
-      # PIC is the default on this platform
-      # Common symbols not allowed in MH_DYLIB files
-      lt_prog_compiler_pic='-fno-common'
-      ;;
-
-    haiku*)
-      # PIC is the default for Haiku.
-      # The "-static" flag exists, but is broken.
-      lt_prog_compiler_static=
-      ;;
-
-    hpux*)
-      # PIC is the default for 64-bit PA HP-UX, but not for 32-bit
-      # PA HP-UX.  On IA64 HP-UX, PIC is the default but the pic flag
-      # sets the default TLS model and affects inlining.
-      case $host_cpu in
-      hppa*64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='-fPIC'
-       ;;
-      esac
-      ;;
-
-    interix[3-9]*)
-      # Interix 3.x gcc -fpic/-fPIC options generate broken code.
-      # Instead, we relocate shared libraries at runtime.
-      ;;
-
-    msdosdjgpp*)
-      # Just because we use GCC doesn't mean we suddenly get shared libraries
-      # on systems that don't support them.
-      lt_prog_compiler_can_build_shared=no
-      enable_shared=no
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       lt_prog_compiler_pic=-Kconform_pic
-      fi
-      ;;
-
-    *)
-      lt_prog_compiler_pic='-fPIC'
-      ;;
-    esac
-
-    case $cc_basename in
-    nvcc*) # Cuda Compiler Driver 2.2
-      lt_prog_compiler_wl='-Xlinker '
-      lt_prog_compiler_pic='-Xcompiler -fPIC'
-      ;;
-    esac
-  else
-    # PORTME Check for flag to pass linker flags through the system compiler.
-    case $host_os in
-    aix*)
-      lt_prog_compiler_wl='-Wl,'
-      if test "$host_cpu" = ia64; then
-       # AIX 5 now supports IA64 processor
-       lt_prog_compiler_static='-Bstatic'
-      else
-       lt_prog_compiler_static='-bnso -bI:/lib/syscalls.exp'
-      fi
-      ;;
-
-    mingw* | cygwin* | pw32* | os2* | cegcc*)
-      # This hack is so that the source file can tell whether it is being
-      # built for inclusion in a dll (and should export symbols for example).
-      lt_prog_compiler_pic='-DDLL_EXPORT'
-      ;;
-
-    hpux9* | hpux10* | hpux11*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC is the default for IA64 HP-UX and 64-bit HP-UX, but
-      # not for PA HP-UX.
-      case $host_cpu in
-      hppa*64*|ia64*)
-       # +Z the default
-       ;;
-      *)
-       lt_prog_compiler_pic='+Z'
-       ;;
-      esac
-      # Is there a better lt_prog_compiler_static that works with the bundled CC?
-      lt_prog_compiler_static='${wl}-a ${wl}archive'
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      lt_prog_compiler_wl='-Wl,'
-      # PIC (with -KPIC) is the default.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    linux* | k*bsd*-gnu | kopensolaris*-gnu)
-      case $cc_basename in
-      # old Intel for x86_64 which still supported -KPIC.
-      ecc*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-KPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # icc used to be incompatible with GCC.
-      # ICC 10 doesn't accept -KPIC any more.
-      icc* | ifort*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fPIC'
-       lt_prog_compiler_static='-static'
-        ;;
-      # Lahey Fortran 8.1.
-      lf95*)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='--shared'
-       lt_prog_compiler_static='--static'
-       ;;
-      pgcc* | pgf77* | pgf90* | pgf95* | pgfortran*)
-        # Portland Group compilers (*not* the Pentium gcc compiler,
-       # which looks to be a dead project)
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-fpic'
-       lt_prog_compiler_static='-Bstatic'
-        ;;
-      ccc*)
-        lt_prog_compiler_wl='-Wl,'
-        # All Alpha code is PIC.
-        lt_prog_compiler_static='-non_shared'
-        ;;
-      xl* | bgxl* | bgf* | mpixl*)
-       # IBM XL C 8.0/Fortran 10.1, 11.1 on PPC and BlueGene
-       lt_prog_compiler_wl='-Wl,'
-       lt_prog_compiler_pic='-qpic'
-       lt_prog_compiler_static='-qstaticlink'
-       ;;
-      *)
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ F* | *Sun*Fortran*)
-         # Sun Fortran 8.3 passes all unrecognized flags to the linker
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl=''
-         ;;
-       *Sun\ C*)
-         # Sun C 5.9
-         lt_prog_compiler_pic='-KPIC'
-         lt_prog_compiler_static='-Bstatic'
-         lt_prog_compiler_wl='-Wl,'
-         ;;
-       esac
-       ;;
-      esac
-      ;;
-
-    newsos6)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *nto* | *qnx*)
-      # QNX uses GNU C++, but need to define -shared option too, otherwise
-      # it will coredump.
-      lt_prog_compiler_pic='-fPIC -shared'
-      ;;
-
-    osf3* | osf4* | osf5*)
-      lt_prog_compiler_wl='-Wl,'
-      # All OSF/1 code is PIC.
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    rdos*)
-      lt_prog_compiler_static='-non_shared'
-      ;;
-
-    solaris*)
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      case $cc_basename in
-      f77* | f90* | f95*)
-       lt_prog_compiler_wl='-Qoption ld ';;
-      *)
-       lt_prog_compiler_wl='-Wl,';;
-      esac
-      ;;
-
-    sunos4*)
-      lt_prog_compiler_wl='-Qoption ld '
-      lt_prog_compiler_pic='-PIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4 | sysv4.2uw2* | sysv4.3*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec ;then
-       lt_prog_compiler_pic='-Kconform_pic'
-       lt_prog_compiler_static='-Bstatic'
-      fi
-      ;;
-
-    sysv5* | unixware* | sco3.2v5* | sco5v6* | OpenUNIX*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_pic='-KPIC'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    unicos*)
-      lt_prog_compiler_wl='-Wl,'
-      lt_prog_compiler_can_build_shared=no
-      ;;
-
-    uts4*)
-      lt_prog_compiler_pic='-pic'
-      lt_prog_compiler_static='-Bstatic'
-      ;;
-
-    *)
-      lt_prog_compiler_can_build_shared=no
-      ;;
-    esac
-  fi
-
-case $host_os in
-  # For platforms which do not support PIC, -DPIC is meaningless:
-  *djgpp*)
-    lt_prog_compiler_pic=
-    ;;
-  *)
-    lt_prog_compiler_pic="$lt_prog_compiler_pic -DPIC"
-    ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_prog_compiler_pic" >&5
-$as_echo "$lt_prog_compiler_pic" >&6; }
-
-
-
-
-
-
-#
-# Check to make sure the PIC flag actually works.
-#
-if test -n "$lt_prog_compiler_pic"; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler PIC flag $lt_prog_compiler_pic works" >&5
-$as_echo_n "checking if $compiler PIC flag $lt_prog_compiler_pic works... " >&6; }
-if ${lt_cv_prog_compiler_pic_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_pic_works=no
-   ac_outfile=conftest.$ac_objext
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-   lt_compiler_flag="$lt_prog_compiler_pic -DPIC"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   # The option is referenced via a variable to avoid confusing sed.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>conftest.err)
-   ac_status=$?
-   cat conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s "$ac_outfile"; then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings other than the usual output.
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' >conftest.exp
-     $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-     if test ! -s conftest.er2 || diff conftest.exp conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_pic_works=yes
-     fi
-   fi
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_pic_works" >&5
-$as_echo "$lt_cv_prog_compiler_pic_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_pic_works" = xyes; then
-    case $lt_prog_compiler_pic in
-     "" | " "*) ;;
-     *) lt_prog_compiler_pic=" $lt_prog_compiler_pic" ;;
-     esac
-else
-    lt_prog_compiler_pic=
-     lt_prog_compiler_can_build_shared=no
-fi
-
-fi
-
-
-
-
-
-
-#
-# Check to make sure the static flag actually works.
-#
-wl=$lt_prog_compiler_wl eval lt_tmp_static_flag=\"$lt_prog_compiler_static\"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler static flag $lt_tmp_static_flag works" >&5
-$as_echo_n "checking if $compiler static flag $lt_tmp_static_flag works... " >&6; }
-if ${lt_cv_prog_compiler_static_works+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_static_works=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS $lt_tmp_static_flag"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler_static_works=yes
-       fi
-     else
-       lt_cv_prog_compiler_static_works=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_static_works" >&5
-$as_echo "$lt_cv_prog_compiler_static_works" >&6; }
-
-if test x"$lt_cv_prog_compiler_static_works" = xyes; then
-    :
-else
-    lt_prog_compiler_static=
-fi
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $compiler supports -c -o file.$ac_objext" >&5
-$as_echo_n "checking if $compiler supports -c -o file.$ac_objext... " >&6; }
-if ${lt_cv_prog_compiler_c_o+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler_c_o=no
-   $RM -r conftest 2>/dev/null
-   mkdir conftest
-   cd conftest
-   mkdir out
-   echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-   lt_compiler_flag="-o out/conftest2.$ac_objext"
-   # Insert the option either (1) after the last *FLAGS variable, or
-   # (2) before a word containing "conftest.", or (3) at the end.
-   # Note that $ac_compile itself does not contain backslashes and begins
-   # with a dollar sign (not a hyphen), so the echo should work correctly.
-   lt_compile=`echo "$ac_compile" | $SED \
-   -e 's:.*FLAGS}\{0,1\} :&$lt_compiler_flag :; t' \
-   -e 's: [^ ]*conftest\.: $lt_compiler_flag&:; t' \
-   -e 's:$: $lt_compiler_flag:'`
-   (eval echo "\"\$as_me:$LINENO: $lt_compile\"" >&5)
-   (eval "$lt_compile" 2>out/conftest.err)
-   ac_status=$?
-   cat out/conftest.err >&5
-   echo "$as_me:$LINENO: \$? = $ac_status" >&5
-   if (exit $ac_status) && test -s out/conftest2.$ac_objext
-   then
-     # The compiler can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     $ECHO "$_lt_compiler_boilerplate" | $SED '/^$/d' > out/conftest.exp
-     $SED '/^$/d; /^ *+/d' out/conftest.err >out/conftest.er2
-     if test ! -s out/conftest.er2 || diff out/conftest.exp out/conftest.er2 >/dev/null; then
-       lt_cv_prog_compiler_c_o=yes
-     fi
-   fi
-   chmod u+w . 2>&5
-   $RM conftest*
-   # SGI C++ compiler will create directory out/ii_files/ for
-   # template instantiation
-   test -d out/ii_files && $RM out/ii_files/* && rmdir out/ii_files
-   $RM out/* && rmdir out
-   cd ..
-   $RM -r conftest
-   $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler_c_o" >&5
-$as_echo "$lt_cv_prog_compiler_c_o" >&6; }
-
-
-
-
-hard_links="nottested"
-if test "$lt_cv_prog_compiler_c_o" = no && test "$need_locks" != no; then
-  # do not overwrite the value of need_locks provided by the user
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if we can lock with hard links" >&5
-$as_echo_n "checking if we can lock with hard links... " >&6; }
-  hard_links=yes
-  $RM conftest*
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  touch conftest.a
-  ln conftest.a conftest.b 2>&5 || hard_links=no
-  ln conftest.a conftest.b 2>/dev/null && hard_links=no
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $hard_links" >&5
-$as_echo "$hard_links" >&6; }
-  if test "$hard_links" = no; then
-    { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&5
-$as_echo "$as_me: WARNING: \`$CC' does not support \`-c -o', so \`make -j' may be unsafe" >&2;}
-    need_locks=warn
-  fi
-else
-  need_locks=no
-fi
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether the $compiler linker ($LD) supports shared libraries" >&5
-$as_echo_n "checking whether the $compiler linker ($LD) supports shared libraries... " >&6; }
-
-  runpath_var=
-  allow_undefined_flag=
-  always_export_symbols=no
-  archive_cmds=
-  archive_expsym_cmds=
-  compiler_needs_object=no
-  enable_shared_with_static_runtimes=no
-  export_dynamic_flag_spec=
-  export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED '\''s/.* //'\'' | sort | uniq > $export_symbols'
-  hardcode_automatic=no
-  hardcode_direct=no
-  hardcode_direct_absolute=no
-  hardcode_libdir_flag_spec=
-  hardcode_libdir_flag_spec_ld=
-  hardcode_libdir_separator=
-  hardcode_minus_L=no
-  hardcode_shlibpath_var=unsupported
-  inherit_rpath=no
-  link_all_deplibs=unknown
-  module_cmds=
-  module_expsym_cmds=
-  old_archive_from_new_cmds=
-  old_archive_from_expsyms_cmds=
-  thread_safe_flag_spec=
-  whole_archive_flag_spec=
-  # include_expsyms should be a list of space-separated symbols to be *always*
-  # included in the symbol list
-  include_expsyms=
-  # exclude_expsyms can be an extended regexp of symbols to exclude
-  # it will be wrapped by ` (' and `)$', so one must not match beginning or
-  # end of line.  Example: `a|bc|.*d.*' will exclude the symbols `a' and `bc',
-  # as well as any symbol that contains `d'.
-  exclude_expsyms='_GLOBAL_OFFSET_TABLE_|_GLOBAL__F[ID]_.*'
-  # Although _GLOBAL_OFFSET_TABLE_ is a valid symbol C name, most a.out
-  # platforms (ab)use it in PIC code, but their linkers get confused if
-  # the symbol is explicitly referenced.  Since portable code cannot
-  # rely on this symbol name, it's probably fine to never include it in
-  # preloaded symbol tables.
-  # Exclude shared library initialization/finalization symbols.
-  extract_expsyms_cmds=
-
-  case $host_os in
-  cygwin* | mingw* | pw32* | cegcc*)
-    # FIXME: the MSVC++ port hasn't been tested in a loooong time
-    # When not using gcc, we currently assume that we are using
-    # Microsoft Visual C++.
-    if test "$GCC" != yes; then
-      with_gnu_ld=no
-    fi
-    ;;
-  interix*)
-    # we just hope/assume this is gcc and not c89 (= MSVC++)
-    with_gnu_ld=yes
-    ;;
-  openbsd*)
-    with_gnu_ld=no
-    ;;
-  esac
-
-  ld_shlibs=yes
-
-  # On some targets, GNU ld is compatible enough with the native linker
-  # that we're better off using the native interface for both.
-  lt_use_gnu_ld_interface=no
-  if test "$with_gnu_ld" = yes; then
-    case $host_os in
-      aix*)
-       # The AIX port of GNU ld has always aspired to compatibility
-       # with the native linker.  However, as the warning in the GNU ld
-       # block says, versions before 2.19.5* couldn't really create working
-       # shared libraries, regardless of the interface used.
-       case `$LD -v 2>&1` in
-         *\ \(GNU\ Binutils\)\ 2.19.5*) ;;
-         *\ \(GNU\ Binutils\)\ 2.[2-9]*) ;;
-         *\ \(GNU\ Binutils\)\ [3-9]*) ;;
-         *)
-           lt_use_gnu_ld_interface=yes
-           ;;
-       esac
-       ;;
-      *)
-       lt_use_gnu_ld_interface=yes
-       ;;
-    esac
-  fi
-
-  if test "$lt_use_gnu_ld_interface" = yes; then
-    # If archive_cmds runs LD, not CC, wlarc should be empty
-    wlarc='${wl}'
-
-    # Set some defaults for GNU ld with shared library support. These
-    # are reset later if shared libraries are not supported. Putting them
-    # here allows them to be overridden if necessary.
-    runpath_var=LD_RUN_PATH
-    hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-    export_dynamic_flag_spec='${wl}--export-dynamic'
-    # ancient GNU ld didn't support --whole-archive et. al.
-    if $LD --help 2>&1 | $GREP 'no-whole-archive' > /dev/null; then
-      whole_archive_flag_spec="$wlarc"'--whole-archive$convenience '"$wlarc"'--no-whole-archive'
-    else
-      whole_archive_flag_spec=
-    fi
-    supports_anon_versioning=no
-    case `$LD -v 2>&1` in
-      *GNU\ gold*) supports_anon_versioning=yes ;;
-      *\ [01].* | *\ 2.[0-9].* | *\ 2.10.*) ;; # catch versions < 2.11
-      *\ 2.11.93.0.2\ *) supports_anon_versioning=yes ;; # RH7.3 ...
-      *\ 2.11.92.0.12\ *) supports_anon_versioning=yes ;; # Mandrake 8.2 ...
-      *\ 2.11.*) ;; # other 2.11 versions
-      *) supports_anon_versioning=yes ;;
-    esac
-
-    # See if GNU ld supports shared libraries.
-    case $host_os in
-    aix[3-9]*)
-      # On AIX/PPC, the GNU linker is very broken
-      if test "$host_cpu" != ia64; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: the GNU linker, at least up to release 2.19, is reported
-*** to be unable to reliably create shared libraries on AIX.
-*** Therefore, libtool is disabling shared libraries support.  If you
-*** really care for shared libraries, you may want to install binutils
-*** 2.20 or above, or modify your PATH so that a non-GNU linker is found.
-*** You will then need to restart the configuration process.
-
-_LT_EOF
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    beos*)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       allow_undefined_flag=unsupported
-       # Joseph Beckenbach <jrb3@best.com> says some releases of gcc
-       # support --undefined.  This deserves some investigation.  FIXME
-       archive_cmds='$CC -nostart $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # _LT_TAGVAR(hardcode_libdir_flag_spec, ) is actually meaningless,
-      # as there is no search path for DLLs.
-      hardcode_libdir_flag_spec='-L$libdir'
-      export_dynamic_flag_spec='${wl}--export-all-symbols'
-      allow_undefined_flag=unsupported
-      always_export_symbols=no
-      enable_shared_with_static_runtimes=yes
-      export_symbols_cmds='$NM $libobjs $convenience | $global_symbol_pipe | $SED -e '\''/^[BCDGRS][ ]/s/.*[ ]\([^ ]*\)/\1 DATA/'\'' | $SED -e '\''/^[AITW][ ]/s/.*[ ]//'\'' | sort | uniq > $export_symbols'
-
-      if $LD --help 2>&1 | $GREP 'auto-import' > /dev/null; then
-        archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-       # If the export-symbols file already is a .def file (1st line
-       # is EXPORTS), use it as is; otherwise, prepend...
-       archive_expsym_cmds='if test "x`$SED 1q $export_symbols`" = xEXPORTS; then
-         cp $export_symbols $output_objdir/$soname.def;
-       else
-         echo EXPORTS > $output_objdir/$soname.def;
-         cat $export_symbols >> $output_objdir/$soname.def;
-       fi~
-       $CC -shared $output_objdir/$soname.def $libobjs $deplibs $compiler_flags -o $output_objdir/$soname ${wl}--enable-auto-image-base -Xlinker --out-implib -Xlinker $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    haiku*)
-      archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-      link_all_deplibs=yes
-      ;;
-
-    interix[3-9]*)
-      hardcode_direct=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-      export_dynamic_flag_spec='${wl}-E'
-      # Hack: On Interix 3.x, we cannot compile PIC because of a broken gcc.
-      # Instead, shared libraries are loaded at an image base (0x10000000 by
-      # default) and relocated if they conflict, which is a slow very memory
-      # consuming and fragmenting process.  To avoid this, we pick a random,
-      # 256 KiB-aligned image base between 0x50000000 and 0x6FFC0000 at link
-      # time.  Moving up from 0x10000000 also allows more sbrk(2) space.
-      archive_cmds='$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      archive_expsym_cmds='sed "s,^,_," $export_symbols >$output_objdir/$soname.expsym~$CC -shared $pic_flag $libobjs $deplibs $compiler_flags ${wl}-h,$soname ${wl}--retain-symbols-file,$output_objdir/$soname.expsym ${wl}--image-base,`expr ${RANDOM-$$} % 4096 / 2 \* 262144 + 1342177280` -o $lib'
-      ;;
-
-    gnu* | linux* | tpf* | k*bsd*-gnu | kopensolaris*-gnu)
-      tmp_diet=no
-      if test "$host_os" = linux-dietlibc; then
-       case $cc_basename in
-         diet\ *) tmp_diet=yes;;       # linux-dietlibc with static linking (!diet-dyn)
-       esac
-      fi
-      if $LD --help 2>&1 | $EGREP ': supported targets:.* elf' > /dev/null \
-        && test "$tmp_diet" = no
-      then
-       tmp_addflag=' $pic_flag'
-       tmp_sharedflag='-shared'
-       case $cc_basename,$host_cpu in
-        pgcc*)                         # Portland Group C compiler
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag'
-         ;;
-       pgf77* | pgf90* | pgf95* | pgfortran*)
-                                       # Portland Group f77 and f90 compilers
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         tmp_addflag=' $pic_flag -Mnomain' ;;
-       ecc*,ia64* | icc*,ia64*)        # Intel C compiler on ia64
-         tmp_addflag=' -i_dynamic' ;;
-       efc*,ia64* | ifort*,ia64*)      # Intel Fortran compiler on ia64
-         tmp_addflag=' -i_dynamic -nofor_main' ;;
-       ifc* | ifort*)                  # Intel Fortran compiler
-         tmp_addflag=' -nofor_main' ;;
-       lf95*)                          # Lahey Fortran 8.1
-         whole_archive_flag_spec=
-         tmp_sharedflag='--shared' ;;
-       xl[cC]* | bgxl[cC]* | mpixl[cC]*) # IBM XL C 8.0 on PPC (deal with xlf below)
-         tmp_sharedflag='-qmkshrobj'
-         tmp_addflag= ;;
-       nvcc*)  # Cuda Compiler Driver 2.2
-         whole_archive_flag_spec='${wl}--whole-archive`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         ;;
-       esac
-       case `$CC -V 2>&1 | sed 5q` in
-       *Sun\ C*)                       # Sun C 5.9
-         whole_archive_flag_spec='${wl}--whole-archive`new_convenience=; for conv in $convenience\"\"; do test -z \"$conv\" || new_convenience=\"$new_convenience,$conv\"; done; func_echo_all \"$new_convenience\"` ${wl}--no-whole-archive'
-         compiler_needs_object=yes
-         tmp_sharedflag='-G' ;;
-       *Sun\ F*)                       # Sun Fortran 8.3
-         tmp_sharedflag='-G' ;;
-       esac
-       archive_cmds='$CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-
-        if test "x$supports_anon_versioning" = xyes; then
-          archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-           cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-           echo "local: *; };" >> $output_objdir/$libname.ver~
-           $CC '"$tmp_sharedflag""$tmp_addflag"' $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-version-script ${wl}$output_objdir/$libname.ver -o $lib'
-        fi
-
-       case $cc_basename in
-       xlf* | bgf* | bgxlf* | mpixlf*)
-         # IBM XL Fortran 10.1 on PPC cannot create shared libs itself
-         whole_archive_flag_spec='--whole-archive$convenience --no-whole-archive'
-         hardcode_libdir_flag_spec=
-         hardcode_libdir_flag_spec_ld='-rpath $libdir'
-         archive_cmds='$LD -shared $libobjs $deplibs $compiler_flags -soname $soname -o $lib'
-         if test "x$supports_anon_versioning" = xyes; then
-           archive_expsym_cmds='echo "{ global:" > $output_objdir/$libname.ver~
-             cat $export_symbols | sed -e "s/\(.*\)/\1;/" >> $output_objdir/$libname.ver~
-             echo "local: *; };" >> $output_objdir/$libname.ver~
-             $LD -shared $libobjs $deplibs $compiler_flags -soname $soname -version-script $output_objdir/$libname.ver -o $lib'
-         fi
-         ;;
-       esac
-      else
-        ld_shlibs=no
-      fi
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable $libobjs $deplibs $linker_flags -o $lib'
-       wlarc=
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      fi
-      ;;
-
-    solaris*)
-      if $LD -v 2>&1 | $GREP 'BFD 2\.8' > /dev/null; then
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: The releases 2.8.* of the GNU linker cannot reliably
-*** create shared libraries on Solaris systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.9.1 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-      elif $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX*)
-      case `$LD -v 2>&1` in
-        *\ [01].* | *\ 2.[0-9].* | *\ 2.1[0-5].*)
-       ld_shlibs=no
-       cat <<_LT_EOF 1>&2
-
-*** Warning: Releases of the GNU linker prior to 2.16.91.0.3 can not
-*** reliably create shared libraries on SCO systems.  Therefore, libtool
-*** is disabling shared libraries support.  We urge you to upgrade GNU
-*** binutils to release 2.16.91.0.3 or newer.  Another option is to modify
-*** your PATH or compiler configuration so that the native linker is
-*** used, and then restart.
-
-_LT_EOF
-       ;;
-       *)
-         # For security reasons, it is highly recommended that you always
-         # use absolute paths for naming shared libraries, and exclude the
-         # DT_RUNPATH tag from executables and libraries.  But doing so
-         # requires that you compile everything twice, which is a pain.
-         if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-           hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-           archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-           archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-         else
-           ld_shlibs=no
-         fi
-       ;;
-      esac
-      ;;
-
-    sunos4*)
-      archive_cmds='$LD -assert pure-text -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      wlarc=
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      if $LD --help 2>&1 | $GREP ': supported targets:.* elf' > /dev/null; then
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname ${wl}-retain-symbols-file $wl$export_symbols -o $lib'
-      else
-       ld_shlibs=no
-      fi
-      ;;
-    esac
-
-    if test "$ld_shlibs" = no; then
-      runpath_var=
-      hardcode_libdir_flag_spec=
-      export_dynamic_flag_spec=
-      whole_archive_flag_spec=
-    fi
-  else
-    # PORTME fill in a description of your system's linker (not GNU ld)
-    case $host_os in
-    aix3*)
-      allow_undefined_flag=unsupported
-      always_export_symbols=yes
-      archive_expsym_cmds='$LD -o $output_objdir/$soname $libobjs $deplibs $linker_flags -bE:$export_symbols -T512 -H512 -bM:SRE~$AR $AR_FLAGS $lib $output_objdir/$soname'
-      # Note: this linker hardcodes the directories in LIBPATH if there
-      # are no directories specified by -L.
-      hardcode_minus_L=yes
-      if test "$GCC" = yes && test -z "$lt_prog_compiler_static"; then
-       # Neither direct hardcoding nor static linking is supported with a
-       # broken collect2.
-       hardcode_direct=unsupported
-      fi
-      ;;
-
-    aix[4-9]*)
-      if test "$host_cpu" = ia64; then
-       # On IA64, the linker does run time linking by default, so we don't
-       # have to do anything special.
-       aix_use_runtimelinking=no
-       exp_sym_flag='-Bexport'
-       no_entry_flag=""
-      else
-       # If we're using GNU nm, then we don't want the "-C" option.
-       # -C means demangle to AIX nm, but means don't demangle with GNU nm
-       # Also, AIX nm treats weak defined symbols like other global
-       # defined symbols, whereas GNU nm marks them as "W".
-       if $NM -V 2>&1 | $GREP 'GNU' > /dev/null; then
-         export_symbols_cmds='$NM -Bpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "W")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       else
-         export_symbols_cmds='$NM -BCpg $libobjs $convenience | awk '\''{ if (((\$ 2 == "T") || (\$ 2 == "D") || (\$ 2 == "B") || (\$ 2 == "L")) && (substr(\$ 3,1,1) != ".")) { print \$ 3 } }'\'' | sort -u > $export_symbols'
-       fi
-       aix_use_runtimelinking=no
-
-       # Test if we are trying to use run time linking or normal
-       # AIX style linking. If -brtl is somewhere in LDFLAGS, we
-       # need to do runtime linking.
-       case $host_os in aix4.[23]|aix4.[23].*|aix[5-9]*)
-         for ld_flag in $LDFLAGS; do
-         if (test $ld_flag = "-brtl" || test $ld_flag = "-Wl,-brtl"); then
-           aix_use_runtimelinking=yes
-           break
-         fi
-         done
-         ;;
-       esac
-
-       exp_sym_flag='-bexport'
-       no_entry_flag='-bnoentry'
-      fi
-
-      # When large executables or shared objects are built, AIX ld can
-      # have problems creating the table of contents.  If linking a library
-      # or program results in "error TOC overflow" add -mminimal-toc to
-      # CXXFLAGS/CFLAGS for g++/gcc.  In the cases where that is not
-      # enough to fix the problem, add -Wl,-bbigtoc to LDFLAGS.
-
-      archive_cmds=''
-      hardcode_direct=yes
-      hardcode_direct_absolute=yes
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      file_list_spec='${wl}-f,'
-
-      if test "$GCC" = yes; then
-       case $host_os in aix4.[012]|aix4.[012].*)
-       # We only want to do this on AIX 4.2 and lower, the check
-       # below for broken collect2 doesn't work under 4.3+
-         collect2name=`${CC} -print-prog-name=collect2`
-         if test -f "$collect2name" &&
-          strings "$collect2name" | $GREP resolve_lib_name >/dev/null
-         then
-         # We have reworked collect2
-         :
-         else
-         # We have old collect2
-         hardcode_direct=unsupported
-         # It fails to find uninstalled libraries when the uninstalled
-         # path is not listed in the libpath.  Setting hardcode_minus_L
-         # to unsupported forces relinking
-         hardcode_minus_L=yes
-         hardcode_libdir_flag_spec='-L$libdir'
-         hardcode_libdir_separator=
-         fi
-         ;;
-       esac
-       shared_flag='-shared'
-       if test "$aix_use_runtimelinking" = yes; then
-         shared_flag="$shared_flag "'${wl}-G'
-       fi
-      else
-       # not using gcc
-       if test "$host_cpu" = ia64; then
-       # VisualAge C++, Version 5.5 for AIX 5L for IA-64, Beta 3 Release
-       # chokes on -Wl,-G. The following line is correct:
-         shared_flag='-G'
-       else
-         if test "$aix_use_runtimelinking" = yes; then
-           shared_flag='${wl}-G'
-         else
-           shared_flag='${wl}-bM:SRE'
-         fi
-       fi
-      fi
-
-      export_dynamic_flag_spec='${wl}-bexpall'
-      # It seems that -bexpall does not export symbols beginning with
-      # underscore (_), so it is better to generate a list of symbols to export.
-      always_export_symbols=yes
-      if test "$aix_use_runtimelinking" = yes; then
-       # Warning - without using the other runtime loading flags (-brtl),
-       # -berok will link without error, but may produce a broken library.
-       allow_undefined_flag='-berok'
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-       /^0/ {
-           s/^0  *\(.*\)$/\1/
-           p
-       }
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-        archive_expsym_cmds='$CC -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags `if test "x${allow_undefined_flag}" != "x"; then func_echo_all "${wl}${allow_undefined_flag}"; else :; fi` '"\${wl}$exp_sym_flag:\$export_symbols $shared_flag"
-      else
-       if test "$host_cpu" = ia64; then
-         hardcode_libdir_flag_spec='${wl}-R $libdir:/usr/lib:/lib'
-         allow_undefined_flag="-z nodefs"
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs '"\${wl}$no_entry_flag"' $compiler_flags ${wl}${allow_undefined_flag} '"\${wl}$exp_sym_flag:\$export_symbols"
-       else
-        # Determine the default libpath from the value encoded in an
-        # empty executable.
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-
-lt_aix_libpath_sed='
-    /Import File Strings/,/^$/ {
-       /^0/ {
-           s/^0  *\(.*\)$/\1/
-           p
-       }
-    }'
-aix_libpath=`dump -H conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-# Check for a 64-bit object if we didn't find anything.
-if test -z "$aix_libpath"; then
-  aix_libpath=`dump -HX64 conftest$ac_exeext 2>/dev/null | $SED -n -e "$lt_aix_libpath_sed"`
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-if test -z "$aix_libpath"; then aix_libpath="/usr/lib:/lib"; fi
-
-        hardcode_libdir_flag_spec='${wl}-blibpath:$libdir:'"$aix_libpath"
-         # Warning - without using the other run time loading flags,
-         # -berok will link without error, but may produce a broken library.
-         no_undefined_flag=' ${wl}-bernotok'
-         allow_undefined_flag=' ${wl}-berok'
-         if test "$with_gnu_ld" = yes; then
-           # We only use this code for GNU lds that support --whole-archive.
-           whole_archive_flag_spec='${wl}--whole-archive$convenience ${wl}--no-whole-archive'
-         else
-           # Exported symbols can be pulled into shared objects from archives
-           whole_archive_flag_spec='$convenience'
-         fi
-         archive_cmds_need_lc=yes
-         # This is similar to how AIX traditionally builds its shared libraries.
-         archive_expsym_cmds="\$CC $shared_flag"' -o $output_objdir/$soname $libobjs $deplibs ${wl}-bnoentry $compiler_flags ${wl}-bE:$export_symbols${allow_undefined_flag}~$AR $AR_FLAGS $output_objdir/$libname$release.a $output_objdir/$soname'
-       fi
-      fi
-      ;;
-
-    amigaos*)
-      case $host_cpu in
-      powerpc)
-            # see comment about AmigaOS4 .so support
-            archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname $wl$soname -o $lib'
-            archive_expsym_cmds=''
-        ;;
-      m68k)
-            archive_cmds='$RM $output_objdir/a2ixlibrary.data~$ECHO "#define NAME $libname" > $output_objdir/a2ixlibrary.data~$ECHO "#define LIBRARY_ID 1" >> $output_objdir/a2ixlibrary.data~$ECHO "#define VERSION $major" >> $output_objdir/a2ixlibrary.data~$ECHO "#define REVISION $revision" >> $output_objdir/a2ixlibrary.data~$AR $AR_FLAGS $lib $libobjs~$RANLIB $lib~(cd $output_objdir && a2ixlibrary -32)'
-            hardcode_libdir_flag_spec='-L$libdir'
-            hardcode_minus_L=yes
-        ;;
-      esac
-      ;;
-
-    bsdi[45]*)
-      export_dynamic_flag_spec=-rdynamic
-      ;;
-
-    cygwin* | mingw* | pw32* | cegcc*)
-      # When not using gcc, we currently assume that we are using
-      # Microsoft Visual C++.
-      # hardcode_libdir_flag_spec is actually meaningless, as there is
-      # no search path for DLLs.
-      hardcode_libdir_flag_spec=' '
-      allow_undefined_flag=unsupported
-      # Tell ltmain to make .lib files, not .a files.
-      libext=lib
-      # Tell ltmain to make .dll files, not .so files.
-      shrext_cmds=".dll"
-      # FIXME: Setting linknames here is a bad hack.
-      archive_cmds='$CC -o $lib $libobjs $compiler_flags `func_echo_all "$deplibs" | $SED '\''s/ -lc$//'\''` -link -dll~linknames='
-      # The linker will automatically build a .lib file if we build a DLL.
-      old_archive_from_new_cmds='true'
-      # FIXME: Should let the user specify the lib program.
-      old_archive_cmds='lib -OUT:$oldlib$oldobjs$old_deplibs'
-      fix_srcfile_path='`cygpath -w "$srcfile"`'
-      enable_shared_with_static_runtimes=yes
-      ;;
-
-    darwin* | rhapsody*)
-
-
-  archive_cmds_need_lc=no
-  hardcode_direct=no
-  hardcode_automatic=yes
-  hardcode_shlibpath_var=unsupported
-  if test "$lt_cv_ld_force_load" = "yes"; then
-    whole_archive_flag_spec='`for conv in $convenience\"\"; do test  -n \"$conv\" && new_convenience=\"$new_convenience ${wl}-force_load,$conv\"; done; func_echo_all \"$new_convenience\"`'
-  else
-    whole_archive_flag_spec=''
-  fi
-  link_all_deplibs=yes
-  allow_undefined_flag="$_lt_dar_allow_undefined"
-  case $cc_basename in
-     ifort*) _lt_dar_can_shared=yes ;;
-     *) _lt_dar_can_shared=$GCC ;;
-  esac
-  if test "$_lt_dar_can_shared" = "yes"; then
-    output_verbose_link_cmd=func_echo_all
-    archive_cmds="\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring $_lt_dar_single_mod${_lt_dsymutil}"
-    module_cmds="\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dsymutil}"
-    archive_expsym_cmds="sed 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC -dynamiclib \$allow_undefined_flag -o \$lib \$libobjs \$deplibs \$compiler_flags -install_name \$rpath/\$soname \$verstring ${_lt_dar_single_mod}${_lt_dar_export_syms}${_lt_dsymutil}"
-    module_expsym_cmds="sed -e 's,^,_,' < \$export_symbols > \$output_objdir/\${libname}-symbols.expsym~\$CC \$allow_undefined_flag -o \$lib -bundle \$libobjs \$deplibs \$compiler_flags${_lt_dar_export_syms}${_lt_dsymutil}"
-
-  else
-  ld_shlibs=no
-  fi
-
-      ;;
-
-    dgux*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 2.2.[012] allows us to include c++rt0.o to get C++ constructor
-    # support.  Future versions do this automatically, but an explicit c++rt0.o
-    # does not break anything, and helps significantly (at the cost of a little
-    # extra space).
-    freebsd2.2*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags /usr/lib/c++rt0.o'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # Unfortunately, older versions of FreeBSD 2 do not have this feature.
-    freebsd2.*)
-      archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    # FreeBSD 3 and greater uses gcc -shared to do shared libraries.
-    freebsd* | dragonfly*)
-      archive_cmds='$CC -shared -o $lib $libobjs $deplibs $compiler_flags'
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    hpux9*)
-      if test "$GCC" = yes; then
-       archive_cmds='$RM $output_objdir/$soname~$CC -shared -fPIC ${wl}+b ${wl}$install_libdir -o $output_objdir/$soname $libobjs $deplibs $compiler_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      else
-       archive_cmds='$RM $output_objdir/$soname~$LD -b +b $install_libdir -o $output_objdir/$soname $libobjs $deplibs $linker_flags~test $output_objdir/$soname = $lib || mv $output_objdir/$soname $lib'
-      fi
-      hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_direct=yes
-
-      # hardcode_minus_L: Not really in the search PATH,
-      # but as the default location of the library.
-      hardcode_minus_L=yes
-      export_dynamic_flag_spec='${wl}-E'
-      ;;
-
-    hpux10*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_flag_spec_ld='+b $libdir'
-       hardcode_libdir_separator=:
-       hardcode_direct=yes
-       hardcode_direct_absolute=yes
-       export_dynamic_flag_spec='${wl}-E'
-       # hardcode_minus_L: Not really in the search PATH,
-       # but as the default location of the library.
-       hardcode_minus_L=yes
-      fi
-      ;;
-
-    hpux11*)
-      if test "$GCC" = yes && test "$with_gnu_ld" = no; then
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -shared ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-         archive_cmds='$CC -shared -fPIC ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       esac
-      else
-       case $host_cpu in
-       hppa*64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       ia64*)
-         archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+nodefaultrpath -o $lib $libobjs $deplibs $compiler_flags'
-         ;;
-       *)
-
-         # Older versions of the 11.00 compiler do not understand -b yet
-         # (HP92453-01 A.11.01.20 doesn't, HP92453-01 B.11.X.35175-35176.GP does)
-         { $as_echo "$as_me:${as_lineno-$LINENO}: checking if $CC understands -b" >&5
-$as_echo_n "checking if $CC understands -b... " >&6; }
-if ${lt_cv_prog_compiler__b+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_prog_compiler__b=no
-   save_LDFLAGS="$LDFLAGS"
-   LDFLAGS="$LDFLAGS -b"
-   echo "$lt_simple_link_test_code" > conftest.$ac_ext
-   if (eval $ac_link 2>conftest.err) && test -s conftest$ac_exeext; then
-     # The linker can only warn and ignore the option if not recognized
-     # So say no if there are warnings
-     if test -s conftest.err; then
-       # Append any errors to the config.log.
-       cat conftest.err 1>&5
-       $ECHO "$_lt_linker_boilerplate" | $SED '/^$/d' > conftest.exp
-       $SED '/^$/d; /^ *+/d' conftest.err >conftest.er2
-       if diff conftest.exp conftest.er2 >/dev/null; then
-         lt_cv_prog_compiler__b=yes
-       fi
-     else
-       lt_cv_prog_compiler__b=yes
-     fi
-   fi
-   $RM -r conftest*
-   LDFLAGS="$save_LDFLAGS"
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_prog_compiler__b" >&5
-$as_echo "$lt_cv_prog_compiler__b" >&6; }
-
-if test x"$lt_cv_prog_compiler__b" = xyes; then
-    archive_cmds='$CC -b ${wl}+h ${wl}$soname ${wl}+b ${wl}$install_libdir -o $lib $libobjs $deplibs $compiler_flags'
-else
-    archive_cmds='$LD -b +h $soname +b $install_libdir -o $lib $libobjs $deplibs $linker_flags'
-fi
-
-         ;;
-       esac
-      fi
-      if test "$with_gnu_ld" = no; then
-       hardcode_libdir_flag_spec='${wl}+b ${wl}$libdir'
-       hardcode_libdir_separator=:
-
-       case $host_cpu in
-       hppa*64*|ia64*)
-         hardcode_direct=no
-         hardcode_shlibpath_var=no
-         ;;
-       *)
-         hardcode_direct=yes
-         hardcode_direct_absolute=yes
-         export_dynamic_flag_spec='${wl}-E'
-
-         # hardcode_minus_L: Not really in the search PATH,
-         # but as the default location of the library.
-         hardcode_minus_L=yes
-         ;;
-       esac
-      fi
-      ;;
-
-    irix5* | irix6* | nonstopux*)
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       # Try to use the -exported_symbol ld option, if it does not
-       # work, assume that -exports_file does not work either and
-       # implicitly export all symbols.
-        save_LDFLAGS="$LDFLAGS"
-        LDFLAGS="$LDFLAGS -shared ${wl}-exported_symbol ${wl}foo ${wl}-update_registry ${wl}/dev/null"
-        cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-int foo(void) {}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations ${wl}-exports_file ${wl}$export_symbols -o $lib'
-
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-        LDFLAGS="$save_LDFLAGS"
-      else
-       archive_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='$CC -shared $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -exports_file $export_symbols -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      inherit_rpath=yes
-      link_all_deplibs=yes
-      ;;
-
-    netbsd*)
-      if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-       archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'  # a.out
-      else
-       archive_cmds='$LD -shared -o $lib $libobjs $deplibs $linker_flags'      # ELF
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_direct=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    newsos6)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_direct=yes
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      hardcode_shlibpath_var=no
-      ;;
-
-    *nto* | *qnx*)
-      ;;
-
-    openbsd*)
-      if test -f /usr/libexec/ld.so; then
-       hardcode_direct=yes
-       hardcode_shlibpath_var=no
-       hardcode_direct_absolute=yes
-       if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-         archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags ${wl}-retain-symbols-file,$export_symbols'
-         hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-         export_dynamic_flag_spec='${wl}-E'
-       else
-         case $host_os in
-          openbsd[01].* | openbsd2.[0-7] | openbsd2.[0-7].*)
-            archive_cmds='$LD -Bshareable -o $lib $libobjs $deplibs $linker_flags'
-            hardcode_libdir_flag_spec='-R$libdir'
-            ;;
-          *)
-            archive_cmds='$CC -shared $pic_flag -o $lib $libobjs $deplibs $compiler_flags'
-            hardcode_libdir_flag_spec='${wl}-rpath,$libdir'
-            ;;
-         esac
-       fi
-      else
-       ld_shlibs=no
-      fi
-      ;;
-
-    os2*)
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_minus_L=yes
-      allow_undefined_flag=unsupported
-      archive_cmds='$ECHO "LIBRARY $libname INITINSTANCE" > $output_objdir/$libname.def~$ECHO "DESCRIPTION \"$libname\"" >> $output_objdir/$libname.def~echo DATA >> $output_objdir/$libname.def~echo " SINGLE NONSHARED" >> $output_objdir/$libname.def~echo EXPORTS >> $output_objdir/$libname.def~emxexp $libobjs >> $output_objdir/$libname.def~$CC -Zdll -Zcrtdll -o $lib $libobjs $deplibs $compiler_flags $output_objdir/$libname.def'
-      old_archive_from_new_cmds='emximp -o $output_objdir/$libname.a $output_objdir/$libname.def'
-      ;;
-
-    osf3*)
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      hardcode_libdir_separator=:
-      ;;
-
-    osf4* | osf5*)     # as osf3* with the addition of -msym flag
-      if test "$GCC" = yes; then
-       allow_undefined_flag=' ${wl}-expect_unresolved ${wl}\*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags ${wl}-msym ${wl}-soname ${wl}$soname `test -n "$verstring" && func_echo_all "${wl}-set_version ${wl}$verstring"` ${wl}-update_registry ${wl}${output_objdir}/so_locations -o $lib'
-       hardcode_libdir_flag_spec='${wl}-rpath ${wl}$libdir'
-      else
-       allow_undefined_flag=' -expect_unresolved \*'
-       archive_cmds='$CC -shared${allow_undefined_flag} $libobjs $deplibs $compiler_flags -msym -soname $soname `test -n "$verstring" && func_echo_all "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib'
-       archive_expsym_cmds='for i in `cat $export_symbols`; do printf "%s %s\\n" -exported_symbol "\$i" >> $lib.exp; done; printf "%s\\n" "-hidden">> $lib.exp~
-       $CC -shared${allow_undefined_flag} ${wl}-input ${wl}$lib.exp $compiler_flags $libobjs $deplibs -soname $soname `test -n "$verstring" && $ECHO "-set_version $verstring"` -update_registry ${output_objdir}/so_locations -o $lib~$RM $lib.exp'
-
-       # Both c and cxx compiler support -rpath directly
-       hardcode_libdir_flag_spec='-rpath $libdir'
-      fi
-      archive_cmds_need_lc='no'
-      hardcode_libdir_separator=:
-      ;;
-
-    solaris*)
-      no_undefined_flag=' -z defs'
-      if test "$GCC" = yes; then
-       wlarc='${wl}'
-       archive_cmds='$CC -shared ${wl}-z ${wl}text ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -shared ${wl}-z ${wl}text ${wl}-M ${wl}$lib.exp ${wl}-h ${wl}$soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-      else
-       case `$CC -V 2>&1` in
-       *"Compilers 5.0"*)
-         wlarc=''
-         archive_cmds='$LD -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $LD -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $linker_flags~$RM $lib.exp'
-         ;;
-       *)
-         wlarc='${wl}'
-         archive_cmds='$CC -G${allow_undefined_flag} -h $soname -o $lib $libobjs $deplibs $compiler_flags'
-         archive_expsym_cmds='echo "{ global:" > $lib.exp~cat $export_symbols | $SED -e "s/\(.*\)/\1;/" >> $lib.exp~echo "local: *; };" >> $lib.exp~
-         $CC -G${allow_undefined_flag} -M $lib.exp -h $soname -o $lib $libobjs $deplibs $compiler_flags~$RM $lib.exp'
-         ;;
-       esac
-      fi
-      hardcode_libdir_flag_spec='-R$libdir'
-      hardcode_shlibpath_var=no
-      case $host_os in
-      solaris2.[0-5] | solaris2.[0-5].*) ;;
-      *)
-       # The compiler driver will combine and reorder linker options,
-       # but understands `-z linker_flag'.  GCC discards it without `$wl',
-       # but is careful enough not to reorder.
-       # Supported since Solaris 2.6 (maybe 2.5.1?)
-       if test "$GCC" = yes; then
-         whole_archive_flag_spec='${wl}-z ${wl}allextract$convenience ${wl}-z ${wl}defaultextract'
-       else
-         whole_archive_flag_spec='-z allextract$convenience -z defaultextract'
-       fi
-       ;;
-      esac
-      link_all_deplibs=yes
-      ;;
-
-    sunos4*)
-      if test "x$host_vendor" = xsequent; then
-       # Use $CC to link under sequent, because it throws in some extra .o
-       # files that make .init and .fini sections work.
-       archive_cmds='$CC -G ${wl}-h $soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$LD -assert pure-text -Bstatic -o $lib $libobjs $deplibs $linker_flags'
-      fi
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_direct=yes
-      hardcode_minus_L=yes
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4)
-      case $host_vendor in
-       sni)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=yes # is this really true???
-       ;;
-       siemens)
-         ## LD is ld it makes a PLAMLIB
-         ## CC just makes a GrossModule.
-         archive_cmds='$LD -G -o $lib $libobjs $deplibs $linker_flags'
-         reload_cmds='$CC -r -o $output$reload_objs'
-         hardcode_direct=no
-        ;;
-       motorola)
-         archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-         hardcode_direct=no #Motorola manual says yes, but my tests say they lie
-       ;;
-      esac
-      runpath_var='LD_RUN_PATH'
-      hardcode_shlibpath_var=no
-      ;;
-
-    sysv4.3*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_shlibpath_var=no
-      export_dynamic_flag_spec='-Bexport'
-      ;;
-
-    sysv4*MP*)
-      if test -d /usr/nec; then
-       archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-       hardcode_shlibpath_var=no
-       runpath_var=LD_RUN_PATH
-       hardcode_runpath_var=yes
-       ld_shlibs=yes
-      fi
-      ;;
-
-    sysv4*uw2* | sysv5OpenUNIX* | sysv5UnixWare7.[01].[10]* | unixware7* | sco3.2v5.0.[024]*)
-      no_undefined_flag='${wl}-z,text'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    sysv5* | sco3.2v5* | sco5v6*)
-      # Note: We can NOT use -z defs as we might desire, because we do not
-      # link with -lc, and that would cause any symbols used from libc to
-      # always be unresolved, which means just about no library would
-      # ever link correctly.  If we're not using GNU ld we use -z text
-      # though, which does catch some bad symbols but isn't as heavy-handed
-      # as -z defs.
-      no_undefined_flag='${wl}-z,text'
-      allow_undefined_flag='${wl}-z,nodefs'
-      archive_cmds_need_lc=no
-      hardcode_shlibpath_var=no
-      hardcode_libdir_flag_spec='${wl}-R,$libdir'
-      hardcode_libdir_separator=':'
-      link_all_deplibs=yes
-      export_dynamic_flag_spec='${wl}-Bexport'
-      runpath_var='LD_RUN_PATH'
-
-      if test "$GCC" = yes; then
-       archive_cmds='$CC -shared ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -shared ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      else
-       archive_cmds='$CC -G ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-       archive_expsym_cmds='$CC -G ${wl}-Bexport:$export_symbols ${wl}-h,$soname -o $lib $libobjs $deplibs $compiler_flags'
-      fi
-      ;;
-
-    uts4*)
-      archive_cmds='$LD -G -h $soname -o $lib $libobjs $deplibs $linker_flags'
-      hardcode_libdir_flag_spec='-L$libdir'
-      hardcode_shlibpath_var=no
-      ;;
-
-    *)
-      ld_shlibs=no
-      ;;
-    esac
-
-    if test x$host_vendor = xsni; then
-      case $host in
-      sysv4 | sysv4.2uw2* | sysv4.3* | sysv5*)
-       export_dynamic_flag_spec='${wl}-Blargedynsym'
-       ;;
-      esac
-    fi
-  fi
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ld_shlibs" >&5
-$as_echo "$ld_shlibs" >&6; }
-test "$ld_shlibs" = no && can_build_shared=no
-
-with_gnu_ld=$with_gnu_ld
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-#
-# Do we need to explicitly link libc?
-#
-case "x$archive_cmds_need_lc" in
-x|xyes)
-  # Assume -lc should be added
-  archive_cmds_need_lc=yes
-
-  if test "$enable_shared" = yes && test "$GCC" = yes; then
-    case $archive_cmds in
-    *'~'*)
-      # FIXME: we may have to deal with multi-command sequences.
-      ;;
-    '$CC '*)
-      # Test whether the compiler implicitly links with -lc since on some
-      # systems, -lgcc has to come before -lc. If gcc already passes -lc
-      # to ld, don't add -lc before -lgcc.
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether -lc should be explicitly linked in" >&5
-$as_echo_n "checking whether -lc should be explicitly linked in... " >&6; }
-if ${lt_cv_archive_cmds_need_lc+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  $RM conftest*
-       echo "$lt_simple_compile_test_code" > conftest.$ac_ext
-
-       if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_compile\""; } >&5
-  (eval $ac_compile) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } 2>conftest.err; then
-         soname=conftest
-         lib=conftest
-         libobjs=conftest.$ac_objext
-         deplibs=
-         wl=$lt_prog_compiler_wl
-         pic_flag=$lt_prog_compiler_pic
-         compiler_flags=-v
-         linker_flags=-v
-         verstring=
-         output_objdir=.
-         libname=conftest
-         lt_save_allow_undefined_flag=$allow_undefined_flag
-         allow_undefined_flag=
-         if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1\""; } >&5
-  (eval $archive_cmds 2\>\&1 \| $GREP \" -lc \" \>/dev/null 2\>\&1) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; }
-         then
-           lt_cv_archive_cmds_need_lc=no
-         else
-           lt_cv_archive_cmds_need_lc=yes
-         fi
-         allow_undefined_flag=$lt_save_allow_undefined_flag
-       else
-         cat conftest.err 1>&5
-       fi
-       $RM conftest*
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_archive_cmds_need_lc" >&5
-$as_echo "$lt_cv_archive_cmds_need_lc" >&6; }
-      archive_cmds_need_lc=$lt_cv_archive_cmds_need_lc
-      ;;
-    esac
-  fi
-  ;;
-esac
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking dynamic linker characteristics" >&5
-$as_echo_n "checking dynamic linker characteristics... " >&6; }
-
-if test "$GCC" = yes; then
-  case $host_os in
-    darwin*) lt_awk_arg="/^libraries:/,/LR/" ;;
-    *) lt_awk_arg="/^libraries:/" ;;
-  esac
-  case $host_os in
-    mingw* | cegcc*) lt_sed_strip_eq="s,=\([A-Za-z]:\),\1,g" ;;
-    *) lt_sed_strip_eq="s,=/,/,g" ;;
-  esac
-  lt_search_path_spec=`$CC -print-search-dirs | awk $lt_awk_arg | $SED -e "s/^libraries://" -e $lt_sed_strip_eq`
-  case $lt_search_path_spec in
-  *\;*)
-    # if the path contains ";" then we assume it to be the separator
-    # otherwise default to the standard path separator (i.e. ":") - it is
-    # assumed that no part of a normal pathname contains ";" but that should
-    # okay in the real world where ";" in dirpaths is itself problematic.
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED 's/;/ /g'`
-    ;;
-  *)
-    lt_search_path_spec=`$ECHO "$lt_search_path_spec" | $SED "s/$PATH_SEPARATOR/ /g"`
-    ;;
-  esac
-  # Ok, now we have the path, separated by spaces, we can step through it
-  # and add multilib dir if necessary.
-  lt_tmp_lt_search_path_spec=
-  lt_multi_os_dir=`$CC $CPPFLAGS $CFLAGS $LDFLAGS -print-multi-os-directory 2>/dev/null`
-  for lt_sys_path in $lt_search_path_spec; do
-    if test -d "$lt_sys_path/$lt_multi_os_dir"; then
-      lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path/$lt_multi_os_dir"
-    else
-      test -d "$lt_sys_path" && \
-       lt_tmp_lt_search_path_spec="$lt_tmp_lt_search_path_spec $lt_sys_path"
-    fi
-  done
-  lt_search_path_spec=`$ECHO "$lt_tmp_lt_search_path_spec" | awk '
-BEGIN {RS=" "; FS="/|\n";} {
-  lt_foo="";
-  lt_count=0;
-  for (lt_i = NF; lt_i > 0; lt_i--) {
-    if ($lt_i != "" && $lt_i != ".") {
-      if ($lt_i == "..") {
-        lt_count++;
-      } else {
-        if (lt_count == 0) {
-          lt_foo="/" $lt_i lt_foo;
-        } else {
-          lt_count--;
-        }
-      }
-    }
-  }
-  if (lt_foo != "") { lt_freq[lt_foo]++; }
-  if (lt_freq[lt_foo] == 1) { print lt_foo; }
-}'`
-  # AWK program above erroneously prepends '/' to C:/dos/paths
-  # for these hosts.
-  case $host_os in
-    mingw* | cegcc*) lt_search_path_spec=`$ECHO "$lt_search_path_spec" |\
-      $SED 's,/\([A-Za-z]:\),\1,g'` ;;
-  esac
-  sys_lib_search_path_spec=`$ECHO "$lt_search_path_spec" | $lt_NL2SP`
-else
-  sys_lib_search_path_spec="/lib /usr/lib /usr/local/lib"
-fi
-library_names_spec=
-libname_spec='lib$name'
-soname_spec=
-shrext_cmds=".so"
-postinstall_cmds=
-postuninstall_cmds=
-finish_cmds=
-finish_eval=
-shlibpath_var=
-shlibpath_overrides_runpath=unknown
-version_type=none
-dynamic_linker="$host_os ld.so"
-sys_lib_dlsearch_path_spec="/lib /usr/lib"
-need_lib_prefix=unknown
-hardcode_into_libs=no
-
-# when you set need_version to no, make sure it does not cause -set_version
-# flags to be left without arguments
-need_version=unknown
-
-case $host_os in
-aix3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix $libname.a'
-  shlibpath_var=LIBPATH
-
-  # AIX 3 has no versioning support, so we append a major version to the name.
-  soname_spec='${libname}${release}${shared_ext}$major'
-  ;;
-
-aix[4-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  hardcode_into_libs=yes
-  if test "$host_cpu" = ia64; then
-    # AIX 5 supports IA64
-    library_names_spec='${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext}$versuffix $libname${shared_ext}'
-    shlibpath_var=LD_LIBRARY_PATH
-  else
-    # With GCC up to 2.95.x, collect2 would create an import file
-    # for dependence libraries.  The import file would start with
-    # the line `#! .'.  This would cause the generated library to
-    # depend on `.', always an invalid library.  This was fixed in
-    # development snapshots of GCC prior to 3.0.
-    case $host_os in
-      aix4 | aix4.[01] | aix4.[01].*)
-      if { echo '#if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 97)'
-          echo ' yes '
-          echo '#endif'; } | ${CC} -E - | $GREP yes > /dev/null; then
-       :
-      else
-       can_build_shared=no
-      fi
-      ;;
-    esac
-    # AIX (on Power*) has no versioning support, so currently we can not hardcode correct
-    # soname into executable. Probably we can add versioning support to
-    # collect2, so additional links can be useful in future.
-    if test "$aix_use_runtimelinking" = yes; then
-      # If using run time linking (on AIX 4.2 or later) use lib<name>.so
-      # instead of lib<name>.a to let people know that these are not
-      # typical AIX shared libraries.
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    else
-      # We preserve .a as extension for shared libraries through AIX4.2
-      # and later when we are not doing run time linking.
-      library_names_spec='${libname}${release}.a $libname.a'
-      soname_spec='${libname}${release}${shared_ext}$major'
-    fi
-    shlibpath_var=LIBPATH
-  fi
-  ;;
-
-amigaos*)
-  case $host_cpu in
-  powerpc)
-    # Since July 2007 AmigaOS4 officially supports .so libraries.
-    # When compiling the executable, add -use-dynld -Lsobjs: to the compileline.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    ;;
-  m68k)
-    library_names_spec='$libname.ixlibrary $libname.a'
-    # Create ${libname}_ixlibrary.a entries in /sys/libs.
-    finish_eval='for lib in `ls $libdir/*.ixlibrary 2>/dev/null`; do libname=`func_echo_all "$lib" | $SED '\''s%^.*/\([^/]*\)\.ixlibrary$%\1%'\''`; test $RM /sys/libs/${libname}_ixlibrary.a; $show "cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a"; cd /sys/libs && $LN_S $lib ${libname}_ixlibrary.a || exit 1; done'
-    ;;
-  esac
-  ;;
-
-beos*)
-  library_names_spec='${libname}${shared_ext}'
-  dynamic_linker="$host_os ld.so"
-  shlibpath_var=LIBRARY_PATH
-  ;;
-
-bsdi[45]*)
-  version_type=linux
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/shlib /usr/lib /usr/X11/lib /usr/contrib/lib /lib /usr/local/lib"
-  sys_lib_dlsearch_path_spec="/shlib /usr/lib /usr/local/lib"
-  # the default ld.so.conf also contains /usr/contrib/lib and
-  # /usr/X11R6/lib (/usr/X11 is a link to /usr/X11R6), but let us allow
-  # libtool to hard-code these into programs
-  ;;
-
-cygwin* | mingw* | pw32* | cegcc*)
-  version_type=windows
-  shrext_cmds=".dll"
-  need_version=no
-  need_lib_prefix=no
-
-  case $GCC,$host_os in
-  yes,cygwin* | yes,mingw* | yes,pw32* | yes,cegcc*)
-    library_names_spec='$libname.dll.a'
-    # DLL is installed to $(libdir)/../bin by postinstall_cmds
-    postinstall_cmds='base_file=`basename \${file}`~
-      dlpath=`$SHELL 2>&1 -c '\''. $dir/'\''\${base_file}'\''i; echo \$dlname'\''`~
-      dldir=$destdir/`dirname \$dlpath`~
-      test -d \$dldir || mkdir -p \$dldir~
-      $install_prog $dir/$dlname \$dldir/$dlname~
-      chmod a+x \$dldir/$dlname~
-      if test -n '\''$stripme'\'' && test -n '\''$striplib'\''; then
-        eval '\''$striplib \$dldir/$dlname'\'' || exit \$?;
-      fi'
-    postuninstall_cmds='dldll=`$SHELL 2>&1 -c '\''. $file; echo \$dlname'\''`~
-      dlpath=$dir/\$dldll~
-       $RM \$dlpath'
-    shlibpath_overrides_runpath=yes
-
-    case $host_os in
-    cygwin*)
-      # Cygwin DLLs use 'cyg' prefix rather than 'lib'
-      soname_spec='`echo ${libname} | sed -e 's/^lib/cyg/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-
-      sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/lib/w32api"
-      ;;
-    mingw* | cegcc*)
-      # MinGW DLLs use traditional 'lib' prefix
-      soname_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    pw32*)
-      # pw32 DLLs use 'pw' prefix rather than 'lib'
-      library_names_spec='`echo ${libname} | sed -e 's/^lib/pw/'``echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext}'
-      ;;
-    esac
-    ;;
-
-  *)
-    library_names_spec='${libname}`echo ${release} | $SED -e 's/[.]/-/g'`${versuffix}${shared_ext} $libname.lib'
-    ;;
-  esac
-  dynamic_linker='Win32 ld.exe'
-  # FIXME: first we should search . and the directory the executable is in
-  shlibpath_var=PATH
-  ;;
-
-darwin* | rhapsody*)
-  dynamic_linker="$host_os dyld"
-  version_type=darwin
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${major}$shared_ext ${libname}$shared_ext'
-  soname_spec='${libname}${release}${major}$shared_ext'
-  shlibpath_overrides_runpath=yes
-  shlibpath_var=DYLD_LIBRARY_PATH
-  shrext_cmds='`test .$module = .yes && echo .so || echo .dylib`'
-
-  sys_lib_search_path_spec="$sys_lib_search_path_spec /usr/local/lib"
-  sys_lib_dlsearch_path_spec='/usr/local/lib /lib /usr/lib'
-  ;;
-
-dgux*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname$shared_ext'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-freebsd* | dragonfly*)
-  # DragonFly does not have aout.  When/if they implement a new
-  # versioning mechanism, adjust this.
-  if test -x /usr/bin/objformat; then
-    objformat=`/usr/bin/objformat`
-  else
-    case $host_os in
-    freebsd[23].*) objformat=aout ;;
-    *) objformat=elf ;;
-    esac
-  fi
-  version_type=freebsd-$objformat
-  case $version_type in
-    freebsd-elf*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-      need_version=no
-      need_lib_prefix=no
-      ;;
-    freebsd-*)
-      library_names_spec='${libname}${release}${shared_ext}$versuffix $libname${shared_ext}$versuffix'
-      need_version=yes
-      ;;
-  esac
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_os in
-  freebsd2.*)
-    shlibpath_overrides_runpath=yes
-    ;;
-  freebsd3.[01]* | freebsdelf3.[01]*)
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  freebsd3.[2-9]* | freebsdelf3.[2-9]* | \
-  freebsd4.[0-5] | freebsdelf4.[0-5] | freebsd4.1.1 | freebsdelf4.1.1)
-    shlibpath_overrides_runpath=no
-    hardcode_into_libs=yes
-    ;;
-  *) # from 4.6 on, and DragonFly
-    shlibpath_overrides_runpath=yes
-    hardcode_into_libs=yes
-    ;;
-  esac
-  ;;
-
-haiku*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  dynamic_linker="$host_os runtime_loader"
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}${major} ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  sys_lib_dlsearch_path_spec='/boot/home/config/lib /boot/common/lib /boot/beos/system/lib'
-  hardcode_into_libs=yes
-  ;;
-
-hpux9* | hpux10* | hpux11*)
-  # Give a soname corresponding to the major version so that dld.sl refuses to
-  # link against other versions.
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  case $host_cpu in
-  ia64*)
-    shrext_cmds='.so'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.so"
-    shlibpath_var=LD_LIBRARY_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    if test "X$HPUX_IA64_MODE" = X32; then
-      sys_lib_search_path_spec="/usr/lib/hpux32 /usr/local/lib/hpux32 /usr/local/lib"
-    else
-      sys_lib_search_path_spec="/usr/lib/hpux64 /usr/local/lib/hpux64"
-    fi
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  hppa*64*)
-    shrext_cmds='.sl'
-    hardcode_into_libs=yes
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=LD_LIBRARY_PATH # How should we handle SHLIB_PATH
-    shlibpath_overrides_runpath=yes # Unless +noenvvar is specified.
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    sys_lib_search_path_spec="/usr/lib/pa20_64 /usr/ccs/lib/pa20_64"
-    sys_lib_dlsearch_path_spec=$sys_lib_search_path_spec
-    ;;
-  *)
-    shrext_cmds='.sl'
-    dynamic_linker="$host_os dld.sl"
-    shlibpath_var=SHLIB_PATH
-    shlibpath_overrides_runpath=no # +s is required to enable SHLIB_PATH
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    ;;
-  esac
-  # HP-UX runs *really* slowly unless shared libraries are mode 555, ...
-  postinstall_cmds='chmod 555 $lib'
-  # or fails outright, so override atomically:
-  install_override_mode=555
-  ;;
-
-interix[3-9]*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  dynamic_linker='Interix 3.x ld.so.1 (PE, like ELF)'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-irix5* | irix6* | nonstopux*)
-  case $host_os in
-    nonstopux*) version_type=nonstopux ;;
-    *)
-       if test "$lt_cv_prog_gnu_ld" = yes; then
-               version_type=linux
-       else
-               version_type=irix
-       fi ;;
-  esac
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${release}${shared_ext} $libname${shared_ext}'
-  case $host_os in
-  irix5* | nonstopux*)
-    libsuff= shlibsuff=
-    ;;
-  *)
-    case $LD in # libtool.m4 will add one of these switches to LD
-    *-32|*"-32 "|*-melf32bsmip|*"-melf32bsmip ")
-      libsuff= shlibsuff= libmagic=32-bit;;
-    *-n32|*"-n32 "|*-melf32bmipn32|*"-melf32bmipn32 ")
-      libsuff=32 shlibsuff=N32 libmagic=N32;;
-    *-64|*"-64 "|*-melf64bmip|*"-melf64bmip ")
-      libsuff=64 shlibsuff=64 libmagic=64-bit;;
-    *) libsuff= shlibsuff= libmagic=never-match;;
-    esac
-    ;;
-  esac
-  shlibpath_var=LD_LIBRARY${shlibsuff}_PATH
-  shlibpath_overrides_runpath=no
-  sys_lib_search_path_spec="/usr/lib${libsuff} /lib${libsuff} /usr/local/lib${libsuff}"
-  sys_lib_dlsearch_path_spec="/usr/lib${libsuff} /lib${libsuff}"
-  hardcode_into_libs=yes
-  ;;
-
-# No shared lib support for Linux oldld, aout, or coff.
-linux*oldld* | linux*aout* | linux*coff*)
-  dynamic_linker=no
-  ;;
-
-# This must be Linux ELF.
-linux* | k*bsd*-gnu | kopensolaris*-gnu | gnu*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -n $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-
-  # Some binutils ld are patched to set DT_RUNPATH
-  if ${lt_cv_shlibpath_overrides_runpath+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  lt_cv_shlibpath_overrides_runpath=no
-    save_LDFLAGS=$LDFLAGS
-    save_libdir=$libdir
-    eval "libdir=/foo; wl=\"$lt_prog_compiler_wl\"; \
-        LDFLAGS=\"\$LDFLAGS $hardcode_libdir_flag_spec\""
-    cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-int
-main ()
-{
-
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  if  ($OBJDUMP -p conftest$ac_exeext) 2>/dev/null | grep "RUNPATH.*$libdir" >/dev/null; then :
-  lt_cv_shlibpath_overrides_runpath=yes
-fi
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-    LDFLAGS=$save_LDFLAGS
-    libdir=$save_libdir
-
-fi
-
-  shlibpath_overrides_runpath=$lt_cv_shlibpath_overrides_runpath
-
-  # This implies no fast_install, which is unacceptable.
-  # Some rework will be needed to allow for fast_install
-  # before this can be enabled.
-  hardcode_into_libs=yes
-
-  # Append ld.so.conf contents to the search path
-  if test -f /etc/ld.so.conf; then
-    lt_ld_extra=`awk '/^include / { system(sprintf("cd /etc; cat %s 2>/dev/null", \$2)); skip = 1; } { if (!skip) print \$0; skip = 0; }' < /etc/ld.so.conf | $SED -e 's/#.*//;/^[      ]*hwcap[        ]/d;s/[:,      ]/ /g;s/=[^=]*$//;s/=[^= ]* / /g;s/"//g;/^$/d' | tr '\n' ' '`
-    sys_lib_dlsearch_path_spec="/lib /usr/lib $lt_ld_extra"
-  fi
-
-  # We used to test for /lib/ld.so.1 and disable shared libraries on
-  # powerpc, because MkLinux only supported shared libraries with the
-  # GNU dynamic linker.  Since this was broken with cross compilers,
-  # most powerpc-linux boxes support dynamic linking these days and
-  # people can always --disable-shared, the test was removed, and we
-  # assume the GNU/Linux dynamic linker is in use.
-  dynamic_linker='GNU/Linux ld.so'
-  ;;
-
-netbsd*)
-  version_type=sunos
-  need_lib_prefix=no
-  need_version=no
-  if echo __ELF__ | $CC -E - | $GREP __ELF__ >/dev/null; then
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-    finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-    dynamic_linker='NetBSD (a.out) ld.so'
-  else
-    library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major ${libname}${shared_ext}'
-    soname_spec='${libname}${release}${shared_ext}$major'
-    dynamic_linker='NetBSD ld.elf_so'
-  fi
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  ;;
-
-newsos6)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  ;;
-
-*nto* | *qnx*)
-  version_type=qnx
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  dynamic_linker='ldqnx.so'
-  ;;
-
-openbsd*)
-  version_type=sunos
-  sys_lib_dlsearch_path_spec="/usr/lib"
-  need_lib_prefix=no
-  # Some older versions of OpenBSD (3.3 at least) *do* need versioned libs.
-  case $host_os in
-    openbsd3.3 | openbsd3.3.*) need_version=yes ;;
-    *)                         need_version=no  ;;
-  esac
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/sbin" ldconfig -m $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  if test -z "`echo __ELF__ | $CC -E - | $GREP __ELF__`" || test "$host_os-$host_cpu" = "openbsd2.8-powerpc"; then
-    case $host_os in
-      openbsd2.[89] | openbsd2.[89].*)
-       shlibpath_overrides_runpath=no
-       ;;
-      *)
-       shlibpath_overrides_runpath=yes
-       ;;
-      esac
-  else
-    shlibpath_overrides_runpath=yes
-  fi
-  ;;
-
-os2*)
-  libname_spec='$name'
-  shrext_cmds=".dll"
-  need_lib_prefix=no
-  library_names_spec='$libname${shared_ext} $libname.a'
-  dynamic_linker='OS/2 ld.exe'
-  shlibpath_var=LIBPATH
-  ;;
-
-osf3* | osf4* | osf5*)
-  version_type=osf
-  need_lib_prefix=no
-  need_version=no
-  soname_spec='${libname}${release}${shared_ext}$major'
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  sys_lib_search_path_spec="/usr/shlib /usr/ccs/lib /usr/lib/cmplrs/cc /usr/lib /usr/local/lib /var/shlib"
-  sys_lib_dlsearch_path_spec="$sys_lib_search_path_spec"
-  ;;
-
-rdos*)
-  dynamic_linker=no
-  ;;
-
-solaris*)
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  # ldd complains unless libraries are executable
-  postinstall_cmds='chmod +x $lib'
-  ;;
-
-sunos4*)
-  version_type=sunos
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${shared_ext}$versuffix'
-  finish_cmds='PATH="\$PATH:/usr/etc" ldconfig $libdir'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  if test "$with_gnu_ld" = yes; then
-    need_lib_prefix=no
-  fi
-  need_version=yes
-  ;;
-
-sysv4 | sysv4.3*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  case $host_vendor in
-    sni)
-      shlibpath_overrides_runpath=no
-      need_lib_prefix=no
-      runpath_var=LD_RUN_PATH
-      ;;
-    siemens)
-      need_lib_prefix=no
-      ;;
-    motorola)
-      need_lib_prefix=no
-      need_version=no
-      shlibpath_overrides_runpath=no
-      sys_lib_search_path_spec='/lib /usr/lib /usr/ccs/lib'
-      ;;
-  esac
-  ;;
-
-sysv4*MP*)
-  if test -d /usr/nec ;then
-    version_type=linux
-    library_names_spec='$libname${shared_ext}.$versuffix $libname${shared_ext}.$major $libname${shared_ext}'
-    soname_spec='$libname${shared_ext}.$major'
-    shlibpath_var=LD_LIBRARY_PATH
-  fi
-  ;;
-
-sysv5* | sco3.2v5* | sco5v6* | unixware* | OpenUNIX* | sysv4*uw2*)
-  version_type=freebsd-elf
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext} $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=yes
-  hardcode_into_libs=yes
-  if test "$with_gnu_ld" = yes; then
-    sys_lib_search_path_spec='/usr/local/lib /usr/gnu/lib /usr/ccs/lib /usr/lib /lib'
-  else
-    sys_lib_search_path_spec='/usr/ccs/lib /usr/lib'
-    case $host_os in
-      sco3.2v5*)
-        sys_lib_search_path_spec="$sys_lib_search_path_spec /lib"
-       ;;
-    esac
-  fi
-  sys_lib_dlsearch_path_spec='/usr/lib'
-  ;;
-
-tpf*)
-  # TPF is a cross-target only.  Preferred cross-host = GNU/Linux.
-  version_type=linux
-  need_lib_prefix=no
-  need_version=no
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  shlibpath_var=LD_LIBRARY_PATH
-  shlibpath_overrides_runpath=no
-  hardcode_into_libs=yes
-  ;;
-
-uts4*)
-  version_type=linux
-  library_names_spec='${libname}${release}${shared_ext}$versuffix ${libname}${release}${shared_ext}$major $libname${shared_ext}'
-  soname_spec='${libname}${release}${shared_ext}$major'
-  shlibpath_var=LD_LIBRARY_PATH
-  ;;
-
-*)
-  dynamic_linker=no
-  ;;
-esac
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $dynamic_linker" >&5
-$as_echo "$dynamic_linker" >&6; }
-test "$dynamic_linker" = no && can_build_shared=no
-
-variables_saved_for_relink="PATH $shlibpath_var $runpath_var"
-if test "$GCC" = yes; then
-  variables_saved_for_relink="$variables_saved_for_relink GCC_EXEC_PREFIX COMPILER_PATH LIBRARY_PATH"
-fi
-
-if test "${lt_cv_sys_lib_search_path_spec+set}" = set; then
-  sys_lib_search_path_spec="$lt_cv_sys_lib_search_path_spec"
-fi
-if test "${lt_cv_sys_lib_dlsearch_path_spec+set}" = set; then
-  sys_lib_dlsearch_path_spec="$lt_cv_sys_lib_dlsearch_path_spec"
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking how to hardcode library paths into programs" >&5
-$as_echo_n "checking how to hardcode library paths into programs... " >&6; }
-hardcode_action=
-if test -n "$hardcode_libdir_flag_spec" ||
-   test -n "$runpath_var" ||
-   test "X$hardcode_automatic" = "Xyes" ; then
-
-  # We can hardcode non-existent directories.
-  if test "$hardcode_direct" != no &&
-     # If the only mechanism to avoid hardcoding is shlibpath_var, we
-     # have to relink, otherwise we might link with an installed library
-     # when we should be linking with a yet-to-be-installed one
-     ## test "$_LT_TAGVAR(hardcode_shlibpath_var, )" != no &&
-     test "$hardcode_minus_L" != no; then
-    # Linking always hardcodes the temporary library directory.
-    hardcode_action=relink
-  else
-    # We can link without hardcoding, and we can hardcode nonexisting dirs.
-    hardcode_action=immediate
-  fi
-else
-  # We cannot hardcode anything, or else we can only hardcode existing
-  # directories.
-  hardcode_action=unsupported
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $hardcode_action" >&5
-$as_echo "$hardcode_action" >&6; }
-
-if test "$hardcode_action" = relink ||
-   test "$inherit_rpath" = yes; then
-  # Fast installation is not supported
-  enable_fast_install=no
-elif test "$shlibpath_overrides_runpath" = yes ||
-     test "$enable_shared" = no; then
-  # Fast installation is not necessary
-  enable_fast_install=needless
-fi
-
-
-
-
-
-
-  if test "x$enable_dlopen" != xyes; then
-  enable_dlopen=unknown
-  enable_dlopen_self=unknown
-  enable_dlopen_self_static=unknown
-else
-  lt_cv_dlopen=no
-  lt_cv_dlopen_libs=
-
-  case $host_os in
-  beos*)
-    lt_cv_dlopen="load_add_on"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-    ;;
-
-  mingw* | pw32* | cegcc*)
-    lt_cv_dlopen="LoadLibrary"
-    lt_cv_dlopen_libs=
-    ;;
-
-  cygwin*)
-    lt_cv_dlopen="dlopen"
-    lt_cv_dlopen_libs=
-    ;;
-
-  darwin*)
-  # if libdl is installed we need to link against it
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-
-    lt_cv_dlopen="dyld"
-    lt_cv_dlopen_libs=
-    lt_cv_dlopen_self=yes
-
-fi
-
-    ;;
-
-  *)
-    ac_fn_c_check_func "$LINENO" "shl_load" "ac_cv_func_shl_load"
-if test "x$ac_cv_func_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for shl_load in -ldld" >&5
-$as_echo_n "checking for shl_load in -ldld... " >&6; }
-if ${ac_cv_lib_dld_shl_load+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char shl_load ();
-int
-main ()
-{
-return shl_load ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_shl_load=yes
-else
-  ac_cv_lib_dld_shl_load=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_shl_load" >&5
-$as_echo "$ac_cv_lib_dld_shl_load" >&6; }
-if test "x$ac_cv_lib_dld_shl_load" = xyes; then :
-  lt_cv_dlopen="shl_load" lt_cv_dlopen_libs="-ldld"
-else
-  ac_fn_c_check_func "$LINENO" "dlopen" "ac_cv_func_dlopen"
-if test "x$ac_cv_func_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -ldl" >&5
-$as_echo_n "checking for dlopen in -ldl... " >&6; }
-if ${ac_cv_lib_dl_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldl  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dl_dlopen=yes
-else
-  ac_cv_lib_dl_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dl_dlopen" >&5
-$as_echo "$ac_cv_lib_dl_dlopen" >&6; }
-if test "x$ac_cv_lib_dl_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-ldl"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dlopen in -lsvld" >&5
-$as_echo_n "checking for dlopen in -lsvld... " >&6; }
-if ${ac_cv_lib_svld_dlopen+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsvld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dlopen ();
-int
-main ()
-{
-return dlopen ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_svld_dlopen=yes
-else
-  ac_cv_lib_svld_dlopen=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_svld_dlopen" >&5
-$as_echo "$ac_cv_lib_svld_dlopen" >&6; }
-if test "x$ac_cv_lib_svld_dlopen" = xyes; then :
-  lt_cv_dlopen="dlopen" lt_cv_dlopen_libs="-lsvld"
-else
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking for dld_link in -ldld" >&5
-$as_echo_n "checking for dld_link in -ldld... " >&6; }
-if ${ac_cv_lib_dld_dld_link+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-ldld  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char dld_link ();
-int
-main ()
-{
-return dld_link ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_dld_dld_link=yes
-else
-  ac_cv_lib_dld_dld_link=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_dld_dld_link" >&5
-$as_echo "$ac_cv_lib_dld_dld_link" >&6; }
-if test "x$ac_cv_lib_dld_dld_link" = xyes; then :
-  lt_cv_dlopen="dld_link" lt_cv_dlopen_libs="-ldld"
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-
-fi
-
-    ;;
-  esac
-
-  if test "x$lt_cv_dlopen" != xno; then
-    enable_dlopen=yes
-  else
-    enable_dlopen=no
-  fi
-
-  case $lt_cv_dlopen in
-  dlopen)
-    save_CPPFLAGS="$CPPFLAGS"
-    test "x$ac_cv_header_dlfcn_h" = xyes && CPPFLAGS="$CPPFLAGS -DHAVE_DLFCN_H"
-
-    save_LDFLAGS="$LDFLAGS"
-    wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $export_dynamic_flag_spec\"
-
-    save_LIBS="$LIBS"
-    LIBS="$lt_cv_dlopen_libs $LIBS"
-
-    { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a program can dlopen itself" >&5
-$as_echo_n "checking whether a program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line 12917 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-void fnord () __attribute__((visibility("default")));
-#endif
-
-void fnord () { int i=42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self" >&5
-$as_echo "$lt_cv_dlopen_self" >&6; }
-
-    if test "x$lt_cv_dlopen_self" = xyes; then
-      wl=$lt_prog_compiler_wl eval LDFLAGS=\"\$LDFLAGS $lt_prog_compiler_static\"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether a statically linked program can dlopen itself" >&5
-$as_echo_n "checking whether a statically linked program can dlopen itself... " >&6; }
-if ${lt_cv_dlopen_self_static+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-         if test "$cross_compiling" = yes; then :
-  lt_cv_dlopen_self_static=cross
-else
-  lt_dlunknown=0; lt_dlno_uscore=1; lt_dlneed_uscore=2
-  lt_status=$lt_dlunknown
-  cat > conftest.$ac_ext <<_LT_EOF
-#line 13023 "configure"
-#include "confdefs.h"
-
-#if HAVE_DLFCN_H
-#include <dlfcn.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef RTLD_GLOBAL
-#  define LT_DLGLOBAL          RTLD_GLOBAL
-#else
-#  ifdef DL_GLOBAL
-#    define LT_DLGLOBAL                DL_GLOBAL
-#  else
-#    define LT_DLGLOBAL                0
-#  endif
-#endif
-
-/* We may have to define LT_DLLAZY_OR_NOW in the command line if we
-   find out it does not work in some platform. */
-#ifndef LT_DLLAZY_OR_NOW
-#  ifdef RTLD_LAZY
-#    define LT_DLLAZY_OR_NOW           RTLD_LAZY
-#  else
-#    ifdef DL_LAZY
-#      define LT_DLLAZY_OR_NOW         DL_LAZY
-#    else
-#      ifdef RTLD_NOW
-#        define LT_DLLAZY_OR_NOW       RTLD_NOW
-#      else
-#        ifdef DL_NOW
-#          define LT_DLLAZY_OR_NOW     DL_NOW
-#        else
-#          define LT_DLLAZY_OR_NOW     0
-#        endif
-#      endif
-#    endif
-#  endif
-#endif
-
-/* When -fvisbility=hidden is used, assume the code has been annotated
-   correspondingly for the symbols needed.  */
-#if defined(__GNUC__) && (((__GNUC__ == 3) && (__GNUC_MINOR__ >= 3)) || (__GNUC__ > 3))
-void fnord () __attribute__((visibility("default")));
-#endif
-
-void fnord () { int i=42; }
-int main ()
-{
-  void *self = dlopen (0, LT_DLGLOBAL|LT_DLLAZY_OR_NOW);
-  int status = $lt_dlunknown;
-
-  if (self)
-    {
-      if (dlsym (self,"fnord"))       status = $lt_dlno_uscore;
-      else
-        {
-         if (dlsym( self,"_fnord"))  status = $lt_dlneed_uscore;
-          else puts (dlerror ());
-       }
-      /* dlclose (self); */
-    }
-  else
-    puts (dlerror ());
-
-  return status;
-}
-_LT_EOF
-  if { { eval echo "\"\$as_me\":${as_lineno-$LINENO}: \"$ac_link\""; } >&5
-  (eval $ac_link) 2>&5
-  ac_status=$?
-  $as_echo "$as_me:${as_lineno-$LINENO}: \$? = $ac_status" >&5
-  test $ac_status = 0; } && test -s conftest${ac_exeext} 2>/dev/null; then
-    (./conftest; exit; ) >&5 2>/dev/null
-    lt_status=$?
-    case x$lt_status in
-      x$lt_dlno_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlneed_uscore) lt_cv_dlopen_self_static=yes ;;
-      x$lt_dlunknown|x*) lt_cv_dlopen_self_static=no ;;
-    esac
-  else :
-    # compilation failed
-    lt_cv_dlopen_self_static=no
-  fi
-fi
-rm -fr conftest*
-
-
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $lt_cv_dlopen_self_static" >&5
-$as_echo "$lt_cv_dlopen_self_static" >&6; }
-    fi
-
-    CPPFLAGS="$save_CPPFLAGS"
-    LDFLAGS="$save_LDFLAGS"
-    LIBS="$save_LIBS"
-    ;;
-  esac
-
-  case $lt_cv_dlopen_self in
-  yes|no) enable_dlopen_self=$lt_cv_dlopen_self ;;
-  *) enable_dlopen_self=unknown ;;
-  esac
-
-  case $lt_cv_dlopen_self_static in
-  yes|no) enable_dlopen_self_static=$lt_cv_dlopen_self_static ;;
-  *) enable_dlopen_self_static=unknown ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-striplib=
-old_striplib=
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether stripping libraries is possible" >&5
-$as_echo_n "checking whether stripping libraries is possible... " >&6; }
-if test -n "$STRIP" && $STRIP -V 2>&1 | $GREP "GNU strip" >/dev/null; then
-  test -z "$old_striplib" && old_striplib="$STRIP --strip-debug"
-  test -z "$striplib" && striplib="$STRIP --strip-unneeded"
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-else
-# FIXME - insert some real tests, host_os isn't really good enough
-  case $host_os in
-  darwin*)
-    if test -n "$STRIP" ; then
-      striplib="$STRIP -x"
-      old_striplib="$STRIP -S"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: yes" >&5
-$as_echo "yes" >&6; }
-    else
-      { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    fi
-    ;;
-  *)
-    { $as_echo "$as_me:${as_lineno-$LINENO}: result: no" >&5
-$as_echo "no" >&6; }
-    ;;
-  esac
-fi
-
-
-
-
-
-
-
-
-
-
-
-
-  # Report which library types will actually be built
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking if libtool supports shared libraries" >&5
-$as_echo_n "checking if libtool supports shared libraries... " >&6; }
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $can_build_shared" >&5
-$as_echo "$can_build_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build shared libraries" >&5
-$as_echo_n "checking whether to build shared libraries... " >&6; }
-  test "$can_build_shared" = "no" && enable_shared=no
-
-  # On AIX, shared libraries and static libraries use the same namespace, and
-  # are all built from PIC.
-  case $host_os in
-  aix3*)
-    test "$enable_shared" = yes && enable_static=no
-    if test -n "$RANLIB"; then
-      archive_cmds="$archive_cmds~\$RANLIB \$lib"
-      postinstall_cmds='$RANLIB $lib'
-    fi
-    ;;
-
-  aix[4-9]*)
-    if test "$host_cpu" != ia64 && test "$aix_use_runtimelinking" = no ; then
-      test "$enable_shared" = yes && enable_static=no
-    fi
-    ;;
-  esac
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_shared" >&5
-$as_echo "$enable_shared" >&6; }
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to build static libraries" >&5
-$as_echo_n "checking whether to build static libraries... " >&6; }
-  # Make sure either enable_shared or enable_static is yes.
-  test "$enable_shared" = yes || enable_static=yes
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $enable_static" >&5
-$as_echo "$enable_static" >&6; }
-
-
-
-
-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
-
-CC="$lt_save_CC"
-
-
-
-
-
-
-
-
-
-
-
-
-
-        ac_config_commands="$ac_config_commands libtool"
-
-
-
-
-# Only expand once:
-
-
-
-
-. ${srcdir}/../../bfd/configure.host
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable maintainer-specific portions of Makefiles" >&5
-$as_echo_n "checking whether to enable maintainer-specific portions of Makefiles... " >&6; }
-    # Check whether --enable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then :
-  enableval=$enable_maintainer_mode; USE_MAINTAINER_MODE=$enableval
-else
-  USE_MAINTAINER_MODE=no
-fi
-
-  { $as_echo "$as_me:${as_lineno-$LINENO}: result: $USE_MAINTAINER_MODE" >&5
-$as_echo "$USE_MAINTAINER_MODE" >&6; }
-   if test $USE_MAINTAINER_MODE = yes; then
-  MAINTAINER_MODE_TRUE=
-  MAINTAINER_MODE_FALSE='#'
-else
-  MAINTAINER_MODE_TRUE='#'
-  MAINTAINER_MODE_FALSE=
-fi
-
-  MAINT=$MAINTAINER_MODE_TRUE
-
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sim debug setting" >&5
-$as_echo_n "checking for sim debug setting... " >&6; }
-sim_debug="0"
-# Check whether --enable-sim-debug was given.
-if test "${enable_sim_debug+set}" = set; then :
-  enableval=$enable_sim_debug; case "${enableval}" in
-  yes) sim_debug="7";;
-  no)  sim_debug="0";;
-  *)   sim_debug="($enableval)";;
-esac
-fi
-if test "$sim_debug" != "0"; then
-
-cat >>confdefs.h <<_ACEOF
-#define DEBUG $sim_debug
-_ACEOF
-
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define WITH_DEBUG $sim_debug
-_ACEOF
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_debug" >&5
-$as_echo "$sim_debug" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sim stdio debug behavior" >&5
-$as_echo_n "checking for sim stdio debug behavior... " >&6; }
-sim_stdio="0"
-# Check whether --enable-sim-stdio was given.
-if test "${enable_sim_stdio+set}" = set; then :
-  enableval=$enable_sim_stdio; case "${enableval}" in
-  yes) sim_stdio="DO_USE_STDIO";;
-  no)  sim_stdio="DONT_USE_STDIO";;
-  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-stdio" "$LINENO" 5;;
-esac
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define WITH_STDIO $sim_stdio
-_ACEOF
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_stdio" >&5
-$as_echo "$sim_stdio" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sim trace settings" >&5
-$as_echo_n "checking for sim trace settings... " >&6; }
-sim_trace="~TRACE_debug"
-# 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="-1";;
-  no)  sim_trace="0";;
-  [-0-9]*)
-       sim_trace="'(${enableval})'";;
-  [[:lower:]]*)
-       sim_trace=""
-       for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
-         if test x"$sim_trace" = x; then
-           sim_trace="(TRACE_$x"
-         else
-           sim_trace="${sim_trace}|TRACE_$x"
-         fi
-       done
-       sim_trace="$sim_trace)" ;;
-esac
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define WITH_TRACE $sim_trace
-_ACEOF
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_trace" >&5
-$as_echo "$sim_trace" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking for sim profile settings" >&5
-$as_echo_n "checking for sim profile settings... " >&6; }
-profile="1"
-sim_profile="-1"
-# Check whether --enable-sim-profile was given.
-if test "${enable_sim_profile+set}" = set; then :
-  enableval=$enable_sim_profile; case "${enableval}" in
-  yes) profile="1" sim_profile="-1";;
-  no)  profile="0" sim_profile="0";;
-  [-0-9]*)
-       profile="(${enableval})" sim_profile="(${enableval})";;
-  [a-z]*)
-    profile="1"
-       sim_profile=""
-       for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
-         if test x"$sim_profile" = x; then
-           sim_profile="(PROFILE_$x"
-         else
-           sim_profile="${sim_profile}|PROFILE_$x"
-         fi
-       done
-       sim_profile="$sim_profile)" ;;
-esac
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define PROFILE $profile
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define WITH_PROFILE $sim_profile
-_ACEOF
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_profile" >&5
-$as_echo "$sim_profile" >&6; }
-
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking whether to enable sim asserts" >&5
-$as_echo_n "checking whether to enable sim asserts... " >&6; }
-sim_assert="1"
-# Check whether --enable-sim-assert was given.
-if test "${enable_sim_assert+set}" = set; then :
-  enableval=$enable_sim_assert; case "${enableval}" in
-  yes) sim_assert="1";;
-  no)  sim_assert="0";;
-  *)   as_fn_error $? "--enable-sim-assert does not take a value" "$LINENO" 5;;
-esac
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define WITH_ASSERT $sim_assert
-_ACEOF
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_assert" >&5
-$as_echo "$sim_assert" >&6; }
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking default sim environment setting" >&5
-$as_echo_n "checking default sim environment setting... " >&6; }
-sim_environment="ALL_ENVIRONMENT"
-# Check whether --enable-sim-environment was given.
-if test "${enable_sim_environment+set}" = set; then :
-  enableval=$enable_sim_environment; case "${enableval}" in
-  all | ALL)             sim_environment="ALL_ENVIRONMENT";;
-  user | USER)           sim_environment="USER_ENVIRONMENT";;
-  virtual | VIRTUAL)     sim_environment="VIRTUAL_ENVIRONMENT";;
-  operating | OPERATING) sim_environment="OPERATING_ENVIRONMENT";;
-  *)   as_fn_error $? "Unknown value $enableval passed to --enable-sim-environment" "$LINENO" 5;;
-esac
-fi
-
-cat >>confdefs.h <<_ACEOF
-#define WITH_ENVIRONMENT $sim_environment
-_ACEOF
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $sim_environment" >&5
-$as_echo "$sim_environment" >&6; }
-
-
-sim_inline="-DDEFAULT_INLINE=0"
-# Check whether --enable-sim-inline was given.
-if test "${enable_sim_inline+set}" = set; then :
-  enableval=$enable_sim_inline; sim_inline=""
-case "$enableval" in
-  no)          sim_inline="-DDEFAULT_INLINE=0";;
-  0)           sim_inline="-DDEFAULT_INLINE=0";;
-  yes | 2)     sim_inline="-DDEFAULT_INLINE=ALL_C_INLINE";;
-  1)           sim_inline="-DDEFAULT_INLINE=INLINE_LOCALS";;
-  *) for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
-       new_flag=""
-       case "$x" in
-        *_INLINE=*)    new_flag="-D$x";;
-        *=*)           new_flag=`echo "$x" | sed -e "s/=/_INLINE=/" -e "s/^/-D/"`;;
-        *_INLINE)      new_flag="-D$x=ALL_C_INLINE";;
-        *)             new_flag="-D$x""_INLINE=ALL_C_INLINE";;
-       esac
-       if test x"$sim_inline" = x""; then
-        sim_inline="$new_flag"
-       else
-        sim_inline="$sim_inline $new_flag"
-       fi
-     done;;
-esac
-if test x"$silent" != x"yes" && test x"$sim_inline" != x""; then
-  echo "Setting inline flags = $sim_inline" 6>&1
-fi
-fi
-
-
-
-
-# Check whether --with-pkgversion was given.
-if test "${with_pkgversion+set}" = set; then :
-  withval=$with_pkgversion; case "$withval" in
-      yes) as_fn_error $? "package version not specified" "$LINENO" 5 ;;
-      no)  PKGVERSION= ;;
-      *)   PKGVERSION="($withval) " ;;
-     esac
-else
-  PKGVERSION="(SIM) "
-
-fi
-
-
-
-
-
-# Check whether --with-bugurl was given.
-if test "${with_bugurl+set}" = set; then :
-  withval=$with_bugurl; case "$withval" in
-      yes) as_fn_error $? "bug URL not specified" "$LINENO" 5 ;;
-      no)  BUGURL=
-          ;;
-      *)   BUGURL="$withval"
-          ;;
-     esac
-else
-  BUGURL="https://www.gnu.org/software/gdb/bugs/"
-
-fi
-
-  case ${BUGURL} in
-  "")
-    REPORT_BUGS_TO=
-    REPORT_BUGS_TEXI=
-    ;;
-  *)
-    REPORT_BUGS_TO="<$BUGURL>"
-    REPORT_BUGS_TEXI=@uref{`echo "$BUGURL" | sed 's/@/@@/g'`}
-    ;;
-  esac;
-
-
-
-
-cat >>confdefs.h <<_ACEOF
-#define PKGVERSION "$PKGVERSION"
-_ACEOF
-
-
-cat >>confdefs.h <<_ACEOF
-#define REPORT_BUGS_TO "$REPORT_BUGS_TO"
-_ACEOF
-
-
-{ $as_echo "$as_me:${as_lineno-$LINENO}: checking return type of signal handlers" >&5
-$as_echo_n "checking return type of signal handlers... " >&6; }
-if ${ac_cv_type_signal+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-#include <sys/types.h>
-#include <signal.h>
-
-int
-main ()
-{
-return *(signal (0, 0)) (0) == 1;
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_compile "$LINENO"; then :
-  ac_cv_type_signal=int
-else
-  ac_cv_type_signal=void
-fi
-rm -f core conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_type_signal" >&5
-$as_echo "$ac_cv_type_signal" >&6; }
-
-cat >>confdefs.h <<_ACEOF
-#define RETSIGTYPE $ac_cv_type_signal
-_ACEOF
-
-
-
-
-
-
-
-
-wire_endian=""
-default_endian="BIG"
-# Check whether --enable-sim-endian was given.
-if test "${enable_sim_endian+set}" = set; then :
-  enableval=$enable_sim_endian; case "${enableval}" in
-  b*|B*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_BIG";;
-  l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_LITTLE";;
-  yes)  if test x"$wire_endian" != x; then
-          sim_endian="-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_${wire_endian}"
-        else
-         if test x"$default_endian" != x; then
-            sim_endian="-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_${default_endian}"
-          else
-            echo "No hard-wired endian for target $target" 1>&6
-            sim_endian="-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
-          fi
-        fi;;
-  no)   if test x"$default_endian" != x; then
-          sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_${default_endian}"
-        else
-          if test x"$wire_endian" != x; then
-            sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_${wire_endian}"
-          else
-            echo "No default endian for target $target" 1>&6
-            sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_UNKNOWN"
-          fi
-        fi;;
-  *)    as_fn_error $? "\"Unknown value $enableval for --enable-sim-endian\"" "$LINENO" 5; sim_endian="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_endian" != x""; then
-  echo "Setting endian flags = $sim_endian" 6>&1
-fi
-else
-  if test x"$default_endian" != x; then
-  sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=BFD_ENDIAN_${default_endian}"
-else
-  if test x"$wire_endian" != x; then
-    sim_endian="-DWITH_TARGET_BYTE_ORDER=BFD_ENDIAN_${wire_endian}"
-  else
-    sim_endian=
-  fi
-fi
-fi
-
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment=""
-
-# Check whether --enable-sim-alignment was given.
-if test "${enable_sim_alignment+set}" = set; then :
-  enableval=$enable_sim_alignment; case "${enableval}" in
-  strict | STRICT)       sim_alignment="-DWITH_ALIGNMENT=STRICT_ALIGNMENT";;
-  nonstrict | NONSTRICT) sim_alignment="-DWITH_ALIGNMENT=NONSTRICT_ALIGNMENT";;
-  forced | FORCED)       sim_alignment="-DWITH_ALIGNMENT=FORCED_ALIGNMENT";;
-  yes) if test x"$wire_alignment" != x; then
-        sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-       else
-         if test x"$default_alignment" != x; then
-           sim_alignment="-DWITH_ALIGNMENT=${default_alignment}"
-         else
-          echo "No hard-wired alignment for target $target" 1>&6
-          sim_alignment="-DWITH_ALIGNMENT=0"
-         fi
-       fi;;
-  no)  if test x"$default_alignment" != x; then
-        sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-       else
-         if test x"$wire_alignment" != x; then
-          sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${wire_alignment}"
-         else
-           echo "No default alignment for target $target" 1>&6
-           sim_alignment="-DWITH_DEFAULT_ALIGNMENT=0"
-         fi
-       fi;;
-  *)   as_fn_error $? "\"Unknown value $enableval passed to --enable-sim-alignment\"" "$LINENO" 5; sim_alignment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_alignment" != x""; then
-  echo "Setting alignment flags = $sim_alignment" 6>&1
-fi
-else
-  if test x"$default_alignment" != x; then
-  sim_alignment="-DWITH_DEFAULT_ALIGNMENT=${default_alignment}"
-else
-  if test x"$wire_alignment" != x; then
-    sim_alignment="-DWITH_ALIGNMENT=${wire_alignment}"
-  else
-    sim_alignment=
-  fi
-fi
-fi
-
-
-default_sim_scache="16384"
-# Check whether --enable-sim-scache was given.
-if test "${enable_sim_scache+set}" = set; then :
-  enableval=$enable_sim_scache; case "${enableval}" in
-  yes) sim_scache="-DWITH_SCACHE=${default_sim_scache}";;
-  no)  sim_scache="-DWITH_SCACHE=0" ;;
-  [0-9]*) sim_scache="-DWITH_SCACHE=${enableval}";;
-  *)   as_fn_error $? "\"Bad value $enableval passed to --enable-sim-scache\"" "$LINENO" 5;
-       sim_scache="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_scache" != x""; then
-  echo "Setting scache size = $sim_scache" 6>&1
-fi
-else
-  sim_scache="-DWITH_SCACHE=${default_sim_scache}"
-fi
-
-
-
-default_sim_default_model="sh5"
-# Check whether --enable-sim-default-model was given.
-if test "${enable_sim_default_model+set}" = set; then :
-  enableval=$enable_sim_default_model; case "${enableval}" in
-  yes|no) as_fn_error $? "\"Missing argument to --enable-sim-default-model\"" "$LINENO" 5;;
-  *)   sim_default_model="-DWITH_DEFAULT_MODEL='\"${enableval}\"'";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_default_model" != x""; then
-  echo "Setting default model = $sim_default_model" 6>&1
-fi
-else
-  sim_default_model="-DWITH_DEFAULT_MODEL='\"${default_sim_default_model}\"'"
-fi
-
-
-
-cgen_maint=no
-cgen=guile
-cgendir='$(srcdir)/../../cgen'
-# Check whether --enable-cgen-maint was given.
-if test "${enable_cgen_maint+set}" = set; then :
-  enableval=$enable_cgen_maint; case "${enableval}" in
-  yes) cgen_maint=yes ;;
-  no)  cgen_maint=no ;;
-  *)
-       # Argument is a directory where cgen can be found.  In some
-       # future world cgen could be installable, but right now this
-       # is not the case.  Instead we assume the directory is a path
-       # to the cgen source tree.
-       cgen_maint=yes
-        if test -r ${enableval}/iformat.scm; then
-          # This looks like a cgen source tree.
-         cgendir=${enableval}
-        else
-         as_fn_error $? "${enableval} doesn't look like a cgen source tree" "$LINENO" 5
-        fi
-       ;;
-esac
-fi
-if test x${cgen_maint} != xno ; then
-  CGEN_MAINT=''
-else
-  CGEN_MAINT='#'
-fi
-
-
-
-
-
-
-if test """"; then
-  hardware=""""
-else
-  hardware="cfi core pal glue"
-fi
-hardware="$hardware """
-
-sim_hw_cflags="-DWITH_HW=1"
-sim_hw="$hardware"
-sim_hw_objs="\$(SIM_COMMON_HW_OBJS) `echo $sim_hw | sed -e 's/\([^ ][^ ]*\)/dv-\1.o/g'`"
-
-# Check whether --enable-sim-hardware was given.
-if test "${enable_sim_hardware+set}" = set; then :
-  enableval=$enable_sim_hardware;
-else
-  enable_sim_hardware="yes"
-fi
-
-case ${enable_sim_hardware} in
-  yes|no) ;;
-  ,*) hardware="${hardware} `echo ${enableval} | sed -e 's/,/ /'`";;
-  *,) hardware="`echo ${enableval} | sed -e 's/,/ /'` ${hardware}";;
-  *)  hardware="`echo ${enableval} | sed -e 's/,/ /'`"'';;
-esac
-
-if test "$enable_sim_hardware" = no; then
-  sim_hw_objs=
-  sim_hw_cflags="-DWITH_HW=0"
-  sim_hw=
-else
-  sim_hw_cflags="-DWITH_HW=1"
-  # remove duplicates
-  sim_hw=""
-  sim_hw_objs="\$(SIM_COMMON_HW_OBJS)"
-  for i in $hardware ; do
-    case " $sim_hw " in
-      *" $i "*) ;;
-      *) sim_hw="$sim_hw $i" ; sim_hw_objs="$sim_hw_objs dv-$i.o";;
-    esac
-  done
-  # mingw does not support sockser
-  case ${host} in
-    *mingw*) ;;
-    *) # TODO: We don't add dv-sockser to sim_hw as it is not a "real" device
-       # that you instatiate.  Instead, other code will call into it directly.
-       # At some point, we should convert it over.
-       sim_hw_objs="$sim_hw_objs dv-sockser.o"
-
-cat >>confdefs.h <<_ACEOF
-#define HAVE_DV_SOCKSER 1
-_ACEOF
-
-       ;;
-  esac
-  if test x"$silent" != x"yes"; then
-    echo "Setting hardware to $sim_hw_cflags, $sim_hw, $sim_hw_objs"
-  fi
-    case " $hardware " in
-    *" cfi "*) { $as_echo "$as_me:${as_lineno-$LINENO}: checking for log2 in -lm" >&5
-$as_echo_n "checking for log2 in -lm... " >&6; }
-if ${ac_cv_lib_m_log2+:} false; then :
-  $as_echo_n "(cached) " >&6
-else
-  ac_check_lib_save_LIBS=$LIBS
-LIBS="-lm  $LIBS"
-cat confdefs.h - <<_ACEOF >conftest.$ac_ext
-/* end confdefs.h.  */
-
-/* Override any GCC internal prototype to avoid an error.
-   Use char because int might match the return type of a GCC
-   builtin and then its argument prototype would still apply.  */
-#ifdef __cplusplus
-extern "C"
-#endif
-char log2 ();
-int
-main ()
-{
-return log2 ();
-  ;
-  return 0;
-}
-_ACEOF
-if ac_fn_c_try_link "$LINENO"; then :
-  ac_cv_lib_m_log2=yes
-else
-  ac_cv_lib_m_log2=no
-fi
-rm -f core conftest.err conftest.$ac_objext \
-    conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-{ $as_echo "$as_me:${as_lineno-$LINENO}: result: $ac_cv_lib_m_log2" >&5
-$as_echo "$ac_cv_lib_m_log2" >&6; }
-if test "x$ac_cv_lib_m_log2" = xyes; then :
-  cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBM 1
-_ACEOF
-
-  LIBS="-lm $LIBS"
-
-fi
-;;
-  esac
-fi
-
-
-
-cgen_breaks=""
-if grep CGEN_MAINT $srcdir/Makefile.in >/dev/null; then
-cgen_breaks="break cgen_rtx_error";
-fi
-
-ac_config_files="$ac_config_files Makefile.sim:Makefile.in"
-
-ac_config_files="$ac_config_files Make-common.sim:../common/Make-common.in"
-
-ac_config_files="$ac_config_files .gdbinit:../common/gdbinit.in"
-
-ac_config_commands="$ac_config_commands Makefile"
-
-ac_config_commands="$ac_config_commands stamp-h"
-
-cat >confcache <<\_ACEOF
-# This file is a shell script that caches the results of configure
-# tests run on this system so they can be shared between configure
-# scripts and configure runs, see configure's option --config-cache.
-# It is not useful on other systems.  If it contains results you don't
-# want to keep, you may remove or edit it.
-#
-# config.status only pays attention to the cache file if you give it
-# the --recheck option to rerun configure.
-#
-# `ac_cv_env_foo' variables (set or unset) will be overridden when
-# loading this file, other *unset* `ac_cv_foo' will be assigned the
-# following values.
-
-_ACEOF
-
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, we kill variables containing newlines.
-# Ultrix sh set writes to stderr and can't be redirected directly,
-# and sets the high bit in the cache file unless we assign to the vars.
-(
-  for ac_var in `(set) 2>&1 | sed -n 's/^\([a-zA-Z_][a-zA-Z0-9_]*\)=.*/\1/p'`; do
-    eval ac_val=\$$ac_var
-    case $ac_val in #(
-    *${as_nl}*)
-      case $ac_var in #(
-      *_cv_*) { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: cache variable $ac_var contains a newline" >&5
-$as_echo "$as_me: WARNING: cache variable $ac_var contains a newline" >&2;} ;;
-      esac
-      case $ac_var in #(
-      _ | IFS | as_nl) ;; #(
-      BASH_ARGV | BASH_SOURCE) eval $ac_var= ;; #(
-      *) { eval $ac_var=; unset $ac_var;} ;;
-      esac ;;
-    esac
-  done
-
-  (set) 2>&1 |
-    case $as_nl`(ac_space=' '; set) 2>&1` in #(
-    *${as_nl}ac_space=\ *)
-      # `set' does not quote correctly, so add quotes: double-quote
-      # substitution turns \\\\ into \\, and sed turns \\ into \.
-      sed -n \
-       "s/'/'\\\\''/g;
-         s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='\\2'/p"
-      ;; #(
-    *)
-      # `set' quotes correctly as required by POSIX, so do not add quotes.
-      sed -n "/^[_$as_cr_alnum]*_cv_[_$as_cr_alnum]*=/p"
-      ;;
-    esac |
-    sort
-) |
-  sed '
-     /^ac_cv_env_/b end
-     t clear
-     :clear
-     s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
-     t end
-     s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
-     :end' >>confcache
-if diff "$cache_file" confcache >/dev/null 2>&1; then :; else
-  if test -w "$cache_file"; then
-    if test "x$cache_file" != "x/dev/null"; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: updating cache $cache_file" >&5
-$as_echo "$as_me: updating cache $cache_file" >&6;}
-      if test ! -f "$cache_file" || test -h "$cache_file"; then
-       cat confcache >"$cache_file"
-      else
-        case $cache_file in #(
-        */* | ?:*)
-         mv -f confcache "$cache_file"$$ &&
-         mv -f "$cache_file"$$ "$cache_file" ;; #(
-        *)
-         mv -f confcache "$cache_file" ;;
-       esac
-      fi
-    fi
-  else
-    { $as_echo "$as_me:${as_lineno-$LINENO}: not updating unwritable cache $cache_file" >&5
-$as_echo "$as_me: not updating unwritable cache $cache_file" >&6;}
-  fi
-fi
-rm -f confcache
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-U=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
-  # 1. Remove the extension, and $U if already installed.
-  ac_script='s/\$U\././;s/\.o$//;s/\.obj$//'
-  ac_i=`$as_echo "$ac_i" | sed "$ac_script"`
-  # 2. Prepend LIBOBJDIR.  When used with automake>=1.10 LIBOBJDIR
-  #    will be set to the directory where LIBOBJS objects are built.
-  as_fn_append ac_libobjs " \${LIBOBJDIR}$ac_i\$U.$ac_objext"
-  as_fn_append ac_ltlibobjs " \${LIBOBJDIR}$ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-
-if test -z "${GMAKE_TRUE}" && test -z "${GMAKE_FALSE}"; then
-  as_fn_error $? "conditional \"GMAKE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${PLUGINS_TRUE}" && test -z "${PLUGINS_FALSE}"; then
-  as_fn_error $? "conditional \"PLUGINS\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-if test -z "${MAINTAINER_MODE_TRUE}" && test -z "${MAINTAINER_MODE_FALSE}"; then
-  as_fn_error $? "conditional \"MAINTAINER_MODE\" was never defined.
-Usually this means the macro was only invoked conditionally." "$LINENO" 5
-fi
-
-: "${CONFIG_STATUS=./config.status}"
-ac_write_fail=0
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ $as_echo "$as_me:${as_lineno-$LINENO}: creating $CONFIG_STATUS" >&5
-$as_echo "$as_me: creating $CONFIG_STATUS" >&6;}
-as_write_fail=0
-cat >$CONFIG_STATUS <<_ASEOF || as_write_fail=1
-#! $SHELL
-# Generated by $as_me.
-# Run this file to recreate the current configuration.
-# Compiler output produced by configure, useful for debugging
-# configure, is in config.log if it exists.
-
-debug=false
-ac_cs_recheck=false
-ac_cs_silent=false
-
-SHELL=\${CONFIG_SHELL-$SHELL}
-export SHELL
-_ASEOF
-cat >>$CONFIG_STATUS <<\_ASEOF || as_write_fail=1
-## -------------------- ##
-## M4sh Initialization. ##
-## -------------------- ##
-
-# Be more Bourne compatible
-DUALCASE=1; export DUALCASE # for MKS sh
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then :
-  emulate sh
-  NULLCMD=:
-  # Pre-4.2 versions of Zsh do word splitting on ${1+"$@"}, which
-  # is contrary to our usage.  Disable this feature.
-  alias -g '${1+"$@"}'='"$@"'
-  setopt NO_GLOB_SUBST
-else
-  case `(set -o) 2>/dev/null` in #(
-  *posix*) :
-    set -o posix ;; #(
-  *) :
-     ;;
-esac
-fi
-
-
-as_nl='
-'
-export as_nl
-# Printing a long string crashes Solaris 7 /usr/bin/printf.
-as_echo='\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\\'
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo
-as_echo=$as_echo$as_echo$as_echo$as_echo$as_echo$as_echo
-# Prefer a ksh shell builtin over an external printf program on Solaris,
-# but without wasting forks for bash or zsh.
-if test -z "$BASH_VERSION$ZSH_VERSION" \
-    && (test "X`print -r -- $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='print -r --'
-  as_echo_n='print -rn --'
-elif (test "X`printf %s $as_echo`" = "X$as_echo") 2>/dev/null; then
-  as_echo='printf %s\n'
-  as_echo_n='printf %s'
-else
-  if test "X`(/usr/ucb/echo -n -n $as_echo) 2>/dev/null`" = "X-n $as_echo"; then
-    as_echo_body='eval /usr/ucb/echo -n "$1$as_nl"'
-    as_echo_n='/usr/ucb/echo -n'
-  else
-    as_echo_body='eval expr "X$1" : "X\\(.*\\)"'
-    as_echo_n_body='eval
-      arg=$1;
-      case $arg in #(
-      *"$as_nl"*)
-       expr "X$arg" : "X\\(.*\\)$as_nl";
-       arg=`expr "X$arg" : ".*$as_nl\\(.*\\)"`;;
-      esac;
-      expr "X$arg" : "X\\(.*\\)" | tr -d "$as_nl"
-    '
-    export as_echo_n_body
-    as_echo_n='sh -c $as_echo_n_body as_echo'
-  fi
-  export as_echo_body
-  as_echo='sh -c $as_echo_body as_echo'
-fi
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
-  PATH_SEPARATOR=:
-  (PATH='/bin;/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 && {
-    (PATH='/bin:/bin'; FPATH=$PATH; sh -c :) >/dev/null 2>&1 ||
-      PATH_SEPARATOR=';'
-  }
-fi
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.  Quoting is
-# there to prevent editors from complaining about space-tab.
-# (If _AS_PATH_WALK were called with IFS unset, it would disable word
-# splitting by setting IFS to empty value.)
-IFS=" ""       $as_nl"
-
-# Find who we are.  Look in the path if we contain no directory separator.
-as_myself=
-case $0 in #((
-  *[\\/]* ) as_myself=$0 ;;
-  *) as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in $PATH
-do
-  IFS=$as_save_IFS
-  test -z "$as_dir" && as_dir=.
-    test -r "$as_dir/$0" && as_myself=$as_dir/$0 && break
-  done
-IFS=$as_save_IFS
-
-     ;;
-esac
-# We did not find ourselves, most probably we were run as `sh COMMAND'
-# in which case we are not to be found in the path.
-if test "x$as_myself" = x; then
-  as_myself=$0
-fi
-if test ! -f "$as_myself"; then
-  $as_echo "$as_myself: error: cannot find myself; rerun with an absolute file name" >&2
-  exit 1
-fi
-
-# Unset variables that we do not need and which cause bugs (e.g. in
-# pre-3.0 UWIN ksh).  But do not cause bugs in bash 2.01; the "|| exit 1"
-# suppresses any "Segmentation fault" message there.  '((' could
-# trigger a bug in pdksh 5.2.14.
-for as_var in BASH_ENV ENV MAIL MAILPATH
-do eval test x\${$as_var+set} = xset \
-  && ( (unset $as_var) || exit 1) >/dev/null 2>&1 && unset $as_var || :
-done
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-LC_ALL=C
-export LC_ALL
-LANGUAGE=C
-export LANGUAGE
-
-# CDPATH.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-
-# as_fn_error STATUS ERROR [LINENO LOG_FD]
-# ----------------------------------------
-# Output "`basename $0`: error: ERROR" to stderr. If LINENO and LOG_FD are
-# provided, also output the error to LOG_FD, referencing LINENO. Then exit the
-# script with STATUS, using 1 if that was 0.
-as_fn_error ()
-{
-  as_status=$1; test $as_status -eq 0 && as_status=1
-  if test "$4"; then
-    as_lineno=${as_lineno-"$3"} as_lineno_stack=as_lineno_stack=$as_lineno_stack
-    $as_echo "$as_me:${as_lineno-$LINENO}: error: $2" >&$4
-  fi
-  $as_echo "$as_me: error: $2" >&2
-  as_fn_exit $as_status
-} # as_fn_error
-
-
-# as_fn_set_status STATUS
-# -----------------------
-# Set $? to STATUS, without forking.
-as_fn_set_status ()
-{
-  return $1
-} # as_fn_set_status
-
-# as_fn_exit STATUS
-# -----------------
-# Exit the shell with STATUS, even in a "trap 0" or "set -e" context.
-as_fn_exit ()
-{
-  set +e
-  as_fn_set_status $1
-  exit $1
-} # as_fn_exit
-
-# as_fn_unset VAR
-# ---------------
-# Portably unset VAR.
-as_fn_unset ()
-{
-  { eval $1=; unset $1;}
-}
-as_unset=as_fn_unset
-# as_fn_append VAR VALUE
-# ----------------------
-# Append the text in VALUE to the end of the definition contained in VAR. Take
-# advantage of any shell optimizations that allow amortized linear growth over
-# repeated appends, instead of the typical quadratic growth present in naive
-# implementations.
-if (eval "as_var=1; as_var+=2; test x\$as_var = x12") 2>/dev/null; then :
-  eval 'as_fn_append ()
-  {
-    eval $1+=\$2
-  }'
-else
-  as_fn_append ()
-  {
-    eval $1=\$$1\$2
-  }
-fi # as_fn_append
-
-# as_fn_arith ARG...
-# ------------------
-# Perform arithmetic evaluation on the ARGs, and store the result in the
-# global $as_val. Take advantage of shells that can avoid forks. The arguments
-# must be portable across $(()) and expr.
-if (eval "test \$(( 1 + 1 )) = 2") 2>/dev/null; then :
-  eval 'as_fn_arith ()
-  {
-    as_val=$(( $* ))
-  }'
-else
-  as_fn_arith ()
-  {
-    as_val=`expr "$@" || test $? -eq 1`
-  }
-fi # as_fn_arith
-
-
-if expr a : '\(a\)' >/dev/null 2>&1 &&
-   test "X`expr 00001 : '.*\(...\)'`" = X001; then
-  as_expr=expr
-else
-  as_expr=false
-fi
-
-if (basename -- /) >/dev/null 2>&1 && test "X`basename -- / 2>&1`" = "X/"; then
-  as_basename=basename
-else
-  as_basename=false
-fi
-
-if (as_dir=`dirname -- /` && test "X$as_dir" = X/) >/dev/null 2>&1; then
-  as_dirname=dirname
-else
-  as_dirname=false
-fi
-
-as_me=`$as_basename -- "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
-        X"$0" : 'X\(//\)$' \| \
-        X"$0" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X/"$0" |
-    sed '/^.*\/\([^/][^/]*\)\/*$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\/\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-
-# Avoid depending upon Character Ranges.
-as_cr_letters='abcdefghijklmnopqrstuvwxyz'
-as_cr_LETTERS='ABCDEFGHIJKLMNOPQRSTUVWXYZ'
-as_cr_Letters=$as_cr_letters$as_cr_LETTERS
-as_cr_digits='0123456789'
-as_cr_alnum=$as_cr_Letters$as_cr_digits
-
-ECHO_C= ECHO_N= ECHO_T=
-case `echo -n x` in #(((((
--n*)
-  case `echo 'xy\c'` in
-  *c*) ECHO_T='        ';;     # ECHO_T is single tab character.
-  xy)  ECHO_C='\c';;
-  *)   echo `echo ksh88 bug on AIX 6.1` > /dev/null
-       ECHO_T='        ';;
-  esac;;
-*)
-  ECHO_N='-n';;
-esac
-
-rm -f conf$$ conf$$.exe conf$$.file
-if test -d conf$$.dir; then
-  rm -f conf$$.dir/conf$$.file
-else
-  rm -f conf$$.dir
-  mkdir conf$$.dir 2>/dev/null
-fi
-if (echo >conf$$.file) 2>/dev/null; then
-  if ln -s conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s='ln -s'
-    # ... but there are two gotchas:
-    # 1) On MSYS, both `ln -s file dir' and `ln file dir' fail.
-    # 2) DJGPP < 2.04 has no symlinks; `ln -s' creates a wrapper executable.
-    # In both cases, we have to default to `cp -pR'.
-    ln -s conf$$.file conf$$.dir 2>/dev/null && test ! -f conf$$.exe ||
-      as_ln_s='cp -pR'
-  elif ln conf$$.file conf$$ 2>/dev/null; then
-    as_ln_s=ln
-  else
-    as_ln_s='cp -pR'
-  fi
-else
-  as_ln_s='cp -pR'
-fi
-rm -f conf$$ conf$$.exe conf$$.dir/conf$$.file conf$$.file
-rmdir conf$$.dir 2>/dev/null
-
-
-# as_fn_mkdir_p
-# -------------
-# Create "$as_dir" as a directory, including parents if necessary.
-as_fn_mkdir_p ()
-{
-
-  case $as_dir in #(
-  -*) as_dir=./$as_dir;;
-  esac
-  test -d "$as_dir" || eval $as_mkdir_p || {
-    as_dirs=
-    while :; do
-      case $as_dir in #(
-      *\'*) as_qdir=`$as_echo "$as_dir" | sed "s/'/'\\\\\\\\''/g"`;; #'(
-      *) as_qdir=$as_dir;;
-      esac
-      as_dirs="'$as_qdir' $as_dirs"
-      as_dir=`$as_dirname -- "$as_dir" ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$as_dir" : 'X\(//\)[^/]' \| \
-        X"$as_dir" : 'X\(//\)$' \| \
-        X"$as_dir" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$as_dir" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-      test -d "$as_dir" && break
-    done
-    test -z "$as_dirs" || eval "mkdir $as_dirs"
-  } || test -d "$as_dir" || as_fn_error $? "cannot create directory $as_dir"
-
-
-} # as_fn_mkdir_p
-if mkdir -p . 2>/dev/null; then
-  as_mkdir_p='mkdir -p "$as_dir"'
-else
-  test -d ./-p && rmdir ./-p
-  as_mkdir_p=false
-fi
-
-
-# as_fn_executable_p FILE
-# -----------------------
-# Test if FILE is an executable regular file.
-as_fn_executable_p ()
-{
-  test -f "$1" && test -x "$1"
-} # as_fn_executable_p
-as_test_x='test -x'
-as_executable_p=as_fn_executable_p
-
-# Sed expression to map a string onto a valid CPP name.
-as_tr_cpp="eval sed 'y%*$as_cr_letters%P$as_cr_LETTERS%;s%[^_$as_cr_alnum]%_%g'"
-
-# Sed expression to map a string onto a valid variable name.
-as_tr_sh="eval sed 'y%*+%pp%;s%[^_$as_cr_alnum]%_%g'"
-
-
-exec 6>&1
-## ----------------------------------- ##
-## Main body of $CONFIG_STATUS script. ##
-## ----------------------------------- ##
-_ASEOF
-test $as_write_fail = 0 && chmod +x $CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# Save the log message, to keep $0 and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling.
-ac_log="
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.69.  Invocation command line was
-
-  CONFIG_FILES    = $CONFIG_FILES
-  CONFIG_HEADERS  = $CONFIG_HEADERS
-  CONFIG_LINKS    = $CONFIG_LINKS
-  CONFIG_COMMANDS = $CONFIG_COMMANDS
-  $ $0 $@
-
-on `(hostname || uname -n) 2>/dev/null | sed 1q`
-"
-
-_ACEOF
-
-case $ac_config_files in *"
-"*) set x $ac_config_files; shift; ac_config_files=$*;;
-esac
-
-case $ac_config_headers in *"
-"*) set x $ac_config_headers; shift; ac_config_headers=$*;;
-esac
-
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-# Files that config.status was made for.
-config_files="$ac_config_files"
-config_headers="$ac_config_headers"
-config_commands="$ac_config_commands"
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-ac_cs_usage="\
-\`$as_me' instantiates files and other configuration actions
-from templates according to the current configuration.  Unless the files
-and actions are specified as TAGs, all are instantiated by default.
-
-Usage: $0 [OPTION]... [TAG]...
-
-  -h, --help       print this help, then exit
-  -V, --version    print version number and configuration settings, then exit
-      --config     print configuration, then exit
-  -q, --quiet, --silent
-                   do not print progress messages
-  -d, --debug      don't remove temporary files
-      --recheck    update $as_me by reconfiguring in the same conditions
-      --file=FILE[:TEMPLATE]
-                   instantiate the configuration file FILE
-      --header=FILE[:TEMPLATE]
-                   instantiate the configuration header FILE
-
-Configuration files:
-$config_files
-
-Configuration headers:
-$config_headers
-
-Configuration commands:
-$config_commands
-
-Report bugs to the package provider."
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_cs_config="`$as_echo "$ac_configure_args" | sed 's/^ //; s/[\\""\`\$]/\\\\&/g'`"
-ac_cs_version="\\
-config.status
-configured by $0, generated by GNU Autoconf 2.69,
-  with options \\"\$ac_cs_config\\"
-
-Copyright (C) 2012 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-
-ac_pwd='$ac_pwd'
-srcdir='$srcdir'
-INSTALL='$INSTALL'
-AWK='$AWK'
-test -n "\$AWK" || AWK=awk
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# The default lists apply if the user does not specify any file.
-ac_need_defaults=:
-while test $# != 0
-do
-  case $1 in
-  --*=?*)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=`expr "X$1" : 'X[^=]*=\(.*\)'`
-    ac_shift=:
-    ;;
-  --*=)
-    ac_option=`expr "X$1" : 'X\([^=]*\)='`
-    ac_optarg=
-    ac_shift=:
-    ;;
-  *)
-    ac_option=$1
-    ac_optarg=$2
-    ac_shift=shift
-    ;;
-  esac
-
-  case $ac_option in
-  # Handling of the options.
-  -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
-    ac_cs_recheck=: ;;
-  --version | --versio | --versi | --vers | --ver | --ve | --v | -V )
-    $as_echo "$ac_cs_version"; exit ;;
-  --config | --confi | --conf | --con | --co | --c )
-    $as_echo "$ac_cs_config"; exit ;;
-  --debug | --debu | --deb | --de | --d | -d )
-    debug=: ;;
-  --file | --fil | --fi | --f )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    '') as_fn_error $? "missing file argument" ;;
-    esac
-    as_fn_append CONFIG_FILES " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --header | --heade | --head | --hea )
-    $ac_shift
-    case $ac_optarg in
-    *\'*) ac_optarg=`$as_echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"` ;;
-    esac
-    as_fn_append CONFIG_HEADERS " '$ac_optarg'"
-    ac_need_defaults=false;;
-  --he | --h)
-    # Conflict between --help and --header
-    as_fn_error $? "ambiguous option: \`$1'
-Try \`$0 --help' for more information.";;
-  --help | --hel | -h )
-    $as_echo "$ac_cs_usage"; exit ;;
-  -q | -quiet | --quiet | --quie | --qui | --qu | --q \
-  | -silent | --silent | --silen | --sile | --sil | --si | --s)
-    ac_cs_silent=: ;;
-
-  # This is an error.
-  -*) as_fn_error $? "unrecognized option: \`$1'
-Try \`$0 --help' for more information." ;;
-
-  *) as_fn_append ac_config_targets " $1"
-     ac_need_defaults=false ;;
-
-  esac
-  shift
-done
-
-ac_configure_extra_args=
-
-if $ac_cs_silent; then
-  exec 6>/dev/null
-  ac_configure_extra_args="$ac_configure_extra_args --silent"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-if \$ac_cs_recheck; then
-  set X $SHELL '$0' $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-  shift
-  \$as_echo "running CONFIG_SHELL=$SHELL \$*" >&6
-  CONFIG_SHELL='$SHELL'
-  export CONFIG_SHELL
-  exec "\$@"
-fi
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-exec 5>>config.log
-{
-  echo
-  sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-  $as_echo "$ac_log"
-} >&5
-
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-#
-# INIT-COMMANDS
-#
-ac_aux_dir=$ac_aux_dir DEPDIR=$DEPDIR
-
-
-# The HP-UX ksh and POSIX shell print the target directory to stdout
-# if CDPATH is set.
-(unset CDPATH) >/dev/null 2>&1 && unset CDPATH
-
-sed_quote_subst='$sed_quote_subst'
-double_quote_subst='$double_quote_subst'
-delay_variable_subst='$delay_variable_subst'
-macro_version='`$ECHO "$macro_version" | $SED "$delay_single_quote_subst"`'
-macro_revision='`$ECHO "$macro_revision" | $SED "$delay_single_quote_subst"`'
-enable_shared='`$ECHO "$enable_shared" | $SED "$delay_single_quote_subst"`'
-enable_static='`$ECHO "$enable_static" | $SED "$delay_single_quote_subst"`'
-pic_mode='`$ECHO "$pic_mode" | $SED "$delay_single_quote_subst"`'
-enable_fast_install='`$ECHO "$enable_fast_install" | $SED "$delay_single_quote_subst"`'
-SHELL='`$ECHO "$SHELL" | $SED "$delay_single_quote_subst"`'
-ECHO='`$ECHO "$ECHO" | $SED "$delay_single_quote_subst"`'
-host_alias='`$ECHO "$host_alias" | $SED "$delay_single_quote_subst"`'
-host='`$ECHO "$host" | $SED "$delay_single_quote_subst"`'
-host_os='`$ECHO "$host_os" | $SED "$delay_single_quote_subst"`'
-build_alias='`$ECHO "$build_alias" | $SED "$delay_single_quote_subst"`'
-build='`$ECHO "$build" | $SED "$delay_single_quote_subst"`'
-build_os='`$ECHO "$build_os" | $SED "$delay_single_quote_subst"`'
-SED='`$ECHO "$SED" | $SED "$delay_single_quote_subst"`'
-Xsed='`$ECHO "$Xsed" | $SED "$delay_single_quote_subst"`'
-GREP='`$ECHO "$GREP" | $SED "$delay_single_quote_subst"`'
-EGREP='`$ECHO "$EGREP" | $SED "$delay_single_quote_subst"`'
-FGREP='`$ECHO "$FGREP" | $SED "$delay_single_quote_subst"`'
-LD='`$ECHO "$LD" | $SED "$delay_single_quote_subst"`'
-NM='`$ECHO "$NM" | $SED "$delay_single_quote_subst"`'
-LN_S='`$ECHO "$LN_S" | $SED "$delay_single_quote_subst"`'
-max_cmd_len='`$ECHO "$max_cmd_len" | $SED "$delay_single_quote_subst"`'
-ac_objext='`$ECHO "$ac_objext" | $SED "$delay_single_quote_subst"`'
-exeext='`$ECHO "$exeext" | $SED "$delay_single_quote_subst"`'
-lt_unset='`$ECHO "$lt_unset" | $SED "$delay_single_quote_subst"`'
-lt_SP2NL='`$ECHO "$lt_SP2NL" | $SED "$delay_single_quote_subst"`'
-lt_NL2SP='`$ECHO "$lt_NL2SP" | $SED "$delay_single_quote_subst"`'
-reload_flag='`$ECHO "$reload_flag" | $SED "$delay_single_quote_subst"`'
-reload_cmds='`$ECHO "$reload_cmds" | $SED "$delay_single_quote_subst"`'
-OBJDUMP='`$ECHO "$OBJDUMP" | $SED "$delay_single_quote_subst"`'
-deplibs_check_method='`$ECHO "$deplibs_check_method" | $SED "$delay_single_quote_subst"`'
-file_magic_cmd='`$ECHO "$file_magic_cmd" | $SED "$delay_single_quote_subst"`'
-AR='`$ECHO "$AR" | $SED "$delay_single_quote_subst"`'
-AR_FLAGS='`$ECHO "$AR_FLAGS" | $SED "$delay_single_quote_subst"`'
-STRIP='`$ECHO "$STRIP" | $SED "$delay_single_quote_subst"`'
-RANLIB='`$ECHO "$RANLIB" | $SED "$delay_single_quote_subst"`'
-old_postinstall_cmds='`$ECHO "$old_postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_postuninstall_cmds='`$ECHO "$old_postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_cmds='`$ECHO "$old_archive_cmds" | $SED "$delay_single_quote_subst"`'
-lock_old_archive_extraction='`$ECHO "$lock_old_archive_extraction" | $SED "$delay_single_quote_subst"`'
-CC='`$ECHO "$CC" | $SED "$delay_single_quote_subst"`'
-CFLAGS='`$ECHO "$CFLAGS" | $SED "$delay_single_quote_subst"`'
-compiler='`$ECHO "$compiler" | $SED "$delay_single_quote_subst"`'
-GCC='`$ECHO "$GCC" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_pipe='`$ECHO "$lt_cv_sys_global_symbol_pipe" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_cdecl='`$ECHO "$lt_cv_sys_global_symbol_to_cdecl" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address" | $SED "$delay_single_quote_subst"`'
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix='`$ECHO "$lt_cv_sys_global_symbol_to_c_name_address_lib_prefix" | $SED "$delay_single_quote_subst"`'
-objdir='`$ECHO "$objdir" | $SED "$delay_single_quote_subst"`'
-MAGIC_CMD='`$ECHO "$MAGIC_CMD" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_no_builtin_flag='`$ECHO "$lt_prog_compiler_no_builtin_flag" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_wl='`$ECHO "$lt_prog_compiler_wl" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_pic='`$ECHO "$lt_prog_compiler_pic" | $SED "$delay_single_quote_subst"`'
-lt_prog_compiler_static='`$ECHO "$lt_prog_compiler_static" | $SED "$delay_single_quote_subst"`'
-lt_cv_prog_compiler_c_o='`$ECHO "$lt_cv_prog_compiler_c_o" | $SED "$delay_single_quote_subst"`'
-need_locks='`$ECHO "$need_locks" | $SED "$delay_single_quote_subst"`'
-DSYMUTIL='`$ECHO "$DSYMUTIL" | $SED "$delay_single_quote_subst"`'
-NMEDIT='`$ECHO "$NMEDIT" | $SED "$delay_single_quote_subst"`'
-LIPO='`$ECHO "$LIPO" | $SED "$delay_single_quote_subst"`'
-OTOOL='`$ECHO "$OTOOL" | $SED "$delay_single_quote_subst"`'
-OTOOL64='`$ECHO "$OTOOL64" | $SED "$delay_single_quote_subst"`'
-libext='`$ECHO "$libext" | $SED "$delay_single_quote_subst"`'
-shrext_cmds='`$ECHO "$shrext_cmds" | $SED "$delay_single_quote_subst"`'
-extract_expsyms_cmds='`$ECHO "$extract_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds_need_lc='`$ECHO "$archive_cmds_need_lc" | $SED "$delay_single_quote_subst"`'
-enable_shared_with_static_runtimes='`$ECHO "$enable_shared_with_static_runtimes" | $SED "$delay_single_quote_subst"`'
-export_dynamic_flag_spec='`$ECHO "$export_dynamic_flag_spec" | $SED "$delay_single_quote_subst"`'
-whole_archive_flag_spec='`$ECHO "$whole_archive_flag_spec" | $SED "$delay_single_quote_subst"`'
-compiler_needs_object='`$ECHO "$compiler_needs_object" | $SED "$delay_single_quote_subst"`'
-old_archive_from_new_cmds='`$ECHO "$old_archive_from_new_cmds" | $SED "$delay_single_quote_subst"`'
-old_archive_from_expsyms_cmds='`$ECHO "$old_archive_from_expsyms_cmds" | $SED "$delay_single_quote_subst"`'
-archive_cmds='`$ECHO "$archive_cmds" | $SED "$delay_single_quote_subst"`'
-archive_expsym_cmds='`$ECHO "$archive_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-module_cmds='`$ECHO "$module_cmds" | $SED "$delay_single_quote_subst"`'
-module_expsym_cmds='`$ECHO "$module_expsym_cmds" | $SED "$delay_single_quote_subst"`'
-with_gnu_ld='`$ECHO "$with_gnu_ld" | $SED "$delay_single_quote_subst"`'
-allow_undefined_flag='`$ECHO "$allow_undefined_flag" | $SED "$delay_single_quote_subst"`'
-no_undefined_flag='`$ECHO "$no_undefined_flag" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec='`$ECHO "$hardcode_libdir_flag_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_flag_spec_ld='`$ECHO "$hardcode_libdir_flag_spec_ld" | $SED "$delay_single_quote_subst"`'
-hardcode_libdir_separator='`$ECHO "$hardcode_libdir_separator" | $SED "$delay_single_quote_subst"`'
-hardcode_direct='`$ECHO "$hardcode_direct" | $SED "$delay_single_quote_subst"`'
-hardcode_direct_absolute='`$ECHO "$hardcode_direct_absolute" | $SED "$delay_single_quote_subst"`'
-hardcode_minus_L='`$ECHO "$hardcode_minus_L" | $SED "$delay_single_quote_subst"`'
-hardcode_shlibpath_var='`$ECHO "$hardcode_shlibpath_var" | $SED "$delay_single_quote_subst"`'
-hardcode_automatic='`$ECHO "$hardcode_automatic" | $SED "$delay_single_quote_subst"`'
-inherit_rpath='`$ECHO "$inherit_rpath" | $SED "$delay_single_quote_subst"`'
-link_all_deplibs='`$ECHO "$link_all_deplibs" | $SED "$delay_single_quote_subst"`'
-fix_srcfile_path='`$ECHO "$fix_srcfile_path" | $SED "$delay_single_quote_subst"`'
-always_export_symbols='`$ECHO "$always_export_symbols" | $SED "$delay_single_quote_subst"`'
-export_symbols_cmds='`$ECHO "$export_symbols_cmds" | $SED "$delay_single_quote_subst"`'
-exclude_expsyms='`$ECHO "$exclude_expsyms" | $SED "$delay_single_quote_subst"`'
-include_expsyms='`$ECHO "$include_expsyms" | $SED "$delay_single_quote_subst"`'
-prelink_cmds='`$ECHO "$prelink_cmds" | $SED "$delay_single_quote_subst"`'
-file_list_spec='`$ECHO "$file_list_spec" | $SED "$delay_single_quote_subst"`'
-variables_saved_for_relink='`$ECHO "$variables_saved_for_relink" | $SED "$delay_single_quote_subst"`'
-need_lib_prefix='`$ECHO "$need_lib_prefix" | $SED "$delay_single_quote_subst"`'
-need_version='`$ECHO "$need_version" | $SED "$delay_single_quote_subst"`'
-version_type='`$ECHO "$version_type" | $SED "$delay_single_quote_subst"`'
-runpath_var='`$ECHO "$runpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_var='`$ECHO "$shlibpath_var" | $SED "$delay_single_quote_subst"`'
-shlibpath_overrides_runpath='`$ECHO "$shlibpath_overrides_runpath" | $SED "$delay_single_quote_subst"`'
-libname_spec='`$ECHO "$libname_spec" | $SED "$delay_single_quote_subst"`'
-library_names_spec='`$ECHO "$library_names_spec" | $SED "$delay_single_quote_subst"`'
-soname_spec='`$ECHO "$soname_spec" | $SED "$delay_single_quote_subst"`'
-install_override_mode='`$ECHO "$install_override_mode" | $SED "$delay_single_quote_subst"`'
-postinstall_cmds='`$ECHO "$postinstall_cmds" | $SED "$delay_single_quote_subst"`'
-postuninstall_cmds='`$ECHO "$postuninstall_cmds" | $SED "$delay_single_quote_subst"`'
-finish_cmds='`$ECHO "$finish_cmds" | $SED "$delay_single_quote_subst"`'
-finish_eval='`$ECHO "$finish_eval" | $SED "$delay_single_quote_subst"`'
-hardcode_into_libs='`$ECHO "$hardcode_into_libs" | $SED "$delay_single_quote_subst"`'
-sys_lib_search_path_spec='`$ECHO "$sys_lib_search_path_spec" | $SED "$delay_single_quote_subst"`'
-sys_lib_dlsearch_path_spec='`$ECHO "$sys_lib_dlsearch_path_spec" | $SED "$delay_single_quote_subst"`'
-hardcode_action='`$ECHO "$hardcode_action" | $SED "$delay_single_quote_subst"`'
-enable_dlopen='`$ECHO "$enable_dlopen" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self='`$ECHO "$enable_dlopen_self" | $SED "$delay_single_quote_subst"`'
-enable_dlopen_self_static='`$ECHO "$enable_dlopen_self_static" | $SED "$delay_single_quote_subst"`'
-old_striplib='`$ECHO "$old_striplib" | $SED "$delay_single_quote_subst"`'
-striplib='`$ECHO "$striplib" | $SED "$delay_single_quote_subst"`'
-
-LTCC='$LTCC'
-LTCFLAGS='$LTCFLAGS'
-compiler='$compiler_DEFAULT'
-
-# A function that is used when there is no print builtin or printf.
-func_fallback_echo ()
-{
-  eval 'cat <<_LTECHO_EOF
-\$1
-_LTECHO_EOF'
-}
-
-# Quote evaled strings.
-for var in SHELL \
-ECHO \
-SED \
-GREP \
-EGREP \
-FGREP \
-LD \
-NM \
-LN_S \
-lt_SP2NL \
-lt_NL2SP \
-reload_flag \
-OBJDUMP \
-deplibs_check_method \
-file_magic_cmd \
-AR \
-AR_FLAGS \
-STRIP \
-RANLIB \
-CC \
-CFLAGS \
-compiler \
-lt_cv_sys_global_symbol_pipe \
-lt_cv_sys_global_symbol_to_cdecl \
-lt_cv_sys_global_symbol_to_c_name_address \
-lt_cv_sys_global_symbol_to_c_name_address_lib_prefix \
-lt_prog_compiler_no_builtin_flag \
-lt_prog_compiler_wl \
-lt_prog_compiler_pic \
-lt_prog_compiler_static \
-lt_cv_prog_compiler_c_o \
-need_locks \
-DSYMUTIL \
-NMEDIT \
-LIPO \
-OTOOL \
-OTOOL64 \
-shrext_cmds \
-export_dynamic_flag_spec \
-whole_archive_flag_spec \
-compiler_needs_object \
-with_gnu_ld \
-allow_undefined_flag \
-no_undefined_flag \
-hardcode_libdir_flag_spec \
-hardcode_libdir_flag_spec_ld \
-hardcode_libdir_separator \
-fix_srcfile_path \
-exclude_expsyms \
-include_expsyms \
-file_list_spec \
-variables_saved_for_relink \
-libname_spec \
-library_names_spec \
-soname_spec \
-install_override_mode \
-finish_eval \
-old_striplib \
-striplib; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED \\"\\\$sed_quote_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-# Double-quote double-evaled strings.
-for var in reload_cmds \
-old_postinstall_cmds \
-old_postuninstall_cmds \
-old_archive_cmds \
-extract_expsyms_cmds \
-old_archive_from_new_cmds \
-old_archive_from_expsyms_cmds \
-archive_cmds \
-archive_expsym_cmds \
-module_cmds \
-module_expsym_cmds \
-export_symbols_cmds \
-prelink_cmds \
-postinstall_cmds \
-postuninstall_cmds \
-finish_cmds \
-sys_lib_search_path_spec \
-sys_lib_dlsearch_path_spec; do
-    case \`eval \\\\\$ECHO \\\\""\\\\\$\$var"\\\\"\` in
-    *[\\\\\\\`\\"\\\$]*)
-      eval "lt_\$var=\\\\\\"\\\`\\\$ECHO \\"\\\$\$var\\" | \\\$SED -e \\"\\\$double_quote_subst\\" -e \\"\\\$sed_quote_subst\\" -e \\"\\\$delay_variable_subst\\"\\\`\\\\\\""
-      ;;
-    *)
-      eval "lt_\$var=\\\\\\"\\\$\$var\\\\\\""
-      ;;
-    esac
-done
-
-ac_aux_dir='$ac_aux_dir'
-xsi_shell='$xsi_shell'
-lt_shell_append='$lt_shell_append'
-
-# See if we are running on zsh, and set the options which allow our
-# commands through without removal of \ escapes INIT.
-if test -n "\${ZSH_VERSION+set}" ; then
-   setopt NO_GLOB_SUBST
-fi
-
-
-    PACKAGE='$PACKAGE'
-    VERSION='$VERSION'
-    TIMESTAMP='$TIMESTAMP'
-    RM='$RM'
-    ofile='$ofile'
-
-
-
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-
-# Handling of arguments.
-for ac_config_target in $ac_config_targets
-do
-  case $ac_config_target in
-    "config.h") CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;;
-    "depdir") CONFIG_COMMANDS="$CONFIG_COMMANDS depdir" ;;
-    "libtool") CONFIG_COMMANDS="$CONFIG_COMMANDS libtool" ;;
-    "Makefile.sim") CONFIG_FILES="$CONFIG_FILES Makefile.sim:Makefile.in" ;;
-    "Make-common.sim") CONFIG_FILES="$CONFIG_FILES Make-common.sim:../common/Make-common.in" ;;
-    ".gdbinit") CONFIG_FILES="$CONFIG_FILES .gdbinit:../common/gdbinit.in" ;;
-    "Makefile") CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
-    "stamp-h") CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
-
-  *) as_fn_error $? "invalid argument: \`$ac_config_target'" "$LINENO" 5;;
-  esac
-done
-
-
-# If the user did not use the arguments to specify the items to instantiate,
-# then the envvar interface is used.  Set only those that are not.
-# We use the long form for the default assignment because of an extremely
-# bizarre bug on SunOS 4.1.3.
-if $ac_need_defaults; then
-  test "${CONFIG_FILES+set}" = set || CONFIG_FILES=$config_files
-  test "${CONFIG_HEADERS+set}" = set || CONFIG_HEADERS=$config_headers
-  test "${CONFIG_COMMANDS+set}" = set || CONFIG_COMMANDS=$config_commands
-fi
-
-# Have a temporary directory for convenience.  Make it in the build tree
-# simply because there is no reason against having it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Hook for its removal unless debugging.
-# Note that there is a small window in which the directory will not be cleaned:
-# after its creation but before its name has been assigned to `$tmp'.
-$debug ||
-{
-  tmp= ac_tmp=
-  trap 'exit_status=$?
-  : "${ac_tmp:=$tmp}"
-  { test ! -d "$ac_tmp" || rm -fr "$ac_tmp"; } && exit $exit_status
-' 0
-  trap 'as_fn_exit 1' 1 2 13 15
-}
-# Create a (secure) tmp directory for tmp files.
-
-{
-  tmp=`(umask 077 && mktemp -d "./confXXXXXX") 2>/dev/null` &&
-  test -d "$tmp"
-}  ||
-{
-  tmp=./conf$$-$RANDOM
-  (umask 077 && mkdir "$tmp")
-} || as_fn_error $? "cannot create a temporary directory in ." "$LINENO" 5
-ac_tmp=$tmp
-
-# Set up the scripts for CONFIG_FILES section.
-# No need to generate them if there are no CONFIG_FILES.
-# This happens for instance with `./config.status config.h'.
-if test -n "$CONFIG_FILES"; then
-
-
-ac_cr=`echo X | tr X '\015'`
-# On cygwin, bash can eat \r inside `` if the user requested igncr.
-# But we know of no other shell where ac_cr would be empty at this
-# point, so we can use a bashism as a fallback.
-if test "x$ac_cr" = x; then
-  eval ac_cr=\$\'\\r\'
-fi
-ac_cs_awk_cr=`$AWK 'BEGIN { print "a\rb" }' </dev/null 2>/dev/null`
-if test "$ac_cs_awk_cr" = "a${ac_cr}b"; then
-  ac_cs_awk_cr='\\r'
-else
-  ac_cs_awk_cr=$ac_cr
-fi
-
-echo 'BEGIN {' >"$ac_tmp/subs1.awk" &&
-_ACEOF
-
-
-{
-  echo "cat >conf$$subs.awk <<_ACEOF" &&
-  echo "$ac_subst_vars" | sed 's/.*/&!$&$ac_delim/' &&
-  echo "_ACEOF"
-} >conf$$subs.sh ||
-  as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-ac_delim_num=`echo "$ac_subst_vars" | grep -c '^'`
-ac_delim='%!_!# '
-for ac_last_try in false false false false false :; do
-  . ./conf$$subs.sh ||
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-
-  ac_delim_n=`sed -n "s/.*$ac_delim\$/X/p" conf$$subs.awk | grep -c X`
-  if test $ac_delim_n = $ac_delim_num; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_STATUS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-rm -f conf$$subs.sh
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-cat >>"\$ac_tmp/subs1.awk" <<\\_ACAWK &&
-_ACEOF
-sed -n '
-h
-s/^/S["/; s/!.*/"]=/
-p
-g
-s/^[^!]*!//
-:repl
-t repl
-s/'"$ac_delim"'$//
-t delim
-:nl
-h
-s/\(.\{148\}\)..*/\1/
-t more1
-s/["\\]/\\&/g; s/^/"/; s/$/\\n"\\/
-p
-n
-b repl
-:more1
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t nl
-:delim
-h
-s/\(.\{148\}\)..*/\1/
-t more2
-s/["\\]/\\&/g; s/^/"/; s/$/"/
-p
-b
-:more2
-s/["\\]/\\&/g; s/^/"/; s/$/"\\/
-p
-g
-s/.\{148\}//
-t delim
-' <conf$$subs.awk | sed '
-/^[^""]/{
-  N
-  s/\n//
-}
-' >>$CONFIG_STATUS || ac_write_fail=1
-rm -f conf$$subs.awk
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-_ACAWK
-cat >>"\$ac_tmp/subs1.awk" <<_ACAWK &&
-  for (key in S) S_is_set[key] = 1
-  FS = "\a"
-
-}
-{
-  line = $ 0
-  nfields = split(line, field, "@")
-  substed = 0
-  len = length(field[1])
-  for (i = 2; i < nfields; i++) {
-    key = field[i]
-    keylen = length(key)
-    if (S_is_set[key]) {
-      value = S[key]
-      line = substr(line, 1, len) "" value "" substr(line, len + keylen + 3)
-      len += length(value) + length(field[++i])
-      substed = 1
-    } else
-      len += 1 + keylen
-  }
-
-  print line
-}
-
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-if sed "s/$ac_cr//" < /dev/null > /dev/null 2>&1; then
-  sed "s/$ac_cr\$//; s/$ac_cr/$ac_cs_awk_cr/g"
-else
-  cat
-fi < "$ac_tmp/subs1.awk" > "$ac_tmp/subs.awk" \
-  || as_fn_error $? "could not setup config files machinery" "$LINENO" 5
-_ACEOF
-
-# VPATH may cause trouble with some makes, so we remove sole $(srcdir),
-# ${srcdir} and @srcdir@ entries from VPATH if srcdir is ".", strip leading and
-# trailing colons and then remove the whole line if VPATH becomes empty
-# (actually we leave an empty line to preserve line numbers).
-if test "x$srcdir" = x.; then
-  ac_vpsub='/^[         ]*VPATH[        ]*=[    ]*/{
-h
-s///
-s/^/:/
-s/[     ]*$/:/
-s/:\$(srcdir):/:/g
-s/:\${srcdir}:/:/g
-s/:@srcdir@:/:/g
-s/^:*//
-s/:*$//
-x
-s/\(=[  ]*\).*/\1/
-G
-s/\n//
-s/^[^=]*=[      ]*$//
-}'
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-fi # test -n "$CONFIG_FILES"
-
-# Set up the scripts for CONFIG_HEADERS section.
-# No need to generate them if there are no CONFIG_HEADERS.
-# This happens for instance with `./config.status Makefile'.
-if test -n "$CONFIG_HEADERS"; then
-cat >"$ac_tmp/defines.awk" <<\_ACAWK ||
-BEGIN {
-_ACEOF
-
-# Transform confdefs.h into an awk script `defines.awk', embedded as
-# here-document in config.status, that substitutes the proper values into
-# config.h.in to produce config.h.
-
-# Create a delimiter string that does not exist in confdefs.h, to ease
-# handling of long lines.
-ac_delim='%!_!# '
-for ac_last_try in false false :; do
-  ac_tt=`sed -n "/$ac_delim/p" confdefs.h`
-  if test -z "$ac_tt"; then
-    break
-  elif $ac_last_try; then
-    as_fn_error $? "could not make $CONFIG_HEADERS" "$LINENO" 5
-  else
-    ac_delim="$ac_delim!$ac_delim _$ac_delim!! "
-  fi
-done
-
-# For the awk script, D is an array of macro values keyed by name,
-# likewise P contains macro parameters if any.  Preserve backslash
-# newline sequences.
-
-ac_word_re=[_$as_cr_Letters][_$as_cr_alnum]*
-sed -n '
-s/.\{148\}/&'"$ac_delim"'/g
-t rset
-:rset
-s/^[    ]*#[    ]*define[       ][      ]*/ /
-t def
-d
-:def
-s/\\$//
-t bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3"/p
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2"/p
-d
-:bsnl
-s/["\\]/\\&/g
-s/^ \('"$ac_word_re"'\)\(([^()]*)\)[    ]*\(.*\)/P["\1"]="\2"\
-D["\1"]=" \3\\\\\\n"\\/p
-t cont
-s/^ \('"$ac_word_re"'\)[        ]*\(.*\)/D["\1"]=" \2\\\\\\n"\\/p
-t cont
-d
-:cont
-n
-s/.\{148\}/&'"$ac_delim"'/g
-t clear
-:clear
-s/\\$//
-t bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/"/p
-d
-:bsnlc
-s/["\\]/\\&/g; s/^/"/; s/$/\\\\\\n"\\/p
-b cont
-' <confdefs.h | sed '
-s/'"$ac_delim"'/"\\\
-"/g' >>$CONFIG_STATUS || ac_write_fail=1
-
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  for (key in D) D_is_set[key] = 1
-  FS = "\a"
-}
-/^[\t ]*#[\t ]*(define|undef)[\t ]+$ac_word_re([\t (]|\$)/ {
-  line = \$ 0
-  split(line, arg, " ")
-  if (arg[1] == "#") {
-    defundef = arg[2]
-    mac1 = arg[3]
-  } else {
-    defundef = substr(arg[1], 2)
-    mac1 = arg[2]
-  }
-  split(mac1, mac2, "(") #)
-  macro = mac2[1]
-  prefix = substr(line, 1, index(line, defundef) - 1)
-  if (D_is_set[macro]) {
-    # Preserve the white space surrounding the "#".
-    print prefix "define", macro P[macro] D[macro]
-    next
-  } else {
-    # Replace #undef with comments.  This is necessary, for example,
-    # in the case of _POSIX_SOURCE, which is predefined and required
-    # on some systems where configure will not decide to define it.
-    if (defundef == "undef") {
-      print "/*", prefix defundef, macro, "*/"
-      next
-    }
-  }
-}
-{ print }
-_ACAWK
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-  as_fn_error $? "could not setup config headers machinery" "$LINENO" 5
-fi # test -n "$CONFIG_HEADERS"
-
-
-eval set X "  :F $CONFIG_FILES  :H $CONFIG_HEADERS    :C $CONFIG_COMMANDS"
-shift
-for ac_tag
-do
-  case $ac_tag in
-  :[FHLC]) ac_mode=$ac_tag; continue;;
-  esac
-  case $ac_mode$ac_tag in
-  :[FHL]*:*);;
-  :L* | :C*:*) as_fn_error $? "invalid tag \`$ac_tag'" "$LINENO" 5;;
-  :[FH]-) ac_tag=-:-;;
-  :[FH]*) ac_tag=$ac_tag:$ac_tag.in;;
-  esac
-  ac_save_IFS=$IFS
-  IFS=:
-  set x $ac_tag
-  IFS=$ac_save_IFS
-  shift
-  ac_file=$1
-  shift
-
-  case $ac_mode in
-  :L) ac_source=$1;;
-  :[FH])
-    ac_file_inputs=
-    for ac_f
-    do
-      case $ac_f in
-      -) ac_f="$ac_tmp/stdin";;
-      *) # Look for the file first in the build tree, then in the source tree
-        # (if the path is not absolute).  The absolute path cannot be DOS-style,
-        # because $ac_f cannot contain `:'.
-        test -f "$ac_f" ||
-          case $ac_f in
-          [\\/$]*) false;;
-          *) test -f "$srcdir/$ac_f" && ac_f="$srcdir/$ac_f";;
-          esac ||
-          as_fn_error 1 "cannot find input file: \`$ac_f'" "$LINENO" 5;;
-      esac
-      case $ac_f in *\'*) ac_f=`$as_echo "$ac_f" | sed "s/'/'\\\\\\\\''/g"`;; esac
-      as_fn_append ac_file_inputs " '$ac_f'"
-    done
-
-    # Let's still pretend it is `configure' which instantiates (i.e., don't
-    # use $as_me), people would be surprised to read:
-    #    /* config.h.  Generated by config.status.  */
-    configure_input='Generated from '`
-         $as_echo "$*" | sed 's|^[^:]*/||;s|:[^:]*/|, |g'
-       `' by configure.'
-    if test x"$ac_file" != x-; then
-      configure_input="$ac_file.  $configure_input"
-      { $as_echo "$as_me:${as_lineno-$LINENO}: creating $ac_file" >&5
-$as_echo "$as_me: creating $ac_file" >&6;}
-    fi
-    # Neutralize special characters interpreted by sed in replacement strings.
-    case $configure_input in #(
-    *\&* | *\|* | *\\* )
-       ac_sed_conf_input=`$as_echo "$configure_input" |
-       sed 's/[\\\\&|]/\\\\&/g'`;; #(
-    *) ac_sed_conf_input=$configure_input;;
-    esac
-
-    case $ac_tag in
-    *:-:* | *:-) cat >"$ac_tmp/stdin" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5 ;;
-    esac
-    ;;
-  esac
-
-  ac_dir=`$as_dirname -- "$ac_file" ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
-        X"$ac_file" : 'X\(//\)[^/]' \| \
-        X"$ac_file" : 'X\(//\)$' \| \
-        X"$ac_file" : 'X\(/\)' \| . 2>/dev/null ||
-$as_echo X"$ac_file" |
-    sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)[^/].*/{
-           s//\1/
-           q
-         }
-         /^X\(\/\/\)$/{
-           s//\1/
-           q
-         }
-         /^X\(\/\).*/{
-           s//\1/
-           q
-         }
-         s/.*/./; q'`
-  as_dir="$ac_dir"; as_fn_mkdir_p
-  ac_builddir=.
-
-case "$ac_dir" in
-.) ac_dir_suffix= ac_top_builddir_sub=. ac_top_build_prefix= ;;
-*)
-  ac_dir_suffix=/`$as_echo "$ac_dir" | sed 's|^\.[\\/]||'`
-  # A ".." for each directory in $ac_dir_suffix.
-  ac_top_builddir_sub=`$as_echo "$ac_dir_suffix" | sed 's|/[^\\/]*|/..|g;s|/||'`
-  case $ac_top_builddir_sub in
-  "") ac_top_builddir_sub=. ac_top_build_prefix= ;;
-  *)  ac_top_build_prefix=$ac_top_builddir_sub/ ;;
-  esac ;;
-esac
-ac_abs_top_builddir=$ac_pwd
-ac_abs_builddir=$ac_pwd$ac_dir_suffix
-# for backward compatibility:
-ac_top_builddir=$ac_top_build_prefix
-
-case $srcdir in
-  .)  # We are building in place.
-    ac_srcdir=.
-    ac_top_srcdir=$ac_top_builddir_sub
-    ac_abs_top_srcdir=$ac_pwd ;;
-  [\\/]* | ?:[\\/]* )  # Absolute name.
-    ac_srcdir=$srcdir$ac_dir_suffix;
-    ac_top_srcdir=$srcdir
-    ac_abs_top_srcdir=$srcdir ;;
-  *) # Relative name.
-    ac_srcdir=$ac_top_build_prefix$srcdir$ac_dir_suffix
-    ac_top_srcdir=$ac_top_build_prefix$srcdir
-    ac_abs_top_srcdir=$ac_pwd/$srcdir ;;
-esac
-ac_abs_srcdir=$ac_abs_top_srcdir$ac_dir_suffix
-
-
-  case $ac_mode in
-  :F)
-  #
-  # CONFIG_FILE
-  #
-
-  case $INSTALL in
-  [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
-  *) ac_INSTALL=$ac_top_build_prefix$INSTALL ;;
-  esac
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-# If the template does not know about datarootdir, expand it.
-# FIXME: This hack should be removed a few years after 2.60.
-ac_datarootdir_hack=; ac_datarootdir_seen=
-ac_sed_dataroot='
-/datarootdir/ {
-  p
-  q
-}
-/@datadir@/p
-/@docdir@/p
-/@infodir@/p
-/@localedir@/p
-/@mandir@/p'
-case `eval "sed -n \"\$ac_sed_dataroot\" $ac_file_inputs"` in
-*datarootdir*) ac_datarootdir_seen=yes;;
-*@datadir@*|*@docdir@*|*@infodir@*|*@localedir@*|*@mandir@*)
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&5
-$as_echo "$as_me: WARNING: $ac_file_inputs seems to ignore the --datarootdir setting" >&2;}
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-  ac_datarootdir_hack='
-  s&@datadir@&$datadir&g
-  s&@docdir@&$docdir&g
-  s&@infodir@&$infodir&g
-  s&@localedir@&$localedir&g
-  s&@mandir@&$mandir&g
-  s&\\\${datarootdir}&$datarootdir&g' ;;
-esac
-_ACEOF
-
-# Neutralize VPATH when `$srcdir' = `.'.
-# Shell code in configure.ac might set extrasub.
-# FIXME: do we really want to maintain this feature?
-cat >>$CONFIG_STATUS <<_ACEOF || ac_write_fail=1
-ac_sed_extra="$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF || ac_write_fail=1
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s|@configure_input@|$ac_sed_conf_input|;t t
-s&@top_builddir@&$ac_top_builddir_sub&;t t
-s&@top_build_prefix@&$ac_top_build_prefix&;t t
-s&@srcdir@&$ac_srcdir&;t t
-s&@abs_srcdir@&$ac_abs_srcdir&;t t
-s&@top_srcdir@&$ac_top_srcdir&;t t
-s&@abs_top_srcdir@&$ac_abs_top_srcdir&;t t
-s&@builddir@&$ac_builddir&;t t
-s&@abs_builddir@&$ac_abs_builddir&;t t
-s&@abs_top_builddir@&$ac_abs_top_builddir&;t t
-s&@INSTALL@&$ac_INSTALL&;t t
-$ac_datarootdir_hack
-"
-eval sed \"\$ac_sed_extra\" "$ac_file_inputs" | $AWK -f "$ac_tmp/subs.awk" \
-  >$ac_tmp/out || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-
-test -z "$ac_datarootdir_hack$ac_datarootdir_seen" &&
-  { ac_out=`sed -n '/\${datarootdir}/p' "$ac_tmp/out"`; test -n "$ac_out"; } &&
-  { ac_out=`sed -n '/^[         ]*datarootdir[  ]*:*=/p' \
-      "$ac_tmp/out"`; test -z "$ac_out"; } &&
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&5
-$as_echo "$as_me: WARNING: $ac_file contains a reference to the variable \`datarootdir'
-which seems to be undefined.  Please make sure it is defined" >&2;}
-
-  rm -f "$ac_tmp/stdin"
-  case $ac_file in
-  -) cat "$ac_tmp/out" && rm -f "$ac_tmp/out";;
-  *) rm -f "$ac_file" && mv "$ac_tmp/out" "$ac_file";;
-  esac \
-  || as_fn_error $? "could not create $ac_file" "$LINENO" 5
- ;;
-  :H)
-  #
-  # CONFIG_HEADER
-  #
-  if test x"$ac_file" != x-; then
-    {
-      $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs"
-    } >"$ac_tmp/config.h" \
-      || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    if diff "$ac_file" "$ac_tmp/config.h" >/dev/null 2>&1; then
-      { $as_echo "$as_me:${as_lineno-$LINENO}: $ac_file is unchanged" >&5
-$as_echo "$as_me: $ac_file is unchanged" >&6;}
-    else
-      rm -f "$ac_file"
-      mv "$ac_tmp/config.h" "$ac_file" \
-       || as_fn_error $? "could not create $ac_file" "$LINENO" 5
-    fi
-  else
-    $as_echo "/* $configure_input  */" \
-      && eval '$AWK -f "$ac_tmp/defines.awk"' "$ac_file_inputs" \
-      || as_fn_error $? "could not create -" "$LINENO" 5
-  fi
- ;;
-
-  :C)  { $as_echo "$as_me:${as_lineno-$LINENO}: executing $ac_file commands" >&5
-$as_echo "$as_me: executing $ac_file commands" >&6;}
- ;;
-  esac
-
-
-  case $ac_file$ac_mode in
-    "depdir":C) $SHELL $ac_aux_dir/mkinstalldirs $DEPDIR ;;
-    "libtool":C)
-
-    # See if we are running on zsh, and set the options which allow our
-    # commands through without removal of \ escapes.
-    if test -n "${ZSH_VERSION+set}" ; then
-      setopt NO_GLOB_SUBST
-    fi
-
-    cfgfile="${ofile}T"
-    trap "$RM \"$cfgfile\"; exit 1" 1 2 15
-    $RM "$cfgfile"
-
-    cat <<_LT_EOF >> "$cfgfile"
-#! $SHELL
-
-# `$ECHO "$ofile" | sed 's%^.*/%%'` - Provide generalized library-building support services.
-# Generated automatically by $as_me ($PACKAGE$TIMESTAMP) $VERSION
-# Libtool was configured on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-# NOTE: Changes made to this file will be lost: look at ltmain.sh.
-#
-#   Copyright (C) 1996, 1997, 1998, 1999, 2000, 2001, 2003, 2004, 2005,
-#                 2006, 2007, 2008, 2009 Free Software Foundation, Inc.
-#   Written by Gordon Matzigkeit, 1996
-#
-#   This file is part of GNU Libtool.
-#
-# GNU Libtool 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 2 of
-# the License, or (at your option) any later version.
-#
-# As a special exception to the GNU General Public License,
-# if you distribute this file as part of a program or library that
-# is built using GNU Libtool, you may include this file under the
-# same distribution terms that you use for the rest of that program.
-#
-# GNU Libtool 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 GNU Libtool; see the file COPYING.  If not, a copy
-# can be downloaded from http://www.gnu.org/licenses/gpl.html, or
-# obtained by writing to the Free Software Foundation, Inc.,
-# 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-
-# The names of the tagged configurations supported by this script.
-available_tags=""
-
-# ### BEGIN LIBTOOL CONFIG
-
-# Which release of libtool.m4 was used?
-macro_version=$macro_version
-macro_revision=$macro_revision
-
-# Whether or not to build shared libraries.
-build_libtool_libs=$enable_shared
-
-# Whether or not to build static libraries.
-build_old_libs=$enable_static
-
-# What type of objects to build.
-pic_mode=$pic_mode
-
-# Whether or not to optimize for fast installation.
-fast_install=$enable_fast_install
-
-# Shell to use when invoking shell scripts.
-SHELL=$lt_SHELL
-
-# An echo program that protects backslashes.
-ECHO=$lt_ECHO
-
-# The host system.
-host_alias=$host_alias
-host=$host
-host_os=$host_os
-
-# The build system.
-build_alias=$build_alias
-build=$build
-build_os=$build_os
-
-# A sed program that does not truncate output.
-SED=$lt_SED
-
-# Sed that helps us avoid accidentally triggering echo(1) options like -n.
-Xsed="\$SED -e 1s/^X//"
-
-# A grep program that handles long lines.
-GREP=$lt_GREP
-
-# An ERE matcher.
-EGREP=$lt_EGREP
-
-# A literal string matcher.
-FGREP=$lt_FGREP
-
-# A BSD- or MS-compatible name lister.
-NM=$lt_NM
-
-# Whether we need soft or hard links.
-LN_S=$lt_LN_S
-
-# What is the maximum length of a command?
-max_cmd_len=$max_cmd_len
-
-# Object file suffix (normally "o").
-objext=$ac_objext
-
-# Executable file suffix (normally "").
-exeext=$exeext
-
-# whether the shell understands "unset".
-lt_unset=$lt_unset
-
-# turn spaces into newlines.
-SP2NL=$lt_lt_SP2NL
-
-# turn newlines into spaces.
-NL2SP=$lt_lt_NL2SP
-
-# An object symbol dumper.
-OBJDUMP=$lt_OBJDUMP
-
-# Method to check whether dependent libraries are shared objects.
-deplibs_check_method=$lt_deplibs_check_method
-
-# Command to use when deplibs_check_method == "file_magic".
-file_magic_cmd=$lt_file_magic_cmd
-
-# The archiver.
-AR=$lt_AR
-AR_FLAGS=$lt_AR_FLAGS
-
-# A symbol stripping program.
-STRIP=$lt_STRIP
-
-# Commands used to install an old-style archive.
-RANLIB=$lt_RANLIB
-old_postinstall_cmds=$lt_old_postinstall_cmds
-old_postuninstall_cmds=$lt_old_postuninstall_cmds
-
-# Whether to use a lock for old archive extraction.
-lock_old_archive_extraction=$lock_old_archive_extraction
-
-# A C compiler.
-LTCC=$lt_CC
-
-# LTCC compiler flags.
-LTCFLAGS=$lt_CFLAGS
-
-# Take the output of nm and produce a listing of raw symbols and C names.
-global_symbol_pipe=$lt_lt_cv_sys_global_symbol_pipe
-
-# Transform the output of nm in a proper C declaration.
-global_symbol_to_cdecl=$lt_lt_cv_sys_global_symbol_to_cdecl
-
-# Transform the output of nm in a C name address pair.
-global_symbol_to_c_name_address=$lt_lt_cv_sys_global_symbol_to_c_name_address
-
-# Transform the output of nm in a C name address pair when lib prefix is needed.
-global_symbol_to_c_name_address_lib_prefix=$lt_lt_cv_sys_global_symbol_to_c_name_address_lib_prefix
-
-# The name of the directory that contains temporary libtool files.
-objdir=$objdir
-
-# Used to examine libraries when file_magic_cmd begins with "file".
-MAGIC_CMD=$MAGIC_CMD
-
-# Must we lock files when doing compilation?
-need_locks=$lt_need_locks
-
-# Tool to manipulate archived DWARF debug symbol files on Mac OS X.
-DSYMUTIL=$lt_DSYMUTIL
-
-# Tool to change global to local symbols on Mac OS X.
-NMEDIT=$lt_NMEDIT
-
-# Tool to manipulate fat objects and archives on Mac OS X.
-LIPO=$lt_LIPO
-
-# ldd/readelf like tool for Mach-O binaries on Mac OS X.
-OTOOL=$lt_OTOOL
-
-# ldd/readelf like tool for 64 bit Mach-O binaries on Mac OS X 10.4.
-OTOOL64=$lt_OTOOL64
-
-# Old archive suffix (normally "a").
-libext=$libext
-
-# Shared library suffix (normally ".so").
-shrext_cmds=$lt_shrext_cmds
-
-# The commands to extract the exported symbol list from a shared archive.
-extract_expsyms_cmds=$lt_extract_expsyms_cmds
-
-# Variables whose values should be saved in libtool wrapper scripts and
-# restored at link time.
-variables_saved_for_relink=$lt_variables_saved_for_relink
-
-# Do we need the "lib" prefix for modules?
-need_lib_prefix=$need_lib_prefix
-
-# Do we need a version for libraries?
-need_version=$need_version
-
-# Library versioning type.
-version_type=$version_type
-
-# Shared library runtime path variable.
-runpath_var=$runpath_var
-
-# Shared library path variable.
-shlibpath_var=$shlibpath_var
-
-# Is shlibpath searched before the hard-coded library search path?
-shlibpath_overrides_runpath=$shlibpath_overrides_runpath
-
-# Format of library name prefix.
-libname_spec=$lt_libname_spec
-
-# List of archive names.  First name is the real one, the rest are links.
-# The last name is the one that the linker finds with -lNAME
-library_names_spec=$lt_library_names_spec
-
-# The coded name of the library, if different from the real name.
-soname_spec=$lt_soname_spec
-
-# Permission mode override for installation of shared libraries.
-install_override_mode=$lt_install_override_mode
-
-# Command to use after installation of a shared archive.
-postinstall_cmds=$lt_postinstall_cmds
-
-# Command to use after uninstallation of a shared archive.
-postuninstall_cmds=$lt_postuninstall_cmds
-
-# Commands used to finish a libtool library installation in a directory.
-finish_cmds=$lt_finish_cmds
-
-# As "finish_cmds", except a single script fragment to be evaled but
-# not shown.
-finish_eval=$lt_finish_eval
-
-# Whether we should hardcode library paths into libraries.
-hardcode_into_libs=$hardcode_into_libs
-
-# Compile-time system search path for libraries.
-sys_lib_search_path_spec=$lt_sys_lib_search_path_spec
-
-# Run-time system search path for libraries.
-sys_lib_dlsearch_path_spec=$lt_sys_lib_dlsearch_path_spec
-
-# Whether dlopen is supported.
-dlopen_support=$enable_dlopen
-
-# Whether dlopen of programs is supported.
-dlopen_self=$enable_dlopen_self
-
-# Whether dlopen of statically linked programs is supported.
-dlopen_self_static=$enable_dlopen_self_static
-
-# Commands to strip libraries.
-old_striplib=$lt_old_striplib
-striplib=$lt_striplib
-
-
-# The linker used to build libraries.
-LD=$lt_LD
-
-# How to create reloadable object files.
-reload_flag=$lt_reload_flag
-reload_cmds=$lt_reload_cmds
-
-# Commands used to build an old-style archive.
-old_archive_cmds=$lt_old_archive_cmds
-
-# A language specific compiler.
-CC=$lt_compiler
-
-# Is the compiler the GNU compiler?
-with_gcc=$GCC
-
-# Compiler flag to turn off builtin functions.
-no_builtin_flag=$lt_lt_prog_compiler_no_builtin_flag
-
-# How to pass a linker flag through the compiler.
-wl=$lt_lt_prog_compiler_wl
-
-# Additional compiler flags for building library objects.
-pic_flag=$lt_lt_prog_compiler_pic
-
-# Compiler flag to prevent dynamic linking.
-link_static_flag=$lt_lt_prog_compiler_static
-
-# Does compiler simultaneously support -c and -o options?
-compiler_c_o=$lt_lt_cv_prog_compiler_c_o
-
-# Whether or not to add -lc for building shared libraries.
-build_libtool_need_lc=$archive_cmds_need_lc
-
-# Whether or not to disallow shared libs when runtime libs are static.
-allow_libtool_libs_with_static_runtimes=$enable_shared_with_static_runtimes
-
-# Compiler flag to allow reflexive dlopens.
-export_dynamic_flag_spec=$lt_export_dynamic_flag_spec
-
-# Compiler flag to generate shared objects directly from archives.
-whole_archive_flag_spec=$lt_whole_archive_flag_spec
-
-# Whether the compiler copes with passing no objects directly.
-compiler_needs_object=$lt_compiler_needs_object
-
-# Create an old-style archive from a shared archive.
-old_archive_from_new_cmds=$lt_old_archive_from_new_cmds
-
-# Create a temporary old-style archive to link instead of a shared archive.
-old_archive_from_expsyms_cmds=$lt_old_archive_from_expsyms_cmds
-
-# Commands used to build a shared archive.
-archive_cmds=$lt_archive_cmds
-archive_expsym_cmds=$lt_archive_expsym_cmds
-
-# Commands used to build a loadable module if different from building
-# a shared archive.
-module_cmds=$lt_module_cmds
-module_expsym_cmds=$lt_module_expsym_cmds
-
-# Whether we are building with GNU ld or not.
-with_gnu_ld=$lt_with_gnu_ld
-
-# Flag that allows shared libraries with undefined symbols to be built.
-allow_undefined_flag=$lt_allow_undefined_flag
-
-# Flag that enforces no undefined symbols.
-no_undefined_flag=$lt_no_undefined_flag
-
-# Flag to hardcode \$libdir into a binary during linking.
-# This must work even if \$libdir does not exist
-hardcode_libdir_flag_spec=$lt_hardcode_libdir_flag_spec
-
-# If ld is used when linking, flag to hardcode \$libdir into a binary
-# during linking.  This must work even if \$libdir does not exist.
-hardcode_libdir_flag_spec_ld=$lt_hardcode_libdir_flag_spec_ld
-
-# Whether we need a single "-rpath" flag with a separated argument.
-hardcode_libdir_separator=$lt_hardcode_libdir_separator
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary.
-hardcode_direct=$hardcode_direct
-
-# Set to "yes" if using DIR/libNAME\${shared_ext} during linking hardcodes
-# DIR into the resulting binary and the resulting library dependency is
-# "absolute",i.e impossible to change by setting \${shlibpath_var} if the
-# library is relocated.
-hardcode_direct_absolute=$hardcode_direct_absolute
-
-# Set to "yes" if using the -LDIR flag during linking hardcodes DIR
-# into the resulting binary.
-hardcode_minus_L=$hardcode_minus_L
-
-# Set to "yes" if using SHLIBPATH_VAR=DIR during linking hardcodes DIR
-# into the resulting binary.
-hardcode_shlibpath_var=$hardcode_shlibpath_var
-
-# Set to "yes" if building a shared library automatically hardcodes DIR
-# into the library and all subsequent libraries and executables linked
-# against it.
-hardcode_automatic=$hardcode_automatic
-
-# Set to yes if linker adds runtime paths of dependent libraries
-# to runtime path list.
-inherit_rpath=$inherit_rpath
-
-# Whether libtool must link a program against all its dependency libraries.
-link_all_deplibs=$link_all_deplibs
-
-# Fix the shell variable \$srcfile for the compiler.
-fix_srcfile_path=$lt_fix_srcfile_path
-
-# Set to "yes" if exported symbols are required.
-always_export_symbols=$always_export_symbols
-
-# The commands to list exported symbols.
-export_symbols_cmds=$lt_export_symbols_cmds
-
-# Symbols that should not be listed in the preloaded symbols.
-exclude_expsyms=$lt_exclude_expsyms
-
-# Symbols that must always be exported.
-include_expsyms=$lt_include_expsyms
-
-# Commands necessary for linking programs (against libraries) with templates.
-prelink_cmds=$lt_prelink_cmds
-
-# Specify filename containing input files.
-file_list_spec=$lt_file_list_spec
-
-# How to hardcode a shared library path into an executable.
-hardcode_action=$hardcode_action
-
-# ### END LIBTOOL CONFIG
-
-_LT_EOF
-
-  case $host_os in
-  aix3*)
-    cat <<\_LT_EOF >> "$cfgfile"
-# AIX sometimes has problems with the GCC collect2 program.  For some
-# reason, if we set the COLLECT_NAMES environment variable, the problems
-# vanish in a puff of smoke.
-if test "X${COLLECT_NAMES+set}" != Xset; then
-  COLLECT_NAMES=
-  export COLLECT_NAMES
-fi
-_LT_EOF
-    ;;
-  esac
-
-
-ltmain="$ac_aux_dir/ltmain.sh"
-
-
-  # We use sed instead of cat because bash on DJGPP gets confused if
-  # if finds mixed CR/LF and LF-only lines.  Since sed operates in
-  # text mode, it properly converts lines to CR/LF.  This bash problem
-  # is reportedly fixed, but why not run on old versions too?
-  sed '/^# Generated shell functions inserted here/q' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
-
-  case $xsi_shell in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-}
-
-# func_basename file
-func_basename ()
-{
-  func_basename_result="${1##*/}"
-}
-
-# func_dirname_and_basename file append nondir_replacement
-# perform func_basename and func_dirname in a single function
-# call:
-#   dirname:  Compute the dirname of FILE.  If nonempty,
-#             add APPEND to the result, otherwise set result
-#             to NONDIR_REPLACEMENT.
-#             value returned in "$func_dirname_result"
-#   basename: Compute filename of FILE.
-#             value retuned in "$func_basename_result"
-# Implementation must be kept synchronized with func_dirname
-# and func_basename. For efficiency, we do not delegate to
-# those functions but instead duplicate the functionality here.
-func_dirname_and_basename ()
-{
-  case ${1} in
-    */*) func_dirname_result="${1%/*}${2}" ;;
-    *  ) func_dirname_result="${3}" ;;
-  esac
-  func_basename_result="${1##*/}"
-}
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-func_stripname ()
-{
-  # pdksh 5.2.14 does not do ${X%$Y} correctly if both X and Y are
-  # positional parameters, so assign one to ordinary parameter first.
-  func_stripname_result=${3}
-  func_stripname_result=${func_stripname_result#"${1}"}
-  func_stripname_result=${func_stripname_result%"${2}"}
-}
-
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=${1%%=*}
-  func_opt_split_arg=${1#*=}
-}
-
-# func_lo2o object
-func_lo2o ()
-{
-  case ${1} in
-    *.lo) func_lo2o_result=${1%.lo}.${objext} ;;
-    *)    func_lo2o_result=${1} ;;
-  esac
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=${1%.*}.lo
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=$(( $* ))
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=${#1}
-}
-
-_LT_EOF
-    ;;
-  *) # Bourne compatible functions.
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_dirname file append nondir_replacement
-# Compute the dirname of FILE.  If nonempty, add APPEND to the result,
-# otherwise set result to NONDIR_REPLACEMENT.
-func_dirname ()
-{
-  # Extract subdirectory from the argument.
-  func_dirname_result=`$ECHO "${1}" | $SED "$dirname"`
-  if test "X$func_dirname_result" = "X${1}"; then
-    func_dirname_result="${3}"
-  else
-    func_dirname_result="$func_dirname_result${2}"
-  fi
-}
-
-# func_basename file
-func_basename ()
-{
-  func_basename_result=`$ECHO "${1}" | $SED "$basename"`
-}
-
-
-# func_stripname prefix suffix name
-# strip PREFIX and SUFFIX off of NAME.
-# PREFIX and SUFFIX must not contain globbing or regex special
-# characters, hashes, percent signs, but SUFFIX may contain a leading
-# dot (in which case that matches only a dot).
-# func_strip_suffix prefix name
-func_stripname ()
-{
-  case ${2} in
-    .*) func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%\\\\${2}\$%%"`;;
-    *)  func_stripname_result=`$ECHO "${3}" | $SED "s%^${1}%%; s%${2}\$%%"`;;
-  esac
-}
-
-# sed scripts:
-my_sed_long_opt='1s/^\(-[^=]*\)=.*/\1/;q'
-my_sed_long_arg='1s/^-[^=]*=//'
-
-# func_opt_split
-func_opt_split ()
-{
-  func_opt_split_opt=`$ECHO "${1}" | $SED "$my_sed_long_opt"`
-  func_opt_split_arg=`$ECHO "${1}" | $SED "$my_sed_long_arg"`
-}
-
-# func_lo2o object
-func_lo2o ()
-{
-  func_lo2o_result=`$ECHO "${1}" | $SED "$lo2o"`
-}
-
-# func_xform libobj-or-source
-func_xform ()
-{
-  func_xform_result=`$ECHO "${1}" | $SED 's/\.[^.]*$/.lo/'`
-}
-
-# func_arith arithmetic-term...
-func_arith ()
-{
-  func_arith_result=`expr "$@"`
-}
-
-# func_len string
-# STRING may not start with a hyphen.
-func_len ()
-{
-  func_len_result=`expr "$1" : ".*" 2>/dev/null || echo $max_cmd_len`
-}
-
-_LT_EOF
-esac
-
-case $lt_shell_append in
-  yes)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$1+=\$2"
-}
-_LT_EOF
-    ;;
-  *)
-    cat << \_LT_EOF >> "$cfgfile"
-
-# func_append var value
-# Append VALUE to the end of shell variable VAR.
-func_append ()
-{
-  eval "$1=\$$1\$2"
-}
-
-_LT_EOF
-    ;;
-  esac
-
-
-  sed -n '/^# Generated shell functions inserted here/,$p' "$ltmain" >> "$cfgfile" \
-    || (rm -f "$cfgfile"; exit 1)
-
-  mv -f "$cfgfile" "$ofile" ||
-    (rm -f "$ofile" && cp "$cfgfile" "$ofile" && rm -f "$cfgfile")
-  chmod +x "$ofile"
-
- ;;
-    "Makefile":C) echo "Merging Makefile.sim+Make-common.sim into Makefile ..."
- rm -f Makesim1.tmp Makesim2.tmp Makefile
- sed -n -e '/^## COMMON_PRE_/,/^## End COMMON_PRE_/ p' <Make-common.sim >Makesim1.tmp
- sed -n -e '/^## COMMON_POST_/,/^## End COMMON_POST_/ p' <Make-common.sim >Makesim2.tmp
- sed -e '/^## COMMON_PRE_/ r Makesim1.tmp' \
-       -e '/^## COMMON_POST_/ r Makesim2.tmp' \
-       <Makefile.sim >Makefile
- rm -f Makefile.sim Make-common.sim Makesim1.tmp Makesim2.tmp
- ;;
-    "stamp-h":C) echo > stamp-h ;;
-
-  esac
-done # for ac_tag
-
-
-as_fn_exit 0
-_ACEOF
-ac_clean_files=$ac_clean_files_save
-
-test $ac_write_fail = 0 ||
-  as_fn_error $? "write failure creating $CONFIG_STATUS" "$LINENO" 5
-
-
-# configure is writing to config.log, and then calls config.status.
-# config.status does its own redirection, appending to config.log.
-# Unfortunately, on DOS this fails, as config.log is still kept open
-# by configure, so config.status won't be able to write to it; its
-# output is simply discarded.  So we exec the FD to /dev/null,
-# effectively closing config.log, so it can be properly (re)opened and
-# appended to by config.status.  When coming back to configure, we
-# need to make the FD available again.
-if test "$no_create" != yes; then
-  ac_cs_success=:
-  ac_config_status_args=
-  test "$silent" = yes &&
-    ac_config_status_args="$ac_config_status_args --quiet"
-  exec 5>/dev/null
-  $SHELL $CONFIG_STATUS $ac_config_status_args || ac_cs_success=false
-  exec 5>>config.log
-  # Use ||, not &&, to avoid exiting from the if with $? = 1, which
-  # would make configure fail if this is the last instruction.
-  $ac_cs_success || as_fn_exit 1
-fi
-if test -n "$ac_unrecognized_opts" && test "$enable_option_checking" != no; then
-  { $as_echo "$as_me:${as_lineno-$LINENO}: WARNING: unrecognized options: $ac_unrecognized_opts" >&5
-$as_echo "$as_me: WARNING: unrecognized options: $ac_unrecognized_opts" >&2;}
-fi
-
-
diff --git a/sim/sh64/configure.ac b/sim/sh64/configure.ac
deleted file mode 100644 (file)
index ae62bb4..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-AC_INIT(Makefile.in)
-sinclude(../common/acinclude.m4)
-
-SIM_AC_COMMON
-
-SIM_AC_OPTION_ENDIAN([], BIG)
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT)
-SIM_AC_OPTION_SCACHE(16384)
-SIM_AC_OPTION_DEFAULT_MODEL(sh5)
-SIM_AC_OPTION_CGEN_MAINT
-
-SIM_AC_OPTION_HARDWARE(yes,"","")
-
-SIM_AC_OUTPUT
diff --git a/sim/sh64/cpu.c b/sim/sh64/cpu.c
deleted file mode 100644 (file)
index 259516b..0000000
+++ /dev/null
@@ -1,564 +0,0 @@
-/* Misc. support for CPU family sh64.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996-2021 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   It is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License along
-   with this program; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#define WANT_CPU sh64
-#define WANT_CPU_SH64
-
-#include "sim-main.h"
-#include "cgen-ops.h"
-
-/* Get the value of h-pc.  */
-
-UDI
-sh64_h_pc_get (SIM_CPU *current_cpu)
-{
-  return GET_H_PC ();
-}
-
-/* Set a value for h-pc.  */
-
-void
-sh64_h_pc_set (SIM_CPU *current_cpu, UDI newval)
-{
-  SET_H_PC (newval);
-}
-
-/* Get the value of h-gr.  */
-
-DI
-sh64_h_gr_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return GET_H_GR (regno);
-}
-
-/* Set a value for h-gr.  */
-
-void
-sh64_h_gr_set (SIM_CPU *current_cpu, UINT regno, DI newval)
-{
-  SET_H_GR (regno, newval);
-}
-
-/* Get the value of h-grc.  */
-
-SI
-sh64_h_grc_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return GET_H_GRC (regno);
-}
-
-/* Set a value for h-grc.  */
-
-void
-sh64_h_grc_set (SIM_CPU *current_cpu, UINT regno, SI newval)
-{
-  SET_H_GRC (regno, newval);
-}
-
-/* Get the value of h-cr.  */
-
-DI
-sh64_h_cr_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return GET_H_CR (regno);
-}
-
-/* Set a value for h-cr.  */
-
-void
-sh64_h_cr_set (SIM_CPU *current_cpu, UINT regno, DI newval)
-{
-  SET_H_CR (regno, newval);
-}
-
-/* Get the value of h-sr.  */
-
-SI
-sh64_h_sr_get (SIM_CPU *current_cpu)
-{
-  return CPU (h_sr);
-}
-
-/* Set a value for h-sr.  */
-
-void
-sh64_h_sr_set (SIM_CPU *current_cpu, SI newval)
-{
-  CPU (h_sr) = newval;
-}
-
-/* Get the value of h-fpscr.  */
-
-SI
-sh64_h_fpscr_get (SIM_CPU *current_cpu)
-{
-  return CPU (h_fpscr);
-}
-
-/* Set a value for h-fpscr.  */
-
-void
-sh64_h_fpscr_set (SIM_CPU *current_cpu, SI newval)
-{
-  CPU (h_fpscr) = newval;
-}
-
-/* Get the value of h-frbit.  */
-
-BI
-sh64_h_frbit_get (SIM_CPU *current_cpu)
-{
-  return GET_H_FRBIT ();
-}
-
-/* Set a value for h-frbit.  */
-
-void
-sh64_h_frbit_set (SIM_CPU *current_cpu, BI newval)
-{
-  SET_H_FRBIT (newval);
-}
-
-/* Get the value of h-szbit.  */
-
-BI
-sh64_h_szbit_get (SIM_CPU *current_cpu)
-{
-  return GET_H_SZBIT ();
-}
-
-/* Set a value for h-szbit.  */
-
-void
-sh64_h_szbit_set (SIM_CPU *current_cpu, BI newval)
-{
-  SET_H_SZBIT (newval);
-}
-
-/* Get the value of h-prbit.  */
-
-BI
-sh64_h_prbit_get (SIM_CPU *current_cpu)
-{
-  return GET_H_PRBIT ();
-}
-
-/* Set a value for h-prbit.  */
-
-void
-sh64_h_prbit_set (SIM_CPU *current_cpu, BI newval)
-{
-  SET_H_PRBIT (newval);
-}
-
-/* Get the value of h-sbit.  */
-
-BI
-sh64_h_sbit_get (SIM_CPU *current_cpu)
-{
-  return GET_H_SBIT ();
-}
-
-/* Set a value for h-sbit.  */
-
-void
-sh64_h_sbit_set (SIM_CPU *current_cpu, BI newval)
-{
-  SET_H_SBIT (newval);
-}
-
-/* Get the value of h-mbit.  */
-
-BI
-sh64_h_mbit_get (SIM_CPU *current_cpu)
-{
-  return GET_H_MBIT ();
-}
-
-/* Set a value for h-mbit.  */
-
-void
-sh64_h_mbit_set (SIM_CPU *current_cpu, BI newval)
-{
-  SET_H_MBIT (newval);
-}
-
-/* Get the value of h-qbit.  */
-
-BI
-sh64_h_qbit_get (SIM_CPU *current_cpu)
-{
-  return GET_H_QBIT ();
-}
-
-/* Set a value for h-qbit.  */
-
-void
-sh64_h_qbit_set (SIM_CPU *current_cpu, BI newval)
-{
-  SET_H_QBIT (newval);
-}
-
-/* Get the value of h-fr.  */
-
-SF
-sh64_h_fr_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return CPU (h_fr[regno]);
-}
-
-/* Set a value for h-fr.  */
-
-void
-sh64_h_fr_set (SIM_CPU *current_cpu, UINT regno, SF newval)
-{
-  CPU (h_fr[regno]) = newval;
-}
-
-/* Get the value of h-fp.  */
-
-SF
-sh64_h_fp_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return GET_H_FP (regno);
-}
-
-/* Set a value for h-fp.  */
-
-void
-sh64_h_fp_set (SIM_CPU *current_cpu, UINT regno, SF newval)
-{
-  SET_H_FP (regno, newval);
-}
-
-/* Get the value of h-fv.  */
-
-SF
-sh64_h_fv_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return GET_H_FV (regno);
-}
-
-/* Set a value for h-fv.  */
-
-void
-sh64_h_fv_set (SIM_CPU *current_cpu, UINT regno, SF newval)
-{
-  SET_H_FV (regno, newval);
-}
-
-/* Get the value of h-fmtx.  */
-
-SF
-sh64_h_fmtx_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return GET_H_FMTX (regno);
-}
-
-/* Set a value for h-fmtx.  */
-
-void
-sh64_h_fmtx_set (SIM_CPU *current_cpu, UINT regno, SF newval)
-{
-  SET_H_FMTX (regno, newval);
-}
-
-/* Get the value of h-dr.  */
-
-DF
-sh64_h_dr_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return GET_H_DR (regno);
-}
-
-/* Set a value for h-dr.  */
-
-void
-sh64_h_dr_set (SIM_CPU *current_cpu, UINT regno, DF newval)
-{
-  SET_H_DR (regno, newval);
-}
-
-/* Get the value of h-fsd.  */
-
-DF
-sh64_h_fsd_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return GET_H_FSD (regno);
-}
-
-/* Set a value for h-fsd.  */
-
-void
-sh64_h_fsd_set (SIM_CPU *current_cpu, UINT regno, DF newval)
-{
-  SET_H_FSD (regno, newval);
-}
-
-/* Get the value of h-fmov.  */
-
-DF
-sh64_h_fmov_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return GET_H_FMOV (regno);
-}
-
-/* Set a value for h-fmov.  */
-
-void
-sh64_h_fmov_set (SIM_CPU *current_cpu, UINT regno, DF newval)
-{
-  SET_H_FMOV (regno, newval);
-}
-
-/* Get the value of h-tr.  */
-
-DI
-sh64_h_tr_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return CPU (h_tr[regno]);
-}
-
-/* Set a value for h-tr.  */
-
-void
-sh64_h_tr_set (SIM_CPU *current_cpu, UINT regno, DI newval)
-{
-  CPU (h_tr[regno]) = newval;
-}
-
-/* Get the value of h-endian.  */
-
-BI
-sh64_h_endian_get (SIM_CPU *current_cpu)
-{
-  return GET_H_ENDIAN ();
-}
-
-/* Set a value for h-endian.  */
-
-void
-sh64_h_endian_set (SIM_CPU *current_cpu, BI newval)
-{
-  SET_H_ENDIAN (newval);
-}
-
-/* Get the value of h-ism.  */
-
-BI
-sh64_h_ism_get (SIM_CPU *current_cpu)
-{
-  return GET_H_ISM ();
-}
-
-/* Set a value for h-ism.  */
-
-void
-sh64_h_ism_set (SIM_CPU *current_cpu, BI newval)
-{
-  SET_H_ISM (newval);
-}
-
-/* Get the value of h-frc.  */
-
-SF
-sh64_h_frc_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return GET_H_FRC (regno);
-}
-
-/* Set a value for h-frc.  */
-
-void
-sh64_h_frc_set (SIM_CPU *current_cpu, UINT regno, SF newval)
-{
-  SET_H_FRC (regno, newval);
-}
-
-/* Get the value of h-drc.  */
-
-DF
-sh64_h_drc_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return GET_H_DRC (regno);
-}
-
-/* Set a value for h-drc.  */
-
-void
-sh64_h_drc_set (SIM_CPU *current_cpu, UINT regno, DF newval)
-{
-  SET_H_DRC (regno, newval);
-}
-
-/* Get the value of h-xf.  */
-
-SF
-sh64_h_xf_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return GET_H_XF (regno);
-}
-
-/* Set a value for h-xf.  */
-
-void
-sh64_h_xf_set (SIM_CPU *current_cpu, UINT regno, SF newval)
-{
-  SET_H_XF (regno, newval);
-}
-
-/* Get the value of h-xd.  */
-
-DF
-sh64_h_xd_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return GET_H_XD (regno);
-}
-
-/* Set a value for h-xd.  */
-
-void
-sh64_h_xd_set (SIM_CPU *current_cpu, UINT regno, DF newval)
-{
-  SET_H_XD (regno, newval);
-}
-
-/* Get the value of h-fvc.  */
-
-SF
-sh64_h_fvc_get (SIM_CPU *current_cpu, UINT regno)
-{
-  return GET_H_FVC (regno);
-}
-
-/* Set a value for h-fvc.  */
-
-void
-sh64_h_fvc_set (SIM_CPU *current_cpu, UINT regno, SF newval)
-{
-  SET_H_FVC (regno, newval);
-}
-
-/* Get the value of h-gbr.  */
-
-SI
-sh64_h_gbr_get (SIM_CPU *current_cpu)
-{
-  return GET_H_GBR ();
-}
-
-/* Set a value for h-gbr.  */
-
-void
-sh64_h_gbr_set (SIM_CPU *current_cpu, SI newval)
-{
-  SET_H_GBR (newval);
-}
-
-/* Get the value of h-vbr.  */
-
-SI
-sh64_h_vbr_get (SIM_CPU *current_cpu)
-{
-  return GET_H_VBR ();
-}
-
-/* Set a value for h-vbr.  */
-
-void
-sh64_h_vbr_set (SIM_CPU *current_cpu, SI newval)
-{
-  SET_H_VBR (newval);
-}
-
-/* Get the value of h-pr.  */
-
-SI
-sh64_h_pr_get (SIM_CPU *current_cpu)
-{
-  return GET_H_PR ();
-}
-
-/* Set a value for h-pr.  */
-
-void
-sh64_h_pr_set (SIM_CPU *current_cpu, SI newval)
-{
-  SET_H_PR (newval);
-}
-
-/* Get the value of h-macl.  */
-
-SI
-sh64_h_macl_get (SIM_CPU *current_cpu)
-{
-  return GET_H_MACL ();
-}
-
-/* Set a value for h-macl.  */
-
-void
-sh64_h_macl_set (SIM_CPU *current_cpu, SI newval)
-{
-  SET_H_MACL (newval);
-}
-
-/* Get the value of h-mach.  */
-
-SI
-sh64_h_mach_get (SIM_CPU *current_cpu)
-{
-  return GET_H_MACH ();
-}
-
-/* Set a value for h-mach.  */
-
-void
-sh64_h_mach_set (SIM_CPU *current_cpu, SI newval)
-{
-  SET_H_MACH (newval);
-}
-
-/* Get the value of h-tbit.  */
-
-BI
-sh64_h_tbit_get (SIM_CPU *current_cpu)
-{
-  return GET_H_TBIT ();
-}
-
-/* Set a value for h-tbit.  */
-
-void
-sh64_h_tbit_set (SIM_CPU *current_cpu, BI newval)
-{
-  SET_H_TBIT (newval);
-}
-
-/* Record trace results for INSN.  */
-
-void
-sh64_record_trace_results (SIM_CPU *current_cpu, CGEN_INSN *insn,
-                           int *indices, TRACE_RECORD *tr)
-{
-}
diff --git a/sim/sh64/cpu.h b/sim/sh64/cpu.h
deleted file mode 100644 (file)
index ae8957b..0000000
+++ /dev/null
@@ -1,341 +0,0 @@
-/* CPU family header for sh64.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996-2021 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   It 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 CPU_SH64_H
-#define CPU_SH64_H
-
-/* Maximum number of instructions that are fetched at a time.
-   This is for LIW type instructions sets (e.g. m32r).  */
-#define MAX_LIW_INSNS 1
-
-/* Maximum number of instructions that can be executed in parallel.  */
-#define MAX_PARALLEL_INSNS 1
-
-/* The size of an "int" needed to hold an instruction word.
-   This is usually 32 bits, but some architectures needs 64 bits.  */
-typedef CGEN_INSN_INT CGEN_INSN_WORD;
-
-#include "cgen-engine.h"
-
-/* CPU state information.  */
-typedef struct {
-  /* Hardware elements.  */
-  struct {
-  /* Program counter */
-  UDI h_pc;
-#define GET_H_PC() CPU (h_pc)
-#define SET_H_PC(x) \
-do { \
-{\
-CPU (h_ism) = ANDDI ((x), 1);\
-CPU (h_pc) = ANDDI ((x), INVDI (1));\
-}\
-;} while (0)
-  /* General purpose integer registers */
-  DI h_gr[64];
-#define GET_H_GR(index) ((((index) == (63))) ? (MAKEDI (0, 0)) : (CPU (h_gr[index])))
-#define SET_H_GR(index, x) \
-do { \
-if ((((index)) != (63))) {\
-CPU (h_gr[(index)]) = (x);\
-} else {\
-((void) 0); /*nop*/\
-}\
-;} while (0)
-  /* Control registers */
-  DI h_cr[64];
-#define GET_H_CR(index) ((((index) == (0))) ? (ZEXTSIDI (CPU (h_sr))) : (CPU (h_cr[index])))
-#define SET_H_CR(index, x) \
-do { \
-if ((((index)) == (0))) {\
-CPU (h_sr) = (x);\
-} else {\
-CPU (h_cr[(index)]) = (x);\
-}\
-;} while (0)
-  /* Status register */
-  SI h_sr;
-#define GET_H_SR() CPU (h_sr)
-#define SET_H_SR(x) (CPU (h_sr) = (x))
-  /* Floating point status and control register */
-  SI h_fpscr;
-#define GET_H_FPSCR() CPU (h_fpscr)
-#define SET_H_FPSCR(x) (CPU (h_fpscr) = (x))
-  /* Single precision floating point registers */
-  SF h_fr[64];
-#define GET_H_FR(a1) CPU (h_fr)[a1]
-#define SET_H_FR(a1, x) (CPU (h_fr)[a1] = (x))
-  /* Single/Double precision floating point registers */
-  DF h_fsd[16];
-#define GET_H_FSD(index) ((GET_H_PRBIT ()) ? (GET_H_DRC (index)) : (CGEN_CPU_FPU (current_cpu)->ops->fextsfdf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, CPU (h_fr[index]))))
-#define SET_H_FSD(index, x) \
-do { \
-if (GET_H_PRBIT ()) {\
-SET_H_DRC ((index), (x));\
-} else {\
-SET_H_FRC ((index), CGEN_CPU_FPU (current_cpu)->ops->ftruncdfsf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, (x)));\
-}\
-;} while (0)
-  /* floating point registers for fmov */
-  DF h_fmov[16];
-#define GET_H_FMOV(index) ((NOTBI (GET_H_SZBIT ())) ? (CGEN_CPU_FPU (current_cpu)->ops->fextsfdf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, GET_H_FRC (index))) : (((((((index) & (1))) == (1))) ? (GET_H_XD (((index) & ((~ (1)))))) : (GET_H_DR (index)))))
-#define SET_H_FMOV(index, x) \
-do { \
-if (NOTBI (GET_H_SZBIT ())) {\
-SET_H_FRC ((index), CGEN_CPU_FPU (current_cpu)->ops->ftruncdfsf (CGEN_CPU_FPU (current_cpu), FPCONV_DEFAULT, (x)));\
-} else {\
-if ((((((index)) & (1))) == (1))) {\
-SET_H_XD ((((index)) & ((~ (1)))), (x));\
-} else {\
-SET_H_DR ((index), (x));\
-}\
-}\
-;} while (0)
-  /* Branch target registers */
-  DI h_tr[8];
-#define GET_H_TR(a1) CPU (h_tr)[a1]
-#define SET_H_TR(a1, x) (CPU (h_tr)[a1] = (x))
-  /* Current instruction set mode */
-  BI h_ism;
-#define GET_H_ISM() CPU (h_ism)
-#define SET_H_ISM(x) \
-do { \
-cgen_rtx_error (current_cpu, "cannot set ism directly");\
-;} while (0)
-  } hardware;
-#define CPU_CGEN_HW(cpu) (& (cpu)->cpu_data.hardware)
-} SH64_CPU_DATA;
-
-/* Virtual regs.  */
-
-#define GET_H_GRC(index) ANDDI (CPU (h_gr[index]), ZEXTSIDI (0xffffffff))
-#define SET_H_GRC(index, x) \
-do { \
-CPU (h_gr[(index)]) = EXTSIDI ((x));\
-;} while (0)
-#define GET_H_FRBIT() ANDSI (SRLSI (CPU (h_fpscr), 21), 1)
-#define SET_H_FRBIT(x) \
-do { \
-CPU (h_fpscr) = ORSI (ANDSI (CPU (h_fpscr), (~ (((1) << (21))))), SLLSI ((x), 21));\
-;} while (0)
-#define GET_H_SZBIT() ANDSI (SRLSI (CPU (h_fpscr), 20), 1)
-#define SET_H_SZBIT(x) \
-do { \
-CPU (h_fpscr) = ORSI (ANDSI (CPU (h_fpscr), (~ (((1) << (20))))), SLLSI ((x), 20));\
-;} while (0)
-#define GET_H_PRBIT() ANDSI (SRLSI (CPU (h_fpscr), 19), 1)
-#define SET_H_PRBIT(x) \
-do { \
-CPU (h_fpscr) = ORSI (ANDSI (CPU (h_fpscr), (~ (((1) << (19))))), SLLSI ((x), 19));\
-;} while (0)
-#define GET_H_SBIT() ANDSI (SRLSI (CPU (h_sr), 1), 1)
-#define SET_H_SBIT(x) \
-do { \
-CPU (h_sr) = ORSI (ANDSI (CPU (h_sr), (~ (2))), SLLSI ((x), 1));\
-;} while (0)
-#define GET_H_MBIT() ANDSI (SRLSI (CPU (h_sr), 9), 1)
-#define SET_H_MBIT(x) \
-do { \
-CPU (h_sr) = ORSI (ANDSI (CPU (h_sr), (~ (((1) << (9))))), SLLSI ((x), 9));\
-;} while (0)
-#define GET_H_QBIT() ANDSI (SRLSI (CPU (h_sr), 8), 1)
-#define SET_H_QBIT(x) \
-do { \
-CPU (h_sr) = ORSI (ANDSI (CPU (h_sr), (~ (((1) << (8))))), SLLSI ((x), 8));\
-;} while (0)
-#define GET_H_FP(index) CPU (h_fr[index])
-#define SET_H_FP(index, x) \
-do { \
-CPU (h_fr[(index)]) = (x);\
-;} while (0)
-#define GET_H_FV(index) CPU (h_fr[index])
-#define SET_H_FV(index, x) \
-do { \
-CPU (h_fr[(index)]) = (x);\
-;} while (0)
-#define GET_H_FMTX(index) CPU (h_fr[index])
-#define SET_H_FMTX(index, x) \
-do { \
-CPU (h_fr[(index)]) = (x);\
-;} while (0)
-#define GET_H_DR(index) SUBWORDDIDF (ORDI (SLLDI (ZEXTSIDI (SUBWORDSFSI (CPU (h_fr[index]))), 32), ZEXTSIDI (SUBWORDSFSI (CPU (h_fr[((index) + (1))])))))
-#define SET_H_DR(index, x) \
-do { \
-{\
-CPU (h_fr[(index)]) = SUBWORDSISF (SUBWORDDFSI ((x), 0));\
-CPU (h_fr[(((index)) + (1))]) = SUBWORDSISF (SUBWORDDFSI ((x), 1));\
-}\
-;} while (0)
-#define GET_H_ENDIAN() sh64_endian (current_cpu)
-#define SET_H_ENDIAN(x) \
-do { \
-cgen_rtx_error (current_cpu, "cannot alter target byte order mid-program");\
-;} while (0)
-#define GET_H_FRC(index) CPU (h_fr[((((16) * (GET_H_FRBIT ()))) + (index))])
-#define SET_H_FRC(index, x) \
-do { \
-CPU (h_fr[((((16) * (GET_H_FRBIT ()))) + ((index)))]) = (x);\
-;} while (0)
-#define GET_H_DRC(index) GET_H_DR (((((16) * (GET_H_FRBIT ()))) + (index)))
-#define SET_H_DRC(index, x) \
-do { \
-SET_H_DR (((((16) * (GET_H_FRBIT ()))) + ((index))), (x));\
-;} while (0)
-#define GET_H_XF(index) CPU (h_fr[((((16) * (NOTBI (GET_H_FRBIT ())))) + (index))])
-#define SET_H_XF(index, x) \
-do { \
-CPU (h_fr[((((16) * (NOTBI (GET_H_FRBIT ())))) + ((index)))]) = (x);\
-;} while (0)
-#define GET_H_XD(index) GET_H_DR (((((16) * (NOTBI (GET_H_FRBIT ())))) + (index)))
-#define SET_H_XD(index, x) \
-do { \
-SET_H_DR (((((16) * (NOTBI (GET_H_FRBIT ())))) + ((index))), (x));\
-;} while (0)
-#define GET_H_FVC(index) CPU (h_fr[((((16) * (GET_H_FRBIT ()))) + (index))])
-#define SET_H_FVC(index, x) \
-do { \
-CPU (h_fr[((((16) * (GET_H_FRBIT ()))) + ((index)))]) = (x);\
-;} while (0)
-#define GET_H_GBR() SUBWORDDISI (CPU (h_gr[((UINT) 16)]), 1)
-#define SET_H_GBR(x) \
-do { \
-CPU (h_gr[((UINT) 16)]) = EXTSIDI ((x));\
-;} while (0)
-#define GET_H_VBR() SUBWORDDISI (CPU (h_gr[((UINT) 20)]), 1)
-#define SET_H_VBR(x) \
-do { \
-CPU (h_gr[((UINT) 20)]) = EXTSIDI ((x));\
-;} while (0)
-#define GET_H_PR() SUBWORDDISI (CPU (h_gr[((UINT) 18)]), 1)
-#define SET_H_PR(x) \
-do { \
-CPU (h_gr[((UINT) 18)]) = EXTSIDI ((x));\
-;} while (0)
-#define GET_H_MACL() SUBWORDDISI (CPU (h_gr[((UINT) 17)]), 1)
-#define SET_H_MACL(x) \
-do { \
-CPU (h_gr[((UINT) 17)]) = ORDI (SLLDI (ZEXTSIDI (SUBWORDDISI (CPU (h_gr[((UINT) 17)]), 0)), 32), ZEXTSIDI ((x)));\
-;} while (0)
-#define GET_H_MACH() SUBWORDDISI (CPU (h_gr[((UINT) 17)]), 0)
-#define SET_H_MACH(x) \
-do { \
-CPU (h_gr[((UINT) 17)]) = ORDI (SLLDI (ZEXTSIDI ((x)), 32), ZEXTSIDI (SUBWORDDISI (CPU (h_gr[((UINT) 17)]), 1)));\
-;} while (0)
-#define GET_H_TBIT() ANDBI (CPU (h_gr[((UINT) 19)]), 1)
-#define SET_H_TBIT(x) \
-do { \
-CPU (h_gr[((UINT) 19)]) = ORDI (ANDDI (CPU (h_gr[((UINT) 19)]), INVDI (1)), ZEXTBIDI ((x)));\
-;} while (0)
-
-/* Cover fns for register access.  */
-UDI sh64_h_pc_get (SIM_CPU *);
-void sh64_h_pc_set (SIM_CPU *, UDI);
-DI sh64_h_gr_get (SIM_CPU *, UINT);
-void sh64_h_gr_set (SIM_CPU *, UINT, DI);
-SI sh64_h_grc_get (SIM_CPU *, UINT);
-void sh64_h_grc_set (SIM_CPU *, UINT, SI);
-DI sh64_h_cr_get (SIM_CPU *, UINT);
-void sh64_h_cr_set (SIM_CPU *, UINT, DI);
-SI sh64_h_sr_get (SIM_CPU *);
-void sh64_h_sr_set (SIM_CPU *, SI);
-SI sh64_h_fpscr_get (SIM_CPU *);
-void sh64_h_fpscr_set (SIM_CPU *, SI);
-BI sh64_h_frbit_get (SIM_CPU *);
-void sh64_h_frbit_set (SIM_CPU *, BI);
-BI sh64_h_szbit_get (SIM_CPU *);
-void sh64_h_szbit_set (SIM_CPU *, BI);
-BI sh64_h_prbit_get (SIM_CPU *);
-void sh64_h_prbit_set (SIM_CPU *, BI);
-BI sh64_h_sbit_get (SIM_CPU *);
-void sh64_h_sbit_set (SIM_CPU *, BI);
-BI sh64_h_mbit_get (SIM_CPU *);
-void sh64_h_mbit_set (SIM_CPU *, BI);
-BI sh64_h_qbit_get (SIM_CPU *);
-void sh64_h_qbit_set (SIM_CPU *, BI);
-SF sh64_h_fr_get (SIM_CPU *, UINT);
-void sh64_h_fr_set (SIM_CPU *, UINT, SF);
-SF sh64_h_fp_get (SIM_CPU *, UINT);
-void sh64_h_fp_set (SIM_CPU *, UINT, SF);
-SF sh64_h_fv_get (SIM_CPU *, UINT);
-void sh64_h_fv_set (SIM_CPU *, UINT, SF);
-SF sh64_h_fmtx_get (SIM_CPU *, UINT);
-void sh64_h_fmtx_set (SIM_CPU *, UINT, SF);
-DF sh64_h_dr_get (SIM_CPU *, UINT);
-void sh64_h_dr_set (SIM_CPU *, UINT, DF);
-DF sh64_h_fsd_get (SIM_CPU *, UINT);
-void sh64_h_fsd_set (SIM_CPU *, UINT, DF);
-DF sh64_h_fmov_get (SIM_CPU *, UINT);
-void sh64_h_fmov_set (SIM_CPU *, UINT, DF);
-DI sh64_h_tr_get (SIM_CPU *, UINT);
-void sh64_h_tr_set (SIM_CPU *, UINT, DI);
-BI sh64_h_endian_get (SIM_CPU *);
-void sh64_h_endian_set (SIM_CPU *, BI);
-BI sh64_h_ism_get (SIM_CPU *);
-void sh64_h_ism_set (SIM_CPU *, BI);
-SF sh64_h_frc_get (SIM_CPU *, UINT);
-void sh64_h_frc_set (SIM_CPU *, UINT, SF);
-DF sh64_h_drc_get (SIM_CPU *, UINT);
-void sh64_h_drc_set (SIM_CPU *, UINT, DF);
-SF sh64_h_xf_get (SIM_CPU *, UINT);
-void sh64_h_xf_set (SIM_CPU *, UINT, SF);
-DF sh64_h_xd_get (SIM_CPU *, UINT);
-void sh64_h_xd_set (SIM_CPU *, UINT, DF);
-SF sh64_h_fvc_get (SIM_CPU *, UINT);
-void sh64_h_fvc_set (SIM_CPU *, UINT, SF);
-SI sh64_h_gbr_get (SIM_CPU *);
-void sh64_h_gbr_set (SIM_CPU *, SI);
-SI sh64_h_vbr_get (SIM_CPU *);
-void sh64_h_vbr_set (SIM_CPU *, SI);
-SI sh64_h_pr_get (SIM_CPU *);
-void sh64_h_pr_set (SIM_CPU *, SI);
-SI sh64_h_macl_get (SIM_CPU *);
-void sh64_h_macl_set (SIM_CPU *, SI);
-SI sh64_h_mach_get (SIM_CPU *);
-void sh64_h_mach_set (SIM_CPU *, SI);
-BI sh64_h_tbit_get (SIM_CPU *);
-void sh64_h_tbit_set (SIM_CPU *, BI);
-
-/* These must be hand-written.  */
-extern CPUREG_FETCH_FN sh64_fetch_register;
-extern CPUREG_STORE_FN sh64_store_register;
-
-typedef struct {
-  int empty;
-} MODEL_SH4_DATA;
-
-typedef struct {
-  int empty;
-} MODEL_SH5_DATA;
-
-typedef struct {
-  int empty;
-} MODEL_SH5_MEDIA_DATA;
-
-/* Collection of various things for the trace handler to use.  */
-
-typedef struct trace_record {
-  IADDR pc;
-  /* FIXME:wip */
-} TRACE_RECORD;
-
-#endif /* CPU_SH64_H */
diff --git a/sim/sh64/cpuall.h b/sim/sh64/cpuall.h
deleted file mode 100644 (file)
index 9bdec49..0000000
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Simulator CPU header for sh.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996-2021 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   It 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 SH_CPUALL_H
-#define SH_CPUALL_H
-
-/* Include files for each cpu family.  */
-
-#ifdef WANT_CPU_SH64
-#include "eng.h"
-#include "cpu.h"
-#include "decode.h"
-#endif
-
-extern const SIM_MACH sh2_mach;
-extern const SIM_MACH sh2e_mach;
-extern const SIM_MACH sh2a_fpu_mach;
-extern const SIM_MACH sh2a_nofpu_mach;
-extern const SIM_MACH sh3_mach;
-extern const SIM_MACH sh3e_mach;
-extern const SIM_MACH sh4_nofpu_mach;
-extern const SIM_MACH sh4_mach;
-extern const SIM_MACH sh4a_nofpu_mach;
-extern const SIM_MACH sh4a_mach;
-extern const SIM_MACH sh4al_mach;
-extern const SIM_MACH sh5_mach;
-
-#ifndef WANT_CPU
-/* The ARGBUF struct.  */
-struct argbuf {
-  /* These are the baseclass definitions.  */
-  IADDR addr;
-  const IDESC *idesc;
-  char trace_p;
-  char profile_p;
-  /* ??? Temporary hack for skip insns.  */
-  char skip_count;
-  char unused;
-  /* cpu specific data follows */
-};
-#endif
-
-#ifndef WANT_CPU
-/* A cached insn.
-
-   ??? SCACHE used to contain more than just argbuf.  We could delete the
-   type entirely and always just use ARGBUF, but for future concerns and as
-   a level of abstraction it is left in.  */
-
-struct scache {
-  struct argbuf argbuf;
-};
-#endif
-
-#endif /* SH_CPUALL_H */
diff --git a/sim/sh64/decode-compact.c b/sim/sh64/decode-compact.c
deleted file mode 100644 (file)
index 51f8f2c..0000000
+++ /dev/null
@@ -1,6134 +0,0 @@
-/* Simulator instruction decoder for sh64_compact.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996-2021 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   It is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License along
-   with this program; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#define WANT_CPU sh64
-#define WANT_CPU_SH64
-
-#include "sim-main.h"
-#include "sim-assert.h"
-
-/* The instruction descriptor array.
-   This is computed at runtime.  Space for it is not malloc'd to save a
-   teensy bit of cpu in the decoder.  Moving it to malloc space is trivial
-   but won't be done until necessary (we don't currently support the runtime
-   addition of instructions nor an SMP machine with different cpus).  */
-static IDESC sh64_compact_insn_data[SH64_COMPACT_INSN__MAX];
-
-/* Commas between elements are contained in the macros.
-   Some of these are conditionally compiled out.  */
-
-static const struct insn_sem sh64_compact_insn_sem[] =
-{
-  { VIRTUAL_INSN_X_INVALID, SH64_COMPACT_INSN_X_INVALID, SH64_COMPACT_SFMT_EMPTY },
-  { VIRTUAL_INSN_X_AFTER, SH64_COMPACT_INSN_X_AFTER, SH64_COMPACT_SFMT_EMPTY },
-  { VIRTUAL_INSN_X_BEFORE, SH64_COMPACT_INSN_X_BEFORE, SH64_COMPACT_SFMT_EMPTY },
-  { VIRTUAL_INSN_X_CTI_CHAIN, SH64_COMPACT_INSN_X_CTI_CHAIN, SH64_COMPACT_SFMT_EMPTY },
-  { VIRTUAL_INSN_X_CHAIN, SH64_COMPACT_INSN_X_CHAIN, SH64_COMPACT_SFMT_EMPTY },
-  { VIRTUAL_INSN_X_BEGIN, SH64_COMPACT_INSN_X_BEGIN, SH64_COMPACT_SFMT_EMPTY },
-  { SH_INSN_ADD_COMPACT, SH64_COMPACT_INSN_ADD_COMPACT, SH64_COMPACT_SFMT_ADD_COMPACT },
-  { SH_INSN_ADDI_COMPACT, SH64_COMPACT_INSN_ADDI_COMPACT, SH64_COMPACT_SFMT_ADDI_COMPACT },
-  { SH_INSN_ADDC_COMPACT, SH64_COMPACT_INSN_ADDC_COMPACT, SH64_COMPACT_SFMT_ADDC_COMPACT },
-  { SH_INSN_ADDV_COMPACT, SH64_COMPACT_INSN_ADDV_COMPACT, SH64_COMPACT_SFMT_ADDV_COMPACT },
-  { SH_INSN_AND_COMPACT, SH64_COMPACT_INSN_AND_COMPACT, SH64_COMPACT_SFMT_AND_COMPACT },
-  { SH_INSN_ANDI_COMPACT, SH64_COMPACT_INSN_ANDI_COMPACT, SH64_COMPACT_SFMT_ANDI_COMPACT },
-  { SH_INSN_ANDB_COMPACT, SH64_COMPACT_INSN_ANDB_COMPACT, SH64_COMPACT_SFMT_ANDB_COMPACT },
-  { SH_INSN_BF_COMPACT, SH64_COMPACT_INSN_BF_COMPACT, SH64_COMPACT_SFMT_BF_COMPACT },
-  { SH_INSN_BFS_COMPACT, SH64_COMPACT_INSN_BFS_COMPACT, SH64_COMPACT_SFMT_BFS_COMPACT },
-  { SH_INSN_BRA_COMPACT, SH64_COMPACT_INSN_BRA_COMPACT, SH64_COMPACT_SFMT_BRA_COMPACT },
-  { SH_INSN_BRAF_COMPACT, SH64_COMPACT_INSN_BRAF_COMPACT, SH64_COMPACT_SFMT_BRAF_COMPACT },
-  { SH_INSN_BRK_COMPACT, SH64_COMPACT_INSN_BRK_COMPACT, SH64_COMPACT_SFMT_BRK_COMPACT },
-  { SH_INSN_BSR_COMPACT, SH64_COMPACT_INSN_BSR_COMPACT, SH64_COMPACT_SFMT_BSR_COMPACT },
-  { SH_INSN_BSRF_COMPACT, SH64_COMPACT_INSN_BSRF_COMPACT, SH64_COMPACT_SFMT_BSRF_COMPACT },
-  { SH_INSN_BT_COMPACT, SH64_COMPACT_INSN_BT_COMPACT, SH64_COMPACT_SFMT_BF_COMPACT },
-  { SH_INSN_BTS_COMPACT, SH64_COMPACT_INSN_BTS_COMPACT, SH64_COMPACT_SFMT_BFS_COMPACT },
-  { SH_INSN_CLRMAC_COMPACT, SH64_COMPACT_INSN_CLRMAC_COMPACT, SH64_COMPACT_SFMT_CLRMAC_COMPACT },
-  { SH_INSN_CLRS_COMPACT, SH64_COMPACT_INSN_CLRS_COMPACT, SH64_COMPACT_SFMT_CLRS_COMPACT },
-  { SH_INSN_CLRT_COMPACT, SH64_COMPACT_INSN_CLRT_COMPACT, SH64_COMPACT_SFMT_CLRT_COMPACT },
-  { SH_INSN_CMPEQ_COMPACT, SH64_COMPACT_INSN_CMPEQ_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
-  { SH_INSN_CMPEQI_COMPACT, SH64_COMPACT_INSN_CMPEQI_COMPACT, SH64_COMPACT_SFMT_CMPEQI_COMPACT },
-  { SH_INSN_CMPGE_COMPACT, SH64_COMPACT_INSN_CMPGE_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
-  { SH_INSN_CMPGT_COMPACT, SH64_COMPACT_INSN_CMPGT_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
-  { SH_INSN_CMPHI_COMPACT, SH64_COMPACT_INSN_CMPHI_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
-  { SH_INSN_CMPHS_COMPACT, SH64_COMPACT_INSN_CMPHS_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
-  { SH_INSN_CMPPL_COMPACT, SH64_COMPACT_INSN_CMPPL_COMPACT, SH64_COMPACT_SFMT_CMPPL_COMPACT },
-  { SH_INSN_CMPPZ_COMPACT, SH64_COMPACT_INSN_CMPPZ_COMPACT, SH64_COMPACT_SFMT_CMPPL_COMPACT },
-  { SH_INSN_CMPSTR_COMPACT, SH64_COMPACT_INSN_CMPSTR_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
-  { SH_INSN_DIV0S_COMPACT, SH64_COMPACT_INSN_DIV0S_COMPACT, SH64_COMPACT_SFMT_DIV0S_COMPACT },
-  { SH_INSN_DIV0U_COMPACT, SH64_COMPACT_INSN_DIV0U_COMPACT, SH64_COMPACT_SFMT_DIV0U_COMPACT },
-  { SH_INSN_DIV1_COMPACT, SH64_COMPACT_INSN_DIV1_COMPACT, SH64_COMPACT_SFMT_DIV1_COMPACT },
-  { SH_INSN_DIVU_COMPACT, SH64_COMPACT_INSN_DIVU_COMPACT, SH64_COMPACT_SFMT_DIVU_COMPACT },
-  { SH_INSN_MULR_COMPACT, SH64_COMPACT_INSN_MULR_COMPACT, SH64_COMPACT_SFMT_DIVU_COMPACT },
-  { SH_INSN_DMULSL_COMPACT, SH64_COMPACT_INSN_DMULSL_COMPACT, SH64_COMPACT_SFMT_DMULSL_COMPACT },
-  { SH_INSN_DMULUL_COMPACT, SH64_COMPACT_INSN_DMULUL_COMPACT, SH64_COMPACT_SFMT_DMULSL_COMPACT },
-  { SH_INSN_DT_COMPACT, SH64_COMPACT_INSN_DT_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
-  { SH_INSN_EXTSB_COMPACT, SH64_COMPACT_INSN_EXTSB_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
-  { SH_INSN_EXTSW_COMPACT, SH64_COMPACT_INSN_EXTSW_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
-  { SH_INSN_EXTUB_COMPACT, SH64_COMPACT_INSN_EXTUB_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
-  { SH_INSN_EXTUW_COMPACT, SH64_COMPACT_INSN_EXTUW_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
-  { SH_INSN_FABS_COMPACT, SH64_COMPACT_INSN_FABS_COMPACT, SH64_COMPACT_SFMT_FABS_COMPACT },
-  { SH_INSN_FADD_COMPACT, SH64_COMPACT_INSN_FADD_COMPACT, SH64_COMPACT_SFMT_FADD_COMPACT },
-  { SH_INSN_FCMPEQ_COMPACT, SH64_COMPACT_INSN_FCMPEQ_COMPACT, SH64_COMPACT_SFMT_FCMPEQ_COMPACT },
-  { SH_INSN_FCMPGT_COMPACT, SH64_COMPACT_INSN_FCMPGT_COMPACT, SH64_COMPACT_SFMT_FCMPEQ_COMPACT },
-  { SH_INSN_FCNVDS_COMPACT, SH64_COMPACT_INSN_FCNVDS_COMPACT, SH64_COMPACT_SFMT_FCNVDS_COMPACT },
-  { SH_INSN_FCNVSD_COMPACT, SH64_COMPACT_INSN_FCNVSD_COMPACT, SH64_COMPACT_SFMT_FCNVSD_COMPACT },
-  { SH_INSN_FDIV_COMPACT, SH64_COMPACT_INSN_FDIV_COMPACT, SH64_COMPACT_SFMT_FADD_COMPACT },
-  { SH_INSN_FIPR_COMPACT, SH64_COMPACT_INSN_FIPR_COMPACT, SH64_COMPACT_SFMT_FIPR_COMPACT },
-  { SH_INSN_FLDS_COMPACT, SH64_COMPACT_INSN_FLDS_COMPACT, SH64_COMPACT_SFMT_FLDS_COMPACT },
-  { SH_INSN_FLDI0_COMPACT, SH64_COMPACT_INSN_FLDI0_COMPACT, SH64_COMPACT_SFMT_FLDI0_COMPACT },
-  { SH_INSN_FLDI1_COMPACT, SH64_COMPACT_INSN_FLDI1_COMPACT, SH64_COMPACT_SFMT_FLDI0_COMPACT },
-  { SH_INSN_FLOAT_COMPACT, SH64_COMPACT_INSN_FLOAT_COMPACT, SH64_COMPACT_SFMT_FLOAT_COMPACT },
-  { SH_INSN_FMAC_COMPACT, SH64_COMPACT_INSN_FMAC_COMPACT, SH64_COMPACT_SFMT_FMAC_COMPACT },
-  { SH_INSN_FMOV1_COMPACT, SH64_COMPACT_INSN_FMOV1_COMPACT, SH64_COMPACT_SFMT_FMOV1_COMPACT },
-  { SH_INSN_FMOV2_COMPACT, SH64_COMPACT_INSN_FMOV2_COMPACT, SH64_COMPACT_SFMT_FMOV2_COMPACT },
-  { SH_INSN_FMOV3_COMPACT, SH64_COMPACT_INSN_FMOV3_COMPACT, SH64_COMPACT_SFMT_FMOV3_COMPACT },
-  { SH_INSN_FMOV4_COMPACT, SH64_COMPACT_INSN_FMOV4_COMPACT, SH64_COMPACT_SFMT_FMOV4_COMPACT },
-  { SH_INSN_FMOV5_COMPACT, SH64_COMPACT_INSN_FMOV5_COMPACT, SH64_COMPACT_SFMT_FMOV5_COMPACT },
-  { SH_INSN_FMOV6_COMPACT, SH64_COMPACT_INSN_FMOV6_COMPACT, SH64_COMPACT_SFMT_FMOV6_COMPACT },
-  { SH_INSN_FMOV7_COMPACT, SH64_COMPACT_INSN_FMOV7_COMPACT, SH64_COMPACT_SFMT_FMOV7_COMPACT },
-  { SH_INSN_FMOV8_COMPACT, SH64_COMPACT_INSN_FMOV8_COMPACT, SH64_COMPACT_SFMT_FMOV8_COMPACT },
-  { SH_INSN_FMOV9_COMPACT, SH64_COMPACT_INSN_FMOV9_COMPACT, SH64_COMPACT_SFMT_FMOV9_COMPACT },
-  { SH_INSN_FMUL_COMPACT, SH64_COMPACT_INSN_FMUL_COMPACT, SH64_COMPACT_SFMT_FADD_COMPACT },
-  { SH_INSN_FNEG_COMPACT, SH64_COMPACT_INSN_FNEG_COMPACT, SH64_COMPACT_SFMT_FABS_COMPACT },
-  { SH_INSN_FRCHG_COMPACT, SH64_COMPACT_INSN_FRCHG_COMPACT, SH64_COMPACT_SFMT_FRCHG_COMPACT },
-  { SH_INSN_FSCHG_COMPACT, SH64_COMPACT_INSN_FSCHG_COMPACT, SH64_COMPACT_SFMT_FSCHG_COMPACT },
-  { SH_INSN_FSQRT_COMPACT, SH64_COMPACT_INSN_FSQRT_COMPACT, SH64_COMPACT_SFMT_FABS_COMPACT },
-  { SH_INSN_FSTS_COMPACT, SH64_COMPACT_INSN_FSTS_COMPACT, SH64_COMPACT_SFMT_FSTS_COMPACT },
-  { SH_INSN_FSUB_COMPACT, SH64_COMPACT_INSN_FSUB_COMPACT, SH64_COMPACT_SFMT_FADD_COMPACT },
-  { SH_INSN_FTRC_COMPACT, SH64_COMPACT_INSN_FTRC_COMPACT, SH64_COMPACT_SFMT_FTRC_COMPACT },
-  { SH_INSN_FTRV_COMPACT, SH64_COMPACT_INSN_FTRV_COMPACT, SH64_COMPACT_SFMT_FTRV_COMPACT },
-  { SH_INSN_JMP_COMPACT, SH64_COMPACT_INSN_JMP_COMPACT, SH64_COMPACT_SFMT_BRAF_COMPACT },
-  { SH_INSN_JSR_COMPACT, SH64_COMPACT_INSN_JSR_COMPACT, SH64_COMPACT_SFMT_BSRF_COMPACT },
-  { SH_INSN_LDC_GBR_COMPACT, SH64_COMPACT_INSN_LDC_GBR_COMPACT, SH64_COMPACT_SFMT_LDC_GBR_COMPACT },
-  { SH_INSN_LDC_VBR_COMPACT, SH64_COMPACT_INSN_LDC_VBR_COMPACT, SH64_COMPACT_SFMT_LDC_VBR_COMPACT },
-  { SH_INSN_LDC_SR_COMPACT, SH64_COMPACT_INSN_LDC_SR_COMPACT, SH64_COMPACT_SFMT_LDC_SR_COMPACT },
-  { SH_INSN_LDCL_GBR_COMPACT, SH64_COMPACT_INSN_LDCL_GBR_COMPACT, SH64_COMPACT_SFMT_LDCL_GBR_COMPACT },
-  { SH_INSN_LDCL_VBR_COMPACT, SH64_COMPACT_INSN_LDCL_VBR_COMPACT, SH64_COMPACT_SFMT_LDCL_VBR_COMPACT },
-  { SH_INSN_LDS_FPSCR_COMPACT, SH64_COMPACT_INSN_LDS_FPSCR_COMPACT, SH64_COMPACT_SFMT_LDS_FPSCR_COMPACT },
-  { SH_INSN_LDSL_FPSCR_COMPACT, SH64_COMPACT_INSN_LDSL_FPSCR_COMPACT, SH64_COMPACT_SFMT_LDSL_FPSCR_COMPACT },
-  { SH_INSN_LDS_FPUL_COMPACT, SH64_COMPACT_INSN_LDS_FPUL_COMPACT, SH64_COMPACT_SFMT_LDS_FPUL_COMPACT },
-  { SH_INSN_LDSL_FPUL_COMPACT, SH64_COMPACT_INSN_LDSL_FPUL_COMPACT, SH64_COMPACT_SFMT_LDSL_FPUL_COMPACT },
-  { SH_INSN_LDS_MACH_COMPACT, SH64_COMPACT_INSN_LDS_MACH_COMPACT, SH64_COMPACT_SFMT_LDS_MACH_COMPACT },
-  { SH_INSN_LDSL_MACH_COMPACT, SH64_COMPACT_INSN_LDSL_MACH_COMPACT, SH64_COMPACT_SFMT_LDSL_MACH_COMPACT },
-  { SH_INSN_LDS_MACL_COMPACT, SH64_COMPACT_INSN_LDS_MACL_COMPACT, SH64_COMPACT_SFMT_LDS_MACL_COMPACT },
-  { SH_INSN_LDSL_MACL_COMPACT, SH64_COMPACT_INSN_LDSL_MACL_COMPACT, SH64_COMPACT_SFMT_LDSL_MACL_COMPACT },
-  { SH_INSN_LDS_PR_COMPACT, SH64_COMPACT_INSN_LDS_PR_COMPACT, SH64_COMPACT_SFMT_LDS_PR_COMPACT },
-  { SH_INSN_LDSL_PR_COMPACT, SH64_COMPACT_INSN_LDSL_PR_COMPACT, SH64_COMPACT_SFMT_LDSL_PR_COMPACT },
-  { SH_INSN_MACL_COMPACT, SH64_COMPACT_INSN_MACL_COMPACT, SH64_COMPACT_SFMT_MACL_COMPACT },
-  { SH_INSN_MACW_COMPACT, SH64_COMPACT_INSN_MACW_COMPACT, SH64_COMPACT_SFMT_MACW_COMPACT },
-  { SH_INSN_MOV_COMPACT, SH64_COMPACT_INSN_MOV_COMPACT, SH64_COMPACT_SFMT_MOV_COMPACT },
-  { SH_INSN_MOVI_COMPACT, SH64_COMPACT_INSN_MOVI_COMPACT, SH64_COMPACT_SFMT_MOVI_COMPACT },
-  { SH_INSN_MOVI20_COMPACT, SH64_COMPACT_INSN_MOVI20_COMPACT, SH64_COMPACT_SFMT_MOVI20_COMPACT },
-  { SH_INSN_MOVB1_COMPACT, SH64_COMPACT_INSN_MOVB1_COMPACT, SH64_COMPACT_SFMT_MOVB1_COMPACT },
-  { SH_INSN_MOVB2_COMPACT, SH64_COMPACT_INSN_MOVB2_COMPACT, SH64_COMPACT_SFMT_MOVB2_COMPACT },
-  { SH_INSN_MOVB3_COMPACT, SH64_COMPACT_INSN_MOVB3_COMPACT, SH64_COMPACT_SFMT_MOVB3_COMPACT },
-  { SH_INSN_MOVB4_COMPACT, SH64_COMPACT_INSN_MOVB4_COMPACT, SH64_COMPACT_SFMT_MOVB4_COMPACT },
-  { SH_INSN_MOVB5_COMPACT, SH64_COMPACT_INSN_MOVB5_COMPACT, SH64_COMPACT_SFMT_MOVB5_COMPACT },
-  { SH_INSN_MOVB6_COMPACT, SH64_COMPACT_INSN_MOVB6_COMPACT, SH64_COMPACT_SFMT_MOVB6_COMPACT },
-  { SH_INSN_MOVB7_COMPACT, SH64_COMPACT_INSN_MOVB7_COMPACT, SH64_COMPACT_SFMT_MOVB7_COMPACT },
-  { SH_INSN_MOVB8_COMPACT, SH64_COMPACT_INSN_MOVB8_COMPACT, SH64_COMPACT_SFMT_MOVB8_COMPACT },
-  { SH_INSN_MOVB9_COMPACT, SH64_COMPACT_INSN_MOVB9_COMPACT, SH64_COMPACT_SFMT_MOVB9_COMPACT },
-  { SH_INSN_MOVB10_COMPACT, SH64_COMPACT_INSN_MOVB10_COMPACT, SH64_COMPACT_SFMT_MOVB10_COMPACT },
-  { SH_INSN_MOVL1_COMPACT, SH64_COMPACT_INSN_MOVL1_COMPACT, SH64_COMPACT_SFMT_MOVL1_COMPACT },
-  { SH_INSN_MOVL2_COMPACT, SH64_COMPACT_INSN_MOVL2_COMPACT, SH64_COMPACT_SFMT_MOVL2_COMPACT },
-  { SH_INSN_MOVL3_COMPACT, SH64_COMPACT_INSN_MOVL3_COMPACT, SH64_COMPACT_SFMT_MOVL3_COMPACT },
-  { SH_INSN_MOVL4_COMPACT, SH64_COMPACT_INSN_MOVL4_COMPACT, SH64_COMPACT_SFMT_MOVL4_COMPACT },
-  { SH_INSN_MOVL5_COMPACT, SH64_COMPACT_INSN_MOVL5_COMPACT, SH64_COMPACT_SFMT_MOVL5_COMPACT },
-  { SH_INSN_MOVL6_COMPACT, SH64_COMPACT_INSN_MOVL6_COMPACT, SH64_COMPACT_SFMT_MOVL6_COMPACT },
-  { SH_INSN_MOVL7_COMPACT, SH64_COMPACT_INSN_MOVL7_COMPACT, SH64_COMPACT_SFMT_MOVL7_COMPACT },
-  { SH_INSN_MOVL8_COMPACT, SH64_COMPACT_INSN_MOVL8_COMPACT, SH64_COMPACT_SFMT_MOVL8_COMPACT },
-  { SH_INSN_MOVL9_COMPACT, SH64_COMPACT_INSN_MOVL9_COMPACT, SH64_COMPACT_SFMT_MOVL9_COMPACT },
-  { SH_INSN_MOVL10_COMPACT, SH64_COMPACT_INSN_MOVL10_COMPACT, SH64_COMPACT_SFMT_MOVL10_COMPACT },
-  { SH_INSN_MOVL11_COMPACT, SH64_COMPACT_INSN_MOVL11_COMPACT, SH64_COMPACT_SFMT_MOVL11_COMPACT },
-  { SH_INSN_MOVL12_COMPACT, SH64_COMPACT_INSN_MOVL12_COMPACT, SH64_COMPACT_SFMT_MOVL12_COMPACT },
-  { SH_INSN_MOVL13_COMPACT, SH64_COMPACT_INSN_MOVL13_COMPACT, SH64_COMPACT_SFMT_MOVL13_COMPACT },
-  { SH_INSN_MOVW1_COMPACT, SH64_COMPACT_INSN_MOVW1_COMPACT, SH64_COMPACT_SFMT_MOVW1_COMPACT },
-  { SH_INSN_MOVW2_COMPACT, SH64_COMPACT_INSN_MOVW2_COMPACT, SH64_COMPACT_SFMT_MOVW2_COMPACT },
-  { SH_INSN_MOVW3_COMPACT, SH64_COMPACT_INSN_MOVW3_COMPACT, SH64_COMPACT_SFMT_MOVW3_COMPACT },
-  { SH_INSN_MOVW4_COMPACT, SH64_COMPACT_INSN_MOVW4_COMPACT, SH64_COMPACT_SFMT_MOVW4_COMPACT },
-  { SH_INSN_MOVW5_COMPACT, SH64_COMPACT_INSN_MOVW5_COMPACT, SH64_COMPACT_SFMT_MOVW5_COMPACT },
-  { SH_INSN_MOVW6_COMPACT, SH64_COMPACT_INSN_MOVW6_COMPACT, SH64_COMPACT_SFMT_MOVW6_COMPACT },
-  { SH_INSN_MOVW7_COMPACT, SH64_COMPACT_INSN_MOVW7_COMPACT, SH64_COMPACT_SFMT_MOVW7_COMPACT },
-  { SH_INSN_MOVW8_COMPACT, SH64_COMPACT_INSN_MOVW8_COMPACT, SH64_COMPACT_SFMT_MOVW8_COMPACT },
-  { SH_INSN_MOVW9_COMPACT, SH64_COMPACT_INSN_MOVW9_COMPACT, SH64_COMPACT_SFMT_MOVW9_COMPACT },
-  { SH_INSN_MOVW10_COMPACT, SH64_COMPACT_INSN_MOVW10_COMPACT, SH64_COMPACT_SFMT_MOVW10_COMPACT },
-  { SH_INSN_MOVW11_COMPACT, SH64_COMPACT_INSN_MOVW11_COMPACT, SH64_COMPACT_SFMT_MOVW11_COMPACT },
-  { SH_INSN_MOVA_COMPACT, SH64_COMPACT_INSN_MOVA_COMPACT, SH64_COMPACT_SFMT_MOVA_COMPACT },
-  { SH_INSN_MOVCAL_COMPACT, SH64_COMPACT_INSN_MOVCAL_COMPACT, SH64_COMPACT_SFMT_MOVCAL_COMPACT },
-  { SH_INSN_MOVCOL_COMPACT, SH64_COMPACT_INSN_MOVCOL_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
-  { SH_INSN_MOVT_COMPACT, SH64_COMPACT_INSN_MOVT_COMPACT, SH64_COMPACT_SFMT_MOVT_COMPACT },
-  { SH_INSN_MOVUAL_COMPACT, SH64_COMPACT_INSN_MOVUAL_COMPACT, SH64_COMPACT_SFMT_MOVUAL_COMPACT },
-  { SH_INSN_MOVUAL2_COMPACT, SH64_COMPACT_INSN_MOVUAL2_COMPACT, SH64_COMPACT_SFMT_MOVUAL2_COMPACT },
-  { SH_INSN_MULL_COMPACT, SH64_COMPACT_INSN_MULL_COMPACT, SH64_COMPACT_SFMT_MULL_COMPACT },
-  { SH_INSN_MULSW_COMPACT, SH64_COMPACT_INSN_MULSW_COMPACT, SH64_COMPACT_SFMT_MULL_COMPACT },
-  { SH_INSN_MULUW_COMPACT, SH64_COMPACT_INSN_MULUW_COMPACT, SH64_COMPACT_SFMT_MULL_COMPACT },
-  { SH_INSN_NEG_COMPACT, SH64_COMPACT_INSN_NEG_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
-  { SH_INSN_NEGC_COMPACT, SH64_COMPACT_INSN_NEGC_COMPACT, SH64_COMPACT_SFMT_NEGC_COMPACT },
-  { SH_INSN_NOP_COMPACT, SH64_COMPACT_INSN_NOP_COMPACT, SH64_COMPACT_SFMT_NOP_COMPACT },
-  { SH_INSN_NOT_COMPACT, SH64_COMPACT_INSN_NOT_COMPACT, SH64_COMPACT_SFMT_MOV_COMPACT },
-  { SH_INSN_OCBI_COMPACT, SH64_COMPACT_INSN_OCBI_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
-  { SH_INSN_OCBP_COMPACT, SH64_COMPACT_INSN_OCBP_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
-  { SH_INSN_OCBWB_COMPACT, SH64_COMPACT_INSN_OCBWB_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
-  { SH_INSN_OR_COMPACT, SH64_COMPACT_INSN_OR_COMPACT, SH64_COMPACT_SFMT_AND_COMPACT },
-  { SH_INSN_ORI_COMPACT, SH64_COMPACT_INSN_ORI_COMPACT, SH64_COMPACT_SFMT_ANDI_COMPACT },
-  { SH_INSN_ORB_COMPACT, SH64_COMPACT_INSN_ORB_COMPACT, SH64_COMPACT_SFMT_ANDB_COMPACT },
-  { SH_INSN_PREF_COMPACT, SH64_COMPACT_INSN_PREF_COMPACT, SH64_COMPACT_SFMT_PREF_COMPACT },
-  { SH_INSN_ROTCL_COMPACT, SH64_COMPACT_INSN_ROTCL_COMPACT, SH64_COMPACT_SFMT_ROTCL_COMPACT },
-  { SH_INSN_ROTCR_COMPACT, SH64_COMPACT_INSN_ROTCR_COMPACT, SH64_COMPACT_SFMT_ROTCL_COMPACT },
-  { SH_INSN_ROTL_COMPACT, SH64_COMPACT_INSN_ROTL_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
-  { SH_INSN_ROTR_COMPACT, SH64_COMPACT_INSN_ROTR_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
-  { SH_INSN_RTS_COMPACT, SH64_COMPACT_INSN_RTS_COMPACT, SH64_COMPACT_SFMT_RTS_COMPACT },
-  { SH_INSN_SETS_COMPACT, SH64_COMPACT_INSN_SETS_COMPACT, SH64_COMPACT_SFMT_CLRS_COMPACT },
-  { SH_INSN_SETT_COMPACT, SH64_COMPACT_INSN_SETT_COMPACT, SH64_COMPACT_SFMT_CLRT_COMPACT },
-  { SH_INSN_SHAD_COMPACT, SH64_COMPACT_INSN_SHAD_COMPACT, SH64_COMPACT_SFMT_SHAD_COMPACT },
-  { SH_INSN_SHAL_COMPACT, SH64_COMPACT_INSN_SHAL_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
-  { SH_INSN_SHAR_COMPACT, SH64_COMPACT_INSN_SHAR_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
-  { SH_INSN_SHLD_COMPACT, SH64_COMPACT_INSN_SHLD_COMPACT, SH64_COMPACT_SFMT_SHAD_COMPACT },
-  { SH_INSN_SHLL_COMPACT, SH64_COMPACT_INSN_SHLL_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
-  { SH_INSN_SHLL2_COMPACT, SH64_COMPACT_INSN_SHLL2_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
-  { SH_INSN_SHLL8_COMPACT, SH64_COMPACT_INSN_SHLL8_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
-  { SH_INSN_SHLL16_COMPACT, SH64_COMPACT_INSN_SHLL16_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
-  { SH_INSN_SHLR_COMPACT, SH64_COMPACT_INSN_SHLR_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT },
-  { SH_INSN_SHLR2_COMPACT, SH64_COMPACT_INSN_SHLR2_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
-  { SH_INSN_SHLR8_COMPACT, SH64_COMPACT_INSN_SHLR8_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
-  { SH_INSN_SHLR16_COMPACT, SH64_COMPACT_INSN_SHLR16_COMPACT, SH64_COMPACT_SFMT_MOVCOL_COMPACT },
-  { SH_INSN_STC_GBR_COMPACT, SH64_COMPACT_INSN_STC_GBR_COMPACT, SH64_COMPACT_SFMT_STC_GBR_COMPACT },
-  { SH_INSN_STC_VBR_COMPACT, SH64_COMPACT_INSN_STC_VBR_COMPACT, SH64_COMPACT_SFMT_STC_VBR_COMPACT },
-  { SH_INSN_STCL_GBR_COMPACT, SH64_COMPACT_INSN_STCL_GBR_COMPACT, SH64_COMPACT_SFMT_STCL_GBR_COMPACT },
-  { SH_INSN_STCL_VBR_COMPACT, SH64_COMPACT_INSN_STCL_VBR_COMPACT, SH64_COMPACT_SFMT_STCL_VBR_COMPACT },
-  { SH_INSN_STS_FPSCR_COMPACT, SH64_COMPACT_INSN_STS_FPSCR_COMPACT, SH64_COMPACT_SFMT_STS_FPSCR_COMPACT },
-  { SH_INSN_STSL_FPSCR_COMPACT, SH64_COMPACT_INSN_STSL_FPSCR_COMPACT, SH64_COMPACT_SFMT_STSL_FPSCR_COMPACT },
-  { SH_INSN_STS_FPUL_COMPACT, SH64_COMPACT_INSN_STS_FPUL_COMPACT, SH64_COMPACT_SFMT_STS_FPUL_COMPACT },
-  { SH_INSN_STSL_FPUL_COMPACT, SH64_COMPACT_INSN_STSL_FPUL_COMPACT, SH64_COMPACT_SFMT_STSL_FPUL_COMPACT },
-  { SH_INSN_STS_MACH_COMPACT, SH64_COMPACT_INSN_STS_MACH_COMPACT, SH64_COMPACT_SFMT_STS_MACH_COMPACT },
-  { SH_INSN_STSL_MACH_COMPACT, SH64_COMPACT_INSN_STSL_MACH_COMPACT, SH64_COMPACT_SFMT_STSL_MACH_COMPACT },
-  { SH_INSN_STS_MACL_COMPACT, SH64_COMPACT_INSN_STS_MACL_COMPACT, SH64_COMPACT_SFMT_STS_MACL_COMPACT },
-  { SH_INSN_STSL_MACL_COMPACT, SH64_COMPACT_INSN_STSL_MACL_COMPACT, SH64_COMPACT_SFMT_STSL_MACL_COMPACT },
-  { SH_INSN_STS_PR_COMPACT, SH64_COMPACT_INSN_STS_PR_COMPACT, SH64_COMPACT_SFMT_STS_PR_COMPACT },
-  { SH_INSN_STSL_PR_COMPACT, SH64_COMPACT_INSN_STSL_PR_COMPACT, SH64_COMPACT_SFMT_STSL_PR_COMPACT },
-  { SH_INSN_SUB_COMPACT, SH64_COMPACT_INSN_SUB_COMPACT, SH64_COMPACT_SFMT_ADD_COMPACT },
-  { SH_INSN_SUBC_COMPACT, SH64_COMPACT_INSN_SUBC_COMPACT, SH64_COMPACT_SFMT_ADDC_COMPACT },
-  { SH_INSN_SUBV_COMPACT, SH64_COMPACT_INSN_SUBV_COMPACT, SH64_COMPACT_SFMT_ADDV_COMPACT },
-  { SH_INSN_SWAPB_COMPACT, SH64_COMPACT_INSN_SWAPB_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
-  { SH_INSN_SWAPW_COMPACT, SH64_COMPACT_INSN_SWAPW_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT },
-  { SH_INSN_TASB_COMPACT, SH64_COMPACT_INSN_TASB_COMPACT, SH64_COMPACT_SFMT_TASB_COMPACT },
-  { SH_INSN_TRAPA_COMPACT, SH64_COMPACT_INSN_TRAPA_COMPACT, SH64_COMPACT_SFMT_TRAPA_COMPACT },
-  { SH_INSN_TST_COMPACT, SH64_COMPACT_INSN_TST_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT },
-  { SH_INSN_TSTI_COMPACT, SH64_COMPACT_INSN_TSTI_COMPACT, SH64_COMPACT_SFMT_TSTI_COMPACT },
-  { SH_INSN_TSTB_COMPACT, SH64_COMPACT_INSN_TSTB_COMPACT, SH64_COMPACT_SFMT_TSTB_COMPACT },
-  { SH_INSN_XOR_COMPACT, SH64_COMPACT_INSN_XOR_COMPACT, SH64_COMPACT_SFMT_AND_COMPACT },
-  { SH_INSN_XORI_COMPACT, SH64_COMPACT_INSN_XORI_COMPACT, SH64_COMPACT_SFMT_ANDI_COMPACT },
-  { SH_INSN_XORB_COMPACT, SH64_COMPACT_INSN_XORB_COMPACT, SH64_COMPACT_SFMT_ANDB_COMPACT },
-  { SH_INSN_XTRCT_COMPACT, SH64_COMPACT_INSN_XTRCT_COMPACT, SH64_COMPACT_SFMT_ADD_COMPACT },
-};
-
-static const struct insn_sem sh64_compact_insn_sem_invalid =
-{
-  VIRTUAL_INSN_X_INVALID, SH64_COMPACT_INSN_X_INVALID, SH64_COMPACT_SFMT_EMPTY
-};
-
-/* Initialize an IDESC from the compile-time computable parts.  */
-
-static INLINE void
-init_idesc (SIM_CPU *cpu, IDESC *id, const struct insn_sem *t)
-{
-  const CGEN_INSN *insn_table = CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu))->init_entries;
-
-  id->num = t->index;
-  id->sfmt = t->sfmt;
-  if ((int) t->type <= 0)
-    id->idata = & cgen_virtual_insn_table[- (int) t->type];
-  else
-    id->idata = & insn_table[t->type];
-  id->attrs = CGEN_INSN_ATTRS (id->idata);
-  /* Oh my god, a magic number.  */
-  id->length = CGEN_INSN_BITSIZE (id->idata) / 8;
-
-#if WITH_PROFILE_MODEL_P
-  id->timing = & MODEL_TIMING (CPU_MODEL (cpu)) [t->index];
-  {
-    SIM_DESC sd = CPU_STATE (cpu);
-    SIM_ASSERT (t->index == id->timing->num);
-  }
-#endif
-
-  /* Semantic pointers are initialized elsewhere.  */
-}
-
-/* Initialize the instruction descriptor table.  */
-
-void
-sh64_compact_init_idesc_table (SIM_CPU *cpu)
-{
-  IDESC *id,*tabend;
-  const struct insn_sem *t,*tend;
-  int tabsize = SH64_COMPACT_INSN__MAX;
-  IDESC *table = sh64_compact_insn_data;
-
-  memset (table, 0, tabsize * sizeof (IDESC));
-
-  /* First set all entries to the `invalid insn'.  */
-  t = & sh64_compact_insn_sem_invalid;
-  for (id = table, tabend = table + tabsize; id < tabend; ++id)
-    init_idesc (cpu, id, t);
-
-  /* Now fill in the values for the chosen cpu.  */
-  for (t = sh64_compact_insn_sem, tend = t + ARRAY_SIZE (sh64_compact_insn_sem);
-       t != tend; ++t)
-    {
-      init_idesc (cpu, & table[t->index], t);
-    }
-
-  /* Link the IDESC table into the cpu.  */
-  CPU_IDESC (cpu) = table;
-}
-
-/* Given an instruction, return a pointer to its IDESC entry.  */
-
-const IDESC *
-sh64_compact_decode (SIM_CPU *current_cpu, IADDR pc,
-              CGEN_INSN_WORD base_insn, CGEN_INSN_WORD entire_insn,
-              ARGBUF *abuf)
-{
-  /* Result of decoder.  */
-  SH64_COMPACT_INSN_TYPE itype;
-
-  {
-    CGEN_INSN_WORD insn = base_insn;
-
-    {
-      unsigned int val = (((insn >> 5) & (15 << 7)) | ((insn >> 0) & (127 << 0)));
-      switch (val)
-      {
-      case 0 : /* fall through */
-      case 16 : /* fall through */
-      case 32 : /* fall through */
-      case 48 : /* fall through */
-      case 64 : /* fall through */
-      case 80 : /* fall through */
-      case 96 : /* fall through */
-      case 112 : itype = SH64_COMPACT_INSN_MOVI20_COMPACT; goto extract_sfmt_movi20_compact;
-      case 3 :
-        {
-          unsigned int val = (((insn >> 7) & (1 << 0)));
-          switch (val)
-          {
-          case 0 : itype = SH64_COMPACT_INSN_BSRF_COMPACT; goto extract_sfmt_bsrf_compact;
-          case 1 : itype = SH64_COMPACT_INSN_PREF_COMPACT; goto extract_sfmt_pref_compact;
-          default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      case 4 : /* fall through */
-      case 20 : /* fall through */
-      case 36 : /* fall through */
-      case 52 : /* fall through */
-      case 68 : /* fall through */
-      case 84 : /* fall through */
-      case 100 : /* fall through */
-      case 116 : itype = SH64_COMPACT_INSN_MOVB3_COMPACT; goto extract_sfmt_movb3_compact;
-      case 5 : /* fall through */
-      case 21 : /* fall through */
-      case 37 : /* fall through */
-      case 53 : /* fall through */
-      case 69 : /* fall through */
-      case 85 : /* fall through */
-      case 101 : /* fall through */
-      case 117 : itype = SH64_COMPACT_INSN_MOVW3_COMPACT; goto extract_sfmt_movw3_compact;
-      case 6 : /* fall through */
-      case 22 : /* fall through */
-      case 38 : /* fall through */
-      case 54 : /* fall through */
-      case 70 : /* fall through */
-      case 86 : /* fall through */
-      case 102 : /* fall through */
-      case 118 : itype = SH64_COMPACT_INSN_MOVL3_COMPACT; goto extract_sfmt_movl3_compact;
-      case 7 : /* fall through */
-      case 23 : /* fall through */
-      case 39 : /* fall through */
-      case 55 : /* fall through */
-      case 71 : /* fall through */
-      case 87 : /* fall through */
-      case 103 : /* fall through */
-      case 119 : itype = SH64_COMPACT_INSN_MULL_COMPACT; goto extract_sfmt_mull_compact;
-      case 8 :
-        if ((entire_insn & 0xffff) == 0x8)
-          { itype = SH64_COMPACT_INSN_CLRT_COMPACT; goto extract_sfmt_clrt_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 9 :
-        if ((entire_insn & 0xffff) == 0x9)
-          { itype = SH64_COMPACT_INSN_NOP_COMPACT; goto extract_sfmt_nop_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 10 :
-        if ((entire_insn & 0xf0ff) == 0xa)
-          { itype = SH64_COMPACT_INSN_STS_MACH_COMPACT; goto extract_sfmt_sts_mach_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 11 :
-        if ((entire_insn & 0xffff) == 0xb)
-          { itype = SH64_COMPACT_INSN_RTS_COMPACT; goto extract_sfmt_rts_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 12 : /* fall through */
-      case 28 : /* fall through */
-      case 44 : /* fall through */
-      case 60 : /* fall through */
-      case 76 : /* fall through */
-      case 92 : /* fall through */
-      case 108 : /* fall through */
-      case 124 : itype = SH64_COMPACT_INSN_MOVB8_COMPACT; goto extract_sfmt_movb8_compact;
-      case 13 : /* fall through */
-      case 29 : /* fall through */
-      case 45 : /* fall through */
-      case 61 : /* fall through */
-      case 77 : /* fall through */
-      case 93 : /* fall through */
-      case 109 : /* fall through */
-      case 125 : itype = SH64_COMPACT_INSN_MOVW8_COMPACT; goto extract_sfmt_movw8_compact;
-      case 14 : /* fall through */
-      case 30 : /* fall through */
-      case 46 : /* fall through */
-      case 62 : /* fall through */
-      case 78 : /* fall through */
-      case 94 : /* fall through */
-      case 110 : /* fall through */
-      case 126 : itype = SH64_COMPACT_INSN_MOVL8_COMPACT; goto extract_sfmt_movl8_compact;
-      case 15 : /* fall through */
-      case 31 : /* fall through */
-      case 47 : /* fall through */
-      case 63 : /* fall through */
-      case 79 : /* fall through */
-      case 95 : /* fall through */
-      case 111 : /* fall through */
-      case 127 : itype = SH64_COMPACT_INSN_MACL_COMPACT; goto extract_sfmt_macl_compact;
-      case 18 :
-        if ((entire_insn & 0xf0ff) == 0x12)
-          { itype = SH64_COMPACT_INSN_STC_GBR_COMPACT; goto extract_sfmt_stc_gbr_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 19 :
-        if ((entire_insn & 0xf0ff) == 0x93)
-          { itype = SH64_COMPACT_INSN_OCBI_COMPACT; goto extract_sfmt_movcol_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 24 :
-        if ((entire_insn & 0xffff) == 0x18)
-          { itype = SH64_COMPACT_INSN_SETT_COMPACT; goto extract_sfmt_clrt_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 25 :
-        if ((entire_insn & 0xffff) == 0x19)
-          { itype = SH64_COMPACT_INSN_DIV0U_COMPACT; goto extract_sfmt_div0u_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 26 :
-        if ((entire_insn & 0xf0ff) == 0x1a)
-          { itype = SH64_COMPACT_INSN_STS_MACL_COMPACT; goto extract_sfmt_sts_macl_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 34 :
-        if ((entire_insn & 0xf0ff) == 0x22)
-          { itype = SH64_COMPACT_INSN_STC_VBR_COMPACT; goto extract_sfmt_stc_vbr_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 35 :
-        {
-          unsigned int val = (((insn >> 7) & (1 << 0)));
-          switch (val)
-          {
-          case 0 : itype = SH64_COMPACT_INSN_BRAF_COMPACT; goto extract_sfmt_braf_compact;
-          case 1 : itype = SH64_COMPACT_INSN_OCBP_COMPACT; goto extract_sfmt_movcol_compact;
-          default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      case 40 :
-        if ((entire_insn & 0xffff) == 0x28)
-          { itype = SH64_COMPACT_INSN_CLRMAC_COMPACT; goto extract_sfmt_clrmac_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 41 :
-        if ((entire_insn & 0xf0ff) == 0x29)
-          { itype = SH64_COMPACT_INSN_MOVT_COMPACT; goto extract_sfmt_movt_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 42 :
-        if ((entire_insn & 0xf0ff) == 0x2a)
-          { itype = SH64_COMPACT_INSN_STS_PR_COMPACT; goto extract_sfmt_sts_pr_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 51 :
-        if ((entire_insn & 0xf0ff) == 0xb3)
-          { itype = SH64_COMPACT_INSN_OCBWB_COMPACT; goto extract_sfmt_movcol_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 59 :
-        if ((entire_insn & 0xffff) == 0x3b)
-          { itype = SH64_COMPACT_INSN_BRK_COMPACT; goto extract_sfmt_brk_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 67 :
-        if ((entire_insn & 0xf0ff) == 0xc3)
-          { itype = SH64_COMPACT_INSN_MOVCAL_COMPACT; goto extract_sfmt_movcal_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 72 :
-        if ((entire_insn & 0xffff) == 0x48)
-          { itype = SH64_COMPACT_INSN_CLRS_COMPACT; goto extract_sfmt_clrs_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 88 :
-        if ((entire_insn & 0xffff) == 0x58)
-          { itype = SH64_COMPACT_INSN_SETS_COMPACT; goto extract_sfmt_clrs_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 90 :
-        if ((entire_insn & 0xf0ff) == 0x5a)
-          { itype = SH64_COMPACT_INSN_STS_FPUL_COMPACT; goto extract_sfmt_sts_fpul_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 106 :
-        if ((entire_insn & 0xf0ff) == 0x6a)
-          { itype = SH64_COMPACT_INSN_STS_FPSCR_COMPACT; goto extract_sfmt_sts_fpscr_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 115 :
-        if ((entire_insn & 0xf0ff) == 0x73)
-          { itype = SH64_COMPACT_INSN_MOVCOL_COMPACT; goto extract_sfmt_movcol_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 128 : /* fall through */
-      case 129 : /* fall through */
-      case 130 : /* fall through */
-      case 131 : /* fall through */
-      case 132 : /* fall through */
-      case 133 : /* fall through */
-      case 134 : /* fall through */
-      case 135 : /* fall through */
-      case 136 : /* fall through */
-      case 137 : /* fall through */
-      case 138 : /* fall through */
-      case 139 : /* fall through */
-      case 140 : /* fall through */
-      case 141 : /* fall through */
-      case 142 : /* fall through */
-      case 143 : /* fall through */
-      case 144 : /* fall through */
-      case 145 : /* fall through */
-      case 146 : /* fall through */
-      case 147 : /* fall through */
-      case 148 : /* fall through */
-      case 149 : /* fall through */
-      case 150 : /* fall through */
-      case 151 : /* fall through */
-      case 152 : /* fall through */
-      case 153 : /* fall through */
-      case 154 : /* fall through */
-      case 155 : /* fall through */
-      case 156 : /* fall through */
-      case 157 : /* fall through */
-      case 158 : /* fall through */
-      case 159 : /* fall through */
-      case 160 : /* fall through */
-      case 161 : /* fall through */
-      case 162 : /* fall through */
-      case 163 : /* fall through */
-      case 164 : /* fall through */
-      case 165 : /* fall through */
-      case 166 : /* fall through */
-      case 167 : /* fall through */
-      case 168 : /* fall through */
-      case 169 : /* fall through */
-      case 170 : /* fall through */
-      case 171 : /* fall through */
-      case 172 : /* fall through */
-      case 173 : /* fall through */
-      case 174 : /* fall through */
-      case 175 : /* fall through */
-      case 176 : /* fall through */
-      case 177 : /* fall through */
-      case 178 : /* fall through */
-      case 179 : /* fall through */
-      case 180 : /* fall through */
-      case 181 : /* fall through */
-      case 182 : /* fall through */
-      case 183 : /* fall through */
-      case 184 : /* fall through */
-      case 185 : /* fall through */
-      case 186 : /* fall through */
-      case 187 : /* fall through */
-      case 188 : /* fall through */
-      case 189 : /* fall through */
-      case 190 : /* fall through */
-      case 191 : /* fall through */
-      case 192 : /* fall through */
-      case 193 : /* fall through */
-      case 194 : /* fall through */
-      case 195 : /* fall through */
-      case 196 : /* fall through */
-      case 197 : /* fall through */
-      case 198 : /* fall through */
-      case 199 : /* fall through */
-      case 200 : /* fall through */
-      case 201 : /* fall through */
-      case 202 : /* fall through */
-      case 203 : /* fall through */
-      case 204 : /* fall through */
-      case 205 : /* fall through */
-      case 206 : /* fall through */
-      case 207 : /* fall through */
-      case 208 : /* fall through */
-      case 209 : /* fall through */
-      case 210 : /* fall through */
-      case 211 : /* fall through */
-      case 212 : /* fall through */
-      case 213 : /* fall through */
-      case 214 : /* fall through */
-      case 215 : /* fall through */
-      case 216 : /* fall through */
-      case 217 : /* fall through */
-      case 218 : /* fall through */
-      case 219 : /* fall through */
-      case 220 : /* fall through */
-      case 221 : /* fall through */
-      case 222 : /* fall through */
-      case 223 : /* fall through */
-      case 224 : /* fall through */
-      case 225 : /* fall through */
-      case 226 : /* fall through */
-      case 227 : /* fall through */
-      case 228 : /* fall through */
-      case 229 : /* fall through */
-      case 230 : /* fall through */
-      case 231 : /* fall through */
-      case 232 : /* fall through */
-      case 233 : /* fall through */
-      case 234 : /* fall through */
-      case 235 : /* fall through */
-      case 236 : /* fall through */
-      case 237 : /* fall through */
-      case 238 : /* fall through */
-      case 239 : /* fall through */
-      case 240 : /* fall through */
-      case 241 : /* fall through */
-      case 242 : /* fall through */
-      case 243 : /* fall through */
-      case 244 : /* fall through */
-      case 245 : /* fall through */
-      case 246 : /* fall through */
-      case 247 : /* fall through */
-      case 248 : /* fall through */
-      case 249 : /* fall through */
-      case 250 : /* fall through */
-      case 251 : /* fall through */
-      case 252 : /* fall through */
-      case 253 : /* fall through */
-      case 254 : /* fall through */
-      case 255 : itype = SH64_COMPACT_INSN_MOVL5_COMPACT; goto extract_sfmt_movl5_compact;
-      case 256 : /* fall through */
-      case 272 : /* fall through */
-      case 288 : /* fall through */
-      case 304 : /* fall through */
-      case 320 : /* fall through */
-      case 336 : /* fall through */
-      case 352 : /* fall through */
-      case 368 : itype = SH64_COMPACT_INSN_MOVB1_COMPACT; goto extract_sfmt_movb1_compact;
-      case 257 : /* fall through */
-      case 273 : /* fall through */
-      case 289 : /* fall through */
-      case 305 : /* fall through */
-      case 321 : /* fall through */
-      case 337 : /* fall through */
-      case 353 : /* fall through */
-      case 369 : itype = SH64_COMPACT_INSN_MOVW1_COMPACT; goto extract_sfmt_movw1_compact;
-      case 258 : /* fall through */
-      case 274 : /* fall through */
-      case 290 : /* fall through */
-      case 306 : /* fall through */
-      case 322 : /* fall through */
-      case 338 : /* fall through */
-      case 354 : /* fall through */
-      case 370 : itype = SH64_COMPACT_INSN_MOVL1_COMPACT; goto extract_sfmt_movl1_compact;
-      case 260 : /* fall through */
-      case 276 : /* fall through */
-      case 292 : /* fall through */
-      case 308 : /* fall through */
-      case 324 : /* fall through */
-      case 340 : /* fall through */
-      case 356 : /* fall through */
-      case 372 : itype = SH64_COMPACT_INSN_MOVB2_COMPACT; goto extract_sfmt_movb2_compact;
-      case 261 : /* fall through */
-      case 277 : /* fall through */
-      case 293 : /* fall through */
-      case 309 : /* fall through */
-      case 325 : /* fall through */
-      case 341 : /* fall through */
-      case 357 : /* fall through */
-      case 373 : itype = SH64_COMPACT_INSN_MOVW2_COMPACT; goto extract_sfmt_movw2_compact;
-      case 262 : /* fall through */
-      case 278 : /* fall through */
-      case 294 : /* fall through */
-      case 310 : /* fall through */
-      case 326 : /* fall through */
-      case 342 : /* fall through */
-      case 358 : /* fall through */
-      case 374 : itype = SH64_COMPACT_INSN_MOVL2_COMPACT; goto extract_sfmt_movl2_compact;
-      case 263 : /* fall through */
-      case 279 : /* fall through */
-      case 295 : /* fall through */
-      case 311 : /* fall through */
-      case 327 : /* fall through */
-      case 343 : /* fall through */
-      case 359 : /* fall through */
-      case 375 : itype = SH64_COMPACT_INSN_DIV0S_COMPACT; goto extract_sfmt_div0s_compact;
-      case 264 : /* fall through */
-      case 280 : /* fall through */
-      case 296 : /* fall through */
-      case 312 : /* fall through */
-      case 328 : /* fall through */
-      case 344 : /* fall through */
-      case 360 : /* fall through */
-      case 376 : itype = SH64_COMPACT_INSN_TST_COMPACT; goto extract_sfmt_cmpeq_compact;
-      case 265 : /* fall through */
-      case 281 : /* fall through */
-      case 297 : /* fall through */
-      case 313 : /* fall through */
-      case 329 : /* fall through */
-      case 345 : /* fall through */
-      case 361 : /* fall through */
-      case 377 : itype = SH64_COMPACT_INSN_AND_COMPACT; goto extract_sfmt_and_compact;
-      case 266 : /* fall through */
-      case 282 : /* fall through */
-      case 298 : /* fall through */
-      case 314 : /* fall through */
-      case 330 : /* fall through */
-      case 346 : /* fall through */
-      case 362 : /* fall through */
-      case 378 : itype = SH64_COMPACT_INSN_XOR_COMPACT; goto extract_sfmt_and_compact;
-      case 267 : /* fall through */
-      case 283 : /* fall through */
-      case 299 : /* fall through */
-      case 315 : /* fall through */
-      case 331 : /* fall through */
-      case 347 : /* fall through */
-      case 363 : /* fall through */
-      case 379 : itype = SH64_COMPACT_INSN_OR_COMPACT; goto extract_sfmt_and_compact;
-      case 268 : /* fall through */
-      case 284 : /* fall through */
-      case 300 : /* fall through */
-      case 316 : /* fall through */
-      case 332 : /* fall through */
-      case 348 : /* fall through */
-      case 364 : /* fall through */
-      case 380 : itype = SH64_COMPACT_INSN_CMPSTR_COMPACT; goto extract_sfmt_cmpeq_compact;
-      case 269 : /* fall through */
-      case 285 : /* fall through */
-      case 301 : /* fall through */
-      case 317 : /* fall through */
-      case 333 : /* fall through */
-      case 349 : /* fall through */
-      case 365 : /* fall through */
-      case 381 : itype = SH64_COMPACT_INSN_XTRCT_COMPACT; goto extract_sfmt_add_compact;
-      case 270 : /* fall through */
-      case 286 : /* fall through */
-      case 302 : /* fall through */
-      case 318 : /* fall through */
-      case 334 : /* fall through */
-      case 350 : /* fall through */
-      case 366 : /* fall through */
-      case 382 : itype = SH64_COMPACT_INSN_MULUW_COMPACT; goto extract_sfmt_mull_compact;
-      case 271 : /* fall through */
-      case 287 : /* fall through */
-      case 303 : /* fall through */
-      case 319 : /* fall through */
-      case 335 : /* fall through */
-      case 351 : /* fall through */
-      case 367 : /* fall through */
-      case 383 : itype = SH64_COMPACT_INSN_MULSW_COMPACT; goto extract_sfmt_mull_compact;
-      case 384 : /* fall through */
-      case 400 : /* fall through */
-      case 416 : /* fall through */
-      case 432 : /* fall through */
-      case 448 : /* fall through */
-      case 464 : /* fall through */
-      case 480 : /* fall through */
-      case 496 : itype = SH64_COMPACT_INSN_CMPEQ_COMPACT; goto extract_sfmt_cmpeq_compact;
-      case 385 : /* fall through */
-      case 417 : /* fall through */
-      case 449 : /* fall through */
-      case 481 :
-        {
-          unsigned int val = (((entire_insn >> 13) & (1 << 1)) | ((entire_insn >> 12) & (1 << 0)));
-          switch (val)
-          {
-          case 0 :
-            if ((entire_insn & 0xf00ff000) == 0x30012000)
-              { itype = SH64_COMPACT_INSN_MOVL13_COMPACT; goto extract_sfmt_movl13_compact; }
-            itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 1 :
-            if ((entire_insn & 0xf01ff000) == 0x30013000)
-              { itype = SH64_COMPACT_INSN_FMOV9_COMPACT; goto extract_sfmt_fmov9_compact; }
-            itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 2 :
-            if ((entire_insn & 0xf00ff000) == 0x30016000)
-              { itype = SH64_COMPACT_INSN_MOVL12_COMPACT; goto extract_sfmt_movl12_compact; }
-            itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 3 :
-            if ((entire_insn & 0xf10ff000) == 0x30017000)
-              { itype = SH64_COMPACT_INSN_FMOV8_COMPACT; goto extract_sfmt_fmov8_compact; }
-            itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      case 386 : /* fall through */
-      case 402 : /* fall through */
-      case 418 : /* fall through */
-      case 434 : /* fall through */
-      case 450 : /* fall through */
-      case 466 : /* fall through */
-      case 482 : /* fall through */
-      case 498 : itype = SH64_COMPACT_INSN_CMPHS_COMPACT; goto extract_sfmt_cmpeq_compact;
-      case 387 : /* fall through */
-      case 403 : /* fall through */
-      case 419 : /* fall through */
-      case 435 : /* fall through */
-      case 451 : /* fall through */
-      case 467 : /* fall through */
-      case 483 : /* fall through */
-      case 499 : itype = SH64_COMPACT_INSN_CMPGE_COMPACT; goto extract_sfmt_cmpeq_compact;
-      case 388 : /* fall through */
-      case 404 : /* fall through */
-      case 420 : /* fall through */
-      case 436 : /* fall through */
-      case 452 : /* fall through */
-      case 468 : /* fall through */
-      case 484 : /* fall through */
-      case 500 : itype = SH64_COMPACT_INSN_DIV1_COMPACT; goto extract_sfmt_div1_compact;
-      case 389 : /* fall through */
-      case 405 : /* fall through */
-      case 421 : /* fall through */
-      case 437 : /* fall through */
-      case 453 : /* fall through */
-      case 469 : /* fall through */
-      case 485 : /* fall through */
-      case 501 : itype = SH64_COMPACT_INSN_DMULUL_COMPACT; goto extract_sfmt_dmulsl_compact;
-      case 390 : /* fall through */
-      case 406 : /* fall through */
-      case 422 : /* fall through */
-      case 438 : /* fall through */
-      case 454 : /* fall through */
-      case 470 : /* fall through */
-      case 486 : /* fall through */
-      case 502 : itype = SH64_COMPACT_INSN_CMPHI_COMPACT; goto extract_sfmt_cmpeq_compact;
-      case 391 : /* fall through */
-      case 407 : /* fall through */
-      case 423 : /* fall through */
-      case 439 : /* fall through */
-      case 455 : /* fall through */
-      case 471 : /* fall through */
-      case 487 : /* fall through */
-      case 503 : itype = SH64_COMPACT_INSN_CMPGT_COMPACT; goto extract_sfmt_cmpeq_compact;
-      case 392 : /* fall through */
-      case 408 : /* fall through */
-      case 424 : /* fall through */
-      case 440 : /* fall through */
-      case 456 : /* fall through */
-      case 472 : /* fall through */
-      case 488 : /* fall through */
-      case 504 : itype = SH64_COMPACT_INSN_SUB_COMPACT; goto extract_sfmt_add_compact;
-      case 394 : /* fall through */
-      case 410 : /* fall through */
-      case 426 : /* fall through */
-      case 442 : /* fall through */
-      case 458 : /* fall through */
-      case 474 : /* fall through */
-      case 490 : /* fall through */
-      case 506 : itype = SH64_COMPACT_INSN_SUBC_COMPACT; goto extract_sfmt_addc_compact;
-      case 395 : /* fall through */
-      case 411 : /* fall through */
-      case 427 : /* fall through */
-      case 443 : /* fall through */
-      case 459 : /* fall through */
-      case 475 : /* fall through */
-      case 491 : /* fall through */
-      case 507 : itype = SH64_COMPACT_INSN_SUBV_COMPACT; goto extract_sfmt_addv_compact;
-      case 396 : /* fall through */
-      case 412 : /* fall through */
-      case 428 : /* fall through */
-      case 444 : /* fall through */
-      case 460 : /* fall through */
-      case 476 : /* fall through */
-      case 492 : /* fall through */
-      case 508 : itype = SH64_COMPACT_INSN_ADD_COMPACT; goto extract_sfmt_add_compact;
-      case 397 : /* fall through */
-      case 413 : /* fall through */
-      case 429 : /* fall through */
-      case 445 : /* fall through */
-      case 461 : /* fall through */
-      case 477 : /* fall through */
-      case 493 : /* fall through */
-      case 509 : itype = SH64_COMPACT_INSN_DMULSL_COMPACT; goto extract_sfmt_dmulsl_compact;
-      case 398 : /* fall through */
-      case 414 : /* fall through */
-      case 430 : /* fall through */
-      case 446 : /* fall through */
-      case 462 : /* fall through */
-      case 478 : /* fall through */
-      case 494 : /* fall through */
-      case 510 : itype = SH64_COMPACT_INSN_ADDC_COMPACT; goto extract_sfmt_addc_compact;
-      case 399 : /* fall through */
-      case 415 : /* fall through */
-      case 431 : /* fall through */
-      case 447 : /* fall through */
-      case 463 : /* fall through */
-      case 479 : /* fall through */
-      case 495 : /* fall through */
-      case 511 : itype = SH64_COMPACT_INSN_ADDV_COMPACT; goto extract_sfmt_addv_compact;
-      case 401 : /* fall through */
-      case 433 : /* fall through */
-      case 465 : /* fall through */
-      case 497 :
-        {
-          unsigned int val = (((entire_insn >> 13) & (1 << 1)) | ((entire_insn >> 12) & (1 << 0)));
-          switch (val)
-          {
-          case 0 :
-            if ((entire_insn & 0xf00ff000) == 0x30012000)
-              { itype = SH64_COMPACT_INSN_MOVL13_COMPACT; goto extract_sfmt_movl13_compact; }
-            itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 2 :
-            if ((entire_insn & 0xf00ff000) == 0x30016000)
-              { itype = SH64_COMPACT_INSN_MOVL12_COMPACT; goto extract_sfmt_movl12_compact; }
-            itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 3 :
-            if ((entire_insn & 0xf10ff000) == 0x30017000)
-              { itype = SH64_COMPACT_INSN_FMOV8_COMPACT; goto extract_sfmt_fmov8_compact; }
-            itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      case 512 :
-        {
-          unsigned int val = (((insn >> 7) & (1 << 0)));
-          switch (val)
-          {
-          case 0 : itype = SH64_COMPACT_INSN_SHLL_COMPACT; goto extract_sfmt_dt_compact;
-          case 1 : itype = SH64_COMPACT_INSN_MULR_COMPACT; goto extract_sfmt_divu_compact;
-          default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      case 513 :
-        if ((entire_insn & 0xf0ff) == 0x4001)
-          { itype = SH64_COMPACT_INSN_SHLR_COMPACT; goto extract_sfmt_dt_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 514 :
-        if ((entire_insn & 0xf0ff) == 0x4002)
-          { itype = SH64_COMPACT_INSN_STSL_MACH_COMPACT; goto extract_sfmt_stsl_mach_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 516 :
-        {
-          unsigned int val = (((insn >> 7) & (1 << 0)));
-          switch (val)
-          {
-          case 0 : itype = SH64_COMPACT_INSN_ROTL_COMPACT; goto extract_sfmt_dt_compact;
-          case 1 : itype = SH64_COMPACT_INSN_DIVU_COMPACT; goto extract_sfmt_divu_compact;
-          default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      case 517 :
-        if ((entire_insn & 0xf0ff) == 0x4005)
-          { itype = SH64_COMPACT_INSN_ROTR_COMPACT; goto extract_sfmt_dt_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 518 :
-        if ((entire_insn & 0xf0ff) == 0x4006)
-          { itype = SH64_COMPACT_INSN_LDSL_MACH_COMPACT; goto extract_sfmt_ldsl_mach_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 520 :
-        if ((entire_insn & 0xf0ff) == 0x4008)
-          { itype = SH64_COMPACT_INSN_SHLL2_COMPACT; goto extract_sfmt_movcol_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 521 :
-        if ((entire_insn & 0xf0ff) == 0x4009)
-          { itype = SH64_COMPACT_INSN_SHLR2_COMPACT; goto extract_sfmt_movcol_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 522 :
-        if ((entire_insn & 0xf0ff) == 0x400a)
-          { itype = SH64_COMPACT_INSN_LDS_MACH_COMPACT; goto extract_sfmt_lds_mach_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 523 :
-        if ((entire_insn & 0xf0ff) == 0x400b)
-          { itype = SH64_COMPACT_INSN_JSR_COMPACT; goto extract_sfmt_bsrf_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 524 : /* fall through */
-      case 540 : /* fall through */
-      case 556 : /* fall through */
-      case 572 : /* fall through */
-      case 588 : /* fall through */
-      case 604 : /* fall through */
-      case 620 : /* fall through */
-      case 636 : itype = SH64_COMPACT_INSN_SHAD_COMPACT; goto extract_sfmt_shad_compact;
-      case 525 : /* fall through */
-      case 541 : /* fall through */
-      case 557 : /* fall through */
-      case 573 : /* fall through */
-      case 589 : /* fall through */
-      case 605 : /* fall through */
-      case 621 : /* fall through */
-      case 637 : itype = SH64_COMPACT_INSN_SHLD_COMPACT; goto extract_sfmt_shad_compact;
-      case 526 :
-        if ((entire_insn & 0xf0ff) == 0x400e)
-          { itype = SH64_COMPACT_INSN_LDC_SR_COMPACT; goto extract_sfmt_ldc_sr_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 527 : /* fall through */
-      case 543 : /* fall through */
-      case 559 : /* fall through */
-      case 575 : /* fall through */
-      case 591 : /* fall through */
-      case 607 : /* fall through */
-      case 623 : /* fall through */
-      case 639 : itype = SH64_COMPACT_INSN_MACW_COMPACT; goto extract_sfmt_macw_compact;
-      case 528 :
-        if ((entire_insn & 0xf0ff) == 0x4010)
-          { itype = SH64_COMPACT_INSN_DT_COMPACT; goto extract_sfmt_dt_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 529 :
-        if ((entire_insn & 0xf0ff) == 0x4011)
-          { itype = SH64_COMPACT_INSN_CMPPZ_COMPACT; goto extract_sfmt_cmppl_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 530 :
-        if ((entire_insn & 0xf0ff) == 0x4012)
-          { itype = SH64_COMPACT_INSN_STSL_MACL_COMPACT; goto extract_sfmt_stsl_macl_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 531 :
-        if ((entire_insn & 0xf0ff) == 0x4013)
-          { itype = SH64_COMPACT_INSN_STCL_GBR_COMPACT; goto extract_sfmt_stcl_gbr_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 533 :
-        if ((entire_insn & 0xf0ff) == 0x4015)
-          { itype = SH64_COMPACT_INSN_CMPPL_COMPACT; goto extract_sfmt_cmppl_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 534 :
-        if ((entire_insn & 0xf0ff) == 0x4016)
-          { itype = SH64_COMPACT_INSN_LDSL_MACL_COMPACT; goto extract_sfmt_ldsl_macl_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 535 :
-        if ((entire_insn & 0xf0ff) == 0x4017)
-          { itype = SH64_COMPACT_INSN_LDCL_GBR_COMPACT; goto extract_sfmt_ldcl_gbr_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 536 :
-        if ((entire_insn & 0xf0ff) == 0x4018)
-          { itype = SH64_COMPACT_INSN_SHLL8_COMPACT; goto extract_sfmt_movcol_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 537 :
-        if ((entire_insn & 0xf0ff) == 0x4019)
-          { itype = SH64_COMPACT_INSN_SHLR8_COMPACT; goto extract_sfmt_movcol_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 538 :
-        if ((entire_insn & 0xf0ff) == 0x401a)
-          { itype = SH64_COMPACT_INSN_LDS_MACL_COMPACT; goto extract_sfmt_lds_macl_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 539 :
-        if ((entire_insn & 0xf0ff) == 0x401b)
-          { itype = SH64_COMPACT_INSN_TASB_COMPACT; goto extract_sfmt_tasb_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 542 :
-        if ((entire_insn & 0xf0ff) == 0x401e)
-          { itype = SH64_COMPACT_INSN_LDC_GBR_COMPACT; goto extract_sfmt_ldc_gbr_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 544 :
-        if ((entire_insn & 0xf0ff) == 0x4020)
-          { itype = SH64_COMPACT_INSN_SHAL_COMPACT; goto extract_sfmt_dt_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 545 :
-        if ((entire_insn & 0xf0ff) == 0x4021)
-          { itype = SH64_COMPACT_INSN_SHAR_COMPACT; goto extract_sfmt_dt_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 546 :
-        if ((entire_insn & 0xf0ff) == 0x4022)
-          { itype = SH64_COMPACT_INSN_STSL_PR_COMPACT; goto extract_sfmt_stsl_pr_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 547 :
-        if ((entire_insn & 0xf0ff) == 0x4023)
-          { itype = SH64_COMPACT_INSN_STCL_VBR_COMPACT; goto extract_sfmt_stcl_vbr_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 548 :
-        if ((entire_insn & 0xf0ff) == 0x4024)
-          { itype = SH64_COMPACT_INSN_ROTCL_COMPACT; goto extract_sfmt_rotcl_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 549 :
-        if ((entire_insn & 0xf0ff) == 0x4025)
-          { itype = SH64_COMPACT_INSN_ROTCR_COMPACT; goto extract_sfmt_rotcl_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 550 :
-        if ((entire_insn & 0xf0ff) == 0x4026)
-          { itype = SH64_COMPACT_INSN_LDSL_PR_COMPACT; goto extract_sfmt_ldsl_pr_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 551 :
-        if ((entire_insn & 0xf0ff) == 0x4027)
-          { itype = SH64_COMPACT_INSN_LDCL_VBR_COMPACT; goto extract_sfmt_ldcl_vbr_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 552 :
-        if ((entire_insn & 0xf0ff) == 0x4028)
-          { itype = SH64_COMPACT_INSN_SHLL16_COMPACT; goto extract_sfmt_movcol_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 553 :
-        {
-          unsigned int val = (((insn >> 7) & (1 << 0)));
-          switch (val)
-          {
-          case 0 : itype = SH64_COMPACT_INSN_SHLR16_COMPACT; goto extract_sfmt_movcol_compact;
-          case 1 : itype = SH64_COMPACT_INSN_MOVUAL_COMPACT; goto extract_sfmt_movual_compact;
-          default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      case 554 :
-        if ((entire_insn & 0xf0ff) == 0x402a)
-          { itype = SH64_COMPACT_INSN_LDS_PR_COMPACT; goto extract_sfmt_lds_pr_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 555 :
-        if ((entire_insn & 0xf0ff) == 0x402b)
-          { itype = SH64_COMPACT_INSN_JMP_COMPACT; goto extract_sfmt_braf_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 558 :
-        if ((entire_insn & 0xf0ff) == 0x402e)
-          { itype = SH64_COMPACT_INSN_LDC_VBR_COMPACT; goto extract_sfmt_ldc_vbr_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 594 :
-        if ((entire_insn & 0xf0ff) == 0x4052)
-          { itype = SH64_COMPACT_INSN_STSL_FPUL_COMPACT; goto extract_sfmt_stsl_fpul_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 598 :
-        if ((entire_insn & 0xf0ff) == 0x4056)
-          { itype = SH64_COMPACT_INSN_LDSL_FPUL_COMPACT; goto extract_sfmt_ldsl_fpul_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 602 :
-        if ((entire_insn & 0xf0ff) == 0x405a)
-          { itype = SH64_COMPACT_INSN_LDS_FPUL_COMPACT; goto extract_sfmt_lds_fpul_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 610 :
-        if ((entire_insn & 0xf0ff) == 0x4062)
-          { itype = SH64_COMPACT_INSN_STSL_FPSCR_COMPACT; goto extract_sfmt_stsl_fpscr_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 614 :
-        if ((entire_insn & 0xf0ff) == 0x4066)
-          { itype = SH64_COMPACT_INSN_LDSL_FPSCR_COMPACT; goto extract_sfmt_ldsl_fpscr_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 617 :
-        if ((entire_insn & 0xf0ff) == 0x40e9)
-          { itype = SH64_COMPACT_INSN_MOVUAL2_COMPACT; goto extract_sfmt_movual2_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 618 :
-        if ((entire_insn & 0xf0ff) == 0x406a)
-          { itype = SH64_COMPACT_INSN_LDS_FPSCR_COMPACT; goto extract_sfmt_lds_fpscr_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 640 : /* fall through */
-      case 641 : /* fall through */
-      case 642 : /* fall through */
-      case 643 : /* fall through */
-      case 644 : /* fall through */
-      case 645 : /* fall through */
-      case 646 : /* fall through */
-      case 647 : /* fall through */
-      case 648 : /* fall through */
-      case 649 : /* fall through */
-      case 650 : /* fall through */
-      case 651 : /* fall through */
-      case 652 : /* fall through */
-      case 653 : /* fall through */
-      case 654 : /* fall through */
-      case 655 : /* fall through */
-      case 656 : /* fall through */
-      case 657 : /* fall through */
-      case 658 : /* fall through */
-      case 659 : /* fall through */
-      case 660 : /* fall through */
-      case 661 : /* fall through */
-      case 662 : /* fall through */
-      case 663 : /* fall through */
-      case 664 : /* fall through */
-      case 665 : /* fall through */
-      case 666 : /* fall through */
-      case 667 : /* fall through */
-      case 668 : /* fall through */
-      case 669 : /* fall through */
-      case 670 : /* fall through */
-      case 671 : /* fall through */
-      case 672 : /* fall through */
-      case 673 : /* fall through */
-      case 674 : /* fall through */
-      case 675 : /* fall through */
-      case 676 : /* fall through */
-      case 677 : /* fall through */
-      case 678 : /* fall through */
-      case 679 : /* fall through */
-      case 680 : /* fall through */
-      case 681 : /* fall through */
-      case 682 : /* fall through */
-      case 683 : /* fall through */
-      case 684 : /* fall through */
-      case 685 : /* fall through */
-      case 686 : /* fall through */
-      case 687 : /* fall through */
-      case 688 : /* fall through */
-      case 689 : /* fall through */
-      case 690 : /* fall through */
-      case 691 : /* fall through */
-      case 692 : /* fall through */
-      case 693 : /* fall through */
-      case 694 : /* fall through */
-      case 695 : /* fall through */
-      case 696 : /* fall through */
-      case 697 : /* fall through */
-      case 698 : /* fall through */
-      case 699 : /* fall through */
-      case 700 : /* fall through */
-      case 701 : /* fall through */
-      case 702 : /* fall through */
-      case 703 : /* fall through */
-      case 704 : /* fall through */
-      case 705 : /* fall through */
-      case 706 : /* fall through */
-      case 707 : /* fall through */
-      case 708 : /* fall through */
-      case 709 : /* fall through */
-      case 710 : /* fall through */
-      case 711 : /* fall through */
-      case 712 : /* fall through */
-      case 713 : /* fall through */
-      case 714 : /* fall through */
-      case 715 : /* fall through */
-      case 716 : /* fall through */
-      case 717 : /* fall through */
-      case 718 : /* fall through */
-      case 719 : /* fall through */
-      case 720 : /* fall through */
-      case 721 : /* fall through */
-      case 722 : /* fall through */
-      case 723 : /* fall through */
-      case 724 : /* fall through */
-      case 725 : /* fall through */
-      case 726 : /* fall through */
-      case 727 : /* fall through */
-      case 728 : /* fall through */
-      case 729 : /* fall through */
-      case 730 : /* fall through */
-      case 731 : /* fall through */
-      case 732 : /* fall through */
-      case 733 : /* fall through */
-      case 734 : /* fall through */
-      case 735 : /* fall through */
-      case 736 : /* fall through */
-      case 737 : /* fall through */
-      case 738 : /* fall through */
-      case 739 : /* fall through */
-      case 740 : /* fall through */
-      case 741 : /* fall through */
-      case 742 : /* fall through */
-      case 743 : /* fall through */
-      case 744 : /* fall through */
-      case 745 : /* fall through */
-      case 746 : /* fall through */
-      case 747 : /* fall through */
-      case 748 : /* fall through */
-      case 749 : /* fall through */
-      case 750 : /* fall through */
-      case 751 : /* fall through */
-      case 752 : /* fall through */
-      case 753 : /* fall through */
-      case 754 : /* fall through */
-      case 755 : /* fall through */
-      case 756 : /* fall through */
-      case 757 : /* fall through */
-      case 758 : /* fall through */
-      case 759 : /* fall through */
-      case 760 : /* fall through */
-      case 761 : /* fall through */
-      case 762 : /* fall through */
-      case 763 : /* fall through */
-      case 764 : /* fall through */
-      case 765 : /* fall through */
-      case 766 : /* fall through */
-      case 767 : itype = SH64_COMPACT_INSN_MOVL11_COMPACT; goto extract_sfmt_movl11_compact;
-      case 768 : /* fall through */
-      case 784 : /* fall through */
-      case 800 : /* fall through */
-      case 816 : /* fall through */
-      case 832 : /* fall through */
-      case 848 : /* fall through */
-      case 864 : /* fall through */
-      case 880 : itype = SH64_COMPACT_INSN_MOVB6_COMPACT; goto extract_sfmt_movb6_compact;
-      case 769 : /* fall through */
-      case 785 : /* fall through */
-      case 801 : /* fall through */
-      case 817 : /* fall through */
-      case 833 : /* fall through */
-      case 849 : /* fall through */
-      case 865 : /* fall through */
-      case 881 : itype = SH64_COMPACT_INSN_MOVW6_COMPACT; goto extract_sfmt_movw6_compact;
-      case 770 : /* fall through */
-      case 786 : /* fall through */
-      case 802 : /* fall through */
-      case 818 : /* fall through */
-      case 834 : /* fall through */
-      case 850 : /* fall through */
-      case 866 : /* fall through */
-      case 882 : itype = SH64_COMPACT_INSN_MOVL6_COMPACT; goto extract_sfmt_movl6_compact;
-      case 771 : /* fall through */
-      case 787 : /* fall through */
-      case 803 : /* fall through */
-      case 819 : /* fall through */
-      case 835 : /* fall through */
-      case 851 : /* fall through */
-      case 867 : /* fall through */
-      case 883 : itype = SH64_COMPACT_INSN_MOV_COMPACT; goto extract_sfmt_mov_compact;
-      case 772 : /* fall through */
-      case 788 : /* fall through */
-      case 804 : /* fall through */
-      case 820 : /* fall through */
-      case 836 : /* fall through */
-      case 852 : /* fall through */
-      case 868 : /* fall through */
-      case 884 : itype = SH64_COMPACT_INSN_MOVB7_COMPACT; goto extract_sfmt_movb7_compact;
-      case 773 : /* fall through */
-      case 789 : /* fall through */
-      case 805 : /* fall through */
-      case 821 : /* fall through */
-      case 837 : /* fall through */
-      case 853 : /* fall through */
-      case 869 : /* fall through */
-      case 885 : itype = SH64_COMPACT_INSN_MOVW7_COMPACT; goto extract_sfmt_movw7_compact;
-      case 774 : /* fall through */
-      case 790 : /* fall through */
-      case 806 : /* fall through */
-      case 822 : /* fall through */
-      case 838 : /* fall through */
-      case 854 : /* fall through */
-      case 870 : /* fall through */
-      case 886 : itype = SH64_COMPACT_INSN_MOVL7_COMPACT; goto extract_sfmt_movl7_compact;
-      case 775 : /* fall through */
-      case 791 : /* fall through */
-      case 807 : /* fall through */
-      case 823 : /* fall through */
-      case 839 : /* fall through */
-      case 855 : /* fall through */
-      case 871 : /* fall through */
-      case 887 : itype = SH64_COMPACT_INSN_NOT_COMPACT; goto extract_sfmt_mov_compact;
-      case 776 : /* fall through */
-      case 792 : /* fall through */
-      case 808 : /* fall through */
-      case 824 : /* fall through */
-      case 840 : /* fall through */
-      case 856 : /* fall through */
-      case 872 : /* fall through */
-      case 888 : itype = SH64_COMPACT_INSN_SWAPB_COMPACT; goto extract_sfmt_extsb_compact;
-      case 777 : /* fall through */
-      case 793 : /* fall through */
-      case 809 : /* fall through */
-      case 825 : /* fall through */
-      case 841 : /* fall through */
-      case 857 : /* fall through */
-      case 873 : /* fall through */
-      case 889 : itype = SH64_COMPACT_INSN_SWAPW_COMPACT; goto extract_sfmt_extsb_compact;
-      case 778 : /* fall through */
-      case 794 : /* fall through */
-      case 810 : /* fall through */
-      case 826 : /* fall through */
-      case 842 : /* fall through */
-      case 858 : /* fall through */
-      case 874 : /* fall through */
-      case 890 : itype = SH64_COMPACT_INSN_NEGC_COMPACT; goto extract_sfmt_negc_compact;
-      case 779 : /* fall through */
-      case 795 : /* fall through */
-      case 811 : /* fall through */
-      case 827 : /* fall through */
-      case 843 : /* fall through */
-      case 859 : /* fall through */
-      case 875 : /* fall through */
-      case 891 : itype = SH64_COMPACT_INSN_NEG_COMPACT; goto extract_sfmt_extsb_compact;
-      case 780 : /* fall through */
-      case 796 : /* fall through */
-      case 812 : /* fall through */
-      case 828 : /* fall through */
-      case 844 : /* fall through */
-      case 860 : /* fall through */
-      case 876 : /* fall through */
-      case 892 : itype = SH64_COMPACT_INSN_EXTUB_COMPACT; goto extract_sfmt_extsb_compact;
-      case 781 : /* fall through */
-      case 797 : /* fall through */
-      case 813 : /* fall through */
-      case 829 : /* fall through */
-      case 845 : /* fall through */
-      case 861 : /* fall through */
-      case 877 : /* fall through */
-      case 893 : itype = SH64_COMPACT_INSN_EXTUW_COMPACT; goto extract_sfmt_extsb_compact;
-      case 782 : /* fall through */
-      case 798 : /* fall through */
-      case 814 : /* fall through */
-      case 830 : /* fall through */
-      case 846 : /* fall through */
-      case 862 : /* fall through */
-      case 878 : /* fall through */
-      case 894 : itype = SH64_COMPACT_INSN_EXTSB_COMPACT; goto extract_sfmt_extsb_compact;
-      case 783 : /* fall through */
-      case 799 : /* fall through */
-      case 815 : /* fall through */
-      case 831 : /* fall through */
-      case 847 : /* fall through */
-      case 863 : /* fall through */
-      case 879 : /* fall through */
-      case 895 : itype = SH64_COMPACT_INSN_EXTSW_COMPACT; goto extract_sfmt_extsb_compact;
-      case 896 : /* fall through */
-      case 897 : /* fall through */
-      case 898 : /* fall through */
-      case 899 : /* fall through */
-      case 900 : /* fall through */
-      case 901 : /* fall through */
-      case 902 : /* fall through */
-      case 903 : /* fall through */
-      case 904 : /* fall through */
-      case 905 : /* fall through */
-      case 906 : /* fall through */
-      case 907 : /* fall through */
-      case 908 : /* fall through */
-      case 909 : /* fall through */
-      case 910 : /* fall through */
-      case 911 : /* fall through */
-      case 912 : /* fall through */
-      case 913 : /* fall through */
-      case 914 : /* fall through */
-      case 915 : /* fall through */
-      case 916 : /* fall through */
-      case 917 : /* fall through */
-      case 918 : /* fall through */
-      case 919 : /* fall through */
-      case 920 : /* fall through */
-      case 921 : /* fall through */
-      case 922 : /* fall through */
-      case 923 : /* fall through */
-      case 924 : /* fall through */
-      case 925 : /* fall through */
-      case 926 : /* fall through */
-      case 927 : /* fall through */
-      case 928 : /* fall through */
-      case 929 : /* fall through */
-      case 930 : /* fall through */
-      case 931 : /* fall through */
-      case 932 : /* fall through */
-      case 933 : /* fall through */
-      case 934 : /* fall through */
-      case 935 : /* fall through */
-      case 936 : /* fall through */
-      case 937 : /* fall through */
-      case 938 : /* fall through */
-      case 939 : /* fall through */
-      case 940 : /* fall through */
-      case 941 : /* fall through */
-      case 942 : /* fall through */
-      case 943 : /* fall through */
-      case 944 : /* fall through */
-      case 945 : /* fall through */
-      case 946 : /* fall through */
-      case 947 : /* fall through */
-      case 948 : /* fall through */
-      case 949 : /* fall through */
-      case 950 : /* fall through */
-      case 951 : /* fall through */
-      case 952 : /* fall through */
-      case 953 : /* fall through */
-      case 954 : /* fall through */
-      case 955 : /* fall through */
-      case 956 : /* fall through */
-      case 957 : /* fall through */
-      case 958 : /* fall through */
-      case 959 : /* fall through */
-      case 960 : /* fall through */
-      case 961 : /* fall through */
-      case 962 : /* fall through */
-      case 963 : /* fall through */
-      case 964 : /* fall through */
-      case 965 : /* fall through */
-      case 966 : /* fall through */
-      case 967 : /* fall through */
-      case 968 : /* fall through */
-      case 969 : /* fall through */
-      case 970 : /* fall through */
-      case 971 : /* fall through */
-      case 972 : /* fall through */
-      case 973 : /* fall through */
-      case 974 : /* fall through */
-      case 975 : /* fall through */
-      case 976 : /* fall through */
-      case 977 : /* fall through */
-      case 978 : /* fall through */
-      case 979 : /* fall through */
-      case 980 : /* fall through */
-      case 981 : /* fall through */
-      case 982 : /* fall through */
-      case 983 : /* fall through */
-      case 984 : /* fall through */
-      case 985 : /* fall through */
-      case 986 : /* fall through */
-      case 987 : /* fall through */
-      case 988 : /* fall through */
-      case 989 : /* fall through */
-      case 990 : /* fall through */
-      case 991 : /* fall through */
-      case 992 : /* fall through */
-      case 993 : /* fall through */
-      case 994 : /* fall through */
-      case 995 : /* fall through */
-      case 996 : /* fall through */
-      case 997 : /* fall through */
-      case 998 : /* fall through */
-      case 999 : /* fall through */
-      case 1000 : /* fall through */
-      case 1001 : /* fall through */
-      case 1002 : /* fall through */
-      case 1003 : /* fall through */
-      case 1004 : /* fall through */
-      case 1005 : /* fall through */
-      case 1006 : /* fall through */
-      case 1007 : /* fall through */
-      case 1008 : /* fall through */
-      case 1009 : /* fall through */
-      case 1010 : /* fall through */
-      case 1011 : /* fall through */
-      case 1012 : /* fall through */
-      case 1013 : /* fall through */
-      case 1014 : /* fall through */
-      case 1015 : /* fall through */
-      case 1016 : /* fall through */
-      case 1017 : /* fall through */
-      case 1018 : /* fall through */
-      case 1019 : /* fall through */
-      case 1020 : /* fall through */
-      case 1021 : /* fall through */
-      case 1022 : /* fall through */
-      case 1023 : itype = SH64_COMPACT_INSN_ADDI_COMPACT; goto extract_sfmt_addi_compact;
-      case 1024 : /* fall through */
-      case 1025 : /* fall through */
-      case 1026 : /* fall through */
-      case 1027 : /* fall through */
-      case 1028 : /* fall through */
-      case 1029 : /* fall through */
-      case 1030 : /* fall through */
-      case 1031 : /* fall through */
-      case 1032 : /* fall through */
-      case 1033 : /* fall through */
-      case 1034 : /* fall through */
-      case 1035 : /* fall through */
-      case 1036 : /* fall through */
-      case 1037 : /* fall through */
-      case 1038 : /* fall through */
-      case 1039 : /* fall through */
-      case 1040 : /* fall through */
-      case 1041 : /* fall through */
-      case 1042 : /* fall through */
-      case 1043 : /* fall through */
-      case 1044 : /* fall through */
-      case 1045 : /* fall through */
-      case 1046 : /* fall through */
-      case 1047 : /* fall through */
-      case 1048 : /* fall through */
-      case 1049 : /* fall through */
-      case 1050 : /* fall through */
-      case 1051 : /* fall through */
-      case 1052 : /* fall through */
-      case 1053 : /* fall through */
-      case 1054 : /* fall through */
-      case 1055 : /* fall through */
-      case 1056 : /* fall through */
-      case 1057 : /* fall through */
-      case 1058 : /* fall through */
-      case 1059 : /* fall through */
-      case 1060 : /* fall through */
-      case 1061 : /* fall through */
-      case 1062 : /* fall through */
-      case 1063 : /* fall through */
-      case 1064 : /* fall through */
-      case 1065 : /* fall through */
-      case 1066 : /* fall through */
-      case 1067 : /* fall through */
-      case 1068 : /* fall through */
-      case 1069 : /* fall through */
-      case 1070 : /* fall through */
-      case 1071 : /* fall through */
-      case 1072 : /* fall through */
-      case 1073 : /* fall through */
-      case 1074 : /* fall through */
-      case 1075 : /* fall through */
-      case 1076 : /* fall through */
-      case 1077 : /* fall through */
-      case 1078 : /* fall through */
-      case 1079 : /* fall through */
-      case 1080 : /* fall through */
-      case 1081 : /* fall through */
-      case 1082 : /* fall through */
-      case 1083 : /* fall through */
-      case 1084 : /* fall through */
-      case 1085 : /* fall through */
-      case 1086 : /* fall through */
-      case 1087 : /* fall through */
-      case 1088 : /* fall through */
-      case 1089 : /* fall through */
-      case 1090 : /* fall through */
-      case 1091 : /* fall through */
-      case 1092 : /* fall through */
-      case 1093 : /* fall through */
-      case 1094 : /* fall through */
-      case 1095 : /* fall through */
-      case 1096 : /* fall through */
-      case 1097 : /* fall through */
-      case 1098 : /* fall through */
-      case 1099 : /* fall through */
-      case 1100 : /* fall through */
-      case 1101 : /* fall through */
-      case 1102 : /* fall through */
-      case 1103 : /* fall through */
-      case 1104 : /* fall through */
-      case 1105 : /* fall through */
-      case 1106 : /* fall through */
-      case 1107 : /* fall through */
-      case 1108 : /* fall through */
-      case 1109 : /* fall through */
-      case 1110 : /* fall through */
-      case 1111 : /* fall through */
-      case 1112 : /* fall through */
-      case 1113 : /* fall through */
-      case 1114 : /* fall through */
-      case 1115 : /* fall through */
-      case 1116 : /* fall through */
-      case 1117 : /* fall through */
-      case 1118 : /* fall through */
-      case 1119 : /* fall through */
-      case 1120 : /* fall through */
-      case 1121 : /* fall through */
-      case 1122 : /* fall through */
-      case 1123 : /* fall through */
-      case 1124 : /* fall through */
-      case 1125 : /* fall through */
-      case 1126 : /* fall through */
-      case 1127 : /* fall through */
-      case 1128 : /* fall through */
-      case 1129 : /* fall through */
-      case 1130 : /* fall through */
-      case 1131 : /* fall through */
-      case 1132 : /* fall through */
-      case 1133 : /* fall through */
-      case 1134 : /* fall through */
-      case 1135 : /* fall through */
-      case 1136 : /* fall through */
-      case 1137 : /* fall through */
-      case 1138 : /* fall through */
-      case 1139 : /* fall through */
-      case 1140 : /* fall through */
-      case 1141 : /* fall through */
-      case 1142 : /* fall through */
-      case 1143 : /* fall through */
-      case 1144 : /* fall through */
-      case 1145 : /* fall through */
-      case 1146 : /* fall through */
-      case 1147 : /* fall through */
-      case 1148 : /* fall through */
-      case 1149 : /* fall through */
-      case 1150 : /* fall through */
-      case 1151 :
-        {
-          unsigned int val = (((insn >> 8) & (15 << 0)));
-          switch (val)
-          {
-          case 0 : itype = SH64_COMPACT_INSN_MOVB5_COMPACT; goto extract_sfmt_movb5_compact;
-          case 1 : itype = SH64_COMPACT_INSN_MOVW5_COMPACT; goto extract_sfmt_movw5_compact;
-          case 4 : itype = SH64_COMPACT_INSN_MOVB10_COMPACT; goto extract_sfmt_movb10_compact;
-          case 5 : itype = SH64_COMPACT_INSN_MOVW11_COMPACT; goto extract_sfmt_movw11_compact;
-          case 8 : itype = SH64_COMPACT_INSN_CMPEQI_COMPACT; goto extract_sfmt_cmpeqi_compact;
-          case 9 : itype = SH64_COMPACT_INSN_BT_COMPACT; goto extract_sfmt_bf_compact;
-          case 11 : itype = SH64_COMPACT_INSN_BF_COMPACT; goto extract_sfmt_bf_compact;
-          case 13 : itype = SH64_COMPACT_INSN_BTS_COMPACT; goto extract_sfmt_bfs_compact;
-          case 15 : itype = SH64_COMPACT_INSN_BFS_COMPACT; goto extract_sfmt_bfs_compact;
-          default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      case 1152 : /* fall through */
-      case 1153 : /* fall through */
-      case 1154 : /* fall through */
-      case 1155 : /* fall through */
-      case 1156 : /* fall through */
-      case 1157 : /* fall through */
-      case 1158 : /* fall through */
-      case 1159 : /* fall through */
-      case 1160 : /* fall through */
-      case 1161 : /* fall through */
-      case 1162 : /* fall through */
-      case 1163 : /* fall through */
-      case 1164 : /* fall through */
-      case 1165 : /* fall through */
-      case 1166 : /* fall through */
-      case 1167 : /* fall through */
-      case 1168 : /* fall through */
-      case 1169 : /* fall through */
-      case 1170 : /* fall through */
-      case 1171 : /* fall through */
-      case 1172 : /* fall through */
-      case 1173 : /* fall through */
-      case 1174 : /* fall through */
-      case 1175 : /* fall through */
-      case 1176 : /* fall through */
-      case 1177 : /* fall through */
-      case 1178 : /* fall through */
-      case 1179 : /* fall through */
-      case 1180 : /* fall through */
-      case 1181 : /* fall through */
-      case 1182 : /* fall through */
-      case 1183 : /* fall through */
-      case 1184 : /* fall through */
-      case 1185 : /* fall through */
-      case 1186 : /* fall through */
-      case 1187 : /* fall through */
-      case 1188 : /* fall through */
-      case 1189 : /* fall through */
-      case 1190 : /* fall through */
-      case 1191 : /* fall through */
-      case 1192 : /* fall through */
-      case 1193 : /* fall through */
-      case 1194 : /* fall through */
-      case 1195 : /* fall through */
-      case 1196 : /* fall through */
-      case 1197 : /* fall through */
-      case 1198 : /* fall through */
-      case 1199 : /* fall through */
-      case 1200 : /* fall through */
-      case 1201 : /* fall through */
-      case 1202 : /* fall through */
-      case 1203 : /* fall through */
-      case 1204 : /* fall through */
-      case 1205 : /* fall through */
-      case 1206 : /* fall through */
-      case 1207 : /* fall through */
-      case 1208 : /* fall through */
-      case 1209 : /* fall through */
-      case 1210 : /* fall through */
-      case 1211 : /* fall through */
-      case 1212 : /* fall through */
-      case 1213 : /* fall through */
-      case 1214 : /* fall through */
-      case 1215 : /* fall through */
-      case 1216 : /* fall through */
-      case 1217 : /* fall through */
-      case 1218 : /* fall through */
-      case 1219 : /* fall through */
-      case 1220 : /* fall through */
-      case 1221 : /* fall through */
-      case 1222 : /* fall through */
-      case 1223 : /* fall through */
-      case 1224 : /* fall through */
-      case 1225 : /* fall through */
-      case 1226 : /* fall through */
-      case 1227 : /* fall through */
-      case 1228 : /* fall through */
-      case 1229 : /* fall through */
-      case 1230 : /* fall through */
-      case 1231 : /* fall through */
-      case 1232 : /* fall through */
-      case 1233 : /* fall through */
-      case 1234 : /* fall through */
-      case 1235 : /* fall through */
-      case 1236 : /* fall through */
-      case 1237 : /* fall through */
-      case 1238 : /* fall through */
-      case 1239 : /* fall through */
-      case 1240 : /* fall through */
-      case 1241 : /* fall through */
-      case 1242 : /* fall through */
-      case 1243 : /* fall through */
-      case 1244 : /* fall through */
-      case 1245 : /* fall through */
-      case 1246 : /* fall through */
-      case 1247 : /* fall through */
-      case 1248 : /* fall through */
-      case 1249 : /* fall through */
-      case 1250 : /* fall through */
-      case 1251 : /* fall through */
-      case 1252 : /* fall through */
-      case 1253 : /* fall through */
-      case 1254 : /* fall through */
-      case 1255 : /* fall through */
-      case 1256 : /* fall through */
-      case 1257 : /* fall through */
-      case 1258 : /* fall through */
-      case 1259 : /* fall through */
-      case 1260 : /* fall through */
-      case 1261 : /* fall through */
-      case 1262 : /* fall through */
-      case 1263 : /* fall through */
-      case 1264 : /* fall through */
-      case 1265 : /* fall through */
-      case 1266 : /* fall through */
-      case 1267 : /* fall through */
-      case 1268 : /* fall through */
-      case 1269 : /* fall through */
-      case 1270 : /* fall through */
-      case 1271 : /* fall through */
-      case 1272 : /* fall through */
-      case 1273 : /* fall through */
-      case 1274 : /* fall through */
-      case 1275 : /* fall through */
-      case 1276 : /* fall through */
-      case 1277 : /* fall through */
-      case 1278 : /* fall through */
-      case 1279 : itype = SH64_COMPACT_INSN_MOVW10_COMPACT; goto extract_sfmt_movw10_compact;
-      case 1280 : /* fall through */
-      case 1281 : /* fall through */
-      case 1282 : /* fall through */
-      case 1283 : /* fall through */
-      case 1284 : /* fall through */
-      case 1285 : /* fall through */
-      case 1286 : /* fall through */
-      case 1287 : /* fall through */
-      case 1288 : /* fall through */
-      case 1289 : /* fall through */
-      case 1290 : /* fall through */
-      case 1291 : /* fall through */
-      case 1292 : /* fall through */
-      case 1293 : /* fall through */
-      case 1294 : /* fall through */
-      case 1295 : /* fall through */
-      case 1296 : /* fall through */
-      case 1297 : /* fall through */
-      case 1298 : /* fall through */
-      case 1299 : /* fall through */
-      case 1300 : /* fall through */
-      case 1301 : /* fall through */
-      case 1302 : /* fall through */
-      case 1303 : /* fall through */
-      case 1304 : /* fall through */
-      case 1305 : /* fall through */
-      case 1306 : /* fall through */
-      case 1307 : /* fall through */
-      case 1308 : /* fall through */
-      case 1309 : /* fall through */
-      case 1310 : /* fall through */
-      case 1311 : /* fall through */
-      case 1312 : /* fall through */
-      case 1313 : /* fall through */
-      case 1314 : /* fall through */
-      case 1315 : /* fall through */
-      case 1316 : /* fall through */
-      case 1317 : /* fall through */
-      case 1318 : /* fall through */
-      case 1319 : /* fall through */
-      case 1320 : /* fall through */
-      case 1321 : /* fall through */
-      case 1322 : /* fall through */
-      case 1323 : /* fall through */
-      case 1324 : /* fall through */
-      case 1325 : /* fall through */
-      case 1326 : /* fall through */
-      case 1327 : /* fall through */
-      case 1328 : /* fall through */
-      case 1329 : /* fall through */
-      case 1330 : /* fall through */
-      case 1331 : /* fall through */
-      case 1332 : /* fall through */
-      case 1333 : /* fall through */
-      case 1334 : /* fall through */
-      case 1335 : /* fall through */
-      case 1336 : /* fall through */
-      case 1337 : /* fall through */
-      case 1338 : /* fall through */
-      case 1339 : /* fall through */
-      case 1340 : /* fall through */
-      case 1341 : /* fall through */
-      case 1342 : /* fall through */
-      case 1343 : /* fall through */
-      case 1344 : /* fall through */
-      case 1345 : /* fall through */
-      case 1346 : /* fall through */
-      case 1347 : /* fall through */
-      case 1348 : /* fall through */
-      case 1349 : /* fall through */
-      case 1350 : /* fall through */
-      case 1351 : /* fall through */
-      case 1352 : /* fall through */
-      case 1353 : /* fall through */
-      case 1354 : /* fall through */
-      case 1355 : /* fall through */
-      case 1356 : /* fall through */
-      case 1357 : /* fall through */
-      case 1358 : /* fall through */
-      case 1359 : /* fall through */
-      case 1360 : /* fall through */
-      case 1361 : /* fall through */
-      case 1362 : /* fall through */
-      case 1363 : /* fall through */
-      case 1364 : /* fall through */
-      case 1365 : /* fall through */
-      case 1366 : /* fall through */
-      case 1367 : /* fall through */
-      case 1368 : /* fall through */
-      case 1369 : /* fall through */
-      case 1370 : /* fall through */
-      case 1371 : /* fall through */
-      case 1372 : /* fall through */
-      case 1373 : /* fall through */
-      case 1374 : /* fall through */
-      case 1375 : /* fall through */
-      case 1376 : /* fall through */
-      case 1377 : /* fall through */
-      case 1378 : /* fall through */
-      case 1379 : /* fall through */
-      case 1380 : /* fall through */
-      case 1381 : /* fall through */
-      case 1382 : /* fall through */
-      case 1383 : /* fall through */
-      case 1384 : /* fall through */
-      case 1385 : /* fall through */
-      case 1386 : /* fall through */
-      case 1387 : /* fall through */
-      case 1388 : /* fall through */
-      case 1389 : /* fall through */
-      case 1390 : /* fall through */
-      case 1391 : /* fall through */
-      case 1392 : /* fall through */
-      case 1393 : /* fall through */
-      case 1394 : /* fall through */
-      case 1395 : /* fall through */
-      case 1396 : /* fall through */
-      case 1397 : /* fall through */
-      case 1398 : /* fall through */
-      case 1399 : /* fall through */
-      case 1400 : /* fall through */
-      case 1401 : /* fall through */
-      case 1402 : /* fall through */
-      case 1403 : /* fall through */
-      case 1404 : /* fall through */
-      case 1405 : /* fall through */
-      case 1406 : /* fall through */
-      case 1407 : itype = SH64_COMPACT_INSN_BRA_COMPACT; goto extract_sfmt_bra_compact;
-      case 1408 : /* fall through */
-      case 1409 : /* fall through */
-      case 1410 : /* fall through */
-      case 1411 : /* fall through */
-      case 1412 : /* fall through */
-      case 1413 : /* fall through */
-      case 1414 : /* fall through */
-      case 1415 : /* fall through */
-      case 1416 : /* fall through */
-      case 1417 : /* fall through */
-      case 1418 : /* fall through */
-      case 1419 : /* fall through */
-      case 1420 : /* fall through */
-      case 1421 : /* fall through */
-      case 1422 : /* fall through */
-      case 1423 : /* fall through */
-      case 1424 : /* fall through */
-      case 1425 : /* fall through */
-      case 1426 : /* fall through */
-      case 1427 : /* fall through */
-      case 1428 : /* fall through */
-      case 1429 : /* fall through */
-      case 1430 : /* fall through */
-      case 1431 : /* fall through */
-      case 1432 : /* fall through */
-      case 1433 : /* fall through */
-      case 1434 : /* fall through */
-      case 1435 : /* fall through */
-      case 1436 : /* fall through */
-      case 1437 : /* fall through */
-      case 1438 : /* fall through */
-      case 1439 : /* fall through */
-      case 1440 : /* fall through */
-      case 1441 : /* fall through */
-      case 1442 : /* fall through */
-      case 1443 : /* fall through */
-      case 1444 : /* fall through */
-      case 1445 : /* fall through */
-      case 1446 : /* fall through */
-      case 1447 : /* fall through */
-      case 1448 : /* fall through */
-      case 1449 : /* fall through */
-      case 1450 : /* fall through */
-      case 1451 : /* fall through */
-      case 1452 : /* fall through */
-      case 1453 : /* fall through */
-      case 1454 : /* fall through */
-      case 1455 : /* fall through */
-      case 1456 : /* fall through */
-      case 1457 : /* fall through */
-      case 1458 : /* fall through */
-      case 1459 : /* fall through */
-      case 1460 : /* fall through */
-      case 1461 : /* fall through */
-      case 1462 : /* fall through */
-      case 1463 : /* fall through */
-      case 1464 : /* fall through */
-      case 1465 : /* fall through */
-      case 1466 : /* fall through */
-      case 1467 : /* fall through */
-      case 1468 : /* fall through */
-      case 1469 : /* fall through */
-      case 1470 : /* fall through */
-      case 1471 : /* fall through */
-      case 1472 : /* fall through */
-      case 1473 : /* fall through */
-      case 1474 : /* fall through */
-      case 1475 : /* fall through */
-      case 1476 : /* fall through */
-      case 1477 : /* fall through */
-      case 1478 : /* fall through */
-      case 1479 : /* fall through */
-      case 1480 : /* fall through */
-      case 1481 : /* fall through */
-      case 1482 : /* fall through */
-      case 1483 : /* fall through */
-      case 1484 : /* fall through */
-      case 1485 : /* fall through */
-      case 1486 : /* fall through */
-      case 1487 : /* fall through */
-      case 1488 : /* fall through */
-      case 1489 : /* fall through */
-      case 1490 : /* fall through */
-      case 1491 : /* fall through */
-      case 1492 : /* fall through */
-      case 1493 : /* fall through */
-      case 1494 : /* fall through */
-      case 1495 : /* fall through */
-      case 1496 : /* fall through */
-      case 1497 : /* fall through */
-      case 1498 : /* fall through */
-      case 1499 : /* fall through */
-      case 1500 : /* fall through */
-      case 1501 : /* fall through */
-      case 1502 : /* fall through */
-      case 1503 : /* fall through */
-      case 1504 : /* fall through */
-      case 1505 : /* fall through */
-      case 1506 : /* fall through */
-      case 1507 : /* fall through */
-      case 1508 : /* fall through */
-      case 1509 : /* fall through */
-      case 1510 : /* fall through */
-      case 1511 : /* fall through */
-      case 1512 : /* fall through */
-      case 1513 : /* fall through */
-      case 1514 : /* fall through */
-      case 1515 : /* fall through */
-      case 1516 : /* fall through */
-      case 1517 : /* fall through */
-      case 1518 : /* fall through */
-      case 1519 : /* fall through */
-      case 1520 : /* fall through */
-      case 1521 : /* fall through */
-      case 1522 : /* fall through */
-      case 1523 : /* fall through */
-      case 1524 : /* fall through */
-      case 1525 : /* fall through */
-      case 1526 : /* fall through */
-      case 1527 : /* fall through */
-      case 1528 : /* fall through */
-      case 1529 : /* fall through */
-      case 1530 : /* fall through */
-      case 1531 : /* fall through */
-      case 1532 : /* fall through */
-      case 1533 : /* fall through */
-      case 1534 : /* fall through */
-      case 1535 : itype = SH64_COMPACT_INSN_BSR_COMPACT; goto extract_sfmt_bsr_compact;
-      case 1536 : /* fall through */
-      case 1537 : /* fall through */
-      case 1538 : /* fall through */
-      case 1539 : /* fall through */
-      case 1540 : /* fall through */
-      case 1541 : /* fall through */
-      case 1542 : /* fall through */
-      case 1543 : /* fall through */
-      case 1544 : /* fall through */
-      case 1545 : /* fall through */
-      case 1546 : /* fall through */
-      case 1547 : /* fall through */
-      case 1548 : /* fall through */
-      case 1549 : /* fall through */
-      case 1550 : /* fall through */
-      case 1551 : /* fall through */
-      case 1552 : /* fall through */
-      case 1553 : /* fall through */
-      case 1554 : /* fall through */
-      case 1555 : /* fall through */
-      case 1556 : /* fall through */
-      case 1557 : /* fall through */
-      case 1558 : /* fall through */
-      case 1559 : /* fall through */
-      case 1560 : /* fall through */
-      case 1561 : /* fall through */
-      case 1562 : /* fall through */
-      case 1563 : /* fall through */
-      case 1564 : /* fall through */
-      case 1565 : /* fall through */
-      case 1566 : /* fall through */
-      case 1567 : /* fall through */
-      case 1568 : /* fall through */
-      case 1569 : /* fall through */
-      case 1570 : /* fall through */
-      case 1571 : /* fall through */
-      case 1572 : /* fall through */
-      case 1573 : /* fall through */
-      case 1574 : /* fall through */
-      case 1575 : /* fall through */
-      case 1576 : /* fall through */
-      case 1577 : /* fall through */
-      case 1578 : /* fall through */
-      case 1579 : /* fall through */
-      case 1580 : /* fall through */
-      case 1581 : /* fall through */
-      case 1582 : /* fall through */
-      case 1583 : /* fall through */
-      case 1584 : /* fall through */
-      case 1585 : /* fall through */
-      case 1586 : /* fall through */
-      case 1587 : /* fall through */
-      case 1588 : /* fall through */
-      case 1589 : /* fall through */
-      case 1590 : /* fall through */
-      case 1591 : /* fall through */
-      case 1592 : /* fall through */
-      case 1593 : /* fall through */
-      case 1594 : /* fall through */
-      case 1595 : /* fall through */
-      case 1596 : /* fall through */
-      case 1597 : /* fall through */
-      case 1598 : /* fall through */
-      case 1599 : /* fall through */
-      case 1600 : /* fall through */
-      case 1601 : /* fall through */
-      case 1602 : /* fall through */
-      case 1603 : /* fall through */
-      case 1604 : /* fall through */
-      case 1605 : /* fall through */
-      case 1606 : /* fall through */
-      case 1607 : /* fall through */
-      case 1608 : /* fall through */
-      case 1609 : /* fall through */
-      case 1610 : /* fall through */
-      case 1611 : /* fall through */
-      case 1612 : /* fall through */
-      case 1613 : /* fall through */
-      case 1614 : /* fall through */
-      case 1615 : /* fall through */
-      case 1616 : /* fall through */
-      case 1617 : /* fall through */
-      case 1618 : /* fall through */
-      case 1619 : /* fall through */
-      case 1620 : /* fall through */
-      case 1621 : /* fall through */
-      case 1622 : /* fall through */
-      case 1623 : /* fall through */
-      case 1624 : /* fall through */
-      case 1625 : /* fall through */
-      case 1626 : /* fall through */
-      case 1627 : /* fall through */
-      case 1628 : /* fall through */
-      case 1629 : /* fall through */
-      case 1630 : /* fall through */
-      case 1631 : /* fall through */
-      case 1632 : /* fall through */
-      case 1633 : /* fall through */
-      case 1634 : /* fall through */
-      case 1635 : /* fall through */
-      case 1636 : /* fall through */
-      case 1637 : /* fall through */
-      case 1638 : /* fall through */
-      case 1639 : /* fall through */
-      case 1640 : /* fall through */
-      case 1641 : /* fall through */
-      case 1642 : /* fall through */
-      case 1643 : /* fall through */
-      case 1644 : /* fall through */
-      case 1645 : /* fall through */
-      case 1646 : /* fall through */
-      case 1647 : /* fall through */
-      case 1648 : /* fall through */
-      case 1649 : /* fall through */
-      case 1650 : /* fall through */
-      case 1651 : /* fall through */
-      case 1652 : /* fall through */
-      case 1653 : /* fall through */
-      case 1654 : /* fall through */
-      case 1655 : /* fall through */
-      case 1656 : /* fall through */
-      case 1657 : /* fall through */
-      case 1658 : /* fall through */
-      case 1659 : /* fall through */
-      case 1660 : /* fall through */
-      case 1661 : /* fall through */
-      case 1662 : /* fall through */
-      case 1663 :
-        {
-          unsigned int val = (((insn >> 8) & (15 << 0)));
-          switch (val)
-          {
-          case 0 : itype = SH64_COMPACT_INSN_MOVB4_COMPACT; goto extract_sfmt_movb4_compact;
-          case 1 : itype = SH64_COMPACT_INSN_MOVW4_COMPACT; goto extract_sfmt_movw4_compact;
-          case 2 : itype = SH64_COMPACT_INSN_MOVL4_COMPACT; goto extract_sfmt_movl4_compact;
-          case 3 : itype = SH64_COMPACT_INSN_TRAPA_COMPACT; goto extract_sfmt_trapa_compact;
-          case 4 : itype = SH64_COMPACT_INSN_MOVB9_COMPACT; goto extract_sfmt_movb9_compact;
-          case 5 : itype = SH64_COMPACT_INSN_MOVW9_COMPACT; goto extract_sfmt_movw9_compact;
-          case 6 : itype = SH64_COMPACT_INSN_MOVL9_COMPACT; goto extract_sfmt_movl9_compact;
-          case 7 : itype = SH64_COMPACT_INSN_MOVA_COMPACT; goto extract_sfmt_mova_compact;
-          case 8 : itype = SH64_COMPACT_INSN_TSTI_COMPACT; goto extract_sfmt_tsti_compact;
-          case 9 : itype = SH64_COMPACT_INSN_ANDI_COMPACT; goto extract_sfmt_andi_compact;
-          case 10 : itype = SH64_COMPACT_INSN_XORI_COMPACT; goto extract_sfmt_andi_compact;
-          case 11 : itype = SH64_COMPACT_INSN_ORI_COMPACT; goto extract_sfmt_andi_compact;
-          case 12 : itype = SH64_COMPACT_INSN_TSTB_COMPACT; goto extract_sfmt_tstb_compact;
-          case 13 : itype = SH64_COMPACT_INSN_ANDB_COMPACT; goto extract_sfmt_andb_compact;
-          case 14 : itype = SH64_COMPACT_INSN_XORB_COMPACT; goto extract_sfmt_andb_compact;
-          case 15 : itype = SH64_COMPACT_INSN_ORB_COMPACT; goto extract_sfmt_andb_compact;
-          default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      case 1664 : /* fall through */
-      case 1665 : /* fall through */
-      case 1666 : /* fall through */
-      case 1667 : /* fall through */
-      case 1668 : /* fall through */
-      case 1669 : /* fall through */
-      case 1670 : /* fall through */
-      case 1671 : /* fall through */
-      case 1672 : /* fall through */
-      case 1673 : /* fall through */
-      case 1674 : /* fall through */
-      case 1675 : /* fall through */
-      case 1676 : /* fall through */
-      case 1677 : /* fall through */
-      case 1678 : /* fall through */
-      case 1679 : /* fall through */
-      case 1680 : /* fall through */
-      case 1681 : /* fall through */
-      case 1682 : /* fall through */
-      case 1683 : /* fall through */
-      case 1684 : /* fall through */
-      case 1685 : /* fall through */
-      case 1686 : /* fall through */
-      case 1687 : /* fall through */
-      case 1688 : /* fall through */
-      case 1689 : /* fall through */
-      case 1690 : /* fall through */
-      case 1691 : /* fall through */
-      case 1692 : /* fall through */
-      case 1693 : /* fall through */
-      case 1694 : /* fall through */
-      case 1695 : /* fall through */
-      case 1696 : /* fall through */
-      case 1697 : /* fall through */
-      case 1698 : /* fall through */
-      case 1699 : /* fall through */
-      case 1700 : /* fall through */
-      case 1701 : /* fall through */
-      case 1702 : /* fall through */
-      case 1703 : /* fall through */
-      case 1704 : /* fall through */
-      case 1705 : /* fall through */
-      case 1706 : /* fall through */
-      case 1707 : /* fall through */
-      case 1708 : /* fall through */
-      case 1709 : /* fall through */
-      case 1710 : /* fall through */
-      case 1711 : /* fall through */
-      case 1712 : /* fall through */
-      case 1713 : /* fall through */
-      case 1714 : /* fall through */
-      case 1715 : /* fall through */
-      case 1716 : /* fall through */
-      case 1717 : /* fall through */
-      case 1718 : /* fall through */
-      case 1719 : /* fall through */
-      case 1720 : /* fall through */
-      case 1721 : /* fall through */
-      case 1722 : /* fall through */
-      case 1723 : /* fall through */
-      case 1724 : /* fall through */
-      case 1725 : /* fall through */
-      case 1726 : /* fall through */
-      case 1727 : /* fall through */
-      case 1728 : /* fall through */
-      case 1729 : /* fall through */
-      case 1730 : /* fall through */
-      case 1731 : /* fall through */
-      case 1732 : /* fall through */
-      case 1733 : /* fall through */
-      case 1734 : /* fall through */
-      case 1735 : /* fall through */
-      case 1736 : /* fall through */
-      case 1737 : /* fall through */
-      case 1738 : /* fall through */
-      case 1739 : /* fall through */
-      case 1740 : /* fall through */
-      case 1741 : /* fall through */
-      case 1742 : /* fall through */
-      case 1743 : /* fall through */
-      case 1744 : /* fall through */
-      case 1745 : /* fall through */
-      case 1746 : /* fall through */
-      case 1747 : /* fall through */
-      case 1748 : /* fall through */
-      case 1749 : /* fall through */
-      case 1750 : /* fall through */
-      case 1751 : /* fall through */
-      case 1752 : /* fall through */
-      case 1753 : /* fall through */
-      case 1754 : /* fall through */
-      case 1755 : /* fall through */
-      case 1756 : /* fall through */
-      case 1757 : /* fall through */
-      case 1758 : /* fall through */
-      case 1759 : /* fall through */
-      case 1760 : /* fall through */
-      case 1761 : /* fall through */
-      case 1762 : /* fall through */
-      case 1763 : /* fall through */
-      case 1764 : /* fall through */
-      case 1765 : /* fall through */
-      case 1766 : /* fall through */
-      case 1767 : /* fall through */
-      case 1768 : /* fall through */
-      case 1769 : /* fall through */
-      case 1770 : /* fall through */
-      case 1771 : /* fall through */
-      case 1772 : /* fall through */
-      case 1773 : /* fall through */
-      case 1774 : /* fall through */
-      case 1775 : /* fall through */
-      case 1776 : /* fall through */
-      case 1777 : /* fall through */
-      case 1778 : /* fall through */
-      case 1779 : /* fall through */
-      case 1780 : /* fall through */
-      case 1781 : /* fall through */
-      case 1782 : /* fall through */
-      case 1783 : /* fall through */
-      case 1784 : /* fall through */
-      case 1785 : /* fall through */
-      case 1786 : /* fall through */
-      case 1787 : /* fall through */
-      case 1788 : /* fall through */
-      case 1789 : /* fall through */
-      case 1790 : /* fall through */
-      case 1791 : itype = SH64_COMPACT_INSN_MOVL10_COMPACT; goto extract_sfmt_movl10_compact;
-      case 1792 : /* fall through */
-      case 1793 : /* fall through */
-      case 1794 : /* fall through */
-      case 1795 : /* fall through */
-      case 1796 : /* fall through */
-      case 1797 : /* fall through */
-      case 1798 : /* fall through */
-      case 1799 : /* fall through */
-      case 1800 : /* fall through */
-      case 1801 : /* fall through */
-      case 1802 : /* fall through */
-      case 1803 : /* fall through */
-      case 1804 : /* fall through */
-      case 1805 : /* fall through */
-      case 1806 : /* fall through */
-      case 1807 : /* fall through */
-      case 1808 : /* fall through */
-      case 1809 : /* fall through */
-      case 1810 : /* fall through */
-      case 1811 : /* fall through */
-      case 1812 : /* fall through */
-      case 1813 : /* fall through */
-      case 1814 : /* fall through */
-      case 1815 : /* fall through */
-      case 1816 : /* fall through */
-      case 1817 : /* fall through */
-      case 1818 : /* fall through */
-      case 1819 : /* fall through */
-      case 1820 : /* fall through */
-      case 1821 : /* fall through */
-      case 1822 : /* fall through */
-      case 1823 : /* fall through */
-      case 1824 : /* fall through */
-      case 1825 : /* fall through */
-      case 1826 : /* fall through */
-      case 1827 : /* fall through */
-      case 1828 : /* fall through */
-      case 1829 : /* fall through */
-      case 1830 : /* fall through */
-      case 1831 : /* fall through */
-      case 1832 : /* fall through */
-      case 1833 : /* fall through */
-      case 1834 : /* fall through */
-      case 1835 : /* fall through */
-      case 1836 : /* fall through */
-      case 1837 : /* fall through */
-      case 1838 : /* fall through */
-      case 1839 : /* fall through */
-      case 1840 : /* fall through */
-      case 1841 : /* fall through */
-      case 1842 : /* fall through */
-      case 1843 : /* fall through */
-      case 1844 : /* fall through */
-      case 1845 : /* fall through */
-      case 1846 : /* fall through */
-      case 1847 : /* fall through */
-      case 1848 : /* fall through */
-      case 1849 : /* fall through */
-      case 1850 : /* fall through */
-      case 1851 : /* fall through */
-      case 1852 : /* fall through */
-      case 1853 : /* fall through */
-      case 1854 : /* fall through */
-      case 1855 : /* fall through */
-      case 1856 : /* fall through */
-      case 1857 : /* fall through */
-      case 1858 : /* fall through */
-      case 1859 : /* fall through */
-      case 1860 : /* fall through */
-      case 1861 : /* fall through */
-      case 1862 : /* fall through */
-      case 1863 : /* fall through */
-      case 1864 : /* fall through */
-      case 1865 : /* fall through */
-      case 1866 : /* fall through */
-      case 1867 : /* fall through */
-      case 1868 : /* fall through */
-      case 1869 : /* fall through */
-      case 1870 : /* fall through */
-      case 1871 : /* fall through */
-      case 1872 : /* fall through */
-      case 1873 : /* fall through */
-      case 1874 : /* fall through */
-      case 1875 : /* fall through */
-      case 1876 : /* fall through */
-      case 1877 : /* fall through */
-      case 1878 : /* fall through */
-      case 1879 : /* fall through */
-      case 1880 : /* fall through */
-      case 1881 : /* fall through */
-      case 1882 : /* fall through */
-      case 1883 : /* fall through */
-      case 1884 : /* fall through */
-      case 1885 : /* fall through */
-      case 1886 : /* fall through */
-      case 1887 : /* fall through */
-      case 1888 : /* fall through */
-      case 1889 : /* fall through */
-      case 1890 : /* fall through */
-      case 1891 : /* fall through */
-      case 1892 : /* fall through */
-      case 1893 : /* fall through */
-      case 1894 : /* fall through */
-      case 1895 : /* fall through */
-      case 1896 : /* fall through */
-      case 1897 : /* fall through */
-      case 1898 : /* fall through */
-      case 1899 : /* fall through */
-      case 1900 : /* fall through */
-      case 1901 : /* fall through */
-      case 1902 : /* fall through */
-      case 1903 : /* fall through */
-      case 1904 : /* fall through */
-      case 1905 : /* fall through */
-      case 1906 : /* fall through */
-      case 1907 : /* fall through */
-      case 1908 : /* fall through */
-      case 1909 : /* fall through */
-      case 1910 : /* fall through */
-      case 1911 : /* fall through */
-      case 1912 : /* fall through */
-      case 1913 : /* fall through */
-      case 1914 : /* fall through */
-      case 1915 : /* fall through */
-      case 1916 : /* fall through */
-      case 1917 : /* fall through */
-      case 1918 : /* fall through */
-      case 1919 : itype = SH64_COMPACT_INSN_MOVI_COMPACT; goto extract_sfmt_movi_compact;
-      case 1920 : /* fall through */
-      case 1936 : /* fall through */
-      case 1952 : /* fall through */
-      case 1968 : /* fall through */
-      case 1984 : /* fall through */
-      case 2000 : /* fall through */
-      case 2016 : /* fall through */
-      case 2032 : itype = SH64_COMPACT_INSN_FADD_COMPACT; goto extract_sfmt_fadd_compact;
-      case 1921 : /* fall through */
-      case 1937 : /* fall through */
-      case 1953 : /* fall through */
-      case 1969 : /* fall through */
-      case 1985 : /* fall through */
-      case 2001 : /* fall through */
-      case 2017 : /* fall through */
-      case 2033 : itype = SH64_COMPACT_INSN_FSUB_COMPACT; goto extract_sfmt_fadd_compact;
-      case 1922 : /* fall through */
-      case 1938 : /* fall through */
-      case 1954 : /* fall through */
-      case 1970 : /* fall through */
-      case 1986 : /* fall through */
-      case 2002 : /* fall through */
-      case 2018 : /* fall through */
-      case 2034 : itype = SH64_COMPACT_INSN_FMUL_COMPACT; goto extract_sfmt_fadd_compact;
-      case 1923 : /* fall through */
-      case 1939 : /* fall through */
-      case 1955 : /* fall through */
-      case 1971 : /* fall through */
-      case 1987 : /* fall through */
-      case 2003 : /* fall through */
-      case 2019 : /* fall through */
-      case 2035 : itype = SH64_COMPACT_INSN_FDIV_COMPACT; goto extract_sfmt_fadd_compact;
-      case 1924 : /* fall through */
-      case 1940 : /* fall through */
-      case 1956 : /* fall through */
-      case 1972 : /* fall through */
-      case 1988 : /* fall through */
-      case 2004 : /* fall through */
-      case 2020 : /* fall through */
-      case 2036 : itype = SH64_COMPACT_INSN_FCMPEQ_COMPACT; goto extract_sfmt_fcmpeq_compact;
-      case 1925 : /* fall through */
-      case 1941 : /* fall through */
-      case 1957 : /* fall through */
-      case 1973 : /* fall through */
-      case 1989 : /* fall through */
-      case 2005 : /* fall through */
-      case 2021 : /* fall through */
-      case 2037 : itype = SH64_COMPACT_INSN_FCMPGT_COMPACT; goto extract_sfmt_fcmpeq_compact;
-      case 1926 : /* fall through */
-      case 1942 : /* fall through */
-      case 1958 : /* fall through */
-      case 1974 : /* fall through */
-      case 1990 : /* fall through */
-      case 2006 : /* fall through */
-      case 2022 : /* fall through */
-      case 2038 : itype = SH64_COMPACT_INSN_FMOV4_COMPACT; goto extract_sfmt_fmov4_compact;
-      case 1927 : /* fall through */
-      case 1943 : /* fall through */
-      case 1959 : /* fall through */
-      case 1975 : /* fall through */
-      case 1991 : /* fall through */
-      case 2007 : /* fall through */
-      case 2023 : /* fall through */
-      case 2039 : itype = SH64_COMPACT_INSN_FMOV7_COMPACT; goto extract_sfmt_fmov7_compact;
-      case 1928 : /* fall through */
-      case 1944 : /* fall through */
-      case 1960 : /* fall through */
-      case 1976 : /* fall through */
-      case 1992 : /* fall through */
-      case 2008 : /* fall through */
-      case 2024 : /* fall through */
-      case 2040 : itype = SH64_COMPACT_INSN_FMOV2_COMPACT; goto extract_sfmt_fmov2_compact;
-      case 1929 : /* fall through */
-      case 1945 : /* fall through */
-      case 1961 : /* fall through */
-      case 1977 : /* fall through */
-      case 1993 : /* fall through */
-      case 2009 : /* fall through */
-      case 2025 : /* fall through */
-      case 2041 : itype = SH64_COMPACT_INSN_FMOV3_COMPACT; goto extract_sfmt_fmov3_compact;
-      case 1930 : /* fall through */
-      case 1946 : /* fall through */
-      case 1962 : /* fall through */
-      case 1978 : /* fall through */
-      case 1994 : /* fall through */
-      case 2010 : /* fall through */
-      case 2026 : /* fall through */
-      case 2042 : itype = SH64_COMPACT_INSN_FMOV5_COMPACT; goto extract_sfmt_fmov5_compact;
-      case 1931 : /* fall through */
-      case 1947 : /* fall through */
-      case 1963 : /* fall through */
-      case 1979 : /* fall through */
-      case 1995 : /* fall through */
-      case 2011 : /* fall through */
-      case 2027 : /* fall through */
-      case 2043 : itype = SH64_COMPACT_INSN_FMOV6_COMPACT; goto extract_sfmt_fmov6_compact;
-      case 1932 : /* fall through */
-      case 1948 : /* fall through */
-      case 1964 : /* fall through */
-      case 1980 : /* fall through */
-      case 1996 : /* fall through */
-      case 2012 : /* fall through */
-      case 2028 : /* fall through */
-      case 2044 : itype = SH64_COMPACT_INSN_FMOV1_COMPACT; goto extract_sfmt_fmov1_compact;
-      case 1933 :
-        {
-          unsigned int val = (((insn >> 7) & (1 << 0)));
-          switch (val)
-          {
-          case 0 : itype = SH64_COMPACT_INSN_FSTS_COMPACT; goto extract_sfmt_fsts_compact;
-          case 1 : itype = SH64_COMPACT_INSN_FLDI0_COMPACT; goto extract_sfmt_fldi0_compact;
-          default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      case 1934 : /* fall through */
-      case 1950 : /* fall through */
-      case 1966 : /* fall through */
-      case 1982 : /* fall through */
-      case 1998 : /* fall through */
-      case 2014 : /* fall through */
-      case 2030 : /* fall through */
-      case 2046 : itype = SH64_COMPACT_INSN_FMAC_COMPACT; goto extract_sfmt_fmac_compact;
-      case 1949 :
-        {
-          unsigned int val = (((insn >> 7) & (1 << 0)));
-          switch (val)
-          {
-          case 0 : itype = SH64_COMPACT_INSN_FLDS_COMPACT; goto extract_sfmt_flds_compact;
-          case 1 : itype = SH64_COMPACT_INSN_FLDI1_COMPACT; goto extract_sfmt_fldi0_compact;
-          default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      case 1965 :
-        {
-          unsigned int val = (((insn >> 7) & (1 << 0)));
-          switch (val)
-          {
-          case 0 : itype = SH64_COMPACT_INSN_FLOAT_COMPACT; goto extract_sfmt_float_compact;
-          case 1 :
-            if ((entire_insn & 0xf1ff) == 0xf0ad)
-              { itype = SH64_COMPACT_INSN_FCNVSD_COMPACT; goto extract_sfmt_fcnvsd_compact; }
-            itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      case 1981 :
-        {
-          unsigned int val = (((insn >> 7) & (1 << 0)));
-          switch (val)
-          {
-          case 0 : itype = SH64_COMPACT_INSN_FTRC_COMPACT; goto extract_sfmt_ftrc_compact;
-          case 1 :
-            if ((entire_insn & 0xf1ff) == 0xf0bd)
-              { itype = SH64_COMPACT_INSN_FCNVDS_COMPACT; goto extract_sfmt_fcnvds_compact; }
-            itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      case 1997 :
-        if ((entire_insn & 0xf0ff) == 0xf04d)
-          { itype = SH64_COMPACT_INSN_FNEG_COMPACT; goto extract_sfmt_fabs_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 2013 :
-        if ((entire_insn & 0xf0ff) == 0xf05d)
-          { itype = SH64_COMPACT_INSN_FABS_COMPACT; goto extract_sfmt_fabs_compact; }
-        itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 2029 :
-        {
-          unsigned int val = (((insn >> 7) & (1 << 0)));
-          switch (val)
-          {
-          case 0 : itype = SH64_COMPACT_INSN_FSQRT_COMPACT; goto extract_sfmt_fabs_compact;
-          case 1 : itype = SH64_COMPACT_INSN_FIPR_COMPACT; goto extract_sfmt_fipr_compact;
-          default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      case 2045 :
-        {
-          unsigned int val = (((insn >> 10) & (1 << 1)) | ((insn >> 9) & (1 << 0)));
-          switch (val)
-          {
-          case 0 : /* fall through */
-          case 2 :
-            if ((entire_insn & 0xf3ff) == 0xf1fd)
-              { itype = SH64_COMPACT_INSN_FTRV_COMPACT; goto extract_sfmt_ftrv_compact; }
-            itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 1 :
-            if ((entire_insn & 0xffff) == 0xf3fd)
-              { itype = SH64_COMPACT_INSN_FSCHG_COMPACT; goto extract_sfmt_fschg_compact; }
-            itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          case 3 :
-            if ((entire_insn & 0xffff) == 0xfbfd)
-              { itype = SH64_COMPACT_INSN_FRCHG_COMPACT; goto extract_sfmt_frchg_compact; }
-            itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-          }
-        }
-      default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
-      }
-    }
-  }
-
-  /* The instruction has been decoded, now extract the fields.  */
-
- extract_sfmt_empty:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-#define FLD(f) abuf->fields.sfmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
-
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_add_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_addi_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-    UINT f_rn;
-    UINT f_imm8;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm8) = f_imm8;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_addc_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_addv_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_and_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm64) = f_rm;
-      FLD (in_rn64) = f_rn;
-      FLD (out_rn64) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_andi_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-    UINT f_imm8;
-
-    f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm8) = f_imm8;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-      FLD (out_r0) = 0;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_andb_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-    UINT f_imm8;
-
-    f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm8) = f_imm8;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_bf_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_bf_compact.f
-    SI f_disp8;
-
-    f_disp8 = ((((EXTRACT_MSB0_SINT (insn, 16, 8, 8)) << (1))) + (((pc) + (4))));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (i_disp8) = f_disp8;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_bfs_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_bf_compact.f
-    SI f_disp8;
-
-    f_disp8 = ((((EXTRACT_MSB0_SINT (insn, 16, 8, 8)) << (1))) + (((pc) + (4))));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (i_disp8) = f_disp8;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_bra_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_bra_compact.f
-    SI f_disp12;
-
-    f_disp12 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 12)) << (1))) + (((pc) + (4))));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (i_disp12) = f_disp12;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_braf_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_brk_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-#define FLD(f) abuf->fields.sfmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brk_compact", (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_bsr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_bra_compact.f
-    SI f_disp12;
-
-    f_disp12 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 12)) << (1))) + (((pc) + (4))));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (i_disp12) = f_disp12;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_bsrf_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_clrmac_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-#define FLD(f) abuf->fields.sfmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrmac_compact", (char *) 0));
-
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_clrs_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-#define FLD(f) abuf->fields.sfmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrs_compact", (char *) 0));
-
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_clrt_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-#define FLD(f) abuf->fields.sfmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_clrt_compact", (char *) 0));
-
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_cmpeq_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_cmpeqi_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-    UINT f_imm8;
-
-    f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm8) = f_imm8;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_cmppl_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_div0s_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_div0u_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-#define FLD(f) abuf->fields.sfmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0u_compact", (char *) 0));
-
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_div1_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_divu_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_dmulsl_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_dt_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_extsb_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fabs_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_fsdn) = f_rn;
-      FLD (out_fsdn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fadd_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_fsdm) = f_rm;
-      FLD (in_fsdn) = f_rn;
-      FLD (out_fsdn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fcmpeq_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_fsdm) = f_rm;
-      FLD (in_fsdn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fcnvds_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fmov8_compact.f
-    SI f_dn;
-
-    f_dn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 3)) << (1));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dn) = f_dn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_drn) = f_dn;
-      FLD (out_fpul) = 32;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fcnvsd_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fmov8_compact.f
-    SI f_dn;
-
-    f_dn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 3)) << (1));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dn) = f_dn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_fpul) = 32;
-      FLD (out_drn) = f_dn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fipr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fipr_compact.f
-    SI f_vn;
-    SI f_vm;
-
-    f_vn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 2)) << (2));
-    f_vm = ((EXTRACT_MSB0_UINT (insn, 16, 6, 2)) << (2));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_vm) = f_vm;
-  FLD (f_vn) = f_vn;
-  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;
-  }
-
- extract_sfmt_flds_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_frn) = f_rn;
-      FLD (out_fpul) = 32;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fldi0_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_frn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_float_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_fpul) = 32;
-      FLD (out_fsdn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fmac_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_fr0) = 0;
-      FLD (in_frm) = f_rm;
-      FLD (in_frn) = f_rn;
-      FLD (out_frn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fmov1_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_fmovm) = f_rm;
-      FLD (out_fmovn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fmov2_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (out_fmovn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fmov3_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (out_fmovn) = f_rn;
-      FLD (out_rm) = f_rm;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fmov4_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-      FLD (in_rm) = f_rm;
-      FLD (out_fmovn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fmov5_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_fmovm) = f_rm;
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fmov6_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_fmovm) = f_rm;
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fmov7_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_fmovm) = f_rm;
-      FLD (in_r0) = 0;
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fmov8_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fmov8_compact.f
-    SI f_dn;
-    UINT f_rm;
-    SI f_imm12x8;
-
-    f_dn = ((EXTRACT_MSB0_UINT (insn, 32, 4, 3)) << (1));
-    f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_imm12x8 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (3));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm12x8) = f_imm12x8;
-  FLD (f_rm) = f_rm;
-  FLD (f_dn) = f_dn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (out_drn) = f_dn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fmov9_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fmov9_compact.f
-    UINT f_rn;
-    SI f_dm;
-    SI f_imm12x8;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
-    f_dm = ((EXTRACT_MSB0_UINT (insn, 32, 8, 3)) << (1));
-    f_imm12x8 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (3));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dm) = f_dm;
-  FLD (f_imm12x8) = f_imm12x8;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_drm) = f_dm;
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_frchg_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-#define FLD(f) abuf->fields.sfmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_frchg_compact", (char *) 0));
-
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fschg_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-#define FLD(f) abuf->fields.sfmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fschg_compact", (char *) 0));
-
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fsts_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_fpul) = 32;
-      FLD (out_frn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ftrc_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_fsdn) = f_rn;
-      FLD (out_fpul) = 32;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ftrv_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fipr_compact.f
-    SI f_vn;
-
-    f_vn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 2)) << (2));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_vn) = f_vn;
-  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;
-  }
-
- extract_sfmt_ldc_gbr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldc_vbr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldc_sr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldcl_gbr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldcl_vbr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_lds_fpscr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldsl_fpscr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_lds_fpul_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_fpul) = 32;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldsl_fpul_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_fpul) = 32;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_lds_mach_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldsl_mach_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_lds_macl_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldsl_macl_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_lds_pr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldsl_pr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_macl_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-      FLD (out_rm) = f_rm;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_macw_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-      FLD (out_rm) = f_rm;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_mov_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm64) = f_rm;
-      FLD (out_rn64) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movi_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-    UINT f_rn;
-    UINT f_imm8;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm8) = f_imm8;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movi20_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movi20_compact.f
-    UINT f_rn;
-    INT f_imm20_hi;
-    UINT f_imm20_lo;
-    INT f_imm20;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
-    f_imm20_hi = EXTRACT_MSB0_SINT (insn, 32, 8, 4);
-    f_imm20_lo = EXTRACT_MSB0_UINT (insn, 32, 16, 16);
-  f_imm20 = ((((f_imm20_hi) << (16))) | (f_imm20_lo));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm20) = f_imm20;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movb1_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movb2_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movb3_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movb4_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-    UINT f_imm8;
-
-    f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm8) = f_imm8;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movb5_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movb5_compact.f
-    UINT f_rm;
-    UINT f_imm4;
-
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm4) = f_imm4;
-  FLD (f_rm) = f_rm;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-      FLD (in_rm) = f_rm;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movb6_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movb7_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (out_rm) = f_rm;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movb8_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-      FLD (in_rm) = f_rm;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movb9_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-    UINT f_imm8;
-
-    f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm8) = f_imm8;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_r0) = 0;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movb10_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movb5_compact.f
-    UINT f_rm;
-    UINT f_imm4;
-
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm4) = f_imm4;
-  FLD (f_rm) = f_rm;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (out_r0) = 0;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movl1_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movl2_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movl3_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movl4_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl10_compact.f
-    SI f_imm8x4;
-
-    f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm8x4) = f_imm8x4;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movl5_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
-    UINT f_rn;
-    UINT f_rm;
-    SI f_imm4x4;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm4x4) = f_imm4x4;
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movl6_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movl7_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-      FLD (out_rm) = f_rm;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movl8_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-      FLD (in_rm) = f_rm;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movl9_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl10_compact.f
-    SI f_imm8x4;
-
-    f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm8x4) = f_imm8x4;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_r0) = 0;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movl10_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl10_compact.f
-    UINT f_rn;
-    SI f_imm8x4;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm8x4) = f_imm8x4;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movl11_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
-    UINT f_rn;
-    UINT f_rm;
-    SI f_imm4x4;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm4x4) = f_imm4x4;
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movl12_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-    SI f_imm12x4;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_imm12x4 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (2));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm12x4) = f_imm12x4;
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movl13_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-    SI f_imm12x4;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4);
-    f_imm12x4 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (2));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm12x4) = f_imm12x4;
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movw1_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movw2_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movw3_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movw4_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    SI f_imm8x2;
-
-    f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm8x2) = f_imm8x2;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movw5_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw5_compact.f
-    UINT f_rm;
-    SI f_imm4x2;
-
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm4x2) = f_imm4x2;
-  FLD (f_rm) = f_rm;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-      FLD (in_rm) = f_rm;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movw6_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movw7_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (out_rm) = f_rm;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movw8_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-      FLD (in_rm) = f_rm;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movw9_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    SI f_imm8x2;
-
-    f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm8x2) = f_imm8x2;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_r0) = 0;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movw10_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-    SI f_imm8x2;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm8x2) = f_imm8x2;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movw11_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw5_compact.f
-    UINT f_rm;
-    SI f_imm4x2;
-
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-    f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm4x2) = f_imm4x2;
-  FLD (f_rm) = f_rm;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (out_r0) = 0;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_mova_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl10_compact.f
-    SI f_imm8x4;
-
-    f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2));
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm8x4) = f_imm8x4;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_r0) = 0;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movcal_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movcol_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movt_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movual_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_r0) = 0;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movual2_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_r0) = 0;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_mull_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_negc_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_nop_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-#define FLD(f) abuf->fields.sfmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop_compact", (char *) 0));
-
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_pref_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_rotcl_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_rts_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-#define FLD(f) abuf->fields.sfmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rts_compact", (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_shad_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-    UINT f_rn;
-    UINT f_rm;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-    f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rm) = f_rm;
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_rm;
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stc_gbr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stc_vbr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stcl_gbr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stcl_vbr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_sts_fpscr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stsl_fpscr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_sts_fpul_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_fpul) = 32;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stsl_fpul_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_fpul) = 32;
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_sts_mach_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stsl_mach_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_sts_macl_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stsl_macl_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_sts_pr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stsl_pr_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-      FLD (out_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_tasb_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-    UINT f_rn;
-
-    f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_rn) = f_rn;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_rn;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_trapa_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-    UINT f_imm8;
-
-    f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm8) = f_imm8;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_tsti_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-    UINT f_imm8;
-
-    f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm8) = f_imm8;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_tstb_compact:
-  {
-    const IDESC *idesc = &sh64_compact_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-    UINT f_imm8;
-
-    f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm8) = f_imm8;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_r0) = 0;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
-}
diff --git a/sim/sh64/decode-compact.h b/sim/sh64/decode-compact.h
deleted file mode 100644 (file)
index 3968bd8..0000000
+++ /dev/null
@@ -1,279 +0,0 @@
-/* Decode header for sh64_compact.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996-2021 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   It 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 SH64_COMPACT_DECODE_H
-#define SH64_COMPACT_DECODE_H
-
-extern const IDESC *sh64_compact_decode (SIM_CPU *, IADDR,
-                                  CGEN_INSN_WORD, CGEN_INSN_WORD,
-                                  ARGBUF *);
-extern void sh64_compact_init_idesc_table (SIM_CPU *);
-extern void sh64_compact_sem_init_idesc_table (SIM_CPU *);
-extern void sh64_compact_semf_init_idesc_table (SIM_CPU *);
-
-/* Enum declaration for instructions in cpu family sh64.  */
-typedef enum sh64_compact_insn_type {
-  SH64_COMPACT_INSN_X_INVALID, SH64_COMPACT_INSN_X_AFTER, SH64_COMPACT_INSN_X_BEFORE, SH64_COMPACT_INSN_X_CTI_CHAIN
- , SH64_COMPACT_INSN_X_CHAIN, SH64_COMPACT_INSN_X_BEGIN, SH64_COMPACT_INSN_ADD_COMPACT, SH64_COMPACT_INSN_ADDI_COMPACT
- , SH64_COMPACT_INSN_ADDC_COMPACT, SH64_COMPACT_INSN_ADDV_COMPACT, SH64_COMPACT_INSN_AND_COMPACT, SH64_COMPACT_INSN_ANDI_COMPACT
- , SH64_COMPACT_INSN_ANDB_COMPACT, SH64_COMPACT_INSN_BF_COMPACT, SH64_COMPACT_INSN_BFS_COMPACT, SH64_COMPACT_INSN_BRA_COMPACT
- , SH64_COMPACT_INSN_BRAF_COMPACT, SH64_COMPACT_INSN_BRK_COMPACT, SH64_COMPACT_INSN_BSR_COMPACT, SH64_COMPACT_INSN_BSRF_COMPACT
- , SH64_COMPACT_INSN_BT_COMPACT, SH64_COMPACT_INSN_BTS_COMPACT, SH64_COMPACT_INSN_CLRMAC_COMPACT, SH64_COMPACT_INSN_CLRS_COMPACT
- , SH64_COMPACT_INSN_CLRT_COMPACT, SH64_COMPACT_INSN_CMPEQ_COMPACT, SH64_COMPACT_INSN_CMPEQI_COMPACT, SH64_COMPACT_INSN_CMPGE_COMPACT
- , SH64_COMPACT_INSN_CMPGT_COMPACT, SH64_COMPACT_INSN_CMPHI_COMPACT, SH64_COMPACT_INSN_CMPHS_COMPACT, SH64_COMPACT_INSN_CMPPL_COMPACT
- , SH64_COMPACT_INSN_CMPPZ_COMPACT, SH64_COMPACT_INSN_CMPSTR_COMPACT, SH64_COMPACT_INSN_DIV0S_COMPACT, SH64_COMPACT_INSN_DIV0U_COMPACT
- , SH64_COMPACT_INSN_DIV1_COMPACT, SH64_COMPACT_INSN_DIVU_COMPACT, SH64_COMPACT_INSN_MULR_COMPACT, SH64_COMPACT_INSN_DMULSL_COMPACT
- , SH64_COMPACT_INSN_DMULUL_COMPACT, SH64_COMPACT_INSN_DT_COMPACT, SH64_COMPACT_INSN_EXTSB_COMPACT, SH64_COMPACT_INSN_EXTSW_COMPACT
- , SH64_COMPACT_INSN_EXTUB_COMPACT, SH64_COMPACT_INSN_EXTUW_COMPACT, SH64_COMPACT_INSN_FABS_COMPACT, SH64_COMPACT_INSN_FADD_COMPACT
- , SH64_COMPACT_INSN_FCMPEQ_COMPACT, SH64_COMPACT_INSN_FCMPGT_COMPACT, SH64_COMPACT_INSN_FCNVDS_COMPACT, SH64_COMPACT_INSN_FCNVSD_COMPACT
- , SH64_COMPACT_INSN_FDIV_COMPACT, SH64_COMPACT_INSN_FIPR_COMPACT, SH64_COMPACT_INSN_FLDS_COMPACT, SH64_COMPACT_INSN_FLDI0_COMPACT
- , SH64_COMPACT_INSN_FLDI1_COMPACT, SH64_COMPACT_INSN_FLOAT_COMPACT, SH64_COMPACT_INSN_FMAC_COMPACT, SH64_COMPACT_INSN_FMOV1_COMPACT
- , SH64_COMPACT_INSN_FMOV2_COMPACT, SH64_COMPACT_INSN_FMOV3_COMPACT, SH64_COMPACT_INSN_FMOV4_COMPACT, SH64_COMPACT_INSN_FMOV5_COMPACT
- , SH64_COMPACT_INSN_FMOV6_COMPACT, SH64_COMPACT_INSN_FMOV7_COMPACT, SH64_COMPACT_INSN_FMOV8_COMPACT, SH64_COMPACT_INSN_FMOV9_COMPACT
- , SH64_COMPACT_INSN_FMUL_COMPACT, SH64_COMPACT_INSN_FNEG_COMPACT, SH64_COMPACT_INSN_FRCHG_COMPACT, SH64_COMPACT_INSN_FSCHG_COMPACT
- , SH64_COMPACT_INSN_FSQRT_COMPACT, SH64_COMPACT_INSN_FSTS_COMPACT, SH64_COMPACT_INSN_FSUB_COMPACT, SH64_COMPACT_INSN_FTRC_COMPACT
- , SH64_COMPACT_INSN_FTRV_COMPACT, SH64_COMPACT_INSN_JMP_COMPACT, SH64_COMPACT_INSN_JSR_COMPACT, SH64_COMPACT_INSN_LDC_GBR_COMPACT
- , SH64_COMPACT_INSN_LDC_VBR_COMPACT, SH64_COMPACT_INSN_LDC_SR_COMPACT, SH64_COMPACT_INSN_LDCL_GBR_COMPACT, SH64_COMPACT_INSN_LDCL_VBR_COMPACT
- , SH64_COMPACT_INSN_LDS_FPSCR_COMPACT, SH64_COMPACT_INSN_LDSL_FPSCR_COMPACT, SH64_COMPACT_INSN_LDS_FPUL_COMPACT, SH64_COMPACT_INSN_LDSL_FPUL_COMPACT
- , SH64_COMPACT_INSN_LDS_MACH_COMPACT, SH64_COMPACT_INSN_LDSL_MACH_COMPACT, SH64_COMPACT_INSN_LDS_MACL_COMPACT, SH64_COMPACT_INSN_LDSL_MACL_COMPACT
- , SH64_COMPACT_INSN_LDS_PR_COMPACT, SH64_COMPACT_INSN_LDSL_PR_COMPACT, SH64_COMPACT_INSN_MACL_COMPACT, SH64_COMPACT_INSN_MACW_COMPACT
- , SH64_COMPACT_INSN_MOV_COMPACT, SH64_COMPACT_INSN_MOVI_COMPACT, SH64_COMPACT_INSN_MOVI20_COMPACT, SH64_COMPACT_INSN_MOVB1_COMPACT
- , SH64_COMPACT_INSN_MOVB2_COMPACT, SH64_COMPACT_INSN_MOVB3_COMPACT, SH64_COMPACT_INSN_MOVB4_COMPACT, SH64_COMPACT_INSN_MOVB5_COMPACT
- , SH64_COMPACT_INSN_MOVB6_COMPACT, SH64_COMPACT_INSN_MOVB7_COMPACT, SH64_COMPACT_INSN_MOVB8_COMPACT, SH64_COMPACT_INSN_MOVB9_COMPACT
- , SH64_COMPACT_INSN_MOVB10_COMPACT, SH64_COMPACT_INSN_MOVL1_COMPACT, SH64_COMPACT_INSN_MOVL2_COMPACT, SH64_COMPACT_INSN_MOVL3_COMPACT
- , SH64_COMPACT_INSN_MOVL4_COMPACT, SH64_COMPACT_INSN_MOVL5_COMPACT, SH64_COMPACT_INSN_MOVL6_COMPACT, SH64_COMPACT_INSN_MOVL7_COMPACT
- , SH64_COMPACT_INSN_MOVL8_COMPACT, SH64_COMPACT_INSN_MOVL9_COMPACT, SH64_COMPACT_INSN_MOVL10_COMPACT, SH64_COMPACT_INSN_MOVL11_COMPACT
- , SH64_COMPACT_INSN_MOVL12_COMPACT, SH64_COMPACT_INSN_MOVL13_COMPACT, SH64_COMPACT_INSN_MOVW1_COMPACT, SH64_COMPACT_INSN_MOVW2_COMPACT
- , SH64_COMPACT_INSN_MOVW3_COMPACT, SH64_COMPACT_INSN_MOVW4_COMPACT, SH64_COMPACT_INSN_MOVW5_COMPACT, SH64_COMPACT_INSN_MOVW6_COMPACT
- , SH64_COMPACT_INSN_MOVW7_COMPACT, SH64_COMPACT_INSN_MOVW8_COMPACT, SH64_COMPACT_INSN_MOVW9_COMPACT, SH64_COMPACT_INSN_MOVW10_COMPACT
- , SH64_COMPACT_INSN_MOVW11_COMPACT, SH64_COMPACT_INSN_MOVA_COMPACT, SH64_COMPACT_INSN_MOVCAL_COMPACT, SH64_COMPACT_INSN_MOVCOL_COMPACT
- , SH64_COMPACT_INSN_MOVT_COMPACT, SH64_COMPACT_INSN_MOVUAL_COMPACT, SH64_COMPACT_INSN_MOVUAL2_COMPACT, SH64_COMPACT_INSN_MULL_COMPACT
- , SH64_COMPACT_INSN_MULSW_COMPACT, SH64_COMPACT_INSN_MULUW_COMPACT, SH64_COMPACT_INSN_NEG_COMPACT, SH64_COMPACT_INSN_NEGC_COMPACT
- , SH64_COMPACT_INSN_NOP_COMPACT, SH64_COMPACT_INSN_NOT_COMPACT, SH64_COMPACT_INSN_OCBI_COMPACT, SH64_COMPACT_INSN_OCBP_COMPACT
- , SH64_COMPACT_INSN_OCBWB_COMPACT, SH64_COMPACT_INSN_OR_COMPACT, SH64_COMPACT_INSN_ORI_COMPACT, SH64_COMPACT_INSN_ORB_COMPACT
- , SH64_COMPACT_INSN_PREF_COMPACT, SH64_COMPACT_INSN_ROTCL_COMPACT, SH64_COMPACT_INSN_ROTCR_COMPACT, SH64_COMPACT_INSN_ROTL_COMPACT
- , SH64_COMPACT_INSN_ROTR_COMPACT, SH64_COMPACT_INSN_RTS_COMPACT, SH64_COMPACT_INSN_SETS_COMPACT, SH64_COMPACT_INSN_SETT_COMPACT
- , SH64_COMPACT_INSN_SHAD_COMPACT, SH64_COMPACT_INSN_SHAL_COMPACT, SH64_COMPACT_INSN_SHAR_COMPACT, SH64_COMPACT_INSN_SHLD_COMPACT
- , SH64_COMPACT_INSN_SHLL_COMPACT, SH64_COMPACT_INSN_SHLL2_COMPACT, SH64_COMPACT_INSN_SHLL8_COMPACT, SH64_COMPACT_INSN_SHLL16_COMPACT
- , SH64_COMPACT_INSN_SHLR_COMPACT, SH64_COMPACT_INSN_SHLR2_COMPACT, SH64_COMPACT_INSN_SHLR8_COMPACT, SH64_COMPACT_INSN_SHLR16_COMPACT
- , SH64_COMPACT_INSN_STC_GBR_COMPACT, SH64_COMPACT_INSN_STC_VBR_COMPACT, SH64_COMPACT_INSN_STCL_GBR_COMPACT, SH64_COMPACT_INSN_STCL_VBR_COMPACT
- , SH64_COMPACT_INSN_STS_FPSCR_COMPACT, SH64_COMPACT_INSN_STSL_FPSCR_COMPACT, SH64_COMPACT_INSN_STS_FPUL_COMPACT, SH64_COMPACT_INSN_STSL_FPUL_COMPACT
- , SH64_COMPACT_INSN_STS_MACH_COMPACT, SH64_COMPACT_INSN_STSL_MACH_COMPACT, SH64_COMPACT_INSN_STS_MACL_COMPACT, SH64_COMPACT_INSN_STSL_MACL_COMPACT
- , SH64_COMPACT_INSN_STS_PR_COMPACT, SH64_COMPACT_INSN_STSL_PR_COMPACT, SH64_COMPACT_INSN_SUB_COMPACT, SH64_COMPACT_INSN_SUBC_COMPACT
- , SH64_COMPACT_INSN_SUBV_COMPACT, SH64_COMPACT_INSN_SWAPB_COMPACT, SH64_COMPACT_INSN_SWAPW_COMPACT, SH64_COMPACT_INSN_TASB_COMPACT
- , SH64_COMPACT_INSN_TRAPA_COMPACT, SH64_COMPACT_INSN_TST_COMPACT, SH64_COMPACT_INSN_TSTI_COMPACT, SH64_COMPACT_INSN_TSTB_COMPACT
- , SH64_COMPACT_INSN_XOR_COMPACT, SH64_COMPACT_INSN_XORI_COMPACT, SH64_COMPACT_INSN_XORB_COMPACT, SH64_COMPACT_INSN_XTRCT_COMPACT
- , SH64_COMPACT_INSN__MAX
-} SH64_COMPACT_INSN_TYPE;
-
-/* Enum declaration for semantic formats in cpu family sh64.  */
-typedef enum sh64_compact_sfmt_type {
-  SH64_COMPACT_SFMT_EMPTY, SH64_COMPACT_SFMT_ADD_COMPACT, SH64_COMPACT_SFMT_ADDI_COMPACT, SH64_COMPACT_SFMT_ADDC_COMPACT
- , SH64_COMPACT_SFMT_ADDV_COMPACT, SH64_COMPACT_SFMT_AND_COMPACT, SH64_COMPACT_SFMT_ANDI_COMPACT, SH64_COMPACT_SFMT_ANDB_COMPACT
- , SH64_COMPACT_SFMT_BF_COMPACT, SH64_COMPACT_SFMT_BFS_COMPACT, SH64_COMPACT_SFMT_BRA_COMPACT, SH64_COMPACT_SFMT_BRAF_COMPACT
- , SH64_COMPACT_SFMT_BRK_COMPACT, SH64_COMPACT_SFMT_BSR_COMPACT, SH64_COMPACT_SFMT_BSRF_COMPACT, SH64_COMPACT_SFMT_CLRMAC_COMPACT
- , SH64_COMPACT_SFMT_CLRS_COMPACT, SH64_COMPACT_SFMT_CLRT_COMPACT, SH64_COMPACT_SFMT_CMPEQ_COMPACT, SH64_COMPACT_SFMT_CMPEQI_COMPACT
- , SH64_COMPACT_SFMT_CMPPL_COMPACT, SH64_COMPACT_SFMT_DIV0S_COMPACT, SH64_COMPACT_SFMT_DIV0U_COMPACT, SH64_COMPACT_SFMT_DIV1_COMPACT
- , SH64_COMPACT_SFMT_DIVU_COMPACT, SH64_COMPACT_SFMT_DMULSL_COMPACT, SH64_COMPACT_SFMT_DT_COMPACT, SH64_COMPACT_SFMT_EXTSB_COMPACT
- , SH64_COMPACT_SFMT_FABS_COMPACT, SH64_COMPACT_SFMT_FADD_COMPACT, SH64_COMPACT_SFMT_FCMPEQ_COMPACT, SH64_COMPACT_SFMT_FCNVDS_COMPACT
- , SH64_COMPACT_SFMT_FCNVSD_COMPACT, SH64_COMPACT_SFMT_FIPR_COMPACT, SH64_COMPACT_SFMT_FLDS_COMPACT, SH64_COMPACT_SFMT_FLDI0_COMPACT
- , SH64_COMPACT_SFMT_FLOAT_COMPACT, SH64_COMPACT_SFMT_FMAC_COMPACT, SH64_COMPACT_SFMT_FMOV1_COMPACT, SH64_COMPACT_SFMT_FMOV2_COMPACT
- , SH64_COMPACT_SFMT_FMOV3_COMPACT, SH64_COMPACT_SFMT_FMOV4_COMPACT, SH64_COMPACT_SFMT_FMOV5_COMPACT, SH64_COMPACT_SFMT_FMOV6_COMPACT
- , SH64_COMPACT_SFMT_FMOV7_COMPACT, SH64_COMPACT_SFMT_FMOV8_COMPACT, SH64_COMPACT_SFMT_FMOV9_COMPACT, SH64_COMPACT_SFMT_FRCHG_COMPACT
- , SH64_COMPACT_SFMT_FSCHG_COMPACT, SH64_COMPACT_SFMT_FSTS_COMPACT, SH64_COMPACT_SFMT_FTRC_COMPACT, SH64_COMPACT_SFMT_FTRV_COMPACT
- , SH64_COMPACT_SFMT_LDC_GBR_COMPACT, SH64_COMPACT_SFMT_LDC_VBR_COMPACT, SH64_COMPACT_SFMT_LDC_SR_COMPACT, SH64_COMPACT_SFMT_LDCL_GBR_COMPACT
- , SH64_COMPACT_SFMT_LDCL_VBR_COMPACT, SH64_COMPACT_SFMT_LDS_FPSCR_COMPACT, SH64_COMPACT_SFMT_LDSL_FPSCR_COMPACT, SH64_COMPACT_SFMT_LDS_FPUL_COMPACT
- , SH64_COMPACT_SFMT_LDSL_FPUL_COMPACT, SH64_COMPACT_SFMT_LDS_MACH_COMPACT, SH64_COMPACT_SFMT_LDSL_MACH_COMPACT, SH64_COMPACT_SFMT_LDS_MACL_COMPACT
- , SH64_COMPACT_SFMT_LDSL_MACL_COMPACT, SH64_COMPACT_SFMT_LDS_PR_COMPACT, SH64_COMPACT_SFMT_LDSL_PR_COMPACT, SH64_COMPACT_SFMT_MACL_COMPACT
- , SH64_COMPACT_SFMT_MACW_COMPACT, SH64_COMPACT_SFMT_MOV_COMPACT, SH64_COMPACT_SFMT_MOVI_COMPACT, SH64_COMPACT_SFMT_MOVI20_COMPACT
- , SH64_COMPACT_SFMT_MOVB1_COMPACT, SH64_COMPACT_SFMT_MOVB2_COMPACT, SH64_COMPACT_SFMT_MOVB3_COMPACT, SH64_COMPACT_SFMT_MOVB4_COMPACT
- , SH64_COMPACT_SFMT_MOVB5_COMPACT, SH64_COMPACT_SFMT_MOVB6_COMPACT, SH64_COMPACT_SFMT_MOVB7_COMPACT, SH64_COMPACT_SFMT_MOVB8_COMPACT
- , SH64_COMPACT_SFMT_MOVB9_COMPACT, SH64_COMPACT_SFMT_MOVB10_COMPACT, SH64_COMPACT_SFMT_MOVL1_COMPACT, SH64_COMPACT_SFMT_MOVL2_COMPACT
- , SH64_COMPACT_SFMT_MOVL3_COMPACT, SH64_COMPACT_SFMT_MOVL4_COMPACT, SH64_COMPACT_SFMT_MOVL5_COMPACT, SH64_COMPACT_SFMT_MOVL6_COMPACT
- , SH64_COMPACT_SFMT_MOVL7_COMPACT, SH64_COMPACT_SFMT_MOVL8_COMPACT, SH64_COMPACT_SFMT_MOVL9_COMPACT, SH64_COMPACT_SFMT_MOVL10_COMPACT
- , SH64_COMPACT_SFMT_MOVL11_COMPACT, SH64_COMPACT_SFMT_MOVL12_COMPACT, SH64_COMPACT_SFMT_MOVL13_COMPACT, SH64_COMPACT_SFMT_MOVW1_COMPACT
- , SH64_COMPACT_SFMT_MOVW2_COMPACT, SH64_COMPACT_SFMT_MOVW3_COMPACT, SH64_COMPACT_SFMT_MOVW4_COMPACT, SH64_COMPACT_SFMT_MOVW5_COMPACT
- , SH64_COMPACT_SFMT_MOVW6_COMPACT, SH64_COMPACT_SFMT_MOVW7_COMPACT, SH64_COMPACT_SFMT_MOVW8_COMPACT, SH64_COMPACT_SFMT_MOVW9_COMPACT
- , SH64_COMPACT_SFMT_MOVW10_COMPACT, SH64_COMPACT_SFMT_MOVW11_COMPACT, SH64_COMPACT_SFMT_MOVA_COMPACT, SH64_COMPACT_SFMT_MOVCAL_COMPACT
- , SH64_COMPACT_SFMT_MOVCOL_COMPACT, SH64_COMPACT_SFMT_MOVT_COMPACT, SH64_COMPACT_SFMT_MOVUAL_COMPACT, SH64_COMPACT_SFMT_MOVUAL2_COMPACT
- , SH64_COMPACT_SFMT_MULL_COMPACT, SH64_COMPACT_SFMT_NEGC_COMPACT, SH64_COMPACT_SFMT_NOP_COMPACT, SH64_COMPACT_SFMT_PREF_COMPACT
- , SH64_COMPACT_SFMT_ROTCL_COMPACT, SH64_COMPACT_SFMT_RTS_COMPACT, SH64_COMPACT_SFMT_SHAD_COMPACT, SH64_COMPACT_SFMT_STC_GBR_COMPACT
- , SH64_COMPACT_SFMT_STC_VBR_COMPACT, SH64_COMPACT_SFMT_STCL_GBR_COMPACT, SH64_COMPACT_SFMT_STCL_VBR_COMPACT, SH64_COMPACT_SFMT_STS_FPSCR_COMPACT
- , SH64_COMPACT_SFMT_STSL_FPSCR_COMPACT, SH64_COMPACT_SFMT_STS_FPUL_COMPACT, SH64_COMPACT_SFMT_STSL_FPUL_COMPACT, SH64_COMPACT_SFMT_STS_MACH_COMPACT
- , SH64_COMPACT_SFMT_STSL_MACH_COMPACT, SH64_COMPACT_SFMT_STS_MACL_COMPACT, SH64_COMPACT_SFMT_STSL_MACL_COMPACT, SH64_COMPACT_SFMT_STS_PR_COMPACT
- , SH64_COMPACT_SFMT_STSL_PR_COMPACT, SH64_COMPACT_SFMT_TASB_COMPACT, SH64_COMPACT_SFMT_TRAPA_COMPACT, SH64_COMPACT_SFMT_TSTI_COMPACT
- , SH64_COMPACT_SFMT_TSTB_COMPACT
-} SH64_COMPACT_SFMT_TYPE;
-
-/* Function unit handlers (user written).  */
-
-extern int sh64_model_sh5_u_ftrv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*fvn*/);
-extern int sh64_model_sh5_u_fipr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*fvm*/, INT /*fvn*/);
-extern int sh64_model_sh5_u_ocb (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_mulr_gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_mulr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_use_dr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_u_load_dr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_set_dr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_fcnv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_fcmp (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_fsqrt (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_fdiv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_fpu_load_gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_use_fpscr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_ldsl_fpscr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_lds_fpscr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_use_fpul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_flds_fpul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_load_fpul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_set_fpul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_fpu_memory_access (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_use_fr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_u_set_fr_0 (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_set_fr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_load_fr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_maybe_fpu (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_fpu (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_trap (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_write_back (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_use_multiply_result (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_shift (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_tas (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_mulsw (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_mull (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_dmul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_macl (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_macw (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_multiply (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_set_mac (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_load_mac (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_load_vbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_load_gbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_use_gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_u_load_gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_stc_vbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_ldcl_vbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_ldcl (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_use_tbit (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_ldc_gbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_ldc_sr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_set_sr_bit (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_use_pr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_load_pr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_sts_pr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_lds_pr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_memory_access (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_logic_b (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_jsr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_jmp (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_branch (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_sx (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_exec (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_putcfg (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_getcfg (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_pt (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*targetreg*/);
-extern int sh64_model_sh5_media_u_ftrvs (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_fsqrtd (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_fdivd (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_cond_branch (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*targetreg*/);
-extern int sh64_model_sh5_media_u_blink (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*targetreg*/);
-extern int sh64_model_sh5_media_u_use_tr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_media_u_use_mtrx (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_media_u_use_fv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_media_u_use_fp (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_media_u_load_mtrx (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_load_fv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_load_fp (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_set_mtrx (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_set_fv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_set_fp (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_set_gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_ftrv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*fvn*/);
-extern int sh64_model_sh5_media_u_fipr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*fvm*/, INT /*fvn*/);
-extern int sh64_model_sh5_media_u_ocb (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_mulr_gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_mulr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_use_dr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_media_u_load_dr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_set_dr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_fcnv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_fcmp (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_fsqrt (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_fdiv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_fpu_load_gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_use_fpscr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_ldsl_fpscr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_lds_fpscr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_use_fpul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_flds_fpul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_load_fpul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_set_fpul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_fpu_memory_access (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_use_fr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_media_u_set_fr_0 (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_set_fr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_load_fr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_maybe_fpu (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_fpu (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_trap (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_write_back (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_use_multiply_result (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_shift (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_tas (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_mulsw (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_mull (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_dmul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_macl (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_macw (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_multiply (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_set_mac (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_load_mac (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_load_vbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_load_gbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_use_gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_media_u_load_gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_stc_vbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_ldcl_vbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_ldcl (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_use_tbit (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_ldc_gbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_ldc_sr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_set_sr_bit (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_use_pr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_load_pr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_sts_pr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_lds_pr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_memory_access (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_logic_b (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_jsr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_jmp (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_branch (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_sx (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_exec (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-
-/* Profiling before/after handlers (user written) */
-
-extern void sh64_model_insn_before (SIM_CPU *, int /*first_p*/);
-extern void sh64_model_insn_after (SIM_CPU *, int /*last_p*/, int /*cycles*/);
-
-#endif /* SH64_COMPACT_DECODE_H */
diff --git a/sim/sh64/decode-media.c b/sim/sh64/decode-media.c
deleted file mode 100644 (file)
index 91e55df..0000000
+++ /dev/null
@@ -1,4100 +0,0 @@
-/* Simulator instruction decoder for sh64_media.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996-2021 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   It is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License along
-   with this program; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#define WANT_CPU sh64
-#define WANT_CPU_SH64
-
-#include "sim-main.h"
-#include "sim-assert.h"
-
-/* The instruction descriptor array.
-   This is computed at runtime.  Space for it is not malloc'd to save a
-   teensy bit of cpu in the decoder.  Moving it to malloc space is trivial
-   but won't be done until necessary (we don't currently support the runtime
-   addition of instructions nor an SMP machine with different cpus).  */
-static IDESC sh64_media_insn_data[SH64_MEDIA_INSN__MAX];
-
-/* Commas between elements are contained in the macros.
-   Some of these are conditionally compiled out.  */
-
-static const struct insn_sem sh64_media_insn_sem[] =
-{
-  { VIRTUAL_INSN_X_INVALID, SH64_MEDIA_INSN_X_INVALID, SH64_MEDIA_SFMT_EMPTY },
-  { VIRTUAL_INSN_X_AFTER, SH64_MEDIA_INSN_X_AFTER, SH64_MEDIA_SFMT_EMPTY },
-  { VIRTUAL_INSN_X_BEFORE, SH64_MEDIA_INSN_X_BEFORE, SH64_MEDIA_SFMT_EMPTY },
-  { VIRTUAL_INSN_X_CTI_CHAIN, SH64_MEDIA_INSN_X_CTI_CHAIN, SH64_MEDIA_SFMT_EMPTY },
-  { VIRTUAL_INSN_X_CHAIN, SH64_MEDIA_INSN_X_CHAIN, SH64_MEDIA_SFMT_EMPTY },
-  { VIRTUAL_INSN_X_BEGIN, SH64_MEDIA_INSN_X_BEGIN, SH64_MEDIA_SFMT_EMPTY },
-  { SH_INSN_ADD, SH64_MEDIA_INSN_ADD, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_ADDL, SH64_MEDIA_INSN_ADDL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_ADDI, SH64_MEDIA_INSN_ADDI, SH64_MEDIA_SFMT_ADDI },
-  { SH_INSN_ADDIL, SH64_MEDIA_INSN_ADDIL, SH64_MEDIA_SFMT_ADDI },
-  { SH_INSN_ADDZL, SH64_MEDIA_INSN_ADDZL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_ALLOCO, SH64_MEDIA_INSN_ALLOCO, SH64_MEDIA_SFMT_ALLOCO },
-  { SH_INSN_AND, SH64_MEDIA_INSN_AND, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_ANDC, SH64_MEDIA_INSN_ANDC, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_ANDI, SH64_MEDIA_INSN_ANDI, SH64_MEDIA_SFMT_ADDI },
-  { SH_INSN_BEQ, SH64_MEDIA_INSN_BEQ, SH64_MEDIA_SFMT_BEQ },
-  { SH_INSN_BEQI, SH64_MEDIA_INSN_BEQI, SH64_MEDIA_SFMT_BEQI },
-  { SH_INSN_BGE, SH64_MEDIA_INSN_BGE, SH64_MEDIA_SFMT_BEQ },
-  { SH_INSN_BGEU, SH64_MEDIA_INSN_BGEU, SH64_MEDIA_SFMT_BEQ },
-  { SH_INSN_BGT, SH64_MEDIA_INSN_BGT, SH64_MEDIA_SFMT_BEQ },
-  { SH_INSN_BGTU, SH64_MEDIA_INSN_BGTU, SH64_MEDIA_SFMT_BEQ },
-  { SH_INSN_BLINK, SH64_MEDIA_INSN_BLINK, SH64_MEDIA_SFMT_BLINK },
-  { SH_INSN_BNE, SH64_MEDIA_INSN_BNE, SH64_MEDIA_SFMT_BEQ },
-  { SH_INSN_BNEI, SH64_MEDIA_INSN_BNEI, SH64_MEDIA_SFMT_BNEI },
-  { SH_INSN_BRK, SH64_MEDIA_INSN_BRK, SH64_MEDIA_SFMT_BRK },
-  { SH_INSN_BYTEREV, SH64_MEDIA_INSN_BYTEREV, SH64_MEDIA_SFMT_BYTEREV },
-  { SH_INSN_CMPEQ, SH64_MEDIA_INSN_CMPEQ, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_CMPGT, SH64_MEDIA_INSN_CMPGT, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_CMPGTU, SH64_MEDIA_INSN_CMPGTU, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_CMVEQ, SH64_MEDIA_INSN_CMVEQ, SH64_MEDIA_SFMT_CMVEQ },
-  { SH_INSN_CMVNE, SH64_MEDIA_INSN_CMVNE, SH64_MEDIA_SFMT_CMVEQ },
-  { SH_INSN_FABSD, SH64_MEDIA_INSN_FABSD, SH64_MEDIA_SFMT_FABSD },
-  { SH_INSN_FABSS, SH64_MEDIA_INSN_FABSS, SH64_MEDIA_SFMT_FABSS },
-  { SH_INSN_FADDD, SH64_MEDIA_INSN_FADDD, SH64_MEDIA_SFMT_FADDD },
-  { SH_INSN_FADDS, SH64_MEDIA_INSN_FADDS, SH64_MEDIA_SFMT_FADDS },
-  { SH_INSN_FCMPEQD, SH64_MEDIA_INSN_FCMPEQD, SH64_MEDIA_SFMT_FCMPEQD },
-  { SH_INSN_FCMPEQS, SH64_MEDIA_INSN_FCMPEQS, SH64_MEDIA_SFMT_FCMPEQS },
-  { SH_INSN_FCMPGED, SH64_MEDIA_INSN_FCMPGED, SH64_MEDIA_SFMT_FCMPEQD },
-  { SH_INSN_FCMPGES, SH64_MEDIA_INSN_FCMPGES, SH64_MEDIA_SFMT_FCMPEQS },
-  { SH_INSN_FCMPGTD, SH64_MEDIA_INSN_FCMPGTD, SH64_MEDIA_SFMT_FCMPEQD },
-  { SH_INSN_FCMPGTS, SH64_MEDIA_INSN_FCMPGTS, SH64_MEDIA_SFMT_FCMPEQS },
-  { SH_INSN_FCMPUND, SH64_MEDIA_INSN_FCMPUND, SH64_MEDIA_SFMT_FCMPEQD },
-  { SH_INSN_FCMPUNS, SH64_MEDIA_INSN_FCMPUNS, SH64_MEDIA_SFMT_FCMPEQS },
-  { SH_INSN_FCNVDS, SH64_MEDIA_INSN_FCNVDS, SH64_MEDIA_SFMT_FCNVDS },
-  { SH_INSN_FCNVSD, SH64_MEDIA_INSN_FCNVSD, SH64_MEDIA_SFMT_FCNVSD },
-  { SH_INSN_FDIVD, SH64_MEDIA_INSN_FDIVD, SH64_MEDIA_SFMT_FADDD },
-  { SH_INSN_FDIVS, SH64_MEDIA_INSN_FDIVS, SH64_MEDIA_SFMT_FADDS },
-  { SH_INSN_FGETSCR, SH64_MEDIA_INSN_FGETSCR, SH64_MEDIA_SFMT_FGETSCR },
-  { SH_INSN_FIPRS, SH64_MEDIA_INSN_FIPRS, SH64_MEDIA_SFMT_FIPRS },
-  { SH_INSN_FLDD, SH64_MEDIA_INSN_FLDD, SH64_MEDIA_SFMT_FLDD },
-  { SH_INSN_FLDP, SH64_MEDIA_INSN_FLDP, SH64_MEDIA_SFMT_FLDP },
-  { SH_INSN_FLDS, SH64_MEDIA_INSN_FLDS, SH64_MEDIA_SFMT_FLDS },
-  { SH_INSN_FLDXD, SH64_MEDIA_INSN_FLDXD, SH64_MEDIA_SFMT_FLDXD },
-  { SH_INSN_FLDXP, SH64_MEDIA_INSN_FLDXP, SH64_MEDIA_SFMT_FLDXP },
-  { SH_INSN_FLDXS, SH64_MEDIA_INSN_FLDXS, SH64_MEDIA_SFMT_FLDXS },
-  { SH_INSN_FLOATLD, SH64_MEDIA_INSN_FLOATLD, SH64_MEDIA_SFMT_FCNVSD },
-  { SH_INSN_FLOATLS, SH64_MEDIA_INSN_FLOATLS, SH64_MEDIA_SFMT_FABSS },
-  { SH_INSN_FLOATQD, SH64_MEDIA_INSN_FLOATQD, SH64_MEDIA_SFMT_FABSD },
-  { SH_INSN_FLOATQS, SH64_MEDIA_INSN_FLOATQS, SH64_MEDIA_SFMT_FCNVDS },
-  { SH_INSN_FMACS, SH64_MEDIA_INSN_FMACS, SH64_MEDIA_SFMT_FMACS },
-  { SH_INSN_FMOVD, SH64_MEDIA_INSN_FMOVD, SH64_MEDIA_SFMT_FABSD },
-  { SH_INSN_FMOVDQ, SH64_MEDIA_INSN_FMOVDQ, SH64_MEDIA_SFMT_FMOVDQ },
-  { SH_INSN_FMOVLS, SH64_MEDIA_INSN_FMOVLS, SH64_MEDIA_SFMT_FMOVLS },
-  { SH_INSN_FMOVQD, SH64_MEDIA_INSN_FMOVQD, SH64_MEDIA_SFMT_FMOVQD },
-  { SH_INSN_FMOVS, SH64_MEDIA_INSN_FMOVS, SH64_MEDIA_SFMT_FABSS },
-  { SH_INSN_FMOVSL, SH64_MEDIA_INSN_FMOVSL, SH64_MEDIA_SFMT_FMOVSL },
-  { SH_INSN_FMULD, SH64_MEDIA_INSN_FMULD, SH64_MEDIA_SFMT_FADDD },
-  { SH_INSN_FMULS, SH64_MEDIA_INSN_FMULS, SH64_MEDIA_SFMT_FADDS },
-  { SH_INSN_FNEGD, SH64_MEDIA_INSN_FNEGD, SH64_MEDIA_SFMT_FABSD },
-  { SH_INSN_FNEGS, SH64_MEDIA_INSN_FNEGS, SH64_MEDIA_SFMT_FABSS },
-  { SH_INSN_FPUTSCR, SH64_MEDIA_INSN_FPUTSCR, SH64_MEDIA_SFMT_FPUTSCR },
-  { SH_INSN_FSQRTD, SH64_MEDIA_INSN_FSQRTD, SH64_MEDIA_SFMT_FABSD },
-  { SH_INSN_FSQRTS, SH64_MEDIA_INSN_FSQRTS, SH64_MEDIA_SFMT_FABSS },
-  { SH_INSN_FSTD, SH64_MEDIA_INSN_FSTD, SH64_MEDIA_SFMT_FSTD },
-  { SH_INSN_FSTP, SH64_MEDIA_INSN_FSTP, SH64_MEDIA_SFMT_FLDP },
-  { SH_INSN_FSTS, SH64_MEDIA_INSN_FSTS, SH64_MEDIA_SFMT_FSTS },
-  { SH_INSN_FSTXD, SH64_MEDIA_INSN_FSTXD, SH64_MEDIA_SFMT_FSTXD },
-  { SH_INSN_FSTXP, SH64_MEDIA_INSN_FSTXP, SH64_MEDIA_SFMT_FLDXP },
-  { SH_INSN_FSTXS, SH64_MEDIA_INSN_FSTXS, SH64_MEDIA_SFMT_FSTXS },
-  { SH_INSN_FSUBD, SH64_MEDIA_INSN_FSUBD, SH64_MEDIA_SFMT_FSUBD },
-  { SH_INSN_FSUBS, SH64_MEDIA_INSN_FSUBS, SH64_MEDIA_SFMT_FADDS },
-  { SH_INSN_FTRCDL, SH64_MEDIA_INSN_FTRCDL, SH64_MEDIA_SFMT_FCNVDS },
-  { SH_INSN_FTRCSL, SH64_MEDIA_INSN_FTRCSL, SH64_MEDIA_SFMT_FABSS },
-  { SH_INSN_FTRCDQ, SH64_MEDIA_INSN_FTRCDQ, SH64_MEDIA_SFMT_FTRCDQ },
-  { SH_INSN_FTRCSQ, SH64_MEDIA_INSN_FTRCSQ, SH64_MEDIA_SFMT_FCNVSD },
-  { SH_INSN_FTRVS, SH64_MEDIA_INSN_FTRVS, SH64_MEDIA_SFMT_FTRVS },
-  { SH_INSN_GETCFG, SH64_MEDIA_INSN_GETCFG, SH64_MEDIA_SFMT_GETCFG },
-  { SH_INSN_GETCON, SH64_MEDIA_INSN_GETCON, SH64_MEDIA_SFMT_GETCON },
-  { SH_INSN_GETTR, SH64_MEDIA_INSN_GETTR, SH64_MEDIA_SFMT_GETTR },
-  { SH_INSN_ICBI, SH64_MEDIA_INSN_ICBI, SH64_MEDIA_SFMT_ALLOCO },
-  { SH_INSN_LDB, SH64_MEDIA_INSN_LDB, SH64_MEDIA_SFMT_LDB },
-  { SH_INSN_LDL, SH64_MEDIA_INSN_LDL, SH64_MEDIA_SFMT_LDL },
-  { SH_INSN_LDQ, SH64_MEDIA_INSN_LDQ, SH64_MEDIA_SFMT_LDQ },
-  { SH_INSN_LDUB, SH64_MEDIA_INSN_LDUB, SH64_MEDIA_SFMT_LDB },
-  { SH_INSN_LDUW, SH64_MEDIA_INSN_LDUW, SH64_MEDIA_SFMT_LDUW },
-  { SH_INSN_LDW, SH64_MEDIA_INSN_LDW, SH64_MEDIA_SFMT_LDUW },
-  { SH_INSN_LDHIL, SH64_MEDIA_INSN_LDHIL, SH64_MEDIA_SFMT_LDHIL },
-  { SH_INSN_LDHIQ, SH64_MEDIA_INSN_LDHIQ, SH64_MEDIA_SFMT_LDHIQ },
-  { SH_INSN_LDLOL, SH64_MEDIA_INSN_LDLOL, SH64_MEDIA_SFMT_LDLOL },
-  { SH_INSN_LDLOQ, SH64_MEDIA_INSN_LDLOQ, SH64_MEDIA_SFMT_LDLOQ },
-  { SH_INSN_LDXB, SH64_MEDIA_INSN_LDXB, SH64_MEDIA_SFMT_LDXB },
-  { SH_INSN_LDXL, SH64_MEDIA_INSN_LDXL, SH64_MEDIA_SFMT_LDXL },
-  { SH_INSN_LDXQ, SH64_MEDIA_INSN_LDXQ, SH64_MEDIA_SFMT_LDXQ },
-  { SH_INSN_LDXUB, SH64_MEDIA_INSN_LDXUB, SH64_MEDIA_SFMT_LDXUB },
-  { SH_INSN_LDXUW, SH64_MEDIA_INSN_LDXUW, SH64_MEDIA_SFMT_LDXUW },
-  { SH_INSN_LDXW, SH64_MEDIA_INSN_LDXW, SH64_MEDIA_SFMT_LDXW },
-  { SH_INSN_MABSL, SH64_MEDIA_INSN_MABSL, SH64_MEDIA_SFMT_BYTEREV },
-  { SH_INSN_MABSW, SH64_MEDIA_INSN_MABSW, SH64_MEDIA_SFMT_BYTEREV },
-  { SH_INSN_MADDL, SH64_MEDIA_INSN_MADDL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MADDW, SH64_MEDIA_INSN_MADDW, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MADDSL, SH64_MEDIA_INSN_MADDSL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MADDSUB, SH64_MEDIA_INSN_MADDSUB, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MADDSW, SH64_MEDIA_INSN_MADDSW, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MCMPEQB, SH64_MEDIA_INSN_MCMPEQB, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MCMPEQL, SH64_MEDIA_INSN_MCMPEQL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MCMPEQW, SH64_MEDIA_INSN_MCMPEQW, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MCMPGTL, SH64_MEDIA_INSN_MCMPGTL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MCMPGTUB, SH64_MEDIA_INSN_MCMPGTUB, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MCMPGTW, SH64_MEDIA_INSN_MCMPGTW, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MCMV, SH64_MEDIA_INSN_MCMV, SH64_MEDIA_SFMT_MCMV },
-  { SH_INSN_MCNVSLW, SH64_MEDIA_INSN_MCNVSLW, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MCNVSWB, SH64_MEDIA_INSN_MCNVSWB, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MCNVSWUB, SH64_MEDIA_INSN_MCNVSWUB, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MEXTR1, SH64_MEDIA_INSN_MEXTR1, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MEXTR2, SH64_MEDIA_INSN_MEXTR2, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MEXTR3, SH64_MEDIA_INSN_MEXTR3, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MEXTR4, SH64_MEDIA_INSN_MEXTR4, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MEXTR5, SH64_MEDIA_INSN_MEXTR5, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MEXTR6, SH64_MEDIA_INSN_MEXTR6, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MEXTR7, SH64_MEDIA_INSN_MEXTR7, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MMACFXWL, SH64_MEDIA_INSN_MMACFXWL, SH64_MEDIA_SFMT_MCMV },
-  { SH_INSN_MMACNFX_WL, SH64_MEDIA_INSN_MMACNFX_WL, SH64_MEDIA_SFMT_MMACNFX_WL },
-  { SH_INSN_MMULL, SH64_MEDIA_INSN_MMULL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MMULW, SH64_MEDIA_INSN_MMULW, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MMULFXL, SH64_MEDIA_INSN_MMULFXL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MMULFXW, SH64_MEDIA_INSN_MMULFXW, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MMULFXRPW, SH64_MEDIA_INSN_MMULFXRPW, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MMULHIWL, SH64_MEDIA_INSN_MMULHIWL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MMULLOWL, SH64_MEDIA_INSN_MMULLOWL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MMULSUMWQ, SH64_MEDIA_INSN_MMULSUMWQ, SH64_MEDIA_SFMT_MCMV },
-  { SH_INSN_MOVI, SH64_MEDIA_INSN_MOVI, SH64_MEDIA_SFMT_MOVI },
-  { SH_INSN_MPERMW, SH64_MEDIA_INSN_MPERMW, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSADUBQ, SH64_MEDIA_INSN_MSADUBQ, SH64_MEDIA_SFMT_MCMV },
-  { SH_INSN_MSHALDSL, SH64_MEDIA_INSN_MSHALDSL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSHALDSW, SH64_MEDIA_INSN_MSHALDSW, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSHARDL, SH64_MEDIA_INSN_MSHARDL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSHARDW, SH64_MEDIA_INSN_MSHARDW, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSHARDSQ, SH64_MEDIA_INSN_MSHARDSQ, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSHFHIB, SH64_MEDIA_INSN_MSHFHIB, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSHFHIL, SH64_MEDIA_INSN_MSHFHIL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSHFHIW, SH64_MEDIA_INSN_MSHFHIW, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSHFLOB, SH64_MEDIA_INSN_MSHFLOB, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSHFLOL, SH64_MEDIA_INSN_MSHFLOL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSHFLOW, SH64_MEDIA_INSN_MSHFLOW, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSHLLDL, SH64_MEDIA_INSN_MSHLLDL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSHLLDW, SH64_MEDIA_INSN_MSHLLDW, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSHLRDL, SH64_MEDIA_INSN_MSHLRDL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSHLRDW, SH64_MEDIA_INSN_MSHLRDW, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSUBL, SH64_MEDIA_INSN_MSUBL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSUBW, SH64_MEDIA_INSN_MSUBW, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSUBSL, SH64_MEDIA_INSN_MSUBSL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSUBSUB, SH64_MEDIA_INSN_MSUBSUB, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MSUBSW, SH64_MEDIA_INSN_MSUBSW, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MULSL, SH64_MEDIA_INSN_MULSL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_MULUL, SH64_MEDIA_INSN_MULUL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_NOP, SH64_MEDIA_INSN_NOP, SH64_MEDIA_SFMT_NOP },
-  { SH_INSN_NSB, SH64_MEDIA_INSN_NSB, SH64_MEDIA_SFMT_BYTEREV },
-  { SH_INSN_OCBI, SH64_MEDIA_INSN_OCBI, SH64_MEDIA_SFMT_ALLOCO },
-  { SH_INSN_OCBP, SH64_MEDIA_INSN_OCBP, SH64_MEDIA_SFMT_ALLOCO },
-  { SH_INSN_OCBWB, SH64_MEDIA_INSN_OCBWB, SH64_MEDIA_SFMT_ALLOCO },
-  { SH_INSN_OR, SH64_MEDIA_INSN_OR, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_ORI, SH64_MEDIA_INSN_ORI, SH64_MEDIA_SFMT_ORI },
-  { SH_INSN_PREFI, SH64_MEDIA_INSN_PREFI, SH64_MEDIA_SFMT_PREFI },
-  { SH_INSN_PTA, SH64_MEDIA_INSN_PTA, SH64_MEDIA_SFMT_PTA },
-  { SH_INSN_PTABS, SH64_MEDIA_INSN_PTABS, SH64_MEDIA_SFMT_PTABS },
-  { SH_INSN_PTB, SH64_MEDIA_INSN_PTB, SH64_MEDIA_SFMT_PTA },
-  { SH_INSN_PTREL, SH64_MEDIA_INSN_PTREL, SH64_MEDIA_SFMT_PTREL },
-  { SH_INSN_PUTCFG, SH64_MEDIA_INSN_PUTCFG, SH64_MEDIA_SFMT_PUTCFG },
-  { SH_INSN_PUTCON, SH64_MEDIA_INSN_PUTCON, SH64_MEDIA_SFMT_PUTCON },
-  { SH_INSN_RTE, SH64_MEDIA_INSN_RTE, SH64_MEDIA_SFMT_NOP },
-  { SH_INSN_SHARD, SH64_MEDIA_INSN_SHARD, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_SHARDL, SH64_MEDIA_INSN_SHARDL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_SHARI, SH64_MEDIA_INSN_SHARI, SH64_MEDIA_SFMT_SHARI },
-  { SH_INSN_SHARIL, SH64_MEDIA_INSN_SHARIL, SH64_MEDIA_SFMT_SHARI },
-  { SH_INSN_SHLLD, SH64_MEDIA_INSN_SHLLD, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_SHLLDL, SH64_MEDIA_INSN_SHLLDL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_SHLLI, SH64_MEDIA_INSN_SHLLI, SH64_MEDIA_SFMT_SHARI },
-  { SH_INSN_SHLLIL, SH64_MEDIA_INSN_SHLLIL, SH64_MEDIA_SFMT_SHARI },
-  { SH_INSN_SHLRD, SH64_MEDIA_INSN_SHLRD, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_SHLRDL, SH64_MEDIA_INSN_SHLRDL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_SHLRI, SH64_MEDIA_INSN_SHLRI, SH64_MEDIA_SFMT_SHARI },
-  { SH_INSN_SHLRIL, SH64_MEDIA_INSN_SHLRIL, SH64_MEDIA_SFMT_SHARI },
-  { SH_INSN_SHORI, SH64_MEDIA_INSN_SHORI, SH64_MEDIA_SFMT_SHORI },
-  { SH_INSN_SLEEP, SH64_MEDIA_INSN_SLEEP, SH64_MEDIA_SFMT_NOP },
-  { SH_INSN_STB, SH64_MEDIA_INSN_STB, SH64_MEDIA_SFMT_STB },
-  { SH_INSN_STL, SH64_MEDIA_INSN_STL, SH64_MEDIA_SFMT_STL },
-  { SH_INSN_STQ, SH64_MEDIA_INSN_STQ, SH64_MEDIA_SFMT_STQ },
-  { SH_INSN_STW, SH64_MEDIA_INSN_STW, SH64_MEDIA_SFMT_STW },
-  { SH_INSN_STHIL, SH64_MEDIA_INSN_STHIL, SH64_MEDIA_SFMT_STHIL },
-  { SH_INSN_STHIQ, SH64_MEDIA_INSN_STHIQ, SH64_MEDIA_SFMT_STHIQ },
-  { SH_INSN_STLOL, SH64_MEDIA_INSN_STLOL, SH64_MEDIA_SFMT_STLOL },
-  { SH_INSN_STLOQ, SH64_MEDIA_INSN_STLOQ, SH64_MEDIA_SFMT_STLOQ },
-  { SH_INSN_STXB, SH64_MEDIA_INSN_STXB, SH64_MEDIA_SFMT_STXB },
-  { SH_INSN_STXL, SH64_MEDIA_INSN_STXL, SH64_MEDIA_SFMT_STXL },
-  { SH_INSN_STXQ, SH64_MEDIA_INSN_STXQ, SH64_MEDIA_SFMT_STXQ },
-  { SH_INSN_STXW, SH64_MEDIA_INSN_STXW, SH64_MEDIA_SFMT_STXW },
-  { SH_INSN_SUB, SH64_MEDIA_INSN_SUB, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_SUBL, SH64_MEDIA_INSN_SUBL, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_SWAPQ, SH64_MEDIA_INSN_SWAPQ, SH64_MEDIA_SFMT_SWAPQ },
-  { SH_INSN_SYNCI, SH64_MEDIA_INSN_SYNCI, SH64_MEDIA_SFMT_NOP },
-  { SH_INSN_SYNCO, SH64_MEDIA_INSN_SYNCO, SH64_MEDIA_SFMT_NOP },
-  { SH_INSN_TRAPA, SH64_MEDIA_INSN_TRAPA, SH64_MEDIA_SFMT_TRAPA },
-  { SH_INSN_XOR, SH64_MEDIA_INSN_XOR, SH64_MEDIA_SFMT_ADD },
-  { SH_INSN_XORI, SH64_MEDIA_INSN_XORI, SH64_MEDIA_SFMT_XORI },
-};
-
-static const struct insn_sem sh64_media_insn_sem_invalid =
-{
-  VIRTUAL_INSN_X_INVALID, SH64_MEDIA_INSN_X_INVALID, SH64_MEDIA_SFMT_EMPTY
-};
-
-/* Initialize an IDESC from the compile-time computable parts.  */
-
-static INLINE void
-init_idesc (SIM_CPU *cpu, IDESC *id, const struct insn_sem *t)
-{
-  const CGEN_INSN *insn_table = CGEN_CPU_INSN_TABLE (CPU_CPU_DESC (cpu))->init_entries;
-
-  id->num = t->index;
-  id->sfmt = t->sfmt;
-  if ((int) t->type <= 0)
-    id->idata = & cgen_virtual_insn_table[- (int) t->type];
-  else
-    id->idata = & insn_table[t->type];
-  id->attrs = CGEN_INSN_ATTRS (id->idata);
-  /* Oh my god, a magic number.  */
-  id->length = CGEN_INSN_BITSIZE (id->idata) / 8;
-
-#if WITH_PROFILE_MODEL_P
-  id->timing = & MODEL_TIMING (CPU_MODEL (cpu)) [t->index];
-  {
-    SIM_DESC sd = CPU_STATE (cpu);
-    SIM_ASSERT (t->index == id->timing->num);
-  }
-#endif
-
-  /* Semantic pointers are initialized elsewhere.  */
-}
-
-/* Initialize the instruction descriptor table.  */
-
-void
-sh64_media_init_idesc_table (SIM_CPU *cpu)
-{
-  IDESC *id,*tabend;
-  const struct insn_sem *t,*tend;
-  int tabsize = SH64_MEDIA_INSN__MAX;
-  IDESC *table = sh64_media_insn_data;
-
-  memset (table, 0, tabsize * sizeof (IDESC));
-
-  /* First set all entries to the `invalid insn'.  */
-  t = & sh64_media_insn_sem_invalid;
-  for (id = table, tabend = table + tabsize; id < tabend; ++id)
-    init_idesc (cpu, id, t);
-
-  /* Now fill in the values for the chosen cpu.  */
-  for (t = sh64_media_insn_sem, tend = t + ARRAY_SIZE (sh64_media_insn_sem);
-       t != tend; ++t)
-    {
-      init_idesc (cpu, & table[t->index], t);
-    }
-
-  /* Link the IDESC table into the cpu.  */
-  CPU_IDESC (cpu) = table;
-}
-
-/* Given an instruction, return a pointer to its IDESC entry.  */
-
-const IDESC *
-sh64_media_decode (SIM_CPU *current_cpu, IADDR pc,
-              CGEN_INSN_WORD base_insn, CGEN_INSN_WORD entire_insn,
-              ARGBUF *abuf)
-{
-  /* Result of decoder.  */
-  SH64_MEDIA_INSN_TYPE itype;
-
-  {
-    CGEN_INSN_WORD insn = base_insn;
-
-    {
-      unsigned int val = (((insn >> 22) & (63 << 4)) | ((insn >> 16) & (15 << 0)));
-      switch (val)
-      {
-      case 1 :
-        if ((entire_insn & 0xfc0f000f) == 0x10000)
-          { itype = SH64_MEDIA_INSN_CMPEQ; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 3 :
-        if ((entire_insn & 0xfc0f000f) == 0x30000)
-          { itype = SH64_MEDIA_INSN_CMPGT; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 7 :
-        if ((entire_insn & 0xfc0f000f) == 0x70000)
-          { itype = SH64_MEDIA_INSN_CMPGTU; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 8 :
-        if ((entire_insn & 0xfc0f000f) == 0x80000)
-          { itype = SH64_MEDIA_INSN_ADDL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 9 :
-        if ((entire_insn & 0xfc0f000f) == 0x90000)
-          { itype = SH64_MEDIA_INSN_ADD; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 10 :
-        if ((entire_insn & 0xfc0f000f) == 0xa0000)
-          { itype = SH64_MEDIA_INSN_SUBL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 11 :
-        if ((entire_insn & 0xfc0f000f) == 0xb0000)
-          { itype = SH64_MEDIA_INSN_SUB; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 12 :
-        if ((entire_insn & 0xfc0f000f) == 0xc0000)
-          { itype = SH64_MEDIA_INSN_ADDZL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 13 :
-        if ((entire_insn & 0xfc0ffc0f) == 0xdfc00)
-          { itype = SH64_MEDIA_INSN_NSB; goto extract_sfmt_byterev; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 14 :
-        if ((entire_insn & 0xfc0f000f) == 0xe0000)
-          { itype = SH64_MEDIA_INSN_MULUL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 15 :
-        if ((entire_insn & 0xfc0ffc0f) == 0xffc00)
-          { itype = SH64_MEDIA_INSN_BYTEREV; goto extract_sfmt_byterev; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 16 :
-        if ((entire_insn & 0xfc0f000f) == 0x4000000)
-          { itype = SH64_MEDIA_INSN_SHLLDL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 17 :
-        if ((entire_insn & 0xfc0f000f) == 0x4010000)
-          { itype = SH64_MEDIA_INSN_SHLLD; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 18 :
-        if ((entire_insn & 0xfc0f000f) == 0x4020000)
-          { itype = SH64_MEDIA_INSN_SHLRDL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 19 :
-        if ((entire_insn & 0xfc0f000f) == 0x4030000)
-          { itype = SH64_MEDIA_INSN_SHLRD; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 22 :
-        if ((entire_insn & 0xfc0f000f) == 0x4060000)
-          { itype = SH64_MEDIA_INSN_SHARDL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 23 :
-        if ((entire_insn & 0xfc0f000f) == 0x4070000)
-          { itype = SH64_MEDIA_INSN_SHARD; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 25 :
-        if ((entire_insn & 0xfc0f000f) == 0x4090000)
-          { itype = SH64_MEDIA_INSN_OR; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 27 :
-        if ((entire_insn & 0xfc0f000f) == 0x40b0000)
-          { itype = SH64_MEDIA_INSN_AND; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 29 :
-        if ((entire_insn & 0xfc0f000f) == 0x40d0000)
-          { itype = SH64_MEDIA_INSN_XOR; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 30 :
-        if ((entire_insn & 0xfc0f000f) == 0x40e0000)
-          { itype = SH64_MEDIA_INSN_MULSL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 31 :
-        if ((entire_insn & 0xfc0f000f) == 0x40f0000)
-          { itype = SH64_MEDIA_INSN_ANDC; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 33 :
-        if ((entire_insn & 0xfc0f000f) == 0x8010000)
-          { itype = SH64_MEDIA_INSN_MADDW; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 34 :
-        if ((entire_insn & 0xfc0f000f) == 0x8020000)
-          { itype = SH64_MEDIA_INSN_MADDL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 36 :
-        if ((entire_insn & 0xfc0f000f) == 0x8040000)
-          { itype = SH64_MEDIA_INSN_MADDSUB; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 37 :
-        if ((entire_insn & 0xfc0f000f) == 0x8050000)
-          { itype = SH64_MEDIA_INSN_MADDSW; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 38 :
-        if ((entire_insn & 0xfc0f000f) == 0x8060000)
-          { itype = SH64_MEDIA_INSN_MADDSL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 41 :
-        if ((entire_insn & 0xfc0f000f) == 0x8090000)
-          { itype = SH64_MEDIA_INSN_MSUBW; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 42 :
-        if ((entire_insn & 0xfc0f000f) == 0x80a0000)
-          { itype = SH64_MEDIA_INSN_MSUBL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 44 :
-        if ((entire_insn & 0xfc0f000f) == 0x80c0000)
-          { itype = SH64_MEDIA_INSN_MSUBSUB; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 45 :
-        if ((entire_insn & 0xfc0f000f) == 0x80d0000)
-          { itype = SH64_MEDIA_INSN_MSUBSW; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 46 :
-        if ((entire_insn & 0xfc0f000f) == 0x80e0000)
-          { itype = SH64_MEDIA_INSN_MSUBSL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 49 :
-        if ((entire_insn & 0xfc0f000f) == 0xc010000)
-          { itype = SH64_MEDIA_INSN_MSHLLDW; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 50 :
-        if ((entire_insn & 0xfc0f000f) == 0xc020000)
-          { itype = SH64_MEDIA_INSN_MSHLLDL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 53 :
-        if ((entire_insn & 0xfc0f000f) == 0xc050000)
-          { itype = SH64_MEDIA_INSN_MSHALDSW; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 54 :
-        if ((entire_insn & 0xfc0f000f) == 0xc060000)
-          { itype = SH64_MEDIA_INSN_MSHALDSL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 57 :
-        if ((entire_insn & 0xfc0f000f) == 0xc090000)
-          { itype = SH64_MEDIA_INSN_MSHARDW; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 58 :
-        if ((entire_insn & 0xfc0f000f) == 0xc0a0000)
-          { itype = SH64_MEDIA_INSN_MSHARDL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 59 :
-        if ((entire_insn & 0xfc0f000f) == 0xc0b0000)
-          { itype = SH64_MEDIA_INSN_MSHARDSQ; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 61 :
-        if ((entire_insn & 0xfc0f000f) == 0xc0d0000)
-          { itype = SH64_MEDIA_INSN_MSHLRDW; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 62 :
-        if ((entire_insn & 0xfc0f000f) == 0xc0e0000)
-          { itype = SH64_MEDIA_INSN_MSHLRDL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 86 :
-        if ((entire_insn & 0xfc0f000f) == 0x14060000)
-          { itype = SH64_MEDIA_INSN_FIPRS; goto extract_sfmt_fiprs; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 94 :
-        if ((entire_insn & 0xfc0f000f) == 0x140e0000)
-          { itype = SH64_MEDIA_INSN_FTRVS; goto extract_sfmt_ftrvs; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 96 :
-        if ((entire_insn & 0xfc0f000f) == 0x18000000)
-          { itype = SH64_MEDIA_INSN_FABSS; goto extract_sfmt_fabss; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 97 :
-        if ((entire_insn & 0xfc0f000f) == 0x18010000)
-          { itype = SH64_MEDIA_INSN_FABSD; goto extract_sfmt_fabsd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 98 :
-        if ((entire_insn & 0xfc0f000f) == 0x18020000)
-          { itype = SH64_MEDIA_INSN_FNEGS; goto extract_sfmt_fabss; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 99 :
-        if ((entire_insn & 0xfc0f000f) == 0x18030000)
-          { itype = SH64_MEDIA_INSN_FNEGD; goto extract_sfmt_fabsd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 112 :
-        if ((entire_insn & 0xfc0ffc0f) == 0x1c00fc00)
-          { itype = SH64_MEDIA_INSN_FMOVLS; goto extract_sfmt_fmovls; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 113 :
-        if ((entire_insn & 0xfc0ffc0f) == 0x1c01fc00)
-          { itype = SH64_MEDIA_INSN_FMOVQD; goto extract_sfmt_fmovqd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 114 :
-        if ((entire_insn & 0xfffffc0f) == 0x1ff2fc00)
-          { itype = SH64_MEDIA_INSN_FGETSCR; goto extract_sfmt_fgetscr; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 120 :
-        if ((entire_insn & 0xfc0f000f) == 0x1c080000)
-          { itype = SH64_MEDIA_INSN_FLDXS; goto extract_sfmt_fldxs; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 121 :
-        if ((entire_insn & 0xfc0f000f) == 0x1c090000)
-          { itype = SH64_MEDIA_INSN_FLDXD; goto extract_sfmt_fldxd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 125 :
-        if ((entire_insn & 0xfc0f000f) == 0x1c0d0000)
-          { itype = SH64_MEDIA_INSN_FLDXP; goto extract_sfmt_fldxp; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 129 :
-        if ((entire_insn & 0xfc0f000f) == 0x20010000)
-          { itype = SH64_MEDIA_INSN_CMVEQ; goto extract_sfmt_cmveq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 131 :
-        if ((entire_insn & 0xfc0f000f) == 0x20030000)
-          { itype = SH64_MEDIA_INSN_SWAPQ; goto extract_sfmt_swapq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 133 :
-        if ((entire_insn & 0xfc0f000f) == 0x20050000)
-          { itype = SH64_MEDIA_INSN_CMVNE; goto extract_sfmt_cmveq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 159 :
-        if ((entire_insn & 0xfc0ffc0f) == 0x240ffc00)
-          { itype = SH64_MEDIA_INSN_GETCON; goto extract_sfmt_getcon; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 160 :
-        if ((entire_insn & 0xfc0f000f) == 0x28000000)
-          { itype = SH64_MEDIA_INSN_MCMPEQB; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 161 :
-        if ((entire_insn & 0xfc0f000f) == 0x28010000)
-          { itype = SH64_MEDIA_INSN_MCMPEQW; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 162 :
-        if ((entire_insn & 0xfc0f000f) == 0x28020000)
-          { itype = SH64_MEDIA_INSN_MCMPEQL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 164 :
-        if ((entire_insn & 0xfc0f000f) == 0x28040000)
-          { itype = SH64_MEDIA_INSN_MCMPGTUB; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 165 :
-        if ((entire_insn & 0xfc0f000f) == 0x28050000)
-          { itype = SH64_MEDIA_INSN_MCMPGTW; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 166 :
-        if ((entire_insn & 0xfc0f000f) == 0x28060000)
-          { itype = SH64_MEDIA_INSN_MCMPGTL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 167 :
-        if ((entire_insn & 0xfc0f000f) == 0x28070000)
-          { itype = SH64_MEDIA_INSN_MEXTR1; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 169 :
-        if ((entire_insn & 0xfc0ffc0f) == 0x2809fc00)
-          { itype = SH64_MEDIA_INSN_MABSW; goto extract_sfmt_byterev; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 170 :
-        if ((entire_insn & 0xfc0ffc0f) == 0x280afc00)
-          { itype = SH64_MEDIA_INSN_MABSL; goto extract_sfmt_byterev; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 171 :
-        if ((entire_insn & 0xfc0f000f) == 0x280b0000)
-          { itype = SH64_MEDIA_INSN_MEXTR2; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 173 :
-        if ((entire_insn & 0xfc0f000f) == 0x280d0000)
-          { itype = SH64_MEDIA_INSN_MPERMW; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 175 :
-        if ((entire_insn & 0xfc0f000f) == 0x280f0000)
-          { itype = SH64_MEDIA_INSN_MEXTR3; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 176 :
-        if ((entire_insn & 0xfc0f000f) == 0x2c000000)
-          { itype = SH64_MEDIA_INSN_MSHFLOB; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 177 :
-        if ((entire_insn & 0xfc0f000f) == 0x2c010000)
-          { itype = SH64_MEDIA_INSN_MSHFLOW; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 178 :
-        if ((entire_insn & 0xfc0f000f) == 0x2c020000)
-          { itype = SH64_MEDIA_INSN_MSHFLOL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 179 :
-        if ((entire_insn & 0xfc0f000f) == 0x2c030000)
-          { itype = SH64_MEDIA_INSN_MEXTR4; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 180 :
-        if ((entire_insn & 0xfc0f000f) == 0x2c040000)
-          { itype = SH64_MEDIA_INSN_MSHFHIB; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 181 :
-        if ((entire_insn & 0xfc0f000f) == 0x2c050000)
-          { itype = SH64_MEDIA_INSN_MSHFHIW; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 182 :
-        if ((entire_insn & 0xfc0f000f) == 0x2c060000)
-          { itype = SH64_MEDIA_INSN_MSHFHIL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 183 :
-        if ((entire_insn & 0xfc0f000f) == 0x2c070000)
-          { itype = SH64_MEDIA_INSN_MEXTR5; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 187 :
-        if ((entire_insn & 0xfc0f000f) == 0x2c0b0000)
-          { itype = SH64_MEDIA_INSN_MEXTR6; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 191 :
-        if ((entire_insn & 0xfc0f000f) == 0x2c0f0000)
-          { itype = SH64_MEDIA_INSN_MEXTR7; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 192 :
-        if ((entire_insn & 0xfc0f000f) == 0x30000000)
-          { itype = SH64_MEDIA_INSN_FMOVSL; goto extract_sfmt_fmovsl; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 193 :
-        if ((entire_insn & 0xfc0f000f) == 0x30010000)
-          { itype = SH64_MEDIA_INSN_FMOVDQ; goto extract_sfmt_fmovdq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 194 :
-        if ((entire_insn & 0xfc0f03ff) == 0x300203f0)
-          { itype = SH64_MEDIA_INSN_FPUTSCR; goto extract_sfmt_fputscr; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 200 :
-        if ((entire_insn & 0xfc0f000f) == 0x30080000)
-          { itype = SH64_MEDIA_INSN_FCMPEQS; goto extract_sfmt_fcmpeqs; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 201 :
-        if ((entire_insn & 0xfc0f000f) == 0x30090000)
-          { itype = SH64_MEDIA_INSN_FCMPEQD; goto extract_sfmt_fcmpeqd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 202 :
-        if ((entire_insn & 0xfc0f000f) == 0x300a0000)
-          { itype = SH64_MEDIA_INSN_FCMPUNS; goto extract_sfmt_fcmpeqs; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 203 :
-        if ((entire_insn & 0xfc0f000f) == 0x300b0000)
-          { itype = SH64_MEDIA_INSN_FCMPUND; goto extract_sfmt_fcmpeqd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 204 :
-        if ((entire_insn & 0xfc0f000f) == 0x300c0000)
-          { itype = SH64_MEDIA_INSN_FCMPGTS; goto extract_sfmt_fcmpeqs; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 205 :
-        if ((entire_insn & 0xfc0f000f) == 0x300d0000)
-          { itype = SH64_MEDIA_INSN_FCMPGTD; goto extract_sfmt_fcmpeqd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 206 :
-        if ((entire_insn & 0xfc0f000f) == 0x300e0000)
-          { itype = SH64_MEDIA_INSN_FCMPGES; goto extract_sfmt_fcmpeqs; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 207 :
-        if ((entire_insn & 0xfc0f000f) == 0x300f0000)
-          { itype = SH64_MEDIA_INSN_FCMPGED; goto extract_sfmt_fcmpeqd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 208 :
-        if ((entire_insn & 0xfc0f000f) == 0x34000000)
-          { itype = SH64_MEDIA_INSN_FADDS; goto extract_sfmt_fadds; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 209 :
-        if ((entire_insn & 0xfc0f000f) == 0x34010000)
-          { itype = SH64_MEDIA_INSN_FADDD; goto extract_sfmt_faddd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 210 :
-        if ((entire_insn & 0xfc0f000f) == 0x34020000)
-          { itype = SH64_MEDIA_INSN_FSUBS; goto extract_sfmt_fadds; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 211 :
-        if ((entire_insn & 0xfc0f000f) == 0x34030000)
-          { itype = SH64_MEDIA_INSN_FSUBD; goto extract_sfmt_fsubd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 212 :
-        if ((entire_insn & 0xfc0f000f) == 0x34040000)
-          { itype = SH64_MEDIA_INSN_FDIVS; goto extract_sfmt_fadds; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 213 :
-        if ((entire_insn & 0xfc0f000f) == 0x34050000)
-          { itype = SH64_MEDIA_INSN_FDIVD; goto extract_sfmt_faddd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 214 :
-        if ((entire_insn & 0xfc0f000f) == 0x34060000)
-          { itype = SH64_MEDIA_INSN_FMULS; goto extract_sfmt_fadds; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 215 :
-        if ((entire_insn & 0xfc0f000f) == 0x34070000)
-          { itype = SH64_MEDIA_INSN_FMULD; goto extract_sfmt_faddd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 222 :
-        if ((entire_insn & 0xfc0f000f) == 0x340e0000)
-          { itype = SH64_MEDIA_INSN_FMACS; goto extract_sfmt_fmacs; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 224 :
-        if ((entire_insn & 0xfc0f000f) == 0x38000000)
-          { itype = SH64_MEDIA_INSN_FMOVS; goto extract_sfmt_fabss; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 225 :
-        if ((entire_insn & 0xfc0f000f) == 0x38010000)
-          { itype = SH64_MEDIA_INSN_FMOVD; goto extract_sfmt_fabsd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 228 :
-        if ((entire_insn & 0xfc0f000f) == 0x38040000)
-          { itype = SH64_MEDIA_INSN_FSQRTS; goto extract_sfmt_fabss; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 229 :
-        if ((entire_insn & 0xfc0f000f) == 0x38050000)
-          { itype = SH64_MEDIA_INSN_FSQRTD; goto extract_sfmt_fabsd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 230 :
-        if ((entire_insn & 0xfc0f000f) == 0x38060000)
-          { itype = SH64_MEDIA_INSN_FCNVSD; goto extract_sfmt_fcnvsd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 231 :
-        if ((entire_insn & 0xfc0f000f) == 0x38070000)
-          { itype = SH64_MEDIA_INSN_FCNVDS; goto extract_sfmt_fcnvds; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 232 :
-        if ((entire_insn & 0xfc0f000f) == 0x38080000)
-          { itype = SH64_MEDIA_INSN_FTRCSL; goto extract_sfmt_fabss; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 233 :
-        if ((entire_insn & 0xfc0f000f) == 0x38090000)
-          { itype = SH64_MEDIA_INSN_FTRCDQ; goto extract_sfmt_ftrcdq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 234 :
-        if ((entire_insn & 0xfc0f000f) == 0x380a0000)
-          { itype = SH64_MEDIA_INSN_FTRCSQ; goto extract_sfmt_fcnvsd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 235 :
-        if ((entire_insn & 0xfc0f000f) == 0x380b0000)
-          { itype = SH64_MEDIA_INSN_FTRCDL; goto extract_sfmt_fcnvds; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 236 :
-        if ((entire_insn & 0xfc0f000f) == 0x380c0000)
-          { itype = SH64_MEDIA_INSN_FLOATLS; goto extract_sfmt_fabss; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 237 :
-        if ((entire_insn & 0xfc0f000f) == 0x380d0000)
-          { itype = SH64_MEDIA_INSN_FLOATQD; goto extract_sfmt_fabsd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 238 :
-        if ((entire_insn & 0xfc0f000f) == 0x380e0000)
-          { itype = SH64_MEDIA_INSN_FLOATLD; goto extract_sfmt_fcnvsd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 239 :
-        if ((entire_insn & 0xfc0f000f) == 0x380f0000)
-          { itype = SH64_MEDIA_INSN_FLOATQS; goto extract_sfmt_fcnvds; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 248 :
-        if ((entire_insn & 0xfc0f000f) == 0x3c080000)
-          { itype = SH64_MEDIA_INSN_FSTXS; goto extract_sfmt_fstxs; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 249 :
-        if ((entire_insn & 0xfc0f000f) == 0x3c090000)
-          { itype = SH64_MEDIA_INSN_FSTXD; goto extract_sfmt_fstxd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 253 :
-        if ((entire_insn & 0xfc0f000f) == 0x3c0d0000)
-          { itype = SH64_MEDIA_INSN_FSTXP; goto extract_sfmt_fldxp; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 256 :
-        if ((entire_insn & 0xfc0f000f) == 0x40000000)
-          { itype = SH64_MEDIA_INSN_LDXB; goto extract_sfmt_ldxb; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 257 :
-        if ((entire_insn & 0xfc0f000f) == 0x40010000)
-          { itype = SH64_MEDIA_INSN_LDXW; goto extract_sfmt_ldxw; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 258 :
-        if ((entire_insn & 0xfc0f000f) == 0x40020000)
-          { itype = SH64_MEDIA_INSN_LDXL; goto extract_sfmt_ldxl; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 259 :
-        if ((entire_insn & 0xfc0f000f) == 0x40030000)
-          { itype = SH64_MEDIA_INSN_LDXQ; goto extract_sfmt_ldxq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 260 :
-        if ((entire_insn & 0xfc0f000f) == 0x40040000)
-          { itype = SH64_MEDIA_INSN_LDXUB; goto extract_sfmt_ldxub; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 261 :
-        if ((entire_insn & 0xfc0f000f) == 0x40050000)
-          { itype = SH64_MEDIA_INSN_LDXUW; goto extract_sfmt_ldxuw; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 273 :
-        if ((entire_insn & 0xff8ffc0f) == 0x4401fc00)
-          { itype = SH64_MEDIA_INSN_BLINK; goto extract_sfmt_blink; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 277 :
-        if ((entire_insn & 0xff8ffc0f) == 0x4405fc00)
-          { itype = SH64_MEDIA_INSN_GETTR; goto extract_sfmt_gettr; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 288 :
-        if ((entire_insn & 0xfc0f000f) == 0x48000000)
-          { itype = SH64_MEDIA_INSN_MSADUBQ; goto extract_sfmt_mcmv; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 289 :
-        if ((entire_insn & 0xfc0f000f) == 0x48010000)
-          { itype = SH64_MEDIA_INSN_MMACFXWL; goto extract_sfmt_mcmv; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 291 :
-        if ((entire_insn & 0xfc0f000f) == 0x48030000)
-          { itype = SH64_MEDIA_INSN_MCMV; goto extract_sfmt_mcmv; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 293 :
-        if ((entire_insn & 0xfc0f000f) == 0x48050000)
-          { itype = SH64_MEDIA_INSN_MMACNFX_WL; goto extract_sfmt_mmacnfx_wl; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 297 :
-        if ((entire_insn & 0xfc0f000f) == 0x48090000)
-          { itype = SH64_MEDIA_INSN_MMULSUMWQ; goto extract_sfmt_mcmv; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 305 :
-        if ((entire_insn & 0xfc0f000f) == 0x4c010000)
-          { itype = SH64_MEDIA_INSN_MMULW; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 306 :
-        if ((entire_insn & 0xfc0f000f) == 0x4c020000)
-          { itype = SH64_MEDIA_INSN_MMULL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 309 :
-        if ((entire_insn & 0xfc0f000f) == 0x4c050000)
-          { itype = SH64_MEDIA_INSN_MMULFXW; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 310 :
-        if ((entire_insn & 0xfc0f000f) == 0x4c060000)
-          { itype = SH64_MEDIA_INSN_MMULFXL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 312 :
-        if ((entire_insn & 0xfc0f000f) == 0x4c080000)
-          { itype = SH64_MEDIA_INSN_MCNVSWB; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 313 :
-        if ((entire_insn & 0xfc0f000f) == 0x4c090000)
-          { itype = SH64_MEDIA_INSN_MMULFXRPW; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 314 :
-        if ((entire_insn & 0xfc0f000f) == 0x4c0a0000)
-          { itype = SH64_MEDIA_INSN_MMULLOWL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 316 :
-        if ((entire_insn & 0xfc0f000f) == 0x4c0c0000)
-          { itype = SH64_MEDIA_INSN_MCNVSWUB; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 317 :
-        if ((entire_insn & 0xfc0f000f) == 0x4c0d0000)
-          { itype = SH64_MEDIA_INSN_MCNVSLW; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 318 :
-        if ((entire_insn & 0xfc0f000f) == 0x4c0e0000)
-          { itype = SH64_MEDIA_INSN_MMULHIWL; goto extract_sfmt_add; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 384 :
-        if ((entire_insn & 0xfc0f000f) == 0x60000000)
-          { itype = SH64_MEDIA_INSN_STXB; goto extract_sfmt_stxb; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 385 :
-        if ((entire_insn & 0xfc0f000f) == 0x60010000)
-          { itype = SH64_MEDIA_INSN_STXW; goto extract_sfmt_stxw; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 386 :
-        if ((entire_insn & 0xfc0f000f) == 0x60020000)
-          { itype = SH64_MEDIA_INSN_STXL; goto extract_sfmt_stxl; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 387 :
-        if ((entire_insn & 0xfc0f000f) == 0x60030000)
-          { itype = SH64_MEDIA_INSN_STXQ; goto extract_sfmt_stxq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 401 :
-        if ((entire_insn & 0xfc0f018f) == 0x64010000)
-          { itype = SH64_MEDIA_INSN_BEQ; goto extract_sfmt_beq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 403 :
-        if ((entire_insn & 0xfc0f018f) == 0x64030000)
-          { itype = SH64_MEDIA_INSN_BGE; goto extract_sfmt_beq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 405 :
-        if ((entire_insn & 0xfc0f018f) == 0x64050000)
-          { itype = SH64_MEDIA_INSN_BNE; goto extract_sfmt_beq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 407 :
-        if ((entire_insn & 0xfc0f018f) == 0x64070000)
-          { itype = SH64_MEDIA_INSN_BGT; goto extract_sfmt_beq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 411 :
-        if ((entire_insn & 0xfc0f018f) == 0x640b0000)
-          { itype = SH64_MEDIA_INSN_BGEU; goto extract_sfmt_beq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 415 :
-        if ((entire_insn & 0xfc0f018f) == 0x640f0000)
-          { itype = SH64_MEDIA_INSN_BGTU; goto extract_sfmt_beq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 417 :
-        if ((entire_insn & 0xffff018f) == 0x6bf10000)
-          { itype = SH64_MEDIA_INSN_PTABS; goto extract_sfmt_ptabs; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 421 :
-        if ((entire_insn & 0xffff018f) == 0x6bf50000)
-          { itype = SH64_MEDIA_INSN_PTREL; goto extract_sfmt_ptrel; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 432 :
-        if ((entire_insn & 0xffffffff) == 0x6ff0fff0)
-          { itype = SH64_MEDIA_INSN_NOP; goto extract_sfmt_nop; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 433 :
-        if ((entire_insn & 0xfc0fffff) == 0x6c01fff0)
-          { itype = SH64_MEDIA_INSN_TRAPA; goto extract_sfmt_trapa; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 434 :
-        if ((entire_insn & 0xffffffff) == 0x6ff2fff0)
-          { itype = SH64_MEDIA_INSN_SYNCI; goto extract_sfmt_nop; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 435 :
-        if ((entire_insn & 0xffffffff) == 0x6ff3fff0)
-          { itype = SH64_MEDIA_INSN_RTE; goto extract_sfmt_nop; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 437 :
-        if ((entire_insn & 0xffffffff) == 0x6ff5fff0)
-          { itype = SH64_MEDIA_INSN_BRK; goto extract_sfmt_brk; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 438 :
-        if ((entire_insn & 0xffffffff) == 0x6ff6fff0)
-          { itype = SH64_MEDIA_INSN_SYNCO; goto extract_sfmt_nop; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 439 :
-        if ((entire_insn & 0xffffffff) == 0x6ff7fff0)
-          { itype = SH64_MEDIA_INSN_SLEEP; goto extract_sfmt_nop; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 447 :
-        if ((entire_insn & 0xfc0ffc0f) == 0x6c0ffc00)
-          { itype = SH64_MEDIA_INSN_PUTCON; goto extract_sfmt_putcon; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 512 : /* fall through */
-      case 513 : /* fall through */
-      case 514 : /* fall through */
-      case 515 : /* fall through */
-      case 516 : /* fall through */
-      case 517 : /* fall through */
-      case 518 : /* fall through */
-      case 519 : /* fall through */
-      case 520 : /* fall through */
-      case 521 : /* fall through */
-      case 522 : /* fall through */
-      case 523 : /* fall through */
-      case 524 : /* fall through */
-      case 525 : /* fall through */
-      case 526 : /* fall through */
-      case 527 :
-        if ((entire_insn & 0xfc00000f) == 0x80000000)
-          { itype = SH64_MEDIA_INSN_LDB; goto extract_sfmt_ldb; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 528 : /* fall through */
-      case 529 : /* fall through */
-      case 530 : /* fall through */
-      case 531 : /* fall through */
-      case 532 : /* fall through */
-      case 533 : /* fall through */
-      case 534 : /* fall through */
-      case 535 : /* fall through */
-      case 536 : /* fall through */
-      case 537 : /* fall through */
-      case 538 : /* fall through */
-      case 539 : /* fall through */
-      case 540 : /* fall through */
-      case 541 : /* fall through */
-      case 542 : /* fall through */
-      case 543 :
-        if ((entire_insn & 0xfc00000f) == 0x84000000)
-          { itype = SH64_MEDIA_INSN_LDW; goto extract_sfmt_lduw; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 544 : /* fall through */
-      case 545 : /* fall through */
-      case 546 : /* fall through */
-      case 547 : /* fall through */
-      case 548 : /* fall through */
-      case 549 : /* fall through */
-      case 550 : /* fall through */
-      case 551 : /* fall through */
-      case 552 : /* fall through */
-      case 553 : /* fall through */
-      case 554 : /* fall through */
-      case 555 : /* fall through */
-      case 556 : /* fall through */
-      case 557 : /* fall through */
-      case 558 : /* fall through */
-      case 559 :
-        if ((entire_insn & 0xfc00000f) == 0x88000000)
-          { itype = SH64_MEDIA_INSN_LDL; goto extract_sfmt_ldl; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 560 : /* fall through */
-      case 561 : /* fall through */
-      case 562 : /* fall through */
-      case 563 : /* fall through */
-      case 564 : /* fall through */
-      case 565 : /* fall through */
-      case 566 : /* fall through */
-      case 567 : /* fall through */
-      case 568 : /* fall through */
-      case 569 : /* fall through */
-      case 570 : /* fall through */
-      case 571 : /* fall through */
-      case 572 : /* fall through */
-      case 573 : /* fall through */
-      case 574 : /* fall through */
-      case 575 :
-        if ((entire_insn & 0xfc00000f) == 0x8c000000)
-          { itype = SH64_MEDIA_INSN_LDQ; goto extract_sfmt_ldq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 576 : /* fall through */
-      case 577 : /* fall through */
-      case 578 : /* fall through */
-      case 579 : /* fall through */
-      case 580 : /* fall through */
-      case 581 : /* fall through */
-      case 582 : /* fall through */
-      case 583 : /* fall through */
-      case 584 : /* fall through */
-      case 585 : /* fall through */
-      case 586 : /* fall through */
-      case 587 : /* fall through */
-      case 588 : /* fall through */
-      case 589 : /* fall through */
-      case 590 : /* fall through */
-      case 591 :
-        if ((entire_insn & 0xfc00000f) == 0x90000000)
-          { itype = SH64_MEDIA_INSN_LDUB; goto extract_sfmt_ldb; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 592 : /* fall through */
-      case 593 : /* fall through */
-      case 594 : /* fall through */
-      case 595 : /* fall through */
-      case 596 : /* fall through */
-      case 597 : /* fall through */
-      case 598 : /* fall through */
-      case 599 : /* fall through */
-      case 600 : /* fall through */
-      case 601 : /* fall through */
-      case 602 : /* fall through */
-      case 603 : /* fall through */
-      case 604 : /* fall through */
-      case 605 : /* fall through */
-      case 606 : /* fall through */
-      case 607 :
-        if ((entire_insn & 0xfc00000f) == 0x94000000)
-          { itype = SH64_MEDIA_INSN_FLDS; goto extract_sfmt_flds; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 608 : /* fall through */
-      case 609 : /* fall through */
-      case 610 : /* fall through */
-      case 611 : /* fall through */
-      case 612 : /* fall through */
-      case 613 : /* fall through */
-      case 614 : /* fall through */
-      case 615 : /* fall through */
-      case 616 : /* fall through */
-      case 617 : /* fall through */
-      case 618 : /* fall through */
-      case 619 : /* fall through */
-      case 620 : /* fall through */
-      case 621 : /* fall through */
-      case 622 : /* fall through */
-      case 623 :
-        if ((entire_insn & 0xfc00000f) == 0x98000000)
-          { itype = SH64_MEDIA_INSN_FLDP; goto extract_sfmt_fldp; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 624 : /* fall through */
-      case 625 : /* fall through */
-      case 626 : /* fall through */
-      case 627 : /* fall through */
-      case 628 : /* fall through */
-      case 629 : /* fall through */
-      case 630 : /* fall through */
-      case 631 : /* fall through */
-      case 632 : /* fall through */
-      case 633 : /* fall through */
-      case 634 : /* fall through */
-      case 635 : /* fall through */
-      case 636 : /* fall through */
-      case 637 : /* fall through */
-      case 638 : /* fall through */
-      case 639 :
-        if ((entire_insn & 0xfc00000f) == 0x9c000000)
-          { itype = SH64_MEDIA_INSN_FLDD; goto extract_sfmt_fldd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 640 : /* fall through */
-      case 641 : /* fall through */
-      case 642 : /* fall through */
-      case 643 : /* fall through */
-      case 644 : /* fall through */
-      case 645 : /* fall through */
-      case 646 : /* fall through */
-      case 647 : /* fall through */
-      case 648 : /* fall through */
-      case 649 : /* fall through */
-      case 650 : /* fall through */
-      case 651 : /* fall through */
-      case 652 : /* fall through */
-      case 653 : /* fall through */
-      case 654 : /* fall through */
-      case 655 :
-        if ((entire_insn & 0xfc00000f) == 0xa0000000)
-          { itype = SH64_MEDIA_INSN_STB; goto extract_sfmt_stb; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 656 : /* fall through */
-      case 657 : /* fall through */
-      case 658 : /* fall through */
-      case 659 : /* fall through */
-      case 660 : /* fall through */
-      case 661 : /* fall through */
-      case 662 : /* fall through */
-      case 663 : /* fall through */
-      case 664 : /* fall through */
-      case 665 : /* fall through */
-      case 666 : /* fall through */
-      case 667 : /* fall through */
-      case 668 : /* fall through */
-      case 669 : /* fall through */
-      case 670 : /* fall through */
-      case 671 :
-        if ((entire_insn & 0xfc00000f) == 0xa4000000)
-          { itype = SH64_MEDIA_INSN_STW; goto extract_sfmt_stw; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 672 : /* fall through */
-      case 673 : /* fall through */
-      case 674 : /* fall through */
-      case 675 : /* fall through */
-      case 676 : /* fall through */
-      case 677 : /* fall through */
-      case 678 : /* fall through */
-      case 679 : /* fall through */
-      case 680 : /* fall through */
-      case 681 : /* fall through */
-      case 682 : /* fall through */
-      case 683 : /* fall through */
-      case 684 : /* fall through */
-      case 685 : /* fall through */
-      case 686 : /* fall through */
-      case 687 :
-        if ((entire_insn & 0xfc00000f) == 0xa8000000)
-          { itype = SH64_MEDIA_INSN_STL; goto extract_sfmt_stl; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 688 : /* fall through */
-      case 689 : /* fall through */
-      case 690 : /* fall through */
-      case 691 : /* fall through */
-      case 692 : /* fall through */
-      case 693 : /* fall through */
-      case 694 : /* fall through */
-      case 695 : /* fall through */
-      case 696 : /* fall through */
-      case 697 : /* fall through */
-      case 698 : /* fall through */
-      case 699 : /* fall through */
-      case 700 : /* fall through */
-      case 701 : /* fall through */
-      case 702 : /* fall through */
-      case 703 :
-        if ((entire_insn & 0xfc00000f) == 0xac000000)
-          { itype = SH64_MEDIA_INSN_STQ; goto extract_sfmt_stq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 704 : /* fall through */
-      case 705 : /* fall through */
-      case 706 : /* fall through */
-      case 707 : /* fall through */
-      case 708 : /* fall through */
-      case 709 : /* fall through */
-      case 710 : /* fall through */
-      case 711 : /* fall through */
-      case 712 : /* fall through */
-      case 713 : /* fall through */
-      case 714 : /* fall through */
-      case 715 : /* fall through */
-      case 716 : /* fall through */
-      case 717 : /* fall through */
-      case 718 : /* fall through */
-      case 719 :
-        if ((entire_insn & 0xfc00000f) == 0xb0000000)
-          { itype = SH64_MEDIA_INSN_LDUW; goto extract_sfmt_lduw; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 720 : /* fall through */
-      case 721 : /* fall through */
-      case 722 : /* fall through */
-      case 723 : /* fall through */
-      case 724 : /* fall through */
-      case 725 : /* fall through */
-      case 726 : /* fall through */
-      case 727 : /* fall through */
-      case 728 : /* fall through */
-      case 729 : /* fall through */
-      case 730 : /* fall through */
-      case 731 : /* fall through */
-      case 732 : /* fall through */
-      case 733 : /* fall through */
-      case 734 : /* fall through */
-      case 735 :
-        if ((entire_insn & 0xfc00000f) == 0xb4000000)
-          { itype = SH64_MEDIA_INSN_FSTS; goto extract_sfmt_fsts; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 736 : /* fall through */
-      case 737 : /* fall through */
-      case 738 : /* fall through */
-      case 739 : /* fall through */
-      case 740 : /* fall through */
-      case 741 : /* fall through */
-      case 742 : /* fall through */
-      case 743 : /* fall through */
-      case 744 : /* fall through */
-      case 745 : /* fall through */
-      case 746 : /* fall through */
-      case 747 : /* fall through */
-      case 748 : /* fall through */
-      case 749 : /* fall through */
-      case 750 : /* fall through */
-      case 751 :
-        if ((entire_insn & 0xfc00000f) == 0xb8000000)
-          { itype = SH64_MEDIA_INSN_FSTP; goto extract_sfmt_fldp; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 752 : /* fall through */
-      case 753 : /* fall through */
-      case 754 : /* fall through */
-      case 755 : /* fall through */
-      case 756 : /* fall through */
-      case 757 : /* fall through */
-      case 758 : /* fall through */
-      case 759 : /* fall through */
-      case 760 : /* fall through */
-      case 761 : /* fall through */
-      case 762 : /* fall through */
-      case 763 : /* fall through */
-      case 764 : /* fall through */
-      case 765 : /* fall through */
-      case 766 : /* fall through */
-      case 767 :
-        if ((entire_insn & 0xfc00000f) == 0xbc000000)
-          { itype = SH64_MEDIA_INSN_FSTD; goto extract_sfmt_fstd; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 770 :
-        if ((entire_insn & 0xfc0f000f) == 0xc0020000)
-          { itype = SH64_MEDIA_INSN_LDLOL; goto extract_sfmt_ldlol; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 771 :
-        if ((entire_insn & 0xfc0f000f) == 0xc0030000)
-          { itype = SH64_MEDIA_INSN_LDLOQ; goto extract_sfmt_ldloq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 774 :
-        if ((entire_insn & 0xfc0f000f) == 0xc0060000)
-          { itype = SH64_MEDIA_INSN_LDHIL; goto extract_sfmt_ldhil; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 775 :
-        if ((entire_insn & 0xfc0f000f) == 0xc0070000)
-          { itype = SH64_MEDIA_INSN_LDHIQ; goto extract_sfmt_ldhiq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 783 :
-        if ((entire_insn & 0xfc0f000f) == 0xc00f0000)
-          { itype = SH64_MEDIA_INSN_GETCFG; goto extract_sfmt_getcfg; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 784 :
-        if ((entire_insn & 0xfc0f000f) == 0xc4000000)
-          { itype = SH64_MEDIA_INSN_SHLLIL; goto extract_sfmt_shari; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 785 :
-        if ((entire_insn & 0xfc0f000f) == 0xc4010000)
-          { itype = SH64_MEDIA_INSN_SHLLI; goto extract_sfmt_shari; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 786 :
-        if ((entire_insn & 0xfc0f000f) == 0xc4020000)
-          { itype = SH64_MEDIA_INSN_SHLRIL; goto extract_sfmt_shari; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 787 :
-        if ((entire_insn & 0xfc0f000f) == 0xc4030000)
-          { itype = SH64_MEDIA_INSN_SHLRI; goto extract_sfmt_shari; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 790 :
-        if ((entire_insn & 0xfc0f000f) == 0xc4060000)
-          { itype = SH64_MEDIA_INSN_SHARIL; goto extract_sfmt_shari; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 791 :
-        if ((entire_insn & 0xfc0f000f) == 0xc4070000)
-          { itype = SH64_MEDIA_INSN_SHARI; goto extract_sfmt_shari; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 797 :
-        if ((entire_insn & 0xfc0f000f) == 0xc40d0000)
-          { itype = SH64_MEDIA_INSN_XORI; goto extract_sfmt_xori; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 800 : /* fall through */
-      case 801 : /* fall through */
-      case 802 : /* fall through */
-      case 803 : /* fall through */
-      case 804 : /* fall through */
-      case 805 : /* fall through */
-      case 806 : /* fall through */
-      case 807 : /* fall through */
-      case 808 : /* fall through */
-      case 809 : /* fall through */
-      case 810 : /* fall through */
-      case 811 : /* fall through */
-      case 812 : /* fall through */
-      case 813 : /* fall through */
-      case 814 : /* fall through */
-      case 815 :
-        if ((entire_insn & 0xfc00000f) == 0xc8000000)
-          { itype = SH64_MEDIA_INSN_SHORI; goto extract_sfmt_shori; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 816 : /* fall through */
-      case 817 : /* fall through */
-      case 818 : /* fall through */
-      case 819 : /* fall through */
-      case 820 : /* fall through */
-      case 821 : /* fall through */
-      case 822 : /* fall through */
-      case 823 : /* fall through */
-      case 824 : /* fall through */
-      case 825 : /* fall through */
-      case 826 : /* fall through */
-      case 827 : /* fall through */
-      case 828 : /* fall through */
-      case 829 : /* fall through */
-      case 830 : /* fall through */
-      case 831 :
-        if ((entire_insn & 0xfc00000f) == 0xcc000000)
-          { itype = SH64_MEDIA_INSN_MOVI; goto extract_sfmt_movi; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 832 : /* fall through */
-      case 833 : /* fall through */
-      case 834 : /* fall through */
-      case 835 : /* fall through */
-      case 836 : /* fall through */
-      case 837 : /* fall through */
-      case 838 : /* fall through */
-      case 839 : /* fall through */
-      case 840 : /* fall through */
-      case 841 : /* fall through */
-      case 842 : /* fall through */
-      case 843 : /* fall through */
-      case 844 : /* fall through */
-      case 845 : /* fall through */
-      case 846 : /* fall through */
-      case 847 :
-        if ((entire_insn & 0xfc00000f) == 0xd0000000)
-          { itype = SH64_MEDIA_INSN_ADDI; goto extract_sfmt_addi; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 848 : /* fall through */
-      case 849 : /* fall through */
-      case 850 : /* fall through */
-      case 851 : /* fall through */
-      case 852 : /* fall through */
-      case 853 : /* fall through */
-      case 854 : /* fall through */
-      case 855 : /* fall through */
-      case 856 : /* fall through */
-      case 857 : /* fall through */
-      case 858 : /* fall through */
-      case 859 : /* fall through */
-      case 860 : /* fall through */
-      case 861 : /* fall through */
-      case 862 : /* fall through */
-      case 863 :
-        if ((entire_insn & 0xfc00000f) == 0xd4000000)
-          { itype = SH64_MEDIA_INSN_ADDIL; goto extract_sfmt_addi; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 864 : /* fall through */
-      case 865 : /* fall through */
-      case 866 : /* fall through */
-      case 867 : /* fall through */
-      case 868 : /* fall through */
-      case 869 : /* fall through */
-      case 870 : /* fall through */
-      case 871 : /* fall through */
-      case 872 : /* fall through */
-      case 873 : /* fall through */
-      case 874 : /* fall through */
-      case 875 : /* fall through */
-      case 876 : /* fall through */
-      case 877 : /* fall through */
-      case 878 : /* fall through */
-      case 879 :
-        if ((entire_insn & 0xfc00000f) == 0xd8000000)
-          { itype = SH64_MEDIA_INSN_ANDI; goto extract_sfmt_addi; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 880 : /* fall through */
-      case 881 : /* fall through */
-      case 882 : /* fall through */
-      case 883 : /* fall through */
-      case 884 : /* fall through */
-      case 885 : /* fall through */
-      case 886 : /* fall through */
-      case 887 : /* fall through */
-      case 888 : /* fall through */
-      case 889 : /* fall through */
-      case 890 : /* fall through */
-      case 891 : /* fall through */
-      case 892 : /* fall through */
-      case 893 : /* fall through */
-      case 894 : /* fall through */
-      case 895 :
-        if ((entire_insn & 0xfc00000f) == 0xdc000000)
-          { itype = SH64_MEDIA_INSN_ORI; goto extract_sfmt_ori; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 897 :
-        if ((entire_insn & 0xfc0ffc0f) == 0xe001fc00)
-          { itype = SH64_MEDIA_INSN_PREFI; goto extract_sfmt_prefi; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 898 :
-        if ((entire_insn & 0xfc0f000f) == 0xe0020000)
-          { itype = SH64_MEDIA_INSN_STLOL; goto extract_sfmt_stlol; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 899 :
-        if ((entire_insn & 0xfc0f000f) == 0xe0030000)
-          { itype = SH64_MEDIA_INSN_STLOQ; goto extract_sfmt_stloq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 900 :
-        if ((entire_insn & 0xfc0f03ff) == 0xe00403f0)
-          { itype = SH64_MEDIA_INSN_ALLOCO; goto extract_sfmt_alloco; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 901 :
-        if ((entire_insn & 0xfc0f03ff) == 0xe00503f0)
-          { itype = SH64_MEDIA_INSN_ICBI; goto extract_sfmt_alloco; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 902 :
-        if ((entire_insn & 0xfc0f000f) == 0xe0060000)
-          { itype = SH64_MEDIA_INSN_STHIL; goto extract_sfmt_sthil; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 903 :
-        if ((entire_insn & 0xfc0f000f) == 0xe0070000)
-          { itype = SH64_MEDIA_INSN_STHIQ; goto extract_sfmt_sthiq; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 904 :
-        if ((entire_insn & 0xfc0f03ff) == 0xe00803f0)
-          { itype = SH64_MEDIA_INSN_OCBP; goto extract_sfmt_alloco; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 905 :
-        if ((entire_insn & 0xfc0f03ff) == 0xe00903f0)
-          { itype = SH64_MEDIA_INSN_OCBI; goto extract_sfmt_alloco; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 908 :
-        if ((entire_insn & 0xfc0f03ff) == 0xe00c03f0)
-          { itype = SH64_MEDIA_INSN_OCBWB; goto extract_sfmt_alloco; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 911 :
-        if ((entire_insn & 0xfc0f000f) == 0xe00f0000)
-          { itype = SH64_MEDIA_INSN_PUTCFG; goto extract_sfmt_putcfg; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 913 :
-        if ((entire_insn & 0xfc0f018f) == 0xe4010000)
-          { itype = SH64_MEDIA_INSN_BEQI; goto extract_sfmt_beqi; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 917 :
-        if ((entire_insn & 0xfc0f018f) == 0xe4050000)
-          { itype = SH64_MEDIA_INSN_BNEI; goto extract_sfmt_bnei; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 928 : /* fall through */
-      case 929 : /* fall through */
-      case 930 : /* fall through */
-      case 931 : /* fall through */
-      case 932 : /* fall through */
-      case 933 : /* fall through */
-      case 934 : /* fall through */
-      case 935 : /* fall through */
-      case 936 : /* fall through */
-      case 937 : /* fall through */
-      case 938 : /* fall through */
-      case 939 : /* fall through */
-      case 940 : /* fall through */
-      case 941 : /* fall through */
-      case 942 : /* fall through */
-      case 943 :
-        if ((entire_insn & 0xfc00018f) == 0xe8000000)
-          { itype = SH64_MEDIA_INSN_PTA; goto extract_sfmt_pta; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      case 944 : /* fall through */
-      case 945 : /* fall through */
-      case 946 : /* fall through */
-      case 947 : /* fall through */
-      case 948 : /* fall through */
-      case 949 : /* fall through */
-      case 950 : /* fall through */
-      case 951 : /* fall through */
-      case 952 : /* fall through */
-      case 953 : /* fall through */
-      case 954 : /* fall through */
-      case 955 : /* fall through */
-      case 956 : /* fall through */
-      case 957 : /* fall through */
-      case 958 : /* fall through */
-      case 959 :
-        if ((entire_insn & 0xfc00018f) == 0xec000000)
-          { itype = SH64_MEDIA_INSN_PTB; goto extract_sfmt_pta; }
-        itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      default : itype = SH64_MEDIA_INSN_X_INVALID; goto extract_sfmt_empty;
-      }
-    }
-  }
-
-  /* The instruction has been decoded, now extract the fields.  */
-
- extract_sfmt_empty:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-#define FLD(f) abuf->fields.sfmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_empty", (char *) 0));
-
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_add:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_addi:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi.f
-    UINT f_left;
-    INT f_disp10;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp10 = EXTRACT_MSB0_SINT (insn, 32, 12, 10);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp10) = f_disp10;
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_alloco:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_xori.f
-    UINT f_left;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_rm) = f_left;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_beq:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_beq.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_tra;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_tra = EXTRACT_MSB0_UINT (insn, 32, 25, 3);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  FLD (f_tra) = f_tra;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-      FLD (in_tra) = f_tra;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_beqi:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_beqi.f
-    UINT f_left;
-    INT f_imm6;
-    UINT f_tra;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_imm6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
-    f_tra = EXTRACT_MSB0_UINT (insn, 32, 25, 3);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm6) = f_imm6;
-  FLD (f_left) = f_left;
-  FLD (f_tra) = f_tra;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (in_tra) = f_tra;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_blink:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_blink.f
-    UINT f_trb;
-    UINT f_dest;
-
-    f_trb = EXTRACT_MSB0_UINT (insn, 32, 9, 3);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dest) = f_dest;
-  FLD (f_trb) = f_trb;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_trb) = f_trb;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_bnei:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_beqi.f
-    UINT f_left;
-    INT f_imm6;
-    UINT f_tra;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_imm6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
-    f_tra = EXTRACT_MSB0_UINT (insn, 32, 25, 3);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm6) = f_imm6;
-  FLD (f_left) = f_left;
-  FLD (f_tra) = f_tra;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (in_tra) = f_tra;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_brk:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-#define FLD(f) abuf->fields.sfmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brk", (char *) 0));
-
-#if WITH_PROFILE_MODEL_P
-  /* Record the fields for profiling.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_byterev:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_xori.f
-    UINT f_left;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_cmveq:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fabsd:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-    UINT f_left_right;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-  f_left_right = f_left;
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left_right) = f_left_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_drgh) = f_left_right;
-      FLD (out_drf) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fabss:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-    UINT f_left_right;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-  f_left_right = f_left;
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left_right) = f_left_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_frgh) = f_left_right;
-      FLD (out_frf) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_faddd:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_drg) = f_left;
-      FLD (in_drh) = f_right;
-      FLD (out_drf) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fadds:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_frg) = f_left;
-      FLD (in_frh) = f_right;
-      FLD (out_frf) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fcmpeqd:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_drg) = f_left;
-      FLD (in_drh) = f_right;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fcmpeqs:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_frg) = f_left;
-      FLD (in_frh) = f_right;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fcnvds:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-    UINT f_left_right;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-  f_left_right = f_left;
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left_right) = f_left_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_drgh) = f_left_right;
-      FLD (out_frf) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fcnvsd:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-    UINT f_left_right;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-  f_left_right = f_left;
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left_right) = f_left_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_frgh) = f_left_right;
-      FLD (out_drf) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fgetscr:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_shori.f
-    UINT f_dest;
-
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_frf) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fiprs:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_fvg) = f_left;
-      FLD (in_fvh) = f_right;
-      FLD (out_frf) = f_dest;
-      FLD (out_fvg) = f_left;
-      FLD (out_fvh) = f_right;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fldd:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fldd.f
-    UINT f_left;
-    SI f_disp10x8;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp10x8 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (3));
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp10x8) = f_disp10x8;
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_drf) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fldp:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fldd.f
-    UINT f_left;
-    SI f_disp10x8;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp10x8 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (3));
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp10x8) = f_disp10x8;
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_fpf) = f_dest;
-      FLD (in_rm) = f_left;
-      FLD (out_fpf) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_flds:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_flds.f
-    UINT f_left;
-    SI f_disp10x4;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp10x4 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (2));
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp10x4) = f_disp10x4;
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_frf) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fldxd:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-      FLD (out_drf) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fldxp:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_fpf) = f_dest;
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-      FLD (out_fpf) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fldxs:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-      FLD (out_frf) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fmacs:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_frf) = f_dest;
-      FLD (in_frg) = f_left;
-      FLD (in_frh) = f_right;
-      FLD (out_frf) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fmovdq:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-    UINT f_left_right;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-  f_left_right = f_left;
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left_right) = f_left_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_drgh) = f_left_right;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fmovls:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_xori.f
-    UINT f_left;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_frf) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fmovqd:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_xori.f
-    UINT f_left;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_drf) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fmovsl:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-    UINT f_left_right;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-  f_left_right = f_left;
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left_right) = f_left_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_frgh) = f_left_right;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fputscr:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_left_right;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-  f_left_right = f_left;
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left_right) = f_left_right;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_frgh) = f_left_right;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fstd:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fldd.f
-    UINT f_left;
-    SI f_disp10x8;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp10x8 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (3));
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp10x8) = f_disp10x8;
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_drf) = f_dest;
-      FLD (in_rm) = f_left;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fsts:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_flds.f
-    UINT f_left;
-    SI f_disp10x4;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp10x4 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (2));
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp10x4) = f_disp10x4;
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_frf) = f_dest;
-      FLD (in_rm) = f_left;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fstxd:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_drf) = f_dest;
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fstxs:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_frf) = f_dest;
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_fsubd:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_drg) = f_left;
-      FLD (in_drh) = f_right;
-      FLD (out_drf) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ftrcdq:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-    UINT f_left_right;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-  f_left_right = f_left;
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left_right) = f_left_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_drgh) = f_left_right;
-      FLD (out_drf) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ftrvs:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_fvf) = f_dest;
-      FLD (in_fvh) = f_right;
-      FLD (in_mtrxg) = f_left;
-      FLD (out_fvf) = f_dest;
-      FLD (out_fvh) = f_right;
-      FLD (out_mtrxg) = f_left;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_getcfg:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-    UINT f_left;
-    INT f_disp6;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp6) = f_disp6;
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_getcon:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_xori.f
-    UINT f_left;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_gettr:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_blink.f
-    UINT f_trb;
-    UINT f_dest;
-
-    f_trb = EXTRACT_MSB0_UINT (insn, 32, 9, 3);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_trb) = f_trb;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_trb) = f_trb;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldb:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi.f
-    UINT f_left;
-    INT f_disp10;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp10 = EXTRACT_MSB0_SINT (insn, 32, 12, 10);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp10) = f_disp10;
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldl:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_flds.f
-    UINT f_left;
-    SI f_disp10x4;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp10x4 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (2));
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp10x4) = f_disp10x4;
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldq:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fldd.f
-    UINT f_left;
-    SI f_disp10x8;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp10x8 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (3));
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp10x8) = f_disp10x8;
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_lduw:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_lduw.f
-    UINT f_left;
-    SI f_disp10x2;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp10x2 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (1));
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp10x2) = f_disp10x2;
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldhil:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-    UINT f_left;
-    INT f_disp6;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp6) = f_disp6;
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldhiq:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-    UINT f_left;
-    INT f_disp6;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp6) = f_disp6;
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldlol:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-    UINT f_left;
-    INT f_disp6;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp6) = f_disp6;
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldloq:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-    UINT f_left;
-    INT f_disp6;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp6) = f_disp6;
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldxb:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldxl:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldxq:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldxub:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldxuw:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ldxw:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_mcmv:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rd) = f_dest;
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_mmacnfx_wl:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rd) = f_dest;
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_movi:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movi.f
-    INT f_imm16;
-    UINT f_dest;
-
-    f_imm16 = EXTRACT_MSB0_SINT (insn, 32, 6, 16);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm16) = f_imm16;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_nop:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-#define FLD(f) abuf->fields.sfmt_empty.f
-
-
-  /* Record the fields for the semantic handler.  */
-  CGEN_TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop", (char *) 0));
-
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ori:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_ori.f
-    UINT f_left;
-    INT f_imm10;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_imm10 = EXTRACT_MSB0_SINT (insn, 32, 12, 10);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm10) = f_imm10;
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_prefi:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_xori.f
-    UINT f_left;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_rm) = f_left;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_pta:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_pta.f
-    DI f_disp16;
-    UINT f_tra;
-
-    f_disp16 = ((((EXTRACT_MSB0_SINT (insn, 32, 6, 16)) << (2))) + (pc));
-    f_tra = EXTRACT_MSB0_UINT (insn, 32, 25, 3);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp16) = f_disp16;
-  FLD (f_tra) = f_tra;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (out_tra) = f_tra;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ptabs:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_beq.f
-    UINT f_right;
-    UINT f_tra;
-
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_tra = EXTRACT_MSB0_UINT (insn, 32, 25, 3);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_right) = f_right;
-  FLD (f_tra) = f_tra;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_right;
-      FLD (out_tra) = f_tra;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_ptrel:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_beq.f
-    UINT f_right;
-    UINT f_tra;
-
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_tra = EXTRACT_MSB0_UINT (insn, 32, 25, 3);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_right) = f_right;
-  FLD (f_tra) = f_tra;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rn) = f_right;
-      FLD (out_tra) = f_tra;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_putcfg:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-    UINT f_left;
-    INT f_disp6;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp6) = f_disp6;
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rd) = f_dest;
-      FLD (in_rm) = f_left;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_putcon:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_xori.f
-    UINT f_left;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_shari:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_shari.f
-    UINT f_left;
-    UINT f_uimm6;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_uimm6 = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  FLD (f_uimm6) = f_uimm6;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_shori:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_shori.f
-    UINT f_uimm16;
-    UINT f_dest;
-
-    f_uimm16 = EXTRACT_MSB0_UINT (insn, 32, 6, 16);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dest) = f_dest;
-  FLD (f_uimm16) = f_uimm16;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rd) = f_dest;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stb:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi.f
-    UINT f_left;
-    INT f_disp10;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp10 = EXTRACT_MSB0_SINT (insn, 32, 12, 10);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp10) = f_disp10;
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rd) = f_dest;
-      FLD (in_rm) = f_left;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stl:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_flds.f
-    UINT f_left;
-    SI f_disp10x4;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp10x4 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (2));
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp10x4) = f_disp10x4;
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rd) = f_dest;
-      FLD (in_rm) = f_left;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stq:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fldd.f
-    UINT f_left;
-    SI f_disp10x8;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp10x8 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (3));
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp10x8) = f_disp10x8;
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rd) = f_dest;
-      FLD (in_rm) = f_left;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stw:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_lduw.f
-    UINT f_left;
-    SI f_disp10x2;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp10x2 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (1));
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp10x2) = f_disp10x2;
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rd) = f_dest;
-      FLD (in_rm) = f_left;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_sthil:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-    UINT f_left;
-    INT f_disp6;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp6) = f_disp6;
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rd) = f_dest;
-      FLD (in_rm) = f_left;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_sthiq:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-    UINT f_left;
-    INT f_disp6;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp6) = f_disp6;
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rd) = f_dest;
-      FLD (in_rm) = f_left;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stlol:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-    UINT f_left;
-    INT f_disp6;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp6) = f_disp6;
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rd) = f_dest;
-      FLD (in_rm) = f_left;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stloq:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-    UINT f_left;
-    INT f_disp6;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_disp6) = f_disp6;
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rd) = f_dest;
-      FLD (in_rm) = f_left;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stxb:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rd) = f_dest;
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stxl:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rd) = f_dest;
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stxq:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rd) = f_dest;
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_stxw:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rd) = f_dest;
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_swapq:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
-    UINT f_left;
-    UINT f_right;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_dest) = f_dest;
-  FLD (f_left) = f_left;
-  FLD (f_right) = f_right;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rd) = f_dest;
-      FLD (in_rm) = f_left;
-      FLD (in_rn) = f_right;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_trapa:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_xori.f
-    UINT f_left;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_left) = f_left;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
- extract_sfmt_xori:
-  {
-    const IDESC *idesc = &sh64_media_insn_data[itype];
-    CGEN_INSN_WORD insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_xori.f
-    UINT f_left;
-    INT f_imm6;
-    UINT f_dest;
-
-    f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6);
-    f_imm6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6);
-    f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6);
-
-  /* Record the fields for the semantic handler.  */
-  FLD (f_imm6) = f_imm6;
-  FLD (f_left) = f_left;
-  FLD (f_dest) = f_dest;
-  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.  */
-  if (PROFILE_MODEL_P (current_cpu))
-    {
-      FLD (in_rm) = f_left;
-      FLD (out_rd) = f_dest;
-    }
-#endif
-#undef FLD
-    return idesc;
-  }
-
-}
diff --git a/sim/sh64/decode-media.h b/sim/sh64/decode-media.h
deleted file mode 100644 (file)
index 4997814..0000000
+++ /dev/null
@@ -1,269 +0,0 @@
-/* Decode header for sh64_media.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996-2021 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   It 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 SH64_MEDIA_DECODE_H
-#define SH64_MEDIA_DECODE_H
-
-extern const IDESC *sh64_media_decode (SIM_CPU *, IADDR,
-                                  CGEN_INSN_WORD, CGEN_INSN_WORD,
-                                  ARGBUF *);
-extern void sh64_media_init_idesc_table (SIM_CPU *);
-extern void sh64_media_sem_init_idesc_table (SIM_CPU *);
-extern void sh64_media_semf_init_idesc_table (SIM_CPU *);
-
-/* Enum declaration for instructions in cpu family sh64.  */
-typedef enum sh64_media_insn_type {
-  SH64_MEDIA_INSN_X_INVALID, SH64_MEDIA_INSN_X_AFTER, SH64_MEDIA_INSN_X_BEFORE, SH64_MEDIA_INSN_X_CTI_CHAIN
- , SH64_MEDIA_INSN_X_CHAIN, SH64_MEDIA_INSN_X_BEGIN, SH64_MEDIA_INSN_ADD, SH64_MEDIA_INSN_ADDL
- , SH64_MEDIA_INSN_ADDI, SH64_MEDIA_INSN_ADDIL, SH64_MEDIA_INSN_ADDZL, SH64_MEDIA_INSN_ALLOCO
- , SH64_MEDIA_INSN_AND, SH64_MEDIA_INSN_ANDC, SH64_MEDIA_INSN_ANDI, SH64_MEDIA_INSN_BEQ
- , SH64_MEDIA_INSN_BEQI, SH64_MEDIA_INSN_BGE, SH64_MEDIA_INSN_BGEU, SH64_MEDIA_INSN_BGT
- , SH64_MEDIA_INSN_BGTU, SH64_MEDIA_INSN_BLINK, SH64_MEDIA_INSN_BNE, SH64_MEDIA_INSN_BNEI
- , SH64_MEDIA_INSN_BRK, SH64_MEDIA_INSN_BYTEREV, SH64_MEDIA_INSN_CMPEQ, SH64_MEDIA_INSN_CMPGT
- , SH64_MEDIA_INSN_CMPGTU, SH64_MEDIA_INSN_CMVEQ, SH64_MEDIA_INSN_CMVNE, SH64_MEDIA_INSN_FABSD
- , SH64_MEDIA_INSN_FABSS, SH64_MEDIA_INSN_FADDD, SH64_MEDIA_INSN_FADDS, SH64_MEDIA_INSN_FCMPEQD
- , SH64_MEDIA_INSN_FCMPEQS, SH64_MEDIA_INSN_FCMPGED, SH64_MEDIA_INSN_FCMPGES, SH64_MEDIA_INSN_FCMPGTD
- , SH64_MEDIA_INSN_FCMPGTS, SH64_MEDIA_INSN_FCMPUND, SH64_MEDIA_INSN_FCMPUNS, SH64_MEDIA_INSN_FCNVDS
- , SH64_MEDIA_INSN_FCNVSD, SH64_MEDIA_INSN_FDIVD, SH64_MEDIA_INSN_FDIVS, SH64_MEDIA_INSN_FGETSCR
- , SH64_MEDIA_INSN_FIPRS, SH64_MEDIA_INSN_FLDD, SH64_MEDIA_INSN_FLDP, SH64_MEDIA_INSN_FLDS
- , SH64_MEDIA_INSN_FLDXD, SH64_MEDIA_INSN_FLDXP, SH64_MEDIA_INSN_FLDXS, SH64_MEDIA_INSN_FLOATLD
- , SH64_MEDIA_INSN_FLOATLS, SH64_MEDIA_INSN_FLOATQD, SH64_MEDIA_INSN_FLOATQS, SH64_MEDIA_INSN_FMACS
- , SH64_MEDIA_INSN_FMOVD, SH64_MEDIA_INSN_FMOVDQ, SH64_MEDIA_INSN_FMOVLS, SH64_MEDIA_INSN_FMOVQD
- , SH64_MEDIA_INSN_FMOVS, SH64_MEDIA_INSN_FMOVSL, SH64_MEDIA_INSN_FMULD, SH64_MEDIA_INSN_FMULS
- , SH64_MEDIA_INSN_FNEGD, SH64_MEDIA_INSN_FNEGS, SH64_MEDIA_INSN_FPUTSCR, SH64_MEDIA_INSN_FSQRTD
- , SH64_MEDIA_INSN_FSQRTS, SH64_MEDIA_INSN_FSTD, SH64_MEDIA_INSN_FSTP, SH64_MEDIA_INSN_FSTS
- , SH64_MEDIA_INSN_FSTXD, SH64_MEDIA_INSN_FSTXP, SH64_MEDIA_INSN_FSTXS, SH64_MEDIA_INSN_FSUBD
- , SH64_MEDIA_INSN_FSUBS, SH64_MEDIA_INSN_FTRCDL, SH64_MEDIA_INSN_FTRCSL, SH64_MEDIA_INSN_FTRCDQ
- , SH64_MEDIA_INSN_FTRCSQ, SH64_MEDIA_INSN_FTRVS, SH64_MEDIA_INSN_GETCFG, SH64_MEDIA_INSN_GETCON
- , SH64_MEDIA_INSN_GETTR, SH64_MEDIA_INSN_ICBI, SH64_MEDIA_INSN_LDB, SH64_MEDIA_INSN_LDL
- , SH64_MEDIA_INSN_LDQ, SH64_MEDIA_INSN_LDUB, SH64_MEDIA_INSN_LDUW, SH64_MEDIA_INSN_LDW
- , SH64_MEDIA_INSN_LDHIL, SH64_MEDIA_INSN_LDHIQ, SH64_MEDIA_INSN_LDLOL, SH64_MEDIA_INSN_LDLOQ
- , SH64_MEDIA_INSN_LDXB, SH64_MEDIA_INSN_LDXL, SH64_MEDIA_INSN_LDXQ, SH64_MEDIA_INSN_LDXUB
- , SH64_MEDIA_INSN_LDXUW, SH64_MEDIA_INSN_LDXW, SH64_MEDIA_INSN_MABSL, SH64_MEDIA_INSN_MABSW
- , SH64_MEDIA_INSN_MADDL, SH64_MEDIA_INSN_MADDW, SH64_MEDIA_INSN_MADDSL, SH64_MEDIA_INSN_MADDSUB
- , SH64_MEDIA_INSN_MADDSW, SH64_MEDIA_INSN_MCMPEQB, SH64_MEDIA_INSN_MCMPEQL, SH64_MEDIA_INSN_MCMPEQW
- , SH64_MEDIA_INSN_MCMPGTL, SH64_MEDIA_INSN_MCMPGTUB, SH64_MEDIA_INSN_MCMPGTW, SH64_MEDIA_INSN_MCMV
- , SH64_MEDIA_INSN_MCNVSLW, SH64_MEDIA_INSN_MCNVSWB, SH64_MEDIA_INSN_MCNVSWUB, SH64_MEDIA_INSN_MEXTR1
- , SH64_MEDIA_INSN_MEXTR2, SH64_MEDIA_INSN_MEXTR3, SH64_MEDIA_INSN_MEXTR4, SH64_MEDIA_INSN_MEXTR5
- , SH64_MEDIA_INSN_MEXTR6, SH64_MEDIA_INSN_MEXTR7, SH64_MEDIA_INSN_MMACFXWL, SH64_MEDIA_INSN_MMACNFX_WL
- , SH64_MEDIA_INSN_MMULL, SH64_MEDIA_INSN_MMULW, SH64_MEDIA_INSN_MMULFXL, SH64_MEDIA_INSN_MMULFXW
- , SH64_MEDIA_INSN_MMULFXRPW, SH64_MEDIA_INSN_MMULHIWL, SH64_MEDIA_INSN_MMULLOWL, SH64_MEDIA_INSN_MMULSUMWQ
- , SH64_MEDIA_INSN_MOVI, SH64_MEDIA_INSN_MPERMW, SH64_MEDIA_INSN_MSADUBQ, SH64_MEDIA_INSN_MSHALDSL
- , SH64_MEDIA_INSN_MSHALDSW, SH64_MEDIA_INSN_MSHARDL, SH64_MEDIA_INSN_MSHARDW, SH64_MEDIA_INSN_MSHARDSQ
- , SH64_MEDIA_INSN_MSHFHIB, SH64_MEDIA_INSN_MSHFHIL, SH64_MEDIA_INSN_MSHFHIW, SH64_MEDIA_INSN_MSHFLOB
- , SH64_MEDIA_INSN_MSHFLOL, SH64_MEDIA_INSN_MSHFLOW, SH64_MEDIA_INSN_MSHLLDL, SH64_MEDIA_INSN_MSHLLDW
- , SH64_MEDIA_INSN_MSHLRDL, SH64_MEDIA_INSN_MSHLRDW, SH64_MEDIA_INSN_MSUBL, SH64_MEDIA_INSN_MSUBW
- , SH64_MEDIA_INSN_MSUBSL, SH64_MEDIA_INSN_MSUBSUB, SH64_MEDIA_INSN_MSUBSW, SH64_MEDIA_INSN_MULSL
- , SH64_MEDIA_INSN_MULUL, SH64_MEDIA_INSN_NOP, SH64_MEDIA_INSN_NSB, SH64_MEDIA_INSN_OCBI
- , SH64_MEDIA_INSN_OCBP, SH64_MEDIA_INSN_OCBWB, SH64_MEDIA_INSN_OR, SH64_MEDIA_INSN_ORI
- , SH64_MEDIA_INSN_PREFI, SH64_MEDIA_INSN_PTA, SH64_MEDIA_INSN_PTABS, SH64_MEDIA_INSN_PTB
- , SH64_MEDIA_INSN_PTREL, SH64_MEDIA_INSN_PUTCFG, SH64_MEDIA_INSN_PUTCON, SH64_MEDIA_INSN_RTE
- , SH64_MEDIA_INSN_SHARD, SH64_MEDIA_INSN_SHARDL, SH64_MEDIA_INSN_SHARI, SH64_MEDIA_INSN_SHARIL
- , SH64_MEDIA_INSN_SHLLD, SH64_MEDIA_INSN_SHLLDL, SH64_MEDIA_INSN_SHLLI, SH64_MEDIA_INSN_SHLLIL
- , SH64_MEDIA_INSN_SHLRD, SH64_MEDIA_INSN_SHLRDL, SH64_MEDIA_INSN_SHLRI, SH64_MEDIA_INSN_SHLRIL
- , SH64_MEDIA_INSN_SHORI, SH64_MEDIA_INSN_SLEEP, SH64_MEDIA_INSN_STB, SH64_MEDIA_INSN_STL
- , SH64_MEDIA_INSN_STQ, SH64_MEDIA_INSN_STW, SH64_MEDIA_INSN_STHIL, SH64_MEDIA_INSN_STHIQ
- , SH64_MEDIA_INSN_STLOL, SH64_MEDIA_INSN_STLOQ, SH64_MEDIA_INSN_STXB, SH64_MEDIA_INSN_STXL
- , SH64_MEDIA_INSN_STXQ, SH64_MEDIA_INSN_STXW, SH64_MEDIA_INSN_SUB, SH64_MEDIA_INSN_SUBL
- , SH64_MEDIA_INSN_SWAPQ, SH64_MEDIA_INSN_SYNCI, SH64_MEDIA_INSN_SYNCO, SH64_MEDIA_INSN_TRAPA
- , SH64_MEDIA_INSN_XOR, SH64_MEDIA_INSN_XORI, SH64_MEDIA_INSN__MAX
-} SH64_MEDIA_INSN_TYPE;
-
-/* Enum declaration for semantic formats in cpu family sh64.  */
-typedef enum sh64_media_sfmt_type {
-  SH64_MEDIA_SFMT_EMPTY, SH64_MEDIA_SFMT_ADD, SH64_MEDIA_SFMT_ADDI, SH64_MEDIA_SFMT_ALLOCO
- , SH64_MEDIA_SFMT_BEQ, SH64_MEDIA_SFMT_BEQI, SH64_MEDIA_SFMT_BLINK, SH64_MEDIA_SFMT_BNEI
- , SH64_MEDIA_SFMT_BRK, SH64_MEDIA_SFMT_BYTEREV, SH64_MEDIA_SFMT_CMVEQ, SH64_MEDIA_SFMT_FABSD
- , SH64_MEDIA_SFMT_FABSS, SH64_MEDIA_SFMT_FADDD, SH64_MEDIA_SFMT_FADDS, SH64_MEDIA_SFMT_FCMPEQD
- , SH64_MEDIA_SFMT_FCMPEQS, SH64_MEDIA_SFMT_FCNVDS, SH64_MEDIA_SFMT_FCNVSD, SH64_MEDIA_SFMT_FGETSCR
- , SH64_MEDIA_SFMT_FIPRS, SH64_MEDIA_SFMT_FLDD, SH64_MEDIA_SFMT_FLDP, SH64_MEDIA_SFMT_FLDS
- , SH64_MEDIA_SFMT_FLDXD, SH64_MEDIA_SFMT_FLDXP, SH64_MEDIA_SFMT_FLDXS, SH64_MEDIA_SFMT_FMACS
- , SH64_MEDIA_SFMT_FMOVDQ, SH64_MEDIA_SFMT_FMOVLS, SH64_MEDIA_SFMT_FMOVQD, SH64_MEDIA_SFMT_FMOVSL
- , SH64_MEDIA_SFMT_FPUTSCR, SH64_MEDIA_SFMT_FSTD, SH64_MEDIA_SFMT_FSTS, SH64_MEDIA_SFMT_FSTXD
- , SH64_MEDIA_SFMT_FSTXS, SH64_MEDIA_SFMT_FSUBD, SH64_MEDIA_SFMT_FTRCDQ, SH64_MEDIA_SFMT_FTRVS
- , SH64_MEDIA_SFMT_GETCFG, SH64_MEDIA_SFMT_GETCON, SH64_MEDIA_SFMT_GETTR, SH64_MEDIA_SFMT_LDB
- , SH64_MEDIA_SFMT_LDL, SH64_MEDIA_SFMT_LDQ, SH64_MEDIA_SFMT_LDUW, SH64_MEDIA_SFMT_LDHIL
- , SH64_MEDIA_SFMT_LDHIQ, SH64_MEDIA_SFMT_LDLOL, SH64_MEDIA_SFMT_LDLOQ, SH64_MEDIA_SFMT_LDXB
- , SH64_MEDIA_SFMT_LDXL, SH64_MEDIA_SFMT_LDXQ, SH64_MEDIA_SFMT_LDXUB, SH64_MEDIA_SFMT_LDXUW
- , SH64_MEDIA_SFMT_LDXW, SH64_MEDIA_SFMT_MCMV, SH64_MEDIA_SFMT_MMACNFX_WL, SH64_MEDIA_SFMT_MOVI
- , SH64_MEDIA_SFMT_NOP, SH64_MEDIA_SFMT_ORI, SH64_MEDIA_SFMT_PREFI, SH64_MEDIA_SFMT_PTA
- , SH64_MEDIA_SFMT_PTABS, SH64_MEDIA_SFMT_PTREL, SH64_MEDIA_SFMT_PUTCFG, SH64_MEDIA_SFMT_PUTCON
- , SH64_MEDIA_SFMT_SHARI, SH64_MEDIA_SFMT_SHORI, SH64_MEDIA_SFMT_STB, SH64_MEDIA_SFMT_STL
- , SH64_MEDIA_SFMT_STQ, SH64_MEDIA_SFMT_STW, SH64_MEDIA_SFMT_STHIL, SH64_MEDIA_SFMT_STHIQ
- , SH64_MEDIA_SFMT_STLOL, SH64_MEDIA_SFMT_STLOQ, SH64_MEDIA_SFMT_STXB, SH64_MEDIA_SFMT_STXL
- , SH64_MEDIA_SFMT_STXQ, SH64_MEDIA_SFMT_STXW, SH64_MEDIA_SFMT_SWAPQ, SH64_MEDIA_SFMT_TRAPA
- , SH64_MEDIA_SFMT_XORI
-} SH64_MEDIA_SFMT_TYPE;
-
-/* Function unit handlers (user written).  */
-
-extern int sh64_model_sh5_u_ftrv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*fvn*/);
-extern int sh64_model_sh5_u_fipr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*fvm*/, INT /*fvn*/);
-extern int sh64_model_sh5_u_ocb (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_mulr_gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_mulr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_use_dr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_u_load_dr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_set_dr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_fcnv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_fcmp (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_fsqrt (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_fdiv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_fpu_load_gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_use_fpscr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_ldsl_fpscr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_lds_fpscr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_use_fpul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_flds_fpul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_load_fpul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_set_fpul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_fpu_memory_access (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_use_fr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_u_set_fr_0 (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_set_fr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_load_fr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_maybe_fpu (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_fpu (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_trap (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_write_back (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_use_multiply_result (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_shift (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_tas (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_mulsw (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_mull (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_dmul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_macl (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_macw (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_multiply (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_set_mac (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_load_mac (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_load_vbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_load_gbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_use_gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_u_load_gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_u_stc_vbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_ldcl_vbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_ldcl (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_use_tbit (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_ldc_gbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_ldc_sr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_set_sr_bit (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_use_pr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_load_pr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_sts_pr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_lds_pr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_memory_access (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_logic_b (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_jsr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_jmp (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_branch (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_sx (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_u_exec (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_putcfg (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_getcfg (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_pt (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*targetreg*/);
-extern int sh64_model_sh5_media_u_ftrvs (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_fsqrtd (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_fdivd (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_cond_branch (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*targetreg*/);
-extern int sh64_model_sh5_media_u_blink (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*targetreg*/);
-extern int sh64_model_sh5_media_u_use_tr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_media_u_use_mtrx (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_media_u_use_fv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_media_u_use_fp (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_media_u_load_mtrx (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_load_fv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_load_fp (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_set_mtrx (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_set_fv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_set_fp (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_set_gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_ftrv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*fvn*/);
-extern int sh64_model_sh5_media_u_fipr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*fvm*/, INT /*fvn*/);
-extern int sh64_model_sh5_media_u_ocb (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_mulr_gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_mulr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_use_dr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_media_u_load_dr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_set_dr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_fcnv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_fcmp (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_fsqrt (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_fdiv (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_fpu_load_gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_use_fpscr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_ldsl_fpscr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_lds_fpscr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_use_fpul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_flds_fpul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_load_fpul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_set_fpul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_fpu_memory_access (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_use_fr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_media_u_set_fr_0 (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_set_fr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_load_fr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_maybe_fpu (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_fpu (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_trap (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_write_back (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_use_multiply_result (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_shift (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_tas (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_mulsw (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_mull (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_dmul (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_macl (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_macw (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_multiply (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_set_mac (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_load_mac (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_load_vbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_load_gbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_use_gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*usereg*/);
-extern int sh64_model_sh5_media_u_load_gr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/, INT /*loadreg*/);
-extern int sh64_model_sh5_media_u_stc_vbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_ldcl_vbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_ldcl (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_use_tbit (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_ldc_gbr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_ldc_sr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_set_sr_bit (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_use_pr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_load_pr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_sts_pr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_lds_pr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_memory_access (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_logic_b (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_jsr (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_jmp (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_branch (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_sx (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-extern int sh64_model_sh5_media_u_exec (SIM_CPU *, const IDESC *, int /*unit_num*/, int /*referenced*/);
-
-/* Profiling before/after handlers (user written) */
-
-extern void sh64_model_insn_before (SIM_CPU *, int /*first_p*/);
-extern void sh64_model_insn_after (SIM_CPU *, int /*last_p*/, int /*cycles*/);
-
-#endif /* SH64_MEDIA_DECODE_H */
diff --git a/sim/sh64/decode.h b/sim/sh64/decode.h
deleted file mode 100644 (file)
index 2582807..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-#ifndef DECODE_H
-#define DECODE_H
-
-#undef WITH_PROFILE_MODEL_P
-
-#ifdef WANT_ISA_COMPACT
-#include "decode-compact.h"
-#include "defs-compact.h"
-#endif /* WANT_ISA_COMPACT */
-
-#ifdef WANT_ISA_MEDIA
-#include "decode-media.h"
-#include "defs-media.h"
-#endif /* WANT_ISA_MEDIA */
-
-#endif /* DECODE_H */
diff --git a/sim/sh64/defs-compact.h b/sim/sh64/defs-compact.h
deleted file mode 100644 (file)
index 9c67bfc..0000000
+++ /dev/null
@@ -1,509 +0,0 @@
-/* ISA definitions header for compact.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996-2021 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   It 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 DEFS_SH64_COMPACT_H
-#define DEFS_SH64_COMPACT_H
-
-/* Instruction argument buffer.  */
-
-union sem_fields {
-  struct { /* no operands */
-    int empty;
-  } sfmt_empty;
-  struct { /*  */
-    IADDR i_disp12;
-  } sfmt_bra_compact;
-  struct { /*  */
-    IADDR i_disp8;
-  } sfmt_bf_compact;
-  struct { /*  */
-    SI f_imm8x2;
-    UINT f_rn;
-  } sfmt_movw10_compact;
-  struct { /*  */
-    SI f_imm4x2;
-    UINT f_rm;
-  } sfmt_movw5_compact;
-  struct { /*  */
-    SI f_imm8x4;
-    UINT f_rn;
-  } sfmt_movl10_compact;
-  struct { /*  */
-    UINT f_imm4;
-    UINT f_rm;
-  } sfmt_movb5_compact;
-  struct { /*  */
-    INT f_imm20;
-    UINT f_rn;
-  } sfmt_movi20_compact;
-  struct { /*  */
-    SI f_vm;
-    SI f_vn;
-  } sfmt_fipr_compact;
-  struct { /*  */
-    UINT f_imm8;
-    UINT f_rn;
-  } sfmt_addi_compact;
-  struct { /*  */
-    SI f_imm12x4;
-    UINT f_rm;
-    UINT f_rn;
-  } sfmt_movl12_compact;
-  struct { /*  */
-    SI f_imm4x4;
-    UINT f_rm;
-    UINT f_rn;
-  } sfmt_movl5_compact;
-  struct { /*  */
-    SI f_dm;
-    SI f_imm12x8;
-    UINT f_rn;
-  } sfmt_fmov9_compact;
-  struct { /*  */
-    SI f_dn;
-    SI f_imm12x8;
-    UINT f_rm;
-  } sfmt_fmov8_compact;
-#if WITH_SCACHE_PBB
-  /* Writeback handler.  */
-  struct {
-    /* Pointer to argbuf entry for insn whose results need writing back.  */
-    const struct argbuf *abuf;
-  } write;
-  /* x-before handler */
-  struct {
-    /*const SCACHE *insns[MAX_PARALLEL_INSNS];*/
-    int first_p;
-  } before;
-  /* x-after handler */
-  struct {
-    int empty;
-  } after;
-  /* This entry is used to terminate each pbb.  */
-  struct {
-    /* Number of insns in pbb.  */
-    int insn_count;
-    /* Next pbb to execute.  */
-    SCACHE *next;
-    SCACHE *branch_target;
-  } chain;
-#endif
-};
-
-/* The ARGBUF struct.  */
-struct argbuf {
-  /* These are the baseclass definitions.  */
-  IADDR addr;
-  const IDESC *idesc;
-  char trace_p;
-  char profile_p;
-  /* ??? Temporary hack for skip insns.  */
-  char skip_count;
-  char unused;
-  /* cpu specific data follows */
-  union sem semantic;
-  int written;
-  union sem_fields fields;
-};
-
-/* A cached insn.
-
-   ??? SCACHE used to contain more than just argbuf.  We could delete the
-   type entirely and always just use ARGBUF, but for future concerns and as
-   a level of abstraction it is left in.  */
-
-struct scache {
-  struct argbuf argbuf;
-};
-
-/* Macros to simplify extraction, reading and semantic code.
-   These define and assign the local vars that contain the insn's fields.  */
-
-#define EXTRACT_IFMT_EMPTY_VARS \
-  unsigned int length;
-#define EXTRACT_IFMT_EMPTY_CODE \
-  length = 0; \
-
-#define EXTRACT_IFMT_ADD_COMPACT_VARS \
-  UINT f_op4; \
-  UINT f_rn; \
-  UINT f_rm; \
-  UINT f_sub4; \
-  unsigned int length;
-#define EXTRACT_IFMT_ADD_COMPACT_CODE \
-  length = 2; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_sub4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_ADDI_COMPACT_VARS \
-  UINT f_op4; \
-  UINT f_rn; \
-  UINT f_imm8; \
-  unsigned int length;
-#define EXTRACT_IFMT_ADDI_COMPACT_CODE \
-  length = 2; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
-
-#define EXTRACT_IFMT_AND_COMPACT_VARS \
-  UINT f_op4; \
-  UINT f_rn; \
-  UINT f_rm; \
-  UINT f_sub4; \
-  unsigned int length;
-#define EXTRACT_IFMT_AND_COMPACT_CODE \
-  length = 2; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_sub4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_ANDI_COMPACT_VARS \
-  UINT f_op8; \
-  UINT f_imm8; \
-  unsigned int length;
-#define EXTRACT_IFMT_ANDI_COMPACT_CODE \
-  length = 2; \
-  f_op8 = EXTRACT_MSB0_UINT (insn, 16, 0, 8); \
-  f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
-
-#define EXTRACT_IFMT_ANDB_COMPACT_VARS \
-  UINT f_op8; \
-  UINT f_imm8; \
-  unsigned int length;
-#define EXTRACT_IFMT_ANDB_COMPACT_CODE \
-  length = 2; \
-  f_op8 = EXTRACT_MSB0_UINT (insn, 16, 0, 8); \
-  f_imm8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
-
-#define EXTRACT_IFMT_BF_COMPACT_VARS \
-  UINT f_op8; \
-  SI f_disp8; \
-  unsigned int length;
-#define EXTRACT_IFMT_BF_COMPACT_CODE \
-  length = 2; \
-  f_op8 = EXTRACT_MSB0_UINT (insn, 16, 0, 8); \
-  f_disp8 = ((((EXTRACT_MSB0_SINT (insn, 16, 8, 8)) << (1))) + (((pc) + (4)))); \
-
-#define EXTRACT_IFMT_BRA_COMPACT_VARS \
-  UINT f_op4; \
-  SI f_disp12; \
-  unsigned int length;
-#define EXTRACT_IFMT_BRA_COMPACT_CODE \
-  length = 2; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_disp12 = ((((EXTRACT_MSB0_SINT (insn, 16, 4, 12)) << (1))) + (((pc) + (4)))); \
-
-#define EXTRACT_IFMT_BRAF_COMPACT_VARS \
-  UINT f_op4; \
-  UINT f_rn; \
-  UINT f_sub8; \
-  unsigned int length;
-#define EXTRACT_IFMT_BRAF_COMPACT_CODE \
-  length = 2; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_sub8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
-
-#define EXTRACT_IFMT_BRK_COMPACT_VARS \
-  UINT f_op16; \
-  unsigned int length;
-#define EXTRACT_IFMT_BRK_COMPACT_CODE \
-  length = 2; \
-  f_op16 = EXTRACT_MSB0_UINT (insn, 16, 0, 16); \
-
-#define EXTRACT_IFMT_FABS_COMPACT_VARS \
-  UINT f_op4; \
-  UINT f_rn; \
-  UINT f_sub8; \
-  unsigned int length;
-#define EXTRACT_IFMT_FABS_COMPACT_CODE \
-  length = 2; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_sub8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
-
-#define EXTRACT_IFMT_FADD_COMPACT_VARS \
-  UINT f_op4; \
-  UINT f_rn; \
-  UINT f_rm; \
-  UINT f_sub4; \
-  unsigned int length;
-#define EXTRACT_IFMT_FADD_COMPACT_CODE \
-  length = 2; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_sub4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_FCNVDS_COMPACT_VARS \
-  UINT f_op4; \
-  SI f_dn; \
-  UINT f_7_1; \
-  UINT f_sub8; \
-  unsigned int length;
-#define EXTRACT_IFMT_FCNVDS_COMPACT_CODE \
-  length = 2; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_dn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 3)) << (1)); \
-  f_7_1 = EXTRACT_MSB0_UINT (insn, 16, 7, 1); \
-  f_sub8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
-
-#define EXTRACT_IFMT_FIPR_COMPACT_VARS \
-  UINT f_op4; \
-  SI f_vn; \
-  SI f_vm; \
-  UINT f_sub8; \
-  unsigned int length;
-#define EXTRACT_IFMT_FIPR_COMPACT_CODE \
-  length = 2; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_vn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 2)) << (2)); \
-  f_vm = ((EXTRACT_MSB0_UINT (insn, 16, 6, 2)) << (2)); \
-  f_sub8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
-
-#define EXTRACT_IFMT_FLDS_COMPACT_VARS \
-  UINT f_op4; \
-  UINT f_rn; \
-  UINT f_sub8; \
-  unsigned int length;
-#define EXTRACT_IFMT_FLDS_COMPACT_CODE \
-  length = 2; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_sub8 = EXTRACT_MSB0_UINT (insn, 16, 8, 8); \
-
-#define EXTRACT_IFMT_FMAC_COMPACT_VARS \
-  UINT f_op4; \
-  UINT f_rn; \
-  UINT f_rm; \
-  UINT f_sub4; \
-  unsigned int length;
-#define EXTRACT_IFMT_FMAC_COMPACT_CODE \
-  length = 2; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_sub4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_FMOV1_COMPACT_VARS \
-  UINT f_op4; \
-  UINT f_rn; \
-  UINT f_rm; \
-  UINT f_sub4; \
-  unsigned int length;
-#define EXTRACT_IFMT_FMOV1_COMPACT_CODE \
-  length = 2; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_sub4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_FMOV2_COMPACT_VARS \
-  UINT f_op4; \
-  UINT f_rn; \
-  UINT f_rm; \
-  UINT f_sub4; \
-  unsigned int length;
-#define EXTRACT_IFMT_FMOV2_COMPACT_CODE \
-  length = 2; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_sub4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_FMOV5_COMPACT_VARS \
-  UINT f_op4; \
-  UINT f_rn; \
-  UINT f_rm; \
-  UINT f_sub4; \
-  unsigned int length;
-#define EXTRACT_IFMT_FMOV5_COMPACT_CODE \
-  length = 2; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_sub4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_FMOV8_COMPACT_VARS \
-  UINT f_op4; \
-  SI f_dn; \
-  UINT f_7_1; \
-  UINT f_rm; \
-  UINT f_sub4; \
-  UINT f_16_4; \
-  SI f_imm12x8; \
-  unsigned int length;
-#define EXTRACT_IFMT_FMOV8_COMPACT_CODE \
-  length = 4; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 32, 0, 4); \
-  f_dn = ((EXTRACT_MSB0_UINT (insn, 32, 4, 3)) << (1)); \
-  f_7_1 = EXTRACT_MSB0_UINT (insn, 32, 7, 1); \
-  f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4); \
-  f_sub4 = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_16_4 = EXTRACT_MSB0_UINT (insn, 32, 16, 4); \
-  f_imm12x8 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (3)); \
-
-#define EXTRACT_IFMT_FMOV9_COMPACT_VARS \
-  UINT f_op4; \
-  UINT f_rn; \
-  SI f_dm; \
-  UINT f_11_1; \
-  UINT f_sub4; \
-  UINT f_16_4; \
-  SI f_imm12x8; \
-  unsigned int length;
-#define EXTRACT_IFMT_FMOV9_COMPACT_CODE \
-  length = 4; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 32, 0, 4); \
-  f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4); \
-  f_dm = ((EXTRACT_MSB0_UINT (insn, 32, 8, 3)) << (1)); \
-  f_11_1 = EXTRACT_MSB0_UINT (insn, 32, 11, 1); \
-  f_sub4 = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_16_4 = EXTRACT_MSB0_UINT (insn, 32, 16, 4); \
-  f_imm12x8 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (3)); \
-
-#define EXTRACT_IFMT_FTRV_COMPACT_VARS \
-  UINT f_op4; \
-  SI f_vn; \
-  UINT f_sub10; \
-  unsigned int length;
-#define EXTRACT_IFMT_FTRV_COMPACT_CODE \
-  length = 2; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_vn = ((EXTRACT_MSB0_UINT (insn, 16, 4, 2)) << (2)); \
-  f_sub10 = EXTRACT_MSB0_UINT (insn, 16, 6, 10); \
-
-#define EXTRACT_IFMT_MOVI20_COMPACT_VARS \
-  UINT f_op4; \
-  UINT f_rn; \
-  INT f_imm20_hi; \
-  UINT f_imm20_lo; \
-  INT f_imm20; \
-  UINT f_sub4; \
-  unsigned int length;
-#define EXTRACT_IFMT_MOVI20_COMPACT_CODE \
-  length = 4; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 32, 0, 4); \
-  f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4); \
-  f_imm20_hi = EXTRACT_MSB0_SINT (insn, 32, 8, 4); \
-  f_imm20_lo = EXTRACT_MSB0_UINT (insn, 32, 16, 16); \
-  f_imm20 = ((((f_imm20_hi) << (16))) | (f_imm20_lo));\
-  f_sub4 = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-
-#define EXTRACT_IFMT_MOVB5_COMPACT_VARS \
-  UINT f_op8; \
-  UINT f_rm; \
-  UINT f_imm4; \
-  unsigned int length;
-#define EXTRACT_IFMT_MOVB5_COMPACT_CODE \
-  length = 2; \
-  f_op8 = EXTRACT_MSB0_UINT (insn, 16, 0, 8); \
-  f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_imm4 = EXTRACT_MSB0_UINT (insn, 16, 12, 4); \
-
-#define EXTRACT_IFMT_MOVL4_COMPACT_VARS \
-  UINT f_op8; \
-  SI f_imm8x4; \
-  unsigned int length;
-#define EXTRACT_IFMT_MOVL4_COMPACT_CODE \
-  length = 2; \
-  f_op8 = EXTRACT_MSB0_UINT (insn, 16, 0, 8); \
-  f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); \
-
-#define EXTRACT_IFMT_MOVL5_COMPACT_VARS \
-  UINT f_op4; \
-  UINT f_rn; \
-  UINT f_rm; \
-  SI f_imm4x4; \
-  unsigned int length;
-#define EXTRACT_IFMT_MOVL5_COMPACT_CODE \
-  length = 2; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_imm4x4 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (2)); \
-
-#define EXTRACT_IFMT_MOVL10_COMPACT_VARS \
-  UINT f_op4; \
-  UINT f_rn; \
-  SI f_imm8x4; \
-  unsigned int length;
-#define EXTRACT_IFMT_MOVL10_COMPACT_CODE \
-  length = 2; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_imm8x4 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (2)); \
-
-#define EXTRACT_IFMT_MOVL12_COMPACT_VARS \
-  UINT f_op4; \
-  UINT f_rn; \
-  UINT f_rm; \
-  UINT f_sub4; \
-  UINT f_16_4; \
-  SI f_imm12x4; \
-  unsigned int length;
-#define EXTRACT_IFMT_MOVL12_COMPACT_CODE \
-  length = 4; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 32, 0, 4); \
-  f_rn = EXTRACT_MSB0_UINT (insn, 32, 4, 4); \
-  f_rm = EXTRACT_MSB0_UINT (insn, 32, 8, 4); \
-  f_sub4 = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_16_4 = EXTRACT_MSB0_UINT (insn, 32, 16, 4); \
-  f_imm12x4 = ((EXTRACT_MSB0_SINT (insn, 32, 20, 12)) << (2)); \
-
-#define EXTRACT_IFMT_MOVW4_COMPACT_VARS \
-  UINT f_op8; \
-  SI f_imm8x2; \
-  unsigned int length;
-#define EXTRACT_IFMT_MOVW4_COMPACT_CODE \
-  length = 2; \
-  f_op8 = EXTRACT_MSB0_UINT (insn, 16, 0, 8); \
-  f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); \
-
-#define EXTRACT_IFMT_MOVW5_COMPACT_VARS \
-  UINT f_op8; \
-  UINT f_rm; \
-  SI f_imm4x2; \
-  unsigned int length;
-#define EXTRACT_IFMT_MOVW5_COMPACT_CODE \
-  length = 2; \
-  f_op8 = EXTRACT_MSB0_UINT (insn, 16, 0, 8); \
-  f_rm = EXTRACT_MSB0_UINT (insn, 16, 8, 4); \
-  f_imm4x2 = ((EXTRACT_MSB0_UINT (insn, 16, 12, 4)) << (1)); \
-
-#define EXTRACT_IFMT_MOVW10_COMPACT_VARS \
-  UINT f_op4; \
-  UINT f_rn; \
-  SI f_imm8x2; \
-  unsigned int length;
-#define EXTRACT_IFMT_MOVW10_COMPACT_CODE \
-  length = 2; \
-  f_op4 = EXTRACT_MSB0_UINT (insn, 16, 0, 4); \
-  f_rn = EXTRACT_MSB0_UINT (insn, 16, 4, 4); \
-  f_imm8x2 = ((EXTRACT_MSB0_UINT (insn, 16, 8, 8)) << (1)); \
-
-#endif /* DEFS_SH64_COMPACT_H */
diff --git a/sim/sh64/defs-media.h b/sim/sh64/defs-media.h
deleted file mode 100644 (file)
index f59fafc..0000000
+++ /dev/null
@@ -1,920 +0,0 @@
-/* ISA definitions header for media.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996-2021 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   It 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 DEFS_SH64_MEDIA_H
-#define DEFS_SH64_MEDIA_H
-
-/* Instruction argument buffer.  */
-
-union sem_fields {
-  struct { /* no operands */
-    int empty;
-  } sfmt_empty;
-  struct { /*  */
-    UINT f_dest;
-    UINT f_uimm16;
-  } sfmt_shori;
-  struct { /*  */
-    DI f_disp16;
-    UINT f_tra;
-  } sfmt_pta;
-  struct { /*  */
-    INT f_imm16;
-    UINT f_dest;
-  } sfmt_movi;
-  struct { /*  */
-    UINT f_dest;
-    UINT f_left_right;
-  } sfmt_fabsd;
-  struct { /*  */
-    UINT f_dest;
-    UINT f_trb;
-  } sfmt_blink;
-  struct { /*  */
-    INT f_imm6;
-    UINT f_dest;
-    UINT f_left;
-  } sfmt_xori;
-  struct { /*  */
-    UINT f_dest;
-    UINT f_left;
-    UINT f_uimm6;
-  } sfmt_shari;
-  struct { /*  */
-    INT f_imm10;
-    UINT f_dest;
-    UINT f_left;
-  } sfmt_ori;
-  struct { /*  */
-    SI f_disp10x2;
-    UINT f_dest;
-    UINT f_left;
-  } sfmt_lduw;
-  struct { /*  */
-    INT f_disp6;
-    UINT f_dest;
-    UINT f_left;
-  } sfmt_getcfg;
-  struct { /*  */
-    SI f_disp10x4;
-    UINT f_dest;
-    UINT f_left;
-  } sfmt_flds;
-  struct { /*  */
-    SI f_disp10x8;
-    UINT f_dest;
-    UINT f_left;
-  } sfmt_fldd;
-  struct { /*  */
-    INT f_imm6;
-    UINT f_left;
-    UINT f_tra;
-  } sfmt_beqi;
-  struct { /*  */
-    UINT f_left;
-    UINT f_right;
-    UINT f_tra;
-  } sfmt_beq;
-  struct { /*  */
-    INT f_disp10;
-    UINT f_dest;
-    UINT f_left;
-  } sfmt_addi;
-  struct { /*  */
-    UINT f_dest;
-    UINT f_left;
-    UINT f_right;
-  } sfmt_add;
-#if WITH_SCACHE_PBB
-  /* Writeback handler.  */
-  struct {
-    /* Pointer to argbuf entry for insn whose results need writing back.  */
-    const struct argbuf *abuf;
-  } write;
-  /* x-before handler */
-  struct {
-    /*const SCACHE *insns[MAX_PARALLEL_INSNS];*/
-    int first_p;
-  } before;
-  /* x-after handler */
-  struct {
-    int empty;
-  } after;
-  /* This entry is used to terminate each pbb.  */
-  struct {
-    /* Number of insns in pbb.  */
-    int insn_count;
-    /* Next pbb to execute.  */
-    SCACHE *next;
-    SCACHE *branch_target;
-  } chain;
-#endif
-};
-
-/* The ARGBUF struct.  */
-struct argbuf {
-  /* These are the baseclass definitions.  */
-  IADDR addr;
-  const IDESC *idesc;
-  char trace_p;
-  char profile_p;
-  /* ??? Temporary hack for skip insns.  */
-  char skip_count;
-  char unused;
-  /* cpu specific data follows */
-  union sem semantic;
-  int written;
-  union sem_fields fields;
-};
-
-/* A cached insn.
-
-   ??? SCACHE used to contain more than just argbuf.  We could delete the
-   type entirely and always just use ARGBUF, but for future concerns and as
-   a level of abstraction it is left in.  */
-
-struct scache {
-  struct argbuf argbuf;
-};
-
-/* Macros to simplify extraction, reading and semantic code.
-   These define and assign the local vars that contain the insn's fields.  */
-
-#define EXTRACT_IFMT_EMPTY_VARS \
-  unsigned int length;
-#define EXTRACT_IFMT_EMPTY_CODE \
-  length = 0; \
-
-#define EXTRACT_IFMT_ADD_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_ADD_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_ADDI_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  INT f_disp10; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_ADDI_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_disp10 = EXTRACT_MSB0_SINT (insn, 32, 12, 10); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_ALLOCO_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  SI f_disp6x32; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_ALLOCO_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_disp6x32 = ((EXTRACT_MSB0_SINT (insn, 32, 16, 6)) << (5)); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_BEQ_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_likely; \
-  UINT f_23_2; \
-  UINT f_tra; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_BEQ_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_likely = EXTRACT_MSB0_UINT (insn, 32, 22, 1); \
-  f_23_2 = EXTRACT_MSB0_UINT (insn, 32, 23, 2); \
-  f_tra = EXTRACT_MSB0_UINT (insn, 32, 25, 3); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_BEQI_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  INT f_imm6; \
-  UINT f_likely; \
-  UINT f_23_2; \
-  UINT f_tra; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_BEQI_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_imm6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6); \
-  f_likely = EXTRACT_MSB0_UINT (insn, 32, 22, 1); \
-  f_23_2 = EXTRACT_MSB0_UINT (insn, 32, 23, 2); \
-  f_tra = EXTRACT_MSB0_UINT (insn, 32, 25, 3); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_BLINK_VARS \
-  UINT f_op; \
-  UINT f_6_3; \
-  UINT f_trb; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_BLINK_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_6_3 = EXTRACT_MSB0_UINT (insn, 32, 6, 3); \
-  f_trb = EXTRACT_MSB0_UINT (insn, 32, 9, 3); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_BRK_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_BRK_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_BYTEREV_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_BYTEREV_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FABSD_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_right; \
-  UINT f_left_right; \
-  UINT f_ext; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FABSD_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_left_right = f_left;\
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FABSS_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_right; \
-  UINT f_left_right; \
-  UINT f_ext; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FABSS_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_left_right = f_left;\
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FADDD_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FADDD_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FADDS_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FADDS_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FCMPEQD_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FCMPEQD_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FCMPEQS_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FCMPEQS_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FCNVDS_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_right; \
-  UINT f_left_right; \
-  UINT f_ext; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FCNVDS_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_left_right = f_left;\
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FCNVSD_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_right; \
-  UINT f_left_right; \
-  UINT f_ext; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FCNVSD_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_left_right = f_left;\
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FGETSCR_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FGETSCR_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FIPRS_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FIPRS_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FLDD_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  SI f_disp10x8; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FLDD_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_disp10x8 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (3)); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FLDP_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  SI f_disp10x8; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FLDP_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_disp10x8 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (3)); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FLDS_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  SI f_disp10x4; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FLDS_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_disp10x4 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (2)); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FLDXD_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FLDXD_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FLDXP_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FLDXP_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FMOVDQ_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_right; \
-  UINT f_left_right; \
-  UINT f_ext; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FMOVDQ_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_left_right = f_left;\
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FMOVLS_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FMOVLS_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FMOVSL_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_right; \
-  UINT f_left_right; \
-  UINT f_ext; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FMOVSL_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_left_right = f_left;\
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FPUTSCR_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_right; \
-  UINT f_left_right; \
-  UINT f_ext; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FPUTSCR_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_left_right = f_left;\
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FSTXD_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FSTXD_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_FTRVS_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_FTRVS_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_GETCFG_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  INT f_disp6; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_GETCFG_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_disp6 = EXTRACT_MSB0_SINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_GETCON_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_GETCON_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_LDL_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  SI f_disp10x4; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_LDL_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_disp10x4 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (2)); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_LDQ_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  SI f_disp10x8; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_LDQ_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_disp10x8 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (3)); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_MMACNFX_WL_VARS \
-  UINT f_op; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_MMACNFX_WL_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_MOVI_VARS \
-  UINT f_op; \
-  INT f_imm16; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_MOVI_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_imm16 = EXTRACT_MSB0_SINT (insn, 32, 6, 16); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_ORI_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  INT f_imm10; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_ORI_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_imm10 = EXTRACT_MSB0_SINT (insn, 32, 12, 10); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_PREFI_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  SI f_disp6x32; \
-  UINT f_right; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_PREFI_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_disp6x32 = ((EXTRACT_MSB0_SINT (insn, 32, 16, 6)) << (5)); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_PTA_VARS \
-  UINT f_op; \
-  DI f_disp16; \
-  UINT f_likely; \
-  UINT f_23_2; \
-  UINT f_tra; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_PTA_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_disp16 = ((((EXTRACT_MSB0_SINT (insn, 32, 6, 16)) << (2))) + (pc)); \
-  f_likely = EXTRACT_MSB0_UINT (insn, 32, 22, 1); \
-  f_23_2 = EXTRACT_MSB0_UINT (insn, 32, 23, 2); \
-  f_tra = EXTRACT_MSB0_UINT (insn, 32, 25, 3); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_PTABS_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_likely; \
-  UINT f_23_2; \
-  UINT f_tra; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_PTABS_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_likely = EXTRACT_MSB0_UINT (insn, 32, 22, 1); \
-  f_23_2 = EXTRACT_MSB0_UINT (insn, 32, 23, 2); \
-  f_tra = EXTRACT_MSB0_UINT (insn, 32, 25, 3); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_PUTCON_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_PUTCON_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_SHARI_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_uimm6; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_SHARI_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_uimm6 = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_SHORI_VARS \
-  UINT f_op; \
-  UINT f_uimm16; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_SHORI_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_uimm16 = EXTRACT_MSB0_UINT (insn, 32, 6, 16); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_STW_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  SI f_disp10x2; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_STW_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_disp10x2 = ((EXTRACT_MSB0_SINT (insn, 32, 12, 10)) << (1)); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#define EXTRACT_IFMT_TRAPA_VARS \
-  UINT f_op; \
-  UINT f_left; \
-  UINT f_ext; \
-  UINT f_right; \
-  UINT f_dest; \
-  UINT f_rsvd; \
-  unsigned int length;
-#define EXTRACT_IFMT_TRAPA_CODE \
-  length = 4; \
-  f_op = EXTRACT_MSB0_UINT (insn, 32, 0, 6); \
-  f_left = EXTRACT_MSB0_UINT (insn, 32, 6, 6); \
-  f_ext = EXTRACT_MSB0_UINT (insn, 32, 12, 4); \
-  f_right = EXTRACT_MSB0_UINT (insn, 32, 16, 6); \
-  f_dest = EXTRACT_MSB0_UINT (insn, 32, 22, 6); \
-  f_rsvd = EXTRACT_MSB0_UINT (insn, 32, 28, 4); \
-
-#endif /* DEFS_SH64_MEDIA_H */
diff --git a/sim/sh64/eng-compact.h b/sim/sh64/eng-compact.h
deleted file mode 100644 (file)
index 521b2f8..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/* engine configuration for sh64 */
-
-/* WITH_FAST: non-zero if a fast version of the engine is available
-   in addition to the full-featured version.  */
-#define WITH_FAST 1
-
-/* WITH_SCACHE_PBB_SH64_COMPACT: non-zero if the pbb engine was selected.  */
-#define WITH_SCACHE_PBB_SH64_COMPACT 1
-
-/* HAVE_PARALLEL_INSNS: non-zero if cpu can parallelly execute > 1 insn.  */
-#define HAVE_PARALLEL_INSNS 0
-#define WITH_PARALLEL_READ 0
-#define WITH_PARALLEL_WRITE 0
-#define WITH_PARALLEL_GENWRITE 0
-
-/* WITH_SEM_SWITCH_FULL: non-zero if full-featured engine is
-   implemented as a switch().  */
-#define WITH_SEM_SWITCH_FULL 0
-
-/* WITH_SEM_SWITCH_FAST: non-zero if fast engine is
-   implemented as a switch().  */
-#define WITH_SEM_SWITCH_FAST 1
-
-/* Functions defined in the generated mainloop.c file
-   (which doesn't necessarily have that file name).  */
-
-extern ENGINE_FN sh64_compact_engine_run_full;
-extern ENGINE_FN sh64_compact_engine_run_fast;
-
-extern SEM_PC sh64_compact_pbb_begin (SIM_CPU *, int);
-extern SEM_PC sh64_compact_pbb_chain (SIM_CPU *, SEM_ARG);
-extern SEM_PC sh64_compact_pbb_cti_chain (SIM_CPU *, SEM_ARG, SEM_BRANCH_TYPE, PCADDR);
-extern void sh64_compact_pbb_before (SIM_CPU *, SCACHE *);
-extern void sh64_compact_pbb_after (SIM_CPU *, SCACHE *);
diff --git a/sim/sh64/eng-media.h b/sim/sh64/eng-media.h
deleted file mode 100644 (file)
index db1c21d..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-/* engine configuration for sh64 */
-
-/* WITH_FAST: non-zero if a fast version of the engine is available
-   in addition to the full-featured version.  */
-#define WITH_FAST 1
-
-/* WITH_SCACHE_PBB_SH64_MEDIA: non-zero if the pbb engine was selected.  */
-#define WITH_SCACHE_PBB_SH64_MEDIA 1
-
-/* HAVE_PARALLEL_INSNS: non-zero if cpu can parallelly execute > 1 insn.  */
-#define HAVE_PARALLEL_INSNS 0
-#define WITH_PARALLEL_READ 0
-#define WITH_PARALLEL_WRITE 0
-#define WITH_PARALLEL_GENWRITE 0
-
-/* WITH_SEM_SWITCH_FULL: non-zero if full-featured engine is
-   implemented as a switch().  */
-#define WITH_SEM_SWITCH_FULL 0
-
-/* WITH_SEM_SWITCH_FAST: non-zero if fast engine is
-   implemented as a switch().  */
-#define WITH_SEM_SWITCH_FAST 1
-
-/* Functions defined in the generated mainloop.c file
-   (which doesn't necessarily have that file name).  */
-
-extern ENGINE_FN sh64_media_engine_run_full;
-extern ENGINE_FN sh64_media_engine_run_fast;
-
-extern SEM_PC sh64_media_pbb_begin (SIM_CPU *, int);
-extern SEM_PC sh64_media_pbb_chain (SIM_CPU *, SEM_ARG);
-extern SEM_PC sh64_media_pbb_cti_chain (SIM_CPU *, SEM_ARG, SEM_BRANCH_TYPE, PCADDR);
-extern void sh64_media_pbb_before (SIM_CPU *, SCACHE *);
-extern void sh64_media_pbb_after (SIM_CPU *, SCACHE *);
diff --git a/sim/sh64/eng.h b/sim/sh64/eng.h
deleted file mode 100644 (file)
index 0952787..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-/* Engine declarations.
-   Copyright (C) 2000-2021 Free Software Foundation, Inc.
-   Contributed by Red Hat, Inc.
-
-This file is part of the GNU 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 declarations for SHmedia and SHcompact ISAs. */
-
-#include "eng-compact.h"
-#include "eng-media.h"
diff --git a/sim/sh64/mloop-compact.c b/sim/sh64/mloop-compact.c
deleted file mode 100644 (file)
index 16d6e63..0000000
+++ /dev/null
@@ -1,635 +0,0 @@
-/* This file is generated by the genmloop script.  DO NOT EDIT! */
-
-/* Enable switch() support in cgen headers.  */
-#define SEM_IN_SWITCH
-
-#define WANT_CPU sh64
-#define WANT_CPU_SH64
-
-#include "sim-main.h"
-#include "bfd.h"
-#include "cgen-mem.h"
-#include "cgen-ops.h"
-#include "sim-assert.h"
-
-/* Fill in the administrative ARGBUF fields required by all insns,
-   virtual and real.  */
-
-static INLINE void
-sh64_compact_fill_argbuf (const SIM_CPU *cpu, ARGBUF *abuf, const IDESC *idesc,
-                   PCADDR pc, int fast_p)
-{
-#if WITH_SCACHE
-  SEM_SET_CODE (abuf, idesc, fast_p);
-  ARGBUF_ADDR (abuf) = pc;
-#endif
-  ARGBUF_IDESC (abuf) = idesc;
-}
-
-/* Fill in tracing/profiling fields of an ARGBUF.  */
-
-static INLINE void
-sh64_compact_fill_argbuf_tp (const SIM_CPU *cpu, ARGBUF *abuf,
-                      int trace_p, int profile_p)
-{
-  ARGBUF_TRACE_P (abuf) = trace_p;
-  ARGBUF_PROFILE_P (abuf) = profile_p;
-}
-
-#if WITH_SCACHE_PBB
-
-/* Emit the "x-before" handler.
-   x-before is emitted before each insn (serial or parallel).
-   This is as opposed to x-after which is only emitted at the end of a group
-   of parallel insns.  */
-
-static INLINE void
-sh64_compact_emit_before (SIM_CPU *current_cpu, SCACHE *sc, PCADDR pc, int first_p)
-{
-  ARGBUF *abuf = &sc[0].argbuf;
-  const IDESC *id = & CPU_IDESC (current_cpu) [SH64_COMPACT_INSN_X_BEFORE];
-
-  abuf->fields.before.first_p = first_p;
-  sh64_compact_fill_argbuf (current_cpu, abuf, id, pc, 0);
-  /* no need to set trace_p,profile_p */
-}
-
-/* Emit the "x-after" handler.
-   x-after is emitted after a serial insn or at the end of a group of
-   parallel insns.  */
-
-static INLINE void
-sh64_compact_emit_after (SIM_CPU *current_cpu, SCACHE *sc, PCADDR pc)
-{
-  ARGBUF *abuf = &sc[0].argbuf;
-  const IDESC *id = & CPU_IDESC (current_cpu) [SH64_COMPACT_INSN_X_AFTER];
-
-  sh64_compact_fill_argbuf (current_cpu, abuf, id, pc, 0);
-  /* no need to set trace_p,profile_p */
-}
-
-#endif /* WITH_SCACHE_PBB */
-
-
-static INLINE const IDESC *
-extract (SIM_CPU *current_cpu, PCADDR pc, CGEN_INSN_INT insn, ARGBUF *abuf,
-         int fast_p)
-{
-  const IDESC *id = sh64_compact_decode (current_cpu, pc, insn, insn, abuf);
-
-  sh64_compact_fill_argbuf (current_cpu, abuf, id, pc, fast_p);
-  if (! fast_p)
-    {
-      int trace_p = PC_IN_TRACE_RANGE_P (current_cpu, pc);
-      int profile_p = PC_IN_PROFILE_RANGE_P (current_cpu, pc);
-      sh64_compact_fill_argbuf_tp (current_cpu, abuf, trace_p, profile_p);
-    }
-  return id;
-}
-
-static INLINE SEM_PC
-execute (SIM_CPU *current_cpu, SCACHE *sc, int fast_p)
-{
-  SEM_PC vpc;
-
-  if (fast_p)
-    {
-#if ! WITH_SEM_SWITCH_FAST
-#if WITH_SCACHE
-      vpc = (*sc->argbuf.semantic.sem_fast) (current_cpu, sc);
-#else
-      vpc = (*sc->argbuf.semantic.sem_fast) (current_cpu, &sc->argbuf);
-#endif
-#else
-      abort ();
-#endif /* WITH_SEM_SWITCH_FAST */
-    }
-  else
-    {
-#if ! WITH_SEM_SWITCH_FULL
-      ARGBUF *abuf = &sc->argbuf;
-      const IDESC *idesc = abuf->idesc;
-#if WITH_SCACHE_PBB
-      int virtual_p = CGEN_ATTR_VALUE (NULL, idesc->attrs, CGEN_INSN_VIRTUAL);
-#else
-      int virtual_p = 0;
-#endif
-
-      if (! virtual_p)
-       {
-         /* FIXME: call x-before */
-         if (ARGBUF_PROFILE_P (abuf))
-           PROFILE_COUNT_INSN (current_cpu, abuf->addr, idesc->num);
-         /* FIXME: Later make cover macros: PROFILE_INSN_{INIT,FINI}.  */
-         if (PROFILE_MODEL_P (current_cpu)
-             && ARGBUF_PROFILE_P (abuf))
-           sh64_compact_model_insn_before (current_cpu, 1 /*first_p*/);
-         CGEN_TRACE_INSN_INIT (current_cpu, abuf, 1);
-         CGEN_TRACE_INSN (current_cpu, idesc->idata,
-                     (const struct argbuf *) abuf, abuf->addr);
-       }
-#if WITH_SCACHE
-      vpc = (*sc->argbuf.semantic.sem_full) (current_cpu, sc);
-#else
-      vpc = (*sc->argbuf.semantic.sem_full) (current_cpu, abuf);
-#endif
-      if (! virtual_p)
-       {
-         /* FIXME: call x-after */
-         if (PROFILE_MODEL_P (current_cpu)
-             && ARGBUF_PROFILE_P (abuf))
-           {
-             int cycles;
-
-             cycles = (*idesc->timing->model_fn) (current_cpu, sc);
-             sh64_compact_model_insn_after (current_cpu, 1 /*last_p*/, cycles);
-           }
-         CGEN_TRACE_INSN_FINI (current_cpu, abuf, 1);
-       }
-#else
-      abort ();
-#endif /* WITH_SEM_SWITCH_FULL */
-    }
-
-  return vpc;
-}
-
-
-/* Record address of cti terminating a pbb.  */
-#define SET_CTI_VPC(sc) do { _cti_sc = (sc); } while (0)
-/* Record number of [real] insns in pbb.  */
-#define SET_INSN_COUNT(n) do { _insn_count = (n); } while (0)
-
-/* Fetch and extract a pseudo-basic-block.
-   FAST_P is non-zero if no tracing/profiling/etc. is wanted.  */
-
-INLINE SEM_PC
-sh64_compact_pbb_begin (SIM_CPU *current_cpu, int FAST_P)
-{
-  SEM_PC new_vpc;
-  PCADDR pc;
-  SCACHE *sc;
-  int max_insns = CPU_SCACHE_MAX_CHAIN_LENGTH (current_cpu);
-
-  pc = GET_H_PC ();
-
-  new_vpc = scache_lookup_or_alloc (current_cpu, pc, max_insns, &sc);
-  if (! new_vpc)
-    {
-      /* Leading '_' to avoid collision with mainloop.in.  */
-      int _insn_count = 0;
-      SCACHE *orig_sc = sc;
-      SCACHE *_cti_sc = NULL;
-      int slice_insns = CPU_MAX_SLICE_INSNS (current_cpu);
-
-      /* First figure out how many instructions to compile.
-        MAX_INSNS is the size of the allocated buffer, which includes space
-        for before/after handlers if they're being used.
-        SLICE_INSNS is the maxinum number of real insns that can be
-        executed.  Zero means "as many as we want".  */
-      /* ??? max_insns is serving two incompatible roles.
-        1) Number of slots available in scache buffer.
-        2) Number of real insns to execute.
-        They're incompatible because there are virtual insns emitted too
-        (chain,cti-chain,before,after handlers).  */
-
-      if (slice_insns == 1)
-       {
-         /* No need to worry about extra slots required for virtual insns
-            and parallel exec support because MAX_CHAIN_LENGTH is
-            guaranteed to be big enough to execute at least 1 insn!  */
-         max_insns = 1;
-       }
-      else
-       {
-         /* Allow enough slop so that while compiling insns, if max_insns > 0
-            then there's guaranteed to be enough space to emit one real insn.
-            MAX_CHAIN_LENGTH is typically much longer than
-            the normal number of insns between cti's anyway.  */
-         max_insns -= (1 /* one for the trailing chain insn */
-                       + (FAST_P
-                          ? 0
-                          : (1 + MAX_PARALLEL_INSNS) /* before+after */)
-                       + (MAX_PARALLEL_INSNS > 1
-                          ? (MAX_PARALLEL_INSNS * 2)
-                          : 0));
-
-         /* Account for before/after handlers.  */
-         if (! FAST_P)
-           slice_insns *= 3;
-
-         if (slice_insns > 0
-             && slice_insns < max_insns)
-           max_insns = slice_insns;
-       }
-
-      new_vpc = sc;
-
-      /* SC,PC must be updated to point passed the last entry used.
-        SET_CTI_VPC must be called if pbb is terminated by a cti.
-        SET_INSN_COUNT must be called to record number of real insns in
-        pbb [could be computed by us of course, extra cpu but perhaps
-        negligible enough].  */
-
-/* begin extract-pbb */
-{
-  const IDESC *idesc;
-  int icount = 0;
-
- while (max_insns > 0)
-    {
-      UHI insn = GETIMEMUHI (current_cpu, pc);
-      
-      idesc = extract (current_cpu, pc, insn, &sc->argbuf, FAST_P);
-      SEM_SKIP_COMPILE (current_cpu, sc, 1);
-      ++sc;
-      --max_insns;
-      ++icount;
-      pc += idesc->length;
-
-      if (IDESC_CTI_P (idesc))
-        {
-          SET_CTI_VPC (sc - 1);
-
-          if (CGEN_ATTR_VALUE (NULL, idesc->attrs, CGEN_INSN_DELAY_SLOT))
-            {
-              USI insn = GETIMEMUHI (current_cpu, pc);
-             idesc = extract (current_cpu, pc, insn, &sc->argbuf, FAST_P);
-
-              if (IDESC_CTI_P (idesc) ||
-                 CGEN_ATTR_VALUE (NULL, idesc->attrs, CGEN_INSN_ILLSLOT))
-               {
-                 SIM_DESC sd = CPU_STATE (current_cpu);
-                  sim_io_eprintf (CPU_STATE (current_cpu),
-                   "malformed program, `%s' insn in delay slot\n",
-                    CGEN_INSN_NAME (idesc->idata));    
-                 sim_engine_halt (sd, current_cpu, NULL, pc,
-                                  sim_stopped, SIM_SIGILL);
-                }
-             else
-                { 
-                  ++sc;
-                 --max_insns;
-                 ++icount;
-                 pc += idesc->length;
-                }
-            }
-         break;
-      }
-    }
-
- Finish:
-  SET_INSN_COUNT (icount);
-}
-/* end extract-pbb */
-
-      /* The last one is a pseudo-insn to link to the next chain.
-        It is also used to record the insn count for this chain.  */
-      {
-       const IDESC *id;
-
-       /* Was pbb terminated by a cti?  */
-       if (_cti_sc)
-         {
-           id = & CPU_IDESC (current_cpu) [SH64_COMPACT_INSN_X_CTI_CHAIN];
-         }
-       else
-         {
-           id = & CPU_IDESC (current_cpu) [SH64_COMPACT_INSN_X_CHAIN];
-         }
-       SEM_SET_CODE (&sc->argbuf, id, FAST_P);
-       sc->argbuf.idesc = id;
-       sc->argbuf.addr = pc;
-       sc->argbuf.fields.chain.insn_count = _insn_count;
-       sc->argbuf.fields.chain.next = 0;
-       sc->argbuf.fields.chain.branch_target = 0;
-       ++sc;
-      }
-
-      /* Update the pointer to the next free entry, may not have used as
-        many entries as was asked for.  */
-      CPU_SCACHE_NEXT_FREE (current_cpu) = sc;
-      /* Record length of chain if profiling.
-        This includes virtual insns since they count against
-        max_insns too.  */
-      if (! FAST_P)
-       PROFILE_COUNT_SCACHE_CHAIN_LENGTH (current_cpu, sc - orig_sc);
-    }
-
-  return new_vpc;
-}
-
-/* Chain to the next block from a non-cti terminated previous block.  */
-
-INLINE SEM_PC
-sh64_compact_pbb_chain (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-
-  PBB_UPDATE_INSN_COUNT (current_cpu, sem_arg);
-
-  SET_H_PC (abuf->addr);
-
-
-  /* If not running forever, exit back to main loop.  */
-  if (CPU_MAX_SLICE_INSNS (current_cpu) != 0
-      /* Also exit back to main loop if there's an event.
-         Note that if CPU_MAX_SLICE_INSNS != 1, events won't get processed
-        at the "right" time, but then that was what was asked for.
-        There is no silver bullet for simulator engines.
-         ??? Clearly this needs a cleaner interface.
-        At present it's just so Ctrl-C works.  */
-      || STATE_EVENTS (CPU_STATE (current_cpu))->work_pending)
-    CPU_RUNNING_P (current_cpu) = 0;
-
-  /* If chained to next block, go straight to it.  */
-  if (abuf->fields.chain.next)
-    return abuf->fields.chain.next;
-  /* See if next block has already been compiled.  */
-  abuf->fields.chain.next = scache_lookup (current_cpu, abuf->addr);
-  if (abuf->fields.chain.next)
-    return abuf->fields.chain.next;
-  /* Nope, so next insn is a virtual insn to invoke the compiler
-     (begin a pbb).  */
-  return CPU_SCACHE_PBB_BEGIN (current_cpu);
-}
-
-/* Chain to the next block from a cti terminated previous block.
-   BR_TYPE indicates whether the branch was taken and whether we can cache
-   the vpc of the branch target.
-   NEW_PC is the target's branch address, and is only valid if
-   BR_TYPE != SEM_BRANCH_UNTAKEN.  */
-
-INLINE SEM_PC
-sh64_compact_pbb_cti_chain (SIM_CPU *current_cpu, SEM_ARG sem_arg,
-                    SEM_BRANCH_TYPE br_type, PCADDR new_pc)
-{
-  SEM_PC *new_vpc_ptr;
-
-  PBB_UPDATE_INSN_COUNT (current_cpu, sem_arg);
-
-  /* If we have switched ISAs, exit back to main loop.
-     Set idesc to 0 to cause the engine to point to the right insn table.  */
-  if (new_pc & 1)
-  {
-    /* Switch to SHmedia.  */
-    CPU_IDESC_SEM_INIT_P (current_cpu) = 0;
-    CPU_RUNNING_P (current_cpu) = 0;
-  }
-
-  /* If not running forever, exit back to main loop.  */
-  if (CPU_MAX_SLICE_INSNS (current_cpu) != 0
-      /* Also exit back to main loop if there's an event.
-         Note that if CPU_MAX_SLICE_INSNS != 1, events won't get processed
-        at the "right" time, but then that was what was asked for.
-        There is no silver bullet for simulator engines.
-         ??? Clearly this needs a cleaner interface.
-        At present it's just so Ctrl-C works.  */
-      || STATE_EVENTS (CPU_STATE (current_cpu))->work_pending)
-    CPU_RUNNING_P (current_cpu) = 0;
-
-  /* Restart compiler if we branched to an uncacheable address
-     (e.g. "j reg").  */
-  if (br_type == SEM_BRANCH_UNCACHEABLE)
-    {
-      SET_H_PC (new_pc);
-      return CPU_SCACHE_PBB_BEGIN (current_cpu);
-    }
-
-  /* If branch wasn't taken, update the pc and set BR_ADDR_PTR to our
-     next chain ptr.  */
-  if (br_type == SEM_BRANCH_UNTAKEN)
-    {
-      ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-      new_pc = abuf->addr;
-      SET_H_PC (new_pc);
-      new_vpc_ptr = &abuf->fields.chain.next;
-    }
-  else
-    {
-      ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-      SET_H_PC (new_pc);
-      new_vpc_ptr = &abuf->fields.chain.branch_target;
-    }
-
-  /* If chained to next block, go straight to it.  */
-  if (*new_vpc_ptr)
-    return *new_vpc_ptr;
-  /* See if next block has already been compiled.  */
-  *new_vpc_ptr = scache_lookup (current_cpu, new_pc);
-  if (*new_vpc_ptr)
-    return *new_vpc_ptr;
-  /* Nope, so next insn is a virtual insn to invoke the compiler
-     (begin a pbb).  */
-  return CPU_SCACHE_PBB_BEGIN (current_cpu);
-}
-
-/* x-before handler.
-   This is called before each insn.  */
-
-void
-sh64_compact_pbb_before (SIM_CPU *current_cpu, SCACHE *sc)
-{
-  SEM_ARG sem_arg = sc;
-  const ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int first_p = abuf->fields.before.first_p;
-  const ARGBUF *cur_abuf = SEM_ARGBUF (sc + 1);
-  const IDESC *cur_idesc = cur_abuf->idesc;
-  PCADDR pc = cur_abuf->addr;
-
-  if (ARGBUF_PROFILE_P (cur_abuf))
-    PROFILE_COUNT_INSN (current_cpu, pc, cur_idesc->num);
-
-  /* If this isn't the first insn, finish up the previous one.  */
-
-  if (! first_p)
-    {
-      if (PROFILE_MODEL_P (current_cpu))
-       {
-         const SEM_ARG prev_sem_arg = sc - 1;
-         const ARGBUF *prev_abuf = SEM_ARGBUF (prev_sem_arg);
-         const IDESC *prev_idesc = prev_abuf->idesc;
-         int cycles;
-
-         /* ??? May want to measure all insns if doing insn tracing.  */
-         if (ARGBUF_PROFILE_P (prev_abuf))
-           {
-             cycles = (*prev_idesc->timing->model_fn) (current_cpu, prev_sem_arg);
-             sh64_compact_model_insn_after (current_cpu, 0 /*last_p*/, cycles);
-           }
-       }
-
-      CGEN_TRACE_INSN_FINI (current_cpu, cur_abuf, 0 /*last_p*/);
-    }
-
-  /* FIXME: Later make cover macros: PROFILE_INSN_{INIT,FINI}.  */
-  if (PROFILE_MODEL_P (current_cpu)
-      && ARGBUF_PROFILE_P (cur_abuf))
-    sh64_compact_model_insn_before (current_cpu, first_p);
-
-  CGEN_TRACE_INSN_INIT (current_cpu, cur_abuf, first_p);
-  CGEN_TRACE_INSN (current_cpu, cur_idesc->idata, cur_abuf, pc);
-}
-
-/* x-after handler.
-   This is called after a serial insn or at the end of a group of parallel
-   insns.  */
-
-void
-sh64_compact_pbb_after (SIM_CPU *current_cpu, SCACHE *sc)
-{
-  SEM_ARG sem_arg = sc;
-  const ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  const SEM_ARG prev_sem_arg = sc - 1;
-  const ARGBUF *prev_abuf = SEM_ARGBUF (prev_sem_arg);
-
-  /* ??? May want to measure all insns if doing insn tracing.  */
-  if (PROFILE_MODEL_P (current_cpu)
-      && ARGBUF_PROFILE_P (prev_abuf))
-    {
-      const IDESC *prev_idesc = prev_abuf->idesc;
-      int cycles;
-
-      cycles = (*prev_idesc->timing->model_fn) (current_cpu, prev_sem_arg);
-      sh64_compact_model_insn_after (current_cpu, 1 /*last_p*/, cycles);
-    }
-  CGEN_TRACE_INSN_FINI (current_cpu, prev_abuf, 1 /*last_p*/);
-}
-
-#define FAST_P 0
-
-void
-sh64_compact_engine_run_full (SIM_CPU *current_cpu)
-{
-  SIM_DESC current_state = CPU_STATE (current_cpu);
-  SCACHE *scache = CPU_SCACHE_CACHE (current_cpu);
-  /* virtual program counter */
-  SEM_PC vpc;
-#if WITH_SEM_SWITCH_FULL
-  /* For communication between cti's and cti-chain.  */
-  SEM_BRANCH_TYPE pbb_br_type;
-  PCADDR pbb_br_npc;
-#endif
-
-
-  if (! CPU_IDESC_SEM_INIT_P (current_cpu))
-    {
-      /* ??? 'twould be nice to move this up a level and only call it once.
-        On the other hand, in the "let's go fast" case the test is only done
-        once per pbb (since we only return to the main loop at the end of
-        a pbb).  And in the "let's run until we're done" case we don't return
-        until the program exits.  */
-
-#if WITH_SEM_SWITCH_FULL
-#if defined (__GNUC__)
-/* ??? Later maybe paste sem-switch.c in when building mainloop.c.  */
-#define DEFINE_LABELS
-#include "sem-compact-switch.c"
-#endif
-#else
-      sh64_compact_sem_init_idesc_table (current_cpu);
-#endif
-
-      /* Initialize the "begin (compile) a pbb" virtual insn.  */
-      vpc = CPU_SCACHE_PBB_BEGIN (current_cpu);
-      SEM_SET_FULL_CODE (SEM_ARGBUF (vpc),
-                        & CPU_IDESC (current_cpu) [SH64_COMPACT_INSN_X_BEGIN]);
-      vpc->argbuf.idesc = & CPU_IDESC (current_cpu) [SH64_COMPACT_INSN_X_BEGIN];
-
-      CPU_IDESC_SEM_INIT_P (current_cpu) = 1;
-    }
-
-  CPU_RUNNING_P (current_cpu) = 1;
-  /* ??? In the case where we're returning to the main loop after every
-     pbb we don't want to call pbb_begin each time (which hashes on the pc
-     and does a table lookup).  A way to speed this up is to save vpc
-     between calls.  */
-  vpc = sh64_compact_pbb_begin (current_cpu, FAST_P);
-
-  do
-    {
-/* begin full-exec-pbb */
-{
-#if (! FAST_P && WITH_SEM_SWITCH_FULL) || (FAST_P && WITH_SEM_SWITCH_FAST)
-#define DEFINE_SWITCH
-#include "sem-compact-switch.c"
-#else
-  vpc = execute (current_cpu, vpc, FAST_P);
-#endif
-}
-/* end full-exec-pbb */
-    }
-  while (CPU_RUNNING_P (current_cpu));
-}
-
-#undef FAST_P
-
-
-#define FAST_P 1
-
-void
-sh64_compact_engine_run_fast (SIM_CPU *current_cpu)
-{
-  SIM_DESC current_state = CPU_STATE (current_cpu);
-  SCACHE *scache = CPU_SCACHE_CACHE (current_cpu);
-  /* virtual program counter */
-  SEM_PC vpc;
-#if WITH_SEM_SWITCH_FAST
-  /* For communication between cti's and cti-chain.  */
-  SEM_BRANCH_TYPE pbb_br_type;
-  PCADDR pbb_br_npc;
-#endif
-
-
-  if (! CPU_IDESC_SEM_INIT_P (current_cpu))
-    {
-      /* ??? 'twould be nice to move this up a level and only call it once.
-        On the other hand, in the "let's go fast" case the test is only done
-        once per pbb (since we only return to the main loop at the end of
-        a pbb).  And in the "let's run until we're done" case we don't return
-        until the program exits.  */
-
-#if WITH_SEM_SWITCH_FAST
-#if defined (__GNUC__)
-/* ??? Later maybe paste sem-switch.c in when building mainloop.c.  */
-#define DEFINE_LABELS
-#include "sem-compact-switch.c"
-#endif
-#else
-      sh64_compact_semf_init_idesc_table (current_cpu);
-#endif
-
-      /* Initialize the "begin (compile) a pbb" virtual insn.  */
-      vpc = CPU_SCACHE_PBB_BEGIN (current_cpu);
-      SEM_SET_FAST_CODE (SEM_ARGBUF (vpc),
-                        & CPU_IDESC (current_cpu) [SH64_COMPACT_INSN_X_BEGIN]);
-      vpc->argbuf.idesc = & CPU_IDESC (current_cpu) [SH64_COMPACT_INSN_X_BEGIN];
-
-      CPU_IDESC_SEM_INIT_P (current_cpu) = 1;
-    }
-
-  CPU_RUNNING_P (current_cpu) = 1;
-  /* ??? In the case where we're returning to the main loop after every
-     pbb we don't want to call pbb_begin each time (which hashes on the pc
-     and does a table lookup).  A way to speed this up is to save vpc
-     between calls.  */
-  vpc = sh64_compact_pbb_begin (current_cpu, FAST_P);
-
-  do
-    {
-/* begin fast-exec-pbb */
-{
-#if (! FAST_P && WITH_SEM_SWITCH_FULL) || (FAST_P && WITH_SEM_SWITCH_FAST)
-#define DEFINE_SWITCH
-#include "sem-compact-switch.c"
-#else
-  vpc = execute (current_cpu, vpc, FAST_P);
-#endif
-}
-/* end fast-exec-pbb */
-    }
-  while (CPU_RUNNING_P (current_cpu));
-}
-
-#undef FAST_P
-
diff --git a/sim/sh64/mloop-media.c b/sim/sh64/mloop-media.c
deleted file mode 100644 (file)
index 2146d3e..0000000
+++ /dev/null
@@ -1,624 +0,0 @@
-/* This file is generated by the genmloop script.  DO NOT EDIT! */
-
-/* Enable switch() support in cgen headers.  */
-#define SEM_IN_SWITCH
-
-#define WANT_CPU sh64
-#define WANT_CPU_SH64
-
-#include "sim-main.h"
-#include "bfd.h"
-#include "cgen-mem.h"
-#include "cgen-ops.h"
-#include "sim-assert.h"
-
-/* Fill in the administrative ARGBUF fields required by all insns,
-   virtual and real.  */
-
-static INLINE void
-sh64_media_fill_argbuf (const SIM_CPU *cpu, ARGBUF *abuf, const IDESC *idesc,
-                   PCADDR pc, int fast_p)
-{
-#if WITH_SCACHE
-  SEM_SET_CODE (abuf, idesc, fast_p);
-  ARGBUF_ADDR (abuf) = pc;
-#endif
-  ARGBUF_IDESC (abuf) = idesc;
-}
-
-/* Fill in tracing/profiling fields of an ARGBUF.  */
-
-static INLINE void
-sh64_media_fill_argbuf_tp (const SIM_CPU *cpu, ARGBUF *abuf,
-                      int trace_p, int profile_p)
-{
-  ARGBUF_TRACE_P (abuf) = trace_p;
-  ARGBUF_PROFILE_P (abuf) = profile_p;
-}
-
-#if WITH_SCACHE_PBB
-
-/* Emit the "x-before" handler.
-   x-before is emitted before each insn (serial or parallel).
-   This is as opposed to x-after which is only emitted at the end of a group
-   of parallel insns.  */
-
-static INLINE void
-sh64_media_emit_before (SIM_CPU *current_cpu, SCACHE *sc, PCADDR pc, int first_p)
-{
-  ARGBUF *abuf = &sc[0].argbuf;
-  const IDESC *id = & CPU_IDESC (current_cpu) [SH64_MEDIA_INSN_X_BEFORE];
-
-  abuf->fields.before.first_p = first_p;
-  sh64_media_fill_argbuf (current_cpu, abuf, id, pc, 0);
-  /* no need to set trace_p,profile_p */
-}
-
-/* Emit the "x-after" handler.
-   x-after is emitted after a serial insn or at the end of a group of
-   parallel insns.  */
-
-static INLINE void
-sh64_media_emit_after (SIM_CPU *current_cpu, SCACHE *sc, PCADDR pc)
-{
-  ARGBUF *abuf = &sc[0].argbuf;
-  const IDESC *id = & CPU_IDESC (current_cpu) [SH64_MEDIA_INSN_X_AFTER];
-
-  sh64_media_fill_argbuf (current_cpu, abuf, id, pc, 0);
-  /* no need to set trace_p,profile_p */
-}
-
-#endif /* WITH_SCACHE_PBB */
-
-
-static INLINE const IDESC *
-extract (SIM_CPU *current_cpu, PCADDR pc, CGEN_INSN_INT insn, ARGBUF *abuf,
-         int fast_p)
-{
-  const IDESC *id = sh64_media_decode (current_cpu, pc, insn, insn, abuf);
-
-  sh64_media_fill_argbuf (current_cpu, abuf, id, pc, fast_p);
-  if (! fast_p)
-    {
-      int trace_p = PC_IN_TRACE_RANGE_P (current_cpu, pc);
-      int profile_p = PC_IN_PROFILE_RANGE_P (current_cpu, pc);
-      sh64_media_fill_argbuf_tp (current_cpu, abuf, trace_p, profile_p);
-    }
-  return id;
-}
-
-static INLINE SEM_PC
-execute (SIM_CPU *current_cpu, SCACHE *sc, int fast_p)
-{
-  SEM_PC vpc;
-
-  if (fast_p)
-    {
-#if ! WITH_SEM_SWITCH_FAST
-#if WITH_SCACHE
-      vpc = (*sc->argbuf.semantic.sem_fast) (current_cpu, sc);
-#else
-      vpc = (*sc->argbuf.semantic.sem_fast) (current_cpu, &sc->argbuf);
-#endif
-#else
-      abort ();
-#endif /* WITH_SEM_SWITCH_FAST */
-    }
-  else
-    {
-#if ! WITH_SEM_SWITCH_FULL
-      ARGBUF *abuf = &sc->argbuf;
-      const IDESC *idesc = abuf->idesc;
-#if WITH_SCACHE_PBB
-      int virtual_p = CGEN_ATTR_VALUE (NULL, idesc->attrs, CGEN_INSN_VIRTUAL);
-#else
-      int virtual_p = 0;
-#endif
-
-      if (! virtual_p)
-       {
-         /* FIXME: call x-before */
-         if (ARGBUF_PROFILE_P (abuf))
-           PROFILE_COUNT_INSN (current_cpu, abuf->addr, idesc->num);
-         /* FIXME: Later make cover macros: PROFILE_INSN_{INIT,FINI}.  */
-         if (PROFILE_MODEL_P (current_cpu)
-             && ARGBUF_PROFILE_P (abuf))
-           sh64_media_model_insn_before (current_cpu, 1 /*first_p*/);
-         CGEN_TRACE_INSN_INIT (current_cpu, abuf, 1);
-         CGEN_TRACE_INSN (current_cpu, idesc->idata,
-                     (const struct argbuf *) abuf, abuf->addr);
-       }
-#if WITH_SCACHE
-      vpc = (*sc->argbuf.semantic.sem_full) (current_cpu, sc);
-#else
-      vpc = (*sc->argbuf.semantic.sem_full) (current_cpu, abuf);
-#endif
-      if (! virtual_p)
-       {
-         /* FIXME: call x-after */
-         if (PROFILE_MODEL_P (current_cpu)
-             && ARGBUF_PROFILE_P (abuf))
-           {
-             int cycles;
-
-             cycles = (*idesc->timing->model_fn) (current_cpu, sc);
-             sh64_media_model_insn_after (current_cpu, 1 /*last_p*/, cycles);
-           }
-         CGEN_TRACE_INSN_FINI (current_cpu, abuf, 1);
-       }
-#else
-      abort ();
-#endif /* WITH_SEM_SWITCH_FULL */
-    }
-
-  return vpc;
-}
-
-
-/* Record address of cti terminating a pbb.  */
-#define SET_CTI_VPC(sc) do { _cti_sc = (sc); } while (0)
-/* Record number of [real] insns in pbb.  */
-#define SET_INSN_COUNT(n) do { _insn_count = (n); } while (0)
-
-/* Fetch and extract a pseudo-basic-block.
-   FAST_P is non-zero if no tracing/profiling/etc. is wanted.  */
-
-INLINE SEM_PC
-sh64_media_pbb_begin (SIM_CPU *current_cpu, int FAST_P)
-{
-  SEM_PC new_vpc;
-  PCADDR pc;
-  SCACHE *sc;
-  int max_insns = CPU_SCACHE_MAX_CHAIN_LENGTH (current_cpu);
-
-  pc = GET_H_PC ();
-
-  new_vpc = scache_lookup_or_alloc (current_cpu, pc, max_insns, &sc);
-  if (! new_vpc)
-    {
-      /* Leading '_' to avoid collision with mainloop.in.  */
-      int _insn_count = 0;
-      SCACHE *orig_sc = sc;
-      SCACHE *_cti_sc = NULL;
-      int slice_insns = CPU_MAX_SLICE_INSNS (current_cpu);
-
-      /* First figure out how many instructions to compile.
-        MAX_INSNS is the size of the allocated buffer, which includes space
-        for before/after handlers if they're being used.
-        SLICE_INSNS is the maxinum number of real insns that can be
-        executed.  Zero means "as many as we want".  */
-      /* ??? max_insns is serving two incompatible roles.
-        1) Number of slots available in scache buffer.
-        2) Number of real insns to execute.
-        They're incompatible because there are virtual insns emitted too
-        (chain,cti-chain,before,after handlers).  */
-
-      if (slice_insns == 1)
-       {
-         /* No need to worry about extra slots required for virtual insns
-            and parallel exec support because MAX_CHAIN_LENGTH is
-            guaranteed to be big enough to execute at least 1 insn!  */
-         max_insns = 1;
-       }
-      else
-       {
-         /* Allow enough slop so that while compiling insns, if max_insns > 0
-            then there's guaranteed to be enough space to emit one real insn.
-            MAX_CHAIN_LENGTH is typically much longer than
-            the normal number of insns between cti's anyway.  */
-         max_insns -= (1 /* one for the trailing chain insn */
-                       + (FAST_P
-                          ? 0
-                          : (1 + MAX_PARALLEL_INSNS) /* before+after */)
-                       + (MAX_PARALLEL_INSNS > 1
-                          ? (MAX_PARALLEL_INSNS * 2)
-                          : 0));
-
-         /* Account for before/after handlers.  */
-         if (! FAST_P)
-           slice_insns *= 3;
-
-         if (slice_insns > 0
-             && slice_insns < max_insns)
-           max_insns = slice_insns;
-       }
-
-      new_vpc = sc;
-
-      /* SC,PC must be updated to point passed the last entry used.
-        SET_CTI_VPC must be called if pbb is terminated by a cti.
-        SET_INSN_COUNT must be called to record number of real insns in
-        pbb [could be computed by us of course, extra cpu but perhaps
-        negligible enough].  */
-
-/* begin extract-pbb */
-{
-  const IDESC *idesc;
-  int icount = 0;
-
- while (max_insns > 0)
-    {
-      USI insn = GETIMEMUSI (current_cpu, pc);
-      
-      idesc = extract (current_cpu, pc, insn, &sc->argbuf, FAST_P);
-      SEM_SKIP_COMPILE (current_cpu, sc, 1);
-      ++sc;
-      --max_insns;
-      ++icount;
-      pc += idesc->length;
-
-      if (IDESC_CTI_P (idesc))
-        {
-          SET_CTI_VPC (sc - 1);
-
-          if (CGEN_ATTR_VALUE (NULL, idesc->attrs, CGEN_INSN_DELAY_SLOT))
-            {
-              USI insn = GETIMEMUSI (current_cpu, pc);
-             idesc = extract (current_cpu, pc, insn, &sc->argbuf, FAST_P);
-
-              ++sc;
-             --max_insns;
-             ++icount;
-             pc += idesc->length;
-            }
-         break;
-        }
-    }
-
- Finish:
-  SET_INSN_COUNT (icount);
-}
-/* end extract-pbb */
-
-      /* The last one is a pseudo-insn to link to the next chain.
-        It is also used to record the insn count for this chain.  */
-      {
-       const IDESC *id;
-
-       /* Was pbb terminated by a cti?  */
-       if (_cti_sc)
-         {
-           id = & CPU_IDESC (current_cpu) [SH64_MEDIA_INSN_X_CTI_CHAIN];
-         }
-       else
-         {
-           id = & CPU_IDESC (current_cpu) [SH64_MEDIA_INSN_X_CHAIN];
-         }
-       SEM_SET_CODE (&sc->argbuf, id, FAST_P);
-       sc->argbuf.idesc = id;
-       sc->argbuf.addr = pc;
-       sc->argbuf.fields.chain.insn_count = _insn_count;
-       sc->argbuf.fields.chain.next = 0;
-       sc->argbuf.fields.chain.branch_target = 0;
-       ++sc;
-      }
-
-      /* Update the pointer to the next free entry, may not have used as
-        many entries as was asked for.  */
-      CPU_SCACHE_NEXT_FREE (current_cpu) = sc;
-      /* Record length of chain if profiling.
-        This includes virtual insns since they count against
-        max_insns too.  */
-      if (! FAST_P)
-       PROFILE_COUNT_SCACHE_CHAIN_LENGTH (current_cpu, sc - orig_sc);
-    }
-
-  return new_vpc;
-}
-
-/* Chain to the next block from a non-cti terminated previous block.  */
-
-INLINE SEM_PC
-sh64_media_pbb_chain (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-
-  PBB_UPDATE_INSN_COUNT (current_cpu, sem_arg);
-
-  SET_H_PC (abuf->addr | 1);
-
-  /* If not running forever, exit back to main loop.  */
-  if (CPU_MAX_SLICE_INSNS (current_cpu) != 0
-      /* Also exit back to main loop if there's an event.
-         Note that if CPU_MAX_SLICE_INSNS != 1, events won't get processed
-        at the "right" time, but then that was what was asked for.
-        There is no silver bullet for simulator engines.
-         ??? Clearly this needs a cleaner interface.
-        At present it's just so Ctrl-C works.  */
-      || STATE_EVENTS (CPU_STATE (current_cpu))->work_pending)
-    CPU_RUNNING_P (current_cpu) = 0;
-
-  /* If chained to next block, go straight to it.  */
-  if (abuf->fields.chain.next)
-    return abuf->fields.chain.next;
-  /* See if next block has already been compiled.  */
-  abuf->fields.chain.next = scache_lookup (current_cpu, abuf->addr);
-  if (abuf->fields.chain.next)
-    return abuf->fields.chain.next;
-  /* Nope, so next insn is a virtual insn to invoke the compiler
-     (begin a pbb).  */
-  return CPU_SCACHE_PBB_BEGIN (current_cpu);
-}
-
-/* Chain to the next block from a cti terminated previous block.
-   BR_TYPE indicates whether the branch was taken and whether we can cache
-   the vpc of the branch target.
-   NEW_PC is the target's branch address, and is only valid if
-   BR_TYPE != SEM_BRANCH_UNTAKEN.  */
-
-INLINE SEM_PC
-sh64_media_pbb_cti_chain (SIM_CPU *current_cpu, SEM_ARG sem_arg,
-                    SEM_BRANCH_TYPE br_type, PCADDR new_pc)
-{
-  SEM_PC *new_vpc_ptr;
-
-  PBB_UPDATE_INSN_COUNT (current_cpu, sem_arg);
-
-  /* If we have switched ISAs, exit back to main loop.
-     Set idesc to 0 to cause the engine to point to the right insn table.  */
-  if ((new_pc & 1) == 0)
-  {
-    /* Switch to SHcompact.  */
-    CPU_IDESC_SEM_INIT_P (current_cpu) = 0;
-    CPU_RUNNING_P (current_cpu) = 0;
-  }
-  
-  /* If not running forever, exit back to main loop.  */
-  if (CPU_MAX_SLICE_INSNS (current_cpu) != 0
-      /* Also exit back to main loop if there's an event.
-         Note that if CPU_MAX_SLICE_INSNS != 1, events won't get processed
-        at the "right" time, but then that was what was asked for.
-        There is no silver bullet for simulator engines.
-         ??? Clearly this needs a cleaner interface.
-        At present it's just so Ctrl-C works.  */
-      || STATE_EVENTS (CPU_STATE (current_cpu))->work_pending)
-    CPU_RUNNING_P (current_cpu) = 0;
-
-  /* Restart compiler if we branched to an uncacheable address
-     (e.g. "j reg").  */
-  if (br_type == SEM_BRANCH_UNCACHEABLE)
-    {
-      SET_H_PC (new_pc);
-      return CPU_SCACHE_PBB_BEGIN (current_cpu);
-    }
-
-  /* If branch wasn't taken, update the pc and set BR_ADDR_PTR to our
-     next chain ptr.  */
-  if (br_type == SEM_BRANCH_UNTAKEN)
-    {
-      ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-      new_pc = abuf->addr;
-      /* Set bit 0 to stay in SHmedia mode.  */
-      SET_H_PC (new_pc | 1);
-      new_vpc_ptr = &abuf->fields.chain.next;
-    }
-  else
-    {
-      ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-      SET_H_PC (new_pc);
-      new_vpc_ptr = &abuf->fields.chain.branch_target;
-    }
-
-  /* If chained to next block, go straight to it.  */
-  if (*new_vpc_ptr)
-    return *new_vpc_ptr;
-  /* See if next block has already been compiled.  */
-  *new_vpc_ptr = scache_lookup (current_cpu, new_pc);
-  if (*new_vpc_ptr)
-    return *new_vpc_ptr;
-  /* Nope, so next insn is a virtual insn to invoke the compiler
-     (begin a pbb).  */
-  return CPU_SCACHE_PBB_BEGIN (current_cpu);
-}
-
-/* x-before handler.
-   This is called before each insn.  */
-
-void
-sh64_media_pbb_before (SIM_CPU *current_cpu, SCACHE *sc)
-{
-  SEM_ARG sem_arg = sc;
-  const ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int first_p = abuf->fields.before.first_p;
-  const ARGBUF *cur_abuf = SEM_ARGBUF (sc + 1);
-  const IDESC *cur_idesc = cur_abuf->idesc;
-  PCADDR pc = cur_abuf->addr;
-
-  if (ARGBUF_PROFILE_P (cur_abuf))
-    PROFILE_COUNT_INSN (current_cpu, pc, cur_idesc->num);
-
-  /* If this isn't the first insn, finish up the previous one.  */
-
-  if (! first_p)
-    {
-      if (PROFILE_MODEL_P (current_cpu))
-       {
-         const SEM_ARG prev_sem_arg = sc - 1;
-         const ARGBUF *prev_abuf = SEM_ARGBUF (prev_sem_arg);
-         const IDESC *prev_idesc = prev_abuf->idesc;
-         int cycles;
-
-         /* ??? May want to measure all insns if doing insn tracing.  */
-         if (ARGBUF_PROFILE_P (prev_abuf))
-           {
-             cycles = (*prev_idesc->timing->model_fn) (current_cpu, prev_sem_arg);
-             sh64_media_model_insn_after (current_cpu, 0 /*last_p*/, cycles);
-           }
-       }
-
-      CGEN_TRACE_INSN_FINI (current_cpu, cur_abuf, 0 /*last_p*/);
-    }
-
-  /* FIXME: Later make cover macros: PROFILE_INSN_{INIT,FINI}.  */
-  if (PROFILE_MODEL_P (current_cpu)
-      && ARGBUF_PROFILE_P (cur_abuf))
-    sh64_media_model_insn_before (current_cpu, first_p);
-
-  CGEN_TRACE_INSN_INIT (current_cpu, cur_abuf, first_p);
-  CGEN_TRACE_INSN (current_cpu, cur_idesc->idata, cur_abuf, pc);
-}
-
-/* x-after handler.
-   This is called after a serial insn or at the end of a group of parallel
-   insns.  */
-
-void
-sh64_media_pbb_after (SIM_CPU *current_cpu, SCACHE *sc)
-{
-  SEM_ARG sem_arg = sc;
-  const ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  const SEM_ARG prev_sem_arg = sc - 1;
-  const ARGBUF *prev_abuf = SEM_ARGBUF (prev_sem_arg);
-
-  /* ??? May want to measure all insns if doing insn tracing.  */
-  if (PROFILE_MODEL_P (current_cpu)
-      && ARGBUF_PROFILE_P (prev_abuf))
-    {
-      const IDESC *prev_idesc = prev_abuf->idesc;
-      int cycles;
-
-      cycles = (*prev_idesc->timing->model_fn) (current_cpu, prev_sem_arg);
-      sh64_media_model_insn_after (current_cpu, 1 /*last_p*/, cycles);
-    }
-  CGEN_TRACE_INSN_FINI (current_cpu, prev_abuf, 1 /*last_p*/);
-}
-
-#define FAST_P 0
-
-void
-sh64_media_engine_run_full (SIM_CPU *current_cpu)
-{
-  SIM_DESC current_state = CPU_STATE (current_cpu);
-  SCACHE *scache = CPU_SCACHE_CACHE (current_cpu);
-  /* virtual program counter */
-  SEM_PC vpc;
-#if WITH_SEM_SWITCH_FULL
-  /* For communication between cti's and cti-chain.  */
-  SEM_BRANCH_TYPE pbb_br_type;
-  PCADDR pbb_br_npc;
-#endif
-
-
-  if (! CPU_IDESC_SEM_INIT_P (current_cpu))
-    {
-      /* ??? 'twould be nice to move this up a level and only call it once.
-        On the other hand, in the "let's go fast" case the test is only done
-        once per pbb (since we only return to the main loop at the end of
-        a pbb).  And in the "let's run until we're done" case we don't return
-        until the program exits.  */
-
-#if WITH_SEM_SWITCH_FULL
-#if defined (__GNUC__)
-/* ??? Later maybe paste sem-switch.c in when building mainloop.c.  */
-#define DEFINE_LABELS
-#include "sem-media-switch.c"
-#endif
-#else
-      sh64_media_sem_init_idesc_table (current_cpu);
-#endif
-
-      /* Initialize the "begin (compile) a pbb" virtual insn.  */
-      vpc = CPU_SCACHE_PBB_BEGIN (current_cpu);
-      SEM_SET_FULL_CODE (SEM_ARGBUF (vpc),
-                        & CPU_IDESC (current_cpu) [SH64_MEDIA_INSN_X_BEGIN]);
-      vpc->argbuf.idesc = & CPU_IDESC (current_cpu) [SH64_MEDIA_INSN_X_BEGIN];
-
-      CPU_IDESC_SEM_INIT_P (current_cpu) = 1;
-    }
-
-  CPU_RUNNING_P (current_cpu) = 1;
-  /* ??? In the case where we're returning to the main loop after every
-     pbb we don't want to call pbb_begin each time (which hashes on the pc
-     and does a table lookup).  A way to speed this up is to save vpc
-     between calls.  */
-  vpc = sh64_media_pbb_begin (current_cpu, FAST_P);
-
-  do
-    {
-/* begin full-exec-pbb */
-{
-#if (! FAST_P && WITH_SEM_SWITCH_FULL) || (FAST_P && WITH_SEM_SWITCH_FAST)
-#define DEFINE_SWITCH
-#define WITH_ISA_COMPACT
-#include "sem-media-switch.c"
-#else
-  vpc = execute (current_cpu, vpc, FAST_P);
-#endif
-}
-/* end full-exec-pbb */
-    }
-  while (CPU_RUNNING_P (current_cpu));
-}
-
-#undef FAST_P
-
-
-#define FAST_P 1
-
-void
-sh64_media_engine_run_fast (SIM_CPU *current_cpu)
-{
-  SIM_DESC current_state = CPU_STATE (current_cpu);
-  SCACHE *scache = CPU_SCACHE_CACHE (current_cpu);
-  /* virtual program counter */
-  SEM_PC vpc;
-#if WITH_SEM_SWITCH_FAST
-  /* For communication between cti's and cti-chain.  */
-  SEM_BRANCH_TYPE pbb_br_type;
-  PCADDR pbb_br_npc;
-#endif
-
-
-  if (! CPU_IDESC_SEM_INIT_P (current_cpu))
-    {
-      /* ??? 'twould be nice to move this up a level and only call it once.
-        On the other hand, in the "let's go fast" case the test is only done
-        once per pbb (since we only return to the main loop at the end of
-        a pbb).  And in the "let's run until we're done" case we don't return
-        until the program exits.  */
-
-#if WITH_SEM_SWITCH_FAST
-#if defined (__GNUC__)
-/* ??? Later maybe paste sem-switch.c in when building mainloop.c.  */
-#define DEFINE_LABELS
-#include "sem-media-switch.c"
-#endif
-#else
-      sh64_media_semf_init_idesc_table (current_cpu);
-#endif
-
-      /* Initialize the "begin (compile) a pbb" virtual insn.  */
-      vpc = CPU_SCACHE_PBB_BEGIN (current_cpu);
-      SEM_SET_FAST_CODE (SEM_ARGBUF (vpc),
-                        & CPU_IDESC (current_cpu) [SH64_MEDIA_INSN_X_BEGIN]);
-      vpc->argbuf.idesc = & CPU_IDESC (current_cpu) [SH64_MEDIA_INSN_X_BEGIN];
-
-      CPU_IDESC_SEM_INIT_P (current_cpu) = 1;
-    }
-
-  CPU_RUNNING_P (current_cpu) = 1;
-  /* ??? In the case where we're returning to the main loop after every
-     pbb we don't want to call pbb_begin each time (which hashes on the pc
-     and does a table lookup).  A way to speed this up is to save vpc
-     between calls.  */
-  vpc = sh64_media_pbb_begin (current_cpu, FAST_P);
-
-  do
-    {
-/* begin fast-exec-pbb */
-{
-#if (! FAST_P && WITH_SEM_SWITCH_FULL) || (FAST_P && WITH_SEM_SWITCH_FAST)
-#define DEFINE_SWITCH
-#define WITH_ISA_COMPACT
-#include "sem-media-switch.c"
-#else
-  vpc = execute (current_cpu, vpc, FAST_P);
-#endif
-}
-/* end fast-exec-pbb */
-    }
-  while (CPU_RUNNING_P (current_cpu));
-}
-
-#undef FAST_P
-
diff --git a/sim/sh64/sem-compact-switch.c b/sim/sh64/sem-compact-switch.c
deleted file mode 100644 (file)
index a2c3247..0000000
+++ /dev/null
@@ -1,5210 +0,0 @@
-/* Simulator instruction semantics for sh64.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996-2021 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   It is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License along
-   with this program; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#ifdef DEFINE_LABELS
-
-  /* The labels have the case they have because the enum of insn types
-     is all uppercase and in the non-stdc case the insn symbol is built
-     into the enum name.  */
-
-  static struct {
-    int index;
-    void *label;
-  } labels[] = {
-    { SH64_COMPACT_INSN_X_INVALID, && case_sem_INSN_X_INVALID },
-    { SH64_COMPACT_INSN_X_AFTER, && case_sem_INSN_X_AFTER },
-    { SH64_COMPACT_INSN_X_BEFORE, && case_sem_INSN_X_BEFORE },
-    { SH64_COMPACT_INSN_X_CTI_CHAIN, && case_sem_INSN_X_CTI_CHAIN },
-    { SH64_COMPACT_INSN_X_CHAIN, && case_sem_INSN_X_CHAIN },
-    { SH64_COMPACT_INSN_X_BEGIN, && case_sem_INSN_X_BEGIN },
-    { SH64_COMPACT_INSN_ADD_COMPACT, && case_sem_INSN_ADD_COMPACT },
-    { SH64_COMPACT_INSN_ADDI_COMPACT, && case_sem_INSN_ADDI_COMPACT },
-    { SH64_COMPACT_INSN_ADDC_COMPACT, && case_sem_INSN_ADDC_COMPACT },
-    { SH64_COMPACT_INSN_ADDV_COMPACT, && case_sem_INSN_ADDV_COMPACT },
-    { SH64_COMPACT_INSN_AND_COMPACT, && case_sem_INSN_AND_COMPACT },
-    { SH64_COMPACT_INSN_ANDI_COMPACT, && case_sem_INSN_ANDI_COMPACT },
-    { SH64_COMPACT_INSN_ANDB_COMPACT, && case_sem_INSN_ANDB_COMPACT },
-    { SH64_COMPACT_INSN_BF_COMPACT, && case_sem_INSN_BF_COMPACT },
-    { SH64_COMPACT_INSN_BFS_COMPACT, && case_sem_INSN_BFS_COMPACT },
-    { SH64_COMPACT_INSN_BRA_COMPACT, && case_sem_INSN_BRA_COMPACT },
-    { SH64_COMPACT_INSN_BRAF_COMPACT, && case_sem_INSN_BRAF_COMPACT },
-    { SH64_COMPACT_INSN_BRK_COMPACT, && case_sem_INSN_BRK_COMPACT },
-    { SH64_COMPACT_INSN_BSR_COMPACT, && case_sem_INSN_BSR_COMPACT },
-    { SH64_COMPACT_INSN_BSRF_COMPACT, && case_sem_INSN_BSRF_COMPACT },
-    { SH64_COMPACT_INSN_BT_COMPACT, && case_sem_INSN_BT_COMPACT },
-    { SH64_COMPACT_INSN_BTS_COMPACT, && case_sem_INSN_BTS_COMPACT },
-    { SH64_COMPACT_INSN_CLRMAC_COMPACT, && case_sem_INSN_CLRMAC_COMPACT },
-    { SH64_COMPACT_INSN_CLRS_COMPACT, && case_sem_INSN_CLRS_COMPACT },
-    { SH64_COMPACT_INSN_CLRT_COMPACT, && case_sem_INSN_CLRT_COMPACT },
-    { SH64_COMPACT_INSN_CMPEQ_COMPACT, && case_sem_INSN_CMPEQ_COMPACT },
-    { SH64_COMPACT_INSN_CMPEQI_COMPACT, && case_sem_INSN_CMPEQI_COMPACT },
-    { SH64_COMPACT_INSN_CMPGE_COMPACT, && case_sem_INSN_CMPGE_COMPACT },
-    { SH64_COMPACT_INSN_CMPGT_COMPACT, && case_sem_INSN_CMPGT_COMPACT },
-    { SH64_COMPACT_INSN_CMPHI_COMPACT, && case_sem_INSN_CMPHI_COMPACT },
-    { SH64_COMPACT_INSN_CMPHS_COMPACT, && case_sem_INSN_CMPHS_COMPACT },
-    { SH64_COMPACT_INSN_CMPPL_COMPACT, && case_sem_INSN_CMPPL_COMPACT },
-    { SH64_COMPACT_INSN_CMPPZ_COMPACT, && case_sem_INSN_CMPPZ_COMPACT },
-    { SH64_COMPACT_INSN_CMPSTR_COMPACT, && case_sem_INSN_CMPSTR_COMPACT },
-    { SH64_COMPACT_INSN_DIV0S_COMPACT, && case_sem_INSN_DIV0S_COMPACT },
-    { SH64_COMPACT_INSN_DIV0U_COMPACT, && case_sem_INSN_DIV0U_COMPACT },
-    { SH64_COMPACT_INSN_DIV1_COMPACT, && case_sem_INSN_DIV1_COMPACT },
-    { SH64_COMPACT_INSN_DIVU_COMPACT, && case_sem_INSN_DIVU_COMPACT },
-    { SH64_COMPACT_INSN_MULR_COMPACT, && case_sem_INSN_MULR_COMPACT },
-    { SH64_COMPACT_INSN_DMULSL_COMPACT, && case_sem_INSN_DMULSL_COMPACT },
-    { SH64_COMPACT_INSN_DMULUL_COMPACT, && case_sem_INSN_DMULUL_COMPACT },
-    { SH64_COMPACT_INSN_DT_COMPACT, && case_sem_INSN_DT_COMPACT },
-    { SH64_COMPACT_INSN_EXTSB_COMPACT, && case_sem_INSN_EXTSB_COMPACT },
-    { SH64_COMPACT_INSN_EXTSW_COMPACT, && case_sem_INSN_EXTSW_COMPACT },
-    { SH64_COMPACT_INSN_EXTUB_COMPACT, && case_sem_INSN_EXTUB_COMPACT },
-    { SH64_COMPACT_INSN_EXTUW_COMPACT, && case_sem_INSN_EXTUW_COMPACT },
-    { SH64_COMPACT_INSN_FABS_COMPACT, && case_sem_INSN_FABS_COMPACT },
-    { SH64_COMPACT_INSN_FADD_COMPACT, && case_sem_INSN_FADD_COMPACT },
-    { SH64_COMPACT_INSN_FCMPEQ_COMPACT, && case_sem_INSN_FCMPEQ_COMPACT },
-    { SH64_COMPACT_INSN_FCMPGT_COMPACT, && case_sem_INSN_FCMPGT_COMPACT },
-    { SH64_COMPACT_INSN_FCNVDS_COMPACT, && case_sem_INSN_FCNVDS_COMPACT },
-    { SH64_COMPACT_INSN_FCNVSD_COMPACT, && case_sem_INSN_FCNVSD_COMPACT },
-    { SH64_COMPACT_INSN_FDIV_COMPACT, && case_sem_INSN_FDIV_COMPACT },
-    { SH64_COMPACT_INSN_FIPR_COMPACT, && case_sem_INSN_FIPR_COMPACT },
-    { SH64_COMPACT_INSN_FLDS_COMPACT, && case_sem_INSN_FLDS_COMPACT },
-    { SH64_COMPACT_INSN_FLDI0_COMPACT, && case_sem_INSN_FLDI0_COMPACT },
-    { SH64_COMPACT_INSN_FLDI1_COMPACT, && case_sem_INSN_FLDI1_COMPACT },
-    { SH64_COMPACT_INSN_FLOAT_COMPACT, && case_sem_INSN_FLOAT_COMPACT },
-    { SH64_COMPACT_INSN_FMAC_COMPACT, && case_sem_INSN_FMAC_COMPACT },
-    { SH64_COMPACT_INSN_FMOV1_COMPACT, && case_sem_INSN_FMOV1_COMPACT },
-    { SH64_COMPACT_INSN_FMOV2_COMPACT, && case_sem_INSN_FMOV2_COMPACT },
-    { SH64_COMPACT_INSN_FMOV3_COMPACT, && case_sem_INSN_FMOV3_COMPACT },
-    { SH64_COMPACT_INSN_FMOV4_COMPACT, && case_sem_INSN_FMOV4_COMPACT },
-    { SH64_COMPACT_INSN_FMOV5_COMPACT, && case_sem_INSN_FMOV5_COMPACT },
-    { SH64_COMPACT_INSN_FMOV6_COMPACT, && case_sem_INSN_FMOV6_COMPACT },
-    { SH64_COMPACT_INSN_FMOV7_COMPACT, && case_sem_INSN_FMOV7_COMPACT },
-    { SH64_COMPACT_INSN_FMOV8_COMPACT, && case_sem_INSN_FMOV8_COMPACT },
-    { SH64_COMPACT_INSN_FMOV9_COMPACT, && case_sem_INSN_FMOV9_COMPACT },
-    { SH64_COMPACT_INSN_FMUL_COMPACT, && case_sem_INSN_FMUL_COMPACT },
-    { SH64_COMPACT_INSN_FNEG_COMPACT, && case_sem_INSN_FNEG_COMPACT },
-    { SH64_COMPACT_INSN_FRCHG_COMPACT, && case_sem_INSN_FRCHG_COMPACT },
-    { SH64_COMPACT_INSN_FSCHG_COMPACT, && case_sem_INSN_FSCHG_COMPACT },
-    { SH64_COMPACT_INSN_FSQRT_COMPACT, && case_sem_INSN_FSQRT_COMPACT },
-    { SH64_COMPACT_INSN_FSTS_COMPACT, && case_sem_INSN_FSTS_COMPACT },
-    { SH64_COMPACT_INSN_FSUB_COMPACT, && case_sem_INSN_FSUB_COMPACT },
-    { SH64_COMPACT_INSN_FTRC_COMPACT, && case_sem_INSN_FTRC_COMPACT },
-    { SH64_COMPACT_INSN_FTRV_COMPACT, && case_sem_INSN_FTRV_COMPACT },
-    { SH64_COMPACT_INSN_JMP_COMPACT, && case_sem_INSN_JMP_COMPACT },
-    { SH64_COMPACT_INSN_JSR_COMPACT, && case_sem_INSN_JSR_COMPACT },
-    { SH64_COMPACT_INSN_LDC_GBR_COMPACT, && case_sem_INSN_LDC_GBR_COMPACT },
-    { SH64_COMPACT_INSN_LDC_VBR_COMPACT, && case_sem_INSN_LDC_VBR_COMPACT },
-    { SH64_COMPACT_INSN_LDC_SR_COMPACT, && case_sem_INSN_LDC_SR_COMPACT },
-    { SH64_COMPACT_INSN_LDCL_GBR_COMPACT, && case_sem_INSN_LDCL_GBR_COMPACT },
-    { SH64_COMPACT_INSN_LDCL_VBR_COMPACT, && case_sem_INSN_LDCL_VBR_COMPACT },
-    { SH64_COMPACT_INSN_LDS_FPSCR_COMPACT, && case_sem_INSN_LDS_FPSCR_COMPACT },
-    { SH64_COMPACT_INSN_LDSL_FPSCR_COMPACT, && case_sem_INSN_LDSL_FPSCR_COMPACT },
-    { SH64_COMPACT_INSN_LDS_FPUL_COMPACT, && case_sem_INSN_LDS_FPUL_COMPACT },
-    { SH64_COMPACT_INSN_LDSL_FPUL_COMPACT, && case_sem_INSN_LDSL_FPUL_COMPACT },
-    { SH64_COMPACT_INSN_LDS_MACH_COMPACT, && case_sem_INSN_LDS_MACH_COMPACT },
-    { SH64_COMPACT_INSN_LDSL_MACH_COMPACT, && case_sem_INSN_LDSL_MACH_COMPACT },
-    { SH64_COMPACT_INSN_LDS_MACL_COMPACT, && case_sem_INSN_LDS_MACL_COMPACT },
-    { SH64_COMPACT_INSN_LDSL_MACL_COMPACT, && case_sem_INSN_LDSL_MACL_COMPACT },
-    { SH64_COMPACT_INSN_LDS_PR_COMPACT, && case_sem_INSN_LDS_PR_COMPACT },
-    { SH64_COMPACT_INSN_LDSL_PR_COMPACT, && case_sem_INSN_LDSL_PR_COMPACT },
-    { SH64_COMPACT_INSN_MACL_COMPACT, && case_sem_INSN_MACL_COMPACT },
-    { SH64_COMPACT_INSN_MACW_COMPACT, && case_sem_INSN_MACW_COMPACT },
-    { SH64_COMPACT_INSN_MOV_COMPACT, && case_sem_INSN_MOV_COMPACT },
-    { SH64_COMPACT_INSN_MOVI_COMPACT, && case_sem_INSN_MOVI_COMPACT },
-    { SH64_COMPACT_INSN_MOVI20_COMPACT, && case_sem_INSN_MOVI20_COMPACT },
-    { SH64_COMPACT_INSN_MOVB1_COMPACT, && case_sem_INSN_MOVB1_COMPACT },
-    { SH64_COMPACT_INSN_MOVB2_COMPACT, && case_sem_INSN_MOVB2_COMPACT },
-    { SH64_COMPACT_INSN_MOVB3_COMPACT, && case_sem_INSN_MOVB3_COMPACT },
-    { SH64_COMPACT_INSN_MOVB4_COMPACT, && case_sem_INSN_MOVB4_COMPACT },
-    { SH64_COMPACT_INSN_MOVB5_COMPACT, && case_sem_INSN_MOVB5_COMPACT },
-    { SH64_COMPACT_INSN_MOVB6_COMPACT, && case_sem_INSN_MOVB6_COMPACT },
-    { SH64_COMPACT_INSN_MOVB7_COMPACT, && case_sem_INSN_MOVB7_COMPACT },
-    { SH64_COMPACT_INSN_MOVB8_COMPACT, && case_sem_INSN_MOVB8_COMPACT },
-    { SH64_COMPACT_INSN_MOVB9_COMPACT, && case_sem_INSN_MOVB9_COMPACT },
-    { SH64_COMPACT_INSN_MOVB10_COMPACT, && case_sem_INSN_MOVB10_COMPACT },
-    { SH64_COMPACT_INSN_MOVL1_COMPACT, && case_sem_INSN_MOVL1_COMPACT },
-    { SH64_COMPACT_INSN_MOVL2_COMPACT, && case_sem_INSN_MOVL2_COMPACT },
-    { SH64_COMPACT_INSN_MOVL3_COMPACT, && case_sem_INSN_MOVL3_COMPACT },
-    { SH64_COMPACT_INSN_MOVL4_COMPACT, && case_sem_INSN_MOVL4_COMPACT },
-    { SH64_COMPACT_INSN_MOVL5_COMPACT, && case_sem_INSN_MOVL5_COMPACT },
-    { SH64_COMPACT_INSN_MOVL6_COMPACT, && case_sem_INSN_MOVL6_COMPACT },
-    { SH64_COMPACT_INSN_MOVL7_COMPACT, && case_sem_INSN_MOVL7_COMPACT },
-    { SH64_COMPACT_INSN_MOVL8_COMPACT, && case_sem_INSN_MOVL8_COMPACT },
-    { SH64_COMPACT_INSN_MOVL9_COMPACT, && case_sem_INSN_MOVL9_COMPACT },
-    { SH64_COMPACT_INSN_MOVL10_COMPACT, && case_sem_INSN_MOVL10_COMPACT },
-    { SH64_COMPACT_INSN_MOVL11_COMPACT, && case_sem_INSN_MOVL11_COMPACT },
-    { SH64_COMPACT_INSN_MOVL12_COMPACT, && case_sem_INSN_MOVL12_COMPACT },
-    { SH64_COMPACT_INSN_MOVL13_COMPACT, && case_sem_INSN_MOVL13_COMPACT },
-    { SH64_COMPACT_INSN_MOVW1_COMPACT, && case_sem_INSN_MOVW1_COMPACT },
-    { SH64_COMPACT_INSN_MOVW2_COMPACT, && case_sem_INSN_MOVW2_COMPACT },
-    { SH64_COMPACT_INSN_MOVW3_COMPACT, && case_sem_INSN_MOVW3_COMPACT },
-    { SH64_COMPACT_INSN_MOVW4_COMPACT, && case_sem_INSN_MOVW4_COMPACT },
-    { SH64_COMPACT_INSN_MOVW5_COMPACT, && case_sem_INSN_MOVW5_COMPACT },
-    { SH64_COMPACT_INSN_MOVW6_COMPACT, && case_sem_INSN_MOVW6_COMPACT },
-    { SH64_COMPACT_INSN_MOVW7_COMPACT, && case_sem_INSN_MOVW7_COMPACT },
-    { SH64_COMPACT_INSN_MOVW8_COMPACT, && case_sem_INSN_MOVW8_COMPACT },
-    { SH64_COMPACT_INSN_MOVW9_COMPACT, && case_sem_INSN_MOVW9_COMPACT },
-    { SH64_COMPACT_INSN_MOVW10_COMPACT, && case_sem_INSN_MOVW10_COMPACT },
-    { SH64_COMPACT_INSN_MOVW11_COMPACT, && case_sem_INSN_MOVW11_COMPACT },
-    { SH64_COMPACT_INSN_MOVA_COMPACT, && case_sem_INSN_MOVA_COMPACT },
-    { SH64_COMPACT_INSN_MOVCAL_COMPACT, && case_sem_INSN_MOVCAL_COMPACT },
-    { SH64_COMPACT_INSN_MOVCOL_COMPACT, && case_sem_INSN_MOVCOL_COMPACT },
-    { SH64_COMPACT_INSN_MOVT_COMPACT, && case_sem_INSN_MOVT_COMPACT },
-    { SH64_COMPACT_INSN_MOVUAL_COMPACT, && case_sem_INSN_MOVUAL_COMPACT },
-    { SH64_COMPACT_INSN_MOVUAL2_COMPACT, && case_sem_INSN_MOVUAL2_COMPACT },
-    { SH64_COMPACT_INSN_MULL_COMPACT, && case_sem_INSN_MULL_COMPACT },
-    { SH64_COMPACT_INSN_MULSW_COMPACT, && case_sem_INSN_MULSW_COMPACT },
-    { SH64_COMPACT_INSN_MULUW_COMPACT, && case_sem_INSN_MULUW_COMPACT },
-    { SH64_COMPACT_INSN_NEG_COMPACT, && case_sem_INSN_NEG_COMPACT },
-    { SH64_COMPACT_INSN_NEGC_COMPACT, && case_sem_INSN_NEGC_COMPACT },
-    { SH64_COMPACT_INSN_NOP_COMPACT, && case_sem_INSN_NOP_COMPACT },
-    { SH64_COMPACT_INSN_NOT_COMPACT, && case_sem_INSN_NOT_COMPACT },
-    { SH64_COMPACT_INSN_OCBI_COMPACT, && case_sem_INSN_OCBI_COMPACT },
-    { SH64_COMPACT_INSN_OCBP_COMPACT, && case_sem_INSN_OCBP_COMPACT },
-    { SH64_COMPACT_INSN_OCBWB_COMPACT, && case_sem_INSN_OCBWB_COMPACT },
-    { SH64_COMPACT_INSN_OR_COMPACT, && case_sem_INSN_OR_COMPACT },
-    { SH64_COMPACT_INSN_ORI_COMPACT, && case_sem_INSN_ORI_COMPACT },
-    { SH64_COMPACT_INSN_ORB_COMPACT, && case_sem_INSN_ORB_COMPACT },
-    { SH64_COMPACT_INSN_PREF_COMPACT, && case_sem_INSN_PREF_COMPACT },
-    { SH64_COMPACT_INSN_ROTCL_COMPACT, && case_sem_INSN_ROTCL_COMPACT },
-    { SH64_COMPACT_INSN_ROTCR_COMPACT, && case_sem_INSN_ROTCR_COMPACT },
-    { SH64_COMPACT_INSN_ROTL_COMPACT, && case_sem_INSN_ROTL_COMPACT },
-    { SH64_COMPACT_INSN_ROTR_COMPACT, && case_sem_INSN_ROTR_COMPACT },
-    { SH64_COMPACT_INSN_RTS_COMPACT, && case_sem_INSN_RTS_COMPACT },
-    { SH64_COMPACT_INSN_SETS_COMPACT, && case_sem_INSN_SETS_COMPACT },
-    { SH64_COMPACT_INSN_SETT_COMPACT, && case_sem_INSN_SETT_COMPACT },
-    { SH64_COMPACT_INSN_SHAD_COMPACT, && case_sem_INSN_SHAD_COMPACT },
-    { SH64_COMPACT_INSN_SHAL_COMPACT, && case_sem_INSN_SHAL_COMPACT },
-    { SH64_COMPACT_INSN_SHAR_COMPACT, && case_sem_INSN_SHAR_COMPACT },
-    { SH64_COMPACT_INSN_SHLD_COMPACT, && case_sem_INSN_SHLD_COMPACT },
-    { SH64_COMPACT_INSN_SHLL_COMPACT, && case_sem_INSN_SHLL_COMPACT },
-    { SH64_COMPACT_INSN_SHLL2_COMPACT, && case_sem_INSN_SHLL2_COMPACT },
-    { SH64_COMPACT_INSN_SHLL8_COMPACT, && case_sem_INSN_SHLL8_COMPACT },
-    { SH64_COMPACT_INSN_SHLL16_COMPACT, && case_sem_INSN_SHLL16_COMPACT },
-    { SH64_COMPACT_INSN_SHLR_COMPACT, && case_sem_INSN_SHLR_COMPACT },
-    { SH64_COMPACT_INSN_SHLR2_COMPACT, && case_sem_INSN_SHLR2_COMPACT },
-    { SH64_COMPACT_INSN_SHLR8_COMPACT, && case_sem_INSN_SHLR8_COMPACT },
-    { SH64_COMPACT_INSN_SHLR16_COMPACT, && case_sem_INSN_SHLR16_COMPACT },
-    { SH64_COMPACT_INSN_STC_GBR_COMPACT, && case_sem_INSN_STC_GBR_COMPACT },
-    { SH64_COMPACT_INSN_STC_VBR_COMPACT, && case_sem_INSN_STC_VBR_COMPACT },
-    { SH64_COMPACT_INSN_STCL_GBR_COMPACT, && case_sem_INSN_STCL_GBR_COMPACT },
-    { SH64_COMPACT_INSN_STCL_VBR_COMPACT, && case_sem_INSN_STCL_VBR_COMPACT },
-    { SH64_COMPACT_INSN_STS_FPSCR_COMPACT, && case_sem_INSN_STS_FPSCR_COMPACT },
-    { SH64_COMPACT_INSN_STSL_FPSCR_COMPACT, && case_sem_INSN_STSL_FPSCR_COMPACT },
-    { SH64_COMPACT_INSN_STS_FPUL_COMPACT, && case_sem_INSN_STS_FPUL_COMPACT },
-    { SH64_COMPACT_INSN_STSL_FPUL_COMPACT, && case_sem_INSN_STSL_FPUL_COMPACT },
-    { SH64_COMPACT_INSN_STS_MACH_COMPACT, && case_sem_INSN_STS_MACH_COMPACT },
-    { SH64_COMPACT_INSN_STSL_MACH_COMPACT, && case_sem_INSN_STSL_MACH_COMPACT },
-    { SH64_COMPACT_INSN_STS_MACL_COMPACT, && case_sem_INSN_STS_MACL_COMPACT },
-    { SH64_COMPACT_INSN_STSL_MACL_COMPACT, && case_sem_INSN_STSL_MACL_COMPACT },
-    { SH64_COMPACT_INSN_STS_PR_COMPACT, && case_sem_INSN_STS_PR_COMPACT },
-    { SH64_COMPACT_INSN_STSL_PR_COMPACT, && case_sem_INSN_STSL_PR_COMPACT },
-    { SH64_COMPACT_INSN_SUB_COMPACT, && case_sem_INSN_SUB_COMPACT },
-    { SH64_COMPACT_INSN_SUBC_COMPACT, && case_sem_INSN_SUBC_COMPACT },
-    { SH64_COMPACT_INSN_SUBV_COMPACT, && case_sem_INSN_SUBV_COMPACT },
-    { SH64_COMPACT_INSN_SWAPB_COMPACT, && case_sem_INSN_SWAPB_COMPACT },
-    { SH64_COMPACT_INSN_SWAPW_COMPACT, && case_sem_INSN_SWAPW_COMPACT },
-    { SH64_COMPACT_INSN_TASB_COMPACT, && case_sem_INSN_TASB_COMPACT },
-    { SH64_COMPACT_INSN_TRAPA_COMPACT, && case_sem_INSN_TRAPA_COMPACT },
-    { SH64_COMPACT_INSN_TST_COMPACT, && case_sem_INSN_TST_COMPACT },
-    { SH64_COMPACT_INSN_TSTI_COMPACT, && case_sem_INSN_TSTI_COMPACT },
-    { SH64_COMPACT_INSN_TSTB_COMPACT, && case_sem_INSN_TSTB_COMPACT },
-    { SH64_COMPACT_INSN_XOR_COMPACT, && case_sem_INSN_XOR_COMPACT },
-    { SH64_COMPACT_INSN_XORI_COMPACT, && case_sem_INSN_XORI_COMPACT },
-    { SH64_COMPACT_INSN_XORB_COMPACT, && case_sem_INSN_XORB_COMPACT },
-    { SH64_COMPACT_INSN_XTRCT_COMPACT, && case_sem_INSN_XTRCT_COMPACT },
-    { 0, 0 }
-  };
-  int i;
-
-  for (i = 0; labels[i].label != 0; ++i)
-    {
-#if FAST_P
-      CPU_IDESC (current_cpu) [labels[i].index].sem_fast_lab = labels[i].label;
-#else
-      CPU_IDESC (current_cpu) [labels[i].index].sem_full_lab = labels[i].label;
-#endif
-    }
-
-#undef DEFINE_LABELS
-#endif /* DEFINE_LABELS */
-
-#ifdef DEFINE_SWITCH
-
-/* 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 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 CGEN_TRACE_RESULT
-#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
-#endif
-
-#undef GET_ATTR
-#define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_##attr)
-
-{
-
-#if WITH_SCACHE_PBB
-
-/* Branch to next handler without going around main loop.  */
-#define NEXT(vpc) goto * SEM_ARGBUF (vpc) -> semantic.sem_case
-SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
-
-#else /* ! WITH_SCACHE_PBB */
-
-#define NEXT(vpc) BREAK (sem)
-#ifdef __GNUC__
-#if FAST_P
-  SWITCH (sem, SEM_ARGBUF (sc) -> idesc->sem_fast_lab)
-#else
-  SWITCH (sem, SEM_ARGBUF (sc) -> idesc->sem_full_lab)
-#endif
-#else
-  SWITCH (sem, SEM_ARGBUF (sc) -> idesc->num)
-#endif
-
-#endif /* ! WITH_SCACHE_PBB */
-
-    {
-
-  CASE (sem, INSN_X_INVALID) : /* --invalid-- */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-    /* Update the recorded pc in the cpu state struct.
-       Only necessary for WITH_SCACHE case, but to avoid the
-       conditional compilation ....  */
-    SET_H_PC (pc);
-    /* Virtual insns have zero size.  Overwrite vpc with address of next insn
-       using the default-insn-bitsize spec.  When executing insns in parallel
-       we may want to queue the fault and continue execution.  */
-    vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-    vpc = sim_engine_invalid_insn (current_cpu, pc, vpc);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_X_AFTER) : /* --after-- */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_COMPACT
-    sh64_compact_pbb_after (current_cpu, sem_arg);
-#endif
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_X_BEFORE) : /* --before-- */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_COMPACT
-    sh64_compact_pbb_before (current_cpu, sem_arg);
-#endif
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_X_CTI_CHAIN) : /* --cti-chain-- */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_COMPACT
-#ifdef DEFINE_SWITCH
-    vpc = sh64_compact_pbb_cti_chain (current_cpu, sem_arg,
-                              pbb_br_type, pbb_br_npc);
-    BREAK (sem);
-#else
-    /* FIXME: Allow provision of explicit ifmt spec in insn spec.  */
-    vpc = sh64_compact_pbb_cti_chain (current_cpu, sem_arg,
-                              CPU_PBB_BR_TYPE (current_cpu),
-                              CPU_PBB_BR_NPC (current_cpu));
-#endif
-#endif
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_X_CHAIN) : /* --chain-- */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_COMPACT
-    vpc = sh64_compact_pbb_chain (current_cpu, sem_arg);
-#ifdef DEFINE_SWITCH
-    BREAK (sem);
-#endif
-#endif
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_X_BEGIN) : /* --begin-- */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_COMPACT
-#if defined DEFINE_SWITCH || defined FAST_P
-    /* In the switch case FAST_P is a constant, allowing several optimizations
-       in any called inline functions.  */
-    vpc = sh64_compact_pbb_begin (current_cpu, FAST_P);
-#else
-#if 0 /* cgen engine can't handle dynamic fast/full switching yet.  */
-    vpc = sh64_compact_pbb_begin (current_cpu, STATE_RUN_FAST_P (CPU_STATE (current_cpu)));
-#else
-    vpc = sh64_compact_pbb_begin (current_cpu, 0);
-#endif
-#endif
-#endif
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ADD_COMPACT) : /* add $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ADDI_COMPACT) : /* add #$imm8, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), EXTQISI (ANDQI (FLD (f_imm8), 255)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ADDC_COMPACT) : /* addc $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_flag;
-  tmp_flag = ADDCFSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)), GET_H_TBIT ());
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = tmp_flag;
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ADDV_COMPACT) : /* addv $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_t;
-  tmp_t = ADDOFSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)), 0);
-  {
-    SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = tmp_t;
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_AND_COMPACT) : /* and $rm64, $rn64 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    DI opval = ANDDI (GET_H_GR (FLD (f_rm)), GET_H_GR (FLD (f_rn)));
-    SET_H_GR (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ANDI_COMPACT) : /* and #$uimm8, r0 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ANDSI (GET_H_GRC (((UINT) 0)), ZEXTSIDI (FLD (f_imm8)));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ANDB_COMPACT) : /* and.b #$imm8, @(r0, gbr) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  UQI tmp_data;
-  tmp_addr = ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GBR ());
-  tmp_data = ANDQI (GETMEMUQI (current_cpu, pc, tmp_addr), FLD (f_imm8));
-  {
-    UQI opval = tmp_data;
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BF_COMPACT) : /* bf $disp8 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_bf_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (NOTBI (GET_H_TBIT ())) {
-  {
-    UDI opval = FLD (i_disp8);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BFS_COMPACT) : /* bf/s $disp8 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_bf_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (NOTBI (GET_H_TBIT ())) {
-{
-  {
-    UDI opval = ADDDI (pc, 2);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-((void) 0); /*nop*/
-{
-  {
-    UDI opval = FLD (i_disp8);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BRA_COMPACT) : /* bra $disp12 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_bra_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    UDI opval = ADDDI (pc, 2);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BRAF_COMPACT) : /* braf $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    UDI opval = ADDDI (pc, 2);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BRK_COMPACT) : /* brk */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-sh64_break (current_cpu, pc);
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BSR_COMPACT) : /* bsr $disp12 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_bra_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-{
-  {
-    SI opval = ADDDI (pc, 4);
-    SET_H_PR (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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BSRF_COMPACT) : /* bsrf $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-{
-  {
-    SI opval = ADDDI (pc, 4);
-    SET_H_PR (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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BT_COMPACT) : /* bt $disp8 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_bf_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (GET_H_TBIT ()) {
-  {
-    UDI opval = FLD (i_disp8);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BTS_COMPACT) : /* bt/s $disp8 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_bf_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (GET_H_TBIT ()) {
-{
-  {
-    UDI opval = ADDDI (pc, 2);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-((void) 0); /*nop*/
-{
-  {
-    UDI opval = FLD (i_disp8);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CLRMAC_COMPACT) : /* clrmac */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = 0;
-    SET_H_MACL (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-  {
-    SI opval = 0;
-    SET_H_MACH (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CLRS_COMPACT) : /* clrs */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = 0;
-    SET_H_SBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "sbit", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CLRT_COMPACT) : /* clrt */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = 0;
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CMPEQ_COMPACT) : /* cmp/eq $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = EQSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CMPEQI_COMPACT) : /* cmp/eq #$imm8, r0 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = EQSI (GET_H_GRC (((UINT) 0)), EXTQISI (ANDQI (FLD (f_imm8), 255)));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CMPGE_COMPACT) : /* cmp/ge $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = GESI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CMPGT_COMPACT) : /* cmp/gt $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = GTSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CMPHI_COMPACT) : /* cmp/hi $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = GTUSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CMPHS_COMPACT) : /* cmp/hs $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = GEUSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CMPPL_COMPACT) : /* cmp/pl $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = GTSI (GET_H_GRC (FLD (f_rn)), 0);
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CMPPZ_COMPACT) : /* cmp/pz $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = GESI (GET_H_GRC (FLD (f_rn)), 0);
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CMPSTR_COMPACT) : /* cmp/str $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_t;
-  SI tmp_temp;
-  tmp_temp = XORSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
-  tmp_t = EQSI (ANDSI (tmp_temp, 0xff000000), 0);
-  tmp_t = ORBI (EQSI (ANDSI (tmp_temp, 16711680), 0), tmp_t);
-  tmp_t = ORBI (EQSI (ANDSI (tmp_temp, 65280), 0), tmp_t);
-  tmp_t = ORBI (EQSI (ANDSI (tmp_temp, 255), 0), tmp_t);
-  {
-    BI opval = ((GTUBI (tmp_t, 0)) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DIV0S_COMPACT) : /* div0s $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    BI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
-    SET_H_QBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-  {
-    BI opval = SRLSI (GET_H_GRC (FLD (f_rm)), 31);
-    SET_H_MBIT (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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DIV0U_COMPACT) : /* div0u */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    BI opval = 0;
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-  {
-    BI opval = 0;
-    SET_H_QBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-  {
-    BI opval = 0;
-    SET_H_MBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DIV1_COMPACT) : /* div1 $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_oldq;
-  SI tmp_tmp0;
-  UQI tmp_tmp1;
-  tmp_oldq = GET_H_QBIT ();
-  {
-    BI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
-    SET_H_QBIT (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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-if (NOTBI (tmp_oldq)) {
-if (NOTBI (GET_H_MBIT ())) {
-{
-  tmp_tmp0 = GET_H_GRC (FLD (f_rn));
-  {
-    SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-} else {
-  {
-    BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
-    SET_H_QBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-}
-}
-} else {
-{
-  tmp_tmp0 = GET_H_GRC (FLD (f_rn));
-  {
-    SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-} else {
-  {
-    BI opval = ((tmp_tmp1) ? (1) : (0));
-    SET_H_QBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-}
-}
-}
-} else {
-if (NOTBI (GET_H_MBIT ())) {
-{
-  tmp_tmp0 = GET_H_GRC (FLD (f_rn));
-  {
-    SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
-    SET_H_GRC (FLD (f_rn), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-} else {
-  {
-    BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
-    SET_H_QBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-}
-}
-} else {
-{
-  tmp_tmp0 = GET_H_GRC (FLD (f_rn));
-  {
-    SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-} else {
-  {
-    BI opval = ((tmp_tmp1) ? (1) : (0));
-    SET_H_QBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-}
-}
-}
-}
-  {
-    BI opval = ((EQBI (GET_H_QBIT (), GET_H_MBIT ())) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DIVU_COMPACT) : /* divu r0, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = UDIVSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (((UINT) 0)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MULR_COMPACT) : /* mulr r0, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = MULSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (((UINT) 0)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DMULSL_COMPACT) : /* dmuls.l $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_result;
-  tmp_result = MULDI (EXTSIDI (GET_H_GRC (FLD (f_rm))), EXTSIDI (GET_H_GRC (FLD (f_rn))));
-  {
-    SI opval = SUBWORDDISI (tmp_result, 0);
-    SET_H_MACH (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
-  }
-  {
-    SI opval = SUBWORDDISI (tmp_result, 1);
-    SET_H_MACL (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DMULUL_COMPACT) : /* dmulu.l $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_result;
-  tmp_result = MULDI (ZEXTSIDI (GET_H_GRC (FLD (f_rm))), ZEXTSIDI (GET_H_GRC (FLD (f_rn))));
-  {
-    SI opval = SUBWORDDISI (tmp_result, 0);
-    SET_H_MACH (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
-  }
-  {
-    SI opval = SUBWORDDISI (tmp_result, 1);
-    SET_H_MACL (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_DT_COMPACT) : /* dt $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), 1);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = EQSI (GET_H_GRC (FLD (f_rn)), 0);
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_EXTSB_COMPACT) : /* exts.b $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTQISI (SUBWORDSIQI (GET_H_GRC (FLD (f_rm)), 3));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_EXTSW_COMPACT) : /* exts.w $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_EXTUB_COMPACT) : /* extu.b $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ZEXTQISI (SUBWORDSIQI (GET_H_GRC (FLD (f_rm)), 3));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_EXTUW_COMPACT) : /* extu.w $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ZEXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FABS_COMPACT) : /* fabs $fsdn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FADD_COMPACT) : /* fadd $fsdm, $fsdn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FCMPEQ_COMPACT) : /* fcmp/eq $fsdm, $fsdn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FCMPGT_COMPACT) : /* fcmp/gt $fsdm, $fsdn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FCNVDS_COMPACT) : /* fcnvds $drn, fpul */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fmov8_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SF opval = sh64_fcnvds (current_cpu, GET_H_DRC (FLD (f_dn)));
-    CPU (h_fr[((UINT) 32)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FCNVSD_COMPACT) : /* fcnvsd fpul, $drn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fmov8_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    DF opval = sh64_fcnvsd (current_cpu, CPU (h_fr[((UINT) 32)]));
-    SET_H_DRC (FLD (f_dn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "drc", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FDIV_COMPACT) : /* fdiv $fsdm, $fsdn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FIPR_COMPACT) : /* fipr $fvm, $fvn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fipr_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-sh64_fipr (current_cpu, FLD (f_vm), FLD (f_vn));
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FLDS_COMPACT) : /* flds $frn, fpul */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SF opval = GET_H_FRC (FLD (f_rn));
-    CPU (h_fr[((UINT) 32)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FLDI0_COMPACT) : /* fldi0 $frn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SF opval = sh64_fldi0 (current_cpu);
-    SET_H_FRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FLDI1_COMPACT) : /* fldi1 $frn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SF opval = sh64_fldi1 (current_cpu);
-    SET_H_FRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FLOAT_COMPACT) : /* float fpul, $fsdn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMAC_COMPACT) : /* fmac fr0, $frm, $frn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMOV1_COMPACT) : /* fmov $fmovm, $fmovn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    DF opval = GET_H_FMOV (FLD (f_rm));
-    SET_H_FMOV (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMOV2_COMPACT) : /* fmov @$rm, $fmovn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMOV3_COMPACT) : /* fmov @${rm}+, fmovn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-} else {
-{
-  {
-    DF opval = GETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
-    SET_H_FMOV (FLD (f_rn), opval);
-    written |= (1 << 4);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMOV4_COMPACT) : /* fmov @(r0, $rm), $fmovn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMOV5_COMPACT) : /* fmov $fmovm, @$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMOV6_COMPACT) : /* fmov $fmovm, @-$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-}
-} else {
-{
-  {
-    SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), 8);
-    SET_H_GRC (FLD (f_rn), opval);
-    written |= (1 << 5);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMOV7_COMPACT) : /* fmov $fmovm, @(r0, $rn) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMOV8_COMPACT) : /* fmov.d @($imm12x8, $rm), $drn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fmov8_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = GETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm12x8)));
-    SET_H_DRC (FLD (f_dn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "drc", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMOV9_COMPACT) : /* mov.l $drm, @($imm12x8, $rn) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fmov9_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = GET_H_DRC (FLD (f_dm));
-    SETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rn)), FLD (f_imm12x8)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMUL_COMPACT) : /* fmul $fsdm, $fsdn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FNEG_COMPACT) : /* fneg $fsdn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FRCHG_COMPACT) : /* frchg */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = NOTBI (GET_H_FRBIT ());
-    SET_H_FRBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "frbit", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FSCHG_COMPACT) : /* fschg */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = NOTBI (GET_H_SZBIT ());
-    SET_H_SZBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "szbit", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FSQRT_COMPACT) : /* fsqrt $fsdn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FSTS_COMPACT) : /* fsts fpul, $frn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SF opval = CPU (h_fr[((UINT) 32)]);
-    SET_H_FRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FSUB_COMPACT) : /* fsub $fsdm, $fsdn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FTRC_COMPACT) : /* ftrc $fsdn, fpul */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FTRV_COMPACT) : /* ftrv xmtrx, $fvn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fipr_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-sh64_ftrv (current_cpu, FLD (f_vn));
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_JMP_COMPACT) : /* jmp @$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    UDI opval = ADDDI (pc, 2);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-((void) 0); /*nop*/
-}
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_JSR_COMPACT) : /* jsr @$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-{
-  {
-    SI opval = ADDDI (pc, 4);
-    SET_H_PR (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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-((void) 0); /*nop*/
-}
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDC_GBR_COMPACT) : /* ldc $rn, gbr */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    SET_H_GBR (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gbr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDC_VBR_COMPACT) : /* ldc $rn, vbr */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    SET_H_VBR (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "vbr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDC_SR_COMPACT) : /* ldc $rn, sr */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    CPU (h_sr) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDCL_GBR_COMPACT) : /* ldc.l @${rn}+, gbr */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-    SET_H_GBR (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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDCL_VBR_COMPACT) : /* ldc.l @${rn}+, vbr */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-    SET_H_VBR (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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDS_FPSCR_COMPACT) : /* lds $rn, fpscr */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    CPU (h_fpscr) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDSL_FPSCR_COMPACT) : /* lds.l @${rn}+, fpscr */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-    CPU (h_fpscr) = 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDS_FPUL_COMPACT) : /* lds $rn, fpul */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SF opval = SUBWORDSISF (GET_H_GRC (FLD (f_rn)));
-    CPU (h_fr[((UINT) 32)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDSL_FPUL_COMPACT) : /* lds.l @${rn}+, fpul */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SF opval = GETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-    CPU (h_fr[((UINT) 32)]) = 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDS_MACH_COMPACT) : /* lds $rn, mach */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    SET_H_MACH (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDSL_MACH_COMPACT) : /* lds.l @${rn}+, mach */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-    SET_H_MACH (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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDS_MACL_COMPACT) : /* lds $rn, macl */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    SET_H_MACL (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDSL_MACL_COMPACT) : /* lds.l @${rn}+, macl */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-    SET_H_MACL (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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDS_PR_COMPACT) : /* lds $rn, pr */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    SET_H_PR (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDSL_PR_COMPACT) : /* lds.l @${rn}+, pr */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-    SET_H_PR (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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MACL_COMPACT) : /* mac.l @${rm}+, @${rn}+ */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_tmpry;
-  DI tmp_mac;
-  DI tmp_result;
-  SI tmp_x;
-  SI tmp_y;
-  tmp_x = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-  {
-    SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
-    SET_H_GRC (FLD (f_rn), 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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-}
-  tmp_y = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
-  {
-    SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
-    SET_H_GRC (FLD (f_rm), opval);
-    written |= (1 << 11);
-    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 ()));
-  tmp_result = ADDDI (tmp_mac, tmp_tmpry);
-{
-if (GET_H_SBIT ()) {
-{
-  SI tmp_min;
-  SI tmp_max;
-  tmp_max = SRLDI (INVDI (0), 16);
-  tmp_min = SRLDI (INVDI (0), 15);
-if (GTDI (tmp_result, tmp_max)) {
-  tmp_result = tmp_max;
-} else {
-if (LTDI (tmp_result, tmp_min)) {
-  tmp_result = tmp_min;
-}
-}
-}
-}
-  {
-    SI opval = SUBWORDDISI (tmp_result, 0);
-    SET_H_MACH (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
-  }
-  {
-    SI opval = SUBWORDDISI (tmp_result, 1);
-    SET_H_MACL (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MACW_COMPACT) : /* mac.w @${rm}+, @${rn}+ */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmpry;
-  DI tmp_mac;
-  DI tmp_result;
-  HI tmp_x;
-  HI tmp_y;
-  tmp_x = GETMEMHI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-  {
-    SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 2);
-    SET_H_GRC (FLD (f_rn), 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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-}
-  tmp_y = GETMEMHI (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
-  {
-    SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 2);
-    SET_H_GRC (FLD (f_rm), opval);
-    written |= (1 << 11);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  tmp_tmpry = MULSI (ZEXTHISI (tmp_x), ZEXTHISI (tmp_y));
-if (GET_H_SBIT ()) {
-{
-if (ADDOFSI (tmp_tmpry, GET_H_MACL (), 0)) {
-  {
-    SI opval = 1;
-    SET_H_MACH (opval);
-    written |= (1 << 9);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
-  }
-}
-  {
-    SI opval = ADDSI (tmp_tmpry, GET_H_MACL ());
-    SET_H_MACL (opval);
-    written |= (1 << 10);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-}
-} else {
-{
-  tmp_mac = ORDI (SLLDI (ZEXTSIDI (GET_H_MACH ()), 32), ZEXTSIDI (GET_H_MACL ()));
-  tmp_result = ADDDI (tmp_mac, EXTSIDI (tmp_tmpry));
-  {
-    SI opval = SUBWORDDISI (tmp_result, 0);
-    SET_H_MACH (opval);
-    written |= (1 << 9);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
-  }
-  {
-    SI opval = SUBWORDDISI (tmp_result, 1);
-    SET_H_MACL (opval);
-    written |= (1 << 10);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-}
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOV_COMPACT) : /* mov $rm64, $rn64 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    DI opval = GET_H_GR (FLD (f_rm));
-    SET_H_GR (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVI_COMPACT) : /* mov #$imm8, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTQIDI (ANDQI (FLD (f_imm8), 255));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVI20_COMPACT) : /* movi20 #$imm20, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movi20_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SI opval = FLD (f_imm20);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVB1_COMPACT) : /* mov.b $rm, @$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    UQI opval = SUBWORDSIUQI (GET_H_GRC (FLD (f_rm)), 3);
-    SETMEMUQI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVB2_COMPACT) : /* mov.b $rm, @-$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 1);
-  {
-    UQI opval = SUBWORDSIUQI (GET_H_GRC (FLD (f_rm)), 3);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVB3_COMPACT) : /* mov.b $rm, @(r0,$rn) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVB4_COMPACT) : /* mov.b r0, @($imm8, gbr) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = ADDSI (GET_H_GBR (), FLD (f_imm8));
-  {
-    UQI opval = SUBWORDSIUQI (GET_H_GRC (((UINT) 0)), 3);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVB5_COMPACT) : /* mov.b r0, @($imm4, $rm) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movb5_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4));
-  {
-    UQI opval = SUBWORDSIUQI (GET_H_GRC (((UINT) 0)), 3);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVB6_COMPACT) : /* mov.b @$rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTQISI (GETMEMQI (current_cpu, pc, GET_H_GRC (FLD (f_rm))));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVB7_COMPACT) : /* mov.b @${rm}+, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  QI tmp_data;
-  tmp_data = GETMEMQI (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
-if (EQSI (FLD (f_rm), FLD (f_rn))) {
-  {
-    SI opval = EXTQISI (tmp_data);
-    SET_H_GRC (FLD (f_rm), opval);
-    written |= (1 << 4);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-  {
-    SI opval = EXTQISI (tmp_data);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVB8_COMPACT) : /* mov.b @(r0, $rm), $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVB9_COMPACT) : /* mov.b @($imm8, gbr), r0 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8))));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVB10_COMPACT) : /* mov.b @($imm4, $rm), r0 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movb5_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4))));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVL1_COMPACT) : /* mov.l $rm, @$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rm));
-    SETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVL2_COMPACT) : /* mov.l $rm, @-$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
-  {
-    SI opval = GET_H_GRC (FLD (f_rm));
-    SETMEMSI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVL3_COMPACT) : /* mov.l $rm, @(r0, $rn) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVL4_COMPACT) : /* mov.l r0, @($imm8x4, gbr) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (((UINT) 0));
-    SETMEMSI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x4)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVL5_COMPACT) : /* mov.l $rm, @($imm4x4, $rn) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rm));
-    SETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rn)), FLD (f_imm4x4)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVL6_COMPACT) : /* mov.l @$rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVL7_COMPACT) : /* mov.l @${rm}+, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), 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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVL8_COMPACT) : /* mov.l @(r0, $rm), $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVL9_COMPACT) : /* mov.l @($imm8x4, gbr), r0 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x4)));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVL10_COMPACT) : /* mov.l @($imm8x4, pc), $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_imm8x4), ANDDI (ADDDI (pc, 4), INVSI (3))));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVL11_COMPACT) : /* mov.l @($imm4x4, $rm), $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4x4)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVL12_COMPACT) : /* mov.l @($imm12x4, $rm), $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm12x4)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVL13_COMPACT) : /* mov.l $rm, @($imm12x4, $rn) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rm));
-    SETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rn)), FLD (f_imm12x4)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVW1_COMPACT) : /* mov.w $rm, @$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    HI opval = SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1);
-    SETMEMHI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVW2_COMPACT) : /* mov.w $rm, @-$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 2);
-  {
-    HI opval = SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1);
-    SETMEMHI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVW3_COMPACT) : /* mov.w $rm, @(r0, $rn) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVW4_COMPACT) : /* mov.w r0, @($imm8x2, gbr) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    HI opval = SUBWORDSIHI (GET_H_GRC (((UINT) 0)), 1);
-    SETMEMHI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x2)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVW5_COMPACT) : /* mov.w r0, @($imm4x2, $rm) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw5_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    HI opval = SUBWORDSIHI (GET_H_GRC (((UINT) 0)), 1);
-    SETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4x2)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVW6_COMPACT) : /* mov.w @$rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTHISI (GETMEMHI (current_cpu, pc, GET_H_GRC (FLD (f_rm))));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVW7_COMPACT) : /* mov.w @${rm}+, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  HI tmp_data;
-  tmp_data = GETMEMHI (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
-if (EQSI (FLD (f_rm), FLD (f_rn))) {
-  {
-    SI opval = EXTHISI (tmp_data);
-    SET_H_GRC (FLD (f_rm), opval);
-    written |= (1 << 4);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-  {
-    SI opval = EXTHISI (tmp_data);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVW8_COMPACT) : /* mov.w @(r0, $rm), $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVW9_COMPACT) : /* mov.w @($imm8x2, gbr), r0 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x2))));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVW10_COMPACT) : /* mov.w @($imm8x2, pc), $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDDI (ADDDI (pc, 4), FLD (f_imm8x2))));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVW11_COMPACT) : /* mov.w @($imm4x2, $rm), r0 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw5_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4x2))));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVA_COMPACT) : /* mova @($imm8x4, pc), r0 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ADDDI (ANDDI (ADDDI (pc, 4), INVSI (3)), FLD (f_imm8x4));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVCAL_COMPACT) : /* movca.l r0, @$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (((UINT) 0));
-    SETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVCOL_COMPACT) : /* movco.l r0, @$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVT_COMPACT) : /* movt $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ZEXTBISI (GET_H_TBIT ());
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVUAL_COMPACT) : /* movua.l @$rn, r0 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = sh64_movua (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVUAL2_COMPACT) : /* movua.l @$rn+, r0 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = sh64_movua (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-    SET_H_GRC (((UINT) 0), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MULL_COMPACT) : /* mul.l $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = MULSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
-    SET_H_MACL (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MULSW_COMPACT) : /* muls.w $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MULUW_COMPACT) : /* mulu.w $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_NEG_COMPACT) : /* neg $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = NEGSI (GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_NEGC_COMPACT) : /* negc $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_flag;
-  tmp_flag = SUBCFSI (0, GET_H_GRC (FLD (f_rm)), GET_H_TBIT ());
-  {
-    SI opval = SUBCSI (0, GET_H_GRC (FLD (f_rm)), GET_H_TBIT ());
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = tmp_flag;
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_NOP_COMPACT) : /* nop */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-((void) 0); /*nop*/
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_NOT_COMPACT) : /* not $rm64, $rn64 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    DI opval = INVDI (GET_H_GR (FLD (f_rm)));
-    SET_H_GR (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_OCBI_COMPACT) : /* ocbi @$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-((void) 0); /*nop*/
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_OCBP_COMPACT) : /* ocbp @$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-((void) 0); /*nop*/
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_OCBWB_COMPACT) : /* ocbwb @$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-((void) 0); /*nop*/
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_OR_COMPACT) : /* or $rm64, $rn64 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    DI opval = ORDI (GET_H_GR (FLD (f_rm)), GET_H_GR (FLD (f_rn)));
-    SET_H_GR (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ORI_COMPACT) : /* or #$uimm8, r0 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ORSI (GET_H_GRC (((UINT) 0)), ZEXTSIDI (FLD (f_imm8)));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ORB_COMPACT) : /* or.b #$imm8, @(r0, gbr) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  UQI tmp_data;
-  tmp_addr = ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GBR ());
-  tmp_data = ORQI (GETMEMUQI (current_cpu, pc, tmp_addr), FLD (f_imm8));
-  {
-    UQI opval = tmp_data;
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_PREF_COMPACT) : /* pref @$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-sh64_pref (current_cpu, GET_H_GRC (FLD (f_rn)));
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ROTCL_COMPACT) : /* rotcl $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_temp;
-  tmp_temp = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
-  {
-    SI opval = ORSI (SLLSI (GET_H_GRC (FLD (f_rn)), 1), GET_H_TBIT ());
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = ((tmp_temp) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ROTCR_COMPACT) : /* rotcr $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_lsbit;
-  SI tmp_temp;
-  tmp_lsbit = ((EQSI (ANDSI (GET_H_GRC (FLD (f_rn)), 1), 0)) ? (0) : (1));
-  tmp_temp = GET_H_TBIT ();
-  {
-    SI opval = ORSI (SRLSI (GET_H_GRC (FLD (f_rn)), 1), SLLSI (tmp_temp, 31));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = ((tmp_lsbit) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ROTL_COMPACT) : /* rotl $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_temp;
-  tmp_temp = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
-  {
-    SI opval = ORSI (SLLSI (GET_H_GRC (FLD (f_rn)), 1), tmp_temp);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = ((tmp_temp) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ROTR_COMPACT) : /* rotr $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_lsbit;
-  SI tmp_temp;
-  tmp_lsbit = ((EQSI (ANDSI (GET_H_GRC (FLD (f_rn)), 1), 0)) ? (0) : (1));
-  tmp_temp = tmp_lsbit;
-  {
-    SI opval = ORSI (SRLSI (GET_H_GRC (FLD (f_rn)), 1), SLLSI (tmp_temp, 31));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = ((tmp_lsbit) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_RTS_COMPACT) : /* rts */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    UDI opval = ADDDI (pc, 2);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-((void) 0); /*nop*/
-}
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SETS_COMPACT) : /* sets */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = 1;
-    SET_H_SBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "sbit", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SETT_COMPACT) : /* sett */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = 1;
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHAD_COMPACT) : /* shad $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shamt;
-  tmp_shamt = ANDSI (GET_H_GRC (FLD (f_rm)), 31);
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-} else {
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-} else {
-if (LTSI (GET_H_GRC (FLD (f_rn)), 0)) {
-  {
-    SI opval = NEGSI (1);
-    SET_H_GRC (FLD (f_rn), opval);
-    written |= (1 << 2);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-} else {
-  {
-    SI opval = 0;
-    SET_H_GRC (FLD (f_rn), opval);
-    written |= (1 << 2);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-}
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHAL_COMPACT) : /* shal $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_t;
-  tmp_t = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
-  {
-    SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 1);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = ((tmp_t) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHAR_COMPACT) : /* shar $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_t;
-  tmp_t = ANDSI (GET_H_GRC (FLD (f_rn)), 1);
-  {
-    SI opval = SRASI (GET_H_GRC (FLD (f_rn)), 1);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = ((tmp_t) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHLD_COMPACT) : /* shld $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shamt;
-  tmp_shamt = ANDSI (GET_H_GRC (FLD (f_rm)), 31);
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-} else {
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-} else {
-  {
-    SI opval = 0;
-    SET_H_GRC (FLD (f_rn), opval);
-    written |= (1 << 2);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHLL_COMPACT) : /* shll $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_t;
-  tmp_t = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
-  {
-    SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 1);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = ((tmp_t) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHLL2_COMPACT) : /* shll2 $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 2);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHLL8_COMPACT) : /* shll8 $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 8);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHLL16_COMPACT) : /* shll16 $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 16);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHLR_COMPACT) : /* shlr $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_t;
-  tmp_t = ANDSI (GET_H_GRC (FLD (f_rn)), 1);
-  {
-    SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 1);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = ((tmp_t) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHLR2_COMPACT) : /* shlr2 $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 2);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHLR8_COMPACT) : /* shlr8 $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 8);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHLR16_COMPACT) : /* shlr16 $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 16);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STC_GBR_COMPACT) : /* stc gbr, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GBR ();
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STC_VBR_COMPACT) : /* stc vbr, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_VBR ();
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STCL_GBR_COMPACT) : /* stc.l gbr, @-$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
-  {
-    SI opval = GET_H_GBR ();
-    SETMEMSI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STCL_VBR_COMPACT) : /* stc.l vbr, @-$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
-  {
-    SI opval = GET_H_VBR ();
-    SETMEMSI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STS_FPSCR_COMPACT) : /* sts fpscr, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = CPU (h_fpscr);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STSL_FPSCR_COMPACT) : /* sts.l fpscr, @-$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
-  {
-    SI opval = CPU (h_fpscr);
-    SETMEMSI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STS_FPUL_COMPACT) : /* sts fpul, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = SUBWORDSFSI (CPU (h_fr[((UINT) 32)]));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STSL_FPUL_COMPACT) : /* sts.l fpul, @-$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
-  {
-    SF opval = CPU (h_fr[((UINT) 32)]);
-    SETMEMSF (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STS_MACH_COMPACT) : /* sts mach, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_MACH ();
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STSL_MACH_COMPACT) : /* sts.l mach, @-$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
-  {
-    SI opval = GET_H_MACH ();
-    SETMEMSI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STS_MACL_COMPACT) : /* sts macl, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_MACL ();
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STSL_MACL_COMPACT) : /* sts.l macl, @-$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
-  {
-    SI opval = GET_H_MACL ();
-    SETMEMSI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STS_PR_COMPACT) : /* sts pr, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_PR ();
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STSL_PR_COMPACT) : /* sts.l pr, @-$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
-  {
-    SI opval = GET_H_PR ();
-    SETMEMSI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SUB_COMPACT) : /* sub $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SUBC_COMPACT) : /* subc $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_flag;
-  tmp_flag = SUBCFSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)), GET_H_TBIT ());
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = tmp_flag;
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SUBV_COMPACT) : /* subv $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_t;
-  tmp_t = SUBOFSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)), 0);
-  {
-    SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = ((tmp_t) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SWAPB_COMPACT) : /* swap.b $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  UHI tmp_top_half;
-  UQI tmp_byte1;
-  UQI tmp_byte0;
-  tmp_top_half = SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 0);
-  tmp_byte1 = SUBWORDSIQI (GET_H_GRC (FLD (f_rm)), 2);
-  tmp_byte0 = SUBWORDSIQI (GET_H_GRC (FLD (f_rm)), 3);
-  {
-    SI opval = ORSI (SLLSI (tmp_top_half, 16), ORSI (SLLSI (tmp_byte0, 8), tmp_byte1));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SWAPW_COMPACT) : /* swap.w $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_TASB_COMPACT) : /* tas.b @$rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  UQI tmp_byte;
-  tmp_byte = GETMEMUQI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-  {
-    BI opval = ((EQQI (tmp_byte, 0)) ? (1) : (0));
-    SET_H_TBIT (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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_TRAPA_COMPACT) : /* trapa #$uimm8 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-sh64_compact_trapa (current_cpu, FLD (f_imm8), pc);
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_TST_COMPACT) : /* tst $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = ((EQSI (ANDSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn))), 0)) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_TSTI_COMPACT) : /* tst #$uimm8, r0 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = ((EQSI (ANDSI (GET_H_GRC (((UINT) 0)), ZEXTSISI (FLD (f_imm8))), 0)) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_TSTB_COMPACT) : /* tst.b #$imm8, @(r0, gbr) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GBR ());
-  {
-    BI opval = ((EQQI (ANDQI (GETMEMUQI (current_cpu, pc, tmp_addr), FLD (f_imm8)), 0)) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_XOR_COMPACT) : /* xor $rm64, $rn64 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    DI opval = XORDI (GET_H_GR (FLD (f_rn)), GET_H_GR (FLD (f_rm)));
-    SET_H_GR (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_XORI_COMPACT) : /* xor #$uimm8, r0 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = XORSI (GET_H_GRC (((UINT) 0)), ZEXTSIDI (FLD (f_imm8)));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_XORB_COMPACT) : /* xor.b #$imm8, @(r0, gbr) */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  UQI tmp_data;
-  tmp_addr = ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GBR ());
-  tmp_data = XORQI (GETMEMUQI (current_cpu, pc, tmp_addr), FLD (f_imm8));
-  {
-    UQI opval = tmp_data;
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_XTRCT_COMPACT) : /* xtrct $rm, $rn */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-
-    }
-  ENDSWITCH (sem) /* End of semantic switch.  */
-
-  /* At this point `vpc' contains the next insn to execute.  */
-}
-
-#undef DEFINE_SWITCH
-#endif /* DEFINE_SWITCH */
diff --git a/sim/sh64/sem-compact.c b/sim/sh64/sem-compact.c
deleted file mode 100644 (file)
index a192400..0000000
+++ /dev/null
@@ -1,5589 +0,0 @@
-/* Simulator instruction semantics for sh64.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996-2021 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   It is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License along
-   with this program; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#define WANT_CPU sh64
-#define WANT_CPU_SH64
-
-#include "sim-main.h"
-#include "cgen-mem.h"
-#include "cgen-ops.h"
-
-#undef GET_ATTR
-#define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_##attr)
-
-/* This is used so that we can compile two copies of the semantic code,
-   one with full feature support and one without that runs fast(er).
-   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 CGEN_TRACE_RESULT
-#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
-#else
-#define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_sem_,fn)
-#endif
-
-/* x-invalid: --invalid-- */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,x_invalid) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-    /* Update the recorded pc in the cpu state struct.
-       Only necessary for WITH_SCACHE case, but to avoid the
-       conditional compilation ....  */
-    SET_H_PC (pc);
-    /* Virtual insns have zero size.  Overwrite vpc with address of next insn
-       using the default-insn-bitsize spec.  When executing insns in parallel
-       we may want to queue the fault and continue execution.  */
-    vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-    vpc = sim_engine_invalid_insn (current_cpu, pc, vpc);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* x-after: --after-- */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,x_after) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_COMPACT
-    sh64_compact_pbb_after (current_cpu, sem_arg);
-#endif
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* x-before: --before-- */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,x_before) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_COMPACT
-    sh64_compact_pbb_before (current_cpu, sem_arg);
-#endif
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* x-cti-chain: --cti-chain-- */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,x_cti_chain) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_COMPACT
-#ifdef DEFINE_SWITCH
-    vpc = sh64_compact_pbb_cti_chain (current_cpu, sem_arg,
-                              pbb_br_type, pbb_br_npc);
-    BREAK (sem);
-#else
-    /* FIXME: Allow provision of explicit ifmt spec in insn spec.  */
-    vpc = sh64_compact_pbb_cti_chain (current_cpu, sem_arg,
-                              CPU_PBB_BR_TYPE (current_cpu),
-                              CPU_PBB_BR_NPC (current_cpu));
-#endif
-#endif
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* x-chain: --chain-- */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,x_chain) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_COMPACT
-    vpc = sh64_compact_pbb_chain (current_cpu, sem_arg);
-#ifdef DEFINE_SWITCH
-    BREAK (sem);
-#endif
-#endif
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* x-begin: --begin-- */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,x_begin) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_COMPACT
-#if defined DEFINE_SWITCH || defined FAST_P
-    /* In the switch case FAST_P is a constant, allowing several optimizations
-       in any called inline functions.  */
-    vpc = sh64_compact_pbb_begin (current_cpu, FAST_P);
-#else
-#if 0 /* cgen engine can't handle dynamic fast/full switching yet.  */
-    vpc = sh64_compact_pbb_begin (current_cpu, STATE_RUN_FAST_P (CPU_STATE (current_cpu)));
-#else
-    vpc = sh64_compact_pbb_begin (current_cpu, 0);
-#endif
-#endif
-#endif
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* add-compact: add $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,add_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* addi-compact: add #$imm8, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,addi_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), EXTQISI (ANDQI (FLD (f_imm8), 255)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* addc-compact: addc $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,addc_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_flag;
-  tmp_flag = ADDCFSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)), GET_H_TBIT ());
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = tmp_flag;
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* addv-compact: addv $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,addv_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_t;
-  tmp_t = ADDOFSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)), 0);
-  {
-    SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = tmp_t;
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* and-compact: and $rm64, $rn64 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,and_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    DI opval = ANDDI (GET_H_GR (FLD (f_rm)), GET_H_GR (FLD (f_rn)));
-    SET_H_GR (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* andi-compact: and #$uimm8, r0 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,andi_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ANDSI (GET_H_GRC (((UINT) 0)), ZEXTSIDI (FLD (f_imm8)));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* andb-compact: and.b #$imm8, @(r0, gbr) */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,andb_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  UQI tmp_data;
-  tmp_addr = ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GBR ());
-  tmp_data = ANDQI (GETMEMUQI (current_cpu, pc, tmp_addr), FLD (f_imm8));
-  {
-    UQI opval = tmp_data;
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* bf-compact: bf $disp8 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,bf_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_bf_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (NOTBI (GET_H_TBIT ())) {
-  {
-    UDI opval = FLD (i_disp8);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bfs-compact: bf/s $disp8 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,bfs_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_bf_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (NOTBI (GET_H_TBIT ())) {
-{
-  {
-    UDI opval = ADDDI (pc, 2);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-((void) 0); /*nop*/
-{
-  {
-    UDI opval = FLD (i_disp8);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bra-compact: bra $disp12 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,bra_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_bra_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    UDI opval = ADDDI (pc, 2);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* braf-compact: braf $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,braf_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    UDI opval = ADDDI (pc, 2);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* brk-compact: brk */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,brk_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-sh64_break (current_cpu, pc);
-
-  return vpc;
-#undef FLD
-}
-
-/* bsr-compact: bsr $disp12 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,bsr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_bra_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-{
-  {
-    SI opval = ADDDI (pc, 4);
-    SET_H_PR (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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bsrf-compact: bsrf $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,bsrf_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-{
-  {
-    SI opval = ADDDI (pc, 4);
-    SET_H_PR (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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bt-compact: bt $disp8 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,bt_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_bf_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (GET_H_TBIT ()) {
-  {
-    UDI opval = FLD (i_disp8);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 2);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bts-compact: bt/s $disp8 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,bts_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_bf_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-if (GET_H_TBIT ()) {
-{
-  {
-    UDI opval = ADDDI (pc, 2);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-((void) 0); /*nop*/
-{
-  {
-    UDI opval = FLD (i_disp8);
-    SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
-    written |= (1 << 3);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* clrmac-compact: clrmac */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,clrmac_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = 0;
-    SET_H_MACL (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-  {
-    SI opval = 0;
-    SET_H_MACH (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* clrs-compact: clrs */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,clrs_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = 0;
-    SET_H_SBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "sbit", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* clrt-compact: clrt */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,clrt_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = 0;
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* cmpeq-compact: cmp/eq $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,cmpeq_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = EQSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* cmpeqi-compact: cmp/eq #$imm8, r0 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,cmpeqi_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = EQSI (GET_H_GRC (((UINT) 0)), EXTQISI (ANDQI (FLD (f_imm8), 255)));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* cmpge-compact: cmp/ge $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,cmpge_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = GESI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* cmpgt-compact: cmp/gt $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,cmpgt_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = GTSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* cmphi-compact: cmp/hi $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,cmphi_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = GTUSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* cmphs-compact: cmp/hs $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,cmphs_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = GEUSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* cmppl-compact: cmp/pl $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,cmppl_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = GTSI (GET_H_GRC (FLD (f_rn)), 0);
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* cmppz-compact: cmp/pz $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,cmppz_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = GESI (GET_H_GRC (FLD (f_rn)), 0);
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* cmpstr-compact: cmp/str $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,cmpstr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_t;
-  SI tmp_temp;
-  tmp_temp = XORSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
-  tmp_t = EQSI (ANDSI (tmp_temp, 0xff000000), 0);
-  tmp_t = ORBI (EQSI (ANDSI (tmp_temp, 16711680), 0), tmp_t);
-  tmp_t = ORBI (EQSI (ANDSI (tmp_temp, 65280), 0), tmp_t);
-  tmp_t = ORBI (EQSI (ANDSI (tmp_temp, 255), 0), tmp_t);
-  {
-    BI opval = ((GTUBI (tmp_t, 0)) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* div0s-compact: div0s $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,div0s_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    BI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
-    SET_H_QBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-  {
-    BI opval = SRLSI (GET_H_GRC (FLD (f_rm)), 31);
-    SET_H_MBIT (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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* div0u-compact: div0u */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,div0u_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    BI opval = 0;
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-  {
-    BI opval = 0;
-    SET_H_QBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-  {
-    BI opval = 0;
-    SET_H_MBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* div1-compact: div1 $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,div1_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_oldq;
-  SI tmp_tmp0;
-  UQI tmp_tmp1;
-  tmp_oldq = GET_H_QBIT ();
-  {
-    BI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
-    SET_H_QBIT (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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-if (NOTBI (tmp_oldq)) {
-if (NOTBI (GET_H_MBIT ())) {
-{
-  tmp_tmp0 = GET_H_GRC (FLD (f_rn));
-  {
-    SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-} else {
-  {
-    BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
-    SET_H_QBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-}
-}
-} else {
-{
-  tmp_tmp0 = GET_H_GRC (FLD (f_rn));
-  {
-    SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-} else {
-  {
-    BI opval = ((tmp_tmp1) ? (1) : (0));
-    SET_H_QBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-}
-}
-}
-} else {
-if (NOTBI (GET_H_MBIT ())) {
-{
-  tmp_tmp0 = GET_H_GRC (FLD (f_rn));
-  {
-    SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
-    SET_H_GRC (FLD (f_rn), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-} else {
-  {
-    BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
-    SET_H_QBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-}
-}
-} else {
-{
-  tmp_tmp0 = GET_H_GRC (FLD (f_rn));
-  {
-    SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-} else {
-  {
-    BI opval = ((tmp_tmp1) ? (1) : (0));
-    SET_H_QBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
-  }
-}
-}
-}
-}
-  {
-    BI opval = ((EQBI (GET_H_QBIT (), GET_H_MBIT ())) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* divu-compact: divu r0, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,divu_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = UDIVSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (((UINT) 0)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* mulr-compact: mulr r0, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,mulr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = MULSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (((UINT) 0)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* dmulsl-compact: dmuls.l $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,dmulsl_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_result;
-  tmp_result = MULDI (EXTSIDI (GET_H_GRC (FLD (f_rm))), EXTSIDI (GET_H_GRC (FLD (f_rn))));
-  {
-    SI opval = SUBWORDDISI (tmp_result, 0);
-    SET_H_MACH (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
-  }
-  {
-    SI opval = SUBWORDDISI (tmp_result, 1);
-    SET_H_MACL (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* dmulul-compact: dmulu.l $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,dmulul_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_result;
-  tmp_result = MULDI (ZEXTSIDI (GET_H_GRC (FLD (f_rm))), ZEXTSIDI (GET_H_GRC (FLD (f_rn))));
-  {
-    SI opval = SUBWORDDISI (tmp_result, 0);
-    SET_H_MACH (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
-  }
-  {
-    SI opval = SUBWORDDISI (tmp_result, 1);
-    SET_H_MACL (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* dt-compact: dt $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,dt_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), 1);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = EQSI (GET_H_GRC (FLD (f_rn)), 0);
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* extsb-compact: exts.b $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,extsb_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTQISI (SUBWORDSIQI (GET_H_GRC (FLD (f_rm)), 3));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* extsw-compact: exts.w $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,extsw_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* extub-compact: extu.b $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,extub_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ZEXTQISI (SUBWORDSIQI (GET_H_GRC (FLD (f_rm)), 3));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* extuw-compact: extu.w $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,extuw_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ZEXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fabs-compact: fabs $fsdn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fabs_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* fadd-compact: fadd $fsdm, $fsdn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fadd_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* fcmpeq-compact: fcmp/eq $fsdm, $fsdn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fcmpeq_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* fcmpgt-compact: fcmp/gt $fsdm, $fsdn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fcmpgt_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* fcnvds-compact: fcnvds $drn, fpul */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fcnvds_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fmov8_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SF opval = sh64_fcnvds (current_cpu, GET_H_DRC (FLD (f_dn)));
-    CPU (h_fr[((UINT) 32)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fcnvsd-compact: fcnvsd fpul, $drn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fcnvsd_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fmov8_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    DF opval = sh64_fcnvsd (current_cpu, CPU (h_fr[((UINT) 32)]));
-    SET_H_DRC (FLD (f_dn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "drc", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fdiv-compact: fdiv $fsdm, $fsdn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fdiv_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* fipr-compact: fipr $fvm, $fvn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fipr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fipr_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-sh64_fipr (current_cpu, FLD (f_vm), FLD (f_vn));
-
-  return vpc;
-#undef FLD
-}
-
-/* flds-compact: flds $frn, fpul */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,flds_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SF opval = GET_H_FRC (FLD (f_rn));
-    CPU (h_fr[((UINT) 32)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fldi0-compact: fldi0 $frn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fldi0_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SF opval = sh64_fldi0 (current_cpu);
-    SET_H_FRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fldi1-compact: fldi1 $frn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fldi1_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SF opval = sh64_fldi1 (current_cpu);
-    SET_H_FRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* float-compact: float fpul, $fsdn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,float_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* fmac-compact: fmac fr0, $frm, $frn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fmac_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fmov1-compact: fmov $fmovm, $fmovn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fmov1_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    DF opval = GET_H_FMOV (FLD (f_rm));
-    SET_H_FMOV (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fmov2-compact: fmov @$rm, $fmovn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fmov2_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* fmov3-compact: fmov @${rm}+, fmovn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fmov3_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-} else {
-{
-  {
-    DF opval = GETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
-    SET_H_FMOV (FLD (f_rn), opval);
-    written |= (1 << 4);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* fmov4-compact: fmov @(r0, $rm), $fmovn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fmov4_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fmov", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* fmov5-compact: fmov $fmovm, @$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fmov5_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* fmov6-compact: fmov $fmovm, @-$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fmov6_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-}
-} else {
-{
-  {
-    SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), 8);
-    SET_H_GRC (FLD (f_rn), opval);
-    written |= (1 << 5);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* fmov7-compact: fmov $fmovm, @(r0, $rn) */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fmov7_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* fmov8-compact: fmov.d @($imm12x8, $rm), $drn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fmov8_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fmov8_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = GETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm12x8)));
-    SET_H_DRC (FLD (f_dn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "drc", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fmov9-compact: mov.l $drm, @($imm12x8, $rn) */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fmov9_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fmov9_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = GET_H_DRC (FLD (f_dm));
-    SETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rn)), FLD (f_imm12x8)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fmul-compact: fmul $fsdm, $fsdn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fmul_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* fneg-compact: fneg $fsdn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fneg_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* frchg-compact: frchg */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,frchg_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = NOTBI (GET_H_FRBIT ());
-    SET_H_FRBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "frbit", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fschg-compact: fschg */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fschg_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = NOTBI (GET_H_SZBIT ());
-    SET_H_SZBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "szbit", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fsqrt-compact: fsqrt $fsdn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fsqrt_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* fsts-compact: fsts fpul, $frn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fsts_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SF opval = CPU (h_fr[((UINT) 32)]);
-    SET_H_FRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "frc", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fsub-compact: fsub $fsdm, $fsdn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fsub_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fsd", 'f', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* ftrc-compact: ftrc $fsdn, fpul */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,ftrc_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ftrv-compact: ftrv xmtrx, $fvn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,ftrv_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fipr_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-sh64_ftrv (current_cpu, FLD (f_vn));
-
-  return vpc;
-#undef FLD
-}
-
-/* jmp-compact: jmp @$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,jmp_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    UDI opval = ADDDI (pc, 2);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-((void) 0); /*nop*/
-}
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* jsr-compact: jsr @$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,jsr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-{
-  {
-    SI opval = ADDDI (pc, 4);
-    SET_H_PR (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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-((void) 0); /*nop*/
-}
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* ldc-gbr-compact: ldc $rn, gbr */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,ldc_gbr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    SET_H_GBR (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gbr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldc-vbr-compact: ldc $rn, vbr */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,ldc_vbr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    SET_H_VBR (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "vbr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldc-sr-compact: ldc $rn, sr */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,ldc_sr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    CPU (h_sr) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "sr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldcl-gbr-compact: ldc.l @${rn}+, gbr */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,ldcl_gbr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-    SET_H_GBR (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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* ldcl-vbr-compact: ldc.l @${rn}+, vbr */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,ldcl_vbr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-    SET_H_VBR (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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* lds-fpscr-compact: lds $rn, fpscr */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,lds_fpscr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    CPU (h_fpscr) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldsl-fpscr-compact: lds.l @${rn}+, fpscr */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,ldsl_fpscr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-    CPU (h_fpscr) = 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* lds-fpul-compact: lds $rn, fpul */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,lds_fpul_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SF opval = SUBWORDSISF (GET_H_GRC (FLD (f_rn)));
-    CPU (h_fr[((UINT) 32)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldsl-fpul-compact: lds.l @${rn}+, fpul */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,ldsl_fpul_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SF opval = GETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-    CPU (h_fr[((UINT) 32)]) = 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* lds-mach-compact: lds $rn, mach */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,lds_mach_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    SET_H_MACH (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldsl-mach-compact: lds.l @${rn}+, mach */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,ldsl_mach_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-    SET_H_MACH (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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* lds-macl-compact: lds $rn, macl */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,lds_macl_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    SET_H_MACL (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldsl-macl-compact: lds.l @${rn}+, macl */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,ldsl_macl_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-    SET_H_MACL (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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* lds-pr-compact: lds $rn, pr */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,lds_pr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    SET_H_PR (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldsl-pr-compact: lds.l @${rn}+, pr */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,ldsl_pr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-    SET_H_PR (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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* macl-compact: mac.l @${rm}+, @${rn}+ */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,macl_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_tmpry;
-  DI tmp_mac;
-  DI tmp_result;
-  SI tmp_x;
-  SI tmp_y;
-  tmp_x = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-  {
-    SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
-    SET_H_GRC (FLD (f_rn), 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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-}
-  tmp_y = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
-  {
-    SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
-    SET_H_GRC (FLD (f_rm), opval);
-    written |= (1 << 11);
-    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 ()));
-  tmp_result = ADDDI (tmp_mac, tmp_tmpry);
-{
-if (GET_H_SBIT ()) {
-{
-  SI tmp_min;
-  SI tmp_max;
-  tmp_max = SRLDI (INVDI (0), 16);
-  tmp_min = SRLDI (INVDI (0), 15);
-if (GTDI (tmp_result, tmp_max)) {
-  tmp_result = tmp_max;
-} else {
-if (LTDI (tmp_result, tmp_min)) {
-  tmp_result = tmp_min;
-}
-}
-}
-}
-  {
-    SI opval = SUBWORDDISI (tmp_result, 0);
-    SET_H_MACH (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
-  }
-  {
-    SI opval = SUBWORDDISI (tmp_result, 1);
-    SET_H_MACL (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* macw-compact: mac.w @${rm}+, @${rn}+ */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,macw_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_tmpry;
-  DI tmp_mac;
-  DI tmp_result;
-  HI tmp_x;
-  HI tmp_y;
-  tmp_x = GETMEMHI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-  {
-    SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 2);
-    SET_H_GRC (FLD (f_rn), 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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-}
-  tmp_y = GETMEMHI (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
-  {
-    SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 2);
-    SET_H_GRC (FLD (f_rm), opval);
-    written |= (1 << 11);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  tmp_tmpry = MULSI (ZEXTHISI (tmp_x), ZEXTHISI (tmp_y));
-if (GET_H_SBIT ()) {
-{
-if (ADDOFSI (tmp_tmpry, GET_H_MACL (), 0)) {
-  {
-    SI opval = 1;
-    SET_H_MACH (opval);
-    written |= (1 << 9);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
-  }
-}
-  {
-    SI opval = ADDSI (tmp_tmpry, GET_H_MACL ());
-    SET_H_MACL (opval);
-    written |= (1 << 10);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-}
-} else {
-{
-  tmp_mac = ORDI (SLLDI (ZEXTSIDI (GET_H_MACH ()), 32), ZEXTSIDI (GET_H_MACL ()));
-  tmp_result = ADDDI (tmp_mac, EXTSIDI (tmp_tmpry));
-  {
-    SI opval = SUBWORDDISI (tmp_result, 0);
-    SET_H_MACH (opval);
-    written |= (1 << 9);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
-  }
-  {
-    SI opval = SUBWORDDISI (tmp_result, 1);
-    SET_H_MACL (opval);
-    written |= (1 << 10);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-}
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* mov-compact: mov $rm64, $rn64 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,mov_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    DI opval = GET_H_GR (FLD (f_rm));
-    SET_H_GR (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movi-compact: mov #$imm8, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movi_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTQIDI (ANDQI (FLD (f_imm8), 255));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movi20-compact: movi20 #$imm20, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movi20_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movi20_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SI opval = FLD (f_imm20);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movb1-compact: mov.b $rm, @$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movb1_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    UQI opval = SUBWORDSIUQI (GET_H_GRC (FLD (f_rm)), 3);
-    SETMEMUQI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movb2-compact: mov.b $rm, @-$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movb2_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 1);
-  {
-    UQI opval = SUBWORDSIUQI (GET_H_GRC (FLD (f_rm)), 3);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* movb3-compact: mov.b $rm, @(r0,$rn) */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movb3_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movb4-compact: mov.b r0, @($imm8, gbr) */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movb4_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = ADDSI (GET_H_GBR (), FLD (f_imm8));
-  {
-    UQI opval = SUBWORDSIUQI (GET_H_GRC (((UINT) 0)), 3);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* movb5-compact: mov.b r0, @($imm4, $rm) */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movb5_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movb5_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4));
-  {
-    UQI opval = SUBWORDSIUQI (GET_H_GRC (((UINT) 0)), 3);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* movb6-compact: mov.b @$rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movb6_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTQISI (GETMEMQI (current_cpu, pc, GET_H_GRC (FLD (f_rm))));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movb7-compact: mov.b @${rm}+, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movb7_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  QI tmp_data;
-  tmp_data = GETMEMQI (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
-if (EQSI (FLD (f_rm), FLD (f_rn))) {
-  {
-    SI opval = EXTQISI (tmp_data);
-    SET_H_GRC (FLD (f_rm), opval);
-    written |= (1 << 4);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-  {
-    SI opval = EXTQISI (tmp_data);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* movb8-compact: mov.b @(r0, $rm), $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movb8_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movb9-compact: mov.b @($imm8, gbr), r0 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movb9_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8))));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movb10-compact: mov.b @($imm4, $rm), r0 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movb10_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movb5_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4))));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movl1-compact: mov.l $rm, @$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movl1_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rm));
-    SETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movl2-compact: mov.l $rm, @-$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movl2_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
-  {
-    SI opval = GET_H_GRC (FLD (f_rm));
-    SETMEMSI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* movl3-compact: mov.l $rm, @(r0, $rn) */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movl3_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movl4-compact: mov.l r0, @($imm8x4, gbr) */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movl4_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (((UINT) 0));
-    SETMEMSI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x4)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movl5-compact: mov.l $rm, @($imm4x4, $rn) */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movl5_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rm));
-    SETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rn)), FLD (f_imm4x4)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movl6-compact: mov.l @$rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movl6_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movl7-compact: mov.l @${rm}+, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movl7_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), 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);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* movl8-compact: mov.l @(r0, $rm), $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movl8_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movl9-compact: mov.l @($imm8x4, gbr), r0 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movl9_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x4)));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movl10-compact: mov.l @($imm8x4, pc), $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movl10_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, ADDSI (FLD (f_imm8x4), ANDDI (ADDDI (pc, 4), INVSI (3))));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movl11-compact: mov.l @($imm4x4, $rm), $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movl11_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4x4)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movl12-compact: mov.l @($imm12x4, $rm), $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movl12_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SI opval = GETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm12x4)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movl13-compact: mov.l $rm, @($imm12x4, $rn) */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movl13_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rm));
-    SETMEMSI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rn)), FLD (f_imm12x4)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movw1-compact: mov.w $rm, @$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movw1_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    HI opval = SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1);
-    SETMEMHI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movw2-compact: mov.w $rm, @-$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movw2_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 2);
-  {
-    HI opval = SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1);
-    SETMEMHI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* movw3-compact: mov.w $rm, @(r0, $rn) */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movw3_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movw4-compact: mov.w r0, @($imm8x2, gbr) */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movw4_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    HI opval = SUBWORDSIHI (GET_H_GRC (((UINT) 0)), 1);
-    SETMEMHI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x2)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movw5-compact: mov.w r0, @($imm4x2, $rm) */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movw5_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw5_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    HI opval = SUBWORDSIHI (GET_H_GRC (((UINT) 0)), 1);
-    SETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4x2)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movw6-compact: mov.w @$rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movw6_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTHISI (GETMEMHI (current_cpu, pc, GET_H_GRC (FLD (f_rm))));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movw7-compact: mov.w @${rm}+, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movw7_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  HI tmp_data;
-  tmp_data = GETMEMHI (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
-if (EQSI (FLD (f_rm), FLD (f_rn))) {
-  {
-    SI opval = EXTHISI (tmp_data);
-    SET_H_GRC (FLD (f_rm), opval);
-    written |= (1 << 4);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-  {
-    SI opval = EXTHISI (tmp_data);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* movw8-compact: mov.w @(r0, $rm), $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movw8_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movw9-compact: mov.w @($imm8x2, gbr), r0 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movw9_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (GET_H_GBR (), FLD (f_imm8x2))));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movw10-compact: mov.w @($imm8x2, pc), $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movw10_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDDI (ADDDI (pc, 4), FLD (f_imm8x2))));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movw11-compact: mov.w @($imm4x2, $rm), r0 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movw11_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw5_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (FLD (f_rm)), FLD (f_imm4x2))));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* mova-compact: mova @($imm8x4, pc), r0 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,mova_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ADDDI (ANDDI (ADDDI (pc, 4), INVSI (3)), FLD (f_imm8x4));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movcal-compact: movca.l r0, @$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movcal_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (((UINT) 0));
-    SETMEMSI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movcol-compact: movco.l r0, @$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movcol_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movt-compact: movt $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movt_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ZEXTBISI (GET_H_TBIT ());
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movual-compact: movua.l @$rn, r0 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movual_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = sh64_movua (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* movual2-compact: movua.l @$rn+, r0 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,movual2_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = sh64_movua (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-    SET_H_GRC (((UINT) 0), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mull-compact: mul.l $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,mull_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = MULSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
-    SET_H_MACL (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* mulsw-compact: muls.w $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,mulsw_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* muluw-compact: mulu.w $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,muluw_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* neg-compact: neg $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,neg_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = NEGSI (GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* negc-compact: negc $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,negc_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_flag;
-  tmp_flag = SUBCFSI (0, GET_H_GRC (FLD (f_rm)), GET_H_TBIT ());
-  {
-    SI opval = SUBCSI (0, GET_H_GRC (FLD (f_rm)), GET_H_TBIT ());
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = tmp_flag;
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* nop-compact: nop */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,nop_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-((void) 0); /*nop*/
-
-  return vpc;
-#undef FLD
-}
-
-/* not-compact: not $rm64, $rn64 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,not_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    DI opval = INVDI (GET_H_GR (FLD (f_rm)));
-    SET_H_GR (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ocbi-compact: ocbi @$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,ocbi_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-((void) 0); /*nop*/
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* ocbp-compact: ocbp @$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,ocbp_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-((void) 0); /*nop*/
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* ocbwb-compact: ocbwb @$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,ocbwb_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    SI opval = GET_H_GRC (FLD (f_rn));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-((void) 0); /*nop*/
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* or-compact: or $rm64, $rn64 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,or_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    DI opval = ORDI (GET_H_GR (FLD (f_rm)), GET_H_GR (FLD (f_rn)));
-    SET_H_GR (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ori-compact: or #$uimm8, r0 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,ori_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = ORSI (GET_H_GRC (((UINT) 0)), ZEXTSIDI (FLD (f_imm8)));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* orb-compact: or.b #$imm8, @(r0, gbr) */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,orb_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  UQI tmp_data;
-  tmp_addr = ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GBR ());
-  tmp_data = ORQI (GETMEMUQI (current_cpu, pc, tmp_addr), FLD (f_imm8));
-  {
-    UQI opval = tmp_data;
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* pref-compact: pref @$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,pref_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-sh64_pref (current_cpu, GET_H_GRC (FLD (f_rn)));
-
-  return vpc;
-#undef FLD
-}
-
-/* rotcl-compact: rotcl $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,rotcl_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_temp;
-  tmp_temp = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
-  {
-    SI opval = ORSI (SLLSI (GET_H_GRC (FLD (f_rn)), 1), GET_H_TBIT ());
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = ((tmp_temp) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* rotcr-compact: rotcr $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,rotcr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_lsbit;
-  SI tmp_temp;
-  tmp_lsbit = ((EQSI (ANDSI (GET_H_GRC (FLD (f_rn)), 1), 0)) ? (0) : (1));
-  tmp_temp = GET_H_TBIT ();
-  {
-    SI opval = ORSI (SRLSI (GET_H_GRC (FLD (f_rn)), 1), SLLSI (tmp_temp, 31));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = ((tmp_lsbit) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* rotl-compact: rotl $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,rotl_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_temp;
-  tmp_temp = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
-  {
-    SI opval = ORSI (SLLSI (GET_H_GRC (FLD (f_rn)), 1), tmp_temp);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = ((tmp_temp) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* rotr-compact: rotr $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,rotr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_lsbit;
-  SI tmp_temp;
-  tmp_lsbit = ((EQSI (ANDSI (GET_H_GRC (FLD (f_rn)), 1), 0)) ? (0) : (1));
-  tmp_temp = tmp_lsbit;
-  {
-    SI opval = ORSI (SRLSI (GET_H_GRC (FLD (f_rn)), 1), SLLSI (tmp_temp, 31));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = ((tmp_lsbit) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* rts-compact: rts */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,rts_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  {
-    UDI opval = ADDDI (pc, 2);
-    SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-((void) 0); /*nop*/
-}
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* sets-compact: sets */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,sets_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = 1;
-    SET_H_SBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "sbit", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* sett-compact: sett */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,sett_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = 1;
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* shad-compact: shad $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,shad_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shamt;
-  tmp_shamt = ANDSI (GET_H_GRC (FLD (f_rm)), 31);
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-} else {
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-} else {
-if (LTSI (GET_H_GRC (FLD (f_rn)), 0)) {
-  {
-    SI opval = NEGSI (1);
-    SET_H_GRC (FLD (f_rn), opval);
-    written |= (1 << 2);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-} else {
-  {
-    SI opval = 0;
-    SET_H_GRC (FLD (f_rn), opval);
-    written |= (1 << 2);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-}
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* shal-compact: shal $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,shal_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_t;
-  tmp_t = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
-  {
-    SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 1);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = ((tmp_t) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* shar-compact: shar $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,shar_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_t;
-  tmp_t = ANDSI (GET_H_GRC (FLD (f_rn)), 1);
-  {
-    SI opval = SRASI (GET_H_GRC (FLD (f_rn)), 1);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = ((tmp_t) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* shld-compact: shld $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,shld_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  SI tmp_shamt;
-  tmp_shamt = ANDSI (GET_H_GRC (FLD (f_rm)), 31);
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-} else {
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-} else {
-  {
-    SI opval = 0;
-    SET_H_GRC (FLD (f_rn), opval);
-    written |= (1 << 2);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* shll-compact: shll $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,shll_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_t;
-  tmp_t = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
-  {
-    SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 1);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = ((tmp_t) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* shll2-compact: shll2 $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,shll2_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 2);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* shll8-compact: shll8 $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,shll8_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 8);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* shll16-compact: shll16 $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,shll16_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = SLLSI (GET_H_GRC (FLD (f_rn)), 16);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* shlr-compact: shlr $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,shlr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_t;
-  tmp_t = ANDSI (GET_H_GRC (FLD (f_rn)), 1);
-  {
-    SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 1);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = ((tmp_t) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* shlr2-compact: shlr2 $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,shlr2_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 2);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* shlr8-compact: shlr8 $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,shlr8_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 8);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* shlr16-compact: shlr16 $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,shlr16_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 16);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* stc-gbr-compact: stc gbr, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,stc_gbr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_GBR ();
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* stc-vbr-compact: stc vbr, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,stc_vbr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_VBR ();
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* stcl-gbr-compact: stc.l gbr, @-$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,stcl_gbr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
-  {
-    SI opval = GET_H_GBR ();
-    SETMEMSI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* stcl-vbr-compact: stc.l vbr, @-$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,stcl_vbr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
-  {
-    SI opval = GET_H_VBR ();
-    SETMEMSI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* sts-fpscr-compact: sts fpscr, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,sts_fpscr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = CPU (h_fpscr);
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* stsl-fpscr-compact: sts.l fpscr, @-$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,stsl_fpscr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
-  {
-    SI opval = CPU (h_fpscr);
-    SETMEMSI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* sts-fpul-compact: sts fpul, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,sts_fpul_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = SUBWORDSFSI (CPU (h_fr[((UINT) 32)]));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* stsl-fpul-compact: sts.l fpul, @-$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,stsl_fpul_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
-  {
-    SF opval = CPU (h_fr[((UINT) 32)]);
-    SETMEMSF (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* sts-mach-compact: sts mach, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,sts_mach_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_MACH ();
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* stsl-mach-compact: sts.l mach, @-$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,stsl_mach_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
-  {
-    SI opval = GET_H_MACH ();
-    SETMEMSI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* sts-macl-compact: sts macl, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,sts_macl_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_MACL ();
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* stsl-macl-compact: sts.l macl, @-$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,stsl_macl_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
-  {
-    SI opval = GET_H_MACL ();
-    SETMEMSI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* sts-pr-compact: sts pr, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,sts_pr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = GET_H_PR ();
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* stsl-pr-compact: sts.l pr, @-$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,stsl_pr_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
-  {
-    SI opval = GET_H_PR ();
-    SETMEMSI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  {
-    SI opval = tmp_addr;
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* sub-compact: sub $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,sub_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* subc-compact: subc $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,subc_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_flag;
-  tmp_flag = SUBCFSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)), GET_H_TBIT ());
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = tmp_flag;
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* subv-compact: subv $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,subv_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  BI tmp_t;
-  tmp_t = SUBOFSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)), 0);
-  {
-    SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-  {
-    BI opval = ((tmp_t) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* swapb-compact: swap.b $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,swapb_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  UHI tmp_top_half;
-  UQI tmp_byte1;
-  UQI tmp_byte0;
-  tmp_top_half = SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 0);
-  tmp_byte1 = SUBWORDSIQI (GET_H_GRC (FLD (f_rm)), 2);
-  tmp_byte0 = SUBWORDSIQI (GET_H_GRC (FLD (f_rm)), 3);
-  {
-    SI opval = ORSI (SLLSI (tmp_top_half, 16), ORSI (SLLSI (tmp_byte0, 8), tmp_byte1));
-    SET_H_GRC (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* swapw-compact: swap.w $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,swapw_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* tasb-compact: tas.b @$rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,tasb_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  UQI tmp_byte;
-  tmp_byte = GETMEMUQI (current_cpu, pc, GET_H_GRC (FLD (f_rn)));
-  {
-    BI opval = ((EQQI (tmp_byte, 0)) ? (1) : (0));
-    SET_H_TBIT (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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* trapa-compact: trapa #$uimm8 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,trapa_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-sh64_compact_trapa (current_cpu, FLD (f_imm8), pc);
-
-  return vpc;
-#undef FLD
-}
-
-/* tst-compact: tst $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,tst_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = ((EQSI (ANDSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn))), 0)) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* tsti-compact: tst #$uimm8, r0 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,tsti_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    BI opval = ((EQSI (ANDSI (GET_H_GRC (((UINT) 0)), ZEXTSISI (FLD (f_imm8))), 0)) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* tstb-compact: tst.b #$imm8, @(r0, gbr) */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,tstb_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  tmp_addr = ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GBR ());
-  {
-    BI opval = ((EQQI (ANDQI (GETMEMUQI (current_cpu, pc, tmp_addr), FLD (f_imm8)), 0)) ? (1) : (0));
-    SET_H_TBIT (opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* xor-compact: xor $rm64, $rn64 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,xor_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    DI opval = XORDI (GET_H_GR (FLD (f_rn)), GET_H_GR (FLD (f_rm)));
-    SET_H_GR (FLD (f_rn), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* xori-compact: xor #$uimm8, r0 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,xori_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    SI opval = XORSI (GET_H_GRC (((UINT) 0)), ZEXTSIDI (FLD (f_imm8)));
-    SET_H_GRC (((UINT) 0), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* xorb-compact: xor.b #$imm8, @(r0, gbr) */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,xorb_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
-  DI tmp_addr;
-  UQI tmp_data;
-  tmp_addr = ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GBR ());
-  tmp_data = XORQI (GETMEMUQI (current_cpu, pc, tmp_addr), FLD (f_imm8));
-  {
-    UQI opval = tmp_data;
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* xtrct-compact: xtrct $rm, $rn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,xtrct_compact) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movl12_compact.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "grc", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* Table of all semantic fns.  */
-
-static const struct sem_fn_desc sem_fns[] = {
-  { SH64_COMPACT_INSN_X_INVALID, SEM_FN_NAME (sh64_compact,x_invalid) },
-  { SH64_COMPACT_INSN_X_AFTER, SEM_FN_NAME (sh64_compact,x_after) },
-  { SH64_COMPACT_INSN_X_BEFORE, SEM_FN_NAME (sh64_compact,x_before) },
-  { SH64_COMPACT_INSN_X_CTI_CHAIN, SEM_FN_NAME (sh64_compact,x_cti_chain) },
-  { SH64_COMPACT_INSN_X_CHAIN, SEM_FN_NAME (sh64_compact,x_chain) },
-  { SH64_COMPACT_INSN_X_BEGIN, SEM_FN_NAME (sh64_compact,x_begin) },
-  { SH64_COMPACT_INSN_ADD_COMPACT, SEM_FN_NAME (sh64_compact,add_compact) },
-  { SH64_COMPACT_INSN_ADDI_COMPACT, SEM_FN_NAME (sh64_compact,addi_compact) },
-  { SH64_COMPACT_INSN_ADDC_COMPACT, SEM_FN_NAME (sh64_compact,addc_compact) },
-  { SH64_COMPACT_INSN_ADDV_COMPACT, SEM_FN_NAME (sh64_compact,addv_compact) },
-  { SH64_COMPACT_INSN_AND_COMPACT, SEM_FN_NAME (sh64_compact,and_compact) },
-  { SH64_COMPACT_INSN_ANDI_COMPACT, SEM_FN_NAME (sh64_compact,andi_compact) },
-  { SH64_COMPACT_INSN_ANDB_COMPACT, SEM_FN_NAME (sh64_compact,andb_compact) },
-  { SH64_COMPACT_INSN_BF_COMPACT, SEM_FN_NAME (sh64_compact,bf_compact) },
-  { SH64_COMPACT_INSN_BFS_COMPACT, SEM_FN_NAME (sh64_compact,bfs_compact) },
-  { SH64_COMPACT_INSN_BRA_COMPACT, SEM_FN_NAME (sh64_compact,bra_compact) },
-  { SH64_COMPACT_INSN_BRAF_COMPACT, SEM_FN_NAME (sh64_compact,braf_compact) },
-  { SH64_COMPACT_INSN_BRK_COMPACT, SEM_FN_NAME (sh64_compact,brk_compact) },
-  { SH64_COMPACT_INSN_BSR_COMPACT, SEM_FN_NAME (sh64_compact,bsr_compact) },
-  { SH64_COMPACT_INSN_BSRF_COMPACT, SEM_FN_NAME (sh64_compact,bsrf_compact) },
-  { SH64_COMPACT_INSN_BT_COMPACT, SEM_FN_NAME (sh64_compact,bt_compact) },
-  { SH64_COMPACT_INSN_BTS_COMPACT, SEM_FN_NAME (sh64_compact,bts_compact) },
-  { SH64_COMPACT_INSN_CLRMAC_COMPACT, SEM_FN_NAME (sh64_compact,clrmac_compact) },
-  { SH64_COMPACT_INSN_CLRS_COMPACT, SEM_FN_NAME (sh64_compact,clrs_compact) },
-  { SH64_COMPACT_INSN_CLRT_COMPACT, SEM_FN_NAME (sh64_compact,clrt_compact) },
-  { SH64_COMPACT_INSN_CMPEQ_COMPACT, SEM_FN_NAME (sh64_compact,cmpeq_compact) },
-  { SH64_COMPACT_INSN_CMPEQI_COMPACT, SEM_FN_NAME (sh64_compact,cmpeqi_compact) },
-  { SH64_COMPACT_INSN_CMPGE_COMPACT, SEM_FN_NAME (sh64_compact,cmpge_compact) },
-  { SH64_COMPACT_INSN_CMPGT_COMPACT, SEM_FN_NAME (sh64_compact,cmpgt_compact) },
-  { SH64_COMPACT_INSN_CMPHI_COMPACT, SEM_FN_NAME (sh64_compact,cmphi_compact) },
-  { SH64_COMPACT_INSN_CMPHS_COMPACT, SEM_FN_NAME (sh64_compact,cmphs_compact) },
-  { SH64_COMPACT_INSN_CMPPL_COMPACT, SEM_FN_NAME (sh64_compact,cmppl_compact) },
-  { SH64_COMPACT_INSN_CMPPZ_COMPACT, SEM_FN_NAME (sh64_compact,cmppz_compact) },
-  { SH64_COMPACT_INSN_CMPSTR_COMPACT, SEM_FN_NAME (sh64_compact,cmpstr_compact) },
-  { SH64_COMPACT_INSN_DIV0S_COMPACT, SEM_FN_NAME (sh64_compact,div0s_compact) },
-  { SH64_COMPACT_INSN_DIV0U_COMPACT, SEM_FN_NAME (sh64_compact,div0u_compact) },
-  { SH64_COMPACT_INSN_DIV1_COMPACT, SEM_FN_NAME (sh64_compact,div1_compact) },
-  { SH64_COMPACT_INSN_DIVU_COMPACT, SEM_FN_NAME (sh64_compact,divu_compact) },
-  { SH64_COMPACT_INSN_MULR_COMPACT, SEM_FN_NAME (sh64_compact,mulr_compact) },
-  { SH64_COMPACT_INSN_DMULSL_COMPACT, SEM_FN_NAME (sh64_compact,dmulsl_compact) },
-  { SH64_COMPACT_INSN_DMULUL_COMPACT, SEM_FN_NAME (sh64_compact,dmulul_compact) },
-  { SH64_COMPACT_INSN_DT_COMPACT, SEM_FN_NAME (sh64_compact,dt_compact) },
-  { SH64_COMPACT_INSN_EXTSB_COMPACT, SEM_FN_NAME (sh64_compact,extsb_compact) },
-  { SH64_COMPACT_INSN_EXTSW_COMPACT, SEM_FN_NAME (sh64_compact,extsw_compact) },
-  { SH64_COMPACT_INSN_EXTUB_COMPACT, SEM_FN_NAME (sh64_compact,extub_compact) },
-  { SH64_COMPACT_INSN_EXTUW_COMPACT, SEM_FN_NAME (sh64_compact,extuw_compact) },
-  { SH64_COMPACT_INSN_FABS_COMPACT, SEM_FN_NAME (sh64_compact,fabs_compact) },
-  { SH64_COMPACT_INSN_FADD_COMPACT, SEM_FN_NAME (sh64_compact,fadd_compact) },
-  { SH64_COMPACT_INSN_FCMPEQ_COMPACT, SEM_FN_NAME (sh64_compact,fcmpeq_compact) },
-  { SH64_COMPACT_INSN_FCMPGT_COMPACT, SEM_FN_NAME (sh64_compact,fcmpgt_compact) },
-  { SH64_COMPACT_INSN_FCNVDS_COMPACT, SEM_FN_NAME (sh64_compact,fcnvds_compact) },
-  { SH64_COMPACT_INSN_FCNVSD_COMPACT, SEM_FN_NAME (sh64_compact,fcnvsd_compact) },
-  { SH64_COMPACT_INSN_FDIV_COMPACT, SEM_FN_NAME (sh64_compact,fdiv_compact) },
-  { SH64_COMPACT_INSN_FIPR_COMPACT, SEM_FN_NAME (sh64_compact,fipr_compact) },
-  { SH64_COMPACT_INSN_FLDS_COMPACT, SEM_FN_NAME (sh64_compact,flds_compact) },
-  { SH64_COMPACT_INSN_FLDI0_COMPACT, SEM_FN_NAME (sh64_compact,fldi0_compact) },
-  { SH64_COMPACT_INSN_FLDI1_COMPACT, SEM_FN_NAME (sh64_compact,fldi1_compact) },
-  { SH64_COMPACT_INSN_FLOAT_COMPACT, SEM_FN_NAME (sh64_compact,float_compact) },
-  { SH64_COMPACT_INSN_FMAC_COMPACT, SEM_FN_NAME (sh64_compact,fmac_compact) },
-  { SH64_COMPACT_INSN_FMOV1_COMPACT, SEM_FN_NAME (sh64_compact,fmov1_compact) },
-  { SH64_COMPACT_INSN_FMOV2_COMPACT, SEM_FN_NAME (sh64_compact,fmov2_compact) },
-  { SH64_COMPACT_INSN_FMOV3_COMPACT, SEM_FN_NAME (sh64_compact,fmov3_compact) },
-  { SH64_COMPACT_INSN_FMOV4_COMPACT, SEM_FN_NAME (sh64_compact,fmov4_compact) },
-  { SH64_COMPACT_INSN_FMOV5_COMPACT, SEM_FN_NAME (sh64_compact,fmov5_compact) },
-  { SH64_COMPACT_INSN_FMOV6_COMPACT, SEM_FN_NAME (sh64_compact,fmov6_compact) },
-  { SH64_COMPACT_INSN_FMOV7_COMPACT, SEM_FN_NAME (sh64_compact,fmov7_compact) },
-  { SH64_COMPACT_INSN_FMOV8_COMPACT, SEM_FN_NAME (sh64_compact,fmov8_compact) },
-  { SH64_COMPACT_INSN_FMOV9_COMPACT, SEM_FN_NAME (sh64_compact,fmov9_compact) },
-  { SH64_COMPACT_INSN_FMUL_COMPACT, SEM_FN_NAME (sh64_compact,fmul_compact) },
-  { SH64_COMPACT_INSN_FNEG_COMPACT, SEM_FN_NAME (sh64_compact,fneg_compact) },
-  { SH64_COMPACT_INSN_FRCHG_COMPACT, SEM_FN_NAME (sh64_compact,frchg_compact) },
-  { SH64_COMPACT_INSN_FSCHG_COMPACT, SEM_FN_NAME (sh64_compact,fschg_compact) },
-  { SH64_COMPACT_INSN_FSQRT_COMPACT, SEM_FN_NAME (sh64_compact,fsqrt_compact) },
-  { SH64_COMPACT_INSN_FSTS_COMPACT, SEM_FN_NAME (sh64_compact,fsts_compact) },
-  { SH64_COMPACT_INSN_FSUB_COMPACT, SEM_FN_NAME (sh64_compact,fsub_compact) },
-  { SH64_COMPACT_INSN_FTRC_COMPACT, SEM_FN_NAME (sh64_compact,ftrc_compact) },
-  { SH64_COMPACT_INSN_FTRV_COMPACT, SEM_FN_NAME (sh64_compact,ftrv_compact) },
-  { SH64_COMPACT_INSN_JMP_COMPACT, SEM_FN_NAME (sh64_compact,jmp_compact) },
-  { SH64_COMPACT_INSN_JSR_COMPACT, SEM_FN_NAME (sh64_compact,jsr_compact) },
-  { SH64_COMPACT_INSN_LDC_GBR_COMPACT, SEM_FN_NAME (sh64_compact,ldc_gbr_compact) },
-  { SH64_COMPACT_INSN_LDC_VBR_COMPACT, SEM_FN_NAME (sh64_compact,ldc_vbr_compact) },
-  { SH64_COMPACT_INSN_LDC_SR_COMPACT, SEM_FN_NAME (sh64_compact,ldc_sr_compact) },
-  { SH64_COMPACT_INSN_LDCL_GBR_COMPACT, SEM_FN_NAME (sh64_compact,ldcl_gbr_compact) },
-  { SH64_COMPACT_INSN_LDCL_VBR_COMPACT, SEM_FN_NAME (sh64_compact,ldcl_vbr_compact) },
-  { SH64_COMPACT_INSN_LDS_FPSCR_COMPACT, SEM_FN_NAME (sh64_compact,lds_fpscr_compact) },
-  { SH64_COMPACT_INSN_LDSL_FPSCR_COMPACT, SEM_FN_NAME (sh64_compact,ldsl_fpscr_compact) },
-  { SH64_COMPACT_INSN_LDS_FPUL_COMPACT, SEM_FN_NAME (sh64_compact,lds_fpul_compact) },
-  { SH64_COMPACT_INSN_LDSL_FPUL_COMPACT, SEM_FN_NAME (sh64_compact,ldsl_fpul_compact) },
-  { SH64_COMPACT_INSN_LDS_MACH_COMPACT, SEM_FN_NAME (sh64_compact,lds_mach_compact) },
-  { SH64_COMPACT_INSN_LDSL_MACH_COMPACT, SEM_FN_NAME (sh64_compact,ldsl_mach_compact) },
-  { SH64_COMPACT_INSN_LDS_MACL_COMPACT, SEM_FN_NAME (sh64_compact,lds_macl_compact) },
-  { SH64_COMPACT_INSN_LDSL_MACL_COMPACT, SEM_FN_NAME (sh64_compact,ldsl_macl_compact) },
-  { SH64_COMPACT_INSN_LDS_PR_COMPACT, SEM_FN_NAME (sh64_compact,lds_pr_compact) },
-  { SH64_COMPACT_INSN_LDSL_PR_COMPACT, SEM_FN_NAME (sh64_compact,ldsl_pr_compact) },
-  { SH64_COMPACT_INSN_MACL_COMPACT, SEM_FN_NAME (sh64_compact,macl_compact) },
-  { SH64_COMPACT_INSN_MACW_COMPACT, SEM_FN_NAME (sh64_compact,macw_compact) },
-  { SH64_COMPACT_INSN_MOV_COMPACT, SEM_FN_NAME (sh64_compact,mov_compact) },
-  { SH64_COMPACT_INSN_MOVI_COMPACT, SEM_FN_NAME (sh64_compact,movi_compact) },
-  { SH64_COMPACT_INSN_MOVI20_COMPACT, SEM_FN_NAME (sh64_compact,movi20_compact) },
-  { SH64_COMPACT_INSN_MOVB1_COMPACT, SEM_FN_NAME (sh64_compact,movb1_compact) },
-  { SH64_COMPACT_INSN_MOVB2_COMPACT, SEM_FN_NAME (sh64_compact,movb2_compact) },
-  { SH64_COMPACT_INSN_MOVB3_COMPACT, SEM_FN_NAME (sh64_compact,movb3_compact) },
-  { SH64_COMPACT_INSN_MOVB4_COMPACT, SEM_FN_NAME (sh64_compact,movb4_compact) },
-  { SH64_COMPACT_INSN_MOVB5_COMPACT, SEM_FN_NAME (sh64_compact,movb5_compact) },
-  { SH64_COMPACT_INSN_MOVB6_COMPACT, SEM_FN_NAME (sh64_compact,movb6_compact) },
-  { SH64_COMPACT_INSN_MOVB7_COMPACT, SEM_FN_NAME (sh64_compact,movb7_compact) },
-  { SH64_COMPACT_INSN_MOVB8_COMPACT, SEM_FN_NAME (sh64_compact,movb8_compact) },
-  { SH64_COMPACT_INSN_MOVB9_COMPACT, SEM_FN_NAME (sh64_compact,movb9_compact) },
-  { SH64_COMPACT_INSN_MOVB10_COMPACT, SEM_FN_NAME (sh64_compact,movb10_compact) },
-  { SH64_COMPACT_INSN_MOVL1_COMPACT, SEM_FN_NAME (sh64_compact,movl1_compact) },
-  { SH64_COMPACT_INSN_MOVL2_COMPACT, SEM_FN_NAME (sh64_compact,movl2_compact) },
-  { SH64_COMPACT_INSN_MOVL3_COMPACT, SEM_FN_NAME (sh64_compact,movl3_compact) },
-  { SH64_COMPACT_INSN_MOVL4_COMPACT, SEM_FN_NAME (sh64_compact,movl4_compact) },
-  { SH64_COMPACT_INSN_MOVL5_COMPACT, SEM_FN_NAME (sh64_compact,movl5_compact) },
-  { SH64_COMPACT_INSN_MOVL6_COMPACT, SEM_FN_NAME (sh64_compact,movl6_compact) },
-  { SH64_COMPACT_INSN_MOVL7_COMPACT, SEM_FN_NAME (sh64_compact,movl7_compact) },
-  { SH64_COMPACT_INSN_MOVL8_COMPACT, SEM_FN_NAME (sh64_compact,movl8_compact) },
-  { SH64_COMPACT_INSN_MOVL9_COMPACT, SEM_FN_NAME (sh64_compact,movl9_compact) },
-  { SH64_COMPACT_INSN_MOVL10_COMPACT, SEM_FN_NAME (sh64_compact,movl10_compact) },
-  { SH64_COMPACT_INSN_MOVL11_COMPACT, SEM_FN_NAME (sh64_compact,movl11_compact) },
-  { SH64_COMPACT_INSN_MOVL12_COMPACT, SEM_FN_NAME (sh64_compact,movl12_compact) },
-  { SH64_COMPACT_INSN_MOVL13_COMPACT, SEM_FN_NAME (sh64_compact,movl13_compact) },
-  { SH64_COMPACT_INSN_MOVW1_COMPACT, SEM_FN_NAME (sh64_compact,movw1_compact) },
-  { SH64_COMPACT_INSN_MOVW2_COMPACT, SEM_FN_NAME (sh64_compact,movw2_compact) },
-  { SH64_COMPACT_INSN_MOVW3_COMPACT, SEM_FN_NAME (sh64_compact,movw3_compact) },
-  { SH64_COMPACT_INSN_MOVW4_COMPACT, SEM_FN_NAME (sh64_compact,movw4_compact) },
-  { SH64_COMPACT_INSN_MOVW5_COMPACT, SEM_FN_NAME (sh64_compact,movw5_compact) },
-  { SH64_COMPACT_INSN_MOVW6_COMPACT, SEM_FN_NAME (sh64_compact,movw6_compact) },
-  { SH64_COMPACT_INSN_MOVW7_COMPACT, SEM_FN_NAME (sh64_compact,movw7_compact) },
-  { SH64_COMPACT_INSN_MOVW8_COMPACT, SEM_FN_NAME (sh64_compact,movw8_compact) },
-  { SH64_COMPACT_INSN_MOVW9_COMPACT, SEM_FN_NAME (sh64_compact,movw9_compact) },
-  { SH64_COMPACT_INSN_MOVW10_COMPACT, SEM_FN_NAME (sh64_compact,movw10_compact) },
-  { SH64_COMPACT_INSN_MOVW11_COMPACT, SEM_FN_NAME (sh64_compact,movw11_compact) },
-  { SH64_COMPACT_INSN_MOVA_COMPACT, SEM_FN_NAME (sh64_compact,mova_compact) },
-  { SH64_COMPACT_INSN_MOVCAL_COMPACT, SEM_FN_NAME (sh64_compact,movcal_compact) },
-  { SH64_COMPACT_INSN_MOVCOL_COMPACT, SEM_FN_NAME (sh64_compact,movcol_compact) },
-  { SH64_COMPACT_INSN_MOVT_COMPACT, SEM_FN_NAME (sh64_compact,movt_compact) },
-  { SH64_COMPACT_INSN_MOVUAL_COMPACT, SEM_FN_NAME (sh64_compact,movual_compact) },
-  { SH64_COMPACT_INSN_MOVUAL2_COMPACT, SEM_FN_NAME (sh64_compact,movual2_compact) },
-  { SH64_COMPACT_INSN_MULL_COMPACT, SEM_FN_NAME (sh64_compact,mull_compact) },
-  { SH64_COMPACT_INSN_MULSW_COMPACT, SEM_FN_NAME (sh64_compact,mulsw_compact) },
-  { SH64_COMPACT_INSN_MULUW_COMPACT, SEM_FN_NAME (sh64_compact,muluw_compact) },
-  { SH64_COMPACT_INSN_NEG_COMPACT, SEM_FN_NAME (sh64_compact,neg_compact) },
-  { SH64_COMPACT_INSN_NEGC_COMPACT, SEM_FN_NAME (sh64_compact,negc_compact) },
-  { SH64_COMPACT_INSN_NOP_COMPACT, SEM_FN_NAME (sh64_compact,nop_compact) },
-  { SH64_COMPACT_INSN_NOT_COMPACT, SEM_FN_NAME (sh64_compact,not_compact) },
-  { SH64_COMPACT_INSN_OCBI_COMPACT, SEM_FN_NAME (sh64_compact,ocbi_compact) },
-  { SH64_COMPACT_INSN_OCBP_COMPACT, SEM_FN_NAME (sh64_compact,ocbp_compact) },
-  { SH64_COMPACT_INSN_OCBWB_COMPACT, SEM_FN_NAME (sh64_compact,ocbwb_compact) },
-  { SH64_COMPACT_INSN_OR_COMPACT, SEM_FN_NAME (sh64_compact,or_compact) },
-  { SH64_COMPACT_INSN_ORI_COMPACT, SEM_FN_NAME (sh64_compact,ori_compact) },
-  { SH64_COMPACT_INSN_ORB_COMPACT, SEM_FN_NAME (sh64_compact,orb_compact) },
-  { SH64_COMPACT_INSN_PREF_COMPACT, SEM_FN_NAME (sh64_compact,pref_compact) },
-  { SH64_COMPACT_INSN_ROTCL_COMPACT, SEM_FN_NAME (sh64_compact,rotcl_compact) },
-  { SH64_COMPACT_INSN_ROTCR_COMPACT, SEM_FN_NAME (sh64_compact,rotcr_compact) },
-  { SH64_COMPACT_INSN_ROTL_COMPACT, SEM_FN_NAME (sh64_compact,rotl_compact) },
-  { SH64_COMPACT_INSN_ROTR_COMPACT, SEM_FN_NAME (sh64_compact,rotr_compact) },
-  { SH64_COMPACT_INSN_RTS_COMPACT, SEM_FN_NAME (sh64_compact,rts_compact) },
-  { SH64_COMPACT_INSN_SETS_COMPACT, SEM_FN_NAME (sh64_compact,sets_compact) },
-  { SH64_COMPACT_INSN_SETT_COMPACT, SEM_FN_NAME (sh64_compact,sett_compact) },
-  { SH64_COMPACT_INSN_SHAD_COMPACT, SEM_FN_NAME (sh64_compact,shad_compact) },
-  { SH64_COMPACT_INSN_SHAL_COMPACT, SEM_FN_NAME (sh64_compact,shal_compact) },
-  { SH64_COMPACT_INSN_SHAR_COMPACT, SEM_FN_NAME (sh64_compact,shar_compact) },
-  { SH64_COMPACT_INSN_SHLD_COMPACT, SEM_FN_NAME (sh64_compact,shld_compact) },
-  { SH64_COMPACT_INSN_SHLL_COMPACT, SEM_FN_NAME (sh64_compact,shll_compact) },
-  { SH64_COMPACT_INSN_SHLL2_COMPACT, SEM_FN_NAME (sh64_compact,shll2_compact) },
-  { SH64_COMPACT_INSN_SHLL8_COMPACT, SEM_FN_NAME (sh64_compact,shll8_compact) },
-  { SH64_COMPACT_INSN_SHLL16_COMPACT, SEM_FN_NAME (sh64_compact,shll16_compact) },
-  { SH64_COMPACT_INSN_SHLR_COMPACT, SEM_FN_NAME (sh64_compact,shlr_compact) },
-  { SH64_COMPACT_INSN_SHLR2_COMPACT, SEM_FN_NAME (sh64_compact,shlr2_compact) },
-  { SH64_COMPACT_INSN_SHLR8_COMPACT, SEM_FN_NAME (sh64_compact,shlr8_compact) },
-  { SH64_COMPACT_INSN_SHLR16_COMPACT, SEM_FN_NAME (sh64_compact,shlr16_compact) },
-  { SH64_COMPACT_INSN_STC_GBR_COMPACT, SEM_FN_NAME (sh64_compact,stc_gbr_compact) },
-  { SH64_COMPACT_INSN_STC_VBR_COMPACT, SEM_FN_NAME (sh64_compact,stc_vbr_compact) },
-  { SH64_COMPACT_INSN_STCL_GBR_COMPACT, SEM_FN_NAME (sh64_compact,stcl_gbr_compact) },
-  { SH64_COMPACT_INSN_STCL_VBR_COMPACT, SEM_FN_NAME (sh64_compact,stcl_vbr_compact) },
-  { SH64_COMPACT_INSN_STS_FPSCR_COMPACT, SEM_FN_NAME (sh64_compact,sts_fpscr_compact) },
-  { SH64_COMPACT_INSN_STSL_FPSCR_COMPACT, SEM_FN_NAME (sh64_compact,stsl_fpscr_compact) },
-  { SH64_COMPACT_INSN_STS_FPUL_COMPACT, SEM_FN_NAME (sh64_compact,sts_fpul_compact) },
-  { SH64_COMPACT_INSN_STSL_FPUL_COMPACT, SEM_FN_NAME (sh64_compact,stsl_fpul_compact) },
-  { SH64_COMPACT_INSN_STS_MACH_COMPACT, SEM_FN_NAME (sh64_compact,sts_mach_compact) },
-  { SH64_COMPACT_INSN_STSL_MACH_COMPACT, SEM_FN_NAME (sh64_compact,stsl_mach_compact) },
-  { SH64_COMPACT_INSN_STS_MACL_COMPACT, SEM_FN_NAME (sh64_compact,sts_macl_compact) },
-  { SH64_COMPACT_INSN_STSL_MACL_COMPACT, SEM_FN_NAME (sh64_compact,stsl_macl_compact) },
-  { SH64_COMPACT_INSN_STS_PR_COMPACT, SEM_FN_NAME (sh64_compact,sts_pr_compact) },
-  { SH64_COMPACT_INSN_STSL_PR_COMPACT, SEM_FN_NAME (sh64_compact,stsl_pr_compact) },
-  { SH64_COMPACT_INSN_SUB_COMPACT, SEM_FN_NAME (sh64_compact,sub_compact) },
-  { SH64_COMPACT_INSN_SUBC_COMPACT, SEM_FN_NAME (sh64_compact,subc_compact) },
-  { SH64_COMPACT_INSN_SUBV_COMPACT, SEM_FN_NAME (sh64_compact,subv_compact) },
-  { SH64_COMPACT_INSN_SWAPB_COMPACT, SEM_FN_NAME (sh64_compact,swapb_compact) },
-  { SH64_COMPACT_INSN_SWAPW_COMPACT, SEM_FN_NAME (sh64_compact,swapw_compact) },
-  { SH64_COMPACT_INSN_TASB_COMPACT, SEM_FN_NAME (sh64_compact,tasb_compact) },
-  { SH64_COMPACT_INSN_TRAPA_COMPACT, SEM_FN_NAME (sh64_compact,trapa_compact) },
-  { SH64_COMPACT_INSN_TST_COMPACT, SEM_FN_NAME (sh64_compact,tst_compact) },
-  { SH64_COMPACT_INSN_TSTI_COMPACT, SEM_FN_NAME (sh64_compact,tsti_compact) },
-  { SH64_COMPACT_INSN_TSTB_COMPACT, SEM_FN_NAME (sh64_compact,tstb_compact) },
-  { SH64_COMPACT_INSN_XOR_COMPACT, SEM_FN_NAME (sh64_compact,xor_compact) },
-  { SH64_COMPACT_INSN_XORI_COMPACT, SEM_FN_NAME (sh64_compact,xori_compact) },
-  { SH64_COMPACT_INSN_XORB_COMPACT, SEM_FN_NAME (sh64_compact,xorb_compact) },
-  { SH64_COMPACT_INSN_XTRCT_COMPACT, SEM_FN_NAME (sh64_compact,xtrct_compact) },
-  { 0, 0 }
-};
-
-/* Add the semantic fns to IDESC_TABLE.  */
-
-void
-SEM_FN_NAME (sh64_compact,init_idesc_table) (SIM_CPU *current_cpu)
-{
-  IDESC *idesc_table = CPU_IDESC (current_cpu);
-  const struct sem_fn_desc *sf;
-  int mach_num = MACH_NUM (CPU_MACH (current_cpu));
-
-  for (sf = &sem_fns[0]; sf->fn != 0; ++sf)
-    {
-      const CGEN_INSN *insn = idesc_table[sf->index].idata;
-      int valid_p = (CGEN_INSN_VIRTUAL_P (insn)
-                    || CGEN_INSN_MACH_HAS_P (insn, mach_num));
-#if FAST_P
-      if (valid_p)
-       idesc_table[sf->index].sem_fast = sf->fn;
-      else
-       idesc_table[sf->index].sem_fast = SEM_FN_NAME (sh64_compact,x_invalid);
-#else
-      if (valid_p)
-       idesc_table[sf->index].sem_full = sf->fn;
-      else
-       idesc_table[sf->index].sem_full = SEM_FN_NAME (sh64_compact,x_invalid);
-#endif
-    }
-}
-
diff --git a/sim/sh64/sem-media-switch.c b/sim/sh64/sem-media-switch.c
deleted file mode 100644 (file)
index f16a6b3..0000000
+++ /dev/null
@@ -1,5656 +0,0 @@
-/* Simulator instruction semantics for sh64.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996-2021 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   It is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License along
-   with this program; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#ifdef DEFINE_LABELS
-
-  /* The labels have the case they have because the enum of insn types
-     is all uppercase and in the non-stdc case the insn symbol is built
-     into the enum name.  */
-
-  static struct {
-    int index;
-    void *label;
-  } labels[] = {
-    { SH64_MEDIA_INSN_X_INVALID, && case_sem_INSN_X_INVALID },
-    { SH64_MEDIA_INSN_X_AFTER, && case_sem_INSN_X_AFTER },
-    { SH64_MEDIA_INSN_X_BEFORE, && case_sem_INSN_X_BEFORE },
-    { SH64_MEDIA_INSN_X_CTI_CHAIN, && case_sem_INSN_X_CTI_CHAIN },
-    { SH64_MEDIA_INSN_X_CHAIN, && case_sem_INSN_X_CHAIN },
-    { SH64_MEDIA_INSN_X_BEGIN, && case_sem_INSN_X_BEGIN },
-    { SH64_MEDIA_INSN_ADD, && case_sem_INSN_ADD },
-    { SH64_MEDIA_INSN_ADDL, && case_sem_INSN_ADDL },
-    { SH64_MEDIA_INSN_ADDI, && case_sem_INSN_ADDI },
-    { SH64_MEDIA_INSN_ADDIL, && case_sem_INSN_ADDIL },
-    { SH64_MEDIA_INSN_ADDZL, && case_sem_INSN_ADDZL },
-    { SH64_MEDIA_INSN_ALLOCO, && case_sem_INSN_ALLOCO },
-    { SH64_MEDIA_INSN_AND, && case_sem_INSN_AND },
-    { SH64_MEDIA_INSN_ANDC, && case_sem_INSN_ANDC },
-    { SH64_MEDIA_INSN_ANDI, && case_sem_INSN_ANDI },
-    { SH64_MEDIA_INSN_BEQ, && case_sem_INSN_BEQ },
-    { SH64_MEDIA_INSN_BEQI, && case_sem_INSN_BEQI },
-    { SH64_MEDIA_INSN_BGE, && case_sem_INSN_BGE },
-    { SH64_MEDIA_INSN_BGEU, && case_sem_INSN_BGEU },
-    { SH64_MEDIA_INSN_BGT, && case_sem_INSN_BGT },
-    { SH64_MEDIA_INSN_BGTU, && case_sem_INSN_BGTU },
-    { SH64_MEDIA_INSN_BLINK, && case_sem_INSN_BLINK },
-    { SH64_MEDIA_INSN_BNE, && case_sem_INSN_BNE },
-    { SH64_MEDIA_INSN_BNEI, && case_sem_INSN_BNEI },
-    { SH64_MEDIA_INSN_BRK, && case_sem_INSN_BRK },
-    { SH64_MEDIA_INSN_BYTEREV, && case_sem_INSN_BYTEREV },
-    { SH64_MEDIA_INSN_CMPEQ, && case_sem_INSN_CMPEQ },
-    { SH64_MEDIA_INSN_CMPGT, && case_sem_INSN_CMPGT },
-    { SH64_MEDIA_INSN_CMPGTU, && case_sem_INSN_CMPGTU },
-    { SH64_MEDIA_INSN_CMVEQ, && case_sem_INSN_CMVEQ },
-    { SH64_MEDIA_INSN_CMVNE, && case_sem_INSN_CMVNE },
-    { SH64_MEDIA_INSN_FABSD, && case_sem_INSN_FABSD },
-    { SH64_MEDIA_INSN_FABSS, && case_sem_INSN_FABSS },
-    { SH64_MEDIA_INSN_FADDD, && case_sem_INSN_FADDD },
-    { SH64_MEDIA_INSN_FADDS, && case_sem_INSN_FADDS },
-    { SH64_MEDIA_INSN_FCMPEQD, && case_sem_INSN_FCMPEQD },
-    { SH64_MEDIA_INSN_FCMPEQS, && case_sem_INSN_FCMPEQS },
-    { SH64_MEDIA_INSN_FCMPGED, && case_sem_INSN_FCMPGED },
-    { SH64_MEDIA_INSN_FCMPGES, && case_sem_INSN_FCMPGES },
-    { SH64_MEDIA_INSN_FCMPGTD, && case_sem_INSN_FCMPGTD },
-    { SH64_MEDIA_INSN_FCMPGTS, && case_sem_INSN_FCMPGTS },
-    { SH64_MEDIA_INSN_FCMPUND, && case_sem_INSN_FCMPUND },
-    { SH64_MEDIA_INSN_FCMPUNS, && case_sem_INSN_FCMPUNS },
-    { SH64_MEDIA_INSN_FCNVDS, && case_sem_INSN_FCNVDS },
-    { SH64_MEDIA_INSN_FCNVSD, && case_sem_INSN_FCNVSD },
-    { SH64_MEDIA_INSN_FDIVD, && case_sem_INSN_FDIVD },
-    { SH64_MEDIA_INSN_FDIVS, && case_sem_INSN_FDIVS },
-    { SH64_MEDIA_INSN_FGETSCR, && case_sem_INSN_FGETSCR },
-    { SH64_MEDIA_INSN_FIPRS, && case_sem_INSN_FIPRS },
-    { SH64_MEDIA_INSN_FLDD, && case_sem_INSN_FLDD },
-    { SH64_MEDIA_INSN_FLDP, && case_sem_INSN_FLDP },
-    { SH64_MEDIA_INSN_FLDS, && case_sem_INSN_FLDS },
-    { SH64_MEDIA_INSN_FLDXD, && case_sem_INSN_FLDXD },
-    { SH64_MEDIA_INSN_FLDXP, && case_sem_INSN_FLDXP },
-    { SH64_MEDIA_INSN_FLDXS, && case_sem_INSN_FLDXS },
-    { SH64_MEDIA_INSN_FLOATLD, && case_sem_INSN_FLOATLD },
-    { SH64_MEDIA_INSN_FLOATLS, && case_sem_INSN_FLOATLS },
-    { SH64_MEDIA_INSN_FLOATQD, && case_sem_INSN_FLOATQD },
-    { SH64_MEDIA_INSN_FLOATQS, && case_sem_INSN_FLOATQS },
-    { SH64_MEDIA_INSN_FMACS, && case_sem_INSN_FMACS },
-    { SH64_MEDIA_INSN_FMOVD, && case_sem_INSN_FMOVD },
-    { SH64_MEDIA_INSN_FMOVDQ, && case_sem_INSN_FMOVDQ },
-    { SH64_MEDIA_INSN_FMOVLS, && case_sem_INSN_FMOVLS },
-    { SH64_MEDIA_INSN_FMOVQD, && case_sem_INSN_FMOVQD },
-    { SH64_MEDIA_INSN_FMOVS, && case_sem_INSN_FMOVS },
-    { SH64_MEDIA_INSN_FMOVSL, && case_sem_INSN_FMOVSL },
-    { SH64_MEDIA_INSN_FMULD, && case_sem_INSN_FMULD },
-    { SH64_MEDIA_INSN_FMULS, && case_sem_INSN_FMULS },
-    { SH64_MEDIA_INSN_FNEGD, && case_sem_INSN_FNEGD },
-    { SH64_MEDIA_INSN_FNEGS, && case_sem_INSN_FNEGS },
-    { SH64_MEDIA_INSN_FPUTSCR, && case_sem_INSN_FPUTSCR },
-    { SH64_MEDIA_INSN_FSQRTD, && case_sem_INSN_FSQRTD },
-    { SH64_MEDIA_INSN_FSQRTS, && case_sem_INSN_FSQRTS },
-    { SH64_MEDIA_INSN_FSTD, && case_sem_INSN_FSTD },
-    { SH64_MEDIA_INSN_FSTP, && case_sem_INSN_FSTP },
-    { SH64_MEDIA_INSN_FSTS, && case_sem_INSN_FSTS },
-    { SH64_MEDIA_INSN_FSTXD, && case_sem_INSN_FSTXD },
-    { SH64_MEDIA_INSN_FSTXP, && case_sem_INSN_FSTXP },
-    { SH64_MEDIA_INSN_FSTXS, && case_sem_INSN_FSTXS },
-    { SH64_MEDIA_INSN_FSUBD, && case_sem_INSN_FSUBD },
-    { SH64_MEDIA_INSN_FSUBS, && case_sem_INSN_FSUBS },
-    { SH64_MEDIA_INSN_FTRCDL, && case_sem_INSN_FTRCDL },
-    { SH64_MEDIA_INSN_FTRCSL, && case_sem_INSN_FTRCSL },
-    { SH64_MEDIA_INSN_FTRCDQ, && case_sem_INSN_FTRCDQ },
-    { SH64_MEDIA_INSN_FTRCSQ, && case_sem_INSN_FTRCSQ },
-    { SH64_MEDIA_INSN_FTRVS, && case_sem_INSN_FTRVS },
-    { SH64_MEDIA_INSN_GETCFG, && case_sem_INSN_GETCFG },
-    { SH64_MEDIA_INSN_GETCON, && case_sem_INSN_GETCON },
-    { SH64_MEDIA_INSN_GETTR, && case_sem_INSN_GETTR },
-    { SH64_MEDIA_INSN_ICBI, && case_sem_INSN_ICBI },
-    { SH64_MEDIA_INSN_LDB, && case_sem_INSN_LDB },
-    { SH64_MEDIA_INSN_LDL, && case_sem_INSN_LDL },
-    { SH64_MEDIA_INSN_LDQ, && case_sem_INSN_LDQ },
-    { SH64_MEDIA_INSN_LDUB, && case_sem_INSN_LDUB },
-    { SH64_MEDIA_INSN_LDUW, && case_sem_INSN_LDUW },
-    { SH64_MEDIA_INSN_LDW, && case_sem_INSN_LDW },
-    { SH64_MEDIA_INSN_LDHIL, && case_sem_INSN_LDHIL },
-    { SH64_MEDIA_INSN_LDHIQ, && case_sem_INSN_LDHIQ },
-    { SH64_MEDIA_INSN_LDLOL, && case_sem_INSN_LDLOL },
-    { SH64_MEDIA_INSN_LDLOQ, && case_sem_INSN_LDLOQ },
-    { SH64_MEDIA_INSN_LDXB, && case_sem_INSN_LDXB },
-    { SH64_MEDIA_INSN_LDXL, && case_sem_INSN_LDXL },
-    { SH64_MEDIA_INSN_LDXQ, && case_sem_INSN_LDXQ },
-    { SH64_MEDIA_INSN_LDXUB, && case_sem_INSN_LDXUB },
-    { SH64_MEDIA_INSN_LDXUW, && case_sem_INSN_LDXUW },
-    { SH64_MEDIA_INSN_LDXW, && case_sem_INSN_LDXW },
-    { SH64_MEDIA_INSN_MABSL, && case_sem_INSN_MABSL },
-    { SH64_MEDIA_INSN_MABSW, && case_sem_INSN_MABSW },
-    { SH64_MEDIA_INSN_MADDL, && case_sem_INSN_MADDL },
-    { SH64_MEDIA_INSN_MADDW, && case_sem_INSN_MADDW },
-    { SH64_MEDIA_INSN_MADDSL, && case_sem_INSN_MADDSL },
-    { SH64_MEDIA_INSN_MADDSUB, && case_sem_INSN_MADDSUB },
-    { SH64_MEDIA_INSN_MADDSW, && case_sem_INSN_MADDSW },
-    { SH64_MEDIA_INSN_MCMPEQB, && case_sem_INSN_MCMPEQB },
-    { SH64_MEDIA_INSN_MCMPEQL, && case_sem_INSN_MCMPEQL },
-    { SH64_MEDIA_INSN_MCMPEQW, && case_sem_INSN_MCMPEQW },
-    { SH64_MEDIA_INSN_MCMPGTL, && case_sem_INSN_MCMPGTL },
-    { SH64_MEDIA_INSN_MCMPGTUB, && case_sem_INSN_MCMPGTUB },
-    { SH64_MEDIA_INSN_MCMPGTW, && case_sem_INSN_MCMPGTW },
-    { SH64_MEDIA_INSN_MCMV, && case_sem_INSN_MCMV },
-    { SH64_MEDIA_INSN_MCNVSLW, && case_sem_INSN_MCNVSLW },
-    { SH64_MEDIA_INSN_MCNVSWB, && case_sem_INSN_MCNVSWB },
-    { SH64_MEDIA_INSN_MCNVSWUB, && case_sem_INSN_MCNVSWUB },
-    { SH64_MEDIA_INSN_MEXTR1, && case_sem_INSN_MEXTR1 },
-    { SH64_MEDIA_INSN_MEXTR2, && case_sem_INSN_MEXTR2 },
-    { SH64_MEDIA_INSN_MEXTR3, && case_sem_INSN_MEXTR3 },
-    { SH64_MEDIA_INSN_MEXTR4, && case_sem_INSN_MEXTR4 },
-    { SH64_MEDIA_INSN_MEXTR5, && case_sem_INSN_MEXTR5 },
-    { SH64_MEDIA_INSN_MEXTR6, && case_sem_INSN_MEXTR6 },
-    { SH64_MEDIA_INSN_MEXTR7, && case_sem_INSN_MEXTR7 },
-    { SH64_MEDIA_INSN_MMACFXWL, && case_sem_INSN_MMACFXWL },
-    { SH64_MEDIA_INSN_MMACNFX_WL, && case_sem_INSN_MMACNFX_WL },
-    { SH64_MEDIA_INSN_MMULL, && case_sem_INSN_MMULL },
-    { SH64_MEDIA_INSN_MMULW, && case_sem_INSN_MMULW },
-    { SH64_MEDIA_INSN_MMULFXL, && case_sem_INSN_MMULFXL },
-    { SH64_MEDIA_INSN_MMULFXW, && case_sem_INSN_MMULFXW },
-    { SH64_MEDIA_INSN_MMULFXRPW, && case_sem_INSN_MMULFXRPW },
-    { SH64_MEDIA_INSN_MMULHIWL, && case_sem_INSN_MMULHIWL },
-    { SH64_MEDIA_INSN_MMULLOWL, && case_sem_INSN_MMULLOWL },
-    { SH64_MEDIA_INSN_MMULSUMWQ, && case_sem_INSN_MMULSUMWQ },
-    { SH64_MEDIA_INSN_MOVI, && case_sem_INSN_MOVI },
-    { SH64_MEDIA_INSN_MPERMW, && case_sem_INSN_MPERMW },
-    { SH64_MEDIA_INSN_MSADUBQ, && case_sem_INSN_MSADUBQ },
-    { SH64_MEDIA_INSN_MSHALDSL, && case_sem_INSN_MSHALDSL },
-    { SH64_MEDIA_INSN_MSHALDSW, && case_sem_INSN_MSHALDSW },
-    { SH64_MEDIA_INSN_MSHARDL, && case_sem_INSN_MSHARDL },
-    { SH64_MEDIA_INSN_MSHARDW, && case_sem_INSN_MSHARDW },
-    { SH64_MEDIA_INSN_MSHARDSQ, && case_sem_INSN_MSHARDSQ },
-    { SH64_MEDIA_INSN_MSHFHIB, && case_sem_INSN_MSHFHIB },
-    { SH64_MEDIA_INSN_MSHFHIL, && case_sem_INSN_MSHFHIL },
-    { SH64_MEDIA_INSN_MSHFHIW, && case_sem_INSN_MSHFHIW },
-    { SH64_MEDIA_INSN_MSHFLOB, && case_sem_INSN_MSHFLOB },
-    { SH64_MEDIA_INSN_MSHFLOL, && case_sem_INSN_MSHFLOL },
-    { SH64_MEDIA_INSN_MSHFLOW, && case_sem_INSN_MSHFLOW },
-    { SH64_MEDIA_INSN_MSHLLDL, && case_sem_INSN_MSHLLDL },
-    { SH64_MEDIA_INSN_MSHLLDW, && case_sem_INSN_MSHLLDW },
-    { SH64_MEDIA_INSN_MSHLRDL, && case_sem_INSN_MSHLRDL },
-    { SH64_MEDIA_INSN_MSHLRDW, && case_sem_INSN_MSHLRDW },
-    { SH64_MEDIA_INSN_MSUBL, && case_sem_INSN_MSUBL },
-    { SH64_MEDIA_INSN_MSUBW, && case_sem_INSN_MSUBW },
-    { SH64_MEDIA_INSN_MSUBSL, && case_sem_INSN_MSUBSL },
-    { SH64_MEDIA_INSN_MSUBSUB, && case_sem_INSN_MSUBSUB },
-    { SH64_MEDIA_INSN_MSUBSW, && case_sem_INSN_MSUBSW },
-    { SH64_MEDIA_INSN_MULSL, && case_sem_INSN_MULSL },
-    { SH64_MEDIA_INSN_MULUL, && case_sem_INSN_MULUL },
-    { SH64_MEDIA_INSN_NOP, && case_sem_INSN_NOP },
-    { SH64_MEDIA_INSN_NSB, && case_sem_INSN_NSB },
-    { SH64_MEDIA_INSN_OCBI, && case_sem_INSN_OCBI },
-    { SH64_MEDIA_INSN_OCBP, && case_sem_INSN_OCBP },
-    { SH64_MEDIA_INSN_OCBWB, && case_sem_INSN_OCBWB },
-    { SH64_MEDIA_INSN_OR, && case_sem_INSN_OR },
-    { SH64_MEDIA_INSN_ORI, && case_sem_INSN_ORI },
-    { SH64_MEDIA_INSN_PREFI, && case_sem_INSN_PREFI },
-    { SH64_MEDIA_INSN_PTA, && case_sem_INSN_PTA },
-    { SH64_MEDIA_INSN_PTABS, && case_sem_INSN_PTABS },
-    { SH64_MEDIA_INSN_PTB, && case_sem_INSN_PTB },
-    { SH64_MEDIA_INSN_PTREL, && case_sem_INSN_PTREL },
-    { SH64_MEDIA_INSN_PUTCFG, && case_sem_INSN_PUTCFG },
-    { SH64_MEDIA_INSN_PUTCON, && case_sem_INSN_PUTCON },
-    { SH64_MEDIA_INSN_RTE, && case_sem_INSN_RTE },
-    { SH64_MEDIA_INSN_SHARD, && case_sem_INSN_SHARD },
-    { SH64_MEDIA_INSN_SHARDL, && case_sem_INSN_SHARDL },
-    { SH64_MEDIA_INSN_SHARI, && case_sem_INSN_SHARI },
-    { SH64_MEDIA_INSN_SHARIL, && case_sem_INSN_SHARIL },
-    { SH64_MEDIA_INSN_SHLLD, && case_sem_INSN_SHLLD },
-    { SH64_MEDIA_INSN_SHLLDL, && case_sem_INSN_SHLLDL },
-    { SH64_MEDIA_INSN_SHLLI, && case_sem_INSN_SHLLI },
-    { SH64_MEDIA_INSN_SHLLIL, && case_sem_INSN_SHLLIL },
-    { SH64_MEDIA_INSN_SHLRD, && case_sem_INSN_SHLRD },
-    { SH64_MEDIA_INSN_SHLRDL, && case_sem_INSN_SHLRDL },
-    { SH64_MEDIA_INSN_SHLRI, && case_sem_INSN_SHLRI },
-    { SH64_MEDIA_INSN_SHLRIL, && case_sem_INSN_SHLRIL },
-    { SH64_MEDIA_INSN_SHORI, && case_sem_INSN_SHORI },
-    { SH64_MEDIA_INSN_SLEEP, && case_sem_INSN_SLEEP },
-    { SH64_MEDIA_INSN_STB, && case_sem_INSN_STB },
-    { SH64_MEDIA_INSN_STL, && case_sem_INSN_STL },
-    { SH64_MEDIA_INSN_STQ, && case_sem_INSN_STQ },
-    { SH64_MEDIA_INSN_STW, && case_sem_INSN_STW },
-    { SH64_MEDIA_INSN_STHIL, && case_sem_INSN_STHIL },
-    { SH64_MEDIA_INSN_STHIQ, && case_sem_INSN_STHIQ },
-    { SH64_MEDIA_INSN_STLOL, && case_sem_INSN_STLOL },
-    { SH64_MEDIA_INSN_STLOQ, && case_sem_INSN_STLOQ },
-    { SH64_MEDIA_INSN_STXB, && case_sem_INSN_STXB },
-    { SH64_MEDIA_INSN_STXL, && case_sem_INSN_STXL },
-    { SH64_MEDIA_INSN_STXQ, && case_sem_INSN_STXQ },
-    { SH64_MEDIA_INSN_STXW, && case_sem_INSN_STXW },
-    { SH64_MEDIA_INSN_SUB, && case_sem_INSN_SUB },
-    { SH64_MEDIA_INSN_SUBL, && case_sem_INSN_SUBL },
-    { SH64_MEDIA_INSN_SWAPQ, && case_sem_INSN_SWAPQ },
-    { SH64_MEDIA_INSN_SYNCI, && case_sem_INSN_SYNCI },
-    { SH64_MEDIA_INSN_SYNCO, && case_sem_INSN_SYNCO },
-    { SH64_MEDIA_INSN_TRAPA, && case_sem_INSN_TRAPA },
-    { SH64_MEDIA_INSN_XOR, && case_sem_INSN_XOR },
-    { SH64_MEDIA_INSN_XORI, && case_sem_INSN_XORI },
-    { 0, 0 }
-  };
-  int i;
-
-  for (i = 0; labels[i].label != 0; ++i)
-    {
-#if FAST_P
-      CPU_IDESC (current_cpu) [labels[i].index].sem_fast_lab = labels[i].label;
-#else
-      CPU_IDESC (current_cpu) [labels[i].index].sem_full_lab = labels[i].label;
-#endif
-    }
-
-#undef DEFINE_LABELS
-#endif /* DEFINE_LABELS */
-
-#ifdef DEFINE_SWITCH
-
-/* 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 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 CGEN_TRACE_RESULT
-#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
-#endif
-
-#undef GET_ATTR
-#define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_##attr)
-
-{
-
-#if WITH_SCACHE_PBB
-
-/* Branch to next handler without going around main loop.  */
-#define NEXT(vpc) goto * SEM_ARGBUF (vpc) -> semantic.sem_case
-SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case)
-
-#else /* ! WITH_SCACHE_PBB */
-
-#define NEXT(vpc) BREAK (sem)
-#ifdef __GNUC__
-#if FAST_P
-  SWITCH (sem, SEM_ARGBUF (sc) -> idesc->sem_fast_lab)
-#else
-  SWITCH (sem, SEM_ARGBUF (sc) -> idesc->sem_full_lab)
-#endif
-#else
-  SWITCH (sem, SEM_ARGBUF (sc) -> idesc->num)
-#endif
-
-#endif /* ! WITH_SCACHE_PBB */
-
-    {
-
-  CASE (sem, INSN_X_INVALID) : /* --invalid-- */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-    /* Update the recorded pc in the cpu state struct.
-       Only necessary for WITH_SCACHE case, but to avoid the
-       conditional compilation ....  */
-    SET_H_PC (pc);
-    /* Virtual insns have zero size.  Overwrite vpc with address of next insn
-       using the default-insn-bitsize spec.  When executing insns in parallel
-       we may want to queue the fault and continue execution.  */
-    vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-    vpc = sim_engine_invalid_insn (current_cpu, pc, vpc);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_X_AFTER) : /* --after-- */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_MEDIA
-    sh64_media_pbb_after (current_cpu, sem_arg);
-#endif
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_X_BEFORE) : /* --before-- */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_MEDIA
-    sh64_media_pbb_before (current_cpu, sem_arg);
-#endif
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_X_CTI_CHAIN) : /* --cti-chain-- */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_MEDIA
-#ifdef DEFINE_SWITCH
-    vpc = sh64_media_pbb_cti_chain (current_cpu, sem_arg,
-                              pbb_br_type, pbb_br_npc);
-    BREAK (sem);
-#else
-    /* FIXME: Allow provision of explicit ifmt spec in insn spec.  */
-    vpc = sh64_media_pbb_cti_chain (current_cpu, sem_arg,
-                              CPU_PBB_BR_TYPE (current_cpu),
-                              CPU_PBB_BR_NPC (current_cpu));
-#endif
-#endif
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_X_CHAIN) : /* --chain-- */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_MEDIA
-    vpc = sh64_media_pbb_chain (current_cpu, sem_arg);
-#ifdef DEFINE_SWITCH
-    BREAK (sem);
-#endif
-#endif
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_X_BEGIN) : /* --begin-- */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_MEDIA
-#if defined DEFINE_SWITCH || defined FAST_P
-    /* In the switch case FAST_P is a constant, allowing several optimizations
-       in any called inline functions.  */
-    vpc = sh64_media_pbb_begin (current_cpu, FAST_P);
-#else
-#if 0 /* cgen engine can't handle dynamic fast/full switching yet.  */
-    vpc = sh64_media_pbb_begin (current_cpu, STATE_RUN_FAST_P (CPU_STATE (current_cpu)));
-#else
-    vpc = sh64_media_pbb_begin (current_cpu, 0);
-#endif
-#endif
-#endif
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ADD) : /* add $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ADDL) : /* add.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ADDI) : /* addi $rm, $disp10, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ADDIL) : /* addi.l $rm, $disp10, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = EXTSIDI (ADDSI (EXTSISI (FLD (f_disp10)), SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ADDZL) : /* addz.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ALLOCO) : /* alloco $rm, $disp6x32 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_xori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    DI opval = GET_H_GR (FLD (f_left));
-    SET_H_GR (FLD (f_left), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-((void) 0); /*nop*/
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_AND) : /* and $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ANDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ANDC) : /* andc $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ANDDI (GET_H_GR (FLD (f_left)), INVDI (GET_H_GR (FLD (f_right))));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ANDI) : /* andi $rm, $disp10, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ANDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BEQ) : /* beq$likely $rm, $rn, $tra */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_beq.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BEQI) : /* beqi$likely $rm, $imm6, $tra */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_beqi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BGE) : /* bge$likely $rm, $rn, $tra */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_beq.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BGEU) : /* bgeu$likely $rm, $rn, $tra */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_beq.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BGT) : /* bgt$likely $rm, $rn, $tra */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_beq.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BGTU) : /* bgtu$likely $rm, $rn, $tra */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_beq.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BLINK) : /* blink $trb, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_blink.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    DI opval = ORDI (ADDDI (pc, 4), 1);
-    SET_H_GR (FLD (f_dest), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-if (EQSI (FLD (f_dest), 63)) {
-((void) 0); /*nop*/
-} else {
-((void) 0); /*nop*/
-}
-}
-
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BNE) : /* bne$likely $rm, $rn, $tra */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_beq.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BNEI) : /* bnei$likely $rm, $imm6, $tra */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_beqi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BRK) : /* brk */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-sh64_break (current_cpu, pc);
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_BYTEREV) : /* byterev $rm, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_xori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_source;
-  DI tmp_result;
-  tmp_source = GET_H_GR (FLD (f_left));
-  tmp_result = 0;
-{
-  tmp_result = ORDI (SLLDI (tmp_result, 8), ANDDI (tmp_source, 255));
-  tmp_source = SRLDI (tmp_source, 8);
-}
-{
-  tmp_result = ORDI (SLLDI (tmp_result, 8), ANDDI (tmp_source, 255));
-  tmp_source = SRLDI (tmp_source, 8);
-}
-{
-  tmp_result = ORDI (SLLDI (tmp_result, 8), ANDDI (tmp_source, 255));
-  tmp_source = SRLDI (tmp_source, 8);
-}
-{
-  tmp_result = ORDI (SLLDI (tmp_result, 8), ANDDI (tmp_source, 255));
-  tmp_source = SRLDI (tmp_source, 8);
-}
-{
-  tmp_result = ORDI (SLLDI (tmp_result, 8), ANDDI (tmp_source, 255));
-  tmp_source = SRLDI (tmp_source, 8);
-}
-{
-  tmp_result = ORDI (SLLDI (tmp_result, 8), ANDDI (tmp_source, 255));
-  tmp_source = SRLDI (tmp_source, 8);
-}
-{
-  tmp_result = ORDI (SLLDI (tmp_result, 8), ANDDI (tmp_source, 255));
-  tmp_source = SRLDI (tmp_source, 8);
-}
-{
-  tmp_result = ORDI (SLLDI (tmp_result, 8), ANDDI (tmp_source, 255));
-  tmp_source = SRLDI (tmp_source, 8);
-}
-  {
-    DI opval = tmp_result;
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CMPEQ) : /* cmpeq $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ((EQDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) ? (1) : (0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CMPGT) : /* cmpgt $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ((GTDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) ? (1) : (0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CMPGTU) : /* cmpgtu $rm,$rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ((GTUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) ? (1) : (0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CMVEQ) : /* cmveq $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_CMVNE) : /* cmvne $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FABSD) : /* fabs.d $drgh, $drf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = sh64_fabsd (current_cpu, GET_H_DR (FLD (f_left_right)));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FABSS) : /* fabs.s $frgh, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = sh64_fabss (current_cpu, CPU (h_fr[FLD (f_left_right)]));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FADDD) : /* fadd.d $drg, $drh, $drf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FADDS) : /* fadd.s $frg, $frh, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FCMPEQD) : /* fcmpeq.d $drg, $drh, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FCMPEQS) : /* fcmpeq.s $frg, $frh, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FCMPGED) : /* fcmpge.d $drg, $drh, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FCMPGES) : /* fcmpge.s $frg, $frh, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FCMPGTD) : /* fcmpgt.d $drg, $drh, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FCMPGTS) : /* fcmpgt.s $frg, $frh, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FCMPUND) : /* fcmpun.d $drg, $drh, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FCMPUNS) : /* fcmpun.s $frg, $frh, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FCNVDS) : /* fcnv.ds $drgh, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = sh64_fcnvds (current_cpu, GET_H_DR (FLD (f_left_right)));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FCNVSD) : /* fcnv.sd $frgh, $drf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = sh64_fcnvsd (current_cpu, CPU (h_fr[FLD (f_left_right)]));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FDIVD) : /* fdiv.d $drg, $drh, $drf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FDIVS) : /* fdiv.s $frg, $frh, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FGETSCR) : /* fgetscr $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_shori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = SUBWORDSISF (CPU (h_fpscr));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FIPRS) : /* fipr.s $fvg, $fvh, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    SF opval = GET_H_FV (FLD (f_left));
-    SET_H_FV (FLD (f_left), 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);
-    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;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FLDD) : /* fld.d $rm, $disp10x8, $drf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fldd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = GETMEMDF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x8)));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FLDP) : /* fld.p $rm, $disp10x8, $fpf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fldd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    SF opval = GET_H_FP (FLD (f_dest));
-    SET_H_FP (FLD (f_dest), 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));
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FLDS) : /* fld.s $rm, $disp10x4, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_flds.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = GETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x4)));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FLDXD) : /* fldx.d $rm, $rn, $drf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FLDXP) : /* fldx.p $rm, $rn, $fpf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    SF opval = GET_H_FP (FLD (f_dest));
-    SET_H_FP (FLD (f_dest), 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));
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FLDXS) : /* fldx.s $rm, $rn, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FLOATLD) : /* float.ld $frgh, $drf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = sh64_floatld (current_cpu, CPU (h_fr[FLD (f_left_right)]));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FLOATLS) : /* float.ls $frgh, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = sh64_floatls (current_cpu, CPU (h_fr[FLD (f_left_right)]));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FLOATQD) : /* float.qd $drgh, $drf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = sh64_floatqd (current_cpu, GET_H_DR (FLD (f_left_right)));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FLOATQS) : /* float.qs $drgh, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = sh64_floatqs (current_cpu, GET_H_DR (FLD (f_left_right)));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMACS) : /* fmac.s $frg, $frh, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMOVD) : /* fmov.d $drgh, $drf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = GET_H_DR (FLD (f_left_right));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMOVDQ) : /* fmov.dq $drgh, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = SUBWORDDFDI (GET_H_DR (FLD (f_left_right)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMOVLS) : /* fmov.ls $rm, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_xori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = SUBWORDSISF (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMOVQD) : /* fmov.qd $rm, $drf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_xori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = SUBWORDDIDF (GET_H_GR (FLD (f_left)));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMOVS) : /* fmov.s $frgh, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = CPU (h_fr[FLD (f_left_right)]);
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMOVSL) : /* fmov.sl $frgh, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = EXTSIDI (SUBWORDSFSI (CPU (h_fr[FLD (f_left_right)])));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMULD) : /* fmul.d $drg, $drh, $drf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FMULS) : /* fmul.s $frg, $frh, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FNEGD) : /* fneg.d $drgh, $drf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = sh64_fnegd (current_cpu, GET_H_DR (FLD (f_left_right)));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FNEGS) : /* fneg.s $frgh, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = sh64_fnegs (current_cpu, CPU (h_fr[FLD (f_left_right)]));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FPUTSCR) : /* fputscr $frgh */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SI opval = SUBWORDSFSI (CPU (h_fr[FLD (f_left_right)]));
-    CPU (h_fpscr) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FSQRTD) : /* fsqrt.d $drgh, $drf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = sh64_fsqrtd (current_cpu, GET_H_DR (FLD (f_left_right)));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FSQRTS) : /* fsqrt.s $frgh, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = sh64_fsqrts (current_cpu, CPU (h_fr[FLD (f_left_right)]));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FSTD) : /* fst.d $rm, $disp10x8, $drf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fldd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = GET_H_DR (FLD (f_dest));
-    SETMEMDF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x8)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FSTP) : /* fst.p $rm, $disp10x8, $fpf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fldd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    SF opval = GET_H_FP (FLD (f_dest));
-    SET_H_FP (FLD (f_dest), 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));
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FSTS) : /* fst.s $rm, $disp10x4, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_flds.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = CPU (h_fr[FLD (f_dest)]);
-    SETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x4)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FSTXD) : /* fstx.d $rm, $rn, $drf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FSTXP) : /* fstx.p $rm, $rn, $fpf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    SF opval = GET_H_FP (FLD (f_dest));
-    SET_H_FP (FLD (f_dest), 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));
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FSTXS) : /* fstx.s $rm, $rn, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FSUBD) : /* fsub.d $drg, $drh, $drf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FSUBS) : /* fsub.s $frg, $frh, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FTRCDL) : /* ftrc.dl $drgh, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = sh64_ftrcdl (current_cpu, GET_H_DR (FLD (f_left_right)));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FTRCSL) : /* ftrc.sl $frgh, $frf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = sh64_ftrcsl (current_cpu, CPU (h_fr[FLD (f_left_right)]));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FTRCDQ) : /* ftrc.dq $drgh, $drf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = sh64_ftrcdq (current_cpu, GET_H_DR (FLD (f_left_right)));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FTRCSQ) : /* ftrc.sq $frgh, $drf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = sh64_ftrcsq (current_cpu, CPU (h_fr[FLD (f_left_right)]));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_FTRVS) : /* ftrv.s $mtrxg, $fvh, $fvf */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    SF opval = GET_H_FMTX (FLD (f_left));
-    SET_H_FMTX (FLD (f_left), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
-  }
-  {
-    SF opval = GET_H_FV (FLD (f_dest));
-    SET_H_FV (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
-  }
-sh64_ftrvs (current_cpu, FLD (f_left), FLD (f_right), FLD (f_dest));
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_GETCFG) : /* getcfg $rm, $disp6, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_address;
-  tmp_address = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-((void) 0); /*nop*/
-  {
-    DI opval = GETMEMSI (current_cpu, pc, tmp_address);
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_GETCON) : /* getcon $crk, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_xori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = GET_H_CR (FLD (f_left));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_GETTR) : /* gettr $trb, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_blink.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = CPU (h_tr[FLD (f_trb)]);
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ICBI) : /* icbi $rm, $disp6x32 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_xori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    DI opval = GET_H_GR (FLD (f_left));
-    SET_H_GR (FLD (f_left), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-((void) 0); /*nop*/
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDB) : /* ld.b $rm, $disp10, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDL) : /* ld.l $rm, $disp10x4, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_flds.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDQ) : /* ld.q $rm, $disp10x8, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fldd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = GETMEMDI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10x8))));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDUB) : /* ld.ub $rm, $disp10, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDUW) : /* ld.uw $rm, $disp10x2, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_lduw.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDW) : /* ld.w $rm, $disp10x2, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_lduw.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDHIL) : /* ldhi.l $rm, $disp6, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_addr;
-  QI tmp_bytecount;
-  SI tmp_val;
-  tmp_addr = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-  tmp_bytecount = ADDDI (ANDDI (tmp_addr, 3), 1);
-  tmp_val = 0;
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-} else {
-if (GET_H_ENDIAN ()) {
-{
-if (ANDQI (tmp_bytecount, 2)) {
-  tmp_val = ADDSI (SLLSI (tmp_val, 16), ZEXTHIDI (GETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4))));
-}
-if (ANDQI (tmp_bytecount, 1)) {
-  tmp_val = ADDSI (SLLSI (tmp_val, 8), ZEXTQIDI (GETMEMQI (current_cpu, pc, tmp_addr)));
-}
-  {
-    DI opval = EXTSIDI (tmp_val);
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-} else {
-{
-if (ANDQI (tmp_bytecount, 1)) {
-  tmp_val = ADDSI (SLLSI (tmp_val, 8), ZEXTQIDI (GETMEMQI (current_cpu, pc, tmp_addr)));
-}
-if (ANDQI (tmp_bytecount, 2)) {
-  tmp_val = ADDSI (SLLSI (tmp_val, 16), ZEXTHIDI (GETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4))));
-}
-  {
-    DI opval = EXTSIDI (SLLSI (tmp_val, SUBSI (32, MULSI (8, tmp_bytecount))));
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-}
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDHIQ) : /* ldhi.q $rm, $disp6, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_addr;
-  QI tmp_bytecount;
-  DI tmp_val;
-  tmp_addr = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-  tmp_bytecount = ADDDI (ANDDI (tmp_addr, 7), 1);
-  tmp_val = 0;
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-} else {
-if (GET_H_ENDIAN ()) {
-{
-if (ANDQI (tmp_bytecount, 4)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 32), ZEXTSIDI (GETMEMSI (current_cpu, pc, ANDDI (tmp_addr, -8))));
-}
-if (ANDQI (tmp_bytecount, 2)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 16), ZEXTHIDI (GETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4))));
-}
-if (ANDQI (tmp_bytecount, 1)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 8), ZEXTQIDI (GETMEMQI (current_cpu, pc, tmp_addr)));
-}
-  {
-    DI opval = tmp_val;
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 7);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-} else {
-{
-if (ANDQI (tmp_bytecount, 1)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 8), ZEXTQIDI (GETMEMQI (current_cpu, pc, tmp_addr)));
-}
-if (ANDQI (tmp_bytecount, 2)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 16), ZEXTHIDI (GETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4))));
-}
-if (ANDQI (tmp_bytecount, 4)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 32), ZEXTSIDI (GETMEMSI (current_cpu, pc, ANDDI (tmp_addr, -8))));
-}
-  {
-    DI opval = SLLDI (tmp_val, SUBSI (64, MULSI (8, tmp_bytecount)));
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 7);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-}
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDLOL) : /* ldlo.l $rm, $disp6, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_addr;
-  QI tmp_bytecount;
-  SI tmp_val;
-  tmp_addr = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-  tmp_bytecount = SUBSI (4, ANDDI (tmp_addr, 3));
-  tmp_val = 0;
-if (ANDQI (tmp_bytecount, 4)) {
-  {
-    DI opval = EXTSIDI (GETMEMSI (current_cpu, pc, tmp_addr));
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-} else {
-if (GET_H_ENDIAN ()) {
-{
-if (ANDQI (tmp_bytecount, 1)) {
-  tmp_val = ADDSI (SLLSI (tmp_val, 8), ZEXTQIDI (GETMEMQI (current_cpu, pc, tmp_addr)));
-}
-if (ANDQI (tmp_bytecount, 2)) {
-  tmp_val = ADDSI (SLLSI (tmp_val, 16), ZEXTHIDI (GETMEMHI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 1), -2))));
-}
-  {
-    DI opval = EXTSIDI (SLLSI (tmp_val, SUBSI (32, MULSI (8, tmp_bytecount))));
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-} else {
-{
-if (ANDQI (tmp_bytecount, 2)) {
-  tmp_val = ADDSI (SLLSI (tmp_val, 16), ZEXTHIDI (GETMEMHI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 1), -2))));
-}
-if (ANDQI (tmp_bytecount, 1)) {
-  tmp_val = ADDSI (SLLSI (tmp_val, 8), ZEXTQIDI (GETMEMQI (current_cpu, pc, tmp_addr)));
-}
-  {
-    DI opval = EXTSIDI (tmp_val);
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-}
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDLOQ) : /* ldlo.q $rm, $disp6, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_addr;
-  QI tmp_bytecount;
-  DI tmp_val;
-  tmp_addr = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-  tmp_bytecount = SUBSI (8, ANDDI (tmp_addr, 7));
-  tmp_val = 0;
-if (ANDQI (tmp_bytecount, 8)) {
-  {
-    DI opval = GETMEMDI (current_cpu, pc, tmp_addr);
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 7);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-} else {
-if (GET_H_ENDIAN ()) {
-{
-if (ANDQI (tmp_bytecount, 1)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 8), ZEXTQIDI (GETMEMQI (current_cpu, pc, tmp_addr)));
-}
-if (ANDQI (tmp_bytecount, 2)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 16), ZEXTHIDI (GETMEMHI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 1), -2))));
-}
-if (ANDQI (tmp_bytecount, 4)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 32), ZEXTSIDI (GETMEMSI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 3), -4))));
-}
-  {
-    DI opval = SLLDI (tmp_val, SUBSI (64, MULSI (8, tmp_bytecount)));
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 7);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-} else {
-{
-if (ANDQI (tmp_bytecount, 4)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 32), ZEXTSIDI (GETMEMSI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 3), -4))));
-}
-if (ANDQI (tmp_bytecount, 2)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 16), ZEXTHIDI (GETMEMHI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 1), -2))));
-}
-if (ANDQI (tmp_bytecount, 1)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 8), ZEXTQIDI (GETMEMQI (current_cpu, pc, tmp_addr)));
-}
-  {
-    DI opval = tmp_val;
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 7);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-}
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDXB) : /* ldx.b $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDXL) : /* ldx.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDXQ) : /* ldx.q $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDXUB) : /* ldx.ub $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDXUW) : /* ldx.uw $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_LDXW) : /* ldx.w $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MABSL) : /* mabs.l $rm, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_xori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = ABSSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1));
-  tmp_result1 = ABSSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MABSW) : /* mabs.w $rm, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_xori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = ABSHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3));
-  tmp_result1 = ABSHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2));
-  tmp_result2 = ABSHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1));
-  tmp_result3 = ABSHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MADDL) : /* madd.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = ADDSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), SUBWORDDISI (GET_H_GR (FLD (f_right)), 1));
-  tmp_result1 = ADDSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), SUBWORDDISI (GET_H_GR (FLD (f_right)), 0));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MADDW) : /* madd.w $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = ADDHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3));
-  tmp_result1 = ADDHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2));
-  tmp_result2 = ADDHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1));
-  tmp_result3 = ADDHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MADDSL) : /* madds.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = ((LTDI (ADDDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1))), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (ADDDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1))), SLLDI (1, SUBSI (32, 1)))) ? (ADDDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1)))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_result1 = ((LTDI (ADDDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0))), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (ADDDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0))), SLLDI (1, SUBSI (32, 1)))) ? (ADDDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0)))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MADDSUB) : /* madds.ub $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_result7;
-  QI tmp_result6;
-  QI tmp_result5;
-  QI tmp_result4;
-  QI tmp_result3;
-  QI tmp_result2;
-  QI tmp_result1;
-  QI tmp_result0;
-  tmp_result0 = ((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7))), MAKEDI (0, 0))) ? (0) : (((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7))), SLLDI (1, 8))) ? (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result1 = ((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6))), MAKEDI (0, 0))) ? (0) : (((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6))), SLLDI (1, 8))) ? (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result2 = ((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5))), MAKEDI (0, 0))) ? (0) : (((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5))), SLLDI (1, 8))) ? (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result3 = ((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4))), MAKEDI (0, 0))) ? (0) : (((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4))), SLLDI (1, 8))) ? (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result4 = ((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3))), MAKEDI (0, 0))) ? (0) : (((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3))), SLLDI (1, 8))) ? (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result5 = ((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2))), MAKEDI (0, 0))) ? (0) : (((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2))), SLLDI (1, 8))) ? (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result6 = ((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1))), MAKEDI (0, 0))) ? (0) : (((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1))), SLLDI (1, 8))) ? (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result7 = ((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0))), MAKEDI (0, 0))) ? (0) : (((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0))), SLLDI (1, 8))) ? (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0)))) : (SUBQI (SLLQI (1, 8), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MADDSW) : /* madds.w $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = ((LTDI (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3))), SLLDI (1, SUBSI (16, 1)))) ? (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result1 = ((LTDI (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2))), SLLDI (1, SUBSI (16, 1)))) ? (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result2 = ((LTDI (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1))), SLLDI (1, SUBSI (16, 1)))) ? (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result3 = ((LTDI (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0))), SLLDI (1, SUBSI (16, 1)))) ? (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MCMPEQB) : /* mcmpeq.b $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_result7;
-  QI tmp_result6;
-  QI tmp_result5;
-  QI tmp_result4;
-  QI tmp_result3;
-  QI tmp_result2;
-  QI tmp_result1;
-  QI tmp_result0;
-  tmp_result0 = ((EQQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7))) ? (INVQI (0)) : (0));
-  tmp_result1 = ((EQQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6))) ? (INVQI (0)) : (0));
-  tmp_result2 = ((EQQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5))) ? (INVQI (0)) : (0));
-  tmp_result3 = ((EQQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4))) ? (INVQI (0)) : (0));
-  tmp_result4 = ((EQQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3))) ? (INVQI (0)) : (0));
-  tmp_result5 = ((EQQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2))) ? (INVQI (0)) : (0));
-  tmp_result6 = ((EQQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1))) ? (INVQI (0)) : (0));
-  tmp_result7 = ((EQQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0))) ? (INVQI (0)) : (0));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MCMPEQL) : /* mcmpeq.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = ((EQSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), SUBWORDDISI (GET_H_GR (FLD (f_right)), 1))) ? (INVSI (0)) : (0));
-  tmp_result1 = ((EQSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), SUBWORDDISI (GET_H_GR (FLD (f_right)), 0))) ? (INVSI (0)) : (0));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MCMPEQW) : /* mcmpeq.w $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = ((EQHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3))) ? (INVHI (0)) : (0));
-  tmp_result1 = ((EQHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2))) ? (INVHI (0)) : (0));
-  tmp_result2 = ((EQHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1))) ? (INVHI (0)) : (0));
-  tmp_result3 = ((EQHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0))) ? (INVHI (0)) : (0));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MCMPGTL) : /* mcmpgt.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = ((GTSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), SUBWORDDISI (GET_H_GR (FLD (f_right)), 1))) ? (INVSI (0)) : (0));
-  tmp_result1 = ((GTSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), SUBWORDDISI (GET_H_GR (FLD (f_right)), 0))) ? (INVSI (0)) : (0));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MCMPGTUB) : /* mcmpgt.ub $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_result7;
-  QI tmp_result6;
-  QI tmp_result5;
-  QI tmp_result4;
-  QI tmp_result3;
-  QI tmp_result2;
-  QI tmp_result1;
-  QI tmp_result0;
-  tmp_result0 = ((GTUQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7))) ? (INVQI (0)) : (0));
-  tmp_result1 = ((GTUQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6))) ? (INVQI (0)) : (0));
-  tmp_result2 = ((GTUQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5))) ? (INVQI (0)) : (0));
-  tmp_result3 = ((GTUQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4))) ? (INVQI (0)) : (0));
-  tmp_result4 = ((GTUQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3))) ? (INVQI (0)) : (0));
-  tmp_result5 = ((GTUQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2))) ? (INVQI (0)) : (0));
-  tmp_result6 = ((GTUQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1))) ? (INVQI (0)) : (0));
-  tmp_result7 = ((GTUQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0))) ? (INVQI (0)) : (0));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MCMPGTW) : /* mcmpgt.w $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = ((GTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3))) ? (INVHI (0)) : (0));
-  tmp_result1 = ((GTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2))) ? (INVHI (0)) : (0));
-  tmp_result2 = ((GTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1))) ? (INVHI (0)) : (0));
-  tmp_result3 = ((GTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0))) ? (INVHI (0)) : (0));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MCMV) : /* mcmv $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MCNVSLW) : /* mcnvs.lw $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = ((LTSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), SLLDI (1, SUBSI (16, 1)))) ? (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result1 = ((LTSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), SLLDI (1, SUBSI (16, 1)))) ? (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result2 = ((LTSI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1), SLLDI (1, SUBSI (16, 1)))) ? (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result3 = ((LTSI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0), SLLDI (1, SUBSI (16, 1)))) ? (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MCNVSWB) : /* mcnvs.wb $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_result7;
-  QI tmp_result6;
-  QI tmp_result5;
-  QI tmp_result4;
-  QI tmp_result3;
-  QI tmp_result2;
-  QI tmp_result1;
-  QI tmp_result0;
-  tmp_result0 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), NEGDI (SLLDI (1, SUBSI (8, 1))))) ? (NEGQI (SLLQI (1, SUBSI (8, 1)))) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), SLLDI (1, SUBSI (8, 1)))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)) : (SUBQI (SLLQI (1, SUBSI (8, 1)), 1)))));
-  tmp_result1 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), NEGDI (SLLDI (1, SUBSI (8, 1))))) ? (NEGQI (SLLQI (1, SUBSI (8, 1)))) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), SLLDI (1, SUBSI (8, 1)))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)) : (SUBQI (SLLQI (1, SUBSI (8, 1)), 1)))));
-  tmp_result2 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), NEGDI (SLLDI (1, SUBSI (8, 1))))) ? (NEGQI (SLLQI (1, SUBSI (8, 1)))) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), SLLDI (1, SUBSI (8, 1)))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1)) : (SUBQI (SLLQI (1, SUBSI (8, 1)), 1)))));
-  tmp_result3 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), NEGDI (SLLDI (1, SUBSI (8, 1))))) ? (NEGQI (SLLQI (1, SUBSI (8, 1)))) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), SLLDI (1, SUBSI (8, 1)))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0)) : (SUBQI (SLLQI (1, SUBSI (8, 1)), 1)))));
-  tmp_result4 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3), NEGDI (SLLDI (1, SUBSI (8, 1))))) ? (NEGQI (SLLQI (1, SUBSI (8, 1)))) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3), SLLDI (1, SUBSI (8, 1)))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3)) : (SUBQI (SLLQI (1, SUBSI (8, 1)), 1)))));
-  tmp_result5 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2), NEGDI (SLLDI (1, SUBSI (8, 1))))) ? (NEGQI (SLLQI (1, SUBSI (8, 1)))) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2), SLLDI (1, SUBSI (8, 1)))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2)) : (SUBQI (SLLQI (1, SUBSI (8, 1)), 1)))));
-  tmp_result6 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1), NEGDI (SLLDI (1, SUBSI (8, 1))))) ? (NEGQI (SLLQI (1, SUBSI (8, 1)))) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1), SLLDI (1, SUBSI (8, 1)))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1)) : (SUBQI (SLLQI (1, SUBSI (8, 1)), 1)))));
-  tmp_result7 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0), NEGDI (SLLDI (1, SUBSI (8, 1))))) ? (NEGQI (SLLQI (1, SUBSI (8, 1)))) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0), SLLDI (1, SUBSI (8, 1)))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0)) : (SUBQI (SLLQI (1, SUBSI (8, 1)), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MCNVSWUB) : /* mcnvs.wub $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_result7;
-  QI tmp_result6;
-  QI tmp_result5;
-  QI tmp_result4;
-  QI tmp_result3;
-  QI tmp_result2;
-  QI tmp_result1;
-  QI tmp_result0;
-  tmp_result0 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), MAKEDI (0, 0))) ? (0) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), SLLDI (1, 8))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result1 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), MAKEDI (0, 0))) ? (0) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), SLLDI (1, 8))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result2 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), MAKEDI (0, 0))) ? (0) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), SLLDI (1, 8))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1)) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result3 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), MAKEDI (0, 0))) ? (0) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), SLLDI (1, 8))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0)) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result4 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3), MAKEDI (0, 0))) ? (0) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3), SLLDI (1, 8))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3)) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result5 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2), MAKEDI (0, 0))) ? (0) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2), SLLDI (1, 8))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2)) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result6 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1), MAKEDI (0, 0))) ? (0) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1), SLLDI (1, 8))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1)) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result7 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0), MAKEDI (0, 0))) ? (0) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0), SLLDI (1, 8))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0)) : (SUBQI (SLLQI (1, 8), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MEXTR1) : /* mextr1 $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_count;
-  DI tmp_mask;
-  DI tmp_rhs;
-  tmp_count = MULQI (8, 1);
-  tmp_mask = SLLDI (INVSI (0), tmp_count);
-  tmp_rhs = SRLDI (ANDDI (GET_H_GR (FLD (f_left)), tmp_mask), tmp_count);
-  tmp_count = MULQI (8, SUBQI (8, 1));
-  tmp_mask = SRLDI (INVSI (0), tmp_count);
-  {
-    DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MEXTR2) : /* mextr2 $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_count;
-  DI tmp_mask;
-  DI tmp_rhs;
-  tmp_count = MULQI (8, 2);
-  tmp_mask = SLLDI (INVSI (0), tmp_count);
-  tmp_rhs = SRLDI (ANDDI (GET_H_GR (FLD (f_left)), tmp_mask), tmp_count);
-  tmp_count = MULQI (8, SUBQI (8, 2));
-  tmp_mask = SRLDI (INVSI (0), tmp_count);
-  {
-    DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MEXTR3) : /* mextr3 $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_count;
-  DI tmp_mask;
-  DI tmp_rhs;
-  tmp_count = MULQI (8, 3);
-  tmp_mask = SLLDI (INVSI (0), tmp_count);
-  tmp_rhs = SRLDI (ANDDI (GET_H_GR (FLD (f_left)), tmp_mask), tmp_count);
-  tmp_count = MULQI (8, SUBQI (8, 3));
-  tmp_mask = SRLDI (INVSI (0), tmp_count);
-  {
-    DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MEXTR4) : /* mextr4 $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_count;
-  DI tmp_mask;
-  DI tmp_rhs;
-  tmp_count = MULQI (8, 4);
-  tmp_mask = SLLDI (INVSI (0), tmp_count);
-  tmp_rhs = SRLDI (ANDDI (GET_H_GR (FLD (f_left)), tmp_mask), tmp_count);
-  tmp_count = MULQI (8, SUBQI (8, 4));
-  tmp_mask = SRLDI (INVSI (0), tmp_count);
-  {
-    DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MEXTR5) : /* mextr5 $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_count;
-  DI tmp_mask;
-  DI tmp_rhs;
-  tmp_count = MULQI (8, 5);
-  tmp_mask = SLLDI (INVSI (0), tmp_count);
-  tmp_rhs = SRLDI (ANDDI (GET_H_GR (FLD (f_left)), tmp_mask), tmp_count);
-  tmp_count = MULQI (8, SUBQI (8, 5));
-  tmp_mask = SRLDI (INVSI (0), tmp_count);
-  {
-    DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MEXTR6) : /* mextr6 $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_count;
-  DI tmp_mask;
-  DI tmp_rhs;
-  tmp_count = MULQI (8, 6);
-  tmp_mask = SLLDI (INVSI (0), tmp_count);
-  tmp_rhs = SRLDI (ANDDI (GET_H_GR (FLD (f_left)), tmp_mask), tmp_count);
-  tmp_count = MULQI (8, SUBQI (8, 6));
-  tmp_mask = SRLDI (INVSI (0), tmp_count);
-  {
-    DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MEXTR7) : /* mextr7 $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_count;
-  DI tmp_mask;
-  DI tmp_rhs;
-  tmp_count = MULQI (8, 7);
-  tmp_mask = SLLDI (INVSI (0), tmp_count);
-  tmp_rhs = SRLDI (ANDDI (GET_H_GR (FLD (f_left)), tmp_mask), tmp_count);
-  tmp_count = MULQI (8, SUBQI (8, 7));
-  tmp_mask = SRLDI (INVSI (0), tmp_count);
-  {
-    DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MMACFXWL) : /* mmacfx.wl $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_temp;
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = SUBWORDDISI (GET_H_GR (FLD (f_dest)), 1);
-  tmp_result1 = SUBWORDDISI (GET_H_GR (FLD (f_dest)), 0);
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3)));
-  tmp_temp = ((LTDI (SLLDI (tmp_temp, 1), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SLLDI (tmp_temp, 1), SLLDI (1, SUBSI (32, 1)))) ? (SLLDI (tmp_temp, 1)) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_result0 = ((LTDI (ADDDI (EXTSIDI (tmp_result0), EXTSIDI (tmp_temp)), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (ADDDI (EXTSIDI (tmp_result0), EXTSIDI (tmp_temp)), SLLDI (1, SUBSI (32, 1)))) ? (ADDDI (EXTSIDI (tmp_result0), EXTSIDI (tmp_temp))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2)));
-  tmp_temp = ((LTDI (SLLDI (tmp_temp, 1), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SLLDI (tmp_temp, 1), SLLDI (1, SUBSI (32, 1)))) ? (SLLDI (tmp_temp, 1)) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_result1 = ((LTDI (ADDDI (EXTSIDI (tmp_result1), EXTSIDI (tmp_temp)), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (ADDDI (EXTSIDI (tmp_result1), EXTSIDI (tmp_temp)), SLLDI (1, SUBSI (32, 1)))) ? (ADDDI (EXTSIDI (tmp_result1), EXTSIDI (tmp_temp))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MMACNFX_WL) : /* mmacnfx.wl $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_temp;
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = SUBWORDDISI (GET_H_GR (FLD (f_dest)), 1);
-  tmp_result1 = SUBWORDDISI (GET_H_GR (FLD (f_dest)), 0);
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3)));
-  tmp_temp = ((LTDI (SLLDI (tmp_temp, 1), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SLLDI (tmp_temp, 1), SLLDI (1, SUBSI (32, 1)))) ? (SLLDI (tmp_temp, 1)) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_result0 = ((LTDI (SUBDI (EXTSIDI (tmp_result0), EXTSIDI (tmp_temp)), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SUBDI (EXTSIDI (tmp_result0), EXTSIDI (tmp_temp)), SLLDI (1, SUBSI (32, 1)))) ? (SUBDI (EXTSIDI (tmp_result0), EXTSIDI (tmp_temp))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2)));
-  tmp_temp = ((LTDI (SLLDI (tmp_temp, 1), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SLLDI (tmp_temp, 1), SLLDI (1, SUBSI (32, 1)))) ? (SLLDI (tmp_temp, 1)) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_result1 = ((LTDI (SUBDI (EXTSIDI (tmp_result1), EXTSIDI (tmp_temp)), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SUBDI (EXTSIDI (tmp_result1), EXTSIDI (tmp_temp)), SLLDI (1, SUBSI (32, 1)))) ? (SUBDI (EXTSIDI (tmp_result1), EXTSIDI (tmp_temp))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MMULL) : /* mmul.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = MULSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), SUBWORDDISI (GET_H_GR (FLD (f_right)), 1));
-  tmp_result1 = MULSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), SUBWORDDISI (GET_H_GR (FLD (f_right)), 0));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MMULW) : /* mmul.w $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = MULHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3));
-  tmp_result1 = MULHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2));
-  tmp_result2 = MULHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1));
-  tmp_result3 = MULHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MMULFXL) : /* mmulfx.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_temp;
-  SI tmp_result0;
-  SI tmp_result1;
-  tmp_temp = MULDI (ZEXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)), ZEXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1)));
-  tmp_result0 = ((LTDI (SRADI (tmp_temp, 31), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SRADI (tmp_temp, 31), SLLDI (1, SUBSI (32, 1)))) ? (SRADI (tmp_temp, 31)) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_temp = MULDI (ZEXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0)), ZEXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0)));
-  tmp_result1 = ((LTDI (SRADI (tmp_temp, 31), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SRADI (tmp_temp, 31), SLLDI (1, SUBSI (32, 1)))) ? (SRADI (tmp_temp, 31)) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MMULFXW) : /* mmulfx.w $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_temp;
-  HI tmp_result0;
-  HI tmp_result1;
-  HI tmp_result2;
-  HI tmp_result3;
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3)));
-  tmp_result0 = ((LTSI (SRASI (tmp_temp, 15), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SRASI (tmp_temp, 15), SLLDI (1, SUBSI (16, 1)))) ? (SRASI (tmp_temp, 15)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2)));
-  tmp_result1 = ((LTSI (SRASI (tmp_temp, 15), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SRASI (tmp_temp, 15), SLLDI (1, SUBSI (16, 1)))) ? (SRASI (tmp_temp, 15)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1)));
-  tmp_result2 = ((LTSI (SRASI (tmp_temp, 15), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SRASI (tmp_temp, 15), SLLDI (1, SUBSI (16, 1)))) ? (SRASI (tmp_temp, 15)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0)));
-  tmp_result3 = ((LTSI (SRASI (tmp_temp, 15), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SRASI (tmp_temp, 15), SLLDI (1, SUBSI (16, 1)))) ? (SRASI (tmp_temp, 15)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MMULFXRPW) : /* mmulfxrp.w $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_temp;
-  HI tmp_result0;
-  HI tmp_result1;
-  HI tmp_result2;
-  HI tmp_result3;
-  HI tmp_c;
-  tmp_c = SLLSI (1, 14);
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3)));
-  tmp_result0 = ((LTSI (SRASI (ADDSI (tmp_temp, tmp_c), 15), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SRASI (ADDSI (tmp_temp, tmp_c), 15), SLLDI (1, SUBSI (16, 1)))) ? (SRASI (ADDSI (tmp_temp, tmp_c), 15)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2)));
-  tmp_result1 = ((LTSI (SRASI (ADDSI (tmp_temp, tmp_c), 15), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SRASI (ADDSI (tmp_temp, tmp_c), 15), SLLDI (1, SUBSI (16, 1)))) ? (SRASI (ADDSI (tmp_temp, tmp_c), 15)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1)));
-  tmp_result2 = ((LTSI (SRASI (ADDSI (tmp_temp, tmp_c), 15), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SRASI (ADDSI (tmp_temp, tmp_c), 15), SLLDI (1, SUBSI (16, 1)))) ? (SRASI (ADDSI (tmp_temp, tmp_c), 15)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0)));
-  tmp_result3 = ((LTSI (SRASI (ADDSI (tmp_temp, tmp_c), 15), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SRASI (ADDSI (tmp_temp, tmp_c), 15), SLLDI (1, SUBSI (16, 1)))) ? (SRASI (ADDSI (tmp_temp, tmp_c), 15)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MMULHIWL) : /* mmulhi.wl $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1)));
-  tmp_result1 = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0)));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MMULLOWL) : /* mmullo.wl $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3)));
-  tmp_result1 = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2)));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MMULSUMWQ) : /* mmulsum.wq $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_acc;
-  tmp_acc = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0)));
-  tmp_acc = ADDDI (tmp_acc, MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1))));
-  tmp_acc = ADDDI (tmp_acc, MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2))));
-  tmp_acc = ADDDI (tmp_acc, MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3))));
-  {
-    DI opval = ADDDI (GET_H_GR (FLD (f_dest)), tmp_acc);
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MOVI) : /* movi $imm16, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_movi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = EXTSIDI (FLD (f_imm16));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MPERMW) : /* mperm.w $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_control;
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_control = ANDQI (GET_H_GR (FLD (f_right)), 255);
-  tmp_result0 = SUBWORDDIHI (GET_H_GR (FLD (f_left)), SUBSI (3, ANDQI (tmp_control, 3)));
-  tmp_result1 = SUBWORDDIHI (GET_H_GR (FLD (f_left)), SUBSI (3, ANDQI (SRLQI (tmp_control, 2), 3)));
-  tmp_result2 = SUBWORDDIHI (GET_H_GR (FLD (f_left)), SUBSI (3, ANDQI (SRLQI (tmp_control, 4), 3)));
-  tmp_result3 = SUBWORDDIHI (GET_H_GR (FLD (f_left)), SUBSI (3, ANDQI (SRLQI (tmp_control, 6), 3)));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSADUBQ) : /* msad.ubq $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_acc;
-  tmp_acc = ABSDI (SUBQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0)));
-  tmp_acc = ADDDI (tmp_acc, ABSQI (SUBQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1))));
-  tmp_acc = ADDDI (tmp_acc, ABSQI (SUBQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2))));
-  tmp_acc = ADDDI (tmp_acc, ABSQI (SUBQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3))));
-  tmp_acc = ADDDI (tmp_acc, ABSQI (SUBQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4))));
-  tmp_acc = ADDDI (tmp_acc, ABSQI (SUBQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5))));
-  tmp_acc = ADDDI (tmp_acc, ABSQI (SUBQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6))));
-  tmp_acc = ADDDI (tmp_acc, ABSQI (SUBQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7))));
-  {
-    DI opval = ADDDI (GET_H_GR (FLD (f_dest)), tmp_acc);
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSHALDSL) : /* mshalds.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = ((LTDI (SLLDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 31)), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SLLDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 31)), SLLDI (1, SUBSI (32, 1)))) ? (SLLDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 31))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_result1 = ((LTDI (SLLDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 31)), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SLLDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 31)), SLLDI (1, SUBSI (32, 1)))) ? (SLLDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 31))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSHALDSW) : /* mshalds.w $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = ((LTDI (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), ANDDI (GET_H_GR (FLD (f_right)), 15)), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), ANDDI (GET_H_GR (FLD (f_right)), 15)), SLLDI (1, SUBSI (16, 1)))) ? (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), ANDDI (GET_H_GR (FLD (f_right)), 15))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result1 = ((LTDI (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), ANDDI (GET_H_GR (FLD (f_right)), 15)), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), ANDDI (GET_H_GR (FLD (f_right)), 15)), SLLDI (1, SUBSI (16, 1)))) ? (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), ANDDI (GET_H_GR (FLD (f_right)), 15))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result2 = ((LTDI (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 15)), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 15)), SLLDI (1, SUBSI (16, 1)))) ? (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 15))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result3 = ((LTDI (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 15)), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 15)), SLLDI (1, SUBSI (16, 1)))) ? (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 15))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSHARDL) : /* mshard.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = SRASI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 31));
-  tmp_result1 = SRASI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 31));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSHARDW) : /* mshard.w $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = SRAHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  tmp_result1 = SRAHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  tmp_result2 = SRAHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  tmp_result3 = SRAHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSHARDSQ) : /* mshards.q $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSHFHIB) : /* mshfhi.b $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_result7;
-  QI tmp_result6;
-  QI tmp_result5;
-  QI tmp_result4;
-  QI tmp_result3;
-  QI tmp_result2;
-  QI tmp_result1;
-  QI tmp_result0;
-  tmp_result0 = SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3);
-  tmp_result1 = SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3);
-  tmp_result2 = SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2);
-  tmp_result3 = SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2);
-  tmp_result4 = SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1);
-  tmp_result5 = SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1);
-  tmp_result6 = SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0);
-  tmp_result7 = SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0);
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSHFHIL) : /* mshfhi.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = SUBWORDDISI (GET_H_GR (FLD (f_left)), 0);
-  tmp_result1 = SUBWORDDISI (GET_H_GR (FLD (f_right)), 0);
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSHFHIW) : /* mshfhi.w $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1);
-  tmp_result1 = SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1);
-  tmp_result2 = SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0);
-  tmp_result3 = SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0);
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSHFLOB) : /* mshflo.b $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_result7;
-  QI tmp_result6;
-  QI tmp_result5;
-  QI tmp_result4;
-  QI tmp_result3;
-  QI tmp_result2;
-  QI tmp_result1;
-  QI tmp_result0;
-  tmp_result0 = SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7);
-  tmp_result1 = SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7);
-  tmp_result2 = SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6);
-  tmp_result3 = SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6);
-  tmp_result4 = SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5);
-  tmp_result5 = SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5);
-  tmp_result6 = SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4);
-  tmp_result7 = SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4);
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSHFLOL) : /* mshflo.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = SUBWORDDISI (GET_H_GR (FLD (f_left)), 1);
-  tmp_result1 = SUBWORDDISI (GET_H_GR (FLD (f_right)), 1);
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSHFLOW) : /* mshflo.w $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3);
-  tmp_result1 = SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3);
-  tmp_result2 = SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2);
-  tmp_result3 = SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2);
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSHLLDL) : /* mshlld.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = SLLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 31));
-  tmp_result1 = SLLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 31));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSHLLDW) : /* mshlld.w $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = SLLHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  tmp_result1 = SLLHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  tmp_result2 = SLLHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  tmp_result3 = SLLHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSHLRDL) : /* mshlrd.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = SRLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 31));
-  tmp_result1 = SRLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 31));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSHLRDW) : /* mshlrd.w $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = SRLHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  tmp_result1 = SRLHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  tmp_result2 = SRLHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  tmp_result3 = SRLHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSUBL) : /* msub.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = SUBSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), SUBWORDDISI (GET_H_GR (FLD (f_right)), 1));
-  tmp_result1 = SUBSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), SUBWORDDISI (GET_H_GR (FLD (f_right)), 0));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSUBW) : /* msub.w $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = SUBHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3));
-  tmp_result1 = SUBHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2));
-  tmp_result2 = SUBHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1));
-  tmp_result3 = SUBHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSUBSL) : /* msubs.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = ((LTDI (SUBDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1))), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SUBDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1))), SLLDI (1, SUBSI (32, 1)))) ? (SUBDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1)))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_result1 = ((LTDI (SUBDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0))), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SUBDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0))), SLLDI (1, SUBSI (32, 1)))) ? (SUBDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0)))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSUBSUB) : /* msubs.ub $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_result7;
-  QI tmp_result6;
-  QI tmp_result5;
-  QI tmp_result4;
-  QI tmp_result3;
-  QI tmp_result2;
-  QI tmp_result1;
-  QI tmp_result0;
-  tmp_result0 = ((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7))), MAKEDI (0, 0))) ? (0) : (((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7))), SLLDI (1, 8))) ? (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result1 = ((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6))), MAKEDI (0, 0))) ? (0) : (((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6))), SLLDI (1, 8))) ? (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result2 = ((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5))), MAKEDI (0, 0))) ? (0) : (((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5))), SLLDI (1, 8))) ? (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result3 = ((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4))), MAKEDI (0, 0))) ? (0) : (((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4))), SLLDI (1, 8))) ? (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result4 = ((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3))), MAKEDI (0, 0))) ? (0) : (((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3))), SLLDI (1, 8))) ? (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result5 = ((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2))), MAKEDI (0, 0))) ? (0) : (((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2))), SLLDI (1, 8))) ? (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result6 = ((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1))), MAKEDI (0, 0))) ? (0) : (((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1))), SLLDI (1, 8))) ? (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result7 = ((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0))), MAKEDI (0, 0))) ? (0) : (((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0))), SLLDI (1, 8))) ? (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0)))) : (SUBQI (SLLQI (1, 8), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MSUBSW) : /* msubs.w $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_result7;
-  QI tmp_result6;
-  QI tmp_result5;
-  QI tmp_result4;
-  QI tmp_result3;
-  QI tmp_result2;
-  QI tmp_result1;
-  QI tmp_result0;
-  tmp_result0 = ((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7))), SLLDI (1, SUBSI (16, 1)))) ? (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result1 = ((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6))), SLLDI (1, SUBSI (16, 1)))) ? (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result2 = ((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5))), SLLDI (1, SUBSI (16, 1)))) ? (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result3 = ((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4))), SLLDI (1, SUBSI (16, 1)))) ? (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result4 = ((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3))), SLLDI (1, SUBSI (16, 1)))) ? (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result5 = ((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2))), SLLDI (1, SUBSI (16, 1)))) ? (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result6 = ((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1))), SLLDI (1, SUBSI (16, 1)))) ? (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result7 = ((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0))), SLLDI (1, SUBSI (16, 1)))) ? (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MULSL) : /* muls.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_MULUL) : /* mulu.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_NOP) : /* nop */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-((void) 0); /*nop*/
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_NSB) : /* nsb $rm, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_xori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = sh64_nsb (current_cpu, GET_H_GR (FLD (f_left)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_OCBI) : /* ocbi $rm, $disp6x32 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_xori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    DI opval = GET_H_GR (FLD (f_left));
-    SET_H_GR (FLD (f_left), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-((void) 0); /*nop*/
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_OCBP) : /* ocbp $rm, $disp6x32 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_xori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    DI opval = GET_H_GR (FLD (f_left));
-    SET_H_GR (FLD (f_left), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-((void) 0); /*nop*/
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_OCBWB) : /* ocbwb $rm, $disp6x32 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_xori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    DI opval = GET_H_GR (FLD (f_left));
-    SET_H_GR (FLD (f_left), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-((void) 0); /*nop*/
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_OR) : /* or $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ORDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_ORI) : /* ori $rm, $imm10, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_ori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ORDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm10)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_PREFI) : /* prefi $rm, $disp6x32 */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_xori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    DI opval = GET_H_GR (FLD (f_left));
-    SET_H_GR (FLD (f_left), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-((void) 0); /*nop*/
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_PTA) : /* pta$likely $disp16, $tra */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_pta.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-  {
-    DI opval = ADDSI (FLD (f_disp16), 1);
-    CPU (h_tr[FLD (f_tra)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_PTABS) : /* ptabs$likely $rn, $tra */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_beq.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-  {
-    DI opval = GET_H_GR (FLD (f_right));
-    CPU (h_tr[FLD (f_tra)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_PTB) : /* ptb$likely $disp16, $tra */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_pta.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-  {
-    DI opval = FLD (f_disp16);
-    CPU (h_tr[FLD (f_tra)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_PTREL) : /* ptrel$likely $rn, $tra */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_beq.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-  {
-    DI opval = ADDDI (pc, GET_H_GR (FLD (f_right)));
-    CPU (h_tr[FLD (f_tra)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_PUTCFG) : /* putcfg $rm, $disp6, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_address;
-  tmp_address = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-((void) 0); /*nop*/
-  {
-    SI opval = GET_H_GR (FLD (f_dest));
-    SETMEMSI (current_cpu, pc, tmp_address, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_PUTCON) : /* putcon $rm, $crj */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_xori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = GET_H_GR (FLD (f_left));
-    SET_H_CR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_RTE) : /* rte */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-((void) 0); /*nop*/
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHARD) : /* shard $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = SRADI (GET_H_GR (FLD (f_left)), ANDDI (GET_H_GR (FLD (f_right)), 63));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHARDL) : /* shard.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHARI) : /* shari $rm, $uimm6, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_shari.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = SRADI (GET_H_GR (FLD (f_left)), FLD (f_uimm6));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHARIL) : /* shari.l $rm, $uimm6, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_shari.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = EXTSIDI (SRASI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDSI (FLD (f_uimm6), 63)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHLLD) : /* shlld $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = SLLDI (GET_H_GR (FLD (f_left)), ANDDI (GET_H_GR (FLD (f_right)), 63));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHLLDL) : /* shlld.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHLLI) : /* shlli $rm, $uimm6, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_shari.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = SLLDI (GET_H_GR (FLD (f_left)), FLD (f_uimm6));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHLLIL) : /* shlli.l $rm, $uimm6, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_shari.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = EXTSIDI (SLLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDSI (FLD (f_uimm6), 63)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHLRD) : /* shlrd $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = SRLDI (GET_H_GR (FLD (f_left)), ANDDI (GET_H_GR (FLD (f_right)), 63));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHLRDL) : /* shlrd.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHLRI) : /* shlri $rm, $uimm6, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_shari.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = SRLDI (GET_H_GR (FLD (f_left)), FLD (f_uimm6));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHLRIL) : /* shlri.l $rm, $uimm6, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_shari.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = EXTSIDI (SRLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDSI (FLD (f_uimm6), 63)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SHORI) : /* shori $uimm16, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_shori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ORDI (SLLDI (GET_H_GR (FLD (f_dest)), 16), ZEXTSIDI (FLD (f_uimm16)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SLEEP) : /* sleep */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-((void) 0); /*nop*/
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STB) : /* st.b $rm, $disp10, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_addi.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STL) : /* st.l $rm, $disp10x4, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_flds.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STQ) : /* st.q $rm, $disp10x8, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_fldd.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = GET_H_GR (FLD (f_dest));
-    SETMEMDI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10x8))), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STW) : /* st.w $rm, $disp10x2, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_lduw.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STHIL) : /* sthi.l $rm, $disp6, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_addr;
-  QI tmp_bytecount;
-  DI tmp_val;
-  tmp_addr = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-  tmp_bytecount = ADDDI (ANDDI (tmp_addr, 3), 1);
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-} else {
-if (GET_H_ENDIAN ()) {
-{
-  tmp_val = GET_H_GR (FLD (f_dest));
-if (ANDQI (tmp_bytecount, 1)) {
-{
-  {
-    UQI opval = ANDQI (tmp_val, 255);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 8);
-}
-}
-if (ANDQI (tmp_bytecount, 2)) {
-{
-  {
-    HI opval = ANDHI (tmp_val, 65535);
-    SETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4), opval);
-    written |= (1 << 4);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 16);
-}
-}
-}
-} else {
-{
-  tmp_val = SRLDI (GET_H_GR (FLD (f_dest)), SUBSI (32, MULSI (8, tmp_bytecount)));
-if (ANDQI (tmp_bytecount, 2)) {
-{
-  {
-    HI opval = ANDHI (tmp_val, 65535);
-    SETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4), opval);
-    written |= (1 << 4);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 16);
-}
-}
-if (ANDQI (tmp_bytecount, 1)) {
-{
-  {
-    UQI opval = ANDQI (tmp_val, 255);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 8);
-}
-}
-}
-}
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STHIQ) : /* sthi.q $rm, $disp6, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_addr;
-  QI tmp_bytecount;
-  DI tmp_val;
-  tmp_addr = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-  tmp_bytecount = ADDDI (ANDDI (tmp_addr, 7), 1);
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
-  }
-} else {
-if (GET_H_ENDIAN ()) {
-{
-  tmp_val = GET_H_GR (FLD (f_dest));
-if (ANDQI (tmp_bytecount, 1)) {
-{
-  {
-    UQI opval = ANDQI (tmp_val, 255);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 7);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 8);
-}
-}
-if (ANDQI (tmp_bytecount, 2)) {
-{
-  {
-    HI opval = ANDHI (tmp_val, 65535);
-    SETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4), opval);
-    written |= (1 << 5);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 16);
-}
-}
-if (ANDQI (tmp_bytecount, 4)) {
-{
-  {
-    SI opval = ANDSI (tmp_val, 0xffffffff);
-    SETMEMSI (current_cpu, pc, ANDDI (tmp_addr, -8), opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 32);
-}
-}
-}
-} else {
-{
-  tmp_val = SRLDI (GET_H_GR (FLD (f_dest)), SUBSI (64, MULSI (8, tmp_bytecount)));
-if (ANDQI (tmp_bytecount, 4)) {
-{
-  {
-    SI opval = ANDSI (tmp_val, 0xffffffff);
-    SETMEMSI (current_cpu, pc, ANDDI (tmp_addr, -8), opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 32);
-}
-}
-if (ANDQI (tmp_bytecount, 2)) {
-{
-  {
-    HI opval = ANDHI (tmp_val, 65535);
-    SETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4), opval);
-    written |= (1 << 5);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 16);
-}
-}
-if (ANDQI (tmp_bytecount, 1)) {
-{
-  {
-    UQI opval = ANDQI (tmp_val, 255);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 7);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 8);
-}
-}
-}
-}
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STLOL) : /* stlo.l $rm, $disp6, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_addr;
-  QI tmp_bytecount;
-  DI tmp_val;
-  tmp_addr = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-  tmp_bytecount = SUBSI (4, ANDDI (tmp_addr, 3));
-if (ANDQI (tmp_bytecount, 4)) {
-  {
-    USI opval = GET_H_GR (FLD (f_dest));
-    SETMEMUSI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-} else {
-if (GET_H_ENDIAN ()) {
-{
-  tmp_val = SRLDI (GET_H_GR (FLD (f_dest)), SUBSI (32, MULSI (8, tmp_bytecount)));
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 16);
-}
-}
-if (ANDQI (tmp_bytecount, 1)) {
-{
-  {
-    UQI opval = ANDQI (tmp_val, 255);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 5);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 8);
-}
-}
-}
-} else {
-{
-  tmp_val = GET_H_GR (FLD (f_dest));
-if (ANDQI (tmp_bytecount, 1)) {
-{
-  {
-    UQI opval = ANDQI (tmp_val, 255);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 5);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 8);
-}
-}
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 16);
-}
-}
-}
-}
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STLOQ) : /* stlo.q $rm, $disp6, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_addr;
-  QI tmp_bytecount;
-  DI tmp_val;
-  tmp_addr = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-  tmp_bytecount = SUBSI (8, ANDDI (tmp_addr, 7));
-if (ANDQI (tmp_bytecount, 8)) {
-  {
-    UDI opval = GET_H_GR (FLD (f_dest));
-    SETMEMUDI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 4);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
-  }
-} else {
-if (GET_H_ENDIAN ()) {
-{
-  tmp_val = SRLDI (GET_H_GR (FLD (f_dest)), SUBSI (64, MULSI (8, tmp_bytecount)));
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 32);
-}
-}
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 16);
-}
-}
-if (ANDQI (tmp_bytecount, 1)) {
-{
-  {
-    UQI opval = ANDQI (tmp_val, 255);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 8);
-}
-}
-}
-} else {
-{
-  tmp_val = GET_H_GR (FLD (f_dest));
-if (ANDQI (tmp_bytecount, 1)) {
-{
-  {
-    UQI opval = ANDQI (tmp_val, 255);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 8);
-}
-}
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 16);
-}
-}
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 32);
-}
-}
-}
-}
-}
-}
-
-  abuf->written = written;
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STXB) : /* stx.b $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STXL) : /* stx.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STXQ) : /* stx.q $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_STXW) : /* stx.w $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SUB) : /* sub $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = SUBDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SUBL) : /* sub.l $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SWAPQ) : /* swap.q $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_addr;
-  DI tmp_temp;
-  tmp_addr = ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
-  tmp_temp = GETMEMDI (current_cpu, pc, tmp_addr);
-  {
-    DI opval = GET_H_GR (FLD (f_dest));
-    SETMEMDI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
-  }
-  {
-    DI opval = tmp_temp;
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SYNCI) : /* synci */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-((void) 0); /*nop*/
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_SYNCO) : /* synco */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_empty.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-((void) 0); /*nop*/
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_TRAPA) : /* trapa $rm */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_xori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-sh64_trapa (current_cpu, GET_H_GR (FLD (f_left)), pc);
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_XOR) : /* xor $rm, $rn, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_add.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = XORDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-  CASE (sem, INSN_XORI) : /* xori $rm, $imm6, $rd */
-{
-  SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.sfmt_xori.f
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = XORDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm6)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-#undef FLD
-}
-  NEXT (vpc);
-
-
-    }
-  ENDSWITCH (sem) /* End of semantic switch.  */
-
-  /* At this point `vpc' contains the next insn to execute.  */
-}
-
-#undef DEFINE_SWITCH
-#endif /* DEFINE_SWITCH */
diff --git a/sim/sh64/sem-media.c b/sim/sh64/sem-media.c
deleted file mode 100644 (file)
index 5ac3be9..0000000
+++ /dev/null
@@ -1,6063 +0,0 @@
-/* Simulator instruction semantics for sh64.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996-2021 Free Software Foundation, Inc.
-
-This file is part of the GNU simulators.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   It is distributed in the hope that it will be useful, but WITHOUT
-   ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
-   or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public
-   License for more details.
-
-   You should have received a copy of the GNU General Public License along
-   with this program; if not, see <http://www.gnu.org/licenses/>.
-
-*/
-
-#define WANT_CPU sh64
-#define WANT_CPU_SH64
-
-#include "sim-main.h"
-#include "cgen-mem.h"
-#include "cgen-ops.h"
-
-#undef GET_ATTR
-#define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_##attr)
-
-/* This is used so that we can compile two copies of the semantic code,
-   one with full feature support and one without that runs fast(er).
-   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 CGEN_TRACE_RESULT
-#define CGEN_TRACE_RESULT(cpu, abuf, name, type, val)
-#else
-#define SEM_FN_NAME(cpu,fn) XCONCAT3 (cpu,_sem_,fn)
-#endif
-
-/* x-invalid: --invalid-- */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,x_invalid) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-    /* Update the recorded pc in the cpu state struct.
-       Only necessary for WITH_SCACHE case, but to avoid the
-       conditional compilation ....  */
-    SET_H_PC (pc);
-    /* Virtual insns have zero size.  Overwrite vpc with address of next insn
-       using the default-insn-bitsize spec.  When executing insns in parallel
-       we may want to queue the fault and continue execution.  */
-    vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-    vpc = sim_engine_invalid_insn (current_cpu, pc, vpc);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* x-after: --after-- */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,x_after) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_MEDIA
-    sh64_media_pbb_after (current_cpu, sem_arg);
-#endif
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* x-before: --before-- */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,x_before) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_MEDIA
-    sh64_media_pbb_before (current_cpu, sem_arg);
-#endif
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* x-cti-chain: --cti-chain-- */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,x_cti_chain) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_MEDIA
-#ifdef DEFINE_SWITCH
-    vpc = sh64_media_pbb_cti_chain (current_cpu, sem_arg,
-                              pbb_br_type, pbb_br_npc);
-    BREAK (sem);
-#else
-    /* FIXME: Allow provision of explicit ifmt spec in insn spec.  */
-    vpc = sh64_media_pbb_cti_chain (current_cpu, sem_arg,
-                              CPU_PBB_BR_TYPE (current_cpu),
-                              CPU_PBB_BR_NPC (current_cpu));
-#endif
-#endif
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* x-chain: --chain-- */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,x_chain) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_MEDIA
-    vpc = sh64_media_pbb_chain (current_cpu, sem_arg);
-#ifdef DEFINE_SWITCH
-    BREAK (sem);
-#endif
-#endif
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* x-begin: --begin-- */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,x_begin) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 0);
-
-  {
-#if WITH_SCACHE_PBB_SH64_MEDIA
-#if defined DEFINE_SWITCH || defined FAST_P
-    /* In the switch case FAST_P is a constant, allowing several optimizations
-       in any called inline functions.  */
-    vpc = sh64_media_pbb_begin (current_cpu, FAST_P);
-#else
-#if 0 /* cgen engine can't handle dynamic fast/full switching yet.  */
-    vpc = sh64_media_pbb_begin (current_cpu, STATE_RUN_FAST_P (CPU_STATE (current_cpu)));
-#else
-    vpc = sh64_media_pbb_begin (current_cpu, 0);
-#endif
-#endif
-#endif
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* add: add $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,add) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* addl: add.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,addl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* addi: addi $rm, $disp10, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,addi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* addil: addi.l $rm, $disp10, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,addil) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = EXTSIDI (ADDSI (EXTSISI (FLD (f_disp10)), SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* addzl: addz.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,addzl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* alloco: alloco $rm, $disp6x32 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,alloco) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_xori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    DI opval = GET_H_GR (FLD (f_left));
-    SET_H_GR (FLD (f_left), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-((void) 0); /*nop*/
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* and: and $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,and) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ANDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* andc: andc $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,andc) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ANDDI (GET_H_GR (FLD (f_left)), INVDI (GET_H_GR (FLD (f_right))));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* andi: andi $rm, $disp10, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,andi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ANDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* beq: beq$likely $rm, $rn, $tra */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,beq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_beq.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* beqi: beqi$likely $rm, $imm6, $tra */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,beqi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_beqi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bge: bge$likely $rm, $rn, $tra */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,bge) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_beq.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bgeu: bgeu$likely $rm, $rn, $tra */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,bgeu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_beq.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bgt: bgt$likely $rm, $rn, $tra */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,bgt) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_beq.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bgtu: bgtu$likely $rm, $rn, $tra */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,bgtu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_beq.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* blink: blink $trb, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,blink) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_blink.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    DI opval = ORDI (ADDDI (pc, 4), 1);
-    SET_H_GR (FLD (f_dest), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-if (EQSI (FLD (f_dest), 63)) {
-((void) 0); /*nop*/
-} else {
-((void) 0); /*nop*/
-}
-}
-
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bne: bne$likely $rm, $rn, $tra */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,bne) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_beq.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* bnei: bnei$likely $rm, $imm6, $tra */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,bnei) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_beqi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_BRANCH_INIT
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
-  }
-}
-}
-
-  abuf->written = written;
-  SEM_BRANCH_FINI (vpc);
-  return vpc;
-#undef FLD
-}
-
-/* brk: brk */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,brk) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-sh64_break (current_cpu, pc);
-
-  return vpc;
-#undef FLD
-}
-
-/* byterev: byterev $rm, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,byterev) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_xori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_source;
-  DI tmp_result;
-  tmp_source = GET_H_GR (FLD (f_left));
-  tmp_result = 0;
-{
-  tmp_result = ORDI (SLLDI (tmp_result, 8), ANDDI (tmp_source, 255));
-  tmp_source = SRLDI (tmp_source, 8);
-}
-{
-  tmp_result = ORDI (SLLDI (tmp_result, 8), ANDDI (tmp_source, 255));
-  tmp_source = SRLDI (tmp_source, 8);
-}
-{
-  tmp_result = ORDI (SLLDI (tmp_result, 8), ANDDI (tmp_source, 255));
-  tmp_source = SRLDI (tmp_source, 8);
-}
-{
-  tmp_result = ORDI (SLLDI (tmp_result, 8), ANDDI (tmp_source, 255));
-  tmp_source = SRLDI (tmp_source, 8);
-}
-{
-  tmp_result = ORDI (SLLDI (tmp_result, 8), ANDDI (tmp_source, 255));
-  tmp_source = SRLDI (tmp_source, 8);
-}
-{
-  tmp_result = ORDI (SLLDI (tmp_result, 8), ANDDI (tmp_source, 255));
-  tmp_source = SRLDI (tmp_source, 8);
-}
-{
-  tmp_result = ORDI (SLLDI (tmp_result, 8), ANDDI (tmp_source, 255));
-  tmp_source = SRLDI (tmp_source, 8);
-}
-{
-  tmp_result = ORDI (SLLDI (tmp_result, 8), ANDDI (tmp_source, 255));
-  tmp_source = SRLDI (tmp_source, 8);
-}
-  {
-    DI opval = tmp_result;
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* cmpeq: cmpeq $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,cmpeq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ((EQDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) ? (1) : (0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* cmpgt: cmpgt $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,cmpgt) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ((GTDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) ? (1) : (0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* cmpgtu: cmpgtu $rm,$rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,cmpgtu) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ((GTUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) ? (1) : (0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* cmveq: cmveq $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,cmveq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* cmvne: cmvne $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,cmvne) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* fabsd: fabs.d $drgh, $drf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fabsd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = sh64_fabsd (current_cpu, GET_H_DR (FLD (f_left_right)));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fabss: fabs.s $frgh, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fabss) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = sh64_fabss (current_cpu, CPU (h_fr[FLD (f_left_right)]));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* faddd: fadd.d $drg, $drh, $drf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,faddd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fadds: fadd.s $frg, $frh, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fadds) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fcmpeqd: fcmpeq.d $drg, $drh, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fcmpeqd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fcmpeqs: fcmpeq.s $frg, $frh, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fcmpeqs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fcmpged: fcmpge.d $drg, $drh, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fcmpged) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fcmpges: fcmpge.s $frg, $frh, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fcmpges) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fcmpgtd: fcmpgt.d $drg, $drh, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fcmpgtd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fcmpgts: fcmpgt.s $frg, $frh, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fcmpgts) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fcmpund: fcmpun.d $drg, $drh, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fcmpund) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fcmpuns: fcmpun.s $frg, $frh, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fcmpuns) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fcnvds: fcnv.ds $drgh, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fcnvds) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = sh64_fcnvds (current_cpu, GET_H_DR (FLD (f_left_right)));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fcnvsd: fcnv.sd $frgh, $drf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fcnvsd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = sh64_fcnvsd (current_cpu, CPU (h_fr[FLD (f_left_right)]));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fdivd: fdiv.d $drg, $drh, $drf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fdivd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fdivs: fdiv.s $frg, $frh, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fdivs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fgetscr: fgetscr $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fgetscr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_shori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = SUBWORDSISF (CPU (h_fpscr));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fiprs: fipr.s $fvg, $fvh, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fiprs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    SF opval = GET_H_FV (FLD (f_left));
-    SET_H_FV (FLD (f_left), 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);
-    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;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* fldd: fld.d $rm, $disp10x8, $drf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fldd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fldd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = GETMEMDF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x8)));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fldp: fld.p $rm, $disp10x8, $fpf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fldp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fldd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    SF opval = GET_H_FP (FLD (f_dest));
-    SET_H_FP (FLD (f_dest), 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));
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* flds: fld.s $rm, $disp10x4, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,flds) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_flds.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = GETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x4)));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fldxd: fldx.d $rm, $rn, $drf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fldxd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fldxp: fldx.p $rm, $rn, $fpf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fldxp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    SF opval = GET_H_FP (FLD (f_dest));
-    SET_H_FP (FLD (f_dest), 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));
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* fldxs: fldx.s $rm, $rn, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fldxs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* floatld: float.ld $frgh, $drf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,floatld) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = sh64_floatld (current_cpu, CPU (h_fr[FLD (f_left_right)]));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* floatls: float.ls $frgh, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,floatls) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = sh64_floatls (current_cpu, CPU (h_fr[FLD (f_left_right)]));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* floatqd: float.qd $drgh, $drf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,floatqd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = sh64_floatqd (current_cpu, GET_H_DR (FLD (f_left_right)));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* floatqs: float.qs $drgh, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,floatqs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = sh64_floatqs (current_cpu, GET_H_DR (FLD (f_left_right)));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fmacs: fmac.s $frg, $frh, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fmacs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fmovd: fmov.d $drgh, $drf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fmovd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = GET_H_DR (FLD (f_left_right));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fmovdq: fmov.dq $drgh, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fmovdq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = SUBWORDDFDI (GET_H_DR (FLD (f_left_right)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fmovls: fmov.ls $rm, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fmovls) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_xori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = SUBWORDSISF (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fmovqd: fmov.qd $rm, $drf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fmovqd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_xori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = SUBWORDDIDF (GET_H_GR (FLD (f_left)));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fmovs: fmov.s $frgh, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fmovs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = CPU (h_fr[FLD (f_left_right)]);
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fmovsl: fmov.sl $frgh, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fmovsl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = EXTSIDI (SUBWORDSFSI (CPU (h_fr[FLD (f_left_right)])));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fmuld: fmul.d $drg, $drh, $drf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fmuld) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fmuls: fmul.s $frg, $frh, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fmuls) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fnegd: fneg.d $drgh, $drf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fnegd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = sh64_fnegd (current_cpu, GET_H_DR (FLD (f_left_right)));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fnegs: fneg.s $frgh, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fnegs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = sh64_fnegs (current_cpu, CPU (h_fr[FLD (f_left_right)]));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fputscr: fputscr $frgh */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fputscr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SI opval = SUBWORDSFSI (CPU (h_fr[FLD (f_left_right)]));
-    CPU (h_fpscr) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fsqrtd: fsqrt.d $drgh, $drf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fsqrtd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = sh64_fsqrtd (current_cpu, GET_H_DR (FLD (f_left_right)));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fsqrts: fsqrt.s $frgh, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fsqrts) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = sh64_fsqrts (current_cpu, CPU (h_fr[FLD (f_left_right)]));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fstd: fst.d $rm, $disp10x8, $drf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fstd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fldd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = GET_H_DR (FLD (f_dest));
-    SETMEMDF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x8)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fstp: fst.p $rm, $disp10x8, $fpf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fstp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fldd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    SF opval = GET_H_FP (FLD (f_dest));
-    SET_H_FP (FLD (f_dest), 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));
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* fsts: fst.s $rm, $disp10x4, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fsts) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_flds.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = CPU (h_fr[FLD (f_dest)]);
-    SETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x4)), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fstxd: fstx.d $rm, $rn, $drf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fstxd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fstxp: fstx.p $rm, $rn, $fpf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fstxp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    SF opval = GET_H_FP (FLD (f_dest));
-    SET_H_FP (FLD (f_dest), 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));
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* fstxs: fstx.s $rm, $rn, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fstxs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fsubd: fsub.d $drg, $drh, $drf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fsubd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* fsubs: fsub.s $frg, $frh, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,fsubs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ftrcdl: ftrc.dl $drgh, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ftrcdl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = sh64_ftrcdl (current_cpu, GET_H_DR (FLD (f_left_right)));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ftrcsl: ftrc.sl $frgh, $frf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ftrcsl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    SF opval = sh64_ftrcsl (current_cpu, CPU (h_fr[FLD (f_left_right)]));
-    CPU (h_fr[FLD (f_dest)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ftrcdq: ftrc.dq $drgh, $drf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ftrcdq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = sh64_ftrcdq (current_cpu, GET_H_DR (FLD (f_left_right)));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ftrcsq: ftrc.sq $frgh, $drf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ftrcsq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fabsd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DF opval = sh64_ftrcsq (current_cpu, CPU (h_fr[FLD (f_left_right)]));
-    SET_H_DR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "dr", 'f', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ftrvs: ftrv.s $mtrxg, $fvh, $fvf */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ftrvs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    SF opval = GET_H_FMTX (FLD (f_left));
-    SET_H_FMTX (FLD (f_left), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
-  }
-  {
-    SF opval = GET_H_FV (FLD (f_dest));
-    SET_H_FV (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval);
-  }
-sh64_ftrvs (current_cpu, FLD (f_left), FLD (f_right), FLD (f_dest));
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* getcfg: getcfg $rm, $disp6, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,getcfg) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_address;
-  tmp_address = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-((void) 0); /*nop*/
-  {
-    DI opval = GETMEMSI (current_cpu, pc, tmp_address);
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* getcon: getcon $crk, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,getcon) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_xori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = GET_H_CR (FLD (f_left));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* gettr: gettr $trb, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,gettr) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_blink.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = CPU (h_tr[FLD (f_trb)]);
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* icbi: icbi $rm, $disp6x32 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,icbi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_xori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    DI opval = GET_H_GR (FLD (f_left));
-    SET_H_GR (FLD (f_left), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-((void) 0); /*nop*/
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* ldb: ld.b $rm, $disp10, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ldb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldl: ld.l $rm, $disp10x4, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ldl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_flds.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldq: ld.q $rm, $disp10x8, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ldq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fldd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = GETMEMDI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10x8))));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldub: ld.ub $rm, $disp10, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ldub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* lduw: ld.uw $rm, $disp10x2, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,lduw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_lduw.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldw: ld.w $rm, $disp10x2, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ldw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_lduw.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldhil: ldhi.l $rm, $disp6, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ldhil) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_addr;
-  QI tmp_bytecount;
-  SI tmp_val;
-  tmp_addr = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-  tmp_bytecount = ADDDI (ANDDI (tmp_addr, 3), 1);
-  tmp_val = 0;
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-} else {
-if (GET_H_ENDIAN ()) {
-{
-if (ANDQI (tmp_bytecount, 2)) {
-  tmp_val = ADDSI (SLLSI (tmp_val, 16), ZEXTHIDI (GETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4))));
-}
-if (ANDQI (tmp_bytecount, 1)) {
-  tmp_val = ADDSI (SLLSI (tmp_val, 8), ZEXTQIDI (GETMEMQI (current_cpu, pc, tmp_addr)));
-}
-  {
-    DI opval = EXTSIDI (tmp_val);
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-} else {
-{
-if (ANDQI (tmp_bytecount, 1)) {
-  tmp_val = ADDSI (SLLSI (tmp_val, 8), ZEXTQIDI (GETMEMQI (current_cpu, pc, tmp_addr)));
-}
-if (ANDQI (tmp_bytecount, 2)) {
-  tmp_val = ADDSI (SLLSI (tmp_val, 16), ZEXTHIDI (GETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4))));
-}
-  {
-    DI opval = EXTSIDI (SLLSI (tmp_val, SUBSI (32, MULSI (8, tmp_bytecount))));
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-}
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* ldhiq: ldhi.q $rm, $disp6, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ldhiq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_addr;
-  QI tmp_bytecount;
-  DI tmp_val;
-  tmp_addr = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-  tmp_bytecount = ADDDI (ANDDI (tmp_addr, 7), 1);
-  tmp_val = 0;
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-} else {
-if (GET_H_ENDIAN ()) {
-{
-if (ANDQI (tmp_bytecount, 4)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 32), ZEXTSIDI (GETMEMSI (current_cpu, pc, ANDDI (tmp_addr, -8))));
-}
-if (ANDQI (tmp_bytecount, 2)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 16), ZEXTHIDI (GETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4))));
-}
-if (ANDQI (tmp_bytecount, 1)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 8), ZEXTQIDI (GETMEMQI (current_cpu, pc, tmp_addr)));
-}
-  {
-    DI opval = tmp_val;
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 7);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-} else {
-{
-if (ANDQI (tmp_bytecount, 1)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 8), ZEXTQIDI (GETMEMQI (current_cpu, pc, tmp_addr)));
-}
-if (ANDQI (tmp_bytecount, 2)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 16), ZEXTHIDI (GETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4))));
-}
-if (ANDQI (tmp_bytecount, 4)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 32), ZEXTSIDI (GETMEMSI (current_cpu, pc, ANDDI (tmp_addr, -8))));
-}
-  {
-    DI opval = SLLDI (tmp_val, SUBSI (64, MULSI (8, tmp_bytecount)));
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 7);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-}
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* ldlol: ldlo.l $rm, $disp6, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ldlol) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_addr;
-  QI tmp_bytecount;
-  SI tmp_val;
-  tmp_addr = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-  tmp_bytecount = SUBSI (4, ANDDI (tmp_addr, 3));
-  tmp_val = 0;
-if (ANDQI (tmp_bytecount, 4)) {
-  {
-    DI opval = EXTSIDI (GETMEMSI (current_cpu, pc, tmp_addr));
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-} else {
-if (GET_H_ENDIAN ()) {
-{
-if (ANDQI (tmp_bytecount, 1)) {
-  tmp_val = ADDSI (SLLSI (tmp_val, 8), ZEXTQIDI (GETMEMQI (current_cpu, pc, tmp_addr)));
-}
-if (ANDQI (tmp_bytecount, 2)) {
-  tmp_val = ADDSI (SLLSI (tmp_val, 16), ZEXTHIDI (GETMEMHI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 1), -2))));
-}
-  {
-    DI opval = EXTSIDI (SLLSI (tmp_val, SUBSI (32, MULSI (8, tmp_bytecount))));
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-} else {
-{
-if (ANDQI (tmp_bytecount, 2)) {
-  tmp_val = ADDSI (SLLSI (tmp_val, 16), ZEXTHIDI (GETMEMHI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 1), -2))));
-}
-if (ANDQI (tmp_bytecount, 1)) {
-  tmp_val = ADDSI (SLLSI (tmp_val, 8), ZEXTQIDI (GETMEMQI (current_cpu, pc, tmp_addr)));
-}
-  {
-    DI opval = EXTSIDI (tmp_val);
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-}
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* ldloq: ldlo.q $rm, $disp6, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ldloq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_addr;
-  QI tmp_bytecount;
-  DI tmp_val;
-  tmp_addr = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-  tmp_bytecount = SUBSI (8, ANDDI (tmp_addr, 7));
-  tmp_val = 0;
-if (ANDQI (tmp_bytecount, 8)) {
-  {
-    DI opval = GETMEMDI (current_cpu, pc, tmp_addr);
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 7);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-} else {
-if (GET_H_ENDIAN ()) {
-{
-if (ANDQI (tmp_bytecount, 1)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 8), ZEXTQIDI (GETMEMQI (current_cpu, pc, tmp_addr)));
-}
-if (ANDQI (tmp_bytecount, 2)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 16), ZEXTHIDI (GETMEMHI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 1), -2))));
-}
-if (ANDQI (tmp_bytecount, 4)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 32), ZEXTSIDI (GETMEMSI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 3), -4))));
-}
-  {
-    DI opval = SLLDI (tmp_val, SUBSI (64, MULSI (8, tmp_bytecount)));
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 7);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-} else {
-{
-if (ANDQI (tmp_bytecount, 4)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 32), ZEXTSIDI (GETMEMSI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 3), -4))));
-}
-if (ANDQI (tmp_bytecount, 2)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 16), ZEXTHIDI (GETMEMHI (current_cpu, pc, ANDDI (ADDDI (tmp_addr, 1), -2))));
-}
-if (ANDQI (tmp_bytecount, 1)) {
-  tmp_val = ADDDI (SLLDI (tmp_val, 8), ZEXTQIDI (GETMEMQI (current_cpu, pc, tmp_addr)));
-}
-  {
-    DI opval = tmp_val;
-    SET_H_GR (FLD (f_dest), opval);
-    written |= (1 << 7);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-}
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* ldxb: ldx.b $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ldxb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldxl: ldx.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ldxl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldxq: ldx.q $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ldxq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldxub: ldx.ub $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ldxub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldxuw: ldx.uw $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ldxuw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ldxw: ldx.w $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ldxw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* mabsl: mabs.l $rm, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mabsl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_xori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = ABSSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1));
-  tmp_result1 = ABSSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mabsw: mabs.w $rm, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mabsw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_xori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = ABSHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3));
-  tmp_result1 = ABSHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2));
-  tmp_result2 = ABSHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1));
-  tmp_result3 = ABSHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* maddl: madd.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,maddl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = ADDSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), SUBWORDDISI (GET_H_GR (FLD (f_right)), 1));
-  tmp_result1 = ADDSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), SUBWORDDISI (GET_H_GR (FLD (f_right)), 0));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* maddw: madd.w $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,maddw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = ADDHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3));
-  tmp_result1 = ADDHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2));
-  tmp_result2 = ADDHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1));
-  tmp_result3 = ADDHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* maddsl: madds.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,maddsl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = ((LTDI (ADDDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1))), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (ADDDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1))), SLLDI (1, SUBSI (32, 1)))) ? (ADDDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1)))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_result1 = ((LTDI (ADDDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0))), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (ADDDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0))), SLLDI (1, SUBSI (32, 1)))) ? (ADDDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0)))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* maddsub: madds.ub $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,maddsub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_result7;
-  QI tmp_result6;
-  QI tmp_result5;
-  QI tmp_result4;
-  QI tmp_result3;
-  QI tmp_result2;
-  QI tmp_result1;
-  QI tmp_result0;
-  tmp_result0 = ((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7))), MAKEDI (0, 0))) ? (0) : (((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7))), SLLDI (1, 8))) ? (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result1 = ((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6))), MAKEDI (0, 0))) ? (0) : (((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6))), SLLDI (1, 8))) ? (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result2 = ((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5))), MAKEDI (0, 0))) ? (0) : (((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5))), SLLDI (1, 8))) ? (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result3 = ((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4))), MAKEDI (0, 0))) ? (0) : (((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4))), SLLDI (1, 8))) ? (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result4 = ((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3))), MAKEDI (0, 0))) ? (0) : (((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3))), SLLDI (1, 8))) ? (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result5 = ((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2))), MAKEDI (0, 0))) ? (0) : (((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2))), SLLDI (1, 8))) ? (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result6 = ((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1))), MAKEDI (0, 0))) ? (0) : (((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1))), SLLDI (1, 8))) ? (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result7 = ((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0))), MAKEDI (0, 0))) ? (0) : (((LTDI (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0))), SLLDI (1, 8))) ? (ADDDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0)))) : (SUBQI (SLLQI (1, 8), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* maddsw: madds.w $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,maddsw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = ((LTDI (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3))), SLLDI (1, SUBSI (16, 1)))) ? (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result1 = ((LTDI (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2))), SLLDI (1, SUBSI (16, 1)))) ? (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result2 = ((LTDI (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1))), SLLDI (1, SUBSI (16, 1)))) ? (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result3 = ((LTDI (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0))), SLLDI (1, SUBSI (16, 1)))) ? (ADDDI (EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0)), EXTHIDI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mcmpeqb: mcmpeq.b $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mcmpeqb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_result7;
-  QI tmp_result6;
-  QI tmp_result5;
-  QI tmp_result4;
-  QI tmp_result3;
-  QI tmp_result2;
-  QI tmp_result1;
-  QI tmp_result0;
-  tmp_result0 = ((EQQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7))) ? (INVQI (0)) : (0));
-  tmp_result1 = ((EQQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6))) ? (INVQI (0)) : (0));
-  tmp_result2 = ((EQQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5))) ? (INVQI (0)) : (0));
-  tmp_result3 = ((EQQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4))) ? (INVQI (0)) : (0));
-  tmp_result4 = ((EQQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3))) ? (INVQI (0)) : (0));
-  tmp_result5 = ((EQQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2))) ? (INVQI (0)) : (0));
-  tmp_result6 = ((EQQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1))) ? (INVQI (0)) : (0));
-  tmp_result7 = ((EQQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0))) ? (INVQI (0)) : (0));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mcmpeql: mcmpeq.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mcmpeql) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = ((EQSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), SUBWORDDISI (GET_H_GR (FLD (f_right)), 1))) ? (INVSI (0)) : (0));
-  tmp_result1 = ((EQSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), SUBWORDDISI (GET_H_GR (FLD (f_right)), 0))) ? (INVSI (0)) : (0));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mcmpeqw: mcmpeq.w $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mcmpeqw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = ((EQHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3))) ? (INVHI (0)) : (0));
-  tmp_result1 = ((EQHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2))) ? (INVHI (0)) : (0));
-  tmp_result2 = ((EQHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1))) ? (INVHI (0)) : (0));
-  tmp_result3 = ((EQHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0))) ? (INVHI (0)) : (0));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mcmpgtl: mcmpgt.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mcmpgtl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = ((GTSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), SUBWORDDISI (GET_H_GR (FLD (f_right)), 1))) ? (INVSI (0)) : (0));
-  tmp_result1 = ((GTSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), SUBWORDDISI (GET_H_GR (FLD (f_right)), 0))) ? (INVSI (0)) : (0));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mcmpgtub: mcmpgt.ub $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mcmpgtub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_result7;
-  QI tmp_result6;
-  QI tmp_result5;
-  QI tmp_result4;
-  QI tmp_result3;
-  QI tmp_result2;
-  QI tmp_result1;
-  QI tmp_result0;
-  tmp_result0 = ((GTUQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7))) ? (INVQI (0)) : (0));
-  tmp_result1 = ((GTUQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6))) ? (INVQI (0)) : (0));
-  tmp_result2 = ((GTUQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5))) ? (INVQI (0)) : (0));
-  tmp_result3 = ((GTUQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4))) ? (INVQI (0)) : (0));
-  tmp_result4 = ((GTUQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3))) ? (INVQI (0)) : (0));
-  tmp_result5 = ((GTUQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2))) ? (INVQI (0)) : (0));
-  tmp_result6 = ((GTUQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1))) ? (INVQI (0)) : (0));
-  tmp_result7 = ((GTUQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0))) ? (INVQI (0)) : (0));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mcmpgtw: mcmpgt.w $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mcmpgtw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = ((GTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3))) ? (INVHI (0)) : (0));
-  tmp_result1 = ((GTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2))) ? (INVHI (0)) : (0));
-  tmp_result2 = ((GTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1))) ? (INVHI (0)) : (0));
-  tmp_result3 = ((GTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0))) ? (INVHI (0)) : (0));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mcmv: mcmv $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mcmv) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* mcnvslw: mcnvs.lw $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mcnvslw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = ((LTSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), SLLDI (1, SUBSI (16, 1)))) ? (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result1 = ((LTSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), SLLDI (1, SUBSI (16, 1)))) ? (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result2 = ((LTSI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1), SLLDI (1, SUBSI (16, 1)))) ? (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result3 = ((LTSI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0), SLLDI (1, SUBSI (16, 1)))) ? (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mcnvswb: mcnvs.wb $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mcnvswb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_result7;
-  QI tmp_result6;
-  QI tmp_result5;
-  QI tmp_result4;
-  QI tmp_result3;
-  QI tmp_result2;
-  QI tmp_result1;
-  QI tmp_result0;
-  tmp_result0 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), NEGDI (SLLDI (1, SUBSI (8, 1))))) ? (NEGQI (SLLQI (1, SUBSI (8, 1)))) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), SLLDI (1, SUBSI (8, 1)))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)) : (SUBQI (SLLQI (1, SUBSI (8, 1)), 1)))));
-  tmp_result1 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), NEGDI (SLLDI (1, SUBSI (8, 1))))) ? (NEGQI (SLLQI (1, SUBSI (8, 1)))) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), SLLDI (1, SUBSI (8, 1)))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)) : (SUBQI (SLLQI (1, SUBSI (8, 1)), 1)))));
-  tmp_result2 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), NEGDI (SLLDI (1, SUBSI (8, 1))))) ? (NEGQI (SLLQI (1, SUBSI (8, 1)))) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), SLLDI (1, SUBSI (8, 1)))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1)) : (SUBQI (SLLQI (1, SUBSI (8, 1)), 1)))));
-  tmp_result3 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), NEGDI (SLLDI (1, SUBSI (8, 1))))) ? (NEGQI (SLLQI (1, SUBSI (8, 1)))) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), SLLDI (1, SUBSI (8, 1)))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0)) : (SUBQI (SLLQI (1, SUBSI (8, 1)), 1)))));
-  tmp_result4 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3), NEGDI (SLLDI (1, SUBSI (8, 1))))) ? (NEGQI (SLLQI (1, SUBSI (8, 1)))) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3), SLLDI (1, SUBSI (8, 1)))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3)) : (SUBQI (SLLQI (1, SUBSI (8, 1)), 1)))));
-  tmp_result5 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2), NEGDI (SLLDI (1, SUBSI (8, 1))))) ? (NEGQI (SLLQI (1, SUBSI (8, 1)))) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2), SLLDI (1, SUBSI (8, 1)))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2)) : (SUBQI (SLLQI (1, SUBSI (8, 1)), 1)))));
-  tmp_result6 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1), NEGDI (SLLDI (1, SUBSI (8, 1))))) ? (NEGQI (SLLQI (1, SUBSI (8, 1)))) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1), SLLDI (1, SUBSI (8, 1)))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1)) : (SUBQI (SLLQI (1, SUBSI (8, 1)), 1)))));
-  tmp_result7 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0), NEGDI (SLLDI (1, SUBSI (8, 1))))) ? (NEGQI (SLLQI (1, SUBSI (8, 1)))) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0), SLLDI (1, SUBSI (8, 1)))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0)) : (SUBQI (SLLQI (1, SUBSI (8, 1)), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mcnvswub: mcnvs.wub $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mcnvswub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_result7;
-  QI tmp_result6;
-  QI tmp_result5;
-  QI tmp_result4;
-  QI tmp_result3;
-  QI tmp_result2;
-  QI tmp_result1;
-  QI tmp_result0;
-  tmp_result0 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), MAKEDI (0, 0))) ? (0) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), SLLDI (1, 8))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result1 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), MAKEDI (0, 0))) ? (0) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), SLLDI (1, 8))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result2 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), MAKEDI (0, 0))) ? (0) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), SLLDI (1, 8))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1)) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result3 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), MAKEDI (0, 0))) ? (0) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), SLLDI (1, 8))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0)) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result4 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3), MAKEDI (0, 0))) ? (0) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3), SLLDI (1, 8))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3)) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result5 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2), MAKEDI (0, 0))) ? (0) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2), SLLDI (1, 8))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2)) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result6 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1), MAKEDI (0, 0))) ? (0) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1), SLLDI (1, 8))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1)) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result7 = ((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0), MAKEDI (0, 0))) ? (0) : (((LTHI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0), SLLDI (1, 8))) ? (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0)) : (SUBQI (SLLQI (1, 8), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mextr1: mextr1 $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mextr1) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_count;
-  DI tmp_mask;
-  DI tmp_rhs;
-  tmp_count = MULQI (8, 1);
-  tmp_mask = SLLDI (INVSI (0), tmp_count);
-  tmp_rhs = SRLDI (ANDDI (GET_H_GR (FLD (f_left)), tmp_mask), tmp_count);
-  tmp_count = MULQI (8, SUBQI (8, 1));
-  tmp_mask = SRLDI (INVSI (0), tmp_count);
-  {
-    DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mextr2: mextr2 $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mextr2) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_count;
-  DI tmp_mask;
-  DI tmp_rhs;
-  tmp_count = MULQI (8, 2);
-  tmp_mask = SLLDI (INVSI (0), tmp_count);
-  tmp_rhs = SRLDI (ANDDI (GET_H_GR (FLD (f_left)), tmp_mask), tmp_count);
-  tmp_count = MULQI (8, SUBQI (8, 2));
-  tmp_mask = SRLDI (INVSI (0), tmp_count);
-  {
-    DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mextr3: mextr3 $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mextr3) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_count;
-  DI tmp_mask;
-  DI tmp_rhs;
-  tmp_count = MULQI (8, 3);
-  tmp_mask = SLLDI (INVSI (0), tmp_count);
-  tmp_rhs = SRLDI (ANDDI (GET_H_GR (FLD (f_left)), tmp_mask), tmp_count);
-  tmp_count = MULQI (8, SUBQI (8, 3));
-  tmp_mask = SRLDI (INVSI (0), tmp_count);
-  {
-    DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mextr4: mextr4 $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mextr4) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_count;
-  DI tmp_mask;
-  DI tmp_rhs;
-  tmp_count = MULQI (8, 4);
-  tmp_mask = SLLDI (INVSI (0), tmp_count);
-  tmp_rhs = SRLDI (ANDDI (GET_H_GR (FLD (f_left)), tmp_mask), tmp_count);
-  tmp_count = MULQI (8, SUBQI (8, 4));
-  tmp_mask = SRLDI (INVSI (0), tmp_count);
-  {
-    DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mextr5: mextr5 $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mextr5) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_count;
-  DI tmp_mask;
-  DI tmp_rhs;
-  tmp_count = MULQI (8, 5);
-  tmp_mask = SLLDI (INVSI (0), tmp_count);
-  tmp_rhs = SRLDI (ANDDI (GET_H_GR (FLD (f_left)), tmp_mask), tmp_count);
-  tmp_count = MULQI (8, SUBQI (8, 5));
-  tmp_mask = SRLDI (INVSI (0), tmp_count);
-  {
-    DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mextr6: mextr6 $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mextr6) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_count;
-  DI tmp_mask;
-  DI tmp_rhs;
-  tmp_count = MULQI (8, 6);
-  tmp_mask = SLLDI (INVSI (0), tmp_count);
-  tmp_rhs = SRLDI (ANDDI (GET_H_GR (FLD (f_left)), tmp_mask), tmp_count);
-  tmp_count = MULQI (8, SUBQI (8, 6));
-  tmp_mask = SRLDI (INVSI (0), tmp_count);
-  {
-    DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mextr7: mextr7 $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mextr7) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_count;
-  DI tmp_mask;
-  DI tmp_rhs;
-  tmp_count = MULQI (8, 7);
-  tmp_mask = SLLDI (INVSI (0), tmp_count);
-  tmp_rhs = SRLDI (ANDDI (GET_H_GR (FLD (f_left)), tmp_mask), tmp_count);
-  tmp_count = MULQI (8, SUBQI (8, 7));
-  tmp_mask = SRLDI (INVSI (0), tmp_count);
-  {
-    DI opval = ORDI (tmp_rhs, SLLDI (ANDDI (GET_H_GR (FLD (f_right)), tmp_mask), tmp_count));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mmacfxwl: mmacfx.wl $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mmacfxwl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_temp;
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = SUBWORDDISI (GET_H_GR (FLD (f_dest)), 1);
-  tmp_result1 = SUBWORDDISI (GET_H_GR (FLD (f_dest)), 0);
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3)));
-  tmp_temp = ((LTDI (SLLDI (tmp_temp, 1), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SLLDI (tmp_temp, 1), SLLDI (1, SUBSI (32, 1)))) ? (SLLDI (tmp_temp, 1)) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_result0 = ((LTDI (ADDDI (EXTSIDI (tmp_result0), EXTSIDI (tmp_temp)), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (ADDDI (EXTSIDI (tmp_result0), EXTSIDI (tmp_temp)), SLLDI (1, SUBSI (32, 1)))) ? (ADDDI (EXTSIDI (tmp_result0), EXTSIDI (tmp_temp))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2)));
-  tmp_temp = ((LTDI (SLLDI (tmp_temp, 1), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SLLDI (tmp_temp, 1), SLLDI (1, SUBSI (32, 1)))) ? (SLLDI (tmp_temp, 1)) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_result1 = ((LTDI (ADDDI (EXTSIDI (tmp_result1), EXTSIDI (tmp_temp)), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (ADDDI (EXTSIDI (tmp_result1), EXTSIDI (tmp_temp)), SLLDI (1, SUBSI (32, 1)))) ? (ADDDI (EXTSIDI (tmp_result1), EXTSIDI (tmp_temp))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mmacnfx.wl: mmacnfx.wl $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mmacnfx_wl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_temp;
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = SUBWORDDISI (GET_H_GR (FLD (f_dest)), 1);
-  tmp_result1 = SUBWORDDISI (GET_H_GR (FLD (f_dest)), 0);
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3)));
-  tmp_temp = ((LTDI (SLLDI (tmp_temp, 1), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SLLDI (tmp_temp, 1), SLLDI (1, SUBSI (32, 1)))) ? (SLLDI (tmp_temp, 1)) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_result0 = ((LTDI (SUBDI (EXTSIDI (tmp_result0), EXTSIDI (tmp_temp)), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SUBDI (EXTSIDI (tmp_result0), EXTSIDI (tmp_temp)), SLLDI (1, SUBSI (32, 1)))) ? (SUBDI (EXTSIDI (tmp_result0), EXTSIDI (tmp_temp))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2)));
-  tmp_temp = ((LTDI (SLLDI (tmp_temp, 1), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SLLDI (tmp_temp, 1), SLLDI (1, SUBSI (32, 1)))) ? (SLLDI (tmp_temp, 1)) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_result1 = ((LTDI (SUBDI (EXTSIDI (tmp_result1), EXTSIDI (tmp_temp)), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SUBDI (EXTSIDI (tmp_result1), EXTSIDI (tmp_temp)), SLLDI (1, SUBSI (32, 1)))) ? (SUBDI (EXTSIDI (tmp_result1), EXTSIDI (tmp_temp))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mmull: mmul.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mmull) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = MULSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), SUBWORDDISI (GET_H_GR (FLD (f_right)), 1));
-  tmp_result1 = MULSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), SUBWORDDISI (GET_H_GR (FLD (f_right)), 0));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mmulw: mmul.w $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mmulw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = MULHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3));
-  tmp_result1 = MULHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2));
-  tmp_result2 = MULHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1));
-  tmp_result3 = MULHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mmulfxl: mmulfx.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mmulfxl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_temp;
-  SI tmp_result0;
-  SI tmp_result1;
-  tmp_temp = MULDI (ZEXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)), ZEXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1)));
-  tmp_result0 = ((LTDI (SRADI (tmp_temp, 31), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SRADI (tmp_temp, 31), SLLDI (1, SUBSI (32, 1)))) ? (SRADI (tmp_temp, 31)) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_temp = MULDI (ZEXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0)), ZEXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0)));
-  tmp_result1 = ((LTDI (SRADI (tmp_temp, 31), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SRADI (tmp_temp, 31), SLLDI (1, SUBSI (32, 1)))) ? (SRADI (tmp_temp, 31)) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mmulfxw: mmulfx.w $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mmulfxw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_temp;
-  HI tmp_result0;
-  HI tmp_result1;
-  HI tmp_result2;
-  HI tmp_result3;
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3)));
-  tmp_result0 = ((LTSI (SRASI (tmp_temp, 15), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SRASI (tmp_temp, 15), SLLDI (1, SUBSI (16, 1)))) ? (SRASI (tmp_temp, 15)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2)));
-  tmp_result1 = ((LTSI (SRASI (tmp_temp, 15), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SRASI (tmp_temp, 15), SLLDI (1, SUBSI (16, 1)))) ? (SRASI (tmp_temp, 15)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1)));
-  tmp_result2 = ((LTSI (SRASI (tmp_temp, 15), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SRASI (tmp_temp, 15), SLLDI (1, SUBSI (16, 1)))) ? (SRASI (tmp_temp, 15)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0)));
-  tmp_result3 = ((LTSI (SRASI (tmp_temp, 15), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SRASI (tmp_temp, 15), SLLDI (1, SUBSI (16, 1)))) ? (SRASI (tmp_temp, 15)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mmulfxrpw: mmulfxrp.w $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mmulfxrpw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_temp;
-  HI tmp_result0;
-  HI tmp_result1;
-  HI tmp_result2;
-  HI tmp_result3;
-  HI tmp_c;
-  tmp_c = SLLSI (1, 14);
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3)));
-  tmp_result0 = ((LTSI (SRASI (ADDSI (tmp_temp, tmp_c), 15), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SRASI (ADDSI (tmp_temp, tmp_c), 15), SLLDI (1, SUBSI (16, 1)))) ? (SRASI (ADDSI (tmp_temp, tmp_c), 15)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2)));
-  tmp_result1 = ((LTSI (SRASI (ADDSI (tmp_temp, tmp_c), 15), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SRASI (ADDSI (tmp_temp, tmp_c), 15), SLLDI (1, SUBSI (16, 1)))) ? (SRASI (ADDSI (tmp_temp, tmp_c), 15)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1)));
-  tmp_result2 = ((LTSI (SRASI (ADDSI (tmp_temp, tmp_c), 15), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SRASI (ADDSI (tmp_temp, tmp_c), 15), SLLDI (1, SUBSI (16, 1)))) ? (SRASI (ADDSI (tmp_temp, tmp_c), 15)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_temp = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0)));
-  tmp_result3 = ((LTSI (SRASI (ADDSI (tmp_temp, tmp_c), 15), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTSI (SRASI (ADDSI (tmp_temp, tmp_c), 15), SLLDI (1, SUBSI (16, 1)))) ? (SRASI (ADDSI (tmp_temp, tmp_c), 15)) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mmulhiwl: mmulhi.wl $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mmulhiwl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1)));
-  tmp_result1 = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0)));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mmullowl: mmullo.wl $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mmullowl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3)));
-  tmp_result1 = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2)));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mmulsumwq: mmulsum.wq $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mmulsumwq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_acc;
-  tmp_acc = MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0)));
-  tmp_acc = ADDDI (tmp_acc, MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1))));
-  tmp_acc = ADDDI (tmp_acc, MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2))));
-  tmp_acc = ADDDI (tmp_acc, MULSI (ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3)), ZEXTHISI (SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3))));
-  {
-    DI opval = ADDDI (GET_H_GR (FLD (f_dest)), tmp_acc);
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* movi: movi $imm16, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,movi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_movi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = EXTSIDI (FLD (f_imm16));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* mpermw: mperm.w $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mpermw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_control;
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_control = ANDQI (GET_H_GR (FLD (f_right)), 255);
-  tmp_result0 = SUBWORDDIHI (GET_H_GR (FLD (f_left)), SUBSI (3, ANDQI (tmp_control, 3)));
-  tmp_result1 = SUBWORDDIHI (GET_H_GR (FLD (f_left)), SUBSI (3, ANDQI (SRLQI (tmp_control, 2), 3)));
-  tmp_result2 = SUBWORDDIHI (GET_H_GR (FLD (f_left)), SUBSI (3, ANDQI (SRLQI (tmp_control, 4), 3)));
-  tmp_result3 = SUBWORDDIHI (GET_H_GR (FLD (f_left)), SUBSI (3, ANDQI (SRLQI (tmp_control, 6), 3)));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* msadubq: msad.ubq $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,msadubq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_acc;
-  tmp_acc = ABSDI (SUBQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0)));
-  tmp_acc = ADDDI (tmp_acc, ABSQI (SUBQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1))));
-  tmp_acc = ADDDI (tmp_acc, ABSQI (SUBQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2))));
-  tmp_acc = ADDDI (tmp_acc, ABSQI (SUBQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3))));
-  tmp_acc = ADDDI (tmp_acc, ABSQI (SUBQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4))));
-  tmp_acc = ADDDI (tmp_acc, ABSQI (SUBQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5))));
-  tmp_acc = ADDDI (tmp_acc, ABSQI (SUBQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6))));
-  tmp_acc = ADDDI (tmp_acc, ABSQI (SUBQI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7), SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7))));
-  {
-    DI opval = ADDDI (GET_H_GR (FLD (f_dest)), tmp_acc);
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mshaldsl: mshalds.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mshaldsl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = ((LTDI (SLLDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 31)), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SLLDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 31)), SLLDI (1, SUBSI (32, 1)))) ? (SLLDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 31))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_result1 = ((LTDI (SLLDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 31)), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SLLDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 31)), SLLDI (1, SUBSI (32, 1)))) ? (SLLDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 31))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mshaldsw: mshalds.w $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mshaldsw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = ((LTDI (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), ANDDI (GET_H_GR (FLD (f_right)), 15)), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), ANDDI (GET_H_GR (FLD (f_right)), 15)), SLLDI (1, SUBSI (16, 1)))) ? (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), ANDDI (GET_H_GR (FLD (f_right)), 15))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result1 = ((LTDI (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), ANDDI (GET_H_GR (FLD (f_right)), 15)), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), ANDDI (GET_H_GR (FLD (f_right)), 15)), SLLDI (1, SUBSI (16, 1)))) ? (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), ANDDI (GET_H_GR (FLD (f_right)), 15))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result2 = ((LTDI (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 15)), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 15)), SLLDI (1, SUBSI (16, 1)))) ? (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 15))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result3 = ((LTDI (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 15)), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 15)), SLLDI (1, SUBSI (16, 1)))) ? (SLLDI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 15))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mshardl: mshard.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mshardl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = SRASI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 31));
-  tmp_result1 = SRASI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 31));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mshardw: mshard.w $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mshardw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = SRAHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  tmp_result1 = SRAHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  tmp_result2 = SRAHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  tmp_result3 = SRAHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mshardsq: mshards.q $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mshardsq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* mshfhib: mshfhi.b $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mshfhib) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_result7;
-  QI tmp_result6;
-  QI tmp_result5;
-  QI tmp_result4;
-  QI tmp_result3;
-  QI tmp_result2;
-  QI tmp_result1;
-  QI tmp_result0;
-  tmp_result0 = SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3);
-  tmp_result1 = SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3);
-  tmp_result2 = SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2);
-  tmp_result3 = SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2);
-  tmp_result4 = SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1);
-  tmp_result5 = SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1);
-  tmp_result6 = SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0);
-  tmp_result7 = SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0);
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mshfhil: mshfhi.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mshfhil) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = SUBWORDDISI (GET_H_GR (FLD (f_left)), 0);
-  tmp_result1 = SUBWORDDISI (GET_H_GR (FLD (f_right)), 0);
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mshfhiw: mshfhi.w $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mshfhiw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1);
-  tmp_result1 = SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1);
-  tmp_result2 = SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0);
-  tmp_result3 = SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0);
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mshflob: mshflo.b $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mshflob) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_result7;
-  QI tmp_result6;
-  QI tmp_result5;
-  QI tmp_result4;
-  QI tmp_result3;
-  QI tmp_result2;
-  QI tmp_result1;
-  QI tmp_result0;
-  tmp_result0 = SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7);
-  tmp_result1 = SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7);
-  tmp_result2 = SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6);
-  tmp_result3 = SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6);
-  tmp_result4 = SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5);
-  tmp_result5 = SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5);
-  tmp_result6 = SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4);
-  tmp_result7 = SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4);
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mshflol: mshflo.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mshflol) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = SUBWORDDISI (GET_H_GR (FLD (f_left)), 1);
-  tmp_result1 = SUBWORDDISI (GET_H_GR (FLD (f_right)), 1);
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mshflow: mshflo.w $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mshflow) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3);
-  tmp_result1 = SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3);
-  tmp_result2 = SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2);
-  tmp_result3 = SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2);
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mshlldl: mshlld.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mshlldl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = SLLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 31));
-  tmp_result1 = SLLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 31));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mshlldw: mshlld.w $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mshlldw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = SLLHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  tmp_result1 = SLLHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  tmp_result2 = SLLHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  tmp_result3 = SLLHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mshlrdl: mshlrd.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mshlrdl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = SRLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 31));
-  tmp_result1 = SRLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 31));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mshlrdw: mshlrd.w $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mshlrdw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = SRLHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  tmp_result1 = SRLHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  tmp_result2 = SRLHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  tmp_result3 = SRLHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), ANDDI (GET_H_GR (FLD (f_right)), 15));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* msubl: msub.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,msubl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = SUBSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), SUBWORDDISI (GET_H_GR (FLD (f_right)), 1));
-  tmp_result1 = SUBSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0), SUBWORDDISI (GET_H_GR (FLD (f_right)), 0));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* msubw: msub.w $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,msubw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  HI tmp_result3;
-  HI tmp_result2;
-  HI tmp_result1;
-  HI tmp_result0;
-  tmp_result0 = SUBHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 3), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 3));
-  tmp_result1 = SUBHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 2), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 2));
-  tmp_result2 = SUBHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 1), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 1));
-  tmp_result3 = SUBHI (SUBWORDDIHI (GET_H_GR (FLD (f_left)), 0), SUBWORDDIHI (GET_H_GR (FLD (f_right)), 0));
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* msubsl: msubs.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,msubsl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_result1;
-  SI tmp_result0;
-  tmp_result0 = ((LTDI (SUBDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1))), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SUBDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1))), SLLDI (1, SUBSI (32, 1)))) ? (SUBDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 1)))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  tmp_result1 = ((LTDI (SUBDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0))), NEGDI (SLLDI (1, SUBSI (32, 1))))) ? (NEGSI (SLLSI (1, SUBSI (32, 1)))) : (((LTDI (SUBDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0))), SLLDI (1, SUBSI (32, 1)))) ? (SUBDI (EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 0)), EXTSIDI (SUBWORDDISI (GET_H_GR (FLD (f_right)), 0)))) : (SUBSI (SLLSI (1, SUBSI (32, 1)), 1)))));
-  {
-    DI opval = ORDI (SLLDI (ZEXTSIDI (tmp_result1), 32), ZEXTSIDI (tmp_result0));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* msubsub: msubs.ub $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,msubsub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_result7;
-  QI tmp_result6;
-  QI tmp_result5;
-  QI tmp_result4;
-  QI tmp_result3;
-  QI tmp_result2;
-  QI tmp_result1;
-  QI tmp_result0;
-  tmp_result0 = ((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7))), MAKEDI (0, 0))) ? (0) : (((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7))), SLLDI (1, 8))) ? (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result1 = ((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6))), MAKEDI (0, 0))) ? (0) : (((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6))), SLLDI (1, 8))) ? (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result2 = ((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5))), MAKEDI (0, 0))) ? (0) : (((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5))), SLLDI (1, 8))) ? (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result3 = ((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4))), MAKEDI (0, 0))) ? (0) : (((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4))), SLLDI (1, 8))) ? (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result4 = ((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3))), MAKEDI (0, 0))) ? (0) : (((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3))), SLLDI (1, 8))) ? (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result5 = ((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2))), MAKEDI (0, 0))) ? (0) : (((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2))), SLLDI (1, 8))) ? (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result6 = ((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1))), MAKEDI (0, 0))) ? (0) : (((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1))), SLLDI (1, 8))) ? (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1)))) : (SUBQI (SLLQI (1, 8), 1)))));
-  tmp_result7 = ((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0))), MAKEDI (0, 0))) ? (0) : (((LTDI (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0))), SLLDI (1, 8))) ? (SUBDI (ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0)), ZEXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0)))) : (SUBQI (SLLQI (1, 8), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* msubsw: msubs.w $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,msubsw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  QI tmp_result7;
-  QI tmp_result6;
-  QI tmp_result5;
-  QI tmp_result4;
-  QI tmp_result3;
-  QI tmp_result2;
-  QI tmp_result1;
-  QI tmp_result0;
-  tmp_result0 = ((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7))), SLLDI (1, SUBSI (16, 1)))) ? (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 7)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 7)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result1 = ((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6))), SLLDI (1, SUBSI (16, 1)))) ? (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 6)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 6)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result2 = ((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5))), SLLDI (1, SUBSI (16, 1)))) ? (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 5)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 5)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result3 = ((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4))), SLLDI (1, SUBSI (16, 1)))) ? (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 4)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 4)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result4 = ((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3))), SLLDI (1, SUBSI (16, 1)))) ? (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 3)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 3)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result5 = ((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2))), SLLDI (1, SUBSI (16, 1)))) ? (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 2)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 2)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result6 = ((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1))), SLLDI (1, SUBSI (16, 1)))) ? (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 1)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 1)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 1)))));
-  tmp_result7 = ((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0))), NEGDI (SLLDI (1, SUBSI (16, 1))))) ? (NEGHI (SLLHI (1, SUBSI (16, 1)))) : (((LTDI (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0))), SLLDI (1, SUBSI (16, 1)))) ? (SUBDI (EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_left)), 0)), EXTQIDI (SUBWORDDIQI (GET_H_GR (FLD (f_right)), 0)))) : (SUBHI (SLLHI (1, SUBSI (16, 1)), 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* mulsl: muls.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mulsl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* mulul: mulu.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,mulul) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* nop: nop */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,nop) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-((void) 0); /*nop*/
-
-  return vpc;
-#undef FLD
-}
-
-/* nsb: nsb $rm, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,nsb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_xori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = sh64_nsb (current_cpu, GET_H_GR (FLD (f_left)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ocbi: ocbi $rm, $disp6x32 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ocbi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_xori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    DI opval = GET_H_GR (FLD (f_left));
-    SET_H_GR (FLD (f_left), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-((void) 0); /*nop*/
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* ocbp: ocbp $rm, $disp6x32 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ocbp) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_xori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    DI opval = GET_H_GR (FLD (f_left));
-    SET_H_GR (FLD (f_left), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-((void) 0); /*nop*/
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* ocbwb: ocbwb $rm, $disp6x32 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ocbwb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_xori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    DI opval = GET_H_GR (FLD (f_left));
-    SET_H_GR (FLD (f_left), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-((void) 0); /*nop*/
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* or: or $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,or) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ORDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* ori: ori $rm, $imm10, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ori) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_ori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ORDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm10)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* prefi: prefi $rm, $disp6x32 */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,prefi) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_xori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  {
-    DI opval = GET_H_GR (FLD (f_left));
-    SET_H_GR (FLD (f_left), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-((void) 0); /*nop*/
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* pta: pta$likely $disp16, $tra */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,pta) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_pta.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-  {
-    DI opval = ADDSI (FLD (f_disp16), 1);
-    CPU (h_tr[FLD (f_tra)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* ptabs: ptabs$likely $rn, $tra */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ptabs) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_beq.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-  {
-    DI opval = GET_H_GR (FLD (f_right));
-    CPU (h_tr[FLD (f_tra)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* ptb: ptb$likely $disp16, $tra */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ptb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_pta.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-  {
-    DI opval = FLD (f_disp16);
-    CPU (h_tr[FLD (f_tra)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* ptrel: ptrel$likely $rn, $tra */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,ptrel) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_beq.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-((void) 0); /*nop*/
-  {
-    DI opval = ADDDI (pc, GET_H_GR (FLD (f_right)));
-    CPU (h_tr[FLD (f_tra)]) = opval;
-    CGEN_TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* putcfg: putcfg $rm, $disp6, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,putcfg) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  SI tmp_address;
-  tmp_address = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-((void) 0); /*nop*/
-  {
-    SI opval = GET_H_GR (FLD (f_dest));
-    SETMEMSI (current_cpu, pc, tmp_address, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* putcon: putcon $rm, $crj */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,putcon) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_xori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = GET_H_GR (FLD (f_left));
-    SET_H_CR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "cr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* rte: rte */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,rte) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-((void) 0); /*nop*/
-
-  return vpc;
-#undef FLD
-}
-
-/* shard: shard $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,shard) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = SRADI (GET_H_GR (FLD (f_left)), ANDDI (GET_H_GR (FLD (f_right)), 63));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* shardl: shard.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,shardl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* shari: shari $rm, $uimm6, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,shari) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_shari.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = SRADI (GET_H_GR (FLD (f_left)), FLD (f_uimm6));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* sharil: shari.l $rm, $uimm6, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,sharil) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_shari.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = EXTSIDI (SRASI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDSI (FLD (f_uimm6), 63)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* shlld: shlld $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,shlld) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = SLLDI (GET_H_GR (FLD (f_left)), ANDDI (GET_H_GR (FLD (f_right)), 63));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* shlldl: shlld.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,shlldl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* shlli: shlli $rm, $uimm6, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,shlli) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_shari.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = SLLDI (GET_H_GR (FLD (f_left)), FLD (f_uimm6));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* shllil: shlli.l $rm, $uimm6, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,shllil) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_shari.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = EXTSIDI (SLLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDSI (FLD (f_uimm6), 63)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* shlrd: shlrd $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,shlrd) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = SRLDI (GET_H_GR (FLD (f_left)), ANDDI (GET_H_GR (FLD (f_right)), 63));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* shlrdl: shlrd.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,shlrdl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* shlri: shlri $rm, $uimm6, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,shlri) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_shari.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = SRLDI (GET_H_GR (FLD (f_left)), FLD (f_uimm6));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* shlril: shlri.l $rm, $uimm6, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,shlril) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_shari.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = EXTSIDI (SRLSI (SUBWORDDISI (GET_H_GR (FLD (f_left)), 1), ANDSI (FLD (f_uimm6), 63)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* shori: shori $uimm16, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,shori) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_shori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = ORDI (SLLDI (GET_H_GR (FLD (f_dest)), 16), ZEXTSIDI (FLD (f_uimm16)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* sleep: sleep */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,sleep) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-((void) 0); /*nop*/
-
-  return vpc;
-#undef FLD
-}
-
-/* stb: st.b $rm, $disp10, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,stb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_addi.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* stl: st.l $rm, $disp10x4, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,stl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_flds.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* stq: st.q $rm, $disp10x8, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,stq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_fldd.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = GET_H_GR (FLD (f_dest));
-    SETMEMDI (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_disp10x8))), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* stw: st.w $rm, $disp10x2, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,stw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_lduw.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* sthil: sthi.l $rm, $disp6, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,sthil) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_addr;
-  QI tmp_bytecount;
-  DI tmp_val;
-  tmp_addr = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-  tmp_bytecount = ADDDI (ANDDI (tmp_addr, 3), 1);
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-} else {
-if (GET_H_ENDIAN ()) {
-{
-  tmp_val = GET_H_GR (FLD (f_dest));
-if (ANDQI (tmp_bytecount, 1)) {
-{
-  {
-    UQI opval = ANDQI (tmp_val, 255);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 8);
-}
-}
-if (ANDQI (tmp_bytecount, 2)) {
-{
-  {
-    HI opval = ANDHI (tmp_val, 65535);
-    SETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4), opval);
-    written |= (1 << 4);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 16);
-}
-}
-}
-} else {
-{
-  tmp_val = SRLDI (GET_H_GR (FLD (f_dest)), SUBSI (32, MULSI (8, tmp_bytecount)));
-if (ANDQI (tmp_bytecount, 2)) {
-{
-  {
-    HI opval = ANDHI (tmp_val, 65535);
-    SETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4), opval);
-    written |= (1 << 4);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 16);
-}
-}
-if (ANDQI (tmp_bytecount, 1)) {
-{
-  {
-    UQI opval = ANDQI (tmp_val, 255);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 8);
-}
-}
-}
-}
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* sthiq: sthi.q $rm, $disp6, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,sthiq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_addr;
-  QI tmp_bytecount;
-  DI tmp_val;
-  tmp_addr = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-  tmp_bytecount = ADDDI (ANDDI (tmp_addr, 7), 1);
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
-  }
-} else {
-if (GET_H_ENDIAN ()) {
-{
-  tmp_val = GET_H_GR (FLD (f_dest));
-if (ANDQI (tmp_bytecount, 1)) {
-{
-  {
-    UQI opval = ANDQI (tmp_val, 255);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 7);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 8);
-}
-}
-if (ANDQI (tmp_bytecount, 2)) {
-{
-  {
-    HI opval = ANDHI (tmp_val, 65535);
-    SETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4), opval);
-    written |= (1 << 5);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 16);
-}
-}
-if (ANDQI (tmp_bytecount, 4)) {
-{
-  {
-    SI opval = ANDSI (tmp_val, 0xffffffff);
-    SETMEMSI (current_cpu, pc, ANDDI (tmp_addr, -8), opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 32);
-}
-}
-}
-} else {
-{
-  tmp_val = SRLDI (GET_H_GR (FLD (f_dest)), SUBSI (64, MULSI (8, tmp_bytecount)));
-if (ANDQI (tmp_bytecount, 4)) {
-{
-  {
-    SI opval = ANDSI (tmp_val, 0xffffffff);
-    SETMEMSI (current_cpu, pc, ANDDI (tmp_addr, -8), opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 32);
-}
-}
-if (ANDQI (tmp_bytecount, 2)) {
-{
-  {
-    HI opval = ANDHI (tmp_val, 65535);
-    SETMEMHI (current_cpu, pc, ANDDI (tmp_addr, -4), opval);
-    written |= (1 << 5);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 16);
-}
-}
-if (ANDQI (tmp_bytecount, 1)) {
-{
-  {
-    UQI opval = ANDQI (tmp_val, 255);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 7);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 8);
-}
-}
-}
-}
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* stlol: stlo.l $rm, $disp6, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,stlol) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_addr;
-  QI tmp_bytecount;
-  DI tmp_val;
-  tmp_addr = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-  tmp_bytecount = SUBSI (4, ANDDI (tmp_addr, 3));
-if (ANDQI (tmp_bytecount, 4)) {
-  {
-    USI opval = GET_H_GR (FLD (f_dest));
-    SETMEMUSI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-} else {
-if (GET_H_ENDIAN ()) {
-{
-  tmp_val = SRLDI (GET_H_GR (FLD (f_dest)), SUBSI (32, MULSI (8, tmp_bytecount)));
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 16);
-}
-}
-if (ANDQI (tmp_bytecount, 1)) {
-{
-  {
-    UQI opval = ANDQI (tmp_val, 255);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 5);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 8);
-}
-}
-}
-} else {
-{
-  tmp_val = GET_H_GR (FLD (f_dest));
-if (ANDQI (tmp_bytecount, 1)) {
-{
-  {
-    UQI opval = ANDQI (tmp_val, 255);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 5);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 8);
-}
-}
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 16);
-}
-}
-}
-}
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* stloq: stlo.q $rm, $disp6, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,stloq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_getcfg.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_addr;
-  QI tmp_bytecount;
-  DI tmp_val;
-  tmp_addr = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6));
-  tmp_bytecount = SUBSI (8, ANDDI (tmp_addr, 7));
-if (ANDQI (tmp_bytecount, 8)) {
-  {
-    UDI opval = GET_H_GR (FLD (f_dest));
-    SETMEMUDI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 4);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
-  }
-} else {
-if (GET_H_ENDIAN ()) {
-{
-  tmp_val = SRLDI (GET_H_GR (FLD (f_dest)), SUBSI (64, MULSI (8, tmp_bytecount)));
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 32);
-}
-}
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 16);
-}
-}
-if (ANDQI (tmp_bytecount, 1)) {
-{
-  {
-    UQI opval = ANDQI (tmp_val, 255);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 8);
-}
-}
-}
-} else {
-{
-  tmp_val = GET_H_GR (FLD (f_dest));
-if (ANDQI (tmp_bytecount, 1)) {
-{
-  {
-    UQI opval = ANDQI (tmp_val, 255);
-    SETMEMUQI (current_cpu, pc, tmp_addr, opval);
-    written |= (1 << 6);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 8);
-}
-}
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 16);
-}
-}
-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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-  tmp_val = SRLDI (tmp_val, 32);
-}
-}
-}
-}
-}
-}
-
-  abuf->written = written;
-  return vpc;
-#undef FLD
-}
-
-/* stxb: stx.b $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,stxb) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* stxl: stx.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,stxl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* stxq: stx.q $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,stxq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* stxw: stx.w $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,stxw) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* sub: sub $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,sub) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = SUBDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* subl: sub.l $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,subl) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 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);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* swapq: swap.q $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,swapq) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-{
-  DI tmp_addr;
-  DI tmp_temp;
-  tmp_addr = ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
-  tmp_temp = GETMEMDI (current_cpu, pc, tmp_addr);
-  {
-    DI opval = GET_H_GR (FLD (f_dest));
-    SETMEMDI (current_cpu, pc, tmp_addr, opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
-  }
-  {
-    DI opval = tmp_temp;
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-}
-
-  return vpc;
-#undef FLD
-}
-
-/* synci: synci */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,synci) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-((void) 0); /*nop*/
-
-  return vpc;
-#undef FLD
-}
-
-/* synco: synco */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,synco) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_empty.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-((void) 0); /*nop*/
-
-  return vpc;
-#undef FLD
-}
-
-/* trapa: trapa $rm */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,trapa) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_xori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-sh64_trapa (current_cpu, GET_H_GR (FLD (f_left)), pc);
-
-  return vpc;
-#undef FLD
-}
-
-/* xor: xor $rm, $rn, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,xor) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_add.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = XORDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* xori: xori $rm, $imm6, $rd */
-
-static SEM_PC
-SEM_FN_NAME (sh64_media,xori) (SIM_CPU *current_cpu, SEM_ARG sem_arg)
-{
-#define FLD(f) abuf->fields.sfmt_xori.f
-  ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-  int UNUSED written = 0;
-  IADDR UNUSED pc = abuf->addr;
-  SEM_PC vpc = SEM_NEXT_VPC (sem_arg, pc, 4);
-
-  {
-    DI opval = XORDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm6)));
-    SET_H_GR (FLD (f_dest), opval);
-    CGEN_TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
-  }
-
-  return vpc;
-#undef FLD
-}
-
-/* Table of all semantic fns.  */
-
-static const struct sem_fn_desc sem_fns[] = {
-  { SH64_MEDIA_INSN_X_INVALID, SEM_FN_NAME (sh64_media,x_invalid) },
-  { SH64_MEDIA_INSN_X_AFTER, SEM_FN_NAME (sh64_media,x_after) },
-  { SH64_MEDIA_INSN_X_BEFORE, SEM_FN_NAME (sh64_media,x_before) },
-  { SH64_MEDIA_INSN_X_CTI_CHAIN, SEM_FN_NAME (sh64_media,x_cti_chain) },
-  { SH64_MEDIA_INSN_X_CHAIN, SEM_FN_NAME (sh64_media,x_chain) },
-  { SH64_MEDIA_INSN_X_BEGIN, SEM_FN_NAME (sh64_media,x_begin) },
-  { SH64_MEDIA_INSN_ADD, SEM_FN_NAME (sh64_media,add) },
-  { SH64_MEDIA_INSN_ADDL, SEM_FN_NAME (sh64_media,addl) },
-  { SH64_MEDIA_INSN_ADDI, SEM_FN_NAME (sh64_media,addi) },
-  { SH64_MEDIA_INSN_ADDIL, SEM_FN_NAME (sh64_media,addil) },
-  { SH64_MEDIA_INSN_ADDZL, SEM_FN_NAME (sh64_media,addzl) },
-  { SH64_MEDIA_INSN_ALLOCO, SEM_FN_NAME (sh64_media,alloco) },
-  { SH64_MEDIA_INSN_AND, SEM_FN_NAME (sh64_media,and) },
-  { SH64_MEDIA_INSN_ANDC, SEM_FN_NAME (sh64_media,andc) },
-  { SH64_MEDIA_INSN_ANDI, SEM_FN_NAME (sh64_media,andi) },
-  { SH64_MEDIA_INSN_BEQ, SEM_FN_NAME (sh64_media,beq) },
-  { SH64_MEDIA_INSN_BEQI, SEM_FN_NAME (sh64_media,beqi) },
-  { SH64_MEDIA_INSN_BGE, SEM_FN_NAME (sh64_media,bge) },
-  { SH64_MEDIA_INSN_BGEU, SEM_FN_NAME (sh64_media,bgeu) },
-  { SH64_MEDIA_INSN_BGT, SEM_FN_NAME (sh64_media,bgt) },
-  { SH64_MEDIA_INSN_BGTU, SEM_FN_NAME (sh64_media,bgtu) },
-  { SH64_MEDIA_INSN_BLINK, SEM_FN_NAME (sh64_media,blink) },
-  { SH64_MEDIA_INSN_BNE, SEM_FN_NAME (sh64_media,bne) },
-  { SH64_MEDIA_INSN_BNEI, SEM_FN_NAME (sh64_media,bnei) },
-  { SH64_MEDIA_INSN_BRK, SEM_FN_NAME (sh64_media,brk) },
-  { SH64_MEDIA_INSN_BYTEREV, SEM_FN_NAME (sh64_media,byterev) },
-  { SH64_MEDIA_INSN_CMPEQ, SEM_FN_NAME (sh64_media,cmpeq) },
-  { SH64_MEDIA_INSN_CMPGT, SEM_FN_NAME (sh64_media,cmpgt) },
-  { SH64_MEDIA_INSN_CMPGTU, SEM_FN_NAME (sh64_media,cmpgtu) },
-  { SH64_MEDIA_INSN_CMVEQ, SEM_FN_NAME (sh64_media,cmveq) },
-  { SH64_MEDIA_INSN_CMVNE, SEM_FN_NAME (sh64_media,cmvne) },
-  { SH64_MEDIA_INSN_FABSD, SEM_FN_NAME (sh64_media,fabsd) },
-  { SH64_MEDIA_INSN_FABSS, SEM_FN_NAME (sh64_media,fabss) },
-  { SH64_MEDIA_INSN_FADDD, SEM_FN_NAME (sh64_media,faddd) },
-  { SH64_MEDIA_INSN_FADDS, SEM_FN_NAME (sh64_media,fadds) },
-  { SH64_MEDIA_INSN_FCMPEQD, SEM_FN_NAME (sh64_media,fcmpeqd) },
-  { SH64_MEDIA_INSN_FCMPEQS, SEM_FN_NAME (sh64_media,fcmpeqs) },
-  { SH64_MEDIA_INSN_FCMPGED, SEM_FN_NAME (sh64_media,fcmpged) },
-  { SH64_MEDIA_INSN_FCMPGES, SEM_FN_NAME (sh64_media,fcmpges) },
-  { SH64_MEDIA_INSN_FCMPGTD, SEM_FN_NAME (sh64_media,fcmpgtd) },
-  { SH64_MEDIA_INSN_FCMPGTS, SEM_FN_NAME (sh64_media,fcmpgts) },
-  { SH64_MEDIA_INSN_FCMPUND, SEM_FN_NAME (sh64_media,fcmpund) },
-  { SH64_MEDIA_INSN_FCMPUNS, SEM_FN_NAME (sh64_media,fcmpuns) },
-  { SH64_MEDIA_INSN_FCNVDS, SEM_FN_NAME (sh64_media,fcnvds) },
-  { SH64_MEDIA_INSN_FCNVSD, SEM_FN_NAME (sh64_media,fcnvsd) },
-  { SH64_MEDIA_INSN_FDIVD, SEM_FN_NAME (sh64_media,fdivd) },
-  { SH64_MEDIA_INSN_FDIVS, SEM_FN_NAME (sh64_media,fdivs) },
-  { SH64_MEDIA_INSN_FGETSCR, SEM_FN_NAME (sh64_media,fgetscr) },
-  { SH64_MEDIA_INSN_FIPRS, SEM_FN_NAME (sh64_media,fiprs) },
-  { SH64_MEDIA_INSN_FLDD, SEM_FN_NAME (sh64_media,fldd) },
-  { SH64_MEDIA_INSN_FLDP, SEM_FN_NAME (sh64_media,fldp) },
-  { SH64_MEDIA_INSN_FLDS, SEM_FN_NAME (sh64_media,flds) },
-  { SH64_MEDIA_INSN_FLDXD, SEM_FN_NAME (sh64_media,fldxd) },
-  { SH64_MEDIA_INSN_FLDXP, SEM_FN_NAME (sh64_media,fldxp) },
-  { SH64_MEDIA_INSN_FLDXS, SEM_FN_NAME (sh64_media,fldxs) },
-  { SH64_MEDIA_INSN_FLOATLD, SEM_FN_NAME (sh64_media,floatld) },
-  { SH64_MEDIA_INSN_FLOATLS, SEM_FN_NAME (sh64_media,floatls) },
-  { SH64_MEDIA_INSN_FLOATQD, SEM_FN_NAME (sh64_media,floatqd) },
-  { SH64_MEDIA_INSN_FLOATQS, SEM_FN_NAME (sh64_media,floatqs) },
-  { SH64_MEDIA_INSN_FMACS, SEM_FN_NAME (sh64_media,fmacs) },
-  { SH64_MEDIA_INSN_FMOVD, SEM_FN_NAME (sh64_media,fmovd) },
-  { SH64_MEDIA_INSN_FMOVDQ, SEM_FN_NAME (sh64_media,fmovdq) },
-  { SH64_MEDIA_INSN_FMOVLS, SEM_FN_NAME (sh64_media,fmovls) },
-  { SH64_MEDIA_INSN_FMOVQD, SEM_FN_NAME (sh64_media,fmovqd) },
-  { SH64_MEDIA_INSN_FMOVS, SEM_FN_NAME (sh64_media,fmovs) },
-  { SH64_MEDIA_INSN_FMOVSL, SEM_FN_NAME (sh64_media,fmovsl) },
-  { SH64_MEDIA_INSN_FMULD, SEM_FN_NAME (sh64_media,fmuld) },
-  { SH64_MEDIA_INSN_FMULS, SEM_FN_NAME (sh64_media,fmuls) },
-  { SH64_MEDIA_INSN_FNEGD, SEM_FN_NAME (sh64_media,fnegd) },
-  { SH64_MEDIA_INSN_FNEGS, SEM_FN_NAME (sh64_media,fnegs) },
-  { SH64_MEDIA_INSN_FPUTSCR, SEM_FN_NAME (sh64_media,fputscr) },
-  { SH64_MEDIA_INSN_FSQRTD, SEM_FN_NAME (sh64_media,fsqrtd) },
-  { SH64_MEDIA_INSN_FSQRTS, SEM_FN_NAME (sh64_media,fsqrts) },
-  { SH64_MEDIA_INSN_FSTD, SEM_FN_NAME (sh64_media,fstd) },
-  { SH64_MEDIA_INSN_FSTP, SEM_FN_NAME (sh64_media,fstp) },
-  { SH64_MEDIA_INSN_FSTS, SEM_FN_NAME (sh64_media,fsts) },
-  { SH64_MEDIA_INSN_FSTXD, SEM_FN_NAME (sh64_media,fstxd) },
-  { SH64_MEDIA_INSN_FSTXP, SEM_FN_NAME (sh64_media,fstxp) },
-  { SH64_MEDIA_INSN_FSTXS, SEM_FN_NAME (sh64_media,fstxs) },
-  { SH64_MEDIA_INSN_FSUBD, SEM_FN_NAME (sh64_media,fsubd) },
-  { SH64_MEDIA_INSN_FSUBS, SEM_FN_NAME (sh64_media,fsubs) },
-  { SH64_MEDIA_INSN_FTRCDL, SEM_FN_NAME (sh64_media,ftrcdl) },
-  { SH64_MEDIA_INSN_FTRCSL, SEM_FN_NAME (sh64_media,ftrcsl) },
-  { SH64_MEDIA_INSN_FTRCDQ, SEM_FN_NAME (sh64_media,ftrcdq) },
-  { SH64_MEDIA_INSN_FTRCSQ, SEM_FN_NAME (sh64_media,ftrcsq) },
-  { SH64_MEDIA_INSN_FTRVS, SEM_FN_NAME (sh64_media,ftrvs) },
-  { SH64_MEDIA_INSN_GETCFG, SEM_FN_NAME (sh64_media,getcfg) },
-  { SH64_MEDIA_INSN_GETCON, SEM_FN_NAME (sh64_media,getcon) },
-  { SH64_MEDIA_INSN_GETTR, SEM_FN_NAME (sh64_media,gettr) },
-  { SH64_MEDIA_INSN_ICBI, SEM_FN_NAME (sh64_media,icbi) },
-  { SH64_MEDIA_INSN_LDB, SEM_FN_NAME (sh64_media,ldb) },
-  { SH64_MEDIA_INSN_LDL, SEM_FN_NAME (sh64_media,ldl) },
-  { SH64_MEDIA_INSN_LDQ, SEM_FN_NAME (sh64_media,ldq) },
-  { SH64_MEDIA_INSN_LDUB, SEM_FN_NAME (sh64_media,ldub) },
-  { SH64_MEDIA_INSN_LDUW, SEM_FN_NAME (sh64_media,lduw) },
-  { SH64_MEDIA_INSN_LDW, SEM_FN_NAME (sh64_media,ldw) },
-  { SH64_MEDIA_INSN_LDHIL, SEM_FN_NAME (sh64_media,ldhil) },
-  { SH64_MEDIA_INSN_LDHIQ, SEM_FN_NAME (sh64_media,ldhiq) },
-  { SH64_MEDIA_INSN_LDLOL, SEM_FN_NAME (sh64_media,ldlol) },
-  { SH64_MEDIA_INSN_LDLOQ, SEM_FN_NAME (sh64_media,ldloq) },
-  { SH64_MEDIA_INSN_LDXB, SEM_FN_NAME (sh64_media,ldxb) },
-  { SH64_MEDIA_INSN_LDXL, SEM_FN_NAME (sh64_media,ldxl) },
-  { SH64_MEDIA_INSN_LDXQ, SEM_FN_NAME (sh64_media,ldxq) },
-  { SH64_MEDIA_INSN_LDXUB, SEM_FN_NAME (sh64_media,ldxub) },
-  { SH64_MEDIA_INSN_LDXUW, SEM_FN_NAME (sh64_media,ldxuw) },
-  { SH64_MEDIA_INSN_LDXW, SEM_FN_NAME (sh64_media,ldxw) },
-  { SH64_MEDIA_INSN_MABSL, SEM_FN_NAME (sh64_media,mabsl) },
-  { SH64_MEDIA_INSN_MABSW, SEM_FN_NAME (sh64_media,mabsw) },
-  { SH64_MEDIA_INSN_MADDL, SEM_FN_NAME (sh64_media,maddl) },
-  { SH64_MEDIA_INSN_MADDW, SEM_FN_NAME (sh64_media,maddw) },
-  { SH64_MEDIA_INSN_MADDSL, SEM_FN_NAME (sh64_media,maddsl) },
-  { SH64_MEDIA_INSN_MADDSUB, SEM_FN_NAME (sh64_media,maddsub) },
-  { SH64_MEDIA_INSN_MADDSW, SEM_FN_NAME (sh64_media,maddsw) },
-  { SH64_MEDIA_INSN_MCMPEQB, SEM_FN_NAME (sh64_media,mcmpeqb) },
-  { SH64_MEDIA_INSN_MCMPEQL, SEM_FN_NAME (sh64_media,mcmpeql) },
-  { SH64_MEDIA_INSN_MCMPEQW, SEM_FN_NAME (sh64_media,mcmpeqw) },
-  { SH64_MEDIA_INSN_MCMPGTL, SEM_FN_NAME (sh64_media,mcmpgtl) },
-  { SH64_MEDIA_INSN_MCMPGTUB, SEM_FN_NAME (sh64_media,mcmpgtub) },
-  { SH64_MEDIA_INSN_MCMPGTW, SEM_FN_NAME (sh64_media,mcmpgtw) },
-  { SH64_MEDIA_INSN_MCMV, SEM_FN_NAME (sh64_media,mcmv) },
-  { SH64_MEDIA_INSN_MCNVSLW, SEM_FN_NAME (sh64_media,mcnvslw) },
-  { SH64_MEDIA_INSN_MCNVSWB, SEM_FN_NAME (sh64_media,mcnvswb) },
-  { SH64_MEDIA_INSN_MCNVSWUB, SEM_FN_NAME (sh64_media,mcnvswub) },
-  { SH64_MEDIA_INSN_MEXTR1, SEM_FN_NAME (sh64_media,mextr1) },
-  { SH64_MEDIA_INSN_MEXTR2, SEM_FN_NAME (sh64_media,mextr2) },
-  { SH64_MEDIA_INSN_MEXTR3, SEM_FN_NAME (sh64_media,mextr3) },
-  { SH64_MEDIA_INSN_MEXTR4, SEM_FN_NAME (sh64_media,mextr4) },
-  { SH64_MEDIA_INSN_MEXTR5, SEM_FN_NAME (sh64_media,mextr5) },
-  { SH64_MEDIA_INSN_MEXTR6, SEM_FN_NAME (sh64_media,mextr6) },
-  { SH64_MEDIA_INSN_MEXTR7, SEM_FN_NAME (sh64_media,mextr7) },
-  { SH64_MEDIA_INSN_MMACFXWL, SEM_FN_NAME (sh64_media,mmacfxwl) },
-  { SH64_MEDIA_INSN_MMACNFX_WL, SEM_FN_NAME (sh64_media,mmacnfx_wl) },
-  { SH64_MEDIA_INSN_MMULL, SEM_FN_NAME (sh64_media,mmull) },
-  { SH64_MEDIA_INSN_MMULW, SEM_FN_NAME (sh64_media,mmulw) },
-  { SH64_MEDIA_INSN_MMULFXL, SEM_FN_NAME (sh64_media,mmulfxl) },
-  { SH64_MEDIA_INSN_MMULFXW, SEM_FN_NAME (sh64_media,mmulfxw) },
-  { SH64_MEDIA_INSN_MMULFXRPW, SEM_FN_NAME (sh64_media,mmulfxrpw) },
-  { SH64_MEDIA_INSN_MMULHIWL, SEM_FN_NAME (sh64_media,mmulhiwl) },
-  { SH64_MEDIA_INSN_MMULLOWL, SEM_FN_NAME (sh64_media,mmullowl) },
-  { SH64_MEDIA_INSN_MMULSUMWQ, SEM_FN_NAME (sh64_media,mmulsumwq) },
-  { SH64_MEDIA_INSN_MOVI, SEM_FN_NAME (sh64_media,movi) },
-  { SH64_MEDIA_INSN_MPERMW, SEM_FN_NAME (sh64_media,mpermw) },
-  { SH64_MEDIA_INSN_MSADUBQ, SEM_FN_NAME (sh64_media,msadubq) },
-  { SH64_MEDIA_INSN_MSHALDSL, SEM_FN_NAME (sh64_media,mshaldsl) },
-  { SH64_MEDIA_INSN_MSHALDSW, SEM_FN_NAME (sh64_media,mshaldsw) },
-  { SH64_MEDIA_INSN_MSHARDL, SEM_FN_NAME (sh64_media,mshardl) },
-  { SH64_MEDIA_INSN_MSHARDW, SEM_FN_NAME (sh64_media,mshardw) },
-  { SH64_MEDIA_INSN_MSHARDSQ, SEM_FN_NAME (sh64_media,mshardsq) },
-  { SH64_MEDIA_INSN_MSHFHIB, SEM_FN_NAME (sh64_media,mshfhib) },
-  { SH64_MEDIA_INSN_MSHFHIL, SEM_FN_NAME (sh64_media,mshfhil) },
-  { SH64_MEDIA_INSN_MSHFHIW, SEM_FN_NAME (sh64_media,mshfhiw) },
-  { SH64_MEDIA_INSN_MSHFLOB, SEM_FN_NAME (sh64_media,mshflob) },
-  { SH64_MEDIA_INSN_MSHFLOL, SEM_FN_NAME (sh64_media,mshflol) },
-  { SH64_MEDIA_INSN_MSHFLOW, SEM_FN_NAME (sh64_media,mshflow) },
-  { SH64_MEDIA_INSN_MSHLLDL, SEM_FN_NAME (sh64_media,mshlldl) },
-  { SH64_MEDIA_INSN_MSHLLDW, SEM_FN_NAME (sh64_media,mshlldw) },
-  { SH64_MEDIA_INSN_MSHLRDL, SEM_FN_NAME (sh64_media,mshlrdl) },
-  { SH64_MEDIA_INSN_MSHLRDW, SEM_FN_NAME (sh64_media,mshlrdw) },
-  { SH64_MEDIA_INSN_MSUBL, SEM_FN_NAME (sh64_media,msubl) },
-  { SH64_MEDIA_INSN_MSUBW, SEM_FN_NAME (sh64_media,msubw) },
-  { SH64_MEDIA_INSN_MSUBSL, SEM_FN_NAME (sh64_media,msubsl) },
-  { SH64_MEDIA_INSN_MSUBSUB, SEM_FN_NAME (sh64_media,msubsub) },
-  { SH64_MEDIA_INSN_MSUBSW, SEM_FN_NAME (sh64_media,msubsw) },
-  { SH64_MEDIA_INSN_MULSL, SEM_FN_NAME (sh64_media,mulsl) },
-  { SH64_MEDIA_INSN_MULUL, SEM_FN_NAME (sh64_media,mulul) },
-  { SH64_MEDIA_INSN_NOP, SEM_FN_NAME (sh64_media,nop) },
-  { SH64_MEDIA_INSN_NSB, SEM_FN_NAME (sh64_media,nsb) },
-  { SH64_MEDIA_INSN_OCBI, SEM_FN_NAME (sh64_media,ocbi) },
-  { SH64_MEDIA_INSN_OCBP, SEM_FN_NAME (sh64_media,ocbp) },
-  { SH64_MEDIA_INSN_OCBWB, SEM_FN_NAME (sh64_media,ocbwb) },
-  { SH64_MEDIA_INSN_OR, SEM_FN_NAME (sh64_media,or) },
-  { SH64_MEDIA_INSN_ORI, SEM_FN_NAME (sh64_media,ori) },
-  { SH64_MEDIA_INSN_PREFI, SEM_FN_NAME (sh64_media,prefi) },
-  { SH64_MEDIA_INSN_PTA, SEM_FN_NAME (sh64_media,pta) },
-  { SH64_MEDIA_INSN_PTABS, SEM_FN_NAME (sh64_media,ptabs) },
-  { SH64_MEDIA_INSN_PTB, SEM_FN_NAME (sh64_media,ptb) },
-  { SH64_MEDIA_INSN_PTREL, SEM_FN_NAME (sh64_media,ptrel) },
-  { SH64_MEDIA_INSN_PUTCFG, SEM_FN_NAME (sh64_media,putcfg) },
-  { SH64_MEDIA_INSN_PUTCON, SEM_FN_NAME (sh64_media,putcon) },
-  { SH64_MEDIA_INSN_RTE, SEM_FN_NAME (sh64_media,rte) },
-  { SH64_MEDIA_INSN_SHARD, SEM_FN_NAME (sh64_media,shard) },
-  { SH64_MEDIA_INSN_SHARDL, SEM_FN_NAME (sh64_media,shardl) },
-  { SH64_MEDIA_INSN_SHARI, SEM_FN_NAME (sh64_media,shari) },
-  { SH64_MEDIA_INSN_SHARIL, SEM_FN_NAME (sh64_media,sharil) },
-  { SH64_MEDIA_INSN_SHLLD, SEM_FN_NAME (sh64_media,shlld) },
-  { SH64_MEDIA_INSN_SHLLDL, SEM_FN_NAME (sh64_media,shlldl) },
-  { SH64_MEDIA_INSN_SHLLI, SEM_FN_NAME (sh64_media,shlli) },
-  { SH64_MEDIA_INSN_SHLLIL, SEM_FN_NAME (sh64_media,shllil) },
-  { SH64_MEDIA_INSN_SHLRD, SEM_FN_NAME (sh64_media,shlrd) },
-  { SH64_MEDIA_INSN_SHLRDL, SEM_FN_NAME (sh64_media,shlrdl) },
-  { SH64_MEDIA_INSN_SHLRI, SEM_FN_NAME (sh64_media,shlri) },
-  { SH64_MEDIA_INSN_SHLRIL, SEM_FN_NAME (sh64_media,shlril) },
-  { SH64_MEDIA_INSN_SHORI, SEM_FN_NAME (sh64_media,shori) },
-  { SH64_MEDIA_INSN_SLEEP, SEM_FN_NAME (sh64_media,sleep) },
-  { SH64_MEDIA_INSN_STB, SEM_FN_NAME (sh64_media,stb) },
-  { SH64_MEDIA_INSN_STL, SEM_FN_NAME (sh64_media,stl) },
-  { SH64_MEDIA_INSN_STQ, SEM_FN_NAME (sh64_media,stq) },
-  { SH64_MEDIA_INSN_STW, SEM_FN_NAME (sh64_media,stw) },
-  { SH64_MEDIA_INSN_STHIL, SEM_FN_NAME (sh64_media,sthil) },
-  { SH64_MEDIA_INSN_STHIQ, SEM_FN_NAME (sh64_media,sthiq) },
-  { SH64_MEDIA_INSN_STLOL, SEM_FN_NAME (sh64_media,stlol) },
-  { SH64_MEDIA_INSN_STLOQ, SEM_FN_NAME (sh64_media,stloq) },
-  { SH64_MEDIA_INSN_STXB, SEM_FN_NAME (sh64_media,stxb) },
-  { SH64_MEDIA_INSN_STXL, SEM_FN_NAME (sh64_media,stxl) },
-  { SH64_MEDIA_INSN_STXQ, SEM_FN_NAME (sh64_media,stxq) },
-  { SH64_MEDIA_INSN_STXW, SEM_FN_NAME (sh64_media,stxw) },
-  { SH64_MEDIA_INSN_SUB, SEM_FN_NAME (sh64_media,sub) },
-  { SH64_MEDIA_INSN_SUBL, SEM_FN_NAME (sh64_media,subl) },
-  { SH64_MEDIA_INSN_SWAPQ, SEM_FN_NAME (sh64_media,swapq) },
-  { SH64_MEDIA_INSN_SYNCI, SEM_FN_NAME (sh64_media,synci) },
-  { SH64_MEDIA_INSN_SYNCO, SEM_FN_NAME (sh64_media,synco) },
-  { SH64_MEDIA_INSN_TRAPA, SEM_FN_NAME (sh64_media,trapa) },
-  { SH64_MEDIA_INSN_XOR, SEM_FN_NAME (sh64_media,xor) },
-  { SH64_MEDIA_INSN_XORI, SEM_FN_NAME (sh64_media,xori) },
-  { 0, 0 }
-};
-
-/* Add the semantic fns to IDESC_TABLE.  */
-
-void
-SEM_FN_NAME (sh64_media,init_idesc_table) (SIM_CPU *current_cpu)
-{
-  IDESC *idesc_table = CPU_IDESC (current_cpu);
-  const struct sem_fn_desc *sf;
-  int mach_num = MACH_NUM (CPU_MACH (current_cpu));
-
-  for (sf = &sem_fns[0]; sf->fn != 0; ++sf)
-    {
-      const CGEN_INSN *insn = idesc_table[sf->index].idata;
-      int valid_p = (CGEN_INSN_VIRTUAL_P (insn)
-                    || CGEN_INSN_MACH_HAS_P (insn, mach_num));
-#if FAST_P
-      if (valid_p)
-       idesc_table[sf->index].sem_fast = sf->fn;
-      else
-       idesc_table[sf->index].sem_fast = SEM_FN_NAME (sh64_media,x_invalid);
-#else
-      if (valid_p)
-       idesc_table[sf->index].sem_full = sf->fn;
-      else
-       idesc_table[sf->index].sem_full = SEM_FN_NAME (sh64_media,x_invalid);
-#endif
-    }
-}
-
diff --git a/sim/sh64/sh-desc.c b/sim/sh64/sh-desc.c
deleted file mode 100644 (file)
index e642b27..0000000
+++ /dev/null
@@ -1,3562 +0,0 @@
-/* CPU data for sh.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996-2021 Free Software Foundation, Inc.
-
-This file is part of the GNU Binutils and/or GDB, the GNU debugger.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   It 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 "sysdep.h"
-#include <stdio.h>
-#include <stdarg.h>
-#include "ansidecl.h"
-#include "bfd.h"
-#include "symcat.h"
-#include "sh-desc.h"
-#include "sh-opc.h"
-#include "opintl.h"
-#include "libiberty.h"
-#include "xregex.h"
-
-/* Attributes.  */
-
-static const CGEN_ATTR_ENTRY bool_attr[] =
-{
-  { "#f", 0 },
-  { "#t", 1 },
-  { 0, 0 }
-};
-
-static const CGEN_ATTR_ENTRY MACH_attr[] ATTRIBUTE_UNUSED =
-{
-  { "base", MACH_BASE },
-  { "sh2", MACH_SH2 },
-  { "sh2e", MACH_SH2E },
-  { "sh2a_fpu", MACH_SH2A_FPU },
-  { "sh2a_nofpu", MACH_SH2A_NOFPU },
-  { "sh3", MACH_SH3 },
-  { "sh3e", MACH_SH3E },
-  { "sh4_nofpu", MACH_SH4_NOFPU },
-  { "sh4", MACH_SH4 },
-  { "sh4a_nofpu", MACH_SH4A_NOFPU },
-  { "sh4a", MACH_SH4A },
-  { "sh4al", MACH_SH4AL },
-  { "sh5", MACH_SH5 },
-  { "max", MACH_MAX },
-  { 0, 0 }
-};
-
-static const CGEN_ATTR_ENTRY ISA_attr[] ATTRIBUTE_UNUSED =
-{
-  { "compact", ISA_COMPACT },
-  { "media", ISA_MEDIA },
-  { "max", ISA_MAX },
-  { 0, 0 }
-};
-
-static const CGEN_ATTR_ENTRY SH4_GROUP_attr[] ATTRIBUTE_UNUSED =
-{
-  { "NONE", SH4_GROUP_NONE },
-  { "MT", SH4_GROUP_MT },
-  { "EX", SH4_GROUP_EX },
-  { "BR", SH4_GROUP_BR },
-  { "LS", SH4_GROUP_LS },
-  { "FE", SH4_GROUP_FE },
-  { "CO", SH4_GROUP_CO },
-  { "MAX", SH4_GROUP_MAX },
-  { 0, 0 }
-};
-
-static const CGEN_ATTR_ENTRY SH4A_GROUP_attr[] ATTRIBUTE_UNUSED =
-{
-  { "NONE", SH4A_GROUP_NONE },
-  { "MT", SH4A_GROUP_MT },
-  { "EX", SH4A_GROUP_EX },
-  { "BR", SH4A_GROUP_BR },
-  { "LS", SH4A_GROUP_LS },
-  { "FE", SH4A_GROUP_FE },
-  { "CO", SH4A_GROUP_CO },
-  { "MAX", SH4A_GROUP_MAX },
-  { 0, 0 }
-};
-
-const CGEN_ATTR_TABLE sh_cgen_ifield_attr_table[] =
-{
-  { "MACH", & MACH_attr[0], & MACH_attr[0] },
-  { "ISA", & ISA_attr[0], & ISA_attr[0] },
-  { "VIRTUAL", &bool_attr[0], &bool_attr[0] },
-  { "PCREL-ADDR", &bool_attr[0], &bool_attr[0] },
-  { "ABS-ADDR", &bool_attr[0], &bool_attr[0] },
-  { "RESERVED", &bool_attr[0], &bool_attr[0] },
-  { "SIGN-OPT", &bool_attr[0], &bool_attr[0] },
-  { "SIGNED", &bool_attr[0], &bool_attr[0] },
-  { 0, 0, 0 }
-};
-
-const CGEN_ATTR_TABLE sh_cgen_hardware_attr_table[] =
-{
-  { "MACH", & MACH_attr[0], & MACH_attr[0] },
-  { "ISA", & ISA_attr[0], & ISA_attr[0] },
-  { "VIRTUAL", &bool_attr[0], &bool_attr[0] },
-  { "CACHE-ADDR", &bool_attr[0], &bool_attr[0] },
-  { "PC", &bool_attr[0], &bool_attr[0] },
-  { "PROFILE", &bool_attr[0], &bool_attr[0] },
-  { 0, 0, 0 }
-};
-
-const CGEN_ATTR_TABLE sh_cgen_operand_attr_table[] =
-{
-  { "MACH", & MACH_attr[0], & MACH_attr[0] },
-  { "ISA", & ISA_attr[0], & ISA_attr[0] },
-  { "VIRTUAL", &bool_attr[0], &bool_attr[0] },
-  { "PCREL-ADDR", &bool_attr[0], &bool_attr[0] },
-  { "ABS-ADDR", &bool_attr[0], &bool_attr[0] },
-  { "SIGN-OPT", &bool_attr[0], &bool_attr[0] },
-  { "SIGNED", &bool_attr[0], &bool_attr[0] },
-  { "NEGATIVE", &bool_attr[0], &bool_attr[0] },
-  { "RELAX", &bool_attr[0], &bool_attr[0] },
-  { "SEM-ONLY", &bool_attr[0], &bool_attr[0] },
-  { 0, 0, 0 }
-};
-
-const CGEN_ATTR_TABLE sh_cgen_insn_attr_table[] =
-{
-  { "MACH", & MACH_attr[0], & MACH_attr[0] },
-  { "ISA", & ISA_attr[0], & ISA_attr[0] },
-  { "SH4-GROUP", & SH4_GROUP_attr[0], & SH4_GROUP_attr[0] },
-  { "SH4A-GROUP", & SH4A_GROUP_attr[0], & SH4A_GROUP_attr[0] },
-  { "ALIAS", &bool_attr[0], &bool_attr[0] },
-  { "VIRTUAL", &bool_attr[0], &bool_attr[0] },
-  { "UNCOND-CTI", &bool_attr[0], &bool_attr[0] },
-  { "COND-CTI", &bool_attr[0], &bool_attr[0] },
-  { "SKIP-CTI", &bool_attr[0], &bool_attr[0] },
-  { "DELAY-SLOT", &bool_attr[0], &bool_attr[0] },
-  { "RELAXABLE", &bool_attr[0], &bool_attr[0] },
-  { "RELAXED", &bool_attr[0], &bool_attr[0] },
-  { "NO-DIS", &bool_attr[0], &bool_attr[0] },
-  { "PBB", &bool_attr[0], &bool_attr[0] },
-  { "ILLSLOT", &bool_attr[0], &bool_attr[0] },
-  { "FP-INSN", &bool_attr[0], &bool_attr[0] },
-  { "32-BIT-INSN", &bool_attr[0], &bool_attr[0] },
-  { 0, 0, 0 }
-};
-
-/* Instruction set variants.  */
-
-static const CGEN_ISA sh_cgen_isa_table[] = {
-  { "media", 32, 32, 32, 32 },
-  { "compact", 32, 32, 16, 32 },
-  { 0, 0, 0, 0, 0 }
-};
-
-/* Machine variants.  */
-
-static const CGEN_MACH sh_cgen_mach_table[] = {
-  { "sh2", "sh2", MACH_SH2, 0 },
-  { "sh2e", "sh2e", MACH_SH2E, 0 },
-  { "sh2a-fpu", "sh2a-fpu", MACH_SH2A_FPU, 0 },
-  { "sh2a-nofpu", "sh2a-nofpu", MACH_SH2A_NOFPU, 0 },
-  { "sh3", "sh3", MACH_SH3, 0 },
-  { "sh3e", "sh3e", MACH_SH3E, 0 },
-  { "sh4-nofpu", "sh4-nofpu", MACH_SH4_NOFPU, 0 },
-  { "sh4", "sh4", MACH_SH4, 0 },
-  { "sh4a-nofpu", "sh4a-nofpu", MACH_SH4A_NOFPU, 0 },
-  { "sh4a", "sh4a", MACH_SH4A, 0 },
-  { "sh4al", "sh4al", MACH_SH4AL, 0 },
-  { "sh5", "sh5", MACH_SH5, 0 },
-  { 0, 0, 0, 0 }
-};
-
-static CGEN_KEYWORD_ENTRY sh_cgen_opval_frc_names_entries[] =
-{
-  { "fr0", 0, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr1", 1, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr2", 2, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr3", 3, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr4", 4, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr5", 5, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr6", 6, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr7", 7, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr8", 8, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr9", 9, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr10", 10, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr11", 11, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr12", 12, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr13", 13, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr14", 14, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr15", 15, {0, {{{0, 0}}}}, 0, 0 }
-};
-
-CGEN_KEYWORD sh_cgen_opval_frc_names =
-{
-  & sh_cgen_opval_frc_names_entries[0],
-  16,
-  0, 0, 0, 0, ""
-};
-
-static CGEN_KEYWORD_ENTRY sh_cgen_opval_drc_names_entries[] =
-{
-  { "dr0", 0, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr2", 2, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr4", 4, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr6", 6, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr8", 8, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr10", 10, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr12", 12, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr14", 14, {0, {{{0, 0}}}}, 0, 0 }
-};
-
-CGEN_KEYWORD sh_cgen_opval_drc_names =
-{
-  & sh_cgen_opval_drc_names_entries[0],
-  8,
-  0, 0, 0, 0, ""
-};
-
-static CGEN_KEYWORD_ENTRY sh_cgen_opval_xf_names_entries[] =
-{
-  { "xf0", 0, {0, {{{0, 0}}}}, 0, 0 },
-  { "xf1", 1, {0, {{{0, 0}}}}, 0, 0 },
-  { "xf2", 2, {0, {{{0, 0}}}}, 0, 0 },
-  { "xf3", 3, {0, {{{0, 0}}}}, 0, 0 },
-  { "xf4", 4, {0, {{{0, 0}}}}, 0, 0 },
-  { "xf5", 5, {0, {{{0, 0}}}}, 0, 0 },
-  { "xf6", 6, {0, {{{0, 0}}}}, 0, 0 },
-  { "xf7", 7, {0, {{{0, 0}}}}, 0, 0 },
-  { "xf8", 8, {0, {{{0, 0}}}}, 0, 0 },
-  { "xf9", 9, {0, {{{0, 0}}}}, 0, 0 },
-  { "xf10", 10, {0, {{{0, 0}}}}, 0, 0 },
-  { "xf11", 11, {0, {{{0, 0}}}}, 0, 0 },
-  { "xf12", 12, {0, {{{0, 0}}}}, 0, 0 },
-  { "xf13", 13, {0, {{{0, 0}}}}, 0, 0 },
-  { "xf14", 14, {0, {{{0, 0}}}}, 0, 0 },
-  { "xf15", 15, {0, {{{0, 0}}}}, 0, 0 }
-};
-
-CGEN_KEYWORD sh_cgen_opval_xf_names =
-{
-  & sh_cgen_opval_xf_names_entries[0],
-  16,
-  0, 0, 0, 0, ""
-};
-
-static CGEN_KEYWORD_ENTRY sh_cgen_opval_h_gr_entries[] =
-{
-  { "r0", 0, {0, {{{0, 0}}}}, 0, 0 },
-  { "r1", 1, {0, {{{0, 0}}}}, 0, 0 },
-  { "r2", 2, {0, {{{0, 0}}}}, 0, 0 },
-  { "r3", 3, {0, {{{0, 0}}}}, 0, 0 },
-  { "r4", 4, {0, {{{0, 0}}}}, 0, 0 },
-  { "r5", 5, {0, {{{0, 0}}}}, 0, 0 },
-  { "r6", 6, {0, {{{0, 0}}}}, 0, 0 },
-  { "r7", 7, {0, {{{0, 0}}}}, 0, 0 },
-  { "r8", 8, {0, {{{0, 0}}}}, 0, 0 },
-  { "r9", 9, {0, {{{0, 0}}}}, 0, 0 },
-  { "r10", 10, {0, {{{0, 0}}}}, 0, 0 },
-  { "r11", 11, {0, {{{0, 0}}}}, 0, 0 },
-  { "r12", 12, {0, {{{0, 0}}}}, 0, 0 },
-  { "r13", 13, {0, {{{0, 0}}}}, 0, 0 },
-  { "r14", 14, {0, {{{0, 0}}}}, 0, 0 },
-  { "r15", 15, {0, {{{0, 0}}}}, 0, 0 },
-  { "r16", 16, {0, {{{0, 0}}}}, 0, 0 },
-  { "r17", 17, {0, {{{0, 0}}}}, 0, 0 },
-  { "r18", 18, {0, {{{0, 0}}}}, 0, 0 },
-  { "r19", 19, {0, {{{0, 0}}}}, 0, 0 },
-  { "r20", 20, {0, {{{0, 0}}}}, 0, 0 },
-  { "r21", 21, {0, {{{0, 0}}}}, 0, 0 },
-  { "r22", 22, {0, {{{0, 0}}}}, 0, 0 },
-  { "r23", 23, {0, {{{0, 0}}}}, 0, 0 },
-  { "r24", 24, {0, {{{0, 0}}}}, 0, 0 },
-  { "r25", 25, {0, {{{0, 0}}}}, 0, 0 },
-  { "r26", 26, {0, {{{0, 0}}}}, 0, 0 },
-  { "r27", 27, {0, {{{0, 0}}}}, 0, 0 },
-  { "r28", 28, {0, {{{0, 0}}}}, 0, 0 },
-  { "r29", 29, {0, {{{0, 0}}}}, 0, 0 },
-  { "r30", 30, {0, {{{0, 0}}}}, 0, 0 },
-  { "r31", 31, {0, {{{0, 0}}}}, 0, 0 },
-  { "r32", 32, {0, {{{0, 0}}}}, 0, 0 },
-  { "r33", 33, {0, {{{0, 0}}}}, 0, 0 },
-  { "r34", 34, {0, {{{0, 0}}}}, 0, 0 },
-  { "r35", 35, {0, {{{0, 0}}}}, 0, 0 },
-  { "r36", 36, {0, {{{0, 0}}}}, 0, 0 },
-  { "r37", 37, {0, {{{0, 0}}}}, 0, 0 },
-  { "r38", 38, {0, {{{0, 0}}}}, 0, 0 },
-  { "r39", 39, {0, {{{0, 0}}}}, 0, 0 },
-  { "r40", 40, {0, {{{0, 0}}}}, 0, 0 },
-  { "r41", 41, {0, {{{0, 0}}}}, 0, 0 },
-  { "r42", 42, {0, {{{0, 0}}}}, 0, 0 },
-  { "r43", 43, {0, {{{0, 0}}}}, 0, 0 },
-  { "r44", 44, {0, {{{0, 0}}}}, 0, 0 },
-  { "r45", 45, {0, {{{0, 0}}}}, 0, 0 },
-  { "r46", 46, {0, {{{0, 0}}}}, 0, 0 },
-  { "r47", 47, {0, {{{0, 0}}}}, 0, 0 },
-  { "r48", 48, {0, {{{0, 0}}}}, 0, 0 },
-  { "r49", 49, {0, {{{0, 0}}}}, 0, 0 },
-  { "r50", 50, {0, {{{0, 0}}}}, 0, 0 },
-  { "r51", 51, {0, {{{0, 0}}}}, 0, 0 },
-  { "r52", 52, {0, {{{0, 0}}}}, 0, 0 },
-  { "r53", 53, {0, {{{0, 0}}}}, 0, 0 },
-  { "r54", 54, {0, {{{0, 0}}}}, 0, 0 },
-  { "r55", 55, {0, {{{0, 0}}}}, 0, 0 },
-  { "r56", 56, {0, {{{0, 0}}}}, 0, 0 },
-  { "r57", 57, {0, {{{0, 0}}}}, 0, 0 },
-  { "r58", 58, {0, {{{0, 0}}}}, 0, 0 },
-  { "r59", 59, {0, {{{0, 0}}}}, 0, 0 },
-  { "r60", 60, {0, {{{0, 0}}}}, 0, 0 },
-  { "r61", 61, {0, {{{0, 0}}}}, 0, 0 },
-  { "r62", 62, {0, {{{0, 0}}}}, 0, 0 },
-  { "r63", 63, {0, {{{0, 0}}}}, 0, 0 }
-};
-
-CGEN_KEYWORD sh_cgen_opval_h_gr =
-{
-  & sh_cgen_opval_h_gr_entries[0],
-  64,
-  0, 0, 0, 0, ""
-};
-
-static CGEN_KEYWORD_ENTRY sh_cgen_opval_h_grc_entries[] =
-{
-  { "r0", 0, {0, {{{0, 0}}}}, 0, 0 },
-  { "r1", 1, {0, {{{0, 0}}}}, 0, 0 },
-  { "r2", 2, {0, {{{0, 0}}}}, 0, 0 },
-  { "r3", 3, {0, {{{0, 0}}}}, 0, 0 },
-  { "r4", 4, {0, {{{0, 0}}}}, 0, 0 },
-  { "r5", 5, {0, {{{0, 0}}}}, 0, 0 },
-  { "r6", 6, {0, {{{0, 0}}}}, 0, 0 },
-  { "r7", 7, {0, {{{0, 0}}}}, 0, 0 },
-  { "r8", 8, {0, {{{0, 0}}}}, 0, 0 },
-  { "r9", 9, {0, {{{0, 0}}}}, 0, 0 },
-  { "r10", 10, {0, {{{0, 0}}}}, 0, 0 },
-  { "r11", 11, {0, {{{0, 0}}}}, 0, 0 },
-  { "r12", 12, {0, {{{0, 0}}}}, 0, 0 },
-  { "r13", 13, {0, {{{0, 0}}}}, 0, 0 },
-  { "r14", 14, {0, {{{0, 0}}}}, 0, 0 },
-  { "r15", 15, {0, {{{0, 0}}}}, 0, 0 }
-};
-
-CGEN_KEYWORD sh_cgen_opval_h_grc =
-{
-  & sh_cgen_opval_h_grc_entries[0],
-  16,
-  0, 0, 0, 0, ""
-};
-
-static CGEN_KEYWORD_ENTRY sh_cgen_opval_h_cr_entries[] =
-{
-  { "cr0", 0, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr1", 1, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr2", 2, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr3", 3, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr4", 4, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr5", 5, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr6", 6, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr7", 7, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr8", 8, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr9", 9, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr10", 10, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr11", 11, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr12", 12, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr13", 13, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr14", 14, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr15", 15, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr16", 16, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr17", 17, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr18", 18, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr19", 19, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr20", 20, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr21", 21, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr22", 22, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr23", 23, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr24", 24, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr25", 25, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr26", 26, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr27", 27, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr28", 28, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr29", 29, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr30", 30, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr31", 31, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr32", 32, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr33", 33, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr34", 34, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr35", 35, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr36", 36, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr37", 37, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr38", 38, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr39", 39, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr40", 40, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr41", 41, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr42", 42, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr43", 43, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr44", 44, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr45", 45, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr46", 46, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr47", 47, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr48", 48, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr49", 49, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr50", 50, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr51", 51, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr52", 52, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr53", 53, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr54", 54, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr55", 55, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr56", 56, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr57", 57, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr58", 58, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr59", 59, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr60", 60, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr61", 61, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr62", 62, {0, {{{0, 0}}}}, 0, 0 },
-  { "cr63", 63, {0, {{{0, 0}}}}, 0, 0 }
-};
-
-CGEN_KEYWORD sh_cgen_opval_h_cr =
-{
-  & sh_cgen_opval_h_cr_entries[0],
-  64,
-  0, 0, 0, 0, ""
-};
-
-static CGEN_KEYWORD_ENTRY sh_cgen_opval_h_fr_entries[] =
-{
-  { "fr0", 0, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr1", 1, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr2", 2, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr3", 3, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr4", 4, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr5", 5, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr6", 6, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr7", 7, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr8", 8, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr9", 9, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr10", 10, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr11", 11, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr12", 12, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr13", 13, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr14", 14, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr15", 15, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr16", 16, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr17", 17, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr18", 18, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr19", 19, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr20", 20, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr21", 21, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr22", 22, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr23", 23, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr24", 24, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr25", 25, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr26", 26, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr27", 27, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr28", 28, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr29", 29, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr30", 30, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr31", 31, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr32", 32, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr33", 33, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr34", 34, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr35", 35, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr36", 36, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr37", 37, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr38", 38, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr39", 39, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr40", 40, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr41", 41, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr42", 42, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr43", 43, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr44", 44, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr45", 45, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr46", 46, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr47", 47, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr48", 48, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr49", 49, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr50", 50, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr51", 51, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr52", 52, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr53", 53, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr54", 54, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr55", 55, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr56", 56, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr57", 57, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr58", 58, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr59", 59, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr60", 60, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr61", 61, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr62", 62, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr63", 63, {0, {{{0, 0}}}}, 0, 0 }
-};
-
-CGEN_KEYWORD sh_cgen_opval_h_fr =
-{
-  & sh_cgen_opval_h_fr_entries[0],
-  64,
-  0, 0, 0, 0, ""
-};
-
-static CGEN_KEYWORD_ENTRY sh_cgen_opval_h_fp_entries[] =
-{
-  { "fp0", 0, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp2", 2, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp4", 4, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp6", 6, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp8", 8, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp10", 10, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp12", 12, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp14", 14, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp16", 16, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp18", 18, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp20", 20, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp22", 22, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp24", 24, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp26", 26, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp28", 28, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp30", 30, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp32", 32, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp34", 34, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp36", 36, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp38", 38, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp40", 40, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp42", 42, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp44", 44, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp46", 46, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp48", 48, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp50", 50, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp52", 52, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp54", 54, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp56", 56, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp58", 58, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp60", 60, {0, {{{0, 0}}}}, 0, 0 },
-  { "fp62", 62, {0, {{{0, 0}}}}, 0, 0 }
-};
-
-CGEN_KEYWORD sh_cgen_opval_h_fp =
-{
-  & sh_cgen_opval_h_fp_entries[0],
-  32,
-  0, 0, 0, 0, ""
-};
-
-static CGEN_KEYWORD_ENTRY sh_cgen_opval_h_fv_entries[] =
-{
-  { "fv0", 0, {0, {{{0, 0}}}}, 0, 0 },
-  { "fv4", 4, {0, {{{0, 0}}}}, 0, 0 },
-  { "fv8", 8, {0, {{{0, 0}}}}, 0, 0 },
-  { "fv12", 12, {0, {{{0, 0}}}}, 0, 0 },
-  { "fv16", 16, {0, {{{0, 0}}}}, 0, 0 },
-  { "fv20", 20, {0, {{{0, 0}}}}, 0, 0 },
-  { "fv24", 24, {0, {{{0, 0}}}}, 0, 0 },
-  { "fv28", 28, {0, {{{0, 0}}}}, 0, 0 },
-  { "fv32", 32, {0, {{{0, 0}}}}, 0, 0 },
-  { "fv36", 36, {0, {{{0, 0}}}}, 0, 0 },
-  { "fv40", 40, {0, {{{0, 0}}}}, 0, 0 },
-  { "fv44", 44, {0, {{{0, 0}}}}, 0, 0 },
-  { "fv48", 48, {0, {{{0, 0}}}}, 0, 0 },
-  { "fv52", 52, {0, {{{0, 0}}}}, 0, 0 },
-  { "fv56", 56, {0, {{{0, 0}}}}, 0, 0 },
-  { "fv60", 60, {0, {{{0, 0}}}}, 0, 0 }
-};
-
-CGEN_KEYWORD sh_cgen_opval_h_fv =
-{
-  & sh_cgen_opval_h_fv_entries[0],
-  16,
-  0, 0, 0, 0, ""
-};
-
-static CGEN_KEYWORD_ENTRY sh_cgen_opval_h_fmtx_entries[] =
-{
-  { "mtrx0", 0, {0, {{{0, 0}}}}, 0, 0 },
-  { "mtrx16", 16, {0, {{{0, 0}}}}, 0, 0 },
-  { "mtrx32", 32, {0, {{{0, 0}}}}, 0, 0 },
-  { "mtrx48", 48, {0, {{{0, 0}}}}, 0, 0 }
-};
-
-CGEN_KEYWORD sh_cgen_opval_h_fmtx =
-{
-  & sh_cgen_opval_h_fmtx_entries[0],
-  4,
-  0, 0, 0, 0, ""
-};
-
-static CGEN_KEYWORD_ENTRY sh_cgen_opval_h_dr_entries[] =
-{
-  { "dr0", 0, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr2", 2, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr4", 4, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr6", 6, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr8", 8, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr10", 10, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr12", 12, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr14", 14, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr16", 16, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr18", 18, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr20", 20, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr22", 22, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr24", 24, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr26", 26, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr28", 28, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr30", 30, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr32", 32, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr34", 34, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr36", 36, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr38", 38, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr40", 40, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr42", 42, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr44", 44, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr46", 46, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr48", 48, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr50", 50, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr52", 52, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr54", 54, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr56", 56, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr58", 58, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr60", 60, {0, {{{0, 0}}}}, 0, 0 },
-  { "dr62", 62, {0, {{{0, 0}}}}, 0, 0 }
-};
-
-CGEN_KEYWORD sh_cgen_opval_h_dr =
-{
-  & sh_cgen_opval_h_dr_entries[0],
-  32,
-  0, 0, 0, 0, ""
-};
-
-static CGEN_KEYWORD_ENTRY sh_cgen_opval_h_fsd_entries[] =
-{
-  { "fr0", 0, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr1", 1, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr2", 2, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr3", 3, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr4", 4, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr5", 5, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr6", 6, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr7", 7, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr8", 8, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr9", 9, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr10", 10, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr11", 11, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr12", 12, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr13", 13, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr14", 14, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr15", 15, {0, {{{0, 0}}}}, 0, 0 }
-};
-
-CGEN_KEYWORD sh_cgen_opval_h_fsd =
-{
-  & sh_cgen_opval_h_fsd_entries[0],
-  16,
-  0, 0, 0, 0, ""
-};
-
-static CGEN_KEYWORD_ENTRY sh_cgen_opval_h_fmov_entries[] =
-{
-  { "fr0", 0, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr1", 1, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr2", 2, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr3", 3, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr4", 4, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr5", 5, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr6", 6, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr7", 7, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr8", 8, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr9", 9, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr10", 10, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr11", 11, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr12", 12, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr13", 13, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr14", 14, {0, {{{0, 0}}}}, 0, 0 },
-  { "fr15", 15, {0, {{{0, 0}}}}, 0, 0 }
-};
-
-CGEN_KEYWORD sh_cgen_opval_h_fmov =
-{
-  & sh_cgen_opval_h_fmov_entries[0],
-  16,
-  0, 0, 0, 0, ""
-};
-
-static CGEN_KEYWORD_ENTRY sh_cgen_opval_h_tr_entries[] =
-{
-  { "tr0", 0, {0, {{{0, 0}}}}, 0, 0 },
-  { "tr1", 1, {0, {{{0, 0}}}}, 0, 0 },
-  { "tr2", 2, {0, {{{0, 0}}}}, 0, 0 },
-  { "tr3", 3, {0, {{{0, 0}}}}, 0, 0 },
-  { "tr4", 4, {0, {{{0, 0}}}}, 0, 0 },
-  { "tr5", 5, {0, {{{0, 0}}}}, 0, 0 },
-  { "tr6", 6, {0, {{{0, 0}}}}, 0, 0 },
-  { "tr7", 7, {0, {{{0, 0}}}}, 0, 0 }
-};
-
-CGEN_KEYWORD sh_cgen_opval_h_tr =
-{
-  & sh_cgen_opval_h_tr_entries[0],
-  8,
-  0, 0, 0, 0, ""
-};
-
-static CGEN_KEYWORD_ENTRY sh_cgen_opval_h_fvc_entries[] =
-{
-  { "fv0", 0, {0, {{{0, 0}}}}, 0, 0 },
-  { "fv4", 4, {0, {{{0, 0}}}}, 0, 0 },
-  { "fv8", 8, {0, {{{0, 0}}}}, 0, 0 },
-  { "fv12", 12, {0, {{{0, 0}}}}, 0, 0 }
-};
-
-CGEN_KEYWORD sh_cgen_opval_h_fvc =
-{
-  & sh_cgen_opval_h_fvc_entries[0],
-  4,
-  0, 0, 0, 0, ""
-};
-
-
-/* The hardware table.  */
-
-#define A(a) (1 << CGEN_HW_##a)
-
-const CGEN_HW_ENTRY sh_cgen_hw_table[] =
-{
-  { "h-memory", HW_H_MEMORY, CGEN_ASM_NONE, 0, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-sint", HW_H_SINT, CGEN_ASM_NONE, 0, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-uint", HW_H_UINT, CGEN_ASM_NONE, 0, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-addr", HW_H_ADDR, CGEN_ASM_NONE, 0, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-iaddr", HW_H_IADDR, CGEN_ASM_NONE, 0, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-pc", HW_H_PC, CGEN_ASM_NONE, 0, { 0|A(PROFILE)|A(PC), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-gr", HW_H_GR, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_gr, { 0|A(PROFILE), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-grc", HW_H_GRC, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_grc, { 0|A(PROFILE)|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } } },
-  { "h-cr", HW_H_CR, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_cr, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } } },
-  { "h-sr", HW_H_SR, CGEN_ASM_NONE, 0, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-fpscr", HW_H_FPSCR, CGEN_ASM_NONE, 0, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-frbit", HW_H_FRBIT, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-szbit", HW_H_SZBIT, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-prbit", HW_H_PRBIT, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-sbit", HW_H_SBIT, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } } },
-  { "h-mbit", HW_H_MBIT, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } } },
-  { "h-qbit", HW_H_QBIT, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } } },
-  { "h-fr", HW_H_FR, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_fr, { 0|A(PROFILE), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-fp", HW_H_FP, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_fp, { 0|A(PROFILE)|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-fv", HW_H_FV, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_fv, { 0|A(PROFILE)|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-fmtx", HW_H_FMTX, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_fmtx, { 0|A(PROFILE)|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } } },
-  { "h-dr", HW_H_DR, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_dr, { 0|A(PROFILE)|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-fsd", HW_H_FSD, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_fsd, { 0|A(PROFILE), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-fmov", HW_H_FMOV, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_fmov, { 0|A(PROFILE), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-tr", HW_H_TR, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_tr, { 0|A(PROFILE), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } } },
-  { "h-endian", HW_H_ENDIAN, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-ism", HW_H_ISM, CGEN_ASM_NONE, 0, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } } },
-  { "h-frc", HW_H_FRC, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_frc_names, { 0|A(PROFILE)|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } } },
-  { "h-drc", HW_H_DRC, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_drc_names, { 0|A(PROFILE)|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } } },
-  { "h-xf", HW_H_XF, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_xf_names, { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } } },
-  { "h-xd", HW_H_XD, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_frc_names, { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } } },
-  { "h-fvc", HW_H_FVC, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_fvc, { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } } },
-  { "h-gbr", HW_H_GBR, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } } },
-  { "h-vbr", HW_H_VBR, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } } },
-  { "h-pr", HW_H_PR, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } } },
-  { "h-macl", HW_H_MACL, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } } },
-  { "h-mach", HW_H_MACH, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } } },
-  { "h-tbit", HW_H_TBIT, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } } },
-  { 0, 0, CGEN_ASM_NONE, 0, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } } }
-};
-
-#undef A
-
-
-/* The instruction field table.  */
-
-#define A(a) (1 << CGEN_IFLD_##a)
-
-const CGEN_IFLD sh_cgen_ifld_table[] =
-{
-  { SH_F_NIL, "f-nil", 0, 0, 0, 0, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } }  },
-  { SH_F_ANYOF, "f-anyof", 0, 0, 0, 0, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } }  },
-  { SH_F_OP4, "f-op4", 0, 32, 0, 4, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_OP8, "f-op8", 0, 32, 0, 8, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_OP16, "f-op16", 0, 32, 0, 16, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_SUB4, "f-sub4", 0, 32, 12, 4, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_SUB8, "f-sub8", 0, 32, 8, 8, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_SUB10, "f-sub10", 0, 32, 6, 10, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_RN, "f-rn", 0, 32, 4, 4, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_RM, "f-rm", 0, 32, 8, 4, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_7_1, "f-7-1", 0, 32, 7, 1, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_11_1, "f-11-1", 0, 32, 11, 1, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_16_4, "f-16-4", 0, 32, 16, 4, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_DISP8, "f-disp8", 0, 32, 8, 8, { 0|A(PCREL_ADDR), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_DISP12, "f-disp12", 0, 32, 4, 12, { 0|A(PCREL_ADDR), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_IMM8, "f-imm8", 0, 32, 8, 8, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_IMM4, "f-imm4", 0, 32, 12, 4, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_IMM4X2, "f-imm4x2", 0, 32, 12, 4, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_IMM4X4, "f-imm4x4", 0, 32, 12, 4, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_IMM8X2, "f-imm8x2", 0, 32, 8, 8, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_IMM8X4, "f-imm8x4", 0, 32, 8, 8, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_IMM12X4, "f-imm12x4", 0, 32, 20, 12, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_IMM12X8, "f-imm12x8", 0, 32, 20, 12, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_DN, "f-dn", 0, 32, 4, 3, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_DM, "f-dm", 0, 32, 8, 3, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_VN, "f-vn", 0, 32, 4, 2, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_VM, "f-vm", 0, 32, 6, 2, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_XN, "f-xn", 0, 32, 4, 3, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_XM, "f-xm", 0, 32, 8, 3, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_IMM20_HI, "f-imm20-hi", 0, 32, 8, 4, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_IMM20_LO, "f-imm20-lo", 0, 32, 16, 16, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_IMM20, "f-imm20", 0, 0, 0, 0,{ 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-  { SH_F_OP, "f-op", 0, 32, 0, 6, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_EXT, "f-ext", 0, 32, 12, 4, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_RSVD, "f-rsvd", 0, 32, 28, 4, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_LEFT, "f-left", 0, 32, 6, 6, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_RIGHT, "f-right", 0, 32, 16, 6, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_DEST, "f-dest", 0, 32, 22, 6, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_LEFT_RIGHT, "f-left-right", 0, 0, 0, 0,{ 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_TRA, "f-tra", 0, 32, 25, 3, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_TRB, "f-trb", 0, 32, 9, 3, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_LIKELY, "f-likely", 0, 32, 22, 1, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_6_3, "f-6-3", 0, 32, 6, 3, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_23_2, "f-23-2", 0, 32, 23, 2, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_IMM6, "f-imm6", 0, 32, 16, 6, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_IMM10, "f-imm10", 0, 32, 12, 10, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_IMM16, "f-imm16", 0, 32, 6, 16, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_UIMM6, "f-uimm6", 0, 32, 16, 6, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_UIMM16, "f-uimm16", 0, 32, 6, 16, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_DISP6, "f-disp6", 0, 32, 16, 6, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_DISP6X32, "f-disp6x32", 0, 32, 16, 6, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_DISP10, "f-disp10", 0, 32, 12, 10, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_DISP10X8, "f-disp10x8", 0, 32, 12, 10, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_DISP10X4, "f-disp10x4", 0, 32, 12, 10, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_DISP10X2, "f-disp10x2", 0, 32, 12, 10, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { SH_F_DISP16, "f-disp16", 0, 32, 6, 16, { 0|A(PCREL_ADDR), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-  { 0, 0, 0, 0, 0, 0, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } } }
-};
-
-#undef A
-
-
-
-/* multi ifield declarations */
-
-const CGEN_MAYBE_MULTI_IFLD SH_F_IMM20_MULTI_IFIELD [];
-const CGEN_MAYBE_MULTI_IFLD SH_F_LEFT_RIGHT_MULTI_IFIELD [];
-
-
-/* multi ifield definitions */
-
-const CGEN_MAYBE_MULTI_IFLD SH_F_IMM20_MULTI_IFIELD [] =
-{
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_IMM20_HI] } },
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_IMM20_LO] } },
-    { 0, { (const PTR) 0 } }
-};
-const CGEN_MAYBE_MULTI_IFLD SH_F_LEFT_RIGHT_MULTI_IFIELD [] =
-{
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_LEFT] } },
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_RIGHT] } },
-    { 0, { (const PTR) 0 } }
-};
-
-/* The operand table.  */
-
-#define A(a) (1 << CGEN_OPERAND_##a)
-#define OPERAND(op) SH_OPERAND_##op
-
-const CGEN_OPERAND sh_cgen_operand_table[] =
-{
-/* pc: program counter */
-  { "pc", SH_OPERAND_PC, HW_H_PC, 0, 0,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_NIL] } }, 
-    { 0|A(SEM_ONLY), { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } }  },
-/* endian: Endian mode */
-  { "endian", SH_OPERAND_ENDIAN, HW_H_ENDIAN, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } }  },
-/* ism: Instruction set mode */
-  { "ism", SH_OPERAND_ISM, HW_H_ISM, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\xc0" } } } }  },
-/* rm: Left general purpose register */
-  { "rm", SH_OPERAND_RM, HW_H_GRC, 8, 4,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_RM] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* rn: Right general purpose register */
-  { "rn", SH_OPERAND_RN, HW_H_GRC, 4, 4,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_RN] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* r0: Register 0 */
-  { "r0", SH_OPERAND_R0, HW_H_GRC, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* frn: Single precision register */
-  { "frn", SH_OPERAND_FRN, HW_H_FRC, 4, 4,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_RN] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* frm: Single precision register */
-  { "frm", SH_OPERAND_FRM, HW_H_FRC, 8, 4,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_RM] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* fr0: Single precision register 0 */
-  { "fr0", SH_OPERAND_FR0, HW_H_FRC, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* fmovn: Register for fmov */
-  { "fmovn", SH_OPERAND_FMOVN, HW_H_FMOV, 4, 4,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_RN] } }, 
-    { 0, { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } } } }  },
-/* fmovm: Register for fmov */
-  { "fmovm", SH_OPERAND_FMOVM, HW_H_FMOV, 8, 4,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_RM] } }, 
-    { 0, { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } } } }  },
-/* fvn: Left floating point vector */
-  { "fvn", SH_OPERAND_FVN, HW_H_FVC, 4, 2,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_VN] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* fvm: Right floating point vector */
-  { "fvm", SH_OPERAND_FVM, HW_H_FVC, 6, 2,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_VM] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* drn: Left double precision register */
-  { "drn", SH_OPERAND_DRN, HW_H_DRC, 4, 3,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_DN] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* drm: Right double precision register */
-  { "drm", SH_OPERAND_DRM, HW_H_DRC, 8, 3,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_DM] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* imm4: Immediate value (4 bits) */
-  { "imm4", SH_OPERAND_IMM4, HW_H_SINT, 12, 4,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_IMM4] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* imm8: Immediate value (8 bits) */
-  { "imm8", SH_OPERAND_IMM8, HW_H_SINT, 8, 8,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_IMM8] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* uimm8: Immediate value (8 bits unsigned) */
-  { "uimm8", SH_OPERAND_UIMM8, HW_H_UINT, 8, 8,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_IMM8] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* imm20: Immediate value (20 bits) */
-  { "imm20", SH_OPERAND_IMM20, HW_H_SINT, 8, 20,
-    { 2, { (const PTR) &SH_F_IMM20_MULTI_IFIELD[0] } }, 
-    { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* imm4x2: Immediate value (4 bits, 2x scale) */
-  { "imm4x2", SH_OPERAND_IMM4X2, HW_H_UINT, 12, 4,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_IMM4X2] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* imm4x4: Immediate value (4 bits, 4x scale) */
-  { "imm4x4", SH_OPERAND_IMM4X4, HW_H_UINT, 12, 4,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_IMM4X4] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* imm8x2: Immediate value (8 bits, 2x scale) */
-  { "imm8x2", SH_OPERAND_IMM8X2, HW_H_UINT, 8, 8,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_IMM8X2] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* imm8x4: Immediate value (8 bits, 4x scale) */
-  { "imm8x4", SH_OPERAND_IMM8X4, HW_H_UINT, 8, 8,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_IMM8X4] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* disp8: Displacement (8 bits) */
-  { "disp8", SH_OPERAND_DISP8, HW_H_IADDR, 8, 8,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_DISP8] } }, 
-    { 0|A(PCREL_ADDR), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* disp12: Displacement (12 bits) */
-  { "disp12", SH_OPERAND_DISP12, HW_H_IADDR, 4, 12,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_DISP12] } }, 
-    { 0|A(PCREL_ADDR), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* imm12x4: Displacement (12 bits) */
-  { "imm12x4", SH_OPERAND_IMM12X4, HW_H_SINT, 20, 12,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_IMM12X4] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* imm12x8: Displacement (12 bits) */
-  { "imm12x8", SH_OPERAND_IMM12X8, HW_H_SINT, 20, 12,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_IMM12X8] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* rm64: Register m (64 bits) */
-  { "rm64", SH_OPERAND_RM64, HW_H_GR, 8, 4,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_RM] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* rn64: Register n (64 bits) */
-  { "rn64", SH_OPERAND_RN64, HW_H_GR, 4, 4,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_RN] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* gbr: Global base register */
-  { "gbr", SH_OPERAND_GBR, HW_H_GBR, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* vbr: Vector base register */
-  { "vbr", SH_OPERAND_VBR, HW_H_VBR, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* pr: Procedure link register */
-  { "pr", SH_OPERAND_PR, HW_H_PR, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* fpscr: Floating point status/control register */
-  { "fpscr", SH_OPERAND_FPSCR, HW_H_FPSCR, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* tbit: Condition code flag */
-  { "tbit", SH_OPERAND_TBIT, HW_H_TBIT, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* sbit: Multiply-accumulate saturation flag */
-  { "sbit", SH_OPERAND_SBIT, HW_H_SBIT, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* mbit: Divide-step M flag */
-  { "mbit", SH_OPERAND_MBIT, HW_H_MBIT, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* qbit: Divide-step Q flag */
-  { "qbit", SH_OPERAND_QBIT, HW_H_QBIT, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* fpul: Floating point ??? */
-  { "fpul", SH_OPERAND_FPUL, HW_H_FR, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* frbit: Floating point register bank bit */
-  { "frbit", SH_OPERAND_FRBIT, HW_H_FRBIT, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* szbit: Floating point transfer size bit */
-  { "szbit", SH_OPERAND_SZBIT, HW_H_SZBIT, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* prbit: Floating point precision bit */
-  { "prbit", SH_OPERAND_PRBIT, HW_H_PRBIT, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* macl: Multiply-accumulate low register */
-  { "macl", SH_OPERAND_MACL, HW_H_MACL, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* mach: Multiply-accumulate high register */
-  { "mach", SH_OPERAND_MACH, HW_H_MACH, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } }  },
-/* fsdm: bar */
-  { "fsdm", SH_OPERAND_FSDM, HW_H_FSD, 8, 4,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_RM] } }, 
-    { 0, { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } } } }  },
-/* fsdn: bar */
-  { "fsdn", SH_OPERAND_FSDN, HW_H_FSD, 4, 4,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_RN] } }, 
-    { 0, { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } } } }  },
-/* rm: Left general purpose reg */
-  { "rm", SH_OPERAND_RM, HW_H_GR, 6, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_LEFT] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* rn: Right general purpose reg */
-  { "rn", SH_OPERAND_RN, HW_H_GR, 16, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_RIGHT] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* rd: Destination general purpose reg */
-  { "rd", SH_OPERAND_RD, HW_H_GR, 22, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_DEST] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* frg: Left single precision register */
-  { "frg", SH_OPERAND_FRG, HW_H_FR, 6, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_LEFT] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* frh: Right single precision register */
-  { "frh", SH_OPERAND_FRH, HW_H_FR, 16, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_RIGHT] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* frf: Destination single precision reg */
-  { "frf", SH_OPERAND_FRF, HW_H_FR, 22, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_DEST] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* frgh: Single precision register pair */
-  { "frgh", SH_OPERAND_FRGH, HW_H_FR, 6, 12,
-    { 2, { (const PTR) &SH_F_LEFT_RIGHT_MULTI_IFIELD[0] } }, 
-    { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* fpf: Pair of single precision registers */
-  { "fpf", SH_OPERAND_FPF, HW_H_FP, 22, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_DEST] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* fvg: Left single precision vector */
-  { "fvg", SH_OPERAND_FVG, HW_H_FV, 6, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_LEFT] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* fvh: Right single precision vector */
-  { "fvh", SH_OPERAND_FVH, HW_H_FV, 16, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_RIGHT] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* fvf: Destination single precision vector */
-  { "fvf", SH_OPERAND_FVF, HW_H_FV, 22, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_DEST] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* mtrxg: Left single precision matrix */
-  { "mtrxg", SH_OPERAND_MTRXG, HW_H_FMTX, 6, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_LEFT] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* drg: Left double precision register */
-  { "drg", SH_OPERAND_DRG, HW_H_DR, 6, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_LEFT] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* drh: Right double precision register */
-  { "drh", SH_OPERAND_DRH, HW_H_DR, 16, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_RIGHT] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* drf: Destination double precision reg */
-  { "drf", SH_OPERAND_DRF, HW_H_DR, 22, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_DEST] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* drgh: Double precision register pair */
-  { "drgh", SH_OPERAND_DRGH, HW_H_DR, 6, 12,
-    { 2, { (const PTR) &SH_F_LEFT_RIGHT_MULTI_IFIELD[0] } }, 
-    { 0|A(VIRTUAL), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* fpscr: Floating point status register */
-  { "fpscr", SH_OPERAND_FPSCR, HW_H_FPSCR, 0, 0,
-    { 0, { (const PTR) 0 } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* crj: Control register j */
-  { "crj", SH_OPERAND_CRJ, HW_H_CR, 22, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_DEST] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* crk: Control register k */
-  { "crk", SH_OPERAND_CRK, HW_H_CR, 6, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_LEFT] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* tra: Target register a */
-  { "tra", SH_OPERAND_TRA, HW_H_TR, 25, 3,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_TRA] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* trb: Target register b */
-  { "trb", SH_OPERAND_TRB, HW_H_TR, 9, 3,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_TRB] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* disp6: Displacement (6 bits) */
-  { "disp6", SH_OPERAND_DISP6, HW_H_SINT, 16, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_DISP6] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* disp6x32: Displacement (6 bits, scale 32) */
-  { "disp6x32", SH_OPERAND_DISP6X32, HW_H_SINT, 16, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_DISP6X32] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* disp10: Displacement (10 bits) */
-  { "disp10", SH_OPERAND_DISP10, HW_H_SINT, 12, 10,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_DISP10] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* disp10x2: Displacement (10 bits, scale 2) */
-  { "disp10x2", SH_OPERAND_DISP10X2, HW_H_SINT, 12, 10,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_DISP10X2] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* disp10x4: Displacement (10 bits, scale 4) */
-  { "disp10x4", SH_OPERAND_DISP10X4, HW_H_SINT, 12, 10,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_DISP10X4] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* disp10x8: Displacement (10 bits, scale 8) */
-  { "disp10x8", SH_OPERAND_DISP10X8, HW_H_SINT, 12, 10,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_DISP10X8] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* disp16: Displacement (16 bits) */
-  { "disp16", SH_OPERAND_DISP16, HW_H_SINT, 6, 16,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_DISP16] } }, 
-    { 0|A(PCREL_ADDR), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* imm6: Immediate (6 bits) */
-  { "imm6", SH_OPERAND_IMM6, HW_H_SINT, 16, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_IMM6] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* imm10: Immediate (10 bits) */
-  { "imm10", SH_OPERAND_IMM10, HW_H_SINT, 12, 10,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_IMM10] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* imm16: Immediate (16 bits) */
-  { "imm16", SH_OPERAND_IMM16, HW_H_SINT, 6, 16,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_IMM16] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* uimm6: Immediate (6 bits) */
-  { "uimm6", SH_OPERAND_UIMM6, HW_H_UINT, 16, 6,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_UIMM6] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* uimm16: Unsigned immediate (16 bits) */
-  { "uimm16", SH_OPERAND_UIMM16, HW_H_UINT, 6, 16,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_UIMM16] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* likely: Likely branch? */
-  { "likely", SH_OPERAND_LIKELY, HW_H_UINT, 22, 1,
-    { 0, { (const PTR) &sh_cgen_ifld_table[SH_F_LIKELY] } }, 
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } } } }  },
-/* sentinel */
-  { 0, 0, 0, 0, 0,
-    { 0, { (const PTR) 0 } },
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } } } } }
-};
-
-#undef A
-
-
-/* The instruction table.  */
-
-#define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
-#define A(a) (1 << CGEN_INSN_##a)
-
-static const CGEN_IBASE sh_cgen_insn_table[MAX_INSNS] =
-{
-  /* Special null first entry.
-     A `num' value of zero is thus invalid.
-     Also, the special `invalid' insn resides here.  */
-  { 0, 0, 0, 0, { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } } },
-/* add $rm, $rn */
-  {
-    SH_INSN_ADD_COMPACT, "add-compact", "add", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* add #$imm8, $rn */
-  {
-    SH_INSN_ADDI_COMPACT, "addi-compact", "add", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* addc $rm, $rn */
-  {
-    SH_INSN_ADDC_COMPACT, "addc-compact", "addc", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* addv $rm, $rn */
-  {
-    SH_INSN_ADDV_COMPACT, "addv-compact", "addv", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* and $rm64, $rn64 */
-  {
-    SH_INSN_AND_COMPACT, "and-compact", "and", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* and #$uimm8, r0 */
-  {
-    SH_INSN_ANDI_COMPACT, "andi-compact", "and", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* and.b #$imm8, @(r0, gbr) */
-  {
-    SH_INSN_ANDB_COMPACT, "andb-compact", "and.b", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_CO, 0 } } } }
-  },
-/* bf $disp8 */
-  {
-    SH_INSN_BF_COMPACT, "bf-compact", "bf", 16,
-    { 0|A(COND_CTI), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_BR, 0 } }, { { SH4A_GROUP_BR, 0 } } } }
-  },
-/* bf/s $disp8 */
-  {
-    SH_INSN_BFS_COMPACT, "bfs-compact", "bf/s", 16,
-    { 0|A(COND_CTI)|A(DELAY_SLOT), { { { (1<<MACH_SH2)|(1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH2A_NOFPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_BR, 0 } }, { { SH4A_GROUP_BR, 0 } } } }
-  },
-/* bra $disp12 */
-  {
-    SH_INSN_BRA_COMPACT, "bra-compact", "bra", 16,
-    { 0|A(UNCOND_CTI)|A(DELAY_SLOT), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_BR, 0 } }, { { SH4A_GROUP_BR, 0 } } } }
-  },
-/* braf $rn */
-  {
-    SH_INSN_BRAF_COMPACT, "braf-compact", "braf", 16,
-    { 0|A(UNCOND_CTI)|A(DELAY_SLOT), { { { (1<<MACH_SH2)|(1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH2A_NOFPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_BR, 0 } } } }
-  },
-/* brk */
-  {
-    SH_INSN_BRK_COMPACT, "brk-compact", "brk", 16,
-    { 0, { { { (1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* bsr $disp12 */
-  {
-    SH_INSN_BSR_COMPACT, "bsr-compact", "bsr", 16,
-    { 0|A(UNCOND_CTI)|A(DELAY_SLOT), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_BR, 0 } }, { { SH4A_GROUP_BR, 0 } } } }
-  },
-/* bsrf $rn */
-  {
-    SH_INSN_BSRF_COMPACT, "bsrf-compact", "bsrf", 16,
-    { 0|A(UNCOND_CTI)|A(DELAY_SLOT), { { { (1<<MACH_SH2)|(1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH2A_NOFPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_BR, 0 } } } }
-  },
-/* bt $disp8 */
-  {
-    SH_INSN_BT_COMPACT, "bt-compact", "bt", 16,
-    { 0|A(COND_CTI), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_BR, 0 } }, { { SH4A_GROUP_BR, 0 } } } }
-  },
-/* bt/s $disp8 */
-  {
-    SH_INSN_BTS_COMPACT, "bts-compact", "bt/s", 16,
-    { 0|A(COND_CTI)|A(DELAY_SLOT), { { { (1<<MACH_SH2)|(1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH2A_NOFPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_BR, 0 } }, { { SH4A_GROUP_BR, 0 } } } }
-  },
-/* clrmac */
-  {
-    SH_INSN_CLRMAC_COMPACT, "clrmac-compact", "clrmac", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* clrs */
-  {
-    SH_INSN_CLRS_COMPACT, "clrs-compact", "clrs", 16,
-    { 0, { { { (1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* clrt */
-  {
-    SH_INSN_CLRT_COMPACT, "clrt-compact", "clrt", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_MT, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* cmp/eq $rm, $rn */
-  {
-    SH_INSN_CMPEQ_COMPACT, "cmpeq-compact", "cmp/eq", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_MT, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* cmp/eq #$imm8, r0 */
-  {
-    SH_INSN_CMPEQI_COMPACT, "cmpeqi-compact", "cmp/eq", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_MT, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* cmp/ge $rm, $rn */
-  {
-    SH_INSN_CMPGE_COMPACT, "cmpge-compact", "cmp/ge", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_MT, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* cmp/gt $rm, $rn */
-  {
-    SH_INSN_CMPGT_COMPACT, "cmpgt-compact", "cmp/gt", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_MT, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* cmp/hi $rm, $rn */
-  {
-    SH_INSN_CMPHI_COMPACT, "cmphi-compact", "cmp/hi", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_MT, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* cmp/hs $rm, $rn */
-  {
-    SH_INSN_CMPHS_COMPACT, "cmphs-compact", "cmp/hs", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_MT, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* cmp/pl $rn */
-  {
-    SH_INSN_CMPPL_COMPACT, "cmppl-compact", "cmp/pl", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_MT, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* cmp/pz $rn */
-  {
-    SH_INSN_CMPPZ_COMPACT, "cmppz-compact", "cmp/pz", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_MT, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* cmp/str $rm, $rn */
-  {
-    SH_INSN_CMPSTR_COMPACT, "cmpstr-compact", "cmp/str", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_MT, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* div0s $rm, $rn */
-  {
-    SH_INSN_DIV0S_COMPACT, "div0s-compact", "div0s", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* div0u */
-  {
-    SH_INSN_DIV0U_COMPACT, "div0u-compact", "div0u", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* div1 $rm, $rn */
-  {
-    SH_INSN_DIV1_COMPACT, "div1-compact", "div1", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* divu r0, $rn */
-  {
-    SH_INSN_DIVU_COMPACT, "divu-compact", "divu", 16,
-    { 0, { { { (1<<MACH_SH2A_NOFPU)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH4)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mulr r0, $rn */
-  {
-    SH_INSN_MULR_COMPACT, "mulr-compact", "mulr", 16,
-    { 0, { { { (1<<MACH_SH2A_NOFPU)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH4)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* dmuls.l $rm, $rn */
-  {
-    SH_INSN_DMULSL_COMPACT, "dmulsl-compact", "dmuls.l", 16,
-    { 0, { { { (1<<MACH_SH2)|(1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH2A_NOFPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* dmulu.l $rm, $rn */
-  {
-    SH_INSN_DMULUL_COMPACT, "dmulul-compact", "dmulu.l", 16,
-    { 0, { { { (1<<MACH_SH2)|(1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH2A_NOFPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* dt $rn */
-  {
-    SH_INSN_DT_COMPACT, "dt-compact", "dt", 16,
-    { 0, { { { (1<<MACH_SH2)|(1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH2A_NOFPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* exts.b $rm, $rn */
-  {
-    SH_INSN_EXTSB_COMPACT, "extsb-compact", "exts.b", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* exts.w $rm, $rn */
-  {
-    SH_INSN_EXTSW_COMPACT, "extsw-compact", "exts.w", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* extu.b $rm, $rn */
-  {
-    SH_INSN_EXTUB_COMPACT, "extub-compact", "extu.b", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* extu.w $rm, $rn */
-  {
-    SH_INSN_EXTUW_COMPACT, "extuw-compact", "extu.w", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* fabs $fsdn */
-  {
-    SH_INSN_FABS_COMPACT, "fabs-compact", "fabs", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* fadd $fsdm, $fsdn */
-  {
-    SH_INSN_FADD_COMPACT, "fadd-compact", "fadd", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_FE, 0 } }, { { SH4A_GROUP_FE, 0 } } } }
-  },
-/* fcmp/eq $fsdm, $fsdn */
-  {
-    SH_INSN_FCMPEQ_COMPACT, "fcmpeq-compact", "fcmp/eq", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_FE, 0 } }, { { SH4A_GROUP_FE, 0 } } } }
-  },
-/* fcmp/gt $fsdm, $fsdn */
-  {
-    SH_INSN_FCMPGT_COMPACT, "fcmpgt-compact", "fcmp/gt", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_FE, 0 } }, { { SH4A_GROUP_FE, 0 } } } }
-  },
-/* fcnvds $drn, fpul */
-  {
-    SH_INSN_FCNVDS_COMPACT, "fcnvds-compact", "fcnvds", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2A_FPU)|(1<<MACH_SH4)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_FE, 0 } }, { { SH4A_GROUP_FE, 0 } } } }
-  },
-/* fcnvsd fpul, $drn */
-  {
-    SH_INSN_FCNVSD_COMPACT, "fcnvsd-compact", "fcnvsd", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2A_FPU)|(1<<MACH_SH4)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_FE, 0 } }, { { SH4A_GROUP_FE, 0 } } } }
-  },
-/* fdiv $fsdm, $fsdn */
-  {
-    SH_INSN_FDIV_COMPACT, "fdiv-compact", "fdiv", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_FE, 0 } }, { { SH4A_GROUP_FE, 0 } } } }
-  },
-/* fipr $fvm, $fvn */
-  {
-    SH_INSN_FIPR_COMPACT, "fipr-compact", "fipr", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_FE, 0 } }, { { SH4A_GROUP_FE, 0 } } } }
-  },
-/* flds $frn, fpul */
-  {
-    SH_INSN_FLDS_COMPACT, "flds-compact", "flds", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* fldi0 $frn */
-  {
-    SH_INSN_FLDI0_COMPACT, "fldi0-compact", "fldi0", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* fldi1 $frn */
-  {
-    SH_INSN_FLDI1_COMPACT, "fldi1-compact", "fldi1", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* float fpul, $fsdn */
-  {
-    SH_INSN_FLOAT_COMPACT, "float-compact", "float", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_FE, 0 } }, { { SH4A_GROUP_FE, 0 } } } }
-  },
-/* fmac fr0, $frm, $frn */
-  {
-    SH_INSN_FMAC_COMPACT, "fmac-compact", "fmac", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_FE, 0 } }, { { SH4A_GROUP_FE, 0 } } } }
-  },
-/* fmov $fmovm, $fmovn */
-  {
-    SH_INSN_FMOV1_COMPACT, "fmov1-compact", "fmov", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* fmov @$rm, $fmovn */
-  {
-    SH_INSN_FMOV2_COMPACT, "fmov2-compact", "fmov", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* fmov @${rm}+, fmovn */
-  {
-    SH_INSN_FMOV3_COMPACT, "fmov3-compact", "fmov", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* fmov @(r0, $rm), $fmovn */
-  {
-    SH_INSN_FMOV4_COMPACT, "fmov4-compact", "fmov", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* fmov $fmovm, @$rn */
-  {
-    SH_INSN_FMOV5_COMPACT, "fmov5-compact", "fmov", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* fmov $fmovm, @-$rn */
-  {
-    SH_INSN_FMOV6_COMPACT, "fmov6-compact", "fmov", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* fmov $fmovm, @(r0, $rn) */
-  {
-    SH_INSN_FMOV7_COMPACT, "fmov7-compact", "fmov", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* fmov.d @($imm12x8, $rm), $drn */
-  {
-    SH_INSN_FMOV8_COMPACT, "fmov8-compact", "fmov.d", 32,
-    { 0|A(32_BIT_INSN), { { { (1<<MACH_SH2A_FPU)|(1<<MACH_SH4)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mov.l $drm, @($imm12x8, $rn) */
-  {
-    SH_INSN_FMOV9_COMPACT, "fmov9-compact", "mov.l", 32,
-    { 0|A(32_BIT_INSN), { { { (1<<MACH_SH2A_FPU)|(1<<MACH_SH4)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fmul $fsdm, $fsdn */
-  {
-    SH_INSN_FMUL_COMPACT, "fmul-compact", "fmul", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_FE, 0 } }, { { SH4A_GROUP_FE, 0 } } } }
-  },
-/* fneg $fsdn */
-  {
-    SH_INSN_FNEG_COMPACT, "fneg-compact", "fneg", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* frchg */
-  {
-    SH_INSN_FRCHG_COMPACT, "frchg-compact", "frchg", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_FE, 0 } }, { { SH4A_GROUP_FE, 0 } } } }
-  },
-/* fschg */
-  {
-    SH_INSN_FSCHG_COMPACT, "fschg-compact", "fschg", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_FE, 0 } }, { { SH4A_GROUP_FE, 0 } } } }
-  },
-/* fsqrt $fsdn */
-  {
-    SH_INSN_FSQRT_COMPACT, "fsqrt-compact", "fsqrt", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_FE, 0 } }, { { SH4A_GROUP_FE, 0 } } } }
-  },
-/* fsts fpul, $frn */
-  {
-    SH_INSN_FSTS_COMPACT, "fsts-compact", "fsts", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* fsub $fsdm, $fsdn */
-  {
-    SH_INSN_FSUB_COMPACT, "fsub-compact", "fsub", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_FE, 0 } }, { { SH4A_GROUP_FE, 0 } } } }
-  },
-/* ftrc $fsdn, fpul */
-  {
-    SH_INSN_FTRC_COMPACT, "ftrc-compact", "ftrc", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_FE, 0 } }, { { SH4A_GROUP_FE, 0 } } } }
-  },
-/* ftrv xmtrx, $fvn */
-  {
-    SH_INSN_FTRV_COMPACT, "ftrv-compact", "ftrv", 16,
-    { 0|A(FP_INSN), { { { (1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_FE, 0 } }, { { SH4A_GROUP_FE, 0 } } } }
-  },
-/* jmp @$rn */
-  {
-    SH_INSN_JMP_COMPACT, "jmp-compact", "jmp", 16,
-    { 0|A(UNCOND_CTI)|A(DELAY_SLOT), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_BR, 0 } } } }
-  },
-/* jsr @$rn */
-  {
-    SH_INSN_JSR_COMPACT, "jsr-compact", "jsr", 16,
-    { 0|A(UNCOND_CTI)|A(DELAY_SLOT), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_BR, 0 } } } }
-  },
-/* ldc $rn, gbr */
-  {
-    SH_INSN_LDC_GBR_COMPACT, "ldc-gbr-compact", "ldc", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* ldc $rn, vbr */
-  {
-    SH_INSN_LDC_VBR_COMPACT, "ldc-vbr-compact", "ldc", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* ldc $rn, sr */
-  {
-    SH_INSN_LDC_SR_COMPACT, "ldc-sr-compact", "ldc", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_CO, 0 } } } }
-  },
-/* ldc.l @${rn}+, gbr */
-  {
-    SH_INSN_LDCL_GBR_COMPACT, "ldcl-gbr-compact", "ldc.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* ldc.l @${rn}+, vbr */
-  {
-    SH_INSN_LDCL_VBR_COMPACT, "ldcl-vbr-compact", "ldc.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* lds $rn, fpscr */
-  {
-    SH_INSN_LDS_FPSCR_COMPACT, "lds-fpscr-compact", "lds", 16,
-    { 0, { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* lds.l @${rn}+, fpscr */
-  {
-    SH_INSN_LDSL_FPSCR_COMPACT, "ldsl-fpscr-compact", "lds.l", 16,
-    { 0, { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* lds $rn, fpul */
-  {
-    SH_INSN_LDS_FPUL_COMPACT, "lds-fpul-compact", "lds", 16,
-    { 0, { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* lds.l @${rn}+, fpul */
-  {
-    SH_INSN_LDSL_FPUL_COMPACT, "ldsl-fpul-compact", "lds.l", 16,
-    { 0, { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* lds $rn, mach */
-  {
-    SH_INSN_LDS_MACH_COMPACT, "lds-mach-compact", "lds", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* lds.l @${rn}+, mach */
-  {
-    SH_INSN_LDSL_MACH_COMPACT, "ldsl-mach-compact", "lds.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* lds $rn, macl */
-  {
-    SH_INSN_LDS_MACL_COMPACT, "lds-macl-compact", "lds", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* lds.l @${rn}+, macl */
-  {
-    SH_INSN_LDSL_MACL_COMPACT, "ldsl-macl-compact", "lds.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* lds $rn, pr */
-  {
-    SH_INSN_LDS_PR_COMPACT, "lds-pr-compact", "lds", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* lds.l @${rn}+, pr */
-  {
-    SH_INSN_LDSL_PR_COMPACT, "ldsl-pr-compact", "lds.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mac.l @${rm}+, @${rn}+ */
-  {
-    SH_INSN_MACL_COMPACT, "macl-compact", "mac.l", 16,
-    { 0, { { { (1<<MACH_SH2)|(1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH2A_NOFPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_CO, 0 } } } }
-  },
-/* mac.w @${rm}+, @${rn}+ */
-  {
-    SH_INSN_MACW_COMPACT, "macw-compact", "mac.w", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_CO, 0 } } } }
-  },
-/* mov $rm64, $rn64 */
-  {
-    SH_INSN_MOV_COMPACT, "mov-compact", "mov", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_MT, 0 } }, { { SH4A_GROUP_MT, 0 } } } }
-  },
-/* mov #$imm8, $rn */
-  {
-    SH_INSN_MOVI_COMPACT, "movi-compact", "mov", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_MT, 0 } } } }
-  },
-/* movi20 #$imm20, $rn */
-  {
-    SH_INSN_MOVI20_COMPACT, "movi20-compact", "movi20", 32,
-    { 0|A(32_BIT_INSN), { { { (1<<MACH_SH2A_NOFPU)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH4)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mov.b $rm, @$rn */
-  {
-    SH_INSN_MOVB1_COMPACT, "movb1-compact", "mov.b", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.b $rm, @-$rn */
-  {
-    SH_INSN_MOVB2_COMPACT, "movb2-compact", "mov.b", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.b $rm, @(r0,$rn) */
-  {
-    SH_INSN_MOVB3_COMPACT, "movb3-compact", "mov.b", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.b r0, @($imm8, gbr) */
-  {
-    SH_INSN_MOVB4_COMPACT, "movb4-compact", "mov.b", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.b r0, @($imm4, $rm) */
-  {
-    SH_INSN_MOVB5_COMPACT, "movb5-compact", "mov.b", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.b @$rm, $rn */
-  {
-    SH_INSN_MOVB6_COMPACT, "movb6-compact", "mov.b", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.b @${rm}+, $rn */
-  {
-    SH_INSN_MOVB7_COMPACT, "movb7-compact", "mov.b", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.b @(r0, $rm), $rn */
-  {
-    SH_INSN_MOVB8_COMPACT, "movb8-compact", "mov.b", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.b @($imm8, gbr), r0 */
-  {
-    SH_INSN_MOVB9_COMPACT, "movb9-compact", "mov.b", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.b @($imm4, $rm), r0 */
-  {
-    SH_INSN_MOVB10_COMPACT, "movb10-compact", "mov.b", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.l $rm, @$rn */
-  {
-    SH_INSN_MOVL1_COMPACT, "movl1-compact", "mov.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.l $rm, @-$rn */
-  {
-    SH_INSN_MOVL2_COMPACT, "movl2-compact", "mov.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.l $rm, @(r0, $rn) */
-  {
-    SH_INSN_MOVL3_COMPACT, "movl3-compact", "mov.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.l r0, @($imm8x4, gbr) */
-  {
-    SH_INSN_MOVL4_COMPACT, "movl4-compact", "mov.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.l $rm, @($imm4x4, $rn) */
-  {
-    SH_INSN_MOVL5_COMPACT, "movl5-compact", "mov.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.l @$rm, $rn */
-  {
-    SH_INSN_MOVL6_COMPACT, "movl6-compact", "mov.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.l @${rm}+, $rn */
-  {
-    SH_INSN_MOVL7_COMPACT, "movl7-compact", "mov.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.l @(r0, $rm), $rn */
-  {
-    SH_INSN_MOVL8_COMPACT, "movl8-compact", "mov.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.l @($imm8x4, gbr), r0 */
-  {
-    SH_INSN_MOVL9_COMPACT, "movl9-compact", "mov.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.l @($imm8x4, pc), $rn */
-  {
-    SH_INSN_MOVL10_COMPACT, "movl10-compact", "mov.l", 16,
-    { 0|A(ILLSLOT), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.l @($imm4x4, $rm), $rn */
-  {
-    SH_INSN_MOVL11_COMPACT, "movl11-compact", "mov.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.l @($imm12x4, $rm), $rn */
-  {
-    SH_INSN_MOVL12_COMPACT, "movl12-compact", "mov.l", 32,
-    { 0|A(32_BIT_INSN), { { { (1<<MACH_SH2A_NOFPU)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH4)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mov.l $rm, @($imm12x4, $rn) */
-  {
-    SH_INSN_MOVL13_COMPACT, "movl13-compact", "mov.l", 32,
-    { 0|A(32_BIT_INSN), { { { (1<<MACH_SH2A_NOFPU)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH4)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mov.w $rm, @$rn */
-  {
-    SH_INSN_MOVW1_COMPACT, "movw1-compact", "mov.w", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.w $rm, @-$rn */
-  {
-    SH_INSN_MOVW2_COMPACT, "movw2-compact", "mov.w", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.w $rm, @(r0, $rn) */
-  {
-    SH_INSN_MOVW3_COMPACT, "movw3-compact", "mov.w", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.w r0, @($imm8x2, gbr) */
-  {
-    SH_INSN_MOVW4_COMPACT, "movw4-compact", "mov.w", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.w r0, @($imm4x2, $rm) */
-  {
-    SH_INSN_MOVW5_COMPACT, "movw5-compact", "mov.w", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.w @$rm, $rn */
-  {
-    SH_INSN_MOVW6_COMPACT, "movw6-compact", "mov.w", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.w @${rm}+, $rn */
-  {
-    SH_INSN_MOVW7_COMPACT, "movw7-compact", "mov.w", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.w @(r0, $rm), $rn */
-  {
-    SH_INSN_MOVW8_COMPACT, "movw8-compact", "mov.w", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.w @($imm8x2, gbr), r0 */
-  {
-    SH_INSN_MOVW9_COMPACT, "movw9-compact", "mov.w", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.w @($imm8x2, pc), $rn */
-  {
-    SH_INSN_MOVW10_COMPACT, "movw10-compact", "mov.w", 16,
-    { 0|A(ILLSLOT), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mov.w @($imm4x2, $rm), r0 */
-  {
-    SH_INSN_MOVW11_COMPACT, "movw11-compact", "mov.w", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mova @($imm8x4, pc), r0 */
-  {
-    SH_INSN_MOVA_COMPACT, "mova-compact", "mova", 16,
-    { 0|A(ILLSLOT), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* movca.l r0, @$rn */
-  {
-    SH_INSN_MOVCAL_COMPACT, "movcal-compact", "movca.l", 16,
-    { 0, { { { (1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* movco.l r0, @$rn */
-  {
-    SH_INSN_MOVCOL_COMPACT, "movcol-compact", "movco.l", 16,
-    { 0, { { { (1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_CO, 0 } } } }
-  },
-/* movt $rn */
-  {
-    SH_INSN_MOVT_COMPACT, "movt-compact", "movt", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* movua.l @$rn, r0 */
-  {
-    SH_INSN_MOVUAL_COMPACT, "movual-compact", "movua.l", 16,
-    { 0, { { { (1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* movua.l @$rn+, r0 */
-  {
-    SH_INSN_MOVUAL2_COMPACT, "movual2-compact", "movua.l", 16,
-    { 0, { { { (1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* mul.l $rm, $rn */
-  {
-    SH_INSN_MULL_COMPACT, "mull-compact", "mul.l", 16,
-    { 0, { { { (1<<MACH_SH2)|(1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH2A_NOFPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* muls.w $rm, $rn */
-  {
-    SH_INSN_MULSW_COMPACT, "mulsw-compact", "muls.w", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* mulu.w $rm, $rn */
-  {
-    SH_INSN_MULUW_COMPACT, "muluw-compact", "mulu.w", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* neg $rm, $rn */
-  {
-    SH_INSN_NEG_COMPACT, "neg-compact", "neg", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* negc $rm, $rn */
-  {
-    SH_INSN_NEGC_COMPACT, "negc-compact", "negc", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* nop */
-  {
-    SH_INSN_NOP_COMPACT, "nop-compact", "nop", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_MT, 0 } }, { { SH4A_GROUP_MT, 0 } } } }
-  },
-/* not $rm64, $rn64 */
-  {
-    SH_INSN_NOT_COMPACT, "not-compact", "not", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* ocbi @$rn */
-  {
-    SH_INSN_OCBI_COMPACT, "ocbi-compact", "ocbi", 16,
-    { 0, { { { (1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* ocbp @$rn */
-  {
-    SH_INSN_OCBP_COMPACT, "ocbp-compact", "ocbp", 16,
-    { 0, { { { (1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* ocbwb @$rn */
-  {
-    SH_INSN_OCBWB_COMPACT, "ocbwb-compact", "ocbwb", 16,
-    { 0, { { { (1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* or $rm64, $rn64 */
-  {
-    SH_INSN_OR_COMPACT, "or-compact", "or", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* or #$uimm8, r0 */
-  {
-    SH_INSN_ORI_COMPACT, "ori-compact", "or", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* or.b #$imm8, @(r0, gbr) */
-  {
-    SH_INSN_ORB_COMPACT, "orb-compact", "or.b", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_CO, 0 } } } }
-  },
-/* pref @$rn */
-  {
-    SH_INSN_PREF_COMPACT, "pref-compact", "pref", 16,
-    { 0, { { { (1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* rotcl $rn */
-  {
-    SH_INSN_ROTCL_COMPACT, "rotcl-compact", "rotcl", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* rotcr $rn */
-  {
-    SH_INSN_ROTCR_COMPACT, "rotcr-compact", "rotcr", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* rotl $rn */
-  {
-    SH_INSN_ROTL_COMPACT, "rotl-compact", "rotl", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* rotr $rn */
-  {
-    SH_INSN_ROTR_COMPACT, "rotr-compact", "rotr", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* rts */
-  {
-    SH_INSN_RTS_COMPACT, "rts-compact", "rts", 16,
-    { 0|A(UNCOND_CTI)|A(DELAY_SLOT), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_BR, 0 } } } }
-  },
-/* sets */
-  {
-    SH_INSN_SETS_COMPACT, "sets-compact", "sets", 16,
-    { 0, { { { (1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* sett */
-  {
-    SH_INSN_SETT_COMPACT, "sett-compact", "sett", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_MT, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* shad $rm, $rn */
-  {
-    SH_INSN_SHAD_COMPACT, "shad-compact", "shad", 16,
-    { 0, { { { (1<<MACH_SH2A_NOFPU)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* shal $rn */
-  {
-    SH_INSN_SHAL_COMPACT, "shal-compact", "shal", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* shar $rn */
-  {
-    SH_INSN_SHAR_COMPACT, "shar-compact", "shar", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* shld $rm, $rn */
-  {
-    SH_INSN_SHLD_COMPACT, "shld-compact", "shld", 16,
-    { 0, { { { (1<<MACH_SH3)|(1<<MACH_SH3E)|(1<<MACH_SH4_NOFPU)|(1<<MACH_SH4)|(1<<MACH_SH4A_NOFPU)|(1<<MACH_SH4A)|(1<<MACH_SH4AL)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* shll $rn */
-  {
-    SH_INSN_SHLL_COMPACT, "shll-compact", "shll", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* shll2 $rn */
-  {
-    SH_INSN_SHLL2_COMPACT, "shll2-compact", "shll2", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* shll8 $rn */
-  {
-    SH_INSN_SHLL8_COMPACT, "shll8-compact", "shll8", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* shll16 $rn */
-  {
-    SH_INSN_SHLL16_COMPACT, "shll16-compact", "shll16", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* shlr $rn */
-  {
-    SH_INSN_SHLR_COMPACT, "shlr-compact", "shlr", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* shlr2 $rn */
-  {
-    SH_INSN_SHLR2_COMPACT, "shlr2-compact", "shlr2", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* shlr8 $rn */
-  {
-    SH_INSN_SHLR8_COMPACT, "shlr8-compact", "shlr8", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* shlr16 $rn */
-  {
-    SH_INSN_SHLR16_COMPACT, "shlr16-compact", "shlr16", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* stc gbr, $rn */
-  {
-    SH_INSN_STC_GBR_COMPACT, "stc-gbr-compact", "stc", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* stc vbr, $rn */
-  {
-    SH_INSN_STC_VBR_COMPACT, "stc-vbr-compact", "stc", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* stc.l gbr, @-$rn */
-  {
-    SH_INSN_STCL_GBR_COMPACT, "stcl-gbr-compact", "stc.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* stc.l vbr, @-$rn */
-  {
-    SH_INSN_STCL_VBR_COMPACT, "stcl-vbr-compact", "stc.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* sts fpscr, $rn */
-  {
-    SH_INSN_STS_FPSCR_COMPACT, "sts-fpscr-compact", "sts", 16,
-    { 0, { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* sts.l fpscr, @-$rn */
-  {
-    SH_INSN_STSL_FPSCR_COMPACT, "stsl-fpscr-compact", "sts.l", 16,
-    { 0, { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* sts fpul, $rn */
-  {
-    SH_INSN_STS_FPUL_COMPACT, "sts-fpul-compact", "sts", 16,
-    { 0, { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_LS, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* sts.l fpul, @-$rn */
-  {
-    SH_INSN_STSL_FPUL_COMPACT, "stsl-fpul-compact", "sts.l", 16,
-    { 0, { { { (1<<MACH_SH2E)|(1<<MACH_SH2A_FPU)|(1<<MACH_SH3E)|(1<<MACH_SH4)|(1<<MACH_SH4A)|(1<<MACH_SH5), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* sts mach, $rn */
-  {
-    SH_INSN_STS_MACH_COMPACT, "sts-mach-compact", "sts", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* sts.l mach, @-$rn */
-  {
-    SH_INSN_STSL_MACH_COMPACT, "stsl-mach-compact", "sts.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* sts macl, $rn */
-  {
-    SH_INSN_STS_MACL_COMPACT, "sts-macl-compact", "sts", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* sts.l macl, @-$rn */
-  {
-    SH_INSN_STSL_MACL_COMPACT, "stsl-macl-compact", "sts.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* sts pr, $rn */
-  {
-    SH_INSN_STS_PR_COMPACT, "sts-pr-compact", "sts", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* sts.l pr, @-$rn */
-  {
-    SH_INSN_STSL_PR_COMPACT, "stsl-pr-compact", "sts.l", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_LS, 0 } } } }
-  },
-/* sub $rm, $rn */
-  {
-    SH_INSN_SUB_COMPACT, "sub-compact", "sub", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* subc $rm, $rn */
-  {
-    SH_INSN_SUBC_COMPACT, "subc-compact", "subc", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* subv $rm, $rn */
-  {
-    SH_INSN_SUBV_COMPACT, "subv-compact", "subv", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* swap.b $rm, $rn */
-  {
-    SH_INSN_SWAPB_COMPACT, "swapb-compact", "swap.b", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* swap.w $rm, $rn */
-  {
-    SH_INSN_SWAPW_COMPACT, "swapw-compact", "swap.w", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* tas.b @$rn */
-  {
-    SH_INSN_TASB_COMPACT, "tasb-compact", "tas.b", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_CO, 0 } } } }
-  },
-/* trapa #$uimm8 */
-  {
-    SH_INSN_TRAPA_COMPACT, "trapa-compact", "trapa", 16,
-    { 0|A(ILLSLOT), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_CO, 0 } } } }
-  },
-/* tst $rm, $rn */
-  {
-    SH_INSN_TST_COMPACT, "tst-compact", "tst", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_MT, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* tst #$uimm8, r0 */
-  {
-    SH_INSN_TSTI_COMPACT, "tsti-compact", "tst", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_MT, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* tst.b #$imm8, @(r0, gbr) */
-  {
-    SH_INSN_TSTB_COMPACT, "tstb-compact", "tst.b", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_CO, 0 } } } }
-  },
-/* xor $rm64, $rn64 */
-  {
-    SH_INSN_XOR_COMPACT, "xor-compact", "xor", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* xor #$uimm8, r0 */
-  {
-    SH_INSN_XORI_COMPACT, "xori-compact", "xor", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* xor.b #$imm8, @(r0, gbr) */
-  {
-    SH_INSN_XORB_COMPACT, "xorb-compact", "xor.b", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_CO, 0 } }, { { SH4A_GROUP_CO, 0 } } } }
-  },
-/* xtrct $rm, $rn */
-  {
-    SH_INSN_XTRCT_COMPACT, "xtrct-compact", "xtrct", 16,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x80" } }, { { SH4_GROUP_EX, 0 } }, { { SH4A_GROUP_EX, 0 } } } }
-  },
-/* add $rm, $rn, $rd */
-  {
-    SH_INSN_ADD, "add", "add", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* add.l $rm, $rn, $rd */
-  {
-    SH_INSN_ADDL, "addl", "add.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* addi $rm, $disp10, $rd */
-  {
-    SH_INSN_ADDI, "addi", "addi", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* addi.l $rm, $disp10, $rd */
-  {
-    SH_INSN_ADDIL, "addil", "addi.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* addz.l $rm, $rn, $rd */
-  {
-    SH_INSN_ADDZL, "addzl", "addz.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* alloco $rm, $disp6x32 */
-  {
-    SH_INSN_ALLOCO, "alloco", "alloco", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* and $rm, $rn, $rd */
-  {
-    SH_INSN_AND, "and", "and", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* andc $rm, $rn, $rd */
-  {
-    SH_INSN_ANDC, "andc", "andc", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* andi $rm, $disp10, $rd */
-  {
-    SH_INSN_ANDI, "andi", "andi", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* beq$likely $rm, $rn, $tra */
-  {
-    SH_INSN_BEQ, "beq", "beq", 32,
-    { 0|A(COND_CTI), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* beqi$likely $rm, $imm6, $tra */
-  {
-    SH_INSN_BEQI, "beqi", "beqi", 32,
-    { 0|A(COND_CTI), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* bge$likely $rm, $rn, $tra */
-  {
-    SH_INSN_BGE, "bge", "bge", 32,
-    { 0|A(COND_CTI), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* bgeu$likely $rm, $rn, $tra */
-  {
-    SH_INSN_BGEU, "bgeu", "bgeu", 32,
-    { 0|A(COND_CTI), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* bgt$likely $rm, $rn, $tra */
-  {
-    SH_INSN_BGT, "bgt", "bgt", 32,
-    { 0|A(COND_CTI), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* bgtu$likely $rm, $rn, $tra */
-  {
-    SH_INSN_BGTU, "bgtu", "bgtu", 32,
-    { 0|A(COND_CTI), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* blink $trb, $rd */
-  {
-    SH_INSN_BLINK, "blink", "blink", 32,
-    { 0|A(UNCOND_CTI), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* bne$likely $rm, $rn, $tra */
-  {
-    SH_INSN_BNE, "bne", "bne", 32,
-    { 0|A(COND_CTI), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* bnei$likely $rm, $imm6, $tra */
-  {
-    SH_INSN_BNEI, "bnei", "bnei", 32,
-    { 0|A(COND_CTI), { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* brk */
-  {
-    SH_INSN_BRK, "brk", "brk", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* byterev $rm, $rd */
-  {
-    SH_INSN_BYTEREV, "byterev", "byterev", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* cmpeq $rm, $rn, $rd */
-  {
-    SH_INSN_CMPEQ, "cmpeq", "cmpeq", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* cmpgt $rm, $rn, $rd */
-  {
-    SH_INSN_CMPGT, "cmpgt", "cmpgt", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* cmpgtu $rm,$rn, $rd */
-  {
-    SH_INSN_CMPGTU, "cmpgtu", "cmpgtu", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* cmveq $rm, $rn, $rd */
-  {
-    SH_INSN_CMVEQ, "cmveq", "cmveq", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* cmvne $rm, $rn, $rd */
-  {
-    SH_INSN_CMVNE, "cmvne", "cmvne", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fabs.d $drgh, $drf */
-  {
-    SH_INSN_FABSD, "fabsd", "fabs.d", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fabs.s $frgh, $frf */
-  {
-    SH_INSN_FABSS, "fabss", "fabs.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fadd.d $drg, $drh, $drf */
-  {
-    SH_INSN_FADDD, "faddd", "fadd.d", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fadd.s $frg, $frh, $frf */
-  {
-    SH_INSN_FADDS, "fadds", "fadd.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fcmpeq.d $drg, $drh, $rd */
-  {
-    SH_INSN_FCMPEQD, "fcmpeqd", "fcmpeq.d", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fcmpeq.s $frg, $frh, $rd */
-  {
-    SH_INSN_FCMPEQS, "fcmpeqs", "fcmpeq.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fcmpge.d $drg, $drh, $rd */
-  {
-    SH_INSN_FCMPGED, "fcmpged", "fcmpge.d", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fcmpge.s $frg, $frh, $rd */
-  {
-    SH_INSN_FCMPGES, "fcmpges", "fcmpge.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fcmpgt.d $drg, $drh, $rd */
-  {
-    SH_INSN_FCMPGTD, "fcmpgtd", "fcmpgt.d", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fcmpgt.s $frg, $frh, $rd */
-  {
-    SH_INSN_FCMPGTS, "fcmpgts", "fcmpgt.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fcmpun.d $drg, $drh, $rd */
-  {
-    SH_INSN_FCMPUND, "fcmpund", "fcmpun.d", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fcmpun.s $frg, $frh, $rd */
-  {
-    SH_INSN_FCMPUNS, "fcmpuns", "fcmpun.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fcnv.ds $drgh, $frf */
-  {
-    SH_INSN_FCNVDS, "fcnvds", "fcnv.ds", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fcnv.sd $frgh, $drf */
-  {
-    SH_INSN_FCNVSD, "fcnvsd", "fcnv.sd", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fdiv.d $drg, $drh, $drf */
-  {
-    SH_INSN_FDIVD, "fdivd", "fdiv.d", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fdiv.s $frg, $frh, $frf */
-  {
-    SH_INSN_FDIVS, "fdivs", "fdiv.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fgetscr $frf */
-  {
-    SH_INSN_FGETSCR, "fgetscr", "fgetscr", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fipr.s $fvg, $fvh, $frf */
-  {
-    SH_INSN_FIPRS, "fiprs", "fipr.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fld.d $rm, $disp10x8, $drf */
-  {
-    SH_INSN_FLDD, "fldd", "fld.d", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fld.p $rm, $disp10x8, $fpf */
-  {
-    SH_INSN_FLDP, "fldp", "fld.p", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fld.s $rm, $disp10x4, $frf */
-  {
-    SH_INSN_FLDS, "flds", "fld.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fldx.d $rm, $rn, $drf */
-  {
-    SH_INSN_FLDXD, "fldxd", "fldx.d", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fldx.p $rm, $rn, $fpf */
-  {
-    SH_INSN_FLDXP, "fldxp", "fldx.p", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fldx.s $rm, $rn, $frf */
-  {
-    SH_INSN_FLDXS, "fldxs", "fldx.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* float.ld $frgh, $drf */
-  {
-    SH_INSN_FLOATLD, "floatld", "float.ld", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* float.ls $frgh, $frf */
-  {
-    SH_INSN_FLOATLS, "floatls", "float.ls", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* float.qd $drgh, $drf */
-  {
-    SH_INSN_FLOATQD, "floatqd", "float.qd", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* float.qs $drgh, $frf */
-  {
-    SH_INSN_FLOATQS, "floatqs", "float.qs", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fmac.s $frg, $frh, $frf */
-  {
-    SH_INSN_FMACS, "fmacs", "fmac.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fmov.d $drgh, $drf */
-  {
-    SH_INSN_FMOVD, "fmovd", "fmov.d", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fmov.dq $drgh, $rd */
-  {
-    SH_INSN_FMOVDQ, "fmovdq", "fmov.dq", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fmov.ls $rm, $frf */
-  {
-    SH_INSN_FMOVLS, "fmovls", "fmov.ls", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fmov.qd $rm, $drf */
-  {
-    SH_INSN_FMOVQD, "fmovqd", "fmov.qd", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fmov.s $frgh, $frf */
-  {
-    SH_INSN_FMOVS, "fmovs", "fmov.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fmov.sl $frgh, $rd */
-  {
-    SH_INSN_FMOVSL, "fmovsl", "fmov.sl", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fmul.d $drg, $drh, $drf */
-  {
-    SH_INSN_FMULD, "fmuld", "fmul.d", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fmul.s $frg, $frh, $frf */
-  {
-    SH_INSN_FMULS, "fmuls", "fmul.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fneg.d $drgh, $drf */
-  {
-    SH_INSN_FNEGD, "fnegd", "fneg.d", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fneg.s $frgh, $frf */
-  {
-    SH_INSN_FNEGS, "fnegs", "fneg.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fputscr $frgh */
-  {
-    SH_INSN_FPUTSCR, "fputscr", "fputscr", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fsqrt.d $drgh, $drf */
-  {
-    SH_INSN_FSQRTD, "fsqrtd", "fsqrt.d", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fsqrt.s $frgh, $frf */
-  {
-    SH_INSN_FSQRTS, "fsqrts", "fsqrt.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fst.d $rm, $disp10x8, $drf */
-  {
-    SH_INSN_FSTD, "fstd", "fst.d", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fst.p $rm, $disp10x8, $fpf */
-  {
-    SH_INSN_FSTP, "fstp", "fst.p", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fst.s $rm, $disp10x4, $frf */
-  {
-    SH_INSN_FSTS, "fsts", "fst.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fstx.d $rm, $rn, $drf */
-  {
-    SH_INSN_FSTXD, "fstxd", "fstx.d", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fstx.p $rm, $rn, $fpf */
-  {
-    SH_INSN_FSTXP, "fstxp", "fstx.p", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fstx.s $rm, $rn, $frf */
-  {
-    SH_INSN_FSTXS, "fstxs", "fstx.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fsub.d $drg, $drh, $drf */
-  {
-    SH_INSN_FSUBD, "fsubd", "fsub.d", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* fsub.s $frg, $frh, $frf */
-  {
-    SH_INSN_FSUBS, "fsubs", "fsub.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ftrc.dl $drgh, $frf */
-  {
-    SH_INSN_FTRCDL, "ftrcdl", "ftrc.dl", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ftrc.sl $frgh, $frf */
-  {
-    SH_INSN_FTRCSL, "ftrcsl", "ftrc.sl", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ftrc.dq $drgh, $drf */
-  {
-    SH_INSN_FTRCDQ, "ftrcdq", "ftrc.dq", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ftrc.sq $frgh, $drf */
-  {
-    SH_INSN_FTRCSQ, "ftrcsq", "ftrc.sq", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ftrv.s $mtrxg, $fvh, $fvf */
-  {
-    SH_INSN_FTRVS, "ftrvs", "ftrv.s", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* getcfg $rm, $disp6, $rd */
-  {
-    SH_INSN_GETCFG, "getcfg", "getcfg", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* getcon $crk, $rd */
-  {
-    SH_INSN_GETCON, "getcon", "getcon", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* gettr $trb, $rd */
-  {
-    SH_INSN_GETTR, "gettr", "gettr", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* icbi $rm, $disp6x32 */
-  {
-    SH_INSN_ICBI, "icbi", "icbi", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ld.b $rm, $disp10, $rd */
-  {
-    SH_INSN_LDB, "ldb", "ld.b", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ld.l $rm, $disp10x4, $rd */
-  {
-    SH_INSN_LDL, "ldl", "ld.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ld.q $rm, $disp10x8, $rd */
-  {
-    SH_INSN_LDQ, "ldq", "ld.q", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ld.ub $rm, $disp10, $rd */
-  {
-    SH_INSN_LDUB, "ldub", "ld.ub", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ld.uw $rm, $disp10x2, $rd */
-  {
-    SH_INSN_LDUW, "lduw", "ld.uw", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ld.w $rm, $disp10x2, $rd */
-  {
-    SH_INSN_LDW, "ldw", "ld.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ldhi.l $rm, $disp6, $rd */
-  {
-    SH_INSN_LDHIL, "ldhil", "ldhi.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ldhi.q $rm, $disp6, $rd */
-  {
-    SH_INSN_LDHIQ, "ldhiq", "ldhi.q", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ldlo.l $rm, $disp6, $rd */
-  {
-    SH_INSN_LDLOL, "ldlol", "ldlo.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ldlo.q $rm, $disp6, $rd */
-  {
-    SH_INSN_LDLOQ, "ldloq", "ldlo.q", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ldx.b $rm, $rn, $rd */
-  {
-    SH_INSN_LDXB, "ldxb", "ldx.b", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ldx.l $rm, $rn, $rd */
-  {
-    SH_INSN_LDXL, "ldxl", "ldx.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ldx.q $rm, $rn, $rd */
-  {
-    SH_INSN_LDXQ, "ldxq", "ldx.q", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ldx.ub $rm, $rn, $rd */
-  {
-    SH_INSN_LDXUB, "ldxub", "ldx.ub", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ldx.uw $rm, $rn, $rd */
-  {
-    SH_INSN_LDXUW, "ldxuw", "ldx.uw", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ldx.w $rm, $rn, $rd */
-  {
-    SH_INSN_LDXW, "ldxw", "ldx.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mabs.l $rm, $rd */
-  {
-    SH_INSN_MABSL, "mabsl", "mabs.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mabs.w $rm, $rd */
-  {
-    SH_INSN_MABSW, "mabsw", "mabs.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* madd.l $rm, $rn, $rd */
-  {
-    SH_INSN_MADDL, "maddl", "madd.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* madd.w $rm, $rn, $rd */
-  {
-    SH_INSN_MADDW, "maddw", "madd.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* madds.l $rm, $rn, $rd */
-  {
-    SH_INSN_MADDSL, "maddsl", "madds.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* madds.ub $rm, $rn, $rd */
-  {
-    SH_INSN_MADDSUB, "maddsub", "madds.ub", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* madds.w $rm, $rn, $rd */
-  {
-    SH_INSN_MADDSW, "maddsw", "madds.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mcmpeq.b $rm, $rn, $rd */
-  {
-    SH_INSN_MCMPEQB, "mcmpeqb", "mcmpeq.b", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mcmpeq.l $rm, $rn, $rd */
-  {
-    SH_INSN_MCMPEQL, "mcmpeql", "mcmpeq.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mcmpeq.w $rm, $rn, $rd */
-  {
-    SH_INSN_MCMPEQW, "mcmpeqw", "mcmpeq.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mcmpgt.l $rm, $rn, $rd */
-  {
-    SH_INSN_MCMPGTL, "mcmpgtl", "mcmpgt.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mcmpgt.ub $rm, $rn, $rd */
-  {
-    SH_INSN_MCMPGTUB, "mcmpgtub", "mcmpgt.ub", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mcmpgt.w $rm, $rn, $rd */
-  {
-    SH_INSN_MCMPGTW, "mcmpgtw", "mcmpgt.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mcmv $rm, $rn, $rd */
-  {
-    SH_INSN_MCMV, "mcmv", "mcmv", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mcnvs.lw $rm, $rn, $rd */
-  {
-    SH_INSN_MCNVSLW, "mcnvslw", "mcnvs.lw", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mcnvs.wb $rm, $rn, $rd */
-  {
-    SH_INSN_MCNVSWB, "mcnvswb", "mcnvs.wb", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mcnvs.wub $rm, $rn, $rd */
-  {
-    SH_INSN_MCNVSWUB, "mcnvswub", "mcnvs.wub", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mextr1 $rm, $rn, $rd */
-  {
-    SH_INSN_MEXTR1, "mextr1", "mextr1", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mextr2 $rm, $rn, $rd */
-  {
-    SH_INSN_MEXTR2, "mextr2", "mextr2", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mextr3 $rm, $rn, $rd */
-  {
-    SH_INSN_MEXTR3, "mextr3", "mextr3", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mextr4 $rm, $rn, $rd */
-  {
-    SH_INSN_MEXTR4, "mextr4", "mextr4", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mextr5 $rm, $rn, $rd */
-  {
-    SH_INSN_MEXTR5, "mextr5", "mextr5", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mextr6 $rm, $rn, $rd */
-  {
-    SH_INSN_MEXTR6, "mextr6", "mextr6", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mextr7 $rm, $rn, $rd */
-  {
-    SH_INSN_MEXTR7, "mextr7", "mextr7", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mmacfx.wl $rm, $rn, $rd */
-  {
-    SH_INSN_MMACFXWL, "mmacfxwl", "mmacfx.wl", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mmacnfx.wl $rm, $rn, $rd */
-  {
-    SH_INSN_MMACNFX_WL, "mmacnfx.wl", "mmacnfx.wl", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mmul.l $rm, $rn, $rd */
-  {
-    SH_INSN_MMULL, "mmull", "mmul.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mmul.w $rm, $rn, $rd */
-  {
-    SH_INSN_MMULW, "mmulw", "mmul.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mmulfx.l $rm, $rn, $rd */
-  {
-    SH_INSN_MMULFXL, "mmulfxl", "mmulfx.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mmulfx.w $rm, $rn, $rd */
-  {
-    SH_INSN_MMULFXW, "mmulfxw", "mmulfx.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mmulfxrp.w $rm, $rn, $rd */
-  {
-    SH_INSN_MMULFXRPW, "mmulfxrpw", "mmulfxrp.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mmulhi.wl $rm, $rn, $rd */
-  {
-    SH_INSN_MMULHIWL, "mmulhiwl", "mmulhi.wl", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mmullo.wl $rm, $rn, $rd */
-  {
-    SH_INSN_MMULLOWL, "mmullowl", "mmullo.wl", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mmulsum.wq $rm, $rn, $rd */
-  {
-    SH_INSN_MMULSUMWQ, "mmulsumwq", "mmulsum.wq", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* movi $imm16, $rd */
-  {
-    SH_INSN_MOVI, "movi", "movi", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mperm.w $rm, $rn, $rd */
-  {
-    SH_INSN_MPERMW, "mpermw", "mperm.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* msad.ubq $rm, $rn, $rd */
-  {
-    SH_INSN_MSADUBQ, "msadubq", "msad.ubq", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mshalds.l $rm, $rn, $rd */
-  {
-    SH_INSN_MSHALDSL, "mshaldsl", "mshalds.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mshalds.w $rm, $rn, $rd */
-  {
-    SH_INSN_MSHALDSW, "mshaldsw", "mshalds.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mshard.l $rm, $rn, $rd */
-  {
-    SH_INSN_MSHARDL, "mshardl", "mshard.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mshard.w $rm, $rn, $rd */
-  {
-    SH_INSN_MSHARDW, "mshardw", "mshard.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mshards.q $rm, $rn, $rd */
-  {
-    SH_INSN_MSHARDSQ, "mshardsq", "mshards.q", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mshfhi.b $rm, $rn, $rd */
-  {
-    SH_INSN_MSHFHIB, "mshfhib", "mshfhi.b", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mshfhi.l $rm, $rn, $rd */
-  {
-    SH_INSN_MSHFHIL, "mshfhil", "mshfhi.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mshfhi.w $rm, $rn, $rd */
-  {
-    SH_INSN_MSHFHIW, "mshfhiw", "mshfhi.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mshflo.b $rm, $rn, $rd */
-  {
-    SH_INSN_MSHFLOB, "mshflob", "mshflo.b", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mshflo.l $rm, $rn, $rd */
-  {
-    SH_INSN_MSHFLOL, "mshflol", "mshflo.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mshflo.w $rm, $rn, $rd */
-  {
-    SH_INSN_MSHFLOW, "mshflow", "mshflo.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mshlld.l $rm, $rn, $rd */
-  {
-    SH_INSN_MSHLLDL, "mshlldl", "mshlld.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mshlld.w $rm, $rn, $rd */
-  {
-    SH_INSN_MSHLLDW, "mshlldw", "mshlld.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mshlrd.l $rm, $rn, $rd */
-  {
-    SH_INSN_MSHLRDL, "mshlrdl", "mshlrd.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mshlrd.w $rm, $rn, $rd */
-  {
-    SH_INSN_MSHLRDW, "mshlrdw", "mshlrd.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* msub.l $rm, $rn, $rd */
-  {
-    SH_INSN_MSUBL, "msubl", "msub.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* msub.w $rm, $rn, $rd */
-  {
-    SH_INSN_MSUBW, "msubw", "msub.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* msubs.l $rm, $rn, $rd */
-  {
-    SH_INSN_MSUBSL, "msubsl", "msubs.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* msubs.ub $rm, $rn, $rd */
-  {
-    SH_INSN_MSUBSUB, "msubsub", "msubs.ub", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* msubs.w $rm, $rn, $rd */
-  {
-    SH_INSN_MSUBSW, "msubsw", "msubs.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* muls.l $rm, $rn, $rd */
-  {
-    SH_INSN_MULSL, "mulsl", "muls.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* mulu.l $rm, $rn, $rd */
-  {
-    SH_INSN_MULUL, "mulul", "mulu.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* nop */
-  {
-    SH_INSN_NOP, "nop", "nop", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* nsb $rm, $rd */
-  {
-    SH_INSN_NSB, "nsb", "nsb", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ocbi $rm, $disp6x32 */
-  {
-    SH_INSN_OCBI, "ocbi", "ocbi", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ocbp $rm, $disp6x32 */
-  {
-    SH_INSN_OCBP, "ocbp", "ocbp", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ocbwb $rm, $disp6x32 */
-  {
-    SH_INSN_OCBWB, "ocbwb", "ocbwb", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* or $rm, $rn, $rd */
-  {
-    SH_INSN_OR, "or", "or", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ori $rm, $imm10, $rd */
-  {
-    SH_INSN_ORI, "ori", "ori", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* prefi $rm, $disp6x32 */
-  {
-    SH_INSN_PREFI, "prefi", "prefi", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* pta$likely $disp16, $tra */
-  {
-    SH_INSN_PTA, "pta", "pta", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ptabs$likely $rn, $tra */
-  {
-    SH_INSN_PTABS, "ptabs", "ptabs", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ptb$likely $disp16, $tra */
-  {
-    SH_INSN_PTB, "ptb", "ptb", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* ptrel$likely $rn, $tra */
-  {
-    SH_INSN_PTREL, "ptrel", "ptrel", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* putcfg $rm, $disp6, $rd */
-  {
-    SH_INSN_PUTCFG, "putcfg", "putcfg", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* putcon $rm, $crj */
-  {
-    SH_INSN_PUTCON, "putcon", "putcon", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* rte */
-  {
-    SH_INSN_RTE, "rte", "rte", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* shard $rm, $rn, $rd */
-  {
-    SH_INSN_SHARD, "shard", "shard", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* shard.l $rm, $rn, $rd */
-  {
-    SH_INSN_SHARDL, "shardl", "shard.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* shari $rm, $uimm6, $rd */
-  {
-    SH_INSN_SHARI, "shari", "shari", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* shari.l $rm, $uimm6, $rd */
-  {
-    SH_INSN_SHARIL, "sharil", "shari.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* shlld $rm, $rn, $rd */
-  {
-    SH_INSN_SHLLD, "shlld", "shlld", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* shlld.l $rm, $rn, $rd */
-  {
-    SH_INSN_SHLLDL, "shlldl", "shlld.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* shlli $rm, $uimm6, $rd */
-  {
-    SH_INSN_SHLLI, "shlli", "shlli", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* shlli.l $rm, $uimm6, $rd */
-  {
-    SH_INSN_SHLLIL, "shllil", "shlli.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* shlrd $rm, $rn, $rd */
-  {
-    SH_INSN_SHLRD, "shlrd", "shlrd", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* shlrd.l $rm, $rn, $rd */
-  {
-    SH_INSN_SHLRDL, "shlrdl", "shlrd.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* shlri $rm, $uimm6, $rd */
-  {
-    SH_INSN_SHLRI, "shlri", "shlri", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* shlri.l $rm, $uimm6, $rd */
-  {
-    SH_INSN_SHLRIL, "shlril", "shlri.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* shori $uimm16, $rd */
-  {
-    SH_INSN_SHORI, "shori", "shori", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* sleep */
-  {
-    SH_INSN_SLEEP, "sleep", "sleep", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* st.b $rm, $disp10, $rd */
-  {
-    SH_INSN_STB, "stb", "st.b", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* st.l $rm, $disp10x4, $rd */
-  {
-    SH_INSN_STL, "stl", "st.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* st.q $rm, $disp10x8, $rd */
-  {
-    SH_INSN_STQ, "stq", "st.q", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* st.w $rm, $disp10x2, $rd */
-  {
-    SH_INSN_STW, "stw", "st.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* sthi.l $rm, $disp6, $rd */
-  {
-    SH_INSN_STHIL, "sthil", "sthi.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* sthi.q $rm, $disp6, $rd */
-  {
-    SH_INSN_STHIQ, "sthiq", "sthi.q", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* stlo.l $rm, $disp6, $rd */
-  {
-    SH_INSN_STLOL, "stlol", "stlo.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* stlo.q $rm, $disp6, $rd */
-  {
-    SH_INSN_STLOQ, "stloq", "stlo.q", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* stx.b $rm, $rn, $rd */
-  {
-    SH_INSN_STXB, "stxb", "stx.b", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* stx.l $rm, $rn, $rd */
-  {
-    SH_INSN_STXL, "stxl", "stx.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* stx.q $rm, $rn, $rd */
-  {
-    SH_INSN_STXQ, "stxq", "stx.q", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* stx.w $rm, $rn, $rd */
-  {
-    SH_INSN_STXW, "stxw", "stx.w", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* sub $rm, $rn, $rd */
-  {
-    SH_INSN_SUB, "sub", "sub", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* sub.l $rm, $rn, $rd */
-  {
-    SH_INSN_SUBL, "subl", "sub.l", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* swap.q $rm, $rn, $rd */
-  {
-    SH_INSN_SWAPQ, "swapq", "swap.q", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* synci */
-  {
-    SH_INSN_SYNCI, "synci", "synci", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* synco */
-  {
-    SH_INSN_SYNCO, "synco", "synco", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* trapa $rm */
-  {
-    SH_INSN_TRAPA, "trapa", "trapa", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* xor $rm, $rn, $rd */
-  {
-    SH_INSN_XOR, "xor", "xor", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-/* xori $rm, $imm6, $rd */
-  {
-    SH_INSN_XORI, "xori", "xori", 32,
-    { 0, { { { (1<<MACH_BASE), 0 } }, { { 1, "\x40" } }, { { SH4_GROUP_NONE, 0 } }, { { SH4A_GROUP_NONE, 0 } } } }
-  },
-};
-
-#undef OP
-#undef A
-
-/* Initialize anything needed to be done once, before any cpu_open call.  */
-
-static void
-init_tables (void)
-{
-}
-
-static const CGEN_MACH * lookup_mach_via_bfd_name (const CGEN_MACH *, const char *);
-static void build_hw_table      (CGEN_CPU_TABLE *);
-static void build_ifield_table  (CGEN_CPU_TABLE *);
-static void build_operand_table (CGEN_CPU_TABLE *);
-static void build_insn_table    (CGEN_CPU_TABLE *);
-static void sh_cgen_rebuild_tables (CGEN_CPU_TABLE *);
-
-/* Subroutine of sh_cgen_cpu_open to look up a mach via its bfd name.  */
-
-static const CGEN_MACH *
-lookup_mach_via_bfd_name (const CGEN_MACH *table, const char *name)
-{
-  while (table->name)
-    {
-      if (strcmp (name, table->bfd_name) == 0)
-       return table;
-      ++table;
-    }
-  abort ();
-}
-
-/* Subroutine of sh_cgen_cpu_open to build the hardware table.  */
-
-static void
-build_hw_table (CGEN_CPU_TABLE *cd)
-{
-  int i;
-  int machs = cd->machs;
-  const CGEN_HW_ENTRY *init = & sh_cgen_hw_table[0];
-  /* MAX_HW is only an upper bound on the number of selected entries.
-     However each entry is indexed by it's enum so there can be holes in
-     the table.  */
-  const CGEN_HW_ENTRY **selected =
-    (const CGEN_HW_ENTRY **) xmalloc (MAX_HW * sizeof (CGEN_HW_ENTRY *));
-
-  cd->hw_table.init_entries = init;
-  cd->hw_table.entry_size = sizeof (CGEN_HW_ENTRY);
-  memset (selected, 0, MAX_HW * sizeof (CGEN_HW_ENTRY *));
-  /* ??? For now we just use machs to determine which ones we want.  */
-  for (i = 0; init[i].name != NULL; ++i)
-    if (CGEN_HW_ATTR_VALUE (&init[i], CGEN_HW_MACH)
-       & machs)
-      selected[init[i].type] = &init[i];
-  cd->hw_table.entries = selected;
-  cd->hw_table.num_entries = MAX_HW;
-}
-
-/* Subroutine of sh_cgen_cpu_open to build the hardware table.  */
-
-static void
-build_ifield_table (CGEN_CPU_TABLE *cd)
-{
-  cd->ifld_table = & sh_cgen_ifld_table[0];
-}
-
-/* Subroutine of sh_cgen_cpu_open to build the hardware table.  */
-
-static void
-build_operand_table (CGEN_CPU_TABLE *cd)
-{
-  int i;
-  int machs = cd->machs;
-  const CGEN_OPERAND *init = & sh_cgen_operand_table[0];
-  /* MAX_OPERANDS is only an upper bound on the number of selected entries.
-     However each entry is indexed by it's enum so there can be holes in
-     the table.  */
-  const CGEN_OPERAND **selected = xmalloc (MAX_OPERANDS * sizeof (* selected));
-
-  cd->operand_table.init_entries = init;
-  cd->operand_table.entry_size = sizeof (CGEN_OPERAND);
-  memset (selected, 0, MAX_OPERANDS * sizeof (CGEN_OPERAND *));
-  /* ??? For now we just use mach to determine which ones we want.  */
-  for (i = 0; init[i].name != NULL; ++i)
-    if (CGEN_OPERAND_ATTR_VALUE (&init[i], CGEN_OPERAND_MACH)
-       & machs)
-      selected[init[i].type] = &init[i];
-  cd->operand_table.entries = selected;
-  cd->operand_table.num_entries = MAX_OPERANDS;
-}
-
-/* Subroutine of sh_cgen_cpu_open to build the hardware table.
-   ??? This could leave out insns not supported by the specified mach/isa,
-   but that would cause errors like "foo only supported by bar" to become
-   "unknown insn", so for now we include all insns and require the app to
-   do the checking later.
-   ??? On the other hand, parsing of such insns may require their hardware or
-   operand elements to be in the table [which they mightn't be].  */
-
-static void
-build_insn_table (CGEN_CPU_TABLE *cd)
-{
-  int i;
-  const CGEN_IBASE *ib = & sh_cgen_insn_table[0];
-  CGEN_INSN *insns = xmalloc (MAX_INSNS * sizeof (CGEN_INSN));
-
-  memset (insns, 0, MAX_INSNS * sizeof (CGEN_INSN));
-  for (i = 0; i < MAX_INSNS; ++i)
-    insns[i].base = &ib[i];
-  cd->insn_table.init_entries = insns;
-  cd->insn_table.entry_size = sizeof (CGEN_IBASE);
-  cd->insn_table.num_init_entries = MAX_INSNS;
-}
-
-/* Subroutine of sh_cgen_cpu_open to rebuild the tables.  */
-
-static void
-sh_cgen_rebuild_tables (CGEN_CPU_TABLE *cd)
-{
-  int i;
-  CGEN_BITSET *isas = cd->isas;
-  unsigned int machs = cd->machs;
-
-  cd->int_insn_p = CGEN_INT_INSN_P;
-
-  /* Data derived from the isa spec.  */
-#define UNSET (CGEN_SIZE_UNKNOWN + 1)
-  cd->default_insn_bitsize = UNSET;
-  cd->base_insn_bitsize = UNSET;
-  cd->min_insn_bitsize = 65535; /* Some ridiculously big number.  */
-  cd->max_insn_bitsize = 0;
-  for (i = 0; i < MAX_ISAS; ++i)
-    if (cgen_bitset_contains (isas, i))
-      {
-       const CGEN_ISA *isa = & sh_cgen_isa_table[i];
-
-       /* Default insn sizes of all selected isas must be
-          equal or we set the result to 0, meaning "unknown".  */
-       if (cd->default_insn_bitsize == UNSET)
-         cd->default_insn_bitsize = isa->default_insn_bitsize;
-       else if (isa->default_insn_bitsize == cd->default_insn_bitsize)
-         ; /* This is ok.  */
-       else
-         cd->default_insn_bitsize = CGEN_SIZE_UNKNOWN;
-
-       /* Base insn sizes of all selected isas must be equal
-          or we set the result to 0, meaning "unknown".  */
-       if (cd->base_insn_bitsize == UNSET)
-         cd->base_insn_bitsize = isa->base_insn_bitsize;
-       else if (isa->base_insn_bitsize == cd->base_insn_bitsize)
-         ; /* This is ok.  */
-       else
-         cd->base_insn_bitsize = CGEN_SIZE_UNKNOWN;
-
-       /* Set min,max insn sizes.  */
-       if (isa->min_insn_bitsize < cd->min_insn_bitsize)
-         cd->min_insn_bitsize = isa->min_insn_bitsize;
-       if (isa->max_insn_bitsize > cd->max_insn_bitsize)
-         cd->max_insn_bitsize = isa->max_insn_bitsize;
-      }
-
-  /* Data derived from the mach spec.  */
-  for (i = 0; i < MAX_MACHS; ++i)
-    if (((1 << i) & machs) != 0)
-      {
-       const CGEN_MACH *mach = & sh_cgen_mach_table[i];
-
-       if (mach->insn_chunk_bitsize != 0)
-       {
-         if (cd->insn_chunk_bitsize != 0 && cd->insn_chunk_bitsize != mach->insn_chunk_bitsize)
-           {
-             fprintf (stderr, "sh_cgen_rebuild_tables: conflicting insn-chunk-bitsize values: `%d' vs. `%d'\n",
-                      cd->insn_chunk_bitsize, mach->insn_chunk_bitsize);
-             abort ();
-           }
-
-         cd->insn_chunk_bitsize = mach->insn_chunk_bitsize;
-       }
-      }
-
-  /* Determine which hw elements are used by MACH.  */
-  build_hw_table (cd);
-
-  /* Build the ifield table.  */
-  build_ifield_table (cd);
-
-  /* Determine which operands are used by MACH/ISA.  */
-  build_operand_table (cd);
-
-  /* Build the instruction table.  */
-  build_insn_table (cd);
-}
-
-/* Initialize a cpu table and return a descriptor.
-   It's much like opening a file, and must be the first function called.
-   The arguments are a set of (type/value) pairs, terminated with
-   CGEN_CPU_OPEN_END.
-
-   Currently supported values:
-   CGEN_CPU_OPEN_ISAS:    bitmap of values in enum isa_attr
-   CGEN_CPU_OPEN_MACHS:   bitmap of values in enum mach_attr
-   CGEN_CPU_OPEN_BFDMACH: specify 1 mach using bfd name
-   CGEN_CPU_OPEN_ENDIAN:  specify endian choice
-   CGEN_CPU_OPEN_END:     terminates arguments
-
-   ??? Simultaneous multiple isas might not make sense, but it's not (yet)
-   precluded.  */
-
-CGEN_CPU_DESC
-sh_cgen_cpu_open (enum cgen_cpu_open_arg arg_type, ...)
-{
-  CGEN_CPU_TABLE *cd = (CGEN_CPU_TABLE *) xmalloc (sizeof (CGEN_CPU_TABLE));
-  static int init_p;
-  CGEN_BITSET *isas = 0;  /* 0 = "unspecified" */
-  unsigned int machs = 0; /* 0 = "unspecified" */
-  enum cgen_endian endian = CGEN_ENDIAN_UNKNOWN;
-  va_list ap;
-
-  if (! init_p)
-    {
-      init_tables ();
-      init_p = 1;
-    }
-
-  memset (cd, 0, sizeof (*cd));
-
-  va_start (ap, arg_type);
-  while (arg_type != CGEN_CPU_OPEN_END)
-    {
-      switch (arg_type)
-       {
-       case CGEN_CPU_OPEN_ISAS :
-         isas = va_arg (ap, CGEN_BITSET *);
-         break;
-       case CGEN_CPU_OPEN_MACHS :
-         machs = va_arg (ap, unsigned int);
-         break;
-       case CGEN_CPU_OPEN_BFDMACH :
-         {
-           const char *name = va_arg (ap, const char *);
-           const CGEN_MACH *mach =
-             lookup_mach_via_bfd_name (sh_cgen_mach_table, name);
-
-           machs |= 1 << mach->num;
-           break;
-         }
-       case CGEN_CPU_OPEN_ENDIAN :
-         endian = va_arg (ap, enum cgen_endian);
-         break;
-       default :
-         fprintf (stderr, "sh_cgen_cpu_open: unsupported argument `%d'\n",
-                  arg_type);
-         abort (); /* ??? return NULL? */
-       }
-      arg_type = va_arg (ap, enum cgen_cpu_open_arg);
-    }
-  va_end (ap);
-
-  /* Mach unspecified means "all".  */
-  if (machs == 0)
-    machs = (1 << MAX_MACHS) - 1;
-  /* Base mach is always selected.  */
-  machs |= 1;
-  if (endian == CGEN_ENDIAN_UNKNOWN)
-    {
-      /* ??? If target has only one, could have a default.  */
-      fprintf (stderr, "sh_cgen_cpu_open: no endianness specified\n");
-      abort ();
-    }
-
-  cd->isas = cgen_bitset_copy (isas);
-  cd->machs = machs;
-  cd->endian = endian;
-  /* FIXME: for the sparc case we can determine insn-endianness statically.
-     The worry here is where both data and insn endian can be independently
-     chosen, in which case this function will need another argument.
-     Actually, will want to allow for more arguments in the future anyway.  */
-  cd->insn_endian = endian;
-
-  /* Table (re)builder.  */
-  cd->rebuild_tables = sh_cgen_rebuild_tables;
-  sh_cgen_rebuild_tables (cd);
-
-  /* Default to not allowing signed overflow.  */
-  cd->signed_overflow_ok_p = 0;
-  
-  return (CGEN_CPU_DESC) cd;
-}
-
-/* Cover fn to sh_cgen_cpu_open to handle the simple case of 1 isa, 1 mach.
-   MACH_NAME is the bfd name of the mach.  */
-
-CGEN_CPU_DESC
-sh_cgen_cpu_open_1 (const char *mach_name, enum cgen_endian endian)
-{
-  return sh_cgen_cpu_open (CGEN_CPU_OPEN_BFDMACH, mach_name,
-                              CGEN_CPU_OPEN_ENDIAN, endian,
-                              CGEN_CPU_OPEN_END);
-}
-
-/* Close a cpu table.
-   ??? This can live in a machine independent file, but there's currently
-   no place to put this file (there's no libcgen).  libopcodes is the wrong
-   place as some simulator ports use this but they don't use libopcodes.  */
-
-void
-sh_cgen_cpu_close (CGEN_CPU_DESC cd)
-{
-  unsigned int i;
-  const CGEN_INSN *insns;
-
-  if (cd->macro_insn_table.init_entries)
-    {
-      insns = cd->macro_insn_table.init_entries;
-      for (i = 0; i < cd->macro_insn_table.num_init_entries; ++i, ++insns)
-       if (CGEN_INSN_RX ((insns)))
-         regfree (CGEN_INSN_RX (insns));
-    }
-
-  if (cd->insn_table.init_entries)
-    {
-      insns = cd->insn_table.init_entries;
-      for (i = 0; i < cd->insn_table.num_init_entries; ++i, ++insns)
-       if (CGEN_INSN_RX (insns))
-         regfree (CGEN_INSN_RX (insns));
-    }  
-
-  if (cd->macro_insn_table.init_entries)
-    free ((CGEN_INSN *) cd->macro_insn_table.init_entries);
-
-  if (cd->insn_table.init_entries)
-    free ((CGEN_INSN *) cd->insn_table.init_entries);
-
-  if (cd->hw_table.entries)
-    free ((CGEN_HW_ENTRY *) cd->hw_table.entries);
-
-  if (cd->operand_table.entries)
-    free ((CGEN_HW_ENTRY *) cd->operand_table.entries);
-
-  free (cd);
-}
-
diff --git a/sim/sh64/sh-desc.h b/sim/sh64/sh-desc.h
deleted file mode 100644 (file)
index 5cd5c1c..0000000
+++ /dev/null
@@ -1,315 +0,0 @@
-/* CPU data header for sh.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996-2021 Free Software Foundation, Inc.
-
-This file is part of the GNU Binutils and/or GDB, the GNU debugger.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   It 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 SH_CPU_H
-#define SH_CPU_H
-
-#define CGEN_ARCH sh
-
-/* Given symbol S, return sh_cgen_<S>.  */
-#define CGEN_SYM(s) sh##_cgen_##s
-
-
-/* Selected cpu families.  */
-#define HAVE_CPU_SH64
-
-#define CGEN_INSN_LSB0_P 0
-
-/* Minimum size of any insn (in bytes).  */
-#define CGEN_MIN_INSN_SIZE 2
-
-/* Maximum size of any insn (in bytes).  */
-#define CGEN_MAX_INSN_SIZE 4
-
-#define CGEN_INT_INSN_P 1
-
-/* Maximum number of syntax elements in an instruction.  */
-#define CGEN_ACTUAL_MAX_SYNTAX_ELEMENTS 22
-
-/* CGEN_MNEMONIC_OPERANDS is defined if mnemonics have operands.
-   e.g. In "b,a foo" the ",a" is an operand.  If mnemonics have operands
-   we can't hash on everything up to the space.  */
-#define CGEN_MNEMONIC_OPERANDS
-
-/* Maximum number of fields in an instruction.  */
-#define CGEN_ACTUAL_MAX_IFMT_OPERANDS 8
-
-/* Enums.  */
-
-/* Enum declaration for .  */
-typedef enum frc_names {
-  H_FRC_FR0, H_FRC_FR1, H_FRC_FR2, H_FRC_FR3
- , H_FRC_FR4, H_FRC_FR5, H_FRC_FR6, H_FRC_FR7
- , H_FRC_FR8, H_FRC_FR9, H_FRC_FR10, H_FRC_FR11
- , H_FRC_FR12, H_FRC_FR13, H_FRC_FR14, H_FRC_FR15
-} FRC_NAMES;
-
-/* Enum declaration for .  */
-typedef enum drc_names {
-  H_DRC_DR0 = 0, H_DRC_DR2 = 2, H_DRC_DR4 = 4, H_DRC_DR6 = 6
- , H_DRC_DR8 = 8, H_DRC_DR10 = 10, H_DRC_DR12 = 12, H_DRC_DR14 = 14
-} DRC_NAMES;
-
-/* Enum declaration for .  */
-typedef enum xf_names {
-  H_XF_XF0, H_XF_XF1, H_XF_XF2, H_XF_XF3
- , H_XF_XF4, H_XF_XF5, H_XF_XF6, H_XF_XF7
- , H_XF_XF8, H_XF_XF9, H_XF_XF10, H_XF_XF11
- , H_XF_XF12, H_XF_XF13, H_XF_XF14, H_XF_XF15
-} XF_NAMES;
-
-/* Attributes.  */
-
-/* Enum declaration for machine type selection.  */
-typedef enum mach_attr {
-  MACH_BASE, MACH_SH2, MACH_SH2E, MACH_SH2A_FPU
- , MACH_SH2A_NOFPU, MACH_SH3, MACH_SH3E, MACH_SH4_NOFPU
- , MACH_SH4, MACH_SH4A_NOFPU, MACH_SH4A, MACH_SH4AL
- , MACH_SH5, MACH_MAX
-} MACH_ATTR;
-
-/* Enum declaration for instruction set selection.  */
-typedef enum isa_attr {
-  ISA_COMPACT, ISA_MEDIA, ISA_MAX
-} ISA_ATTR;
-
-/* Enum declaration for sh4 insn groups.  */
-typedef enum sh4_group_attr {
-  SH4_GROUP_NONE, SH4_GROUP_MT, SH4_GROUP_EX, SH4_GROUP_BR
- , SH4_GROUP_LS, SH4_GROUP_FE, SH4_GROUP_CO, SH4_GROUP_MAX
-} SH4_GROUP_ATTR;
-
-/* Enum declaration for sh4a insn groups.  */
-typedef enum sh4a_group_attr {
-  SH4A_GROUP_NONE, SH4A_GROUP_MT, SH4A_GROUP_EX, SH4A_GROUP_BR
- , SH4A_GROUP_LS, SH4A_GROUP_FE, SH4A_GROUP_CO, SH4A_GROUP_MAX
-} SH4A_GROUP_ATTR;
-
-/* Number of architecture variants.  */
-#define MAX_ISAS  ((int) ISA_MAX)
-#define MAX_MACHS ((int) MACH_MAX)
-
-/* Ifield support.  */
-
-/* Ifield attribute indices.  */
-
-/* Enum declaration for cgen_ifld attrs.  */
-typedef enum cgen_ifld_attr {
-  CGEN_IFLD_VIRTUAL, CGEN_IFLD_PCREL_ADDR, CGEN_IFLD_ABS_ADDR, CGEN_IFLD_RESERVED
- , CGEN_IFLD_SIGN_OPT, CGEN_IFLD_SIGNED, CGEN_IFLD_END_BOOLS, CGEN_IFLD_START_NBOOLS = 31
- , CGEN_IFLD_MACH, CGEN_IFLD_ISA, CGEN_IFLD_END_NBOOLS
-} CGEN_IFLD_ATTR;
-
-/* Number of non-boolean elements in cgen_ifld_attr.  */
-#define CGEN_IFLD_NBOOL_ATTRS (CGEN_IFLD_END_NBOOLS - CGEN_IFLD_START_NBOOLS - 1)
-
-/* cgen_ifld attribute accessor macros.  */
-#define CGEN_ATTR_CGEN_IFLD_MACH_VALUE(attrs) ((attrs)->nonbool[CGEN_IFLD_MACH-CGEN_IFLD_START_NBOOLS-1].nonbitset)
-#define CGEN_ATTR_CGEN_IFLD_ISA_VALUE(attrs) ((attrs)->nonbool[CGEN_IFLD_ISA-CGEN_IFLD_START_NBOOLS-1].bitset)
-#define CGEN_ATTR_CGEN_IFLD_VIRTUAL_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_IFLD_VIRTUAL)) != 0)
-#define CGEN_ATTR_CGEN_IFLD_PCREL_ADDR_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_IFLD_PCREL_ADDR)) != 0)
-#define CGEN_ATTR_CGEN_IFLD_ABS_ADDR_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_IFLD_ABS_ADDR)) != 0)
-#define CGEN_ATTR_CGEN_IFLD_RESERVED_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_IFLD_RESERVED)) != 0)
-#define CGEN_ATTR_CGEN_IFLD_SIGN_OPT_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_IFLD_SIGN_OPT)) != 0)
-#define CGEN_ATTR_CGEN_IFLD_SIGNED_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_IFLD_SIGNED)) != 0)
-
-/* Enum declaration for sh ifield types.  */
-typedef enum ifield_type {
-  SH_F_NIL, SH_F_ANYOF, SH_F_OP4, SH_F_OP8
- , SH_F_OP16, SH_F_SUB4, SH_F_SUB8, SH_F_SUB10
- , SH_F_RN, SH_F_RM, SH_F_7_1, SH_F_11_1
- , SH_F_16_4, SH_F_DISP8, SH_F_DISP12, SH_F_IMM8
- , SH_F_IMM4, SH_F_IMM4X2, SH_F_IMM4X4, SH_F_IMM8X2
- , SH_F_IMM8X4, SH_F_IMM12X4, SH_F_IMM12X8, SH_F_DN
- , SH_F_DM, SH_F_VN, SH_F_VM, SH_F_XN
- , SH_F_XM, SH_F_IMM20_HI, SH_F_IMM20_LO, SH_F_IMM20
- , SH_F_OP, SH_F_EXT, SH_F_RSVD, SH_F_LEFT
- , SH_F_RIGHT, SH_F_DEST, SH_F_LEFT_RIGHT, SH_F_TRA
- , SH_F_TRB, SH_F_LIKELY, SH_F_6_3, SH_F_23_2
- , SH_F_IMM6, SH_F_IMM10, SH_F_IMM16, SH_F_UIMM6
- , SH_F_UIMM16, SH_F_DISP6, SH_F_DISP6X32, SH_F_DISP10
- , SH_F_DISP10X8, SH_F_DISP10X4, SH_F_DISP10X2, SH_F_DISP16
- , SH_F_MAX
-} IFIELD_TYPE;
-
-#define MAX_IFLD ((int) SH_F_MAX)
-
-/* Hardware attribute indices.  */
-
-/* Enum declaration for cgen_hw attrs.  */
-typedef enum cgen_hw_attr {
-  CGEN_HW_VIRTUAL, CGEN_HW_CACHE_ADDR, CGEN_HW_PC, CGEN_HW_PROFILE
- , CGEN_HW_END_BOOLS, CGEN_HW_START_NBOOLS = 31, CGEN_HW_MACH, CGEN_HW_ISA
- , CGEN_HW_END_NBOOLS
-} CGEN_HW_ATTR;
-
-/* Number of non-boolean elements in cgen_hw_attr.  */
-#define CGEN_HW_NBOOL_ATTRS (CGEN_HW_END_NBOOLS - CGEN_HW_START_NBOOLS - 1)
-
-/* cgen_hw attribute accessor macros.  */
-#define CGEN_ATTR_CGEN_HW_MACH_VALUE(attrs) ((attrs)->nonbool[CGEN_HW_MACH-CGEN_HW_START_NBOOLS-1].nonbitset)
-#define CGEN_ATTR_CGEN_HW_ISA_VALUE(attrs) ((attrs)->nonbool[CGEN_HW_ISA-CGEN_HW_START_NBOOLS-1].bitset)
-#define CGEN_ATTR_CGEN_HW_VIRTUAL_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_HW_VIRTUAL)) != 0)
-#define CGEN_ATTR_CGEN_HW_CACHE_ADDR_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_HW_CACHE_ADDR)) != 0)
-#define CGEN_ATTR_CGEN_HW_PC_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_HW_PC)) != 0)
-#define CGEN_ATTR_CGEN_HW_PROFILE_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_HW_PROFILE)) != 0)
-
-/* Enum declaration for sh hardware types.  */
-typedef enum cgen_hw_type {
-  HW_H_MEMORY, HW_H_SINT, HW_H_UINT, HW_H_ADDR
- , HW_H_IADDR, HW_H_PC, HW_H_GR, HW_H_GRC
- , HW_H_CR, HW_H_SR, HW_H_FPSCR, HW_H_FRBIT
- , HW_H_SZBIT, HW_H_PRBIT, HW_H_SBIT, HW_H_MBIT
- , HW_H_QBIT, HW_H_FR, HW_H_FP, HW_H_FV
- , HW_H_FMTX, HW_H_DR, HW_H_FSD, HW_H_FMOV
- , HW_H_TR, HW_H_ENDIAN, HW_H_ISM, HW_H_FRC
- , HW_H_DRC, HW_H_XF, HW_H_XD, HW_H_FVC
- , HW_H_GBR, HW_H_VBR, HW_H_PR, HW_H_MACL
- , HW_H_MACH, HW_H_TBIT, HW_MAX
-} CGEN_HW_TYPE;
-
-#define MAX_HW ((int) HW_MAX)
-
-/* Operand attribute indices.  */
-
-/* Enum declaration for cgen_operand attrs.  */
-typedef enum cgen_operand_attr {
-  CGEN_OPERAND_VIRTUAL, CGEN_OPERAND_PCREL_ADDR, CGEN_OPERAND_ABS_ADDR, CGEN_OPERAND_SIGN_OPT
- , CGEN_OPERAND_SIGNED, CGEN_OPERAND_NEGATIVE, CGEN_OPERAND_RELAX, CGEN_OPERAND_SEM_ONLY
- , CGEN_OPERAND_END_BOOLS, CGEN_OPERAND_START_NBOOLS = 31, CGEN_OPERAND_MACH, CGEN_OPERAND_ISA
- , CGEN_OPERAND_END_NBOOLS
-} CGEN_OPERAND_ATTR;
-
-/* Number of non-boolean elements in cgen_operand_attr.  */
-#define CGEN_OPERAND_NBOOL_ATTRS (CGEN_OPERAND_END_NBOOLS - CGEN_OPERAND_START_NBOOLS - 1)
-
-/* cgen_operand attribute accessor macros.  */
-#define CGEN_ATTR_CGEN_OPERAND_MACH_VALUE(attrs) ((attrs)->nonbool[CGEN_OPERAND_MACH-CGEN_OPERAND_START_NBOOLS-1].nonbitset)
-#define CGEN_ATTR_CGEN_OPERAND_ISA_VALUE(attrs) ((attrs)->nonbool[CGEN_OPERAND_ISA-CGEN_OPERAND_START_NBOOLS-1].bitset)
-#define CGEN_ATTR_CGEN_OPERAND_VIRTUAL_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_OPERAND_VIRTUAL)) != 0)
-#define CGEN_ATTR_CGEN_OPERAND_PCREL_ADDR_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_OPERAND_PCREL_ADDR)) != 0)
-#define CGEN_ATTR_CGEN_OPERAND_ABS_ADDR_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_OPERAND_ABS_ADDR)) != 0)
-#define CGEN_ATTR_CGEN_OPERAND_SIGN_OPT_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_OPERAND_SIGN_OPT)) != 0)
-#define CGEN_ATTR_CGEN_OPERAND_SIGNED_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_OPERAND_SIGNED)) != 0)
-#define CGEN_ATTR_CGEN_OPERAND_NEGATIVE_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_OPERAND_NEGATIVE)) != 0)
-#define CGEN_ATTR_CGEN_OPERAND_RELAX_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_OPERAND_RELAX)) != 0)
-#define CGEN_ATTR_CGEN_OPERAND_SEM_ONLY_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_OPERAND_SEM_ONLY)) != 0)
-
-/* Enum declaration for sh operand types.  */
-typedef enum cgen_operand_type {
-  SH_OPERAND_PC, SH_OPERAND_ENDIAN, SH_OPERAND_ISM, SH_OPERAND_RM
- , SH_OPERAND_RN, SH_OPERAND_R0, SH_OPERAND_FRN, SH_OPERAND_FRM
- , SH_OPERAND_FR0, SH_OPERAND_FMOVN, SH_OPERAND_FMOVM, SH_OPERAND_FVN
- , SH_OPERAND_FVM, SH_OPERAND_DRN, SH_OPERAND_DRM, SH_OPERAND_IMM4
- , SH_OPERAND_IMM8, SH_OPERAND_UIMM8, SH_OPERAND_IMM20, SH_OPERAND_IMM4X2
- , SH_OPERAND_IMM4X4, SH_OPERAND_IMM8X2, SH_OPERAND_IMM8X4, SH_OPERAND_DISP8
- , SH_OPERAND_DISP12, SH_OPERAND_IMM12X4, SH_OPERAND_IMM12X8, SH_OPERAND_RM64
- , SH_OPERAND_RN64, SH_OPERAND_GBR, SH_OPERAND_VBR, SH_OPERAND_PR
- , SH_OPERAND_FPSCR, SH_OPERAND_TBIT, SH_OPERAND_SBIT, SH_OPERAND_MBIT
- , SH_OPERAND_QBIT, SH_OPERAND_FPUL, SH_OPERAND_FRBIT, SH_OPERAND_SZBIT
- , SH_OPERAND_PRBIT, SH_OPERAND_MACL, SH_OPERAND_MACH, SH_OPERAND_FSDM
- , SH_OPERAND_FSDN, SH_OPERAND_RD, SH_OPERAND_FRG, SH_OPERAND_FRH
- , SH_OPERAND_FRF, SH_OPERAND_FRGH, SH_OPERAND_FPF, SH_OPERAND_FVG
- , SH_OPERAND_FVH, SH_OPERAND_FVF, SH_OPERAND_MTRXG, SH_OPERAND_DRG
- , SH_OPERAND_DRH, SH_OPERAND_DRF, SH_OPERAND_DRGH, SH_OPERAND_CRJ
- , SH_OPERAND_CRK, SH_OPERAND_TRA, SH_OPERAND_TRB, SH_OPERAND_DISP6
- , SH_OPERAND_DISP6X32, SH_OPERAND_DISP10, SH_OPERAND_DISP10X2, SH_OPERAND_DISP10X4
- , SH_OPERAND_DISP10X8, SH_OPERAND_DISP16, SH_OPERAND_IMM6, SH_OPERAND_IMM10
- , SH_OPERAND_IMM16, SH_OPERAND_UIMM6, SH_OPERAND_UIMM16, SH_OPERAND_LIKELY
- , SH_OPERAND_MAX
-} CGEN_OPERAND_TYPE;
-
-/* Number of operands types.  */
-#define MAX_OPERANDS 79
-
-/* Maximum number of operands referenced by any insn.  */
-#define MAX_OPERAND_INSTANCES 8
-
-/* Insn attribute indices.  */
-
-/* Enum declaration for cgen_insn attrs.  */
-typedef enum cgen_insn_attr {
-  CGEN_INSN_ALIAS, CGEN_INSN_VIRTUAL, CGEN_INSN_UNCOND_CTI, CGEN_INSN_COND_CTI
- , CGEN_INSN_SKIP_CTI, CGEN_INSN_DELAY_SLOT, CGEN_INSN_RELAXABLE, CGEN_INSN_RELAXED
- , CGEN_INSN_NO_DIS, CGEN_INSN_PBB, CGEN_INSN_ILLSLOT, CGEN_INSN_FP_INSN
- , CGEN_INSN_32_BIT_INSN, CGEN_INSN_END_BOOLS, CGEN_INSN_START_NBOOLS = 31, CGEN_INSN_MACH
- , CGEN_INSN_ISA, CGEN_INSN_SH4_GROUP, CGEN_INSN_SH4A_GROUP, CGEN_INSN_END_NBOOLS
-} CGEN_INSN_ATTR;
-
-/* Number of non-boolean elements in cgen_insn_attr.  */
-#define CGEN_INSN_NBOOL_ATTRS (CGEN_INSN_END_NBOOLS - CGEN_INSN_START_NBOOLS - 1)
-
-/* cgen_insn attribute accessor macros.  */
-#define CGEN_ATTR_CGEN_INSN_MACH_VALUE(attrs) ((attrs)->nonbool[CGEN_INSN_MACH-CGEN_INSN_START_NBOOLS-1].nonbitset)
-#define CGEN_ATTR_CGEN_INSN_ISA_VALUE(attrs) ((attrs)->nonbool[CGEN_INSN_ISA-CGEN_INSN_START_NBOOLS-1].bitset)
-#define CGEN_ATTR_CGEN_INSN_SH4_GROUP_VALUE(attrs) ((attrs)->nonbool[CGEN_INSN_SH4_GROUP-CGEN_INSN_START_NBOOLS-1].nonbitset)
-#define CGEN_ATTR_CGEN_INSN_SH4A_GROUP_VALUE(attrs) ((attrs)->nonbool[CGEN_INSN_SH4A_GROUP-CGEN_INSN_START_NBOOLS-1].nonbitset)
-#define CGEN_ATTR_CGEN_INSN_ALIAS_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_INSN_ALIAS)) != 0)
-#define CGEN_ATTR_CGEN_INSN_VIRTUAL_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_INSN_VIRTUAL)) != 0)
-#define CGEN_ATTR_CGEN_INSN_UNCOND_CTI_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_INSN_UNCOND_CTI)) != 0)
-#define CGEN_ATTR_CGEN_INSN_COND_CTI_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_INSN_COND_CTI)) != 0)
-#define CGEN_ATTR_CGEN_INSN_SKIP_CTI_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_INSN_SKIP_CTI)) != 0)
-#define CGEN_ATTR_CGEN_INSN_DELAY_SLOT_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_INSN_DELAY_SLOT)) != 0)
-#define CGEN_ATTR_CGEN_INSN_RELAXABLE_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_INSN_RELAXABLE)) != 0)
-#define CGEN_ATTR_CGEN_INSN_RELAXED_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_INSN_RELAXED)) != 0)
-#define CGEN_ATTR_CGEN_INSN_NO_DIS_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_INSN_NO_DIS)) != 0)
-#define CGEN_ATTR_CGEN_INSN_PBB_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_INSN_PBB)) != 0)
-#define CGEN_ATTR_CGEN_INSN_ILLSLOT_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_INSN_ILLSLOT)) != 0)
-#define CGEN_ATTR_CGEN_INSN_FP_INSN_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_INSN_FP_INSN)) != 0)
-#define CGEN_ATTR_CGEN_INSN_32_BIT_INSN_VALUE(attrs) (((attrs)->bool_ & (1 << CGEN_INSN_32_BIT_INSN)) != 0)
-
-/* cgen.h uses things we just defined.  */
-#include "opcode/cgen.h"
-
-extern const struct cgen_ifld sh_cgen_ifld_table[];
-
-/* Attributes.  */
-extern const CGEN_ATTR_TABLE sh_cgen_hardware_attr_table[];
-extern const CGEN_ATTR_TABLE sh_cgen_ifield_attr_table[];
-extern const CGEN_ATTR_TABLE sh_cgen_operand_attr_table[];
-extern const CGEN_ATTR_TABLE sh_cgen_insn_attr_table[];
-
-/* Hardware decls.  */
-
-extern CGEN_KEYWORD sh_cgen_opval_h_gr;
-extern CGEN_KEYWORD sh_cgen_opval_h_grc;
-extern CGEN_KEYWORD sh_cgen_opval_h_cr;
-extern CGEN_KEYWORD sh_cgen_opval_h_fr;
-extern CGEN_KEYWORD sh_cgen_opval_h_fp;
-extern CGEN_KEYWORD sh_cgen_opval_h_fv;
-extern CGEN_KEYWORD sh_cgen_opval_h_fmtx;
-extern CGEN_KEYWORD sh_cgen_opval_h_dr;
-extern CGEN_KEYWORD sh_cgen_opval_h_fsd;
-extern CGEN_KEYWORD sh_cgen_opval_h_fmov;
-extern CGEN_KEYWORD sh_cgen_opval_h_tr;
-extern CGEN_KEYWORD sh_cgen_opval_frc_names;
-extern CGEN_KEYWORD sh_cgen_opval_drc_names;
-extern CGEN_KEYWORD sh_cgen_opval_xf_names;
-extern CGEN_KEYWORD sh_cgen_opval_frc_names;
-extern CGEN_KEYWORD sh_cgen_opval_h_fvc;
-
-extern const CGEN_HW_ENTRY sh_cgen_hw_table[];
-
-
-
-#endif /* SH_CPU_H */
diff --git a/sim/sh64/sh-opc.h b/sim/sh64/sh-opc.h
deleted file mode 100644 (file)
index 5b5fff9..0000000
+++ /dev/null
@@ -1,214 +0,0 @@
-/* Instruction opcode header for sh.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996-2021 Free Software Foundation, Inc.
-
-This file is part of the GNU Binutils and/or GDB, the GNU debugger.
-
-   This file is free software; you can redistribute it and/or modify
-   it under the terms of the GNU General Public License as published by
-   the Free Software Foundation; either version 3, or (at your option)
-   any later version.
-
-   It 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 SH_OPC_H
-#define SH_OPC_H
-
-/* Enum declaration for sh instruction types.  */
-typedef enum cgen_insn_type {
-  SH_INSN_INVALID, SH_INSN_ADD_COMPACT, SH_INSN_ADDI_COMPACT, SH_INSN_ADDC_COMPACT
- , SH_INSN_ADDV_COMPACT, SH_INSN_AND_COMPACT, SH_INSN_ANDI_COMPACT, SH_INSN_ANDB_COMPACT
- , SH_INSN_BF_COMPACT, SH_INSN_BFS_COMPACT, SH_INSN_BRA_COMPACT, SH_INSN_BRAF_COMPACT
- , SH_INSN_BRK_COMPACT, SH_INSN_BSR_COMPACT, SH_INSN_BSRF_COMPACT, SH_INSN_BT_COMPACT
- , SH_INSN_BTS_COMPACT, SH_INSN_CLRMAC_COMPACT, SH_INSN_CLRS_COMPACT, SH_INSN_CLRT_COMPACT
- , SH_INSN_CMPEQ_COMPACT, SH_INSN_CMPEQI_COMPACT, SH_INSN_CMPGE_COMPACT, SH_INSN_CMPGT_COMPACT
- , SH_INSN_CMPHI_COMPACT, SH_INSN_CMPHS_COMPACT, SH_INSN_CMPPL_COMPACT, SH_INSN_CMPPZ_COMPACT
- , SH_INSN_CMPSTR_COMPACT, SH_INSN_DIV0S_COMPACT, SH_INSN_DIV0U_COMPACT, SH_INSN_DIV1_COMPACT
- , SH_INSN_DIVU_COMPACT, SH_INSN_MULR_COMPACT, SH_INSN_DMULSL_COMPACT, SH_INSN_DMULUL_COMPACT
- , SH_INSN_DT_COMPACT, SH_INSN_EXTSB_COMPACT, SH_INSN_EXTSW_COMPACT, SH_INSN_EXTUB_COMPACT
- , SH_INSN_EXTUW_COMPACT, SH_INSN_FABS_COMPACT, SH_INSN_FADD_COMPACT, SH_INSN_FCMPEQ_COMPACT
- , SH_INSN_FCMPGT_COMPACT, SH_INSN_FCNVDS_COMPACT, SH_INSN_FCNVSD_COMPACT, SH_INSN_FDIV_COMPACT
- , SH_INSN_FIPR_COMPACT, SH_INSN_FLDS_COMPACT, SH_INSN_FLDI0_COMPACT, SH_INSN_FLDI1_COMPACT
- , SH_INSN_FLOAT_COMPACT, SH_INSN_FMAC_COMPACT, SH_INSN_FMOV1_COMPACT, SH_INSN_FMOV2_COMPACT
- , SH_INSN_FMOV3_COMPACT, SH_INSN_FMOV4_COMPACT, SH_INSN_FMOV5_COMPACT, SH_INSN_FMOV6_COMPACT
- , SH_INSN_FMOV7_COMPACT, SH_INSN_FMOV8_COMPACT, SH_INSN_FMOV9_COMPACT, SH_INSN_FMUL_COMPACT
- , SH_INSN_FNEG_COMPACT, SH_INSN_FRCHG_COMPACT, SH_INSN_FSCHG_COMPACT, SH_INSN_FSQRT_COMPACT
- , SH_INSN_FSTS_COMPACT, SH_INSN_FSUB_COMPACT, SH_INSN_FTRC_COMPACT, SH_INSN_FTRV_COMPACT
- , SH_INSN_JMP_COMPACT, SH_INSN_JSR_COMPACT, SH_INSN_LDC_GBR_COMPACT, SH_INSN_LDC_VBR_COMPACT
- , SH_INSN_LDC_SR_COMPACT, SH_INSN_LDCL_GBR_COMPACT, SH_INSN_LDCL_VBR_COMPACT, SH_INSN_LDS_FPSCR_COMPACT
- , SH_INSN_LDSL_FPSCR_COMPACT, SH_INSN_LDS_FPUL_COMPACT, SH_INSN_LDSL_FPUL_COMPACT, SH_INSN_LDS_MACH_COMPACT
- , SH_INSN_LDSL_MACH_COMPACT, SH_INSN_LDS_MACL_COMPACT, SH_INSN_LDSL_MACL_COMPACT, SH_INSN_LDS_PR_COMPACT
- , SH_INSN_LDSL_PR_COMPACT, SH_INSN_MACL_COMPACT, SH_INSN_MACW_COMPACT, SH_INSN_MOV_COMPACT
- , SH_INSN_MOVI_COMPACT, SH_INSN_MOVI20_COMPACT, SH_INSN_MOVB1_COMPACT, SH_INSN_MOVB2_COMPACT
- , SH_INSN_MOVB3_COMPACT, SH_INSN_MOVB4_COMPACT, SH_INSN_MOVB5_COMPACT, SH_INSN_MOVB6_COMPACT
- , SH_INSN_MOVB7_COMPACT, SH_INSN_MOVB8_COMPACT, SH_INSN_MOVB9_COMPACT, SH_INSN_MOVB10_COMPACT
- , SH_INSN_MOVL1_COMPACT, SH_INSN_MOVL2_COMPACT, SH_INSN_MOVL3_COMPACT, SH_INSN_MOVL4_COMPACT
- , SH_INSN_MOVL5_COMPACT, SH_INSN_MOVL6_COMPACT, SH_INSN_MOVL7_COMPACT, SH_INSN_MOVL8_COMPACT
- , SH_INSN_MOVL9_COMPACT, SH_INSN_MOVL10_COMPACT, SH_INSN_MOVL11_COMPACT, SH_INSN_MOVL12_COMPACT
- , SH_INSN_MOVL13_COMPACT, SH_INSN_MOVW1_COMPACT, SH_INSN_MOVW2_COMPACT, SH_INSN_MOVW3_COMPACT
- , SH_INSN_MOVW4_COMPACT, SH_INSN_MOVW5_COMPACT, SH_INSN_MOVW6_COMPACT, SH_INSN_MOVW7_COMPACT
- , SH_INSN_MOVW8_COMPACT, SH_INSN_MOVW9_COMPACT, SH_INSN_MOVW10_COMPACT, SH_INSN_MOVW11_COMPACT
- , SH_INSN_MOVA_COMPACT, SH_INSN_MOVCAL_COMPACT, SH_INSN_MOVCOL_COMPACT, SH_INSN_MOVT_COMPACT
- , SH_INSN_MOVUAL_COMPACT, SH_INSN_MOVUAL2_COMPACT, SH_INSN_MULL_COMPACT, SH_INSN_MULSW_COMPACT
- , SH_INSN_MULUW_COMPACT, SH_INSN_NEG_COMPACT, SH_INSN_NEGC_COMPACT, SH_INSN_NOP_COMPACT
- , SH_INSN_NOT_COMPACT, SH_INSN_OCBI_COMPACT, SH_INSN_OCBP_COMPACT, SH_INSN_OCBWB_COMPACT
- , SH_INSN_OR_COMPACT, SH_INSN_ORI_COMPACT, SH_INSN_ORB_COMPACT, SH_INSN_PREF_COMPACT
- , SH_INSN_ROTCL_COMPACT, SH_INSN_ROTCR_COMPACT, SH_INSN_ROTL_COMPACT, SH_INSN_ROTR_COMPACT
- , SH_INSN_RTS_COMPACT, SH_INSN_SETS_COMPACT, SH_INSN_SETT_COMPACT, SH_INSN_SHAD_COMPACT
- , SH_INSN_SHAL_COMPACT, SH_INSN_SHAR_COMPACT, SH_INSN_SHLD_COMPACT, SH_INSN_SHLL_COMPACT
- , SH_INSN_SHLL2_COMPACT, SH_INSN_SHLL8_COMPACT, SH_INSN_SHLL16_COMPACT, SH_INSN_SHLR_COMPACT
- , SH_INSN_SHLR2_COMPACT, SH_INSN_SHLR8_COMPACT, SH_INSN_SHLR16_COMPACT, SH_INSN_STC_GBR_COMPACT
- , SH_INSN_STC_VBR_COMPACT, SH_INSN_STCL_GBR_COMPACT, SH_INSN_STCL_VBR_COMPACT, SH_INSN_STS_FPSCR_COMPACT
- , SH_INSN_STSL_FPSCR_COMPACT, SH_INSN_STS_FPUL_COMPACT, SH_INSN_STSL_FPUL_COMPACT, SH_INSN_STS_MACH_COMPACT
- , SH_INSN_STSL_MACH_COMPACT, SH_INSN_STS_MACL_COMPACT, SH_INSN_STSL_MACL_COMPACT, SH_INSN_STS_PR_COMPACT
- , SH_INSN_STSL_PR_COMPACT, SH_INSN_SUB_COMPACT, SH_INSN_SUBC_COMPACT, SH_INSN_SUBV_COMPACT
- , SH_INSN_SWAPB_COMPACT, SH_INSN_SWAPW_COMPACT, SH_INSN_TASB_COMPACT, SH_INSN_TRAPA_COMPACT
- , SH_INSN_TST_COMPACT, SH_INSN_TSTI_COMPACT, SH_INSN_TSTB_COMPACT, SH_INSN_XOR_COMPACT
- , SH_INSN_XORI_COMPACT, SH_INSN_XORB_COMPACT, SH_INSN_XTRCT_COMPACT, SH_INSN_ADD
- , SH_INSN_ADDL, SH_INSN_ADDI, SH_INSN_ADDIL, SH_INSN_ADDZL
- , SH_INSN_ALLOCO, SH_INSN_AND, SH_INSN_ANDC, SH_INSN_ANDI
- , SH_INSN_BEQ, SH_INSN_BEQI, SH_INSN_BGE, SH_INSN_BGEU
- , SH_INSN_BGT, SH_INSN_BGTU, SH_INSN_BLINK, SH_INSN_BNE
- , SH_INSN_BNEI, SH_INSN_BRK, SH_INSN_BYTEREV, SH_INSN_CMPEQ
- , SH_INSN_CMPGT, SH_INSN_CMPGTU, SH_INSN_CMVEQ, SH_INSN_CMVNE
- , SH_INSN_FABSD, SH_INSN_FABSS, SH_INSN_FADDD, SH_INSN_FADDS
- , SH_INSN_FCMPEQD, SH_INSN_FCMPEQS, SH_INSN_FCMPGED, SH_INSN_FCMPGES
- , SH_INSN_FCMPGTD, SH_INSN_FCMPGTS, SH_INSN_FCMPUND, SH_INSN_FCMPUNS
- , SH_INSN_FCNVDS, SH_INSN_FCNVSD, SH_INSN_FDIVD, SH_INSN_FDIVS
- , SH_INSN_FGETSCR, SH_INSN_FIPRS, SH_INSN_FLDD, SH_INSN_FLDP
- , SH_INSN_FLDS, SH_INSN_FLDXD, SH_INSN_FLDXP, SH_INSN_FLDXS
- , SH_INSN_FLOATLD, SH_INSN_FLOATLS, SH_INSN_FLOATQD, SH_INSN_FLOATQS
- , SH_INSN_FMACS, SH_INSN_FMOVD, SH_INSN_FMOVDQ, SH_INSN_FMOVLS
- , SH_INSN_FMOVQD, SH_INSN_FMOVS, SH_INSN_FMOVSL, SH_INSN_FMULD
- , SH_INSN_FMULS, SH_INSN_FNEGD, SH_INSN_FNEGS, SH_INSN_FPUTSCR
- , SH_INSN_FSQRTD, SH_INSN_FSQRTS, SH_INSN_FSTD, SH_INSN_FSTP
- , SH_INSN_FSTS, SH_INSN_FSTXD, SH_INSN_FSTXP, SH_INSN_FSTXS
- , SH_INSN_FSUBD, SH_INSN_FSUBS, SH_INSN_FTRCDL, SH_INSN_FTRCSL
- , SH_INSN_FTRCDQ, SH_INSN_FTRCSQ, SH_INSN_FTRVS, SH_INSN_GETCFG
- , SH_INSN_GETCON, SH_INSN_GETTR, SH_INSN_ICBI, SH_INSN_LDB
- , SH_INSN_LDL, SH_INSN_LDQ, SH_INSN_LDUB, SH_INSN_LDUW
- , SH_INSN_LDW, SH_INSN_LDHIL, SH_INSN_LDHIQ, SH_INSN_LDLOL
- , SH_INSN_LDLOQ, SH_INSN_LDXB, SH_INSN_LDXL, SH_INSN_LDXQ
- , SH_INSN_LDXUB, SH_INSN_LDXUW, SH_INSN_LDXW, SH_INSN_MABSL
- , SH_INSN_MABSW, SH_INSN_MADDL, SH_INSN_MADDW, SH_INSN_MADDSL
- , SH_INSN_MADDSUB, SH_INSN_MADDSW, SH_INSN_MCMPEQB, SH_INSN_MCMPEQL
- , SH_INSN_MCMPEQW, SH_INSN_MCMPGTL, SH_INSN_MCMPGTUB, SH_INSN_MCMPGTW
- , SH_INSN_MCMV, SH_INSN_MCNVSLW, SH_INSN_MCNVSWB, SH_INSN_MCNVSWUB
- , SH_INSN_MEXTR1, SH_INSN_MEXTR2, SH_INSN_MEXTR3, SH_INSN_MEXTR4
- , SH_INSN_MEXTR5, SH_INSN_MEXTR6, SH_INSN_MEXTR7, SH_INSN_MMACFXWL
- , SH_INSN_MMACNFX_WL, SH_INSN_MMULL, SH_INSN_MMULW, SH_INSN_MMULFXL
- , SH_INSN_MMULFXW, SH_INSN_MMULFXRPW, SH_INSN_MMULHIWL, SH_INSN_MMULLOWL
- , SH_INSN_MMULSUMWQ, SH_INSN_MOVI, SH_INSN_MPERMW, SH_INSN_MSADUBQ
- , SH_INSN_MSHALDSL, SH_INSN_MSHALDSW, SH_INSN_MSHARDL, SH_INSN_MSHARDW
- , SH_INSN_MSHARDSQ, SH_INSN_MSHFHIB, SH_INSN_MSHFHIL, SH_INSN_MSHFHIW
- , SH_INSN_MSHFLOB, SH_INSN_MSHFLOL, SH_INSN_MSHFLOW, SH_INSN_MSHLLDL
- , SH_INSN_MSHLLDW, SH_INSN_MSHLRDL, SH_INSN_MSHLRDW, SH_INSN_MSUBL
- , SH_INSN_MSUBW, SH_INSN_MSUBSL, SH_INSN_MSUBSUB, SH_INSN_MSUBSW
- , SH_INSN_MULSL, SH_INSN_MULUL, SH_INSN_NOP, SH_INSN_NSB
- , SH_INSN_OCBI, SH_INSN_OCBP, SH_INSN_OCBWB, SH_INSN_OR
- , SH_INSN_ORI, SH_INSN_PREFI, SH_INSN_PTA, SH_INSN_PTABS
- , SH_INSN_PTB, SH_INSN_PTREL, SH_INSN_PUTCFG, SH_INSN_PUTCON
- , SH_INSN_RTE, SH_INSN_SHARD, SH_INSN_SHARDL, SH_INSN_SHARI
- , SH_INSN_SHARIL, SH_INSN_SHLLD, SH_INSN_SHLLDL, SH_INSN_SHLLI
- , SH_INSN_SHLLIL, SH_INSN_SHLRD, SH_INSN_SHLRDL, SH_INSN_SHLRI
- , SH_INSN_SHLRIL, SH_INSN_SHORI, SH_INSN_SLEEP, SH_INSN_STB
- , SH_INSN_STL, SH_INSN_STQ, SH_INSN_STW, SH_INSN_STHIL
- , SH_INSN_STHIQ, SH_INSN_STLOL, SH_INSN_STLOQ, SH_INSN_STXB
- , SH_INSN_STXL, SH_INSN_STXQ, SH_INSN_STXW, SH_INSN_SUB
- , SH_INSN_SUBL, SH_INSN_SWAPQ, SH_INSN_SYNCI, SH_INSN_SYNCO
- , SH_INSN_TRAPA, SH_INSN_XOR, SH_INSN_XORI
-} CGEN_INSN_TYPE;
-
-/* Index of `invalid' insn place holder.  */
-#define CGEN_INSN_INVALID SH_INSN_INVALID
-
-/* Total number of insns in table.  */
-#define MAX_INSNS ((int) SH_INSN_XORI + 1)
-
-/* This struct records data prior to insertion or after extraction.  */
-struct cgen_fields
-{
-  int length;
-  long f_nil;
-  long f_anyof;
-  long f_op4;
-  long f_op8;
-  long f_op16;
-  long f_sub4;
-  long f_sub8;
-  long f_sub10;
-  long f_rn;
-  long f_rm;
-  long f_7_1;
-  long f_11_1;
-  long f_16_4;
-  long f_disp8;
-  long f_disp12;
-  long f_imm8;
-  long f_imm4;
-  long f_imm4x2;
-  long f_imm4x4;
-  long f_imm8x2;
-  long f_imm8x4;
-  long f_imm12x4;
-  long f_imm12x8;
-  long f_dn;
-  long f_dm;
-  long f_vn;
-  long f_vm;
-  long f_xn;
-  long f_xm;
-  long f_imm20_hi;
-  long f_imm20_lo;
-  long f_imm20;
-  long f_op;
-  long f_ext;
-  long f_rsvd;
-  long f_left;
-  long f_right;
-  long f_dest;
-  long f_left_right;
-  long f_tra;
-  long f_trb;
-  long f_likely;
-  long f_6_3;
-  long f_23_2;
-  long f_imm6;
-  long f_imm10;
-  long f_imm16;
-  long f_uimm6;
-  long f_uimm16;
-  long f_disp6;
-  long f_disp6x32;
-  long f_disp10;
-  long f_disp10x8;
-  long f_disp10x4;
-  long f_disp10x2;
-  long f_disp16;
-};
-
-#define CGEN_INIT_PARSE(od) \
-{\
-}
-#define CGEN_INIT_INSERT(od) \
-{\
-}
-#define CGEN_INIT_EXTRACT(od) \
-{\
-}
-#define CGEN_INIT_PRINT(od) \
-{\
-}
-
-
-#endif /* SH_OPC_H */
diff --git a/sim/sh64/sh64-sim.h b/sim/sh64/sh64-sim.h
deleted file mode 100644 (file)
index ffcb88d..0000000
+++ /dev/null
@@ -1,84 +0,0 @@
-/* collection of junk waiting time to sort out
-   Copyright (C) 2000-2021 Free Software Foundation, Inc.
-   Contributed by Red Hat, Inc.
-
-This file is part of the GNU 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 SH64_SIM_H
-#define SH64_SIM_H
-
-enum {
-  ISM_COMPACT, ISM_MEDIA
-};
-
-extern IDESC * sh64_idesc_media;
-extern IDESC * sh64_idesc_compact;
-
-/* Function prototypes from sh64.c.  */
-
-BI sh64_endian (SIM_CPU *);
-VOID sh64_break (SIM_CPU *, PCADDR);
-SI sh64_movua (SIM_CPU *, PCADDR, SI);
-VOID sh64_trapa (SIM_CPU *, DI, PCADDR);
-VOID sh64_compact_trapa (SIM_CPU *, UQI, PCADDR);
-
-SF sh64_fldi0 (SIM_CPU *);
-SF sh64_fldi1 (SIM_CPU *);
-DF sh64_fcnvsd (SIM_CPU *, SF);
-SF sh64_fcnvds (SIM_CPU *, DF);
-
-DF sh64_fabsd (SIM_CPU *, DF);
-SF sh64_fabss (SIM_CPU *, SF);
-DF sh64_faddd (SIM_CPU *, DF, DF);
-SF sh64_fadds (SIM_CPU *, SF, SF);
-DF sh64_fdivd (SIM_CPU *, DF, DF);
-SF sh64_fdivs (SIM_CPU *, SF, SF);
-DF sh64_floatld (SIM_CPU *, SF);
-SF sh64_floatls (SIM_CPU *, SF);
-DF sh64_floatqd (SIM_CPU *, DF);
-SF sh64_floatqs (SIM_CPU *, DF);
-SF sh64_fmacs(SIM_CPU *, SF, SF, SF);
-DF sh64_fmuld (SIM_CPU *, DF, DF);
-SF sh64_fmuls (SIM_CPU *, SF, SF);
-DF sh64_fnegd (SIM_CPU *, DF);
-SF sh64_fnegs (SIM_CPU *, SF);
-DF sh64_fsqrtd (SIM_CPU *, DF);
-SF sh64_fsqrts (SIM_CPU *, SF);
-DF sh64_fsubd (SIM_CPU *, DF, DF);
-SF sh64_fsubs (SIM_CPU *, SF, SF);
-SF sh64_ftrcdl (SIM_CPU *, DF);
-DF sh64_ftrcdq (SIM_CPU *, DF);
-SF sh64_ftrcsl (SIM_CPU *, SF);
-DF sh64_ftrcsq (SIM_CPU *, SF);
-VOID sh64_ftrvs (SIM_CPU *, unsigned, unsigned, unsigned);
-VOID sh64_fipr (SIM_CPU *cpu, unsigned m, unsigned n);
-SF sh64_fiprs (SIM_CPU *cpu, unsigned g, unsigned h);
-VOID sh64_fldp (SIM_CPU *cpu, PCADDR pc, DI rm, DI rn, unsigned f);
-VOID sh64_fstp (SIM_CPU *cpu, PCADDR pc, DI rm, DI rn, unsigned f);
-VOID sh64_ftrv (SIM_CPU *cpu, UINT ignored);
-VOID sh64_pref (SIM_CPU *cpu, SI addr);
-BI sh64_fcmpeqs (SIM_CPU *, SF, SF);
-BI sh64_fcmpeqd (SIM_CPU *, DF, DF);
-BI sh64_fcmpges (SIM_CPU *, SF, SF);
-BI sh64_fcmpged (SIM_CPU *, DF, DF);
-BI sh64_fcmpgts (SIM_CPU *, SF, SF);
-BI sh64_fcmpgtd (SIM_CPU *, DF, DF);
-BI sh64_fcmpund (SIM_CPU *, DF, DF);
-BI sh64_fcmpuns (SIM_CPU *, SF, SF);
-
-DI sh64_nsb (SIM_CPU *, DI);
-
-#endif /* SH64_SIM_H */
diff --git a/sim/sh64/sh64.c b/sim/sh64/sh64.c
deleted file mode 100644 (file)
index f248f3c..0000000
+++ /dev/null
@@ -1,1138 +0,0 @@
-/* SH5 simulator support code
-   Copyright (C) 2000-2021 Free Software Foundation, Inc.
-   Contributed by Red Hat, Inc.
-
-This file is part of the GNU 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/>.  */
-
-#define WANT_CPU
-#define WANT_CPU_SH64
-
-#include "sim-main.h"
-#include "sim-fpu.h"
-#include "cgen-mem.h"
-#include "cgen-ops.h"
-
-#include "gdb/callback.h"
-#include "defs-compact.h"
-
-#include "bfd.h"
-/* From include/gdb/.  */
-#include "gdb/sim-sh.h"
-
-#define SYS_exit        1
-#define        SYS_read        3
-#define SYS_write       4
-#define        SYS_open        5
-#define        SYS_close       6
-#define        SYS_lseek       19
-#define        SYS_time        23
-#define        SYS_argc        172
-#define        SYS_argnlen     173
-#define        SYS_argn        174
-
-IDESC * sh64_idesc_media;
-IDESC * sh64_idesc_compact;
-
-BI
-sh64_endian (SIM_CPU *current_cpu)
-{
-  return (CURRENT_TARGET_BYTE_ORDER == BIG_ENDIAN);
-}
-
-SF
-sh64_fldi0 (SIM_CPU *current_cpu)
-{
-  SF result;
-  sim_fpu_to32 (&result, &sim_fpu_zero);
-  return result;
-}
-
-SF
-sh64_fldi1 (SIM_CPU *current_cpu)
-{
-  SF result;
-  sim_fpu_to32 (&result, &sim_fpu_one);
-  return result;
-}
-
-DF
-sh64_fabsd(SIM_CPU *current_cpu, DF drgh)
-{
-  DF result;
-  sim_fpu f, fres;
-
-  sim_fpu_64to (&f, drgh);
-  sim_fpu_abs (&fres, &f);
-  sim_fpu_to64 (&result, &fres);
-  return result;
-}
-
-SF
-sh64_fabss(SIM_CPU *current_cpu, SF frgh)
-{
-  SF result;
-  sim_fpu f, fres;
-
-  sim_fpu_32to (&f, frgh);
-  sim_fpu_abs (&fres, &f);
-  sim_fpu_to32 (&result, &fres);
-  return result;
-}
-
-DF
-sh64_faddd(SIM_CPU *current_cpu, DF drg, DF drh)
-{
-  DF result;
-  sim_fpu f1, f2, fres;
-
-  sim_fpu_64to (&f1, drg);
-  sim_fpu_64to (&f2, drh);
-  sim_fpu_add (&fres, &f1, &f2);
-  sim_fpu_to64 (&result, &fres);
-  return result;
-}
-
-SF
-sh64_fadds(SIM_CPU *current_cpu, SF frg, SF frh)
-{
-  SF result;
-  sim_fpu f1, f2, fres;
-
-  sim_fpu_32to (&f1, frg);
-  sim_fpu_32to (&f2, frh);
-  sim_fpu_add (&fres, &f1, &f2);
-  sim_fpu_to32 (&result, &fres);
-  return result;
-}
-
-BI
-sh64_fcmpeqd(SIM_CPU *current_cpu, DF drg, DF drh)
-{
-  sim_fpu f1, f2;
-
-  sim_fpu_64to (&f1, drg);
-  sim_fpu_64to (&f2, drh);
-  return sim_fpu_is_eq (&f1, &f2);
-}
-
-BI
-sh64_fcmpeqs(SIM_CPU *current_cpu, SF frg, SF frh)
-{
-  sim_fpu f1, f2;
-
-  sim_fpu_32to (&f1, frg);
-  sim_fpu_32to (&f2, frh);
-  return sim_fpu_is_eq (&f1, &f2);
-}
-
-BI
-sh64_fcmpged(SIM_CPU *current_cpu, DF drg, DF drh)
-{
-  sim_fpu f1, f2;
-
-  sim_fpu_64to (&f1, drg);
-  sim_fpu_64to (&f2, drh);
-  return sim_fpu_is_ge (&f1, &f2);
-}
-
-BI
-sh64_fcmpges(SIM_CPU *current_cpu, SF frg, SF frh)
-{
-  sim_fpu f1, f2;
-
-  sim_fpu_32to (&f1, frg);
-  sim_fpu_32to (&f2, frh);
-  return sim_fpu_is_ge (&f1, &f2);
-}
-
-BI
-sh64_fcmpgtd(SIM_CPU *current_cpu, DF drg, DF drh)
-{
-  sim_fpu f1, f2;
-
-  sim_fpu_64to (&f1, drg);
-  sim_fpu_64to (&f2, drh);
-  return sim_fpu_is_gt (&f1, &f2);
-}
-
-BI
-sh64_fcmpgts(SIM_CPU *current_cpu, SF frg, SF frh)
-{
-  sim_fpu f1, f2;
-
-  sim_fpu_32to (&f1, frg);
-  sim_fpu_32to (&f2, frh);
-  return sim_fpu_is_gt (&f1, &f2);
-}
-
-BI
-sh64_fcmpund(SIM_CPU *current_cpu, DF drg, DF drh)
-{
-  sim_fpu f1, f2;
-
-  sim_fpu_64to (&f1, drg);
-  sim_fpu_64to (&f2, drh);
-  return (sim_fpu_is_nan (&f1) || sim_fpu_is_nan (&f2));
-}
-
-BI
-sh64_fcmpuns(SIM_CPU *current_cpu, SF frg, SF frh)
-{
-  sim_fpu f1, f2;
-
-  sim_fpu_32to (&f1, frg);
-  sim_fpu_32to (&f2, frh); 
-  return (sim_fpu_is_nan (&f1) || sim_fpu_is_nan (&f2));
-}  
-
-SF
-sh64_fcnvds(SIM_CPU *current_cpu, DF drgh)
-{
-  union {
-    unsigned long long ll;
-    double d;
-  } f1;
-
-  union {
-    unsigned long l;
-    float f;
-  } f2;
-
-  f1.ll = drgh;
-  f2.f = (float) f1.d;
-  
-  return (SF) f2.l;
-}
-
-DF
-sh64_fcnvsd(SIM_CPU *current_cpu, SF frgh)
-{
-  DF result;
-  sim_fpu f;
-
-  sim_fpu_32to (&f, frgh);
-  sim_fpu_to64 (&result, &f);
-  return result;
-}
-
-DF
-sh64_fdivd(SIM_CPU *current_cpu, DF drg, DF drh)
-{
-  DF result;
-  sim_fpu f1, f2, fres;
-
-  sim_fpu_64to (&f1, drg);
-  sim_fpu_64to (&f2, drh);
-  sim_fpu_div (&fres, &f1, &f2);
-  sim_fpu_to64 (&result, &fres);
-  return result;
-}
-
-SF
-sh64_fdivs(SIM_CPU *current_cpu, SF frg, SF frh)
-{
-  SF result;
-  sim_fpu f1, f2, fres;
-
-  sim_fpu_32to (&f1, frg);
-  sim_fpu_32to (&f2, frh);
-  sim_fpu_div (&fres, &f1, &f2);
-  sim_fpu_to32 (&result, &fres);
-  return result;
-}
-
-DF
-sh64_floatld(SIM_CPU *current_cpu, SF frgh)
-{
-  DF result;
-  sim_fpu f;
-
-  sim_fpu_i32to (&f, frgh, sim_fpu_round_default); 
-  sim_fpu_to64 (&result, &f);
-  return result;
-}
-
-SF
-sh64_floatls(SIM_CPU *current_cpu, SF frgh)
-{
-  SF result;
-  sim_fpu f;
-
-  sim_fpu_i32to (&f, frgh, sim_fpu_round_default);
-  sim_fpu_to32 (&result, &f);
-  return result;
-}
-
-DF
-sh64_floatqd(SIM_CPU *current_cpu, DF drgh)
-{
-  DF result;
-  sim_fpu f;
-
-  sim_fpu_i64to (&f, drgh, sim_fpu_round_default);
-  sim_fpu_to64 (&result, &f);
-  return result;
-}
-
-SF
-sh64_floatqs(SIM_CPU *current_cpu, DF drgh)
-{
-  SF result;
-  sim_fpu f;
-
-  sim_fpu_i64to (&f, drgh, sim_fpu_round_default);
-  sim_fpu_to32 (&result, &f);
-  return result;
-}
-
-SF
-sh64_fmacs(SIM_CPU *current_cpu, SF fr0, SF frm, SF frn)
-{
-  SF result;
-  sim_fpu m1, m2, a1, fres;
-
-  sim_fpu_32to (&m1, fr0);
-  sim_fpu_32to (&m2, frm);
-  sim_fpu_32to (&a1, frn);
-
-  sim_fpu_mul (&fres, &m1, &m2);
-  sim_fpu_add (&fres, &fres, &a1);
-  
-  sim_fpu_to32 (&result, &fres);
-  return result;
-}
-
-DF
-sh64_fmuld(SIM_CPU *current_cpu, DF drg, DF drh)
-{
-  DF result;
-  sim_fpu f1, f2, fres;
-
-  sim_fpu_64to (&f1, drg);
-  sim_fpu_64to (&f2, drh);
-  sim_fpu_mul (&fres, &f1, &f2);
-  sim_fpu_to64 (&result, &fres);
-  return result;
-}
-
-SF
-sh64_fmuls(SIM_CPU *current_cpu, SF frg, SF frh)
-{
-  SF result;
-  sim_fpu f1, f2, fres;
-
-  sim_fpu_32to (&f1, frg);
-  sim_fpu_32to (&f2, frh);
-  sim_fpu_mul (&fres, &f1, &f2);
-  sim_fpu_to32 (&result, &fres);
-  return result;
-}
-
-DF
-sh64_fnegd(SIM_CPU *current_cpu, DF drgh)
-{
-  DF result;
-  sim_fpu f1, f2;
-
-  sim_fpu_64to (&f1, drgh);
-  sim_fpu_neg (&f2, &f1);
-  sim_fpu_to64 (&result, &f2);
-  return result;
-}
-
-SF
-sh64_fnegs(SIM_CPU *current_cpu, SF frgh)
-{
-  SF result;
-  sim_fpu f, fres;
-
-  sim_fpu_32to (&f, frgh);
-  sim_fpu_neg (&fres, &f);
-  sim_fpu_to32 (&result, &fres);
-  return result;
-}
-
-DF
-sh64_fsqrtd(SIM_CPU *current_cpu, DF drgh)
-{
-  DF result;
-  sim_fpu f, fres;
-
-  sim_fpu_64to (&f, drgh);
-  sim_fpu_sqrt (&fres, &f);
-  sim_fpu_to64 (&result, &fres);
-  return result;
-}
-
-SF
-sh64_fsqrts(SIM_CPU *current_cpu, SF frgh)
-{
-  SF result;
-  sim_fpu f, fres;
-
-  sim_fpu_32to (&f, frgh);
-  sim_fpu_sqrt (&fres, &f);
-  sim_fpu_to32 (&result, &fres);
-  return result;
-}
-
-DF
-sh64_fsubd(SIM_CPU *current_cpu, DF drg, DF drh)
-{
-  DF result;
-  sim_fpu f1, f2, fres;
-
-  sim_fpu_64to (&f1, drg);
-  sim_fpu_64to (&f2, drh);
-  sim_fpu_sub (&fres, &f1, &f2);
-  sim_fpu_to64 (&result, &fres);
-  return result;
-}
-
-SF
-sh64_fsubs(SIM_CPU *current_cpu, SF frg, SF frh)
-{
-  SF result;
-  sim_fpu f1, f2, fres;
-
-  sim_fpu_32to (&f1, frg);
-  sim_fpu_32to (&f2, frh);
-  sim_fpu_sub (&fres, &f1, &f2);
-  sim_fpu_to32 (&result, &fres);
-  return result;
-}
-
-SF
-sh64_ftrcdl(SIM_CPU *current_cpu, DF drgh)
-{
-  SI result;
-  sim_fpu f;
-
-  sim_fpu_64to (&f, drgh);
-  sim_fpu_to32i (&result, &f, sim_fpu_round_zero);
-  return (SF) result;
-}
-
-SF
-sh64_ftrcsl(SIM_CPU *current_cpu, SF frgh)
-{
-  SI result;
-  sim_fpu f;
-
-  sim_fpu_32to (&f, frgh);
-  sim_fpu_to32i (&result, &f, sim_fpu_round_zero);
-  return (SF) result;
-}
-
-DF
-sh64_ftrcdq(SIM_CPU *current_cpu, DF drgh)
-{
-  DI result;
-  sim_fpu f;
-
-  sim_fpu_64to (&f, drgh);
-  sim_fpu_to64i (&result, &f, sim_fpu_round_zero);
-  return (DF) result;
-}
-
-DF
-sh64_ftrcsq(SIM_CPU *current_cpu, SF frgh)
-{
-  DI result;
-  sim_fpu f;
-
-  sim_fpu_32to (&f, frgh);
-  sim_fpu_to64i (&result, &f, sim_fpu_round_zero);
-  return (DF) result;
-}
-
-VOID
-sh64_ftrvs(SIM_CPU *cpu, unsigned g, unsigned h, unsigned f)
-{
-  int i, j;
-
-  for (i = 0; i < 4; i++)
-    {
-      SF result;
-      sim_fpu sum;
-      sim_fpu_32to (&sum, 0);
-
-      for (j = 0; j < 4; j++)
-       {
-         sim_fpu f1, f2, temp;
-         sim_fpu_32to (&f1, sh64_h_fr_get (cpu, (g + i) + (j * 4)));
-         sim_fpu_32to (&f2, sh64_h_fr_get (cpu, h + j));
-         sim_fpu_mul (&temp, &f1, &f2);
-         sim_fpu_add (&sum, &sum, &temp);
-       }
-      sim_fpu_to32 (&result, &sum);
-      sh64_h_fr_set (cpu, f + i, result);
-    }
-}
-
-VOID
-sh64_fipr (SIM_CPU *cpu, unsigned m, unsigned n)
-{
-  SF result = sh64_fmuls (cpu, sh64_h_fvc_get (cpu, m), sh64_h_fvc_get (cpu, n));
-  result = sh64_fadds (cpu, result, sh64_fmuls (cpu, sh64_h_frc_get (cpu, m + 1), sh64_h_frc_get (cpu, n + 1)));
-  result = sh64_fadds (cpu, result, sh64_fmuls (cpu, sh64_h_frc_get (cpu, m + 2), sh64_h_frc_get (cpu, n + 2)));
-  result = sh64_fadds (cpu, result, sh64_fmuls (cpu, sh64_h_frc_get (cpu, m + 3), sh64_h_frc_get (cpu, n + 3)));
-  sh64_h_frc_set (cpu, n + 3, result);
-}
-
-SF
-sh64_fiprs (SIM_CPU *cpu, unsigned g, unsigned h)
-{
-  SF temp = sh64_fmuls (cpu, sh64_h_fr_get (cpu, g), sh64_h_fr_get (cpu, h));
-  temp = sh64_fadds (cpu, temp, sh64_fmuls (cpu, sh64_h_fr_get (cpu, g + 1), sh64_h_fr_get (cpu, h + 1)));
-  temp = sh64_fadds (cpu, temp, sh64_fmuls (cpu, sh64_h_fr_get (cpu, g + 2), sh64_h_fr_get (cpu, h + 2)));
-  temp = sh64_fadds (cpu, temp, sh64_fmuls (cpu, sh64_h_fr_get (cpu, g + 3), sh64_h_fr_get (cpu, h + 3)));
-  return temp;
-}
-
-VOID
-sh64_fldp (SIM_CPU *cpu, PCADDR pc, DI rm, DI rn, unsigned f)
-{
-  sh64_h_fr_set (cpu, f,     GETMEMSF (cpu, pc, rm + rn));
-  sh64_h_fr_set (cpu, f + 1, GETMEMSF (cpu, pc, rm + rn + 4));
-}
-
-VOID
-sh64_fstp (SIM_CPU *cpu, PCADDR pc, DI rm, DI rn, unsigned f)
-{
-  SETMEMSF (cpu, pc, rm + rn,     sh64_h_fr_get (cpu, f));
-  SETMEMSF (cpu, pc, rm + rn + 4, sh64_h_fr_get (cpu, f + 1));
-}
-
-VOID
-sh64_ftrv (SIM_CPU *cpu, UINT ignored)
-{
-  /* TODO: Unimplemented.  */
-}
-
-VOID
-sh64_pref (SIM_CPU *cpu, SI addr)
-{
-  /* TODO: Unimplemented.  */
-}
-
-/* Read a null terminated string from memory, return in a buffer */
-static char *
-fetch_str (current_cpu, pc, addr)
-     SIM_CPU *current_cpu;
-     PCADDR pc;
-     DI addr;
-{
-  char *buf;
-  int nr = 0;
-  while (sim_core_read_1 (current_cpu,
-                         pc, read_map, addr + nr) != 0)
-    nr++;
-  buf = NZALLOC (char, nr + 1);
-  sim_read (CPU_STATE (current_cpu), addr, buf, nr);
-  return buf;
-}
-
-static void
-trap_handler (SIM_CPU *current_cpu, int shmedia_abi_p, UQI trapnum, PCADDR pc)
-{
-  char ch;
-  switch (trapnum)
-    {
-    case 1:
-      ch = GET_H_GRC (0);
-      sim_io_write_stdout (CPU_STATE (current_cpu), &ch, 1);
-      fflush (stdout);
-      break;
-    case 2:
-      sim_engine_halt (CPU_STATE (current_cpu), current_cpu, NULL, pc, sim_stopped, SIM_SIGTRAP);
-      break;
-    case 34:
-      {
-       int i;
-       int ret_reg = (shmedia_abi_p) ? 2 : 0;
-       char *buf;
-       DI PARM1 = GET_H_GR ((shmedia_abi_p) ? 3 : 5);
-       DI PARM2 = GET_H_GR ((shmedia_abi_p) ? 4 : 6);
-       DI PARM3 = GET_H_GR ((shmedia_abi_p) ? 5 : 7);
-       
-       switch (GET_H_GR ((shmedia_abi_p) ? 2 : 4))
-         {
-         case SYS_write:
-           buf = zalloc (PARM3);
-           sim_read (CPU_STATE (current_cpu), PARM2, buf, PARM3);
-           SET_H_GR (ret_reg,
-                     sim_io_write (CPU_STATE (current_cpu),
-                                   PARM1, buf, PARM3));
-           free (buf);
-           break;
-
-         case SYS_lseek:
-           SET_H_GR (ret_reg,
-                     sim_io_lseek (CPU_STATE (current_cpu),
-                                   PARM1, PARM2, PARM3));
-           break;
-           
-         case SYS_exit:
-           sim_engine_halt (CPU_STATE (current_cpu), current_cpu,
-                            NULL, pc, sim_exited, PARM1);
-           break;
-
-         case SYS_read:
-           buf = zalloc (PARM3);
-           SET_H_GR (ret_reg,
-                     sim_io_read (CPU_STATE (current_cpu),
-                                  PARM1, buf, PARM3));
-           sim_write (CPU_STATE (current_cpu), PARM2, buf, PARM3);
-           free (buf);
-           break;
-           
-         case SYS_open:
-           buf = fetch_str (current_cpu, pc, PARM1);
-           SET_H_GR (ret_reg,
-                     sim_io_open (CPU_STATE (current_cpu),
-                                  buf, PARM2));
-           free (buf);
-           break;
-
-         case SYS_close:
-           SET_H_GR (ret_reg,
-                     sim_io_close (CPU_STATE (current_cpu), PARM1));
-           break;
-
-         case SYS_time:
-           SET_H_GR (ret_reg, time (0));
-           break;
-
-         case SYS_argc:
-           SET_H_GR (ret_reg, countargv (STATE_PROG_ARGV (CPU_STATE (current_cpu))));
-           break;
-
-         case SYS_argnlen:
-           if (PARM1 < countargv (STATE_PROG_ARGV (CPU_STATE (current_cpu))))
-             SET_H_GR (ret_reg,
-                       strlen (STATE_PROG_ARGV (CPU_STATE (current_cpu)) [PARM1]));
-           else
-             SET_H_GR (ret_reg, -1);
-           break;
-
-         case SYS_argn:
-           if (PARM1 < countargv (STATE_PROG_ARGV (CPU_STATE (current_cpu))))
-             {
-               /* Include the NULL byte.  */
-               i = strlen (STATE_PROG_ARGV (CPU_STATE (current_cpu)) [PARM1]) + 1;
-               sim_write (CPU_STATE (current_cpu),
-                          PARM2,
-                          STATE_PROG_ARGV (CPU_STATE (current_cpu)) [PARM1],
-                          i);
-
-               /* Just for good measure.  */
-               SET_H_GR (ret_reg, i);
-               break;
-             }
-           else
-             SET_H_GR (ret_reg, -1);
-           break;
-
-         default:
-           SET_H_GR (ret_reg, -1);
-         }
-      }
-      break;
-    case 253:
-      puts ("pass");
-      exit (0);
-    case 254:
-      puts ("fail");
-      exit (1);
-    case 0xc3:
-      /* fall through.  */
-    case 255:
-      sim_engine_halt (CPU_STATE (current_cpu), current_cpu, NULL, pc, sim_stopped, SIM_SIGTRAP);
-      break;
-    }
-}
-
-void
-sh64_trapa (SIM_CPU *current_cpu, DI rm, PCADDR pc)
-{
-  trap_handler (current_cpu, 1, (UQI) rm & 0xff, pc);
-}
-
-void
-sh64_compact_trapa (SIM_CPU *current_cpu, UQI trapnum, PCADDR pc)
-{
-  int mach_sh5_p;
-
-  /* If this is an SH5 executable, this is SHcompact code running in
-     the SHmedia ABI.  */
-
-  mach_sh5_p =
-    (bfd_get_mach (STATE_PROG_BFD (CPU_STATE (current_cpu))) == bfd_mach_sh5);
-
-  trap_handler (current_cpu, mach_sh5_p, trapnum, pc);
-}
-
-DI
-sh64_nsb (SIM_CPU *current_cpu, DI rm)
-{
-  int result = 0, count;
-  UDI source = (UDI) rm;
-
-  if ((source >> 63))
-    source = ~source;
-  source <<= 1;
-
-  for (count = 32; count; count >>= 1)
-    {
-      UDI newval = source << count;
-
-      if ((newval >> count) == source)
-       {
-         result |= count;
-         source = newval;
-       }
-    }
-  
-  return result;
-}
-
-void
-sh64_break (SIM_CPU *current_cpu, PCADDR pc)
-{
-  SIM_DESC sd = CPU_STATE (current_cpu);
-  sim_engine_halt (sd, current_cpu, NULL, pc, sim_stopped, SIM_SIGTRAP);
-}
-
-SI
-sh64_movua (SIM_CPU *current_cpu, PCADDR pc, SI rn)
-{
-  SI v;
-  int i;
-
-  /* Move the data one byte at a time to avoid alignment problems.
-     Be aware of endianness.  */
-  v = 0;
-  for (i = 0; i < 4; ++i)
-    v = (v << 8) | (GETMEMQI (current_cpu, pc, rn + i) & 0xff);
-
-  v = T2H_4 (v);
-  return v;
-}
-
-void
-set_isa (SIM_CPU *current_cpu, int mode)
-{
-  /* Do nothing.  */
-}
-
-/* The semantic code invokes this for invalid (unrecognized) instructions.  */
-
-SEM_PC
-sim_engine_invalid_insn (SIM_CPU *current_cpu, IADDR cia, SEM_PC vpc)
-{
-  SIM_DESC sd = CPU_STATE (current_cpu);
-  sim_engine_halt (sd, current_cpu, NULL, cia, sim_stopped, SIM_SIGILL);
-
-  return vpc;
-}
-
-
-/* Process an address exception.  */
-
-void
-sh64_core_signal (SIM_DESC sd, SIM_CPU *current_cpu, sim_cia cia,
-                  unsigned int map, int nr_bytes, address_word addr,
-                  transfer_type transfer, sim_core_signals sig)
-{
-  sim_core_signal (sd, current_cpu, cia, map, nr_bytes, addr,
-                  transfer, sig);
-}
-
-
-/* Initialize cycle counting for an insn.
-   FIRST_P is non-zero if this is the first insn in a set of parallel
-   insns.  */
-
-void
-sh64_compact_model_insn_before (SIM_CPU *cpu, int first_p)
-{
-  /* Do nothing.  */
-}
-
-void
-sh64_media_model_insn_before (SIM_CPU *cpu, int first_p)
-{
-  /* Do nothing.  */
-}
-
-/* Record the cycles computed for an insn.
-   LAST_P is non-zero if this is the last insn in a set of parallel insns,
-   and we update the total cycle count.
-   CYCLES is the cycle count of the insn.  */
-
-void
-sh64_compact_model_insn_after(SIM_CPU *cpu, int last_p, int cycles)
-{
-  /* Do nothing.  */
-}
-
-void
-sh64_media_model_insn_after(SIM_CPU *cpu, int last_p, int cycles)
-{
-  /* Do nothing.  */
-}
-
-int
-sh64_fetch_register (SIM_CPU *cpu, int nr, unsigned char *buf, int len)
-{
-  /* Fetch general purpose registers. */
-  if (nr >= SIM_SH64_R0_REGNUM
-      && nr < (SIM_SH64_R0_REGNUM + SIM_SH64_NR_R_REGS)
-      && len == 8)
-    {
-      *((unsigned64*) buf) =
-       H2T_8 (sh64_h_gr_get (cpu, nr - SIM_SH64_R0_REGNUM));
-      return len;
-    }
-
-  /* Fetch PC.  */
-  if (nr == SIM_SH64_PC_REGNUM && len == 8)
-    {
-      *((unsigned64*) buf) = H2T_8 (sh64_h_pc_get (cpu) | sh64_h_ism_get (cpu));
-      return len;
-    }
-
-  /* Fetch status register (SR).  */
-  if (nr == SIM_SH64_SR_REGNUM && len == 8)
-    {
-      *((unsigned64*) buf) = H2T_8 (sh64_h_sr_get (cpu));
-      return len;
-    }
-      
-  /* Fetch saved status register (SSR) and PC (SPC).  */
-  if ((nr == SIM_SH64_SSR_REGNUM || nr == SIM_SH64_SPC_REGNUM)
-      && len == 8)
-    {
-      *((unsigned64*) buf) = 0;
-      return len;
-    }
-
-  /* Fetch target registers.  */
-  if (nr >= SIM_SH64_TR0_REGNUM
-      && nr < (SIM_SH64_TR0_REGNUM + SIM_SH64_NR_TR_REGS)
-      && len == 8)
-    {
-      *((unsigned64*) buf) =
-       H2T_8 (sh64_h_tr_get (cpu, nr - SIM_SH64_TR0_REGNUM));
-      return len;
-    }
-
-  /* Fetch floating point registers.  */
-  if (nr >= SIM_SH64_FR0_REGNUM
-      && nr < (SIM_SH64_FR0_REGNUM + SIM_SH64_NR_FP_REGS)
-      && len == 4)
-    {
-      *((unsigned32*) buf) =
-       H2T_4 (sh64_h_fr_get (cpu, nr - SIM_SH64_FR0_REGNUM));
-      return len;
-    }
-
-  /* We should never get here.  */
-  return 0;
-}
-
-int
-sh64_store_register (SIM_CPU *cpu, int nr, unsigned char *buf, int len)
-{
-  /* Store general purpose registers. */
-  if (nr >= SIM_SH64_R0_REGNUM
-      && nr < (SIM_SH64_R0_REGNUM + SIM_SH64_NR_R_REGS)
-      && len == 8)
-    {
-      sh64_h_gr_set (cpu, nr - SIM_SH64_R0_REGNUM, T2H_8 (*((unsigned64*)buf)));
-      return len;
-    }
-
-  /* Store PC.  */
-  if (nr == SIM_SH64_PC_REGNUM && len == 8)
-    {
-      unsigned64 new_pc = T2H_8 (*((unsigned64*)buf));
-      sh64_h_pc_set (cpu, new_pc);
-      return len;
-    }
-
-  /* Store status register (SR).  */
-  if (nr == SIM_SH64_SR_REGNUM && len == 8)
-    {
-      sh64_h_sr_set (cpu, T2H_8 (*((unsigned64*)buf)));
-      return len;
-    }
-
-  /* Store saved status register (SSR) and PC (SPC).  */
-  if (nr == SIM_SH64_SSR_REGNUM || nr == SIM_SH64_SPC_REGNUM)
-    {
-      /* Do nothing.  */
-      return len;
-    }
-
-  /* Store target registers.  */
-  if (nr >= SIM_SH64_TR0_REGNUM
-      && nr < (SIM_SH64_TR0_REGNUM + SIM_SH64_NR_TR_REGS)
-      && len == 8)
-    {
-      sh64_h_tr_set (cpu, nr - SIM_SH64_TR0_REGNUM, T2H_8 (*((unsigned64*)buf)));
-      return len;
-    }
-
-  /* Store floating point registers.  */
-  if (nr >= SIM_SH64_FR0_REGNUM
-      && nr < (SIM_SH64_FR0_REGNUM + SIM_SH64_NR_FP_REGS)
-      && len == 4)
-    {
-      sh64_h_fr_set (cpu, nr - SIM_SH64_FR0_REGNUM, T2H_4 (*((unsigned32*)buf)));
-      return len;
-    }
-
-  /* We should never get here.  */
-  return 0;
-}
-
-void
-sh64_engine_run_full(SIM_CPU *cpu)
-{
-  if (sh64_h_ism_get (cpu) == ISM_MEDIA)
-    {
-      if (!sh64_idesc_media)
-       {
-         sh64_media_init_idesc_table (cpu);
-         sh64_idesc_media = CPU_IDESC (cpu);
-       }
-      else
-       CPU_IDESC (cpu) = sh64_idesc_media;
-      sh64_media_engine_run_full (cpu);
-    }
-  else
-    {
-      if (!sh64_idesc_compact)
-       {
-         sh64_compact_init_idesc_table (cpu);
-         sh64_idesc_compact = CPU_IDESC (cpu);
-       }
-      else
-       CPU_IDESC (cpu) = sh64_idesc_compact;
-      sh64_compact_engine_run_full (cpu);
-    }
-}
-
-void
-sh64_engine_run_fast (SIM_CPU *cpu)
-{
-  if (sh64_h_ism_get (cpu) == ISM_MEDIA)
-    {
-      if (!sh64_idesc_media)
-       {
-         sh64_media_init_idesc_table (cpu);
-         sh64_idesc_media = CPU_IDESC (cpu);
-       }
-      else
-       CPU_IDESC (cpu) = sh64_idesc_media;
-      sh64_media_engine_run_fast (cpu);
-    }
-  else
-    {
-      if (!sh64_idesc_compact)
-       {
-         sh64_compact_init_idesc_table (cpu);
-         sh64_idesc_compact = CPU_IDESC (cpu);
-       }
-      else
-       CPU_IDESC (cpu) = sh64_idesc_compact;
-      sh64_compact_engine_run_fast (cpu);
-    }
-}
-
-static void
-sh64_prepare_run (SIM_CPU *cpu)
-{
-  /* Nothing.  */
-}
-
-static const CGEN_INSN *
-sh64_get_idata (SIM_CPU *cpu, int inum)
-{
-  return CPU_IDESC (cpu) [inum].idata;
-}
-
-static void
-sh64_init_cpu (SIM_CPU *cpu)
-{
-  CPU_REG_FETCH (cpu) = sh64_fetch_register;
-  CPU_REG_STORE (cpu) = sh64_store_register;
-  CPU_PC_FETCH (cpu) = sh64_h_pc_get;
-  CPU_PC_STORE (cpu) = sh64_h_pc_set;
-  CPU_GET_IDATA (cpu) = sh64_get_idata;
-  /* Only used by profiling.  0 disables it. */
-  CPU_MAX_INSNS (cpu) = 0;
-  CPU_INSN_NAME (cpu) = cgen_insn_name;
-  CPU_FULL_ENGINE_FN (cpu) = sh64_engine_run_full;
-#if WITH_FAST
-  CPU_FAST_ENGINE_FN (cpu) = sh64_engine_run_fast;
-#else
-  CPU_FAST_ENGINE_FN (cpu) = sh64_engine_run_full;
-#endif
-}
-
-static void
-shmedia_init_cpu (SIM_CPU *cpu)
-{
-  sh64_init_cpu (cpu);
-}
-
-static void
-shcompact_init_cpu (SIM_CPU *cpu)
-{ 
-  sh64_init_cpu (cpu);
-}
-
-static void
-sh64_model_init()
-{
-  /* Do nothing.  */
-}
-
-static const SIM_MODEL sh_models [] =
-{
-  { "sh2",        & sh2_mach,         MODEL_SH5, NULL, sh64_model_init },
-  { "sh2e",       & sh2e_mach,        MODEL_SH5, NULL, sh64_model_init },
-  { "sh2a",       & sh2a_fpu_mach,    MODEL_SH5, NULL, sh64_model_init },
-  { "sh2a_nofpu", & sh2a_nofpu_mach,  MODEL_SH5, NULL, sh64_model_init },
-  { "sh3",        & sh3_mach,         MODEL_SH5, NULL, sh64_model_init },
-  { "sh3e",       & sh3_mach,         MODEL_SH5, NULL, sh64_model_init },
-  { "sh4",        & sh4_mach,         MODEL_SH5, NULL, sh64_model_init },
-  { "sh4_nofpu",  & sh4_nofpu_mach,   MODEL_SH5, NULL, sh64_model_init },
-  { "sh4a",       & sh4a_mach,        MODEL_SH5, NULL, sh64_model_init },
-  { "sh4a_nofpu", & sh4a_nofpu_mach,  MODEL_SH5, NULL, sh64_model_init },
-  { "sh4al",      & sh4al_mach,       MODEL_SH5, NULL, sh64_model_init },
-  { "sh5",        & sh5_mach,         MODEL_SH5, NULL, sh64_model_init },
-  { 0 }
-};
-
-static const SIM_MACH_IMP_PROPERTIES sh5_imp_properties =
-{
-  sizeof (SIM_CPU),
-#if WITH_SCACHE
-  sizeof (SCACHE)
-#else
-  0
-#endif
-};
-
-const SIM_MACH sh2_mach =
-{
-  "sh2", "sh2", MACH_SH5,
-  16, 16, &sh_models[0], &sh5_imp_properties,
-  shcompact_init_cpu,
-  sh64_prepare_run
-};
-
-const SIM_MACH sh2e_mach =
-{
-  "sh2e", "sh2e", MACH_SH5,
-  16, 16, &sh_models[1], &sh5_imp_properties,
-  shcompact_init_cpu,
-  sh64_prepare_run
-};
-
-const SIM_MACH sh2a_fpu_mach =
-{
-  "sh2a", "sh2a", MACH_SH5,
-  16, 16, &sh_models[2], &sh5_imp_properties,
-  shcompact_init_cpu,
-  sh64_prepare_run
-};
-
-const SIM_MACH sh2a_nofpu_mach =
-{
-  "sh2a_nofpu", "sh2a_nofpu", MACH_SH5,
-  16, 16, &sh_models[3], &sh5_imp_properties,
-  shcompact_init_cpu,
-  sh64_prepare_run
-};
-
-const SIM_MACH sh3_mach =
-{
-  "sh3", "sh3", MACH_SH5,
-  16, 16, &sh_models[4], &sh5_imp_properties,
-  shcompact_init_cpu,
-  sh64_prepare_run
-};
-
-const SIM_MACH sh3e_mach =
-{
-  "sh3e", "sh3e", MACH_SH5,
-  16, 16, &sh_models[5], &sh5_imp_properties,
-  shcompact_init_cpu,
-  sh64_prepare_run
-};
-
-const SIM_MACH sh4_mach =
-{
-  "sh4", "sh4", MACH_SH5,
-  16, 16, &sh_models[6], &sh5_imp_properties,
-  shcompact_init_cpu,
-  sh64_prepare_run
-};
-
-const SIM_MACH sh4_nofpu_mach =
-{
-  "sh4_nofpu", "sh4_nofpu", MACH_SH5,
-  16, 16, &sh_models[7], &sh5_imp_properties,
-  shcompact_init_cpu,
-  sh64_prepare_run
-};
-
-const SIM_MACH sh4a_mach =
-{
-  "sh4a", "sh4a", MACH_SH5,
-  16, 16, &sh_models[8], &sh5_imp_properties,
-  shcompact_init_cpu,
-  sh64_prepare_run
-};
-
-const SIM_MACH sh4a_nofpu_mach =
-{
-  "sh4a_nofpu", "sh4a_nofpu", MACH_SH5,
-  16, 16, &sh_models[9], &sh5_imp_properties,
-  shcompact_init_cpu,
-  sh64_prepare_run
-};
-
-const SIM_MACH sh4al_mach =
-{
-  "sh4al", "sh4al", MACH_SH5,
-  16, 16, &sh_models[10], &sh5_imp_properties,
-  shcompact_init_cpu,
-  sh64_prepare_run
-};
-
-const SIM_MACH sh5_mach =
-{
-  "sh5", "sh5", MACH_SH5,
-  32, 32, &sh_models[11], &sh5_imp_properties,
-  shmedia_init_cpu,
-  sh64_prepare_run
-};
diff --git a/sim/sh64/sim-if.c b/sim/sh64/sim-if.c
deleted file mode 100644 (file)
index e8c2ebc..0000000
+++ /dev/null
@@ -1,204 +0,0 @@
-/* Main simulator entry points specific to the SH5.
-   Copyright (C) 2000-2021 Free Software Foundation, Inc.
-   Contributed by Cygnus Solutions.
-
-This file is part of the GNU 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 "libiberty.h"
-#include "bfd.h"
-#include "sim-main.h"
-#ifdef HAVE_STDLIB_H
-#include <stdlib.h>
-#endif
-#include "sim-options.h"
-#include "dis-asm.h"
-
-static void free_state (SIM_DESC);
-
-/* Since we don't build the cgen-opcode table, we use a wrapper around
-   the existing disassembler from libopcodes. */
-static CGEN_DISASSEMBLER sh64_disassemble_insn;
-\f
-/* Cover function of sim_state_free to free the cpu buffers as well.  */
-
-static void
-free_state (SIM_DESC sd)
-{
-  if (STATE_MODULES (sd) != NULL)
-    sim_module_uninstall (sd);
-  sim_cpu_free_all (sd);
-  sim_state_free (sd);
-}
-
-/* Create an instance of the simulator.  */
-
-SIM_DESC
-sim_open (kind, callback, abfd, argv)
-     SIM_OPEN_KIND kind;
-     host_callback *callback;
-     struct bfd *abfd;
-     char * const *argv;
-{
-  char c;
-  int i;
-  SIM_DESC sd = sim_state_alloc (kind, callback);
-
-  /* The cpu data is kept in a separately allocated chunk of memory.  */
-  if (sim_cpu_alloc_all (sd, 1, cgen_cpu_max_extra_bytes ()) != SIM_RC_OK)
-    {
-      free_state (sd);
-      return 0;
-    }
-
-#if 0 /* FIXME: pc is in mach-specific struct */
-  /* FIXME: watchpoints code shouldn't need this */
-  {
-    SIM_CPU *current_cpu = STATE_CPU (sd, 0);
-    STATE_WATCHPOINTS (sd)->pc = &(PC);
-    STATE_WATCHPOINTS (sd)->sizeof_pc = sizeof (PC);
-  }
-#endif
-
-  if (sim_pre_argv_init (sd, argv[0]) != SIM_RC_OK)
-    {
-      free_state (sd);
-      return 0;
-    }
-
-  /* The parser will print an error message for us, so we silently return.  */
-  if (sim_parse_args (sd, argv) != SIM_RC_OK)
-    {
-      free_state (sd);
-      return 0;
-    }
-
-  /* Allocate core managed memory if none specified by user.
-     Use address 4 here in case the user wanted address 0 unmapped.  */
-  if (sim_core_read_buffer (sd, NULL, read_map, &c, 4, 1) == 0)
-    sim_do_commandf (sd, "memory region 0,0x%x", SH64_DEFAULT_MEM_SIZE);
-
-  /* Add a small memory region way up in the address space to handle
-     writes to invalidate an instruction cache line.  This is used for
-     trampolines.  Since we don't simulate the cache, this memory just
-     avoids bus errors.  64K ought to do. */
-  sim_do_command (sd," memory region 0xf0000000,0x10000");
-
-  /* check for/establish the reference program image */
-  if (sim_analyze_program (sd,
-                          (STATE_PROG_ARGV (sd) != NULL
-                           ? *STATE_PROG_ARGV (sd)
-                           : NULL),
-                          abfd) != SIM_RC_OK)
-    {
-      free_state (sd);
-      return 0;
-    }
-
-  /* Establish any remaining configuration options.  */
-  if (sim_config (sd) != SIM_RC_OK)
-    {
-      free_state (sd);
-      return 0;
-    }
-
-  if (sim_post_argv_init (sd) != SIM_RC_OK)
-    {
-      free_state (sd);
-      return 0;
-    }
-
-  /* Open a copy of the cpu descriptor table.  */
-  {
-    CGEN_CPU_DESC cd = sh_cgen_cpu_open_1 (STATE_ARCHITECTURE (sd)->printable_name,
-                                             CGEN_ENDIAN_BIG);
-
-    for (i = 0; i < MAX_NR_PROCESSORS; ++i)
-      {
-       SIM_CPU *cpu = STATE_CPU (sd, i);
-       CPU_CPU_DESC (cpu) = cd;
-       CPU_DISASSEMBLER (cpu) = sh64_disassemble_insn;
-      }
-  }
-
-  /* Clear idesc table pointers for good measure. */
-  sh64_idesc_media = sh64_idesc_compact = NULL;
-
-  /* Initialize various cgen things not done by common framework.
-     Must be done after sh_cgen_cpu_open.  */
-  cgen_init (sd);
-
-  return sd;
-}
-\f
-SIM_RC
-sim_create_inferior (sd, abfd, argv, envp)
-     SIM_DESC sd;
-     struct bfd *abfd;
-     char * const *argv;
-     char * const *envp;
-{
-  SIM_CPU *current_cpu = STATE_CPU (sd, 0);
-  SIM_ADDR addr;
-
-  if (abfd != NULL)
-    addr = bfd_get_start_address (abfd);
-  else
-    addr = 0;
-  sim_pc_set (current_cpu, addr);
-
-  /* Standalone mode (i.e. `run`) will take care of the argv for us in
-     sim_open() -> sim_parse_args().  But in debug mode (i.e. 'target sim'
-     with `gdb`), we need to handle it because the user can change the
-     argv on the fly via gdb's 'run'.  */
-  if (STATE_PROG_ARGV (sd) != argv)
-    {
-      freeargv (STATE_PROG_ARGV (sd));
-      STATE_PROG_ARGV (sd) = dupargv (argv);
-    }
-
-  return SIM_RC_OK;
-}
-\f
-/* Disassemble an instruction.  */
-
-static void
-sh64_disassemble_insn (SIM_CPU *cpu, const CGEN_INSN *insn,
-                       const ARGBUF *abuf, IADDR pc, char *buf)
-{
-  struct disassemble_info disasm_info;
-  SFILE sfile;
-  SIM_DESC sd = CPU_STATE (cpu);
-
-  sfile.buffer = sfile.current = buf;
-  INIT_DISASSEMBLE_INFO (disasm_info, (FILE *) &sfile,
-                         (fprintf_ftype) sim_disasm_sprintf);
-
-  disasm_info.arch = bfd_get_arch (STATE_PROG_BFD (sd));
-  disasm_info.mach = bfd_get_mach (STATE_PROG_BFD (sd));
-  disasm_info.endian =
-    (bfd_big_endian (STATE_PROG_BFD (sd)) ? BFD_ENDIAN_BIG
-     : bfd_little_endian (STATE_PROG_BFD (sd)) ? BFD_ENDIAN_LITTLE
-     : BFD_ENDIAN_UNKNOWN);
-  disasm_info.read_memory_func = sim_disasm_read_memory;
-  disasm_info.memory_error_func = sim_disasm_perror_memory;
-  disasm_info.application_data = (PTR) cpu;
-
-  if (sh64_h_ism_get (cpu) == ISM_MEDIA)
-    print_insn_sh64x_media (pc, &disasm_info);
-  else
-    print_insn_sh (pc, &disasm_info);
-}
diff --git a/sim/sh64/sim-main.h b/sim/sh64/sim-main.h
deleted file mode 100644 (file)
index da8f516..0000000
+++ /dev/null
@@ -1,72 +0,0 @@
-/* Main header for the Hitachi SH64 architecture.  */
-
-#ifndef SIM_MAIN_H
-#define SIM_MAIN_H
-
-/* 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"
-
-/* This is a global setting.  Different cpu families can't mix-n-match -scache
-   and -pbb.  However some cpu families may use -simple while others use
-   one of -scache/-pbb. ???? */
-#define WITH_SCACHE_PBB 1
-
-#include "symcat.h"
-#include "sim-basics.h"
-#include "cgen-types.h"
-#include "sh-desc.h"
-#include "sh-opc.h"
-#include "arch.h"
-
-/* These must be defined before sim-base.h.  */
-typedef UDI sim_cia;
-#define CIA_ADDR(cia) (cia)
-
-#include "sim-base.h"
-#include "cgen-sim.h"
-#include "sh64-sim.h"
-\f
-/* The _sim_cpu struct.  */
-
-struct _sim_cpu {
-  /* sim/common cpu base.  */
-  sim_cpu_base base;
-
-  /* Static parts of cgen.  */
-  CGEN_CPU cgen_cpu;
-
-  /* CPU specific parts go here.
-     Note that in files that don't need to access these pieces WANT_CPU_FOO
-     won't be defined and thus these parts won't appear.  This is ok in the
-     sense that things work.  It is a source of bugs though.
-     One has to of course be careful to not take the size of this
-     struct and no structure members accessed in non-cpu specific files can
-     go after here.  Oh for a better language.  */
-#if defined (WANT_CPU_SH64)
-  SH64_CPU_DATA cpu_data;
-#endif
-};
-\f
-/* The sim_state struct.  */
-
-struct sim_state {
-  sim_cpu *cpu[MAX_NR_PROCESSORS];
-
-  CGEN_STATE cgen_state;
-
-  sim_state_base base;
-};
-\f
-/* Misc.  */
-
-/* Catch address exceptions.  */
-extern SIM_CORE_SIGNAL_FN sh64_core_signal;
-#define SIM_CORE_SIGNAL(SD,CPU,CIA,MAP,NR_BYTES,ADDR,TRANSFER,ERROR) \
-sh64_core_signal ((SD), (CPU), (CIA), (MAP), (NR_BYTES), (ADDR), \
-                 (TRANSFER), (ERROR))
-
-/* Default memory size.  */
-#define SH64_DEFAULT_MEM_SIZE 0x800000 /* 8M */
-
-#endif /* SIM_MAIN_H */
index 4767062a9bf2b4b15fd9c3a3453eb781e8d88a80..94d30a985125496494906d64694eeb7b1cabd2e2 100644 (file)
@@ -1,3 +1,8 @@
+2021-01-09  Mike Frysinger  <vapier@gentoo.org>
+
+       * configure: Regenerate.
+       * sim/sh64/: Delete.
+
 2021-01-05  Mike Frysinger  <vapier@gentoo.org>
 
        * sim/fr30/: Delete.
index 6f0464dc14a60c4d2b6fcbb82b2b9c188da7733b..88ff4bf33dfe6f6d53e69561e1e16a845c0a3fa0 100755 (executable)
@@ -1940,9 +1940,6 @@ case "${target}" in
    rx-*-*)
        sim_arch=rx
        ;;
-   sh64*-*-*)
-       sim_arch=sh64
-       ;;
    sh*-*-*)
        sim_arch=sh
        ;;
diff --git a/sim/testsuite/sim/sh64/ChangeLog b/sim/testsuite/sim/sh64/ChangeLog
deleted file mode 100644 (file)
index 8bb2f76..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-2001-01-06  Ben Elliston  <bje@redhat.com>
-
-       * misc/fr-dr.s: New test.
-
-2001-01-03  Ben Elliston  <bje@redhat.com>
-
-       * interwork.exp: Match .s files only.
-
-2000-12-06  Ben Elliston  <bje@redhat.com>
-
-       * interwork.exp: New test case.
-
-2000-11-16  Ben Elliston  <bje@redhat.com>
-
-       * allinsn.exp: Rename from this ..
-       * compact.exp: .. to this.
-       * media.exp: New test case.
-
-2000-11-13  Ben Elliston  <bje@redhat.com>
-
-       * allinsn.exp: New test case.
diff --git a/sim/testsuite/sim/sh64/compact.exp b/sim/testsuite/sim/sh64/compact.exp
deleted file mode 100644 (file)
index d3d482a..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-# SHcompact testsuite.
-
-if [istarget sh64-*-*] {
-    # load support procs (none yet)
-    # load_lib cgen.exp
-
-    # all machines
-    set all_machs "sh5"
-
-    # The .cgs suffix is for "cgen .s".
-    foreach src [lsort [glob -nocomplain $srcdir/$subdir/compact/*.cgs]] {
-       # If we're only testing specific files and this isn't one of them,
-       # skip it.
-       if ![runtest_file_p $runtests $src] {
-         continue
-       }
-    run_sim_test $src $all_machs
-    }
-}
diff --git a/sim/testsuite/sim/sh64/compact/ChangeLog b/sim/testsuite/sim/sh64/compact/ChangeLog
deleted file mode 100644 (file)
index 99aaec1..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-2002-01-09  Ben Elliston  <bje@redhat.com>
-
-       * macl.cgs: For good measure, clear the S bit at startup.
-
-2001-01-11  Ben Elliston  <bje@redhat.com>
-
-       * fmov.cgs (f13b): Compare R0 with R1, not R2, when testing that
-       the source register was correctly post-incremented.
-
-2000-12-01  Ben Elliston  <bje@redhat.com>
-
-       * *.cgs (ld): Link tests with -m shelf32.
-
-2000-11-24  Ben Elliston  <bje@redhat.com>
-
-       * fmov.cgs: New test case.
-       * ftrv.cgs: Populate the matrix with meaningful values.
-
-2000-11-22  Ben Elliston  <bje@redhat.com>
-
-       * *.cgs (as): Assemble tests with -isa=shcompact.
-
-2000-11-16  Ben Elliston  <bje@redhat.com>
-
-       * *.cgs: New test cases.
-
diff --git a/sim/testsuite/sim/sh64/compact/add.cgs b/sim/testsuite/sim/sh64/compact/add.cgs
deleted file mode 100644 (file)
index 105e484..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-# sh testcase for add $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-init:
-       # Initialise some registers with values which help us to verify
-       # that the correct source registers are used by the ADD instruction.
-       mov #0, r0
-       mov #1, r1
-       mov #2, r2
-       mov #3, r3
-       mov #5, r5
-       mov #15, r15
-
-add:   
-       # 0 + 0 = 0.
-       add r0, r0
-       assert r0, #0
-
-       # 0 + 1 = 1.
-       add r0, r1
-       assert r1, #1
-
-       # 1 + 2 = 3.
-       add r1, r2
-       assert r2, #3
-
-       # 3 + 5 = 8.
-       add r3, r5
-       assert r5, #8
-       
-       # 8 + 8 = 16.
-       add r5, r5
-       assert r5, #16
-
-       # 15 + 1 = 16.
-       add r15, r1
-       assert r1, #16
-
-neg:
-       mov #1, r0
-       neg r0, r0
-       mov #2, r1
-       add r0, r1
-       assert r1, #1
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/addc.cgs b/sim/testsuite/sim/sh64/compact/addc.cgs
deleted file mode 100644 (file)
index f6e46e1..0000000
+++ /dev/null
@@ -1,90 +0,0 @@
-# sh testcase for addc $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       # Initialise some registers with values which help us to verify
-       # that the correct source registers are used by the ADDC instruction.
-
-       .macro init
-       mov #0, r0
-       mov #1, r1
-       mov #2, r2
-       mov #3, r3
-       mov #5, r5
-       mov #15, r15
-       .endm
-       
-       start
-
-       init
-add:
-       clrt
-       addc r0, r0
-       assert r0, #0
-       clrt
-       addc r0, r1
-       assert r1, #1
-       clrt
-       addc r1, r2
-       assert r2, #3
-       clrt
-       addc r3, r5
-       assert r5, #8
-       clrt
-       addc r5, r5
-       assert r5, #16
-       clrt
-       addc r15, r1
-       assert r1, #16
-
-       init
-addt:
-       sett
-       addc r0, r0
-       assert r0, #1
-       sett
-       addc r0, r1
-       assert r1, #3
-       sett
-       addc r1, r2
-       assert r2, #6
-       sett
-       addc r3, r5
-       assert r5, #9
-       sett
-       addc r5, r5
-       assert r5, #19
-       sett
-       addc r15, r1
-       assert r1, #19
-
-       bra next
-       nop
-
-wrong:
-       fail
-
-next:
-       init
-large:
-       clrt
-       mov #1, r0
-       neg r0, r0
-       mov #2, r1
-       addc r0, r1
-       assert r1, #1
-
-       init
-larget:
-       sett
-       mov #1, r0
-       neg r0, r0
-       mov #2, r1
-       addc r0, r1
-       assert r1, #2
-
-okay:  
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/addi.cgs b/sim/testsuite/sim/sh64/compact/addi.cgs
deleted file mode 100644 (file)
index 7c96ddf..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-# sh testcase for add #$imm8, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-init:
-       # Initialise some registers with values which help us to verify
-       # that the correct source registers are used by the ADD instruction.
-       mov #0, r0
-       mov #1, r1
-       mov #2, r2
-       mov #3, r3
-       mov #5, r5
-       mov #15, r15
-
-addi:
-       # 0 + 0 = 0.
-       add #0, r0
-       assert r0, #0
-
-       # 0 + 1 = 1.
-       add #0, r1
-       assert r1, #1
-
-       # 2 + 2 = 4.
-       add #2, r2
-       assert r2, #4
-
-       # 120 + 5 = 125.
-       add #120, r5
-       assert r5, #125
-
-large:
-       mov #1, r0
-       neg r0, r0
-       add #2, r0
-       assert r0, #1
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/addv.cgs b/sim/testsuite/sim/sh64/compact/addv.cgs
deleted file mode 100644 (file)
index 0267e5d..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-# sh testcase for addv $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-zero:
-       mov #0, r0
-       mov #0, r1
-       addv r0, r1
-       # Assert !T and #0.
-       bt wrong
-       assert r1, #0
-
-one:
-       mov #0, r0
-       mov #1, r1
-       addv r0, r1
-       # Assert !T and #1.
-       bt wrong
-       assert r1, #1
-
-large:
-       # Produce MAXINT in R0.
-       mov #0, r0
-       not r0, r0
-       shlr r0
-
-       # Put #3 into R1.
-       mov #3, r1
-
-       # Add them and overflow.
-       addv r0, r1
-
-       # Assert T and overflowed value.
-       bf wrong
-       mov #1, r7
-       rotr r7
-       add #2, r7
-       cmp/eq r1, r7
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/and.cgs b/sim/testsuite/sim/sh64/compact/and.cgs
deleted file mode 100644 (file)
index e145275..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-# sh testcase for and $rm64, $rn64 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global and
-and:
-       mov #1, r1
-       mov #7, r2
-       rotr r2
-       rotr r2
-       and r1, r2
-
-       # R1 & R2 = 1.
-       assert r2, #1
-
-another:
-       mov #192, r1
-       mov #0, r2
-       and r1, r2
-
-       # R1 & R2 = 0.
-       assert r2, #0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/andb.cgs b/sim/testsuite/sim/sh64/compact/andb.cgs
deleted file mode 100644 (file)
index 77e6285..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# sh testcase for and.b #$imm8, @(r0, gbr) -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global orb
-init:
-       # Init GBR and R0.
-       mov #30, r0
-       ldc r0, gbr     
-       mov #40, r0
-
-orb:
-       and.b #255, @(r0, gbr)
-       and.b #170, @(r0, gbr)
-       and.b #255, @(r0, gbr)
-       and.b #0, @(r0, gbr)
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/andi.cgs b/sim/testsuite/sim/sh64/compact/andi.cgs
deleted file mode 100644 (file)
index 32d71c5..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-# sh testcase for and #$imm8, r0 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global andi
-andi:
-       mov #0, r0
-       or #255, r0
-       and #0, r0
-       assert r0, #0
-
-large:
-       mov #0, r0
-       or #255, r0
-       shll8 r0
-       or #255, r0
-       shll8 r0
-       or #255, r0
-       shll8 r0
-       or #255, r0
-
-mask:
-       and #255, r0
-       mov r0, r1
-       mov #0, r0
-       or #255, r0
-       cmp/eq r0, r1
-       bf wrong
-
-mask0:
-       and #0, r0
-       assert r0, #0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/bf.cgs b/sim/testsuite/sim/sh64/compact/bf.cgs
deleted file mode 100644 (file)
index 5c361f9..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# sh testcase for bf $disp8 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global taken
-taken:
-       clrt
-       bf ntaken
-       fail
-       .global ntaken
-ntaken:
-       sett
-       bf bad
-       pass
-bad:
-       fail
-       fail
-       fail
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/bfs.cgs b/sim/testsuite/sim/sh64/compact/bfs.cgs
deleted file mode 100644 (file)
index 3cad5f6..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# sh testcase for bf/s $disp8 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global taken
-taken:
-       clrt
-       bf/s ntaken
-slot1:
-       nop
-       fail
-       .global ntaken
-ntaken:
-       sett
-       bf/s bad
-slot2:
-       nop
-       pass
-bad:
-       fail
-       fail
-       fail
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/bra.cgs b/sim/testsuite/sim/sh64/compact/bra.cgs
deleted file mode 100644 (file)
index 77c6da9..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-# sh testcase for bra $disp12 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global bra
-bra:
-       bra okay
-slot:
-       nop
-bad:
-       fail
-       fail
-       fail
-       .global okay
-okay:
-       pass
-       fail
-
diff --git a/sim/testsuite/sim/sh64/compact/braf.cgs b/sim/testsuite/sim/sh64/compact/braf.cgs
deleted file mode 100644 (file)
index e761f6d..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# sh testcase for braf $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global braf
-braf:
-       mov #4, r0
-       braf r0
-slot:
-       nop
-bad:
-       fail
-       fail
-okay:
-       pass
-alsobad:
-       fail
-       fail
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/brk.cgs b/sim/testsuite/sim/sh64/compact/brk.cgs
deleted file mode 100644 (file)
index 9908072..0000000
+++ /dev/null
@@ -1,18 +0,0 @@
-# sh testcase for brk -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       .global brk
-brk:
-       # If we hit the breakpoint, the sim will stop.
-       pass
-
-       # FIXME: breakpoint instruction.
-       # The SH4 assembler doesn't know about "brk".
-       .word 0x003b
-bad:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/bsr.cgs b/sim/testsuite/sim/sh64/compact/bsr.cgs
deleted file mode 100644 (file)
index 75a1a2b..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# sh testcase for bsr $disp12 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global bsr
-bsr:
-       bsr okay
-slot:
-       nop
-bad:
-       fail
-       fail
-okay:
-       pass
-alsobad:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/bsrf.cgs b/sim/testsuite/sim/sh64/compact/bsrf.cgs
deleted file mode 100644 (file)
index 9360eaa..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# sh testcase for bsrf $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-bsrf:
-       mov #4, r0
-       bsrf r0
-slot:
-       nop
-bad:
-       fail
-       fail
-okay:
-       pass
-alsobad:
-       fail
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/bt.cgs b/sim/testsuite/sim/sh64/compact/bt.cgs
deleted file mode 100644 (file)
index 65b9d61..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# sh testcase for bt $disp8
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global taken
-taken:
-       sett
-       bt ntaken
-       fail
-       .global ntaken
-ntaken:
-       clrt
-       bt bad
-       pass
-bad:
-       fail
-       fail
-       fail
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/bts.cgs b/sim/testsuite/sim/sh64/compact/bts.cgs
deleted file mode 100644 (file)
index 3d62e4d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# sh testcase for bt/s $disp8 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global taken
-taken:
-       sett
-       bt/s ntaken
-slot1:
-       nop
-       fail
-       .global ntaken
-ntaken:
-       clrt
-       bt/s bad
-slot2:
-       nop
-       pass
-bad:
-       fail
-       fail
-       fail
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/clrmac.cgs b/sim/testsuite/sim/sh64/compact/clrmac.cgs
deleted file mode 100644 (file)
index 482dc80..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# sh testcase for clrmac -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global clrmac
-clrmac:
-       clrmac
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/clrs.cgs b/sim/testsuite/sim/sh64/compact/clrs.cgs
deleted file mode 100644 (file)
index bed5fd5..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for clrs -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global clrs
-clrs:
-       clrs
-       # Somehow ensure that S is set.
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/clrt.cgs b/sim/testsuite/sim/sh64/compact/clrt.cgs
deleted file mode 100644 (file)
index 281c2f4..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-# sh testcase for clrt -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global clrt
-clrt:
-       clrt
-       bt wrong
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/cmpeq.cgs b/sim/testsuite/sim/sh64/compact/cmpeq.cgs
deleted file mode 100644 (file)
index 3cc744c..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-# sh testcase for cmp/eq $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-zeroes:
-       mov #0, r1
-       mov #0, r2
-       cmp/eq r1, r2
-       bf wrong
-
-zero1:
-       mov #0, r1
-       mov #1, r2
-       cmp/eq r1, r2
-       bt wrong
-       
-zero2:
-       mov #0, r2
-       mov #1, r1
-       cmp/eq r2, r1
-       bt wrong
-       
-equal:
-       mov #192, r1
-       mov #192, r2
-       cmp/eq r1, r2
-       bf wrong
-       
-noteq:
-       mov #192, r1
-       mov #193, r2
-       cmp/eq r1, r2
-       bt wrong
-       
-large:
-       mov #1, r1
-       rotr r1
-       mov #1, r2
-       rotr r2
-       cmp/eq r1, r2
-       bf wrong
-       
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/cmpeqi.cgs b/sim/testsuite/sim/sh64/compact/cmpeqi.cgs
deleted file mode 100644 (file)
index 79900a0..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-# sh testcase for cmp/eq #$imm8, r0 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-zeroes:
-       mov #0, r0
-       cmp/eq #0, r0
-       bf wrong
-       
-zero1:
-       mov #0, r0
-       cmp/eq #1, r0
-       bt wrong
-       
-zero2:
-       mov #1, r0
-       cmp/eq #0, r0
-       bt wrong
-       
-equal:
-       mov #192, r0
-       cmp/eq #192, r0
-       bf wrong
-       
-sign:
-       mov #255, r0
-       cmp/eq #255, r0
-       bf wrong
-       
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/cmpge.cgs b/sim/testsuite/sim/sh64/compact/cmpge.cgs
deleted file mode 100644 (file)
index 9d4327e..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-# sh testcase for cmp/ge $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-zero:
-       mov #0, r0
-       mov #0, r1
-       cmp/ge r0, r1
-       bf wrong
-
-onezero:
-       mov #1, r0
-       mov #0, r1
-       cmp/ge r0, r1
-       bt wrong
-
-zeroone:
-       mov #0, r0
-       mov #1, r1
-       cmp/ge r0, r1
-       bf wrong
-
-equal:
-       mov #192, r0
-       mov #192, r1
-       cmp/ge r0, r1
-       bf wrong
-
-eqlarge:
-       mov #1, r0
-       rotr r0
-       add #85, r0
-       mov #1, r1
-       rotr r1
-       add #85, r1
-       cmp/ge r0, r1
-       bf wrong
-
-large2:
-       mov #1, r0
-       rotr r0
-       add #85, r0
-       mov #1, r1
-       rotr r1
-       add #84, r1
-       cmp/ge r0, r1
-       bt wrong
-
-large3:
-       mov #1, r0
-       rotr r0
-       add #84, r0
-       mov #1, r1
-       rotr r1
-       add #85, r1
-       cmp/ge r0, r1
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/cmpgt.cgs b/sim/testsuite/sim/sh64/compact/cmpgt.cgs
deleted file mode 100644 (file)
index 460ca65..0000000
+++ /dev/null
@@ -1,69 +0,0 @@
-# sh testcase for cmp/gt $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-zero:
-       mov #0, r0
-       mov #0, r1
-       cmp/gt r0, r1
-       bt wrong
-
-onezero:
-       mov #1, r0
-       mov #0, r1
-       cmp/gt r0, r1
-       bt wrong
-
-zeroone:
-       mov #0, r0
-       mov #1, r1
-       cmp/gt r0, r1
-       bf wrong
-       
-equal:
-       mov #192, r0
-       mov #192, r1
-       cmp/gt r0, r1
-       bt wrong
-
-eqlarge:
-       mov #1, r0
-       rotr r0
-       add #85, r0
-       mov #1, r1
-       rotr r1
-       add #85, r1
-       cmp/gt r0, r1
-       bt wrong
-       
-large2:
-       mov #1, r0
-       rotr r0
-       add #85, r0
-       mov #1, r1
-       rotr r1
-       add #84, r1
-       cmp/gt r0, r1
-       bt wrong
-
-large3:
-       mov #1, r0
-       rotr r0
-       add #84, r0
-       mov #1, r1
-       rotr r1
-       add #85, r1
-       cmp/gt r0, r1
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/cmphi.cgs b/sim/testsuite/sim/sh64/compact/cmphi.cgs
deleted file mode 100644 (file)
index efbcaa3..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-# sh testcase for cmp/hi $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-zero:
-       mov #0, r0
-       mov #0, r0
-       cmp/hi r0, r1
-       bt wrong
-
-equal:
-       mov #1, r0
-       rotr r0
-       add #3, r0
-
-       mov #1, r1
-       rotr r1
-       add #3, r1
-
-       cmp/hi r0, r1
-       bt wrong
-
-gt:
-       mov #10, r0
-       mov #12, r1
-       cmp/hi r0, r1
-       bf wrong
-
-lt:
-       mov #12, r0
-       mov #10, r1
-       cmp/hi r0, r1
-       bt wrong
-
-gtneg:
-       mov #1, r0
-       rotr r0
-       add #1, r0
-
-       mov #1, r1
-       rotr r1
-       add #3, r1
-
-       cmp/hi r0, r1
-       bf wrong
-
-ltneg:
-       mov #1, r0
-       rotr r0
-       add #3, r0
-       
-       mov #1, r1
-       rotr r1
-       add #1, r1
-
-       cmp/hi r0, r1
-       bt wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/cmphs.cgs b/sim/testsuite/sim/sh64/compact/cmphs.cgs
deleted file mode 100644 (file)
index 957f80c..0000000
+++ /dev/null
@@ -1,59 +0,0 @@
-# sh testcase for cmp/hs $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-zero:
-       mov #0, r0
-       mov #0, r0
-       cmp/hs r0, r1
-
-equal:
-       mov #1, r0
-       rotr r0
-       add #3, r0
-
-       mov #1, r1
-       rotr r1
-       add #3, r1
-
-       cmp/hs r0, r1
-
-gt:
-       mov #10, r0
-       mov #12, r1
-       cmp/hs r0, r1
-
-lt:
-       mov #12, r0
-       mov #10, r1
-       cmp/hs r0, r1
-
-gtneg:
-       mov #1, r0
-       rotr r0
-       add #1, r0
-
-       mov #1, r1
-       rotr r1
-       add #3, r1
-
-       cmp/hs r0, r1
-
-ltneg:
-       mov #1, r0
-       rotr r0
-       add #3, r0
-       
-       mov #1, r1
-       rotr r1
-       add #1, r1
-
-       cmp/hs r0, r1
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/cmppl.cgs b/sim/testsuite/sim/sh64/compact/cmppl.cgs
deleted file mode 100644 (file)
index 1c11377..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-# sh testcase for cmp/pl $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-zero:
-       mov #0, r0
-       cmp/pl r0
-       bt wrong
-
-plus:
-       mov #10, r0
-       cmp/pl r0
-       bf wrong
-
-minus:
-       mov #10, r0
-       neg r0, r0
-       cmp/pl r0
-       bt wrong
-
-large:
-       mov #10, r0
-       shll8 r0
-       add #123, r0
-       cmp/pl r0
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/cmppz.cgs b/sim/testsuite/sim/sh64/compact/cmppz.cgs
deleted file mode 100644 (file)
index 2e0bf48..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-# sh testcase for cmp/pz $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-zero:
-       mov #0, r0
-       cmp/pz r0
-       bf wrong
-
-plus:
-       mov #10, r0
-       cmp/pz r0
-       bf wrong
-
-minus:
-       mov #10, r0
-       neg r0, r0
-       cmp/pz r0
-       bt wrong
-
-large:
-       mov #10, r0
-       shll8 r0
-       add #123, r0
-       cmp/pz r0
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/cmpstr.cgs b/sim/testsuite/sim/sh64/compact/cmpstr.cgs
deleted file mode 100644 (file)
index 70d90d3..0000000
+++ /dev/null
@@ -1,148 +0,0 @@
-# sh testcase for cmp/str $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-.macro rot8
-       rotr r0
-       rotr r0
-       rotr r0
-       rotr r0
-       rotr r0
-       rotr r0
-       rotr r0
-       rotr r0
-.endm
-
-       start
-
-# Use multiple "wrong" labels because this program is quite long. It's
-# likely that some instructions will be too far away from the branch
-# target to use PC-relative branches.
-       
-match0:
-       # No bytes matching.
-       mov #1, r0
-       neg r0, r0
-       xor #170, r0
-       rot8
-       xor #170, r0
-       rot8
-       xor #170, r0
-       rot8
-       xor #170, r0
-       rot8
-       mov r0, r1
-       mov #1, r0
-       neg r0, r0
-       xor #85, r0
-       rot8
-       xor #85, r0
-       rot8
-       xor #85, r0
-       rot8
-       xor #85, r0
-       rot8
-       cmp/str r0, r1
-       bt wrong0
-
-       bra match1
-       nop
-wrong0:
-       fail
-
-match1:
-       # One byte matching.
-       mov #1, r0
-       neg r0, r0
-       xor #170, r0
-       rot8
-       xor #170, r0
-       rot8
-       xor #170, r0
-       rot8
-       mov r0, r1
-       mov #1, r0
-       neg r0, r0
-       xor #85, r0
-       rot8
-       xor #85, r0
-       rot8
-       xor #85, r0
-       rot8
-       cmp/str r0, r1
-       bf wrong1
-
-       bra match2
-       nop
-wrong1:
-       fail
-
-match2:
-       # Two bytes matching.
-       mov #1, r0
-       neg r0, r0
-       xor #170, r0
-       rot8
-       xor #170, r0
-       rot8
-       mov r0, r1
-       mov #1, r0
-       neg r0, r0
-       xor #85, r0
-       rot8
-       xor #85, r0
-       rot8
-       cmp/str r0, r1
-       bf wrong2
-
-       bra match3
-       nop
-wrong2:
-       fail
-       
-byte0:
-match3:
-       # One byte matching.
-       # This is also the test for byte 0.
-       mov #85, r0
-       mov #85, r1
-       cmp/str r0, r1
-       bf wrong3
-
-byte1:
-       # Match in byte position 1.
-       mov #85, r0
-       shll8 r0
-       mov #85, r1
-       shll8 r1
-       cmp/str r0, r1
-       bf wrong3
-
-byte2:
-       # Match in byte position 2.
-       mov #85, r0
-       shll16 r0
-       mov #85, r1
-       shll16 r1
-       cmp/str r0, r1
-       bf wrong3
-
-byte3:
-       # Match in byte position 3.
-       mov #85, r0
-       shll16 r0
-       shll8 r0
-       mov #85, r1
-       shll16 r1
-       shll8 r1
-       cmp/str r0, r1
-       bf wrong3
-
-okay:
-       pass
-wrong3:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/div0s.cgs b/sim/testsuite/sim/sh64/compact/div0s.cgs
deleted file mode 100644 (file)
index 8cd6422..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-# sh testcase for div0s $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-init:
-       mov #0, r0
-       mov #3, r1
-       mov #4, r2
-       neg r1, r3
-       neg r2, r4
-
-perm1:
-       div0s r0, r0
-       bt wrong
-       div0s r0, r1
-       bt wrong
-       div0s r1, r0
-       bt wrong
-
-perm2:
-       div0s r0, r4
-       bf wrong
-       div0s r4, r0
-       bf wrong
-
-perm3:
-       div0s r1, r2
-       bt wrong
-       div0s r2, r1
-       bt wrong
-
-perm4:
-       div0s r3, r4
-       bt wrong
-       div0s r4, r3
-       bt wrong
-
-perm5:
-       div0s r1, r1
-       bt wrong
-       div0s r3, r3
-       bt wrong
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/div0u.cgs b/sim/testsuite/sim/sh64/compact/div0u.cgs
deleted file mode 100644 (file)
index 02f8534..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# sh testcase for div0u -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global div0u
-div0u:
-       div0u
-       # Can't easily test Q and M (other than visually inspecting
-       # the simulator's trace output).
-       bt wrong
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/div1.cgs b/sim/testsuite/sim/sh64/compact/div1.cgs
deleted file mode 100644 (file)
index 63a0e81..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-# sh testcase for div1 $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #10, r0
-       mov #2, r1
-       div0s r0,r1
-
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-       div1 r0, r1
-
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/dmulsl.cgs b/sim/testsuite/sim/sh64/compact/dmulsl.cgs
deleted file mode 100644 (file)
index 081ce16..0000000
+++ /dev/null
@@ -1,115 +0,0 @@
-# sh testcase for dmuls.l $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       mov #0, r0
-       mov #0, r1
-       dmuls.l r0, r1
-       # check result
-       sts mach, r3
-       sts macl, r4
-       assert r3, #0
-       assert r4, #0
-
-test2: 
-       mov #0, r0
-       mov #5, r1
-       dmuls.l r0, r1
-       # check result
-       sts mach, r3
-       sts macl, r4
-       assert r3, #0
-       assert r4, #0
-
-test3: 
-       mov #5, r0
-       mov #0, r1
-       dmuls.l r0, r1
-       # check result
-       sts mach, r3
-       sts macl, r4
-       assert r3, #0
-       assert r4, #0
-
-test4: 
-       mov #1, r0
-       mov #5, r1
-       dmuls.l r0, r1
-       # check result
-       sts mach, r3
-       sts macl, r4
-       assert r3, #0
-       assert r4, #5
-
-test5: 
-       mov #5, r0
-       mov #1, r1
-       dmuls.l r0, r1
-       # check result
-       sts mach, r3
-       sts macl, r4
-       assert r3, #0
-       assert r4, #5
-
-       bra test6
-       nop
-
-wrong:
-       fail
-
-test6: 
-       mov #2, r0
-       mov #2, r1
-       dmuls.l r0, r1
-       # check result
-       sts mach, r3
-       sts macl, r4
-       assert r3, #0
-       assert r4, #4
-
-test7: 
-       mov #1, r0
-       neg r0, r0
-       mov #2, r1
-       dmuls.l r0, r1
-       # check result
-       sts mach, r3
-       sts macl, r4
-
-       mov #0, r8
-       not r8, r9
-       not r8, r10
-       shll r10
-       cmp/eq r3, r9
-       bf wrong
-       cmp/eq r4, r10
-       bf wrong
-
-test8: 
-       mov #1, r0
-       neg r0, r0
-       mov #1, r1
-       neg r1, r1
-       dmuls.l r0, r1
-       # check result
-       sts mach, r3
-       sts macl, r4
-       assert r3, #0
-       assert r4, #1
-
-test9: 
-       mov #1, r0
-       neg r0, r0
-       shlr r0
-       mov #1, r1
-       neg r1, r1
-       shlr r1
-       dmuls.l r0, r1
-       
-okay:  
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/dmulul.cgs b/sim/testsuite/sim/sh64/compact/dmulul.cgs
deleted file mode 100644 (file)
index b34b870..0000000
+++ /dev/null
@@ -1,53 +0,0 @@
-# sh testcase for dmulu.l $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       mov #0, r0
-       mov #0, r1
-       dmulu.l r0, r1
-
-       mov #0, r0
-       mov #5, r1
-       dmulu.l r0, r1
-
-       mov #5, r0
-       mov #0, r1
-       dmulu.l r0, r1
-
-       mov #1, r0
-       mov #5, r1
-       dmulu.l r0, r1
-
-       mov #5, r0
-       mov #1, r1
-       dmulu.l r0, r1
-
-       mov #2, r0
-       mov #2, r1
-       dmulu.l r0, r1
-
-       mov #1, r0
-       neg r0, r0
-       mov #2, r1
-       dmulu.l r0, r1
-
-       mov #1, r0
-       neg r0, r0
-       mov #1, r1
-       neg r1, r1
-       dmulu.l r0, r1
-
-       mov #1, r0
-       neg r0, r0
-       shlr r0
-       mov #1, r1
-       neg r1, r1
-       shlr r1
-       dmulu.l r0, r1
-
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/dt.cgs b/sim/testsuite/sim/sh64/compact/dt.cgs
deleted file mode 100644 (file)
index 38e9163..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-# sh testcase for dt $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global dt
-dt:
-       mov #3, r0
-       dt r0
-       bt wrong
-       assert r0, #2
-
-       mov #1, r0
-       dt r0
-       bf wrong
-       assert r0, #0
-
-       mov #0, r0
-       dt r0
-       bt wrong
-       mov #0, r7
-       not r7, r7
-       cmp/eq r7, r0
-       bf wrong
-
-       mov #1, r0
-       neg r0, r0
-       dt r0
-       mov #1, r7
-       not r7, r7
-       cmp/eq r7, r0
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/extsb.cgs b/sim/testsuite/sim/sh64/compact/extsb.cgs
deleted file mode 100644 (file)
index 9087802..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# sh testcase for exts.b $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global extsb
-extsb:
-       mov #42, r1
-       exts.b r1, r2
-       assert r2, #42
-signed:
-       mov #0, r0
-       or #255, r0
-       exts.b r0, r1
-       mov #0, r7
-       not r7, r7
-       cmp/eq r1, r7
-       bf wrong
-       
-okay:
-       pass
-
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/extsw.cgs b/sim/testsuite/sim/sh64/compact/extsw.cgs
deleted file mode 100644 (file)
index d625774..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-# sh testcase for exts.w $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global extsw
-extsw:
-       mov #42, r1
-       exts.w r1, r2
-       assert r2, #42
-       
-another:
-       mov #0, r0
-       or #255, r0
-       shll8 r0
-       exts.w r0, r1
-
-       mov #-1, r7
-       shll8 r7
-       cmp/eq r1, r7
-       bf wrong
-       
-okay:
-       pass
-
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/extub.cgs b/sim/testsuite/sim/sh64/compact/extub.cgs
deleted file mode 100644 (file)
index 51c14ac..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-# sh testcase for extu.b $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global extub
-extub:
-       mov #42, r1
-       extu.b r1, r2
-       assert r2, #42
-
-another:
-       mov #0, r0
-       or #255, r0
-       extu.b r0, r1
-
-       mov #0, r0
-       or #255, r0
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
-
diff --git a/sim/testsuite/sim/sh64/compact/extuw.cgs b/sim/testsuite/sim/sh64/compact/extuw.cgs
deleted file mode 100644 (file)
index 057afe7..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-# sh testcase for extu.w $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global extuw
-extuw:
-       mov #42, r1
-       extu.w r1, r2
-       assert r2, #42
-       
-another:
-       mov #0, r0
-       or #255, r0
-       shll8 r0
-       extu.w r0, r1
-       mov #0, r0
-       or #255, r0
-       shll8 r0
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/fabs.cgs b/sim/testsuite/sim/sh64/compact/fabs.cgs
deleted file mode 100644 (file)
index 6955fa2..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-# sh testcase for fabs -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       _clrpr
-       # fabs(0.0) = 0.0.
-       fldi0 fr0
-       fabs fr0
-       fldi0 fr1
-       fcmp/eq fr0, fr1
-       bf wrong
-
-       # fabs(1.0) = 1.0.
-       fldi1 fr0
-       fabs fr0
-       fldi1 fr1
-       fcmp/eq fr0, fr1
-       bf wrong
-
-       # fabs(-1.0) = 1.0.
-       fldi1 fr0
-       fneg fr0
-       fabs fr0
-       fldi1 fr1
-       fcmp/eq fr0, fr1
-       bf wrong
-
-       bra double
-       nop
-
-wrong:
-       fail
-
-double:
-       # double precision tests.
-       # fabs(0.0) = 0.0.
-       fldi0 fr0
-       _s2d fr0, dr0
-       _setpr
-       fabs dr0
-       _clrpr
-       # check.
-       fldi0 fr2
-       _s2d fr2, dr2
-       _setpr
-       fcmp/eq dr0, dr2
-       bf wrong
-       _clrpr
-
-one:
-       # fabs(1.0) = 1.0.
-       fldi1 fr0
-       _s2d fr0, dr0
-       _setpr
-       fabs dr0
-       _clrpr
-       # check.
-       fldi1 fr2
-       _s2d fr2, dr2
-       _setpr
-       fcmp/eq dr0, dr2
-       bf wrong2
-       _clrpr
-
-minusone:
-       # fabs(-1.0) = 1.0.
-       fldi1 fr0
-       fneg fr0
-       _s2d fr0, dr0
-       _setpr
-       fabs dr0
-       _clrpr
-       # check.
-       fldi1 fr2
-       _s2d fr2, dr2
-       _setpr
-       fcmp/eq dr0, dr2
-       bf wrong2
-       _clrpr
-
-okay:
-       pass
-wrong2:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/fadd.cgs b/sim/testsuite/sim/sh64/compact/fadd.cgs
deleted file mode 100644 (file)
index b000353..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-# sh testcase for fadd
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       _clrpr
-
-       fldi1 fr0
-       fldi1 fr1
-       fadd fr0, fr1
-
-       fldi0 fr0
-       fldi1 fr1
-       fadd fr0, fr1
-
-       fldi1 fr0
-       fldi0 fr1
-       fadd fr0, fr1
-
-       _setpr
-double:
-       fldi1 fr0
-       fldi1 fr1
-       _s2d fr0, dr4
-       _s2d fr1, dr6
-       fadd dr4, dr6
-
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/fcmpeq.cgs b/sim/testsuite/sim/sh64/compact/fcmpeq.cgs
deleted file mode 100644 (file)
index 151d5e5..0000000
+++ /dev/null
@@ -1,88 +0,0 @@
-# sh testcase for fcmpeq -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       # 1.0 == 1.0.   
-       fldi1 fr0
-       fldi1 fr1
-       fcmp/eq fr0, fr1
-       bf wrong
-
-       # 0.0 != 1.0.
-       fldi0 fr0
-       fldi1 fr1
-       fcmp/eq fr0, fr1
-       bt wrong
-
-       # 1.0 != 0.0.
-       fldi1 fr0
-       fldi0 fr1
-       fcmp/eq fr0, fr1
-       bt wrong
-
-       # 2.0 != 1.0
-       fldi1 fr0
-       fadd fr0, fr0
-       fldi1 fr1
-       fcmp/eq fr0, fr1
-       bt wrong
-
-       bra double
-       # delay slot
-       nop
-
-wrong:
-       fail
-       
-double:
-       # 1.0 == 1.0
-       fldi1 fr0
-       fldi1 fr2
-       _s2d fr0, dr0
-       _s2d fr2, dr2
-       _setpr
-       fcmp/eq dr0, dr2
-       bf wrong
-       _clrpr
-
-       # 0.0 != 1.0
-       fldi0 fr0
-       fldi1 fr2
-       _s2d fr0, dr0
-       _s2d fr2, dr2
-       _setpr
-       fcmp/eq dr0, dr2
-       bt wrong
-       _clrpr
-
-       # 1.0 != 0.0
-       fldi1 fr0
-       fldi0 fr2
-       _s2d fr0, dr0
-       _s2d fr2, dr2
-       _setpr
-       fcmp/eq dr0, dr2
-       bt wrong2
-       _clrpr
-
-       # 2.0 != 1.0
-       fldi1 fr0
-       fadd fr0, fr0
-       fldi1 fr2
-       _s2d fr0, dr0
-       _s2d fr2, dr2
-       _setpr
-       fcmp/eq dr0, dr2
-       bt wrong2
-       _clrpr
-
-okay:
-       pass
-
-wrong2:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/fcmpgt.cgs b/sim/testsuite/sim/sh64/compact/fcmpgt.cgs
deleted file mode 100644 (file)
index 931ae3e..0000000
+++ /dev/null
@@ -1,95 +0,0 @@
-# sh testcase for fcmpgt -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       # 1.0 !> 1.0.
-       fldi1 fr0
-       fldi1 fr1
-       fcmp/gt fr0, fr1
-       bt wrong
-
-       # 0.0 !> 1.0.
-       fldi0 fr0
-       fldi1 fr1
-       fcmp/gt fr0, fr1
-       bf wrong
-
-       # 1.0 > 0.0.
-       fldi1 fr0
-       fldi0 fr1
-       fcmp/gt fr0, fr1
-       bt wrong
-
-       # 2.0 > 1.0
-       fldi1 fr0
-       fadd fr0, fr0
-       fldi1 fr1
-       fcmp/gt fr0, fr1
-       bt wrong
-
-       bra double
-       nop
-
-wrong:
-       fail
-
-double:
-       # double precision tests.
-       # 1.0 !> 1.0.
-       fldi1 fr0
-       fldi1 fr2
-       _s2d fr0, dr0
-       _s2d fr2, dr2
-       _setpr
-       fcmp/gt dr0, dr2
-       bt wrong2
-       _clrpr
-
-       # 0.0 !> 1.0.
-       fldi0 fr0
-       fldi1 fr2
-       _s2d fr0, dr0
-       _s2d fr2, dr2
-       _setpr
-       fcmp/gt dr0, dr2
-       bf wrong2
-       _clrpr
-
-       bra next
-       nop
-
-wrong2:
-       fail
-
-next:
-       # 1.0 > 0.0.
-       fldi1 fr0
-       fldi0 fr2
-       _s2d fr0, dr0
-       _s2d fr2, dr2
-       _setpr
-       fcmp/gt dr0, dr2
-       bt wrong2
-       _clrpr
-
-       # 2.0 > 1.0.
-       fldi1 fr0
-       fadd fr0, fr0
-       fldi1 fr2
-       _s2d fr0, dr0
-       _s2d fr2, dr2
-       _setpr
-       fcmp/gt dr0, dr2
-       bt wrong2
-       _clrpr
-
-okay:
-       pass
-
-wrong3:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/fcnvds.cgs b/sim/testsuite/sim/sh64/compact/fcnvds.cgs
deleted file mode 100644 (file)
index abf9e70..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# sh testcase for fcnvds -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       _setpr
-       fcnvds dr0, fpul
-       _clrpr
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/fcnvsd.cgs b/sim/testsuite/sim/sh64/compact/fcnvsd.cgs
deleted file mode 100644 (file)
index 699bde5..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-# sh testcase for fcnvsd -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       fldi1 fr0
-       flds fr0, fpul
-       _setpr
-       fcnvsd fpul, dr2
-       _clrpr
-
-       # Convert back.
-       _setpr
-       fcnvds dr2, fpul
-       _clrpr
-       fsts fpul, fr1
-       fcmp/eq fr0, fr1
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/fdiv.cgs b/sim/testsuite/sim/sh64/compact/fdiv.cgs
deleted file mode 100644 (file)
index 06d1e93..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-# sh testcase for fdiv -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       _clrpr
-       
-       # 1.0 / 0.0 should be INF
-       # (and not crash the sim).
-       fldi0 fr0
-       fldi1 fr1
-       fdiv fr0, fr1
-
-       # 0.0 / 1.0 == 0.0.
-       fldi0 fr0
-       fldi1 fr1
-       fdiv fr1, fr0
-       fldi0 fr2
-       fcmp/eq fr0, fr2
-       bf wrong
-
-       # 2.0 / 1.0 == 2.0.
-       fldi1 fr1
-       fldi1 fr2
-       fadd fr2, fr2
-       fdiv fr1, fr2
-       # Load 2.0 into fr3.
-       fldi1 fr3
-       fadd fr3, fr3
-       fcmp/eq fr2, fr3
-       bf wrong
-
-       # (1.0 / 2.0) + (1.0 / 2.0) == 1.0.
-       fldi1 fr1
-       fldi1 fr2
-       fadd fr2, fr2
-       fdiv fr2, fr1
-       # fr1 should contain 0.5.
-       fadd fr1, fr1
-       # Load 1.0 into fr3.
-       fldi1 fr3
-       # Compare fr1 with fr3.
-       fcmp/eq fr1, fr3
-       bf wrong
-
-       bra double
-       nop
-
-wrong:
-       fail
-       
-double:        
-       # double test
-       # (1.0 / 2.0) + (1.0 / 2.0) == 1.0.
-       fldi1 fr1
-       _s2d fr1, dr6
-       fldi1 fr2
-       fadd fr2, fr2
-       _s2d fr2, dr8
-       _setpr
-       fdiv dr8, dr6
-       # dr0 should contain 0.5.
-       # double it, expect 1.0.
-       fadd dr6, dr6
-       _clrpr
-foo:   
-       # Load 1.0 into dr4.
-       fldi1 fr1
-       _s2d fr1, dr10
-       # Compare dr0 with dr10.
-       _setpr
-       fcmp/eq dr6, dr10
-       bf wrong2
-       _clrpr
-       
-okay:
-       pass
-
-wrong2:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/fipr.cgs b/sim/testsuite/sim/sh64/compact/fipr.cgs
deleted file mode 100644 (file)
index 092f0f6..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# sh testcase for fipr $fvm, $fvn
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-initv1:
-       fldi1 fr0
-       # Load 2 into fr2.
-       fldi1 fr1
-       fadd fr1, fr1
-       # Load 4 into fr2.
-       fldi1 fr2
-       fadd fr2, fr2
-       fadd fr2, fr2
-       fldi0 fr3
-
-initv2:
-       fldi1 fr8
-       fldi0 fr9
-       fldi1 fr10
-       fldi0 fr11
-
-       fipr fv0, fv8
-
-       # Result will be in fr11.
-       fldi1 fr0
-       fldi1 fr1
-       # Two.
-       fadd fr1, fr0
-       # Four.
-       fadd fr0, fr0
-       # Five.
-       fadd fr1, fr0
-       fcmp/eq fr0, fr11
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/fldi0.cgs b/sim/testsuite/sim/sh64/compact/fldi0.cgs
deleted file mode 100644 (file)
index b0d35e4..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-# sh testcase for fldi0 $frn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       fldi0 fr0
-       fldi0 fr2
-       fldi0 fr4
-       fldi0 fr6
-       fldi0 fr8
-       fldi0 fr10
-       fldi0 fr12
-       fldi0 fr14
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/fldi1.cgs b/sim/testsuite/sim/sh64/compact/fldi1.cgs
deleted file mode 100644 (file)
index 8bd5c52..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-# sh testcase for fldi1 $frn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       fldi1 fr1
-       fldi1 fr3
-       fldi1 fr5
-       fldi1 fr7
-       fldi1 fr9
-       fldi1 fr11
-       fldi1 fr13
-       fldi1 fr15
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/flds.cgs b/sim/testsuite/sim/sh64/compact/flds.cgs
deleted file mode 100644 (file)
index 797e7cb..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# sh testcase for flds -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       fldi0 fr0
-       flds fr0, fpul
-       fsts fpul, fr1
-       fcmp/eq fr0, fr1
-       bf wrong
-       
-       fldi1 fr0
-       flds fr0, fpul
-       fsts fpul, fr1
-       fcmp/eq fr0, fr1
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/float.cgs b/sim/testsuite/sim/sh64/compact/float.cgs
deleted file mode 100644 (file)
index 8532d7f..0000000
+++ /dev/null
@@ -1,80 +0,0 @@
-# sh testcase for float -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-pos:   
-       mov #3, r0
-       lds r0, fpul
-       float fpul, fr7
-
-       # Check the result.
-       fldi1 fr0
-       fldi1 fr1
-       fadd fr0, fr1
-       fadd fr0, fr1
-       fcmp/eq fr1, fr7
-       bf wrong
-
-neg:   
-       mov #3, r0
-       neg r0, r0
-       lds r0, fpul
-       float fpul, fr7
-
-       # Check the result.
-       fldi1 fr0
-       fldi1 fr1
-       fadd fr0, fr1
-       fadd fr0, fr1
-       fneg fr1
-       fcmp/eq fr1, fr7
-       bf wrong
-
-       bra double
-       nop
-
-wrong:
-       fail
-       
-double:
-       mov #3, r0
-       lds r0, fpul
-       _setpr
-       float fpul, dr8
-       _clrpr
-       # check the result.
-       fldi1 fr0
-       fldi1 fr1
-       fadd fr0, fr1
-       fadd fr0, fr1
-       _s2d fr1, dr2
-       fcmp/eq dr2, dr8
-       bf wrong
-
-dneg:
-       mov #3, r0
-       neg r0, r0
-       lds r0, fpul
-       _setpr
-       float fpul, dr8
-       _clrpr
-       # check the result.
-       fldi1 fr0
-       fldi1 fr1
-       fadd fr0, fr1
-       fadd fr0, fr1
-       fneg fr1
-       _s2d fr1, dr2
-       fcmp/eq dr2, dr8
-       bf wrong        
-
-okay:
-       pass
-
-wrong2:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/fmac.cgs b/sim/testsuite/sim/sh64/compact/fmac.cgs
deleted file mode 100644 (file)
index dbf36ab..0000000
+++ /dev/null
@@ -1,78 +0,0 @@
-# sh testcase for fmac -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       # 0.0 * x + y = y.
-
-       fldi0 fr0
-       fldi1 fr1
-       fldi1 fr2
-       fmac fr0, fr1, fr2
-       # check result.
-       fldi1 fr0
-       fcmp/eq fr0, fr2
-       bf wrong
-
-       # x * y + 0.0 = x * y.
-
-       fldi1 fr0
-       fldi1 fr1
-       fldi0 fr2
-       # double it.
-       fadd fr1, fr2
-       fmac fr0, fr1, fr2
-       # check result.
-       fldi1 fr0
-       fadd fr0, fr0
-       fcmp/eq fr0, fr2
-       bf wrong
-       
-       # x * 0.0 + y = y.
-
-       fldi1 fr0
-       fldi0 fr1
-       fldi1 fr2
-       fadd fr2, fr2
-       fmac fr0, fr1, fr2
-       # check result.
-       fldi1 fr0
-       # double fr0.
-       fadd fr0, fr0
-       fcmp/eq fr0, fr2
-       bf wrong
-
-       # x * 0.0 + 0.0 = 0.0
-
-       fldi1 fr0
-       fadd fr0, fr0
-       fldi0 fr1
-       fldi0 fr2
-       fmac fr0, fr1, fr2
-       # check result.
-       fldi0 fr0
-       fcmp/eq fr0, fr2
-       bf wrong
-
-       # 0.0 * x + 0.0 = 0.0.
-
-       fldi0 fr0
-       fldi1 fr1
-       # double it.
-       fadd fr1, fr1
-       fldi0 fr2
-       fmac fr0, fr1, fr2
-       # check result.
-       fldi0 fr0
-       fcmp/eq fr0, fr2
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/fmov.cgs b/sim/testsuite/sim/sh64/compact/fmov.cgs
deleted file mode 100644 (file)
index f4e1fde..0000000
+++ /dev/null
@@ -1,273 +0,0 @@
-# sh testcase for all fmov instructions
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       .macro init
-       fldi0 fr0
-       fldi1 fr2
-       .endm
-
-       # Set the SZ (SiZe) bit in the fpscr.
-       .macro _setsz
-       sts fpscr, r7
-       mov #16, r8
-       shll16 r8
-       or r8, r7
-       lds r7, fpscr
-       .endm
-
-       # Clear the SZ bit.
-       .macro _clrsz
-       sts fpscr, r7
-       mov #16, r8
-       shll16 r8
-       not r8, r8
-       and r8, r7
-       lds r7, fpscr
-       .endm
-       start
-
-fmov1:  # Test fr -> fr.
-       init
-       _clrpr
-       _clrsz
-       fmov fr0, fr10
-       # Ensure fr0 and fr10 are now equal.
-       fcmp/eq fr0, fr10
-       bt fmov2
-       fail
-
-fmov2:  # Test dr -> dr.
-       init
-       _setpr
-       _setsz
-       fmov dr0, dr2
-       # Ensure dr0 and dr2 are now equal.
-       fcmp/eq dr0, dr2
-       bt fmov3
-       fail
-
-fmov3:  # Test dr -> xd and xd -> dr.
-       init
-       _setsz
-       fmov dr0, xd0
-       # Ensure dr0 and xd0 are now equal.
-       fmov xd0, dr2
-       fcmp/eq dr0, dr2
-       bt fmov4
-       fail
-
-fmov4:  # Test xd -> xd.
-       init
-       _setsz
-       _setpr
-       fmov dr0, xd0
-       fmov xd0, xd2
-       fmov xd2, dr2
-       # Ensure dr0 and dr2 are now equal.
-       fcmp/eq dr0, dr2
-       bt fmov5
-       fail
-
-fmov5:  # Test fr -> @rn and @rn -> fr.
-       init
-       _clrsz
-       _clrpr
-       mov #40, r0
-       shll8 r0
-       fmov fr0, @r0
-       fmov @r0, fr1
-       fcmp/eq fr0, fr1
-       bt fmov6
-       fail
-
-fmov6:  # Test dr -> @rn and @rn -> dr.
-       init
-       _setsz
-       _setpr
-       mov #40, r0
-       shll8 r0
-       fmov dr0, @r0
-       fmov @r0, dr2
-       fcmp/eq dr0, dr2
-       bt fmov7
-       fail
-
-fmov7: # Test xd -> @rn and @rn -> xd.
-       init
-       _setsz
-       _setpr
-       mov #40, r0
-       shll8 r0
-       fmov dr0, xd0
-       fmov xd0, @r0
-       fmov @r0, xd2
-       fmov xd2, dr2
-       fcmp/eq dr0, dr2
-       bt fmov8
-       fail
-
-fmov8: # Test fr -> @-rn.
-       init
-       _clrsz
-       _clrpr
-       mov #40, r0
-       shll8 r0
-       # Preserve.
-       mov r0, r1
-       fmov fr0, @-r0
-       fmov @r0, fr2
-       fcmp/eq fr0, fr2
-       bt f8b
-       fail
-f8b:   # check pre-dec.
-       add #4, r0
-       cmp/eq r0, r1
-       bt fmov9
-       fail
-
-fmov9: # Test dr -> @-rn.
-       init
-       _setsz
-       _setpr
-       mov #40, r0
-       shll8 r0
-       # Preserve r0.
-       mov r0, r1
-       fmov dr0, @-r0
-       fmov @r0, dr2
-       fcmp/eq dr0, dr2
-       bt f9b
-       fail
-f9b:   # check pre-dec.
-       add #8, r0
-       cmp/eq r0, r1
-       bt fmov10
-       fail
-
-fmov10:        # Test xd -> @-rn.
-       init
-       _setsz
-       _setpr
-       mov #40, r0
-       shll8 r0
-       # Preserve r0.
-       mov r0, r1
-       fmov dr0, xd0
-       fmov xd0, @-r0
-       fmov @r0, xd2
-       fmov xd2, dr2
-       fcmp/eq dr0, dr2
-       bt f10b
-       fail
-f10b:   # check pre-dec.
-       add #8, r0
-       cmp/eq r0, r1
-       bt fmov11
-       fail
-
-fmov11:        # Test @rn+ -> fr.
-       init
-       _clrsz
-       _clrpr
-       mov #40, r0
-       shll8 r0
-       # Preserve r0.
-       mov r0, r1
-       fmov fr0, @r0
-       fmov @r0+, fr2
-       fcmp/eq fr0, fr2
-       bt f11b
-       fail
-f11b:   # check post-inc.
-       add #4, r1
-       cmp/eq r0, r1
-       bt fmov12
-       fail
-
-fmov12:        # Test @rn+ -> dr.
-       init
-       _setsz
-       _setpr
-       mov #40, r0
-       shll8 r0
-       # preserve r0.
-       mov r0, r1
-       fmov dr0, @r0
-       fmov @r0+, dr2
-       fcmp/eq dr0, dr2
-       bt f12b
-       fail
-f12b:   # check post-inc.
-       add #8, r1
-       cmp/eq r0, r1
-       bt fmov13
-       fail
-
-fmov13:        # Test @rn -> xd.
-       init
-       _setsz
-       _setpr
-       mov #40, r0
-       shll8 r0
-       # Preserve r0.
-       mov r0, r1
-       fmov dr0, xd0
-       fmov xd0, @r0
-       fmov @r0+, xd2
-       fmov xd2, dr2
-       fcmp/eq dr0, dr2
-       bt f13b
-       fail
-f13b:
-       add #8, r1
-       cmp/eq r0, r1
-       bt fmov14
-       fail
-
-fmov14:        # Test fr -> @(r0,rn), @(r0, rn) -> fr.
-       init
-       _clrsz
-       _clrpr
-       mov #40, r0
-       shll8 r0
-       mov #0, r1
-       fmov fr0, @(r0, r1)
-       fmov @(r0, r1), fr1
-       fcmp/eq fr0, fr1
-       bt fmov15
-       fail
-
-fmov15:        # Test dr -> @(r0, rn), @(r0, rn) -> dr.
-       init
-       _setsz
-       _setpr
-       mov #40, r0
-       shll8 r0
-       mov #0, r1
-       fmov dr0, @(r0, r1)
-       fmov @(r0, r1), dr2
-       fcmp/eq dr0, dr2
-       bt fmov16
-       fail
-
-fmov16:        # Test xd -> @(r0, rn), @(r0, rn) -> xd.
-       init
-       _setsz
-       _setpr
-       mov #40, r0
-       shll8 r0
-       mov #0, r1
-       fmov dr0, xd0
-       fmov xd0, @(r0, r1)
-       fmov @(r0, r1), xd2
-       fmov xd2, dr2
-       fcmp/eq dr0, dr2
-       bt okay
-       fail
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/fmul.cgs b/sim/testsuite/sim/sh64/compact/fmul.cgs
deleted file mode 100644 (file)
index a1325d6..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-# sh testcase for fmul -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       .macro init
-       fldi0 fr0
-       fldi1 fr1
-       fldi1 fr2
-       fadd fr2, fr2
-       fldi0 fr7
-       fldi1 fr8
-       .endm
-
-       start
-
-       # 0.0 * 0.0 = 0.0.
-       init
-       fmul fr0, fr0
-       fcmp/eq fr7, fr0
-       bf wrong
-
-       # 0.0 * 1.0 = 0.0.
-       init
-       fmul fr1, fr0
-       fcmp/eq fr7, fr0
-       bf wrong
-
-       # 1.0 * 0.0 = 0.0.
-       init
-       fmul fr0, fr1
-       fcmp/eq fr7, fr1
-       bf wrong
-
-       # 1.0 * 1.0 = 1.0.
-       init
-       fmul fr1, fr1
-       fcmp/eq fr8, fr1
-       bf wrong
-
-       # 2.0 * 1.0 = 2.0.
-       init
-       fmul fr2, fr1
-       fcmp/eq fr2, fr1
-       bf wrong
-
-       bra double
-       nop
-
-wrong:
-       fail
-       
-       .macro dinit
-       fldi0 fr0
-       fldi1 fr2
-       fldi1 fr4
-       fadd fr4, fr4
-       fldi0 fr8
-       fldi1 fr10
-       _s2d fr0, dr0
-       _s2d fr2, dr2
-       _s2d fr4, dr4
-       _s2d fr8, dr8
-       _s2d fr10, dr10
-       .endm
-       
-double:
-       # 0.0 * 0.0 = 0.0.
-       dinit
-       _setpr
-       fmul dr0, dr0
-       fcmp/eq dr8, dr0
-       bf wrong
-       _clrpr
-
-       # 0.0 * 1.0 = 0.0.
-       dinit
-       _setpr
-       fmul dr2, dr0
-       fcmp/eq dr8, dr0
-       bf wrong2
-       _clrpr
-
-       # 1.0 * 0.0 = 0.0.
-       dinit
-       _setpr
-       fmul dr0, dr2
-       fcmp/eq dr8, dr2
-       bf wrong2
-       _clrpr
-
-       bra next
-       nop
-
-wrong2:
-       fail
-
-next:
-       # 1.0 * 1.0 = 1.0.
-       dinit
-       _setpr
-       fmul dr2, dr2
-       fcmp/eq dr10, dr2
-       bf wrong3
-       _clrpr
-
-       # 2.0 * 1.0 = 2.0.
-       dinit
-       _setpr
-       fmul dr4, dr2
-       fcmp/eq dr4, dr2
-       bf wrong3
-       _clrpr
-
-okay:
-       pass
-
-wrong3:        
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/fneg.cgs b/sim/testsuite/sim/sh64/compact/fneg.cgs
deleted file mode 100644 (file)
index 71fc901..0000000
+++ /dev/null
@@ -1,83 +0,0 @@
-# sh testcase for fneg -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       # neg(0.0) = 0.0.
-       fldi0 fr0
-       fldi0 fr1
-       fneg fr0
-       fcmp/eq fr0, fr1
-       bf wrong
-
-       # neg(1.0) = fsub(0,1)
-       fldi1 fr0
-       fneg fr0
-       fldi0 fr1
-       fldi1 fr2
-       fsub fr2, fr1
-       fcmp/eq fr0, fr1
-       bf wrong
-       
-       # neg(neg(1.0)) = 1.0.
-       fldi1 fr0
-       fldi1 fr1
-       fneg fr0
-       fneg fr0
-       fcmp/eq fr0, fr1
-       bf wrong
-
-       bra double
-       nop
-
-wrong:
-       fail
-
-double:
-       # neg(0.0) = 0.0.
-       fldi0 fr0
-       fldi0 fr2
-       _s2d fr0, dr0
-       _s2d fr2, dr2
-       _setpr
-       fneg dr0
-       fcmp/eq dr0, dr2
-       bf wrong2
-       _clrpr
-
-       # neg(1.0) = fsub(0,1)
-       fldi1 fr0
-       _s2d fr0, dr0
-       _setpr
-       fneg dr0
-       _clrpr
-       fldi0 fr2
-       fldi1 fr3
-       fsub fr3, fr2
-       _s2d fr2, dr2
-       _setpr
-       fcmp/eq fr0, fr2
-       bf wrong2
-       _clrpr
-       
-       # neg(neg(1.0)) = 1.0.
-       fldi1 fr0
-       _s2d fr0, dr0
-       fldi1 fr2
-       _s2d fr2, dr2
-       _setpr
-       fneg dr0
-       fneg dr2
-       fcmp/eq dr0, dr2
-       bf wrong2
-       _clrpr
-               
-okay:
-       pass
-
-wrong2:        
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/frchg.cgs b/sim/testsuite/sim/sh64/compact/frchg.cgs
deleted file mode 100644 (file)
index 6f2e743..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# sh testcase for frchg
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       frchg
-       frchg
-       frchg
-       frchg
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/fschg.cgs b/sim/testsuite/sim/sh64/compact/fschg.cgs
deleted file mode 100644 (file)
index 54a1491..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# sh testcase for fschg
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       fschg
-       fschg
-       fschg
-       fschg
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/fsqrt.cgs b/sim/testsuite/sim/sh64/compact/fsqrt.cgs
deleted file mode 100644 (file)
index 933e112..0000000
+++ /dev/null
@@ -1,93 +0,0 @@
-# sh testcase for fsqrt -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       # sqrt(0.0) = 0.0.
-       fldi0 fr0
-       fsqrt fr0
-       fldi0 fr1
-       fcmp/eq fr0, fr1
-       bf wrong
-
-       # sqrt(1.0) = 1.0.
-       fldi1 fr0
-       fsqrt fr0
-       fldi1 fr1
-       fcmp/eq fr0, fr1
-       bf wrong
-
-       # sqrt(4.0) = 2.0
-       fldi1 fr0
-       # Double it.
-       fadd fr0, fr0
-       # Double it again.
-       fadd fr0, fr0
-       fsqrt fr0
-       fldi1 fr1
-       # Double it.
-       fadd fr1, fr1
-       fcmp/eq fr0, fr1
-       bf wrong
-
-       bra double
-       nop
-
-wrong:
-       fail
-
-double:
-       # sqrt(0.0) = 0.0.
-       fldi0 fr0
-       _s2d fr0, dr0
-       _setpr
-       fsqrt dr0
-       _clrpr
-       fldi0 fr2
-       _s2d fr2, dr2
-       _setpr
-       fcmp/eq dr0, dr2
-       bf wrong2
-       _clrpr
-
-       # sqrt(1.0) = 1.0.
-       fldi1 fr0
-       _s2d fr0, dr0
-       _setpr
-       fsqrt dr0
-       _clrpr
-       fldi1 fr2
-       _s2d fr2, dr2
-       _setpr
-       fcmp/eq fr0, fr2
-       bf wrong2
-       _clrpr
-
-       # sqrt(4.0) = 2.0.
-       fldi1 fr0
-       # Double it.
-       fadd fr0, fr0
-       # Double it again.
-       fadd fr0, fr0
-       _s2d fr0, dr0
-       _setpr
-       fsqrt dr0
-       _clrpr
-       fldi1 fr2
-       # Double it.
-       fadd fr2, fr2
-       _s2d fr2, dr2
-       _setpr
-       fcmp/eq fr0, fr2
-       bf wrong2
-       _clrpr
-
-okay:
-       pass
-
-wrong2:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/fsts.cgs b/sim/testsuite/sim/sh64/compact/fsts.cgs
deleted file mode 100644 (file)
index 518533d..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-# sh testcase for fsts fpul, $frn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       fsts fpul, fr0
-       fsts fpul, fr1
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/fsub.cgs b/sim/testsuite/sim/sh64/compact/fsub.cgs
deleted file mode 100644 (file)
index 346d01f..0000000
+++ /dev/null
@@ -1,120 +0,0 @@
-# sh testcase for fmul -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       # 0.0 - 0.0 = 0.0.
-       fldi0 fr0
-       fldi0 fr1
-       fsub fr0, fr1
-       fldi0 fr2
-       fcmp/eq fr1, fr2
-       bf wrong
-
-       # 1.0 - 0.0 = 1.0.
-       fldi0 fr0
-       fldi1 fr1
-       fsub fr0, fr1
-       fldi1 fr2
-       fcmp/eq fr1, fr2
-       bf wrong
-
-       # 1.0 - 1.0 = 0.0.
-       fldi1 fr0
-       fldi1 fr1
-       fsub fr0, fr1
-       fldi0 fr2
-       fcmp/eq fr1, fr2
-       bf wrong
-
-       # 0.0 - 1.0 = -1.0.
-       fldi1 fr0
-       fldi0 fr1
-       fsub fr0, fr1
-       fldi1 fr2
-       fneg fr2
-       fcmp/eq fr1, fr2
-       bf wrong
-
-       bra double      
-       nop
-
-wrong:
-       fail
-
-double:
-       # 0.0 - 0.0 = 0.0.
-       fldi0 fr0
-       fldi0 fr2
-       _s2d fr0, dr0
-       _s2d fr2, dr2
-       _setpr
-       fsub dr0, dr2
-       _clrpr
-       fldi0 fr4
-       _s2d fr4, dr4
-       _setpr
-       fcmp/eq dr2, dr4
-       bf wrong
-       _clrpr
-
-onezero:       
-       # 1.0 - 0.0 = 1.0.
-       fldi0 fr0
-       fldi1 fr2
-       _s2d fr0, dr0
-       _s2d fr2, dr2
-       _setpr
-       fsub dr0, dr2
-       _clrpr
-       fldi1 fr4
-       _s2d fr4, dr4
-       _setpr
-       fcmp/eq dr2, dr4
-       bf wrong2
-       _clrpr
-
-oneone:        
-       # 1.0 - 1.0 = 0.0.
-       fldi1 fr0
-       fldi1 fr2
-       _s2d fr0, dr0
-       _s2d fr2, dr2
-       _setpr
-       fsub dr0, dr2
-       _clrpr
-       fldi0 fr4
-       _s2d fr4, dr4
-       _setpr
-       fcmp/eq dr2, dr4
-       bf wrong2
-       _clrpr
-
-       bra zeroone
-       nop
-
-wrong2:
-       fail
-
-zeroone:       
-       # 0.0 - 1.0 = -1.0.
-       fldi1 fr0
-       fldi0 fr2
-       _s2d fr0, dr0
-       _s2d fr2, dr2
-       _setpr
-       fsub dr0, dr2
-       _clrpr
-       fldi1 fr4
-       fneg fr4
-       _s2d fr4, dr4
-       _setpr
-       fcmp/eq dr2, dr4
-       bf wrong2
-       _clrpr
-               
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/ftrc.cgs b/sim/testsuite/sim/sh64/compact/ftrc.cgs
deleted file mode 100644 (file)
index 6a89744..0000000
+++ /dev/null
@@ -1,132 +0,0 @@
-# sh testcase for ftrc -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       # ftrc(0.0) = 0.
-       fldi0 fr0
-       ftrc fr0, fpul
-       # check results.
-       mov #0, r0
-       sts fpul, r1
-       cmp/eq r0, r1
-       bf wrong
-       
-       # ftrc(1.5) = 1.
-       fldi1 fr0
-       fldi1 fr1
-       fldi1 fr2
-       # double it.
-       fadd fr2, fr2
-       # form the fraction.
-       fdiv fr2, fr1
-       fadd fr1, fr0
-       # now we've got 1.5 in fr0.
-       ftrc fr0, fpul
-       # check results.
-       mov #1, r0
-       sts fpul, r1
-       cmp/eq r0, r1
-       bf wrong
-
-       # ftrc(-1.5) = -1.
-       fldi1 fr0
-       fneg fr0
-       fldi1 fr1
-       fldi1 fr2
-       # double it.
-       fadd fr2, fr2
-       # form the fraction.
-       fdiv fr2, fr1
-       fneg fr1
-       # -1 + -0.5 = -1.5.
-       fadd fr1, fr0
-       # now we've got 1.5 in fr0.
-       ftrc fr0, fpul
-       # check results.
-       mov #1, r0
-       neg r0, r0
-       sts fpul, r1
-       cmp/eq r0, r1
-       bf wrong
-
-       bra double
-       nop
-
-wrong:
-       fail
-
-double:
-       # ftrc(0.0) = 0.
-       fldi0 fr0
-       _s2d fr0, dr0
-       _setpr
-       ftrc dr0, fpul
-       _clrpr
-       # check results.
-       mov #0, r0
-       sts fpul, r1
-       cmp/eq r0, r1
-foo:   
-       bf wrong2
-
-       # ftrc(1.5) = 1.
-       fldi1 fr0
-       fldi1 fr2
-       fldi1 fr4
-       # double it.
-       fadd fr4, fr4
-       # form 0.5.
-       fdiv fr4, fr2
-       fadd fr2, fr0
-       # now we've got 1.5 in fr0, so do some single->double
-       # conversions and perform the ftrc.
-       _s2d fr0, dr0
-       _s2d fr2, dr2
-       _s2d fr4, dr4
-       _setpr
-       ftrc dr0, fpul
-       _clrpr
-       
-       # check results.
-       mov #1, r0
-       sts fpul, r1
-       cmp/eq r0, r1
-       bf wrong2
-
-       # ftrc(-1.5) = -1.
-       fldi1 fr0
-       fneg fr0
-       fldi1 fr2
-       fldi1 fr4
-       # double it.
-       fadd fr4, fr4
-       # form the fraction.
-       fdiv fr4, fr2
-       fneg fr2
-       # -1 + -0.5 = -1.5.
-       fadd fr2, fr0
-       # now we've got 1.5 in fr0, so do some single->double
-       # conversions and perform the ftrc.
-       _s2d fr0, dr0
-       _s2d fr2, dr2
-       _s2d fr4, dr4
-       _setpr
-       ftrc dr0, fpul
-       _clrpr
-       
-       # check results.
-       mov #1, r0
-       neg r0, r0
-       sts fpul, r1
-       cmp/eq r0, r1
-       bf wrong2
-
-okay:
-       pass
-wrong2:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/ftrv.cgs b/sim/testsuite/sim/sh64/compact/ftrv.cgs
deleted file mode 100644 (file)
index 9bdf806..0000000
+++ /dev/null
@@ -1,74 +0,0 @@
-# sh testcase for ftrv xmtrx, $fvn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       # set the fr bit in the fpscr
-       .macro _setfr
-       sts fpscr, r7
-       mov #32, r8
-       shll16 r8
-       or r8, r7
-       lds r7, fpscr
-       .endm
-
-       # clear the fr bit
-       .macro _clrfr
-       sts fpscr, r7
-       mov #32, r8
-       shll16 r8
-       not r8, r8
-       and r8, r7
-       lds r7, fpscr
-       .endm
-
-       .macro incr old new
-       fldi1 \new
-       fadd \old, \new
-       .endm
-
-       start
-       _setfr
-popmtrx:
-       # 1.0.
-       fldi1 fr0
-       # 2.0.
-       fldi1 fr1
-       fadd fr1, fr1
-
-       incr fr1, fr2
-       incr fr2, fr3
-       incr fr3, fr4
-       incr fr4, fr5
-       incr fr5, fr6
-       incr fr6, fr7
-       incr fr7, fr8
-       incr fr8, fr9
-       incr fr9, fr10
-       incr fr10, fr11
-       incr fr11, fr12
-       incr fr12, fr13
-       incr fr13, fr14
-       incr fr14, fr15
-
-popvect:
-       # Swtich fp banks.
-       _clrfr
-       fldi1 fr4
-       fldi1 fr5
-       fadd fr5, fr5
-       fldi1 fr6
-       fadd fr5, fr6
-       fldi1 fr7
-       fadd fr6, fr7
-
-ftrv:
-       # fr[4,7] should contain the results:
-       # { 30, 70, 110, 150 }.
-       ftrv xmtrx, fv4
-
-okay:
-       pass
-
diff --git a/sim/testsuite/sim/sh64/compact/jmp.cgs b/sim/testsuite/sim/sh64/compact/jmp.cgs
deleted file mode 100644 (file)
index e9e9940..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# sh testcase for jmp @$rn
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global jmp
-jmp:
-       # Load 0x1010 into r0.
-       mov #1, r0
-       shll8 r0
-       shll2 r0
-       shll2 r0
-       add #16, r0
-       jmp @r0
-slot:
-       nop
-bad:
-       fail
-okay:
-       pass
-alsobad:
-       fail
-       fail
-       fail
-
diff --git a/sim/testsuite/sim/sh64/compact/jsr.cgs b/sim/testsuite/sim/sh64/compact/jsr.cgs
deleted file mode 100644 (file)
index 5ad7aef..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# sh testcase for jsr @$rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global jsr
-jsr:
-       # Load 0x1010 into r0.
-       mov #1, r0
-       shll8 r0
-       shll2 r0
-       shll2 r0
-       add #16, r0
-       jsr @r0
-slot:  
-       nop
-bad:
-       fail
-okay:
-       pass
-alsobad:
-       fail
-       fail
-       fail
-
diff --git a/sim/testsuite/sim/sh64/compact/ldc-gbr.cgs b/sim/testsuite/sim/sh64/compact/ldc-gbr.cgs
deleted file mode 100644 (file)
index b19a3c1..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# sh testcase for ldc $rn, gbr -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global ldc
-ldc:
-       mov #40, r0
-       shll8 r0
-       ldc r0, gbr
-       stc gbr, r1
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/ldcl-gbr.cgs b/sim/testsuite/sim/sh64/compact/ldcl-gbr.cgs
deleted file mode 100644 (file)
index 613e58e..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# sh testcase for ldc.l @${rn}+, gbr -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global ldcl
-ldcl:
-       mov #40, r0
-       shll8 r0
-       # Preserve address.
-       mov r0, r1
-       ldc.l @r0+, gbr
-
-       # Add 4 to saved address (r1).
-       # Then compare with r0.
-       add #4, r1
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/lds-fpscr.cgs b/sim/testsuite/sim/sh64/compact/lds-fpscr.cgs
deleted file mode 100644 (file)
index 2dce253..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# sh testcase for lds $rn, fpscr -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global lds_fpscr
-lds_fpscr:
-       mov #0, r0
-       lds r0, fpscr
-readback:
-       sts fpscr, r1
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/lds-fpul.cgs b/sim/testsuite/sim/sh64/compact/lds-fpul.cgs
deleted file mode 100644 (file)
index 1a80a70..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-# sh testcase for lds $rn, fpul -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global lds_fpul
-lds_fpul:
-       mov #63, r0
-       shll8 r0
-       add #128, r0
-       shll16 r0
-       lds r0, fpul
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/lds-mach.cgs b/sim/testsuite/sim/sh64/compact/lds-mach.cgs
deleted file mode 100644 (file)
index 1ffd656..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-# sh testcase for lds $rn, mach
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global lds_mach
-lds_mach:
-       mov #41, r0
-       shll8 r0
-       lds r0, mach
-readback:
-       sts mach, r1
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/lds-macl.cgs b/sim/testsuite/sim/sh64/compact/lds-macl.cgs
deleted file mode 100644 (file)
index f09315a..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-# sh testcase for lds $rn, macl
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global lds_macl
-lds_macl:
-       mov #42, r0
-       shll8 r0
-       lds r0, macl
-readback:
-       sts macl, r1
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/lds-pr.cgs b/sim/testsuite/sim/sh64/compact/lds-pr.cgs
deleted file mode 100644 (file)
index 97e3a65..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-# sh testcase for lds $rn, pr
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global lds_pr
-lds_pr:
-       mov #40, r0
-       shll8 r0
-       lds r0, pr
-readback:
-       sts pr, r1
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/ldsl-fpscr.cgs b/sim/testsuite/sim/sh64/compact/ldsl-fpscr.cgs
deleted file mode 100644 (file)
index 642f15d..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-# sh testcase for lds.l @${rn}+, fpscr -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       mov #40, r0
-       shll8 r0
-       # save address for later examination.
-       mov r0, r1
-
-       # Build up a distinctive bit pattern.
-       mov #1, r2
-       shll8 r2
-       add #12, r2
-       shll8 r2
-       add #85, r2
-       shll8 r2
-       add #170, r2
-       # Store it in memory.
-       mov.l r2, @r0
-
-       lds.l @r0+, fpscr
-
-check:
-       # Read it back.
-       sts fpscr, r3
-       cmp/eq r2, r3
-       bf wrong
-
-inc:
-       # Test for proper post-increment.
-       add #4, r1
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail    
diff --git a/sim/testsuite/sim/sh64/compact/ldsl-fpul.cgs b/sim/testsuite/sim/sh64/compact/ldsl-fpul.cgs
deleted file mode 100644 (file)
index 428a5b7..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-# sh testcase for lds.l @${rn}+, fpul -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global ldsl_fpul
-ldsl_fpul:
-       mov #40, r0
-       shll8 r0
-       # remember the address.
-       mov r0, r1
-       lds.l @r0+, fpul
-
-       # ensure post increment occurred.
-       add #4, r1
-       cmp/eq r0, r1
-       bf wrong
-
-okay:  
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/ldsl-mach.cgs b/sim/testsuite/sim/sh64/compact/ldsl-mach.cgs
deleted file mode 100644 (file)
index f5ffdec..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# sh testcase for lds.l @${rn}+, mach -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global ldsl_mach
-ldsl_mach:
-       mov #40, r0
-       shll8 r0
-       # save address for later examination.
-       mov r0, r1
-
-       lds.l @r0+, mach
-
-       add #4, r1
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/ldsl-macl.cgs b/sim/testsuite/sim/sh64/compact/ldsl-macl.cgs
deleted file mode 100644 (file)
index 4e21bf1..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# sh testcase for lds.l @${rn}+, macl -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global ldsl_macl
-ldsl_macl:
-       mov #40, r0
-       shll8 r0
-       # save address for later examination.
-       mov r0, r1
-
-       lds.l @r0+, macl
-
-       add #4, r1
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/ldsl-pr.cgs b/sim/testsuite/sim/sh64/compact/ldsl-pr.cgs
deleted file mode 100644 (file)
index eb8ee53..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# sh testcase for lds.l @${rn}+, pr -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global ldsl_pr
-ldsl_pr:
-       mov #40, r0
-       shll8 r0
-       # Preserve address.
-       mov r0, r1
-       lds.l @r0+, pr
-
-       # Add 4 to saved address (r1).
-       # Then compare with r0.
-       add #4, r1
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/macl.cgs b/sim/testsuite/sim/sh64/compact/macl.cgs
deleted file mode 100644 (file)
index ef2dfa6..0000000
+++ /dev/null
@@ -1,76 +0,0 @@
-# sh testcase for mac.l @${rm}+, @${rn}+
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       # force S-bit clear
-       clrs
-
-       # Store some magic numbers in memory.
-       mov #40, r1
-       shll8 r1
-       mov #85, r0
-       mov.l r0, @r1
-       # Keep for later.
-       mov r1, r10
-store2:
-       mov #40, r1
-       shll8 r1
-       add #12, r1
-       mov #17, r0
-       mov.l r0, @r1
-       # Keep for later.
-       mov r1, r11
-
-init:
-       # Set up addresses.
-       mov #40, r1
-       shll8 r1
-       mov #40, r2
-       shll8 r2
-       add #12, r2
-
-       # Prime {MACL, MACH} to #1.
-       mov #1, r3
-       dmulu.l r3, r3
-
-test:
-       mac.l @r1+, @r2+
-
-check:
-       # Check result.
-       sts mach, r5
-       assert r5, #0
-
-       mov #5, r0
-       shll8 r0
-       or #166, r0
-       sts macl, r6
-       cmp/eq r6, r0
-       bf wrong
-
-       # Ensure post-increment occurred.
-       add #4, r10
-       cmp/eq r10, r1
-       bf wrong
-
-       add #4, r11
-       cmp/eq r11, r2
-       bf wrong
-
-doubleinc:
-       mov #40, r0
-       shll8 r0
-       mov r0, r1
-       mac.l @r0+, @r0+
-       add #16, r1
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/macw.cgs b/sim/testsuite/sim/sh64/compact/macw.cgs
deleted file mode 100644 (file)
index f5935f7..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-# sh testcase for mac.w @${rm}+, @${rn}+
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       # Store some magic numbers in memory.
-       mov #40, r1
-       shll8 r1
-       mov #85, r0
-       mov.l r0, @r1
-       # Keep for later.
-       mov r1, r10
-store2:
-       mov #40, r1
-       shll8 r1
-       add #12, r1
-       mov #17, r0
-       mov.l r0, @r1
-       # Keep for later.
-       mov r1, r11
-
-init:
-       # Set up addresses.
-       mov #40, r1
-       shll8 r1
-       mov #40, r2
-       shll8 r2
-       add #12, r2
-
-       # Prime {MACL, MACH} to #1.
-       mov #1, r3
-       dmulu.l r3, r3
-
-test:
-       mac.w @r1+, @r2+
-
-check:
-       # Check result.
-       sts mach, r5
-       assert r5, #0
-
-       sts macl, r6
-       assert r6, #1
-
-       # Ensure post-increment occurred.
-       add #2, r10
-       cmp/eq r10, r1
-       bf wrong
-
-       add #2, r11
-       cmp/eq r11, r2
-       bf wrong
-
-doubleinc:
-       mov #40, r0
-       shll8 r0
-       mov r0, r1
-       mac.w @r0+, @r0+
-       add #8, r1
-       cmp/eq r0, r1
-       bf wrong
-       
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/mov.cgs b/sim/testsuite/sim/sh64/compact/mov.cgs
deleted file mode 100644 (file)
index 9442388..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-# sh testcase for mov $rm64, $rn64
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global mov
-mov:
-       mov #1, r0
-       rotr r0
-       mov #0, r15
-       mov #10, r0
-
-       mov r0, r1
-       mov r1, r2
-       mov r2, r3
-       mov r3, r4
-       mov r4, r5
-       mov r5, r6
-       mov r6, r7
-       mov r7, r8
-       mov r8, r9
-       mov r9, r10
-       mov r10, r11
-       mov r11, r12
-       mov r12, r13
-       mov r13, r14
-       mov r14, r15
-
-       cmp/eq r0, r15
-       bf wrong
-       
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/mova.cgs b/sim/testsuite/sim/sh64/compact/mova.cgs
deleted file mode 100644 (file)
index f555d66..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# sh testcase for mova @($imm8x4, pc), r0 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global mova
-mova:
-       mova @(40, pc), r0
-       mov #16, r1
-       shll8 r1
-       add #40, r1
-       cmp/eq r0, r1
-       bf wrong
-       mova @(12, pc), r0
-       mov #16, r1
-       shll8 r1
-       add #24, r1
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movb1.cgs b/sim/testsuite/sim/sh64/compact/movb1.cgs
deleted file mode 100644 (file)
index 8278e1b..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-# sh testcase for mov.b $rm, @$rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #55, r1
-       mov #40, r2
-       shll8 r2
-       mov.b r1, @r2
-
-       # Load it back into r3.
-       mov #40, r2
-       shll8 r2
-       mov.b @r2, r3
-
-       # Make sure r1 and r3 match.
-       cmp/eq r1, r3
-       bf wrong
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movb10.cgs b/sim/testsuite/sim/sh64/compact/movb10.cgs
deleted file mode 100644 (file)
index 0ddb736..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# sh testcase for mov.b @($imm4, $rm), r0 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #30, r1
-       shll8 r1
-       # Store something there first.
-       mov #0, r0
-       or #170, r0
-       mov r0, r7
-       mov.b r0, @(3, r1)
-       # Load it back.
-       mov.b @(3, r1), r0
-       and #255, r0
-       cmp/eq r0, r7
-       bf wrong
-
-okay:
-       pass
-wrong: 
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movb2.cgs b/sim/testsuite/sim/sh64/compact/movb2.cgs
deleted file mode 100644 (file)
index 692c34f..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-# sh testcase for mov.b $rm, @-$rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #40, r1
-       shll8 r1
-       mov #55, r2
-       
-       # Save ADDR, DATA.
-       mov r1, r7
-       mov r2, r8
-
-       # Do the move.
-       mov.b r2, @-r1
-       
-       # Load the value back into r3.
-       mov.b @r1, r3
-       cmp/eq r2, r3
-       bf wrong
-
-       # Ensure that r1 has been decremented.
-       mov #1, r0
-       sub r0, r7
-       cmp/eq r7, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movb3.cgs b/sim/testsuite/sim/sh64/compact/movb3.cgs
deleted file mode 100644 (file)
index 6143562..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-# sh testcase for mov.b $rm, @(r0,$rn) -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #40, r2
-       shll8 r2
-       mov #3, r1
-       mov #0, r0
-       or #170, r0
-       mov r0, r3
-       mov r2, r0
-       mov.b r3, @(r0, r1)
-
-       # Load the value back into a different register.
-       mov.b @(r0, r1), r4
-       # Check the lowest order byte matches the stored value.
-       mov r4, r0
-       and #255, r0
-       cmp/eq r0, r3
-       bf wrong
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movb4.cgs b/sim/testsuite/sim/sh64/compact/movb4.cgs
deleted file mode 100644 (file)
index d30a7a8..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# sh testcase for mov.b r0, @($imm8, gbr) -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #0, r0
-       or #170, r0
-       mov r0, r3
-       mov #30, r2
-       ldc r2, gbr
-       mov.b r0, @(40, gbr)
-
-       # Load the value back into a different register.
-       mov.b @(40, gbr), r0
-       # Check the lowest order byte matches the stored value.
-       and #255, r0
-       cmp/eq r0, r3
-       bf wrong
-
-okay:  
-       pass
-
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/movb5.cgs b/sim/testsuite/sim/sh64/compact/movb5.cgs
deleted file mode 100644 (file)
index 4f6795a..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# sh testcase for mov.b r0, @($imm4, rm) -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #0, r0
-       or #170, r0
-       mov r0, r3
-       mov #30, r2
-       mov.b r0, @(3, r2)
-
-       # Load the value back into a different register.
-       mov.b @(3, r2), r0
-       and #255, r0
-       cmp/eq r3, r0
-       bf wrong
-
-okay:  
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/movb6.cgs b/sim/testsuite/sim/sh64/compact/movb6.cgs
deleted file mode 100644 (file)
index 9ddebde..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# sh testcase for mov.b @$rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #30, r2
-       shll8 r2
-       # Store something first.
-       mov #0, r0
-       or #170, r0
-       mov r0, r7
-       mov.b r7, @r2
-       # Load it back.
-       mov.b @r2, r1
-       mov r1, r0
-       and #255, r0
-       cmp/eq r7, r0
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movb7.cgs b/sim/testsuite/sim/sh64/compact/movb7.cgs
deleted file mode 100644 (file)
index f55a223..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# sh testcase for mov.b @${rm}+, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #30, r1
-       shll8 r1
-       # Store addr.
-       mov r1, r8
-
-       # Store something there first.
-       mov #0, r0
-       or #170, r0
-       mov r0, r7
-       mov.b r7, @r1
-       # Load it back.
-       mov.b @r1+, r2
-       mov r2, r0
-       and #255, r0
-       cmp/eq r7, r0
-       bf wrong
-
-       # Test address for post-incrementing.
-       add #1, r8
-       cmp/eq r8, r1
-       bf wrong
-
-okay:  
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/movb8.cgs b/sim/testsuite/sim/sh64/compact/movb8.cgs
deleted file mode 100644 (file)
index 883e4b3..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-# sh testcase for mov.b @(r0, $rm), $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #30, r0
-       shll8 r0
-       mov #14, r1
-       # Store something there first.
-       mov #0, r0
-       or #170, r0
-       mov r0, r7
-       mov.b r7, @(r0, r1)
-       # Load it back.
-       mov.b @(r0, r1), r2
-       mov r2, r0
-       and #255, r0
-       cmp/eq r0, r7
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movb9.cgs b/sim/testsuite/sim/sh64/compact/movb9.cgs
deleted file mode 100644 (file)
index 3ad1b46..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-# sh testcase for mov.b @($imm8, gbr), r0 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #30, r0
-       shll8 r0
-       ldc r0, gbr
-       # Store something there first.
-       mov #0, r0
-       or #170, r0
-       mov r0, r7
-       mov.b r0, @(3, gbr)
-       # Load it back.
-       mov.b @(3, gbr), r0
-       and #255, r0
-       cmp/eq r7, r0
-       bf wrong
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movcal.cgs b/sim/testsuite/sim/sh64/compact/movcal.cgs
deleted file mode 100644 (file)
index 7aac57e..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# sh testcase for movca.l r0, @$rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global movcal
-movcal:
-       mov #1, r0
-       rotr r0
-       add #128, r0
-       mov #40, r1
-       shll8 r1
-       movca.l r0, @r1
-
-       # Load the word back in.
-       mov.l @r1, r3
-       cmp/eq r0, r3
-       bf wrong
-       
-okay:
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/movi.cgs b/sim/testsuite/sim/sh64/compact/movi.cgs
deleted file mode 100644 (file)
index bc72c1b..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-# sh testcase for mov #$imm8, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global movi
-movi:
-       mov #0, r0
-       cmp/eq #0, r0
-       bf wrong
-       
-       mov #1, r0
-       cmp/eq #1, r0
-       bf wrong
-       
-       mov #255, r0
-       cmp/eq #255, r0
-       bf wrong
-
-       mov #1, r15
-       mov #1, r0
-       cmp/eq r0, r15
-       bf wrong
-
-       mov #255, r15
-       mov r15, r0
-       cmp/eq r0, r15
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/movl1.cgs b/sim/testsuite/sim/sh64/compact/movl1.cgs
deleted file mode 100644 (file)
index 7d85c38..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-# sh testcase for mov.l $rm, @$rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #30, r1
-       shll8 r1
-init:
-       # Build up a distinctive bit pattern.
-       mov #1, r2
-       shll8 r2
-       add #12, r2
-       shll8 r2
-       add #85, r2
-       shll8 r2
-       add #170, r2
-
-       mov.l r2, @r1
-
-       # Load it back.
-       mov.l @r1, r3
-       cmp/eq r2, r3
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movl10.cgs b/sim/testsuite/sim/sh64/compact/movl10.cgs
deleted file mode 100644 (file)
index 5e9cf2d..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-# sh testcase for mov.l @($imm8x4, pc), $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-init:
-       # Build up a distinctive bit pattern.
-       mov #1, r2
-       shll8 r2
-       add #12, r2
-       shll8 r2
-       add #85, r2
-       shll8 r2
-       add #170, r2
-
-       # Store to memory.
-       mov #16, r1
-       shll8 r1
-       add #32, r1
-       mov.l r2, @r1
-check:
-       # Read it back.
-       mov.l @(12, pc), r0
-       cmp/eq r2, r0
-       bf wrong
-       
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movl11.cgs b/sim/testsuite/sim/sh64/compact/movl11.cgs
deleted file mode 100644 (file)
index 32c763d..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-# sh testcase for mov.l @($imm4x4, $rm), $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #30, r0
-       shll8 r0
-       # Build up a distinctive bit pattern.
-       mov #1, r2
-       shll8 r2
-       add #12, r2
-       shll8 r2
-       add #85, r2
-       shll8 r2
-       add #170, r2
-       # Store something first.
-       mov.l r2, @(12, r0)
-
-check:
-       # Read it back.
-       mov.l @(12, r0), r1
-       cmp/eq r2, r1
-       bf wrong
-       
-okay:
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/movl2.cgs b/sim/testsuite/sim/sh64/compact/movl2.cgs
deleted file mode 100644 (file)
index bb55061..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-# sh testcase for mov.l $rm, @-$rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       mov #30, r1
-       shll8 r1
-       # Save address.
-       mov r1, r7
-
-init:
-       # Build up a distinctive bit pattern.
-       mov #1, r2
-       shll8 r2
-       add #12, r2
-       shll8 r2
-       add #85, r2
-       shll8 r2
-       add #170, r2
-       mov.l r2, @-r1
-
-check:
-       # Compare the value loaded into another reg.
-       mov.l @r1, r3
-       cmp/eq r2, r3
-       bf wrong
-       
-dec:
-       # Ensure address is decremented.
-       mov #4, r6
-       sub r6, r7
-       cmp/eq r1, r7
-       bf wrong
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movl3.cgs b/sim/testsuite/sim/sh64/compact/movl3.cgs
deleted file mode 100644 (file)
index 6205de7..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# sh testcase for mov.l $rm, @(r0, $rn)
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-setaddr:
-       mov #0, r0
-       mov #30, r1
-       shll8 r1
-
-init:
-       # Build up a distinctive bit pattern.
-       mov #1, r2
-       shll8 r2
-       add #12, r2
-       shll8 r2
-       add #85, r2
-       shll8 r2
-       add #170, r2
-
-       mov.l r2, @(r0, r1)
-
-check:
-       # Load it back.
-       mov.l @(r0, r1), r3
-       cmp/eq r2, r3
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movl4.cgs b/sim/testsuite/sim/sh64/compact/movl4.cgs
deleted file mode 100644 (file)
index 4444094..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-# sh testcase for mov.l r0, @($imm8x4, gbr) -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-setaddr:
-       mov #30, r1
-       shll8 r1
-       ldc r1, gbr
-
-init:
-       # Build up a distinctive bit pattern.
-       mov #1, r0
-       shll8 r0
-       add #12, r0
-       shll8 r0
-       add #85, r0
-       shll8 r0
-       add #170, r0
-       # Preserve.
-       mov r0, r7
-
-       mov.l r0, @(4, gbr)
-check:
-       # Load it back.
-       mov.l @(4, gbr), r0
-       cmp/eq r0, r7
-       bf wrong
-
-okay:  
-       pass
-wrong:
-       fail
-
diff --git a/sim/testsuite/sim/sh64/compact/movl5.cgs b/sim/testsuite/sim/sh64/compact/movl5.cgs
deleted file mode 100644 (file)
index 897ebef..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-# sh testcase for mov.l $rm, @($imm4x4, $rn) -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-setaddr:
-       mov #30, r1
-       shll8 r1
-
-init:
-       # Build up a distinctive bit pattern.
-       mov #1, r0
-       shll8 r0
-       add #12, r0
-       shll8 r0
-       add #85, r0
-       shll8 r0
-       add #170, r0
-       # Preserve.
-       mov r0, r7
-
-       mov.l r0, @(4, r1)
-check:
-       # Load it back.
-       mov.l @(4, r1), r0
-       cmp/eq r7, r0
-       bf wrong
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movl6.cgs b/sim/testsuite/sim/sh64/compact/movl6.cgs
deleted file mode 100644 (file)
index 42f63b2..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# sh testcase for mov.l @$rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       mov #30, r0
-       shll8 r0
-       # Store something there first.
-       mov #170, r1
-       mov.l r1, @r0
-check: 
-       # Load it back.
-       mov.l @r0, r3
-       cmp/eq r1, r3
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/movl7.cgs b/sim/testsuite/sim/sh64/compact/movl7.cgs
deleted file mode 100644 (file)
index b6c12fc..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-# sh testcase for mov.l @$rm+, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       mov #30, r0
-       shll8 r0
-       # Preserve address.
-       mov r0, r7
-       # Store something first.
-       mov #170, r3
-       mov.l r3, @r0
-       
-       mov.l @r0+, r1
-check:
-       cmp/eq r1, r3
-       bf wrong
-
-       # Ensure address is post-incremented.
-       add #4, r7
-       cmp/eq r7, r0
-       bf wrong
-
-equal: 
-       # Test rm = rn.
-       mov #30, r0
-       shll8 r0
-       mov.l @r0+, r0
-
-okay:  
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movl8.cgs b/sim/testsuite/sim/sh64/compact/movl8.cgs
deleted file mode 100644 (file)
index a6cd932..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# sh testcase for mov.l @(r0, $rm), $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #0, r0
-       mov #30, r1
-       shll8 r1
-       # Store something there first.
-       mov #170, r3
-       mov.l r3, @(r0, r1)
-check: 
-       # Load it back.
-       mov.l @(r0, r1), r2
-       cmp/eq r2, r3
-       bf wrong
-
-okay:  
-       pass
-wrong: 
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movl9.cgs b/sim/testsuite/sim/sh64/compact/movl9.cgs
deleted file mode 100644 (file)
index 4fa07b0..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# sh testcase for mov.l @($imm8x4, gbr), r0 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #30, r1
-       shll8 r1
-       ldc r1, gbr
-       # Store something there first.
-       mov #170, r0
-       mov r0, r7
-       mov.l r0, @(12, gbr)
-check: 
-       # Load it back.
-       mov.l @(12, gbr), r0
-       cmp/eq r0, r7
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movt.cgs b/sim/testsuite/sim/sh64/compact/movt.cgs
deleted file mode 100644 (file)
index 4553981..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# sh testcase for movt $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global movt
-init:
-       sett
-       movt r1
-       assert r1, #1
-clear:
-       clrt
-       movt r1
-       assert r1, #0
-set:
-       sett
-       movt r1
-       assert r1, #1
-
-okay:
-       pass
-wrong:
-       fail
-        
diff --git a/sim/testsuite/sim/sh64/compact/movw1.cgs b/sim/testsuite/sim/sh64/compact/movw1.cgs
deleted file mode 100644 (file)
index 5d55a58..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# sh testcase for mov.w $rm, @$rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       mov #30, r1
-       shll8 r1
-init:
-       # Build up a distinctive bit pattern.
-       mov #1, r2
-       shll8 r2
-       add #12, r2
-       mov.w r2, @r1
-check:
-       # Read it back.
-       mov.w @r1, r3
-       shll16 r2
-       shll16 r3
-       cmp/eq r2, r3
-       bf wrong
-
-okay:  
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movw10.cgs b/sim/testsuite/sim/sh64/compact/movw10.cgs
deleted file mode 100644 (file)
index 5bab911..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-# sh testcase for mov.w @($imm8x2, pc), $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       # Build up a distinctive bit pattern.
-       mov #1, r2
-       shll8 r2
-       add #12, r2
-
-       # Store to memory.
-       mov #16, r1
-       shll8 r1
-       add #32, r1
-       mov.w r2, @r1
-
-check:
-       # Read it back.
-       mov.w @(18, pc), r0
-       shll16 r0
-       shll16 r2
-       cmp/eq r0, r2
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movw11.cgs b/sim/testsuite/sim/sh64/compact/movw11.cgs
deleted file mode 100644 (file)
index df739fa..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# sh testcase for mov.w @($imm4x2, $rm), r0 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #30, r1
-       shll8 r1
-
-       # Build up a distinctive bit pattern.
-       mov #1, r0
-       shll8 r0
-       add #12, r0
-
-       # Preserve r0.
-       mov r0, r3
-
-       # Store something first.
-       mov.w r0, @(12, r1)
-
-check:
-       # Read it back.
-       mov.w @(12, r1), r0
-       shll16 r0
-       shll16 r3
-       cmp/eq r0, r3
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/movw2.cgs b/sim/testsuite/sim/sh64/compact/movw2.cgs
deleted file mode 100644 (file)
index 27c29dc..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# sh testcase for mov.w $rm, @-$rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       mov #30, r1
-       shll8 r1
-       # Preserve.
-       mov r1, r7
-init:
-       # Build up a distinctive bit pattern.
-       mov #1, r2
-       shll8 r2
-       add #12, r2
-store: 
-       mov.w r2, @-r1
-check:
-       # Read it back.
-       mov.w @r1, r3
-       shll16 r2
-       shll16 r3
-       cmp/eq r2, r3
-       bf wrong
-dec:
-       add #2, r1
-       cmp/eq r7, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movw3.cgs b/sim/testsuite/sim/sh64/compact/movw3.cgs
deleted file mode 100644 (file)
index d7b39c8..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-# sh testcase for mov.w $rm, @(r0, $rn) -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       mov #0, r0
-       mov #30, r1
-       shll8 r1
-init:
-       # Build up a distinctive bit pattern.
-       mov #1, r2
-       shll8 r2
-       add #12, r2
-       mov.w r2, @(r0, r1)
-check:
-       # Read it back.
-       mov.w @(r0, r1), r3
-       shll16 r2
-       shll16 r3
-       cmp/eq r2, r3
-       bf wrong
-
-okay:  
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/movw4.cgs b/sim/testsuite/sim/sh64/compact/movw4.cgs
deleted file mode 100644 (file)
index 4853b50..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-# sh testcase for mov.w r0, @($imm8x2, gbr) -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       mov #30, r0
-       shll8 r0
-       ldc r0, gbr
-
-init:
-       # Build up a distinctive bit pattern.
-       mov #1, r0
-       shll8 r0
-       add #12, r0
-       # Preserve r0.
-       mov r0, r7
-       mov.w r0, @(12, gbr)
-check:
-       mov.w @(12, gbr), r0
-       cmp/eq r0, r7
-       bf wrong
-
-okay:  
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/movw5.cgs b/sim/testsuite/sim/sh64/compact/movw5.cgs
deleted file mode 100644 (file)
index 9b4f84f..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-# sh testcase for mov.w r0, @($imm4x2, $rn) -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #30, r1
-       shll8 r1
-
-init:
-       # Build up a distinctive bit pattern.
-       mov #1, r0
-       shll8 r0
-       add #12, r0
-       # Preserve.
-       mov r0, r7
-move:
-       mov.w r0, @(12, r1)
-check:
-       mov.w @(12, r1), r0
-       shll16 r0
-       shll16 r7
-       cmp/eq r0, r7
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/movw6.cgs b/sim/testsuite/sim/sh64/compact/movw6.cgs
deleted file mode 100644 (file)
index 758497c..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-# sh testcase for mov.w @$rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       
-       mov #30, r0
-       shll8 r0
-
-       # Store something first.
-       # Build up a distinctive bit pattern.
-       mov #1, r2
-       shll8 r2
-       add #12, r2
-       mov.w r2, @r0
-
-check:
-       # Read it back.
-       mov.w @r0, r1
-       cmp/eq r1, r2
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/movw7.cgs b/sim/testsuite/sim/sh64/compact/movw7.cgs
deleted file mode 100644 (file)
index 45f5c09..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# sh testcase for mov.w @${rm}+, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #30, r0
-       shll8 r0
-       # Preserve address.
-       mov r0, r7
-
-       # Store something first.
-       # Build up a distinctive bit pattern.
-       mov #1, r2
-       shll8 r2
-       add #12, r2
-       mov.w r2, @r0
-check:
-       # Read it back.
-       mov.w @r0+, r3
-       cmp/eq r2, r3
-       bf wrong
-
-inc:   
-       # Ensure address is post-incremented.
-       add #2, r7
-       cmp/eq r0, r7
-       bf wrong
-       
-okay:  
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/movw8.cgs b/sim/testsuite/sim/sh64/compact/movw8.cgs
deleted file mode 100644 (file)
index 0a7ce3f..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-# sh testcase for mov.w @(r0, $rm), $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #30, r0
-       shll8 r0
-       mov #10, r1
-
-       # Store something first.
-       # Build up a distinctive bit pattern.
-       mov #1, r2
-       shll8 r2
-       add #12, r2
-       
-       mov.w r2, @(r0, r1)
-check:
-       # Read it back.
-       mov.w @(r0, r1), r3
-       shll16 r2
-       shll16 r3
-       cmp/eq r2, r3
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/movw9.cgs b/sim/testsuite/sim/sh64/compact/movw9.cgs
deleted file mode 100644 (file)
index 1872f06..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-# sh testcase for mov.w @($imm8x2, gbr), r0 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       mov #30, r0
-       shll8 r0
-       ldc r0, gbr
-
-       # Store something first.
-       # Build up a distinctive bit pattern.
-       mov #1, r0
-       shll8 r0
-       add #12, r0
-       # Preserve r0.
-       mov r0, r7
-       mov.w r0, @(12, gbr)
-
-check: 
-       # Load it back.
-       mov.w @(12, gbr), r0
-       shll16 r0
-       shll16 r7
-       cmp/eq r0, r7
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/mull.cgs b/sim/testsuite/sim/sh64/compact/mull.cgs
deleted file mode 100644 (file)
index 921141a..0000000
+++ /dev/null
@@ -1,64 +0,0 @@
-# sh testcase for mul.l $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global mull
-mull:
-       mov #3, r0
-       mov #5, r1
-       mul.l r0, r1
-
-       # Check the result.
-       sts macl, r3
-       mov #15, r4
-       cmp/eq r3, r4
-       bf wrong
-
-lxs:
-       # Large * small.
-       mov #255, r0
-       mov #0, r1
-       mul.l r0, r1
-
-       # Check the result.
-       sts macl, r3
-       mov #0, r4
-       cmp/eq r3, r4
-       bf wrong
-
-sxl:
-       # Small * large.
-       mov #0, r0
-       mov #255, r1
-       mul.l r0, r1
-
-       # Check the result.
-       sts macl, r3
-       mov #0, r4
-       cmp/eq r3, r4
-       bf wrong
-
-lxl:
-       # Large * large.
-       mov #1, r0
-       neg r0, r0
-       mov #2, r1
-       mul.l r0, r1
-
-       # Check the result.
-       sts macl, r3
-       mov #2, r4
-       neg r4, r4
-       cmp/eq r3, r4
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/mulsw.cgs b/sim/testsuite/sim/sh64/compact/mulsw.cgs
deleted file mode 100644 (file)
index 05c8a3d..0000000
+++ /dev/null
@@ -1,91 +0,0 @@
-# sh testcase for muls.w $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       sts mach, r7
-       
-       .global mulsw
-zero:
-       mov #0, r0
-       mov #1, r1
-       muls.w r0, r1
-
-       # Check the result.
-       sts macl, r3
-       mov #0, r4
-       cmp/eq r3, r4
-       bf wrong
-
-sxs:
-       # Small * small.
-       mov #1, r0
-       mov #2, r1
-       muls.w r0, r1
-
-       # Check the result.
-       sts macl, r3
-       mov #2, r4
-       cmp/eq r3, r4
-       bf wrong
-
-sxl:
-       # Small * large.
-       mov #1, r0
-       mov #255, r1
-       shll8 r1
-       muls.w r0, r1
-
-       # Check the result.
-       sts macl, r3
-       mov #0, r4
-       not r4, r4
-       shll8 r4
-       cmp/eq r3, r4
-       bf wrong
-
-lxs:
-       # Large * small.
-       mov #255, r0
-       shll8 r0
-       mov #1, r1
-       muls.w r0, r1
-
-       # Check the result.
-       sts macl, r3
-       mov #0, r4
-       not r4, r4
-       shll8 r4
-       cmp/eq r3, r4
-       bf wrong
-       
-lxl:
-       # Large * large.
-       mov #255, r0
-       shll8 r0
-       mov #255, r1
-       shll8 r1
-       muls.w r0, r1
-
-       # Check the result.
-       sts macl, r3
-       mov #1, r4
-       shll16 r4
-       cmp/eq r3, r4
-       bf wrong
-       
-invariant:     
-       # Ensure MACH is invariant.
-       sts mach, r8
-       cmp/eq r7, r8
-       bf wrong
-        
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/muluw.cgs b/sim/testsuite/sim/sh64/compact/muluw.cgs
deleted file mode 100644 (file)
index fa0a334..0000000
+++ /dev/null
@@ -1,96 +0,0 @@
-# sh testcase for mulu.w $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       sts mach, r7
-
-       .global mulsw
-zero:
-       mov #0, r0
-       mov #1, r1
-       mulu.w r0, r1
-
-       # Check the result.
-       sts macl, r1
-       mov #0, r0
-       cmp/eq r0, r1
-       bf wrong
-
-sxs:
-       # Small * small.
-       mov #1, r0
-       mov #2, r1
-       mulu.w r0, r1
-
-       # Check the result.
-       sts macl, r1
-       mov #2, r0
-       cmp/eq r0, r1
-       bf wrong
-
-sxl:
-       # Small * large.
-       mov #1, r1
-       mov #0, r0
-       or #255, r0
-       shll8 r0
-       mulu.w r1, r0
-
-       # Check the result.
-       sts macl, r1
-       mov #0, r0
-       or #255, r0
-       shll8 r0
-       cmp/eq r0, r1
-       bf wrong
-
-lxs:
-       # Large * small.
-       mov #0, r0
-       or #255, r0
-       shll8 r0
-       mov #1, r1
-       mulu.w r0, r1
-
-       # Check the result.
-       sts macl, r1
-       mov #0, r0
-       or #255, r0
-       shll8 r0
-       cmp/eq r0, r1
-       bf wrong
-
-lxl:
-       # Large * large.
-       mov #0, r0
-       or #255, r0
-       shll8 r0
-       mov r0, r1
-       mulu.w r0, r1
-
-       # Check the result.
-       sts macl, r1
-       mov #0, r0
-       or #254, r0
-       shll8 r0
-       or #1, r0
-       shll16 r0
-       cmp/eq r0, r1
-       bf wrong
-
-invariant:
-       # Ensure MACH is invariant.
-       sts mach, r8
-       cmp/eq r7, r8
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/neg.cgs b/sim/testsuite/sim/sh64/compact/neg.cgs
deleted file mode 100644 (file)
index b6f98d7..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-# sh testcase for neg $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       .macro signbit sign
-       shlr16 r1
-       shlr8 r1
-       shlr r1
-       shlr r1
-       shlr r1
-       shlr r1
-       shlr r1
-       shlr r1
-       shlr r1
-       assert r1, \sign
-       .endm
-       start
-
-       .global neg
-neg:
-       mov #0, r0
-       neg r0, r1
-       signbit #0
-
-       mov #42, r0
-       neg r0, r1
-       signbit #1
-
-       mov #0, r0
-       or #25, r0
-       neg r0, r1
-       signbit #1
-
-       # neg(0) is 0.
-       mov #0, r0
-       neg r0, r1
-       signbit #0
-
-       # neg(neg(x)) = x.
-       mov #42, r0
-       neg r0, r1
-       signbit #1
-       mov #42, r0
-       neg r0, r2
-       neg r2, r1
-       signbit #0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/negc.cgs b/sim/testsuite/sim/sh64/compact/negc.cgs
deleted file mode 100644 (file)
index 1f5547d..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-# sh testcase for negc $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       .macro signbit sign
-       mov r1, r2
-       shlr16 r2
-       shlr8 r2
-       shlr r2
-       shlr r2
-       shlr r2
-       shlr r2
-       shlr r2
-       shlr r2
-       shlr r2
-       assert r2, \sign
-       .endm
-       start
-
-       .global negc
-negc:
-       clrt
-       mov #1, r0
-       negc r0, r1
-       signbit #1
-
-negc2:
-       sett
-       mov #1, r0
-       negc r0, r1
-       signbit #1
-
-negc3:
-       clrt
-       mov #0, r0
-       negc r0, r1
-       signbit #0
-
-negc4:
-       sett
-       mov #0, r0
-       negc r0, r1
-       signbit #1
-
-negc5:
-       clrt
-       mov #0, r0
-       or #255, r0
-       negc r0, r1
-       signbit #1
-
-negc6:
-       sett
-       mov #0, r0
-       or #255, r0
-       negc r0, r1
-       signbit #1
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/nop.cgs b/sim/testsuite/sim/sh64/compact/nop.cgs
deleted file mode 100644 (file)
index 8ce910c..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# sh testcase for nop
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global nop
-nop:
-       nop
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/not.cgs b/sim/testsuite/sim/sh64/compact/not.cgs
deleted file mode 100644 (file)
index 380808d..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-# sh testcase for not $rm64, $rn64 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global not
-not:
-       mov #0, r0
-       or #192, r0
-       not r0, r1
-
-       mov #0, r0
-       or #255, r0
-       shll8 r0
-       or #255, r0
-       shll8 r0
-       or #255, r0
-       shll8 r0
-       or #63, r0
-
-       cmp/eq r0, r1
-       bf wrong
-
-ones:
-       mov #0, r1
-       not r1, r2
-
-       mov #0, r0
-       or #255, r0
-       shll8 r0
-       or #255, r0
-       shll8 r0
-       or #255, r0
-       shll8 r0
-       or #255, r0
-       cmp/eq r0, r2
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/ocbi.cgs b/sim/testsuite/sim/sh64/compact/ocbi.cgs
deleted file mode 100644 (file)
index 12fb2a1..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for ocbi @$rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-       .global ocbi
-ocbi:
-       ocbi @r0
-       ocbi @r1
-       ocbi @r15
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/ocbp.cgs b/sim/testsuite/sim/sh64/compact/ocbp.cgs
deleted file mode 100644 (file)
index 153aff2..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# sh testcase for ocbp @$rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global ocbp
-ocbp:
-       ocbp @r0
-       ocbp @r1
-       ocbp @r15
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/ocbwb.cgs b/sim/testsuite/sim/sh64/compact/ocbwb.cgs
deleted file mode 100644 (file)
index 6b0a741..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# sh testcase for ocbwb @$rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global ocbwb
-ocbwb:
-       ocbwb @r0
-       ocbwb @r1
-       ocbwb @r15
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/or.cgs b/sim/testsuite/sim/sh64/compact/or.cgs
deleted file mode 100644 (file)
index a02eee3..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-# sh testcase for or $rm64, $rn64 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global or
-or:
-       mov #1, r0
-       rotr r0
-       mov #1, r1
-       or r0, r1
-
-       mov #1, r7
-       rotr r7
-       add #1, r7
-       cmp/eq r7, r1
-       bf wrong
-
-       .global or2
-or2:
-       mov #85, r0
-       shll16 r0
-       shll8 r0
-       mov #85, r1
-       shll8 r1
-       or r0, r1
-
-       mov #85, r7
-       shll16 r7
-       add #85 ,r7
-       shll8 r7
-       cmp/eq r1, r7
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/orb.cgs b/sim/testsuite/sim/sh64/compact/orb.cgs
deleted file mode 100644 (file)
index 7e962f6..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# sh testcase for or.b #$imm8, @(r0, gbr) -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global orb
-init:
-       # Init GBR and R0.
-       mov #30, r0
-       ldc r0, gbr     
-       mov #40, r0
-
-orb:
-       or.b #0, @(r0, gbr)
-       or.b #170, @(r0, gbr)
-       or.b #0, @(r0, gbr)
-       or.b #255, @(r0, gbr)
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/ori.cgs b/sim/testsuite/sim/sh64/compact/ori.cgs
deleted file mode 100644 (file)
index 63a5fb5..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-# sh testcase for or #$imm8, r0 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global ori
-ori:
-       mov #1, r0
-       rotr r0
-       or #1, r0
-
-       mov #1, r7
-       rotr r7
-       add #1, r7
-       cmp/eq r0, r7
-       bf wrong
-
-       .global ori2
-ori2:
-       mov #85, r0
-       shll16 r0
-       shll8 r0
-       or #85, r0
-
-       mov #85, r7
-       shll16 r7
-       shll8 r7
-       add #85, r7
-       cmp/eq r0, r7
-       bf wrong
-
-okay:
-       pass
-       
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/pref.cgs b/sim/testsuite/sim/sh64/compact/pref.cgs
deleted file mode 100644 (file)
index 065e093..0000000
+++ /dev/null
@@ -1,15 +0,0 @@
-# sh testcase for pref @$rn
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global pref
-pref:
-       pref @r0
-       pref @r1
-       pref @r15
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/rotcl.cgs b/sim/testsuite/sim/sh64/compact/rotcl.cgs
deleted file mode 100644 (file)
index 5e1a3b9..0000000
+++ /dev/null
@@ -1,121 +0,0 @@
-# sh testcase for rotcl $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global rotcl
-
-rotcl:
-       clrt
-       mov #1, r1
-       rotcl r1
-       assert r1, #2
-       clrt
-       rotcl r1
-       assert r1, #4
-       clrt
-       rotcl r1
-       assert r1, #8
-       clrt
-       rotcl r1
-       assert r1, #16
-       clrt
-       rotcl r1
-       assert r1, #32
-       clrt
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       bf wrong
-       rotcl r1
-       assert r1, #1
-
-       bra trotcl
-       nop
-
-wrong:
-       fail
-
-trotcl:
-       sett
-       mov #1, r1
-       rotcl r1
-       assert r1, #3
-       clrt
-       rotcl r1
-       assert r1, #6
-       clrt
-       rotcl r1
-       assert r1, #12
-       clrt
-       rotcl r1
-       assert r1, #24
-       clrt
-       rotcl r1
-       assert r1, #48
-       clrt
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       rotcl r1
-       bf wrong2
-       assert r1, #1
-       rotcl r1
-       rotcl r1
-
-okay:  
-       pass
-wrong2:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/rotcr.cgs b/sim/testsuite/sim/sh64/compact/rotcr.cgs
deleted file mode 100644 (file)
index b53300e..0000000
+++ /dev/null
@@ -1,103 +0,0 @@
-# sh testcase for rotcr $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global rotcr
-rotcr:
-       clrt
-       mov #1, r1
-       rotcr r1
-       bf wrong
-       assert r1, #0
-       sett
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       assert r1, #1
-       rotcr r1
-       bf wrong
-
-trotcr:
-       sett
-       mov #1, r1
-       rotcr r1
-       bf wrong
-       sett
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       rotcr r1
-       bf wrong
-       assert r1, #1
-       rotcr r1
-       bf wrong
-       rotcr r1
-
-okay:  
-       pass
-wrong:
-       fail
-       
-
diff --git a/sim/testsuite/sim/sh64/compact/rotl.cgs b/sim/testsuite/sim/sh64/compact/rotl.cgs
deleted file mode 100644 (file)
index e292de7..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-# sh testcase for rotl $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global rotl
-rotl:
-       mov #1, r1
-       rotl r1
-       assert r1, #2
-       rotl r1
-       assert r1, #4
-       rotl r1
-       assert r1, #8
-       rotl r1
-       assert r1, #16
-       rotl r1
-       assert r1, #32
-       rotl r1
-       assert r1, #64
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       rotl r1
-       bf wrong
-       assert r1, #1
-       rotl r1
-       rotl r1
-       rotl r1
-       assert r1, #8
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/rotr.cgs b/sim/testsuite/sim/sh64/compact/rotr.cgs
deleted file mode 100644 (file)
index 7f80f99..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-# sh testcase for rotr $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global rotr
-rotr:
-       mov #1, r1
-       rotr r1
-       bf wrong
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       rotr r1
-       assert r1, #1
-       rotr r1
-       rotr r1
-       rotr r1
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/rts.cgs b/sim/testsuite/sim/sh64/compact/rts.cgs
deleted file mode 100644 (file)
index eeb8dce..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# sh testcase for rts -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global rts
-rts:
-       bsr subroutine
-slot:
-       nop
-return:
-       pass
-       fail
-
-subroutine:
-       rts
-rts_slot:
-       nop
-bad:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/sets.cgs b/sim/testsuite/sim/sh64/compact/sets.cgs
deleted file mode 100644 (file)
index f031701..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# sh testcase for sets -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global sets
-sets:
-       sets
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/sett.cgs b/sim/testsuite/sim/sh64/compact/sett.cgs
deleted file mode 100644 (file)
index 9ae8af5..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-# sh testcase for sett -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global sett
-sett:
-       sett
-       bf wrong
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/shad.cgs b/sim/testsuite/sim/sh64/compact/shad.cgs
deleted file mode 100644 (file)
index 340743d..0000000
+++ /dev/null
@@ -1,58 +0,0 @@
-# sh testcase for shad $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global null
-null:
-       mov #1, r0
-       mov #0, r1
-       shad r1, r0
-       # no shift is performed.
-       assert r0, #1
-
-       .global gt0
-gt0:
-       mov #4, r0
-       mov #3, r1
-       shad r1, r0
-       # shift left 3 bits.
-       assert r0, #32
-
-       .global lt0
-lt0:
-       mov #32, r0
-       mov #3, r1
-       neg r1, r1
-       shad r1, r0
-       # shift right 3 bits.
-       assert r0, #4
-
-       .global fillpos
-fillpos:
-       mov #1, r0
-       mov #1, r1
-       rotr r1
-       shad r1, r0
-       # check result.
-       assert r0, #0
-
-       .global fillneg
-fillneg:
-       mov #1, r0
-       neg r0, r0
-       mov #1, r1
-       rotr r1
-       shad r1, r0
-       # check result.
-       not r0, r0
-       assert r0, #0
-       
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/shal.cgs b/sim/testsuite/sim/sh64/compact/shal.cgs
deleted file mode 100644 (file)
index dfea947..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-# sh testcase for shal $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global shal
-shal:
-       mov #1, r1
-       shal r1
-       assert r1, #2
-       shal r1
-       assert r1, #4
-       shal r1
-       assert r1, #8
-       shal r1
-       assert r1, #16
-       shal r1
-       assert r1, #32
-       shal r1
-       assert r1, #64
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       shal r1
-       assert r1, #0
-
-okay:  
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/shar.cgs b/sim/testsuite/sim/sh64/compact/shar.cgs
deleted file mode 100644 (file)
index e3e92fc..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-# sh testcase for shar $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global shar
-shar:
-       mov #0, r0
-       or #192, r0
-       shar r0
-       bt wrong
-       shar r0
-       bt wrong
-       shar r0
-       bt wrong
-       shar r0
-       bt wrong
-       shar r0
-       bt wrong
-       shar r0
-       bt wrong
-       shar r0
-       bf wrong
-       shar r0
-       bf wrong
-       shar r0
-       bt wrong
-       shar r0
-       bt wrong
-       assert r0, #0
-
-okay:
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/shld.cgs b/sim/testsuite/sim/sh64/compact/shld.cgs
deleted file mode 100644 (file)
index 32e4100..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-# sh testcase for shld $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global null
-null:
-       mov #1, r0
-       mov #0, r1
-       shld r1, r0
-       # no shift is performed.
-       assert r0, #1
-
-       .global gt0
-gt0:
-       mov #4, r0
-       mov #3, r1
-       shld r1, r0
-       # shift left 3 bits.
-       assert r0, #32
-
-       .global lt0
-lt0:
-       mov #32, r0
-       mov #3, r1
-       neg r1, r1
-       shld r1, r0
-       # shift right 3 bits.
-       assert r0, #4
-
-       .global fill
-fill:
-       mov #1, r0
-       rotr r0
-       mov #1, r1
-       rotr r1
-       shld r1, r0
-       assert r0, #0
-       
-okay:
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/shll.cgs b/sim/testsuite/sim/sh64/compact/shll.cgs
deleted file mode 100644 (file)
index 882f2c2..0000000
+++ /dev/null
@@ -1,57 +0,0 @@
-# sh testcase for shll $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global shll
-shll:
-       mov #1, r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       shll r1
-       assert r1, #0
-another:
-       mov #1, r1
-       shll r1
-       shll r1
-       shll r1
-       assert r1, #8
-
-okay:  
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/shll16.cgs b/sim/testsuite/sim/sh64/compact/shll16.cgs
deleted file mode 100644 (file)
index 0637c3d..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# sh testcase for shll16 $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global shll16
-shll16:
-       mov #108, r1
-       shll16 r1
-       shll16 r1
-       assert r1, #0
-
-another:
-       mov #1, r1
-       shll16 r1
-       mov #1, r7
-       shll r7
-       shll r7
-       shll r7
-       shll r7
-       shll r7
-       shll r7
-       shll r7
-       shll r7
-       shll r7
-       shll r7
-       shll r7
-       shll r7
-       shll r7
-       shll r7
-       shll r7
-       shll r7
-       cmp/eq r1, r7
-       bf wrong
-               
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/shll2.cgs b/sim/testsuite/sim/sh64/compact/shll2.cgs
deleted file mode 100644 (file)
index 6e28c66..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-# sh testcase for shll2 $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global shll2
-shll2:
-       mov #1, r1
-       shll2 r1
-       shll2 r1
-       shll2 r1
-       shll2 r1
-       shll2 r1
-       shll2 r1
-       shll2 r1
-       shll2 r1
-       shll2 r1
-       shll2 r1
-       shll2 r1
-       shll2 r1
-       shll2 r1
-       shll2 r1
-       shll2 r1
-       shll2 r1
-       assert r1, #0
-
-another:
-       mov #1, r1
-       shll2 r1
-       assert r1, #4
-       
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/shll8.cgs b/sim/testsuite/sim/sh64/compact/shll8.cgs
deleted file mode 100644 (file)
index fe455ec..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-# sh testcase for shll8 $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global shll8
-shll8:
-       mov #1, r1
-       shll8 r1
-       shll8 r1
-       shll8 r1
-       shll8 r1
-       assert r1, #0
-
-another:
-       mov #1, r1
-       shll8 r1
-       mov #1, r7
-       shll r7
-       shll r7
-       shll r7
-       shll r7
-       shll r7
-       shll r7
-       shll r7
-       shll r7
-       cmp/eq r1, r7
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/shlr.cgs b/sim/testsuite/sim/sh64/compact/shlr.cgs
deleted file mode 100644 (file)
index 9d86461..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-# sh testcase for shlr $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global shlr
-shlr:
-       mov #0, r0
-       or #192, r0
-       shlr r0
-       shlr r0
-       shlr r0
-       shlr r0
-       shlr r0
-       shlr r0
-       # Make sure a bit is shifted into T.
-       shlr r0
-       bf wrong
-       # Ditto.
-       shlr r0
-       bf wrong
-       shlr r0
-       assert r0, #0
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/shlr16.cgs b/sim/testsuite/sim/sh64/compact/shlr16.cgs
deleted file mode 100644 (file)
index 7bfc627..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for shlr16 $rn
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global shrl16
-shrl16:
-       shlr16 r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/shlr2.cgs b/sim/testsuite/sim/sh64/compact/shlr2.cgs
deleted file mode 100644 (file)
index 6f08597..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for shlr2 $rn
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global shrl2
-shrl2:
-       shlr2 r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/shlr8.cgs b/sim/testsuite/sim/sh64/compact/shlr8.cgs
deleted file mode 100644 (file)
index 82040b5..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for shlr8 $rn
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global shrl8
-shrl8:
-       shlr8 r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/stc-gbr.cgs b/sim/testsuite/sim/sh64/compact/stc-gbr.cgs
deleted file mode 100644 (file)
index 1b84008..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# sh testcase for stc gbr, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global stc_gbr
-stc_gbr:
-       stc gbr, r1
-       mov #42, r1
-       ldc r1, gbr
-       stc gbr, r2
-       cmp/eq r1, r2
-       bf wrong
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/stcl-gbr.cgs b/sim/testsuite/sim/sh64/compact/stcl-gbr.cgs
deleted file mode 100644 (file)
index 3e74cc5..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-# sh testcase for stc.l gbr, @-$rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global stcl_gbr
-stcl_gbr:
-       mov #42, r0
-       ldc r0, gbr
-       mov #40, r0
-       shll8 r0
-       # save address
-       mov r0, r1
-       stc.l gbr, @-r0
-
-       add #4, r0
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/sts-fpscr.cgs b/sim/testsuite/sim/sh64/compact/sts-fpscr.cgs
deleted file mode 100644 (file)
index 42724b4..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-# sh testcase for sts fpscr, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global sts_fpscr
-sts_fpscr:
-       sts fpscr, r0
-       mov #42, r0
-       lds r0, fpscr
-       sts fpscr, r1
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
-
diff --git a/sim/testsuite/sim/sh64/compact/sts-fpul.cgs b/sim/testsuite/sim/sh64/compact/sts-fpul.cgs
deleted file mode 100644 (file)
index ddbdaf1..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for sts fpul, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global sts_fpul
-sts_fpul:
-       # This is properly exercised by the lds-fpul test case.
-       sts fpul, r1
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/sts-mach.cgs b/sim/testsuite/sim/sh64/compact/sts-mach.cgs
deleted file mode 100644 (file)
index 4d34bc1..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# sh testcase for sts mach, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global sts_mach
-sts_mach:
-       mov #42, r0
-       lds r0, mach
-       sts mach, r1
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/sts-macl.cgs b/sim/testsuite/sim/sh64/compact/sts-macl.cgs
deleted file mode 100644 (file)
index b805f79..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# sh testcase for sts macl, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global sts_macl
-sts_macl:
-       mov #42, r0
-       lds r0, macl
-       sts macl, r1
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/sts-pr.cgs b/sim/testsuite/sim/sh64/compact/sts-pr.cgs
deleted file mode 100644 (file)
index 3e4f6ee..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# sh testcase for sts pr, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global sts_pr
-sts_pr:
-       mov #42, r0
-       lds r0, pr
-       sts pr, r1
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/stsl-fpscr.cgs b/sim/testsuite/sim/sh64/compact/stsl-fpscr.cgs
deleted file mode 100644 (file)
index 032870d..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# sh testcase for sts.l fpscr, @-$rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global stsl_fpscr
-stsl_fpscr:
-       mov #40, r0
-       shll8 r0
-       # Preserve r0.
-       mov r0, r7
-       sts.l fpscr, @-r0
-
-check:
-       # Ensure r0 is decremented.
-       add #4, r0
-       cmp/eq r0, r7
-       bf wrong
-
-okay:  
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/stsl-fpul.cgs b/sim/testsuite/sim/sh64/compact/stsl-fpul.cgs
deleted file mode 100644 (file)
index 89bd9e7..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-# sh testcase for sts.l fpul, @-$rn -*- Asm -*_
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global stsl_fpul
-stsl_fpul:
-       mov #40, r0
-       shll8 r0
-       # Preserve r0.
-       mov r0, r7
-       sts.l fpul, @-r0
-
-dec:
-       # Check for proper pre-decrementing.
-       add #4, r0
-       cmp/eq r0, r7
-       bf wrong
-       
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/stsl-mach.cgs b/sim/testsuite/sim/sh64/compact/stsl-mach.cgs
deleted file mode 100644 (file)
index e15bdde..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-# sh testcase for sts.l mach, @-$rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global stsl_mach
-stsl_mach:
-       # Build up a distinctive bit pattern.
-       mov #1, r0
-       shll8 r0
-       add #12, r0
-       shll8 r0
-       add #85, r0
-       shll8 r0
-       add #170, r0
-       
-       lds r0, mach
-       mov #40, r2
-       shll8 r2
-       # Preserve r2.
-       mov r2, r7
-       sts.l mach, @-r2
-
-       # check results.
-       mov.l @r2, r3
-       cmp/eq r0, r3
-       bf wrong
-
-       # Ensure decrement occurred.
-       add #4, r2
-       cmp/eq r2, r7
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/stsl-macl.cgs b/sim/testsuite/sim/sh64/compact/stsl-macl.cgs
deleted file mode 100644 (file)
index 854ef34..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-# sh testcase for sts.l macl, @-$rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global stsl_macl
-stsl_macl:
-       # Build up a distinctive bit pattern.
-       mov #1, r0
-       shll8 r0
-       add #12, r0
-       shll8 r0
-       add #85, r0
-       shll8 r0
-       add #170, r0
-       
-       lds r0, macl
-       mov #40, r2
-       shll8 r2
-       # Preserve r2.
-       mov r2, r7
-       sts.l macl, @-r2
-
-       # check results.
-       mov.l @r2, r3
-       cmp/eq r0, r3
-       bf wrong
-
-       # Ensure decrement occurred.
-       add #4, r2
-       cmp/eq r2, r7
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/stsl-pr.cgs b/sim/testsuite/sim/sh64/compact/stsl-pr.cgs
deleted file mode 100644 (file)
index b519c9b..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-# sh testcase for sts.l pr, @-$rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global stsl_pr
-stsl_pr:
-       # Build up a distinctive bit pattern.
-       mov #1, r0
-       shll8 r0
-       add #12, r0
-       shll8 r0
-       add #85, r0
-       shll8 r0
-       add #170, r0
-       
-       lds r0, pr
-       mov #40, r2
-       shll8 r2
-       # Preserve r2.
-       mov r2, r7
-       sts.l pr, @-r2
-
-       # check results.
-       mov.l @r2, r3
-       cmp/eq r0, r3
-       bf wrong
-
-       # Ensure decrement occurred.
-       add #4, r2
-       cmp/eq r2, r7
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/sub.cgs b/sim/testsuite/sim/sh64/compact/sub.cgs
deleted file mode 100644 (file)
index 3ba29f8..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-# sh testcase for sub $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global sub1
-sub1:
-       # 0 - x.
-       mov #0, r0
-       mov #3, r1
-       sub r1, r0
-
-       mov #2, r7
-       not r7, r7
-       cmp/eq r7, r0
-       bf wrong
-
-       .global sub2
-sub2:
-       # x - 0.
-       mov #0, r0
-       mov #3, r1
-       sub r0, r1
-       assert r1, #3
-
-       .global sub3
-sub3:
-       # x - y.
-       mov #4, r0
-       mov #3, r1
-       sub r0, r1
-
-       mov #0, r7
-       not r7, r7
-       cmp/eq r7, r1
-       bf wrong
-
-       .global sub4
-sub4:
-       # y - x.
-       mov #4, r0
-       mov #3, r1
-       sub r1, r0
-       assert r0, #1
-       
-       .global sub5
-sub5:
-       # y - y == 0 (where y are in two distinct registers).
-       mov #4, r0
-       mov #4, r1
-       sub r1, r0
-       assert r0, #0
-
-       .global sub6
-sub6:
-       # y - y = 0 (where y is the same register).
-       mov #4, r1
-       sub r1, r1
-       assert r1, #0
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/subc.cgs b/sim/testsuite/sim/sh64/compact/subc.cgs
deleted file mode 100644 (file)
index cda1e84..0000000
+++ /dev/null
@@ -1,109 +0,0 @@
-# sh testcase for subc $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-zero:
-       mov #0, r0
-       mov #0, r1
-       clrt
-       subc r0, r1
-       assert r1, #0
-
-zerot:
-       mov #0, r0
-       mov #0, r1
-       sett
-       subc r0, r1
-       # Invert all 1's to all 0's for ease of comparison.
-       not r1, r1
-       assert r1, #0
-
-null:
-       mov #0, r0
-       mov #10, r1
-       clrt
-       subc r0, r1
-       assert r1, #10
-
-nullt:
-       mov #0, r0
-       mov #10, r1
-       sett
-       subc r0, r1
-       assert r1, #9
-
-subc:
-       mov #10, r0
-       mov #0, r1
-       clrt
-       subc r0, r1
-       # Again, invert ..
-       not r1, r1
-       assert r1, #9
-
-subct:
-       mov #10, r0
-       mov #0, r1
-       sett
-       subc r0, r1
-       # Again, invert ..
-       not r1, r1
-       assert r1, #10
-
-subc2:
-       mov #10, r0
-       mov #20, r1
-       clrt
-       subc r0, r1
-       assert r1, #10
-
-subc2t:
-       mov #20, r0
-       mov #10, r1
-       sett
-       subc r0, r1
-       # Again, invert ..
-       not r1, r1
-       assert r1, #10
-
-subc3:
-       mov #5, r0
-       mov #5, r1
-       clrt
-       subc r0, r1
-       assert r1, #0
-
-subc3t:
-       mov #5, r0
-       mov #5, r1
-       sett
-       subc r0, r1
-       # Again, invert ..
-       not r1, r1
-       assert r1, #0
-       
-large:
-       mov #2, r0
-       mov #10, r1
-       clrt
-       subc r1, r0
-       # Again, invert ..
-       not r0, r0
-       assert r0, #7
-
-larget:
-       mov #2, r0
-       mov #10, r1
-       sett
-       subc r0, r1
-       assert r1, #7
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/subv.cgs b/sim/testsuite/sim/sh64/compact/subv.cgs
deleted file mode 100644 (file)
index ceb8c64..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-# sh testcase for subv $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-zero:
-       mov #0, r0
-       mov #0, r1
-       subv r0, r1
-       bt wrong
-       assert r1, #0
-
-one:
-       mov #10, r0
-       mov #0, r1
-       subv r0, r1
-       bt wrong
-       not r1, r1
-       assert r1, #9
-
-large:
-       # Produce MAXINT in R0.
-       mov #0, r0
-       not r0, r0
-       shlr r0
-
-       # Put -3 into R1.
-       mov #3, r1
-       neg r1, r1
-
-       # Subtract them and underflow.
-       subv r0, r1
-       bf wrong
-
-another:
-       # Produce MAXINT in R0.
-       mov #0, r0
-       not r0, r0
-       shlr r0
-       
-       # Put -3 into R1.
-       mov #3, r1
-       neg r1, r1
-       
-       # Subtract them and overflow.
-       subv r1, r0
-       bf wrong
-               
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/swapb.cgs b/sim/testsuite/sim/sh64/compact/swapb.cgs
deleted file mode 100644 (file)
index 22f6f16..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# sh testcase for swap.b $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-init:
-       # Build up a distinctive bit pattern.
-       mov #1, r0
-       shll8 r0
-       add #12, r0
-       shll8 r0
-       add #85, r0
-       shll8 r0
-       add #70, r0
-
-test:  
-       # Swap the lower two bytes into a different register.
-       swap.b r0, r1
-       mov #1, r7
-       shll8 r7
-       add #12, r7
-       shll8 r7
-       add #70, r7
-       shll8 r7
-       add #85, r7
-       cmp/eq r1, r7
-       bf wrong
-
-swapback:
-       # Swap the lower two bytes into the same registers.
-       # R0 should now equal R1.
-       swap.b r1, r2
-       cmp/eq r0, r2
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/swapw.cgs b/sim/testsuite/sim/sh64/compact/swapw.cgs
deleted file mode 100644 (file)
index fa1ab69..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-# sh testcase for swap.w $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global swapw
-swapw:
-       # Build up a characteristic bit pattern in R0.
-       mov #85, r0
-       shll16 r0
-       add #3, r0
-       rotr r0
-       rotr r0
-       or #170, r0
-       # Preserve for later.
-       mov r0, r8
-
-test:  
-       swap.w r0, r1
-       mov #64, r0
-       shll8 r0
-       or #170, r0
-       shll8 r0
-       or #192, r0
-       shll8 r0
-       or #21, r0
-       cmp/eq r1, r0
-       bf wrong
-
-swapback:
-       swap.w r1, r2
-       cmp/eq r2, r8
-       bf wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/tasb.cgs b/sim/testsuite/sim/sh64/compact/tasb.cgs
deleted file mode 100644 (file)
index cb7f618..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# sh testcase for tas.b @$rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-tasb1:
-       mov #40, r0
-       shll8 r0
-       tas.b @r0
-       bf wrong
-
-tasb2:
-       mov #40, r0
-       shll8 r0
-       tas.b @r0
-       bt wrong
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/testutils.inc b/sim/testsuite/sim/sh64/compact/testutils.inc
deleted file mode 100644 (file)
index b1ad830..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-# Support macros for the assembly test cases.
-
-       .macro start
-       .text
-       .global start
-start:
-       .endm
-
-       # Perform a single to double precision floating point conversion.
-       .macro _s2d fpr dpr
-       flds \fpr, fpul
-       _setpr
-       fcnvsd fpul, \dpr
-       _clrpr
-       .endm
-
-       # Set the PR (PRecision) bit in the FPSCR.
-       .macro _setpr
-       sts fpscr, r7
-       mov #8, r8
-       shll16 r8
-       or r8, r7
-       lds r7, fpscr
-       .endm
-
-       # Clear the PR bit.
-       .macro _clrpr
-       sts fpscr, r7
-       mov #8, r8
-       shll16 r8
-       not r8, r8
-       and r8, r7
-       lds r7, fpscr
-       .endm
-
-       # nb: this macro clobbers R7. 
-       .macro assert reg value
-       mov \value, r7
-       cmp/eq \reg, r7
-       bf wrong
-       .endm
-
-       .macro pass
-       trapa #253
-       .endm
-
-       .macro fail
-       trapa #254
-       .endm
diff --git a/sim/testsuite/sim/sh64/compact/trapa.cgs b/sim/testsuite/sim/sh64/compact/trapa.cgs
deleted file mode 100644 (file)
index 24f8a6b..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# sh testcase for trapa #$imm8 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global trapa
-trapa:
-       # pass is a macro for "trapa #253".
-       trapa #253
diff --git a/sim/testsuite/sim/sh64/compact/tst.cgs b/sim/testsuite/sim/sh64/compact/tst.cgs
deleted file mode 100644 (file)
index a72b8a9..0000000
+++ /dev/null
@@ -1,62 +0,0 @@
-# sh testcase for tst $rm, $rn
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global tst1
-tst1:
-       mov #0, r0
-       mov #0, r1
-       tst r0, r0
-       bf wrong
-
-test2:
-       mov #0, r0
-       mov #1, r1
-       tst r0, r1
-       bf wrong
-
-test3:
-       mov #0, r0
-       mov #1, r1
-       tst r1, r0
-       bf wrong
-
-test4:
-       mov #1, r0
-       mov #1, r1
-       tst r0, r1
-       bt wrong
-
-test5:
-       mov #1, r0
-       rotr r0
-       add #85, r0
-       shll16 r0
-       add #12, r0
-       mov #1, r1
-       rotr r1
-       add #85, r1
-       shll16 r1
-       add #12, r1
-       tst r0, r1
-       bt wrong
-
-test6:
-       mov #1, r0
-       rotr r0
-       add #85, r0
-       shll16 r0
-       add #12, r0
-       mov #1, r1
-       tst r0, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/tstb.cgs b/sim/testsuite/sim/sh64/compact/tstb.cgs
deleted file mode 100644 (file)
index 1b3829b..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-# sh testcase for tst.b #$imm8, @(r0, gbr) -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global orb
-init:
-       # Init GBR and R0.
-       mov #30, r0
-       ldc r0, gbr     
-       mov #40, r0
-
-orb:
-       tst.b #0, @(r0, gbr)
-       bf wrong
-       tst.b #170, @(r0, gbr)
-       bf wrong
-       tst.b #0, @(r0, gbr)
-       bf wrong
-       tst.b #255, @(r0, gbr)
-
-okay:
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/compact/tsti.cgs b/sim/testsuite/sim/sh64/compact/tsti.cgs
deleted file mode 100644 (file)
index e088029..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-# sh testcase for tst #$imm8, r0 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global tsti
-tsti:
-       mov #0, r0
-       tst #0, r0
-
-tsti2:
-       mov #0, r0
-       tst #1, r0
-
-tsti3:
-       mov #1, r0
-       tst #0, r0
-
-tsti4:
-       mov #1, r0
-       tst #1, r0
-
-tsti5:
-       mov #255, r0
-       tst #255, r0
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/xor.cgs b/sim/testsuite/sim/sh64/compact/xor.cgs
deleted file mode 100644 (file)
index d158aaf..0000000
+++ /dev/null
@@ -1,70 +0,0 @@
-# sh testcase for xor $rm64, $rn64 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global xor
-xor:
-       # 0 (+) 1 = 1.
-       mov #0, r0
-       mov #1, r1
-       xor r0, r1
-       assert r1, #1
-
-xor2:
-       # 1 (+) 0 = 0.
-       mov #1, r0
-       mov #0, r1
-       xor r0, r1
-       assert r1, #1
-
-xor3:
-       # 0 (+) 0 = 0.
-       mov #0, r0
-       mov #0, r1
-       xor r0, r1
-       assert r1, #0
-
-xor4:
-       # 0 (+) 0 = 0.
-       mov #0, r0
-       xor r0, r0
-       assert r0, #0
-
-xor5:
-       mov #0, r0
-       or #85, r0
-       shll16 r0
-       or #170, r0
-       mov r0, r1
-       mov #0, r0
-       or #85, r0
-       shll16 r0
-       or #170, r0
-       xor r1, r0
-       assert r0, #0
-
-xor6:
-       mov #0, r0
-       or #85, r0
-       shll16 r0
-       or #170, r0
-       mov r0, r1
-       mov #0, r0
-       or #85, r0
-       shll16 r0
-       or #12, r0
-       xor r0, r1
-       mov #0, r0
-       or #166, r0
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/xorb.cgs b/sim/testsuite/sim/sh64/compact/xorb.cgs
deleted file mode 100644 (file)
index b31464b..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# sh testcase for xor.b #$imm8, @(r0, gbr) -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global orb
-init:
-       # Init GBR and R0.
-       mov #30, r0
-       ldc r0, gbr     
-       mov #40, r0
-
-orb:
-       xor.b #0, @(r0, gbr)
-       xor.b #170, @(r0, gbr)
-       xor.b #0, @(r0, gbr)
-       xor.b #255, @(r0, gbr)
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/compact/xori.cgs b/sim/testsuite/sim/sh64/compact/xori.cgs
deleted file mode 100644 (file)
index 732b9ec..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# sh testcase for xor #$imm8, r0 -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-       .global xori
-xori:
-       # 0 (+) 1 = 1.
-       mov #0, r0
-       xor #1, r0
-       assert r0, #1
-
-xori2:
-       # 1 (+) 0 = 1.
-       mov #1, r0
-       xor #0, r0
-       assert r0, #1
-
-xori3:
-       # 1 (+) 1 = 0.
-       mov #1, r0
-       xor #1, r0
-       assert r0, #0
-
-xori4:
-       # 255 (+) 255 = 0.
-       mov #0, r0
-       or #255, r0
-       xor #255, r0
-       assert r0, #0
-
-xori5:
-       # 0 (+) 255 = 255.
-       mov #0, r0
-       xor #255, r0
-       mov r0, r1
-
-       mov #0, r0
-       or #255, r0
-       cmp/eq r0, r1
-       bf wrong
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/compact/xtrct.cgs b/sim/testsuite/sim/sh64/compact/xtrct.cgs
deleted file mode 100644 (file)
index 11dae7c..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-# sh testcase for xtrct $rm, $rn -*- Asm -*-
-# mach: all
-# as: -isa=shcompact
-# ld: -m shelf32
-
-       .include "compact/testutils.inc"
-
-       start
-
-init:
-       mov #170, r0
-       shll8 r0
-       add #1, r0
-       shll8 r0
-       add #66, r0
-       shll8 r0
-       mov r0, r1
-
-       mov #85, r0
-       shll8 r0
-       add #2, r0
-       shll8 r0
-       add #42, r0
-       shll8 r0
-       add #3, r0
-
-copy:
-       mov r0, r3
-       mov r1, r4
-
-xtrct:
-       xtrct r0, r1
-
-check:
-       # Lower r3, upper r4.
-       shll16 r3
-       shlr16 r4
-       or r3, r4
-       cmp/eq r1, r4
-       bf wrong
-       
-okay:
-       pass
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/interwork.exp b/sim/testsuite/sim/sh64/interwork.exp
deleted file mode 100644 (file)
index acd19b3..0000000
+++ /dev/null
@@ -1,20 +0,0 @@
-# SH64 interworking testsuite.
-# In particular, test parts of the instruction set that can be used
-# for SHmedia/SHcompact instruction set mode switches.
-
-if [istarget sh64-*-*] {
-    # load support procs (none yet)
-    # load_lib cgen.exp
-
-    # all machines
-    set all_machs "sh5"
-
-    foreach src [lsort [glob -nocomplain $srcdir/$subdir/misc/*.s]] {
-       # If we're only testing specific files and this isn't one of them,
-       # skip it.
-       if ![runtest_file_p $runtests $src] {
-         continue
-       }
-    run_sim_test $src $all_machs
-    }
-}
diff --git a/sim/testsuite/sim/sh64/media.exp b/sim/testsuite/sim/sh64/media.exp
deleted file mode 100644 (file)
index 1a3d9f4..0000000
+++ /dev/null
@@ -1,19 +0,0 @@
-# SHmedia testsuite.
-
-if [istarget sh64-*-*] {
-    # load support procs (none yet)
-    # load_lib cgen.exp
-
-    # all machines
-    set all_machs "sh5"
-
-    # The .cgs suffix is for "cgen .s".
-    foreach src [lsort [glob -nocomplain $srcdir/$subdir/media/*.cgs]] {
-       # If we're only testing specific files and this isn't one of them,
-       # skip it.
-       if ![runtest_file_p $runtests $src] {
-         continue
-       }
-    run_sim_test $src $all_machs
-    }
-}
diff --git a/sim/testsuite/sim/sh64/media/ChangeLog b/sim/testsuite/sim/sh64/media/ChangeLog
deleted file mode 100644 (file)
index e435dbe..0000000
+++ /dev/null
@@ -1,102 +0,0 @@
-2001-01-09  Ben Elliston  <bje@redhat.com>
-
-       * nsb.cgs: Test consecutive bits of zeros as well as ones.
-       * ptb.cgs: Clean up.
-
-2001-01-08  Ben Elliston  <bje@redhat.com>
-
-       * fcmpund.cgs, fcmpuns.cgs: Complete test cases.
-       * fcnvds.cgs, fcnvsd.cgs, fgetscr.cgs, fiprs.cgs: Ditto.
-       * floatld.cgs, floatls.cgs, floatqd.cgs, floatqs.cgs: Ditto.
-       * fmuld.cgs, fmuls.cgs, fputscr.cgs, fstxp.cgs: Ditto.
-       * fsubd.cgs, fsubs.cgs, ftrcdl.cgs, ftrcdq.cgs: Ditto.
-       * ftrcsl.cgs, ftrcsq.cgs, ftrvs.cgs: Ditto.
-       * ldhil.cgs, ldhiq.cgs, ldlol.cgs, ldloq.cgs: Ditto.
-       * mabsl.cgs, mabsw.cgs, maddl.cgs, maddsl.cgs: Ditto.
-       * maddsub.cgs, maddsw.cgs, maddw.cgs: Ditto.
-       * mcmpeqb.cgs, mcmpeql.cgs, mcmpeqw.cgs: Ditto.
-       * mcmpgtl.cgs, mcmpgtub.cgs, mcmpgtw.cgs: Ditto.
-       * mcmv.cgs, mcnvslw.cgs, mcnvswb.cgs, mcnvswub.cgs: Ditto.
-       * mmacfxwl.cgs, mmacnfx-wl.cgs: Ditto.
-       * mmulfxl.cgs, mmulfxrpw.cgs, mmulfxw.cgs: Ditto.
-       * mmulhiwl.cgs, mmull.cgs, mmullowl.cgs: Ditto.
-       * mmulsumwq.cgs, mmulw.cgs, movi.cgs: Ditto.
-       * mpermw.cgs, msadubq.cgs: Ditto.
-       * mshaldsl.cgs, mshaldsw.cgs: Ditto.
-       * mshardl.cgs, mshardsq.cgs, mshardw.cgs: Ditto.
-       * mshfhib.cgs, mshfhil.cgs, mshfhiw.cgs: Ditto.
-       * mshflob.cgs, mshflol.cgs, mshflow.cgs: Ditto.
-       * mshlldl.cgs, mshlldw.cgs, mshlrdl.cgs: Ditto.
-       * mshlrdw.cgs, msubl.cgs, msubsl.cgs: Ditto.
-       * msubsub.cgs, msubsw.cgs, msubw.cgs: Ditto.
-       * mulsl.cgs, mulul.cgs: Ditto.
-       * ptabs.cgs, ptb.cgs, ptrel.cgs: Ditto.
-       * shard.cgs, shardl.cgs, shari.cgs, sharil.cgs: Ditto.
-       * shlld.cgs, shlldl.cgs, shlli.cgs, shllil.cgs: Ditto.
-       * shlrd.cgs, shlrdl.cgs, shlri.cgs, shlril.cgs: Ditto.
-       * sthil.cgs, sthiq.cgs, swapq.cgs, trapa.cgs: Ditto.
-
-       * testutils.inc (pass): Pass correct "syscall" number.
-       (fail): Ditto.
-
-2000-12-13  Ben Elliston  <bje@redhat.com>
-
-       * sub.cgs, subl.cgs: Complete test cases.
-       * ptrel.cgs: Likewise.
-
-       * shori.cgs: Test for zero extension of immediate operand.
-       * fcmpged.cgs, fcmpges.cgs, fldd.cgs: Complete test cases.
-       * fldp.cgs, flds.cgs, fldxd.cgs, fldxp.cgs: Likewise.
-       * fldxs.cgs, fmacs.cgs, fnegd.cgs, fnegs.cgs: Likewise.
-       * fsqrtd.cgs, fsqrts.cgs, fstd.cgs, fstp.cgs: Likewise.
-       * fsts.cgs, fstxd.cgs, fstxs.cgs: Likewise.
-
-2000-12-12  Ben Elliston  <bje@redhat.com>
-
-       * testutils.inc (pass): Use simple syscall mechanism.
-       (fail): Likewise.
-       (_packb, _packw, _packl): New macros for packing slices.
-
-       * stb.cgs, stq.cgs, stxb.cgs, stxq.cgs: Complete test cases.
-       * stl.cgs, stw.cgs, stxl.cgs, stxw.cgs: Likewise.
-       * ldl.cgs, ldq.cgs, ldub.cgs, lduw.cgs, ldw.cgs: Likewise.
-       * ldxb.cgs, ldxl.cgs, ldxq.cgs, ldxub.cgs: Likewise.
-       * ldxuw.cgs, ldxw.cgs, nsb.cgs, trapa.cgs: Likewise.
-
-       * fcmpeqd.cgs, fcmpeqs.cgs, fcmpgtd.cgs: Complete test cases.
-       * fcmpgts.cgs, fdivd.cgs, fdivs.cgs, fmovd.cgs: Likewise.
-       * fmovdq.cgs, fmovqd.cgs, fmovls.cgs, fmovs.cgs: Likewise.
-       * fmovsl.cgs: Likewise.
-
-2000-12-11  Ben Elliston  <bje@redhat.com>
-
-       * fabss.cgs, fabsd.cgs, fadds.cgs, faddd.cgs: Complete test cases.
-       * getcfg.cgs, getcon.cgs, gettr.cgs, icbi.cgs: Likewise.
-       * prefi.cgs, pta.cgs, ptabs.cgs, ptb.cgs: Likewise.
-       * putcon.cgs, putcfg.cgs, rte.cgs: Likewise.
-
-       * add.cgs, addi.cgs, addl.cgs, addil.cgs: Complete test cases.
-       * addl.cgs, addzl.cgs, alloco.cgs, and.cgs, andc.cgs: Likewise.
-       * andi.cgs, beq.cgs, beqi.cgs, bge.cgs, bgeu.cgs: Likewise.
-       * bgt.cgs, bgtu.cgs, blink.cgs, bne.cgs, bnei.cgs: Likewise.
-       * brk.cgs, byterev.cgs, cmpeq.cgs, cmpgt.cgs: Likewise.
-       * cmpgtu.cgs, cmveq.cgs, cmvne.cgs: Likewise.
-
-2000-12-07  Ben Elliston  <bje@redhat.com>
-
-       * mextr1.cgs, mextr2.cgs, mextr3.cgs: Complete test cases.
-       * mextr4.cgs, mextr5.cgs, mextr6.cgs, mextr7.cgs: Likewise.
-
-2000-12-05  Ben Elliston  <bje@redhat.com>
-
-       * nop.cgs, ocbi.cgs, ocbp.cgs, ocbwb.cgs: Complete test cases.
-       * or.cgs, ori.cgs, xor.cgs, xori.cgs: Ditto.
-       * sleep.cgs, synci.cgs, synco.cgs: Ditto.
-
-2000-11-22  Ben Elliston  <bje@redhat.com>
-
-       * *.cgs: Include "media/testutils.inc", not "testutils.inc" as
-       generated test cases do.  Miscellaneous fixes.
-
-       * testutils.inc: New file.
-       * *.cgs: Generate test cases.
diff --git a/sim/testsuite/sim/sh64/media/add.cgs b/sim/testsuite/sim/sh64/media/add.cgs
deleted file mode 100644 (file)
index 9778e8f..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-# sh testcase for add $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global add
-init:
-       pta wrong, tr0
-add:
-       movi 10, r0
-       movi 0, r1
-       add r0, r1, r3
-       movi 10, r4
-       bne r3, r4, tr0
-
-add0:
-       movi 1, r63
-       add r63, r63, r1
-       bnei r1, 0, tr0
-
-add2:
-       movi 0, r0
-       movi 10, r1
-       add r0, r1, r3
-       movi 10, r4
-       bne r3, r4, tr0
-
-add3:
-       movi 10, r1
-       add r63, r1, r3
-       movi 10, r4
-       bne r3, r4, tr0
-
-add4:
-       movi 10, r1
-       add r1, r63, r3
-       movi 10, r4
-       bne r3, r4, tr0
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/addi.cgs b/sim/testsuite/sim/sh64/media/addi.cgs
deleted file mode 100644 (file)
index 3d4b49f..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-# sh testcase for addi $rm, $disp10, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-addi1:
-       movi 1, r0
-       addi r0, 10, r0
-       bnei r0, 11, tr0
-
-addi2:
-       movi 10, r0
-       addi r0, 1, r0
-       bnei r0, 11, tr0
-
-addi3:
-       movi 10, r0
-       addi r0, -1, r0
-       bnei r0, 9, tr0
-
-addi4:
-       movi 20, r0
-       addi r0, -2, r0
-       bnei r0, 18, tr0
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/addil.cgs b/sim/testsuite/sim/sh64/media/addil.cgs
deleted file mode 100644 (file)
index 5c92e27..0000000
+++ /dev/null
@@ -1,49 +0,0 @@
-# sh testcase for addi.l $rm, $disp10, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-addil0:
-       movi 1, r63
-       addi.l r63, 0, r1
-       bnei r1, 0, tr0
-
-addil1:
-       movi 10, r0
-       addi.l r0, 0, r3
-       bnei r3, 10, tr0
-
-addil2:
-       movi 0, r0
-       addi.l r0, 10, r2
-       bnei r2, 10, tr0
-
-addil3:
-       addi.l r63, 10, r1
-       bnei r1, 10, tr0
-
-addil4:
-       movi 10, r0
-       addi.l r0, 0, r1
-       bnei r1, 10, tr0
-
-addil5:
-       # Ensure top 32-bits are discarded when adding.
-       movi 10, r0
-       shlli r0, 32, r0
-       addi r0, 10, r0
-       addi.l r0, 10, r2
-       bnei r2, 20, tr0
-       
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/addl.cgs b/sim/testsuite/sim/sh64/media/addl.cgs
deleted file mode 100644 (file)
index 7f94b61..0000000
+++ /dev/null
@@ -1,61 +0,0 @@
-# sh testcase for add.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global addl
-init:
-       pta wrong, tr0
-
-addl0:
-       movi 1, r63
-       add.l r63, r63, r1
-       bnei r1, 0, tr0
-
-addl1:
-       movi 10, r0
-       movi 0, r1
-       add.l r0, r1, r3
-       movi 10, r4
-       bne r3, r4, tr0
-
-addl2:
-       movi 0, r0
-       movi 10, r1
-       add.l r0, r1, r2
-       movi 10, r3
-       bne r2, r3, tr0
-
-addl3:
-       movi 10, r0
-       add.l r63, r0, r1
-       movi 10, r2
-       bne r1, r2, tr0
-
-addl4:
-       movi 10, r0
-       add.l r0, r63, r1
-       movi 10, r2
-       bne r1, r2, tr0
-
-addl5:
-       # Ensure top 32-bits are discarded when adding.
-       movi 10, r0
-       shlli r0, 32, r0
-       addi r0, 10, r0
-       movi 10, r1
-       shlli r1, 32, r1
-       addi r1, 10, r1
-       add.l r0, r1, r2
-       movi 20, r3
-       bne r2, r3, tr0
-       
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/addzl.cgs b/sim/testsuite/sim/sh64/media/addzl.cgs
deleted file mode 100644 (file)
index b7917d3..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-# sh testcase for addz.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-addzl1:
-       movi 1, r0
-       movi 2, r1
-       addz.l r0, r1, r2
-       bnei r2, 3, tr0
-
-addzl2:
-       movi 1, r0
-       shlli r0, 32, r0
-       addi r0, 2, r0
-       movi 1, r1
-       shlli r1, 32, r1
-       addi r1, 2, r1
-       addz.l r0, r1, r2
-       bnei r2, 4, tr0
-
-addzl3:
-       movi 1, r0
-       shlli r0, 31, r0
-       addi r0, 2, r0
-       movi 2, r1
-       addz.l r0, r1, r2
-       
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/alloco.cgs b/sim/testsuite/sim/sh64/media/alloco.cgs
deleted file mode 100644 (file)
index 5f27359..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-# sh testcase for alloco $rm, $disp6x32 -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       alloco r0, 32
-       pass
diff --git a/sim/testsuite/sim/sh64/media/and.cgs b/sim/testsuite/sim/sh64/media/and.cgs
deleted file mode 100644 (file)
index c2d4233..0000000
+++ /dev/null
@@ -1,68 +0,0 @@
-# sh testcase for and $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-       
-and0:
-       # 0 and 0 is 0.
-       movi 0, r0
-       movi 0, r1
-       and r0, r1, r2
-       bnei r2, 0, tr0
-
-and1:
-       # 0 and 1 is 0.
-       movi 0, r0
-       movi 1, r1
-       and r0, r1, r2
-       bnei r2, 0, tr0
-
-and2:
-       # 1 and 0 is 0.
-       movi 1, r0
-       movi 0, r1
-       and r0, r1, r2
-       bnei r2, 0, tr0
-
-and3:
-       # 1 and 1 is 1.
-       movi 1, r0
-       movi 1, r1
-       and r0, r1, r2
-       bnei r2, 1, tr0
-
-and4:
-       movi 1, r0
-       shlli r0, 63, r0
-       movi 1, r1
-       shlli r1, 63, r1
-       and r0, r1, r2
-       # Check it.
-       movi 1, r3
-       shlli r3, 63, r3
-       bne r2, r3, tr0
-
-and5:
-       movi 1, r0
-       shlli r0, 63, r0
-       movi 1, r1
-       shlli r1, 63, r1
-       ori r1, 1, r1
-       and r0, r1, r2
-       # Check it.
-       movi 1, r3
-       shlli r1, 63, r1
-       bne r1, r2, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/andc.cgs b/sim/testsuite/sim/sh64/media/andc.cgs
deleted file mode 100644 (file)
index 60b50ac..0000000
+++ /dev/null
@@ -1,50 +0,0 @@
-# sh testcase for andc $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-andc1:
-       # X . !X = 0.
-       movi 3, r0
-       movi 3, r1
-       andc r0, r1, r2
-       bnei r2, 0, tr0
-
-andc2:
-       # X . 0 = X.
-       movi 3, r0
-       movi 0, r1
-       andc r0, r1, r2
-       bnei r2, 3, tr0
-
-andc3:
-       # wide X . 0 = wide X.
-       movi 0x1020, r0
-       shlli r0, 8, r0
-       ori r0, 0x30, r0
-       shlli r0, 8, r0
-       ori r0, 0x40, r0
-       shlli r0, 8, r0
-       ori r0, 0x50, r0
-       shlli r0, 8, r0
-       ori r0, 0x60, r0
-       shlli r0, 8, r0
-       ori r0, 0x70, r0
-       shlli r0, 8, r0
-       ori r0, 0x80, r0
-       movi 0, r1
-       andc r0, r1, r2
-       bne r0, r2, tr0
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/andi.cgs b/sim/testsuite/sim/sh64/media/andi.cgs
deleted file mode 100644 (file)
index decfc2f..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-# sh testcase for andi $rm, $disp10, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-       
-andi0:
-       # 0 and 0 is 0.
-       movi 0, r0
-       andi r0, 0, r2
-       bnei r2, 0, tr0
-
-and1:
-       # 0 and 1 is 0.
-       movi 0, r0
-       andi r0, 1, r2
-       bnei r2, 0, tr0
-
-and2:
-       # 1 and 0 is 0.
-       movi 1, r0
-       andi r0, 0, r2
-       bnei r2, 0, tr0
-
-and3:
-       # 1 and 1 is 1.
-       movi 1, r0
-       andi r0, 1, r2
-       bnei r2, 1, tr0
-
-and4:
-       movi 15, r0
-       andi r0, 3, r2
-       bnei r2, 3, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/beq.cgs b/sim/testsuite/sim/sh64/media/beq.cgs
deleted file mode 100644 (file)
index 6f96ffd..0000000
+++ /dev/null
@@ -1,52 +0,0 @@
-# sh testcase for beq$likely $rm, $rn, $tra -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global beq
-init:
-       # Load up the branch target registers.
-       pta beq2, tr0
-       pta beq3, tr1
-       pta wrong, tr2
-
-beq1:
-       # Compare r0 with itself.
-       # Always true, so branch likely.
-       movi 1, r0
-       beq/l r0, r0, tr0
-       # We should branch over this.
-       fail
-
-beq2:  
-       # Ensure high order bits are compared, too.
-       movi 1, r0
-       shlli r0, 35, r0
-       addi r0, 10, r0
-       movi 1, r1
-       shlli r1, 35, r1
-       addi r1, 10, r1
-       beq r0, r1, tr1
-       # We should branch over this, too.
-       fail
-
-beq3:
-       movi 1, r0
-       shlli r0, 35, r0
-       addi r0, 10, r0
-       movi 2, r1
-       shlli r1, 35, r1
-       addi r1, 9, r1
-       # Unlikely we'll branch!
-       beq/u r0, r1, tr2
-       # We should proceed to pass here.
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/beqi.cgs b/sim/testsuite/sim/sh64/media/beqi.cgs
deleted file mode 100644 (file)
index c2b4ea8..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-# sh testcase for beqi$likely $rm, $imm6, $tra -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global beqi
-init:
-       # Load up the branch target registers.
-       pta beqi2, tr0
-       pta beqi3, tr1
-       pta wrong, tr2
-
-beqi1:
-       # Always true, so branch likely.
-       movi 1, r0
-       beqi/l r0, 1, tr0
-       # We should branch over this.
-       fail
-
-beqi2:
-       movi 22, r3
-       beqi r3, 22, tr1
-       # We should branch over this.
-       fail
-
-beqi3: 
-       movi 27, r7
-       # We shouldn't branch here.
-       beqi/u r7, 23, tr2
-       # We should proceed to pass here.
-
-okay:
-       pass
-       
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/bge.cgs b/sim/testsuite/sim/sh64/media/bge.cgs
deleted file mode 100644 (file)
index 832ff06..0000000
+++ /dev/null
@@ -1,40 +0,0 @@
-# sh testcase for bge$likely $rm, $rn, $tra -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global bge
-init:
-       pta bge2, tr0
-       pta bge3, tr1
-       pta wrong, tr2
-       movi 0, r0
-       
-bge1:
-       # Compare r0 with itself.
-       bge/l r0, r0, tr0
-       # We should branch here.
-       fail
-
-bge2:
-       movi 1, r1
-       movi 1, r2
-       bge r1, r2, tr1
-       # We should branch here.
-       fail
-
-bge3:
-       movi -1, r1
-       movi 1, r2
-       bge r1, r2, tr2
-       # We should not branch here.
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/bgeu.cgs b/sim/testsuite/sim/sh64/media/bgeu.cgs
deleted file mode 100644 (file)
index da469d0..0000000
+++ /dev/null
@@ -1,47 +0,0 @@
-# sh testcase for bgeu$likely $rm, $rn, $tra -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global bgeu
-init:
-       movi 0, r0
-       
-bgeu1:
-       # Compare r0 with itself.
-       pta bgeu2, tr0
-       bgeu/l r0, r0, tr0
-       # We should branch here.
-       fail
-
-bgeu2:
-       movi 1, r1
-       movi 1, r2
-       pta bge3, tr0
-       bgeu r1, r2, tr0
-       # We should branch here.
-       fail
-
-bge3:
-       movi -1, r1
-       movi 1, r2
-       # We SHOULD branch here.
-       pta bge4, tr0
-       bgeu r1, r2, tr0
-       fail
-
-bge4:
-       movi 1, r1
-       movi -1, r2
-       # We should not branch here.
-       pta wrong, tr0
-       bgeu r1, r2, tr0
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/bgt.cgs b/sim/testsuite/sim/sh64/media/bgt.cgs
deleted file mode 100644 (file)
index 8866635..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-# sh testcase for bgt$likely $rm, $rn, $tra -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-
-init:
-       pta wrong, tr0
-
-bgt1:
-       movi 1, r0
-       movi -1, r1
-       bgt r1, r0, tr0
-
-bgt2:
-       bgt r0, r0, tr0
-bgt3:
-       pta okay, tr1
-       movi -1, r0
-       movi 1, r1
-       bgt r0, r1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/bgtu.cgs b/sim/testsuite/sim/sh64/media/bgtu.cgs
deleted file mode 100644 (file)
index 3cc0269..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# sh testcase for bgtu$likely $rm, $rn, $tra -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-
-init:
-       pta wrong, tr0
-
-bgtu1:
-       movi 1, r0
-       movi -1, r1
-       pta bgt2, tr1
-       bgtu r1, r0, tr1
-       fail
-
-bgt2:
-       bgtu r0, r0, tr0
-bgt3:
-       pta okay, tr1
-       movi -1, r0
-       movi 1, r1
-       pta okay, tr1
-       bgtu r0, r1, tr1
-       fail
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/blink.cgs b/sim/testsuite/sim/sh64/media/blink.cgs
deleted file mode 100644 (file)
index 000d1f5..0000000
+++ /dev/null
@@ -1,17 +0,0 @@
-# sh testcase for blink $trb, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-blink:
-       pta target, tr0
-       gettr tr0, r1
-       ptabs r1, tr0
-       blink tr0, r0
-       fail
-
-target:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/bne.cgs b/sim/testsuite/sim/sh64/media/bne.cgs
deleted file mode 100644 (file)
index f574147..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-# sh testcase for bne$likely $rm, $rn, $tra -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       movi 1, r0
-       pta wrong, tr0
-       pta okay, tr1
-
-bne1:  
-       bne r63, r63, tr0
-bne2:
-       bne r0, r63, tr1
-bad:
-       fail
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/bnei.cgs b/sim/testsuite/sim/sh64/media/bnei.cgs
deleted file mode 100644 (file)
index 5ce3399..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-# sh testcase for bnei$likely $rm, $imm6, $tra -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       movi 1, r0
-       pta wrong, tr0
-       pta okay, tr1
-
-bnei1:
-       bnei r63, 0, tr0
-bnei2:
-       bnei r0, 3, tr1
-bad:
-       fail
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/brk.cgs b/sim/testsuite/sim/sh64/media/brk.cgs
deleted file mode 100644 (file)
index 0736414..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-# sh testcase for brk -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       # brk will cause the sim to trap, so avoid it.
-       pass
-       brk
diff --git a/sim/testsuite/sim/sh64/media/byterev.cgs b/sim/testsuite/sim/sh64/media/byterev.cgs
deleted file mode 100644 (file)
index d97c3ad..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-# sh testcase for byterev $rm, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       pta wrong, tr0
-init:
-       # Put a distinctive pattern in r0.
-       movi 10, r0
-       shlli r0, 8, r0
-       ori r0, 20, r0
-       shlli r0, 8, r0
-       ori r0, 30, r0
-       shlli r0, 8, r0
-       ori r0, 40, r0
-       shlli r0, 8, r0
-       ori r0, 50, r0
-       shlli r0, 8, r0
-       ori r0, 60, r0
-       shlli r0, 8, r0
-       ori r0, 70, r0
-       shlli r0, 8, r0
-       ori r0, 80, r0
-
-byterev:
-       byterev r0, r1
-
-check:
-       andi r1, 255, r2
-       movi 10, r3
-       bne r2, r3, tr0
-       shlri r1, 8, r1
-       andi r1, 255, r2
-       movi 20, r3
-       bne r2, r3, tr0
-       shlri r1, 8, r1
-       andi r1, 255, r2
-       movi 30, r3
-       bne r2, r3, tr0
-       shlri r1, 8, r1
-       andi r1, 255, r2
-       movi 40, r3
-       bne r2, r3, tr0
-       shlri r1, 8, r1
-       andi r1, 255, r2
-       movi 50, r3
-       bne r2, r3, tr0
-       shlri r1, 8, r1
-       andi r1, 255, r2
-       movi 60, r3
-       bne r2, r3, tr0
-       shlri r1, 8, r1
-       andi r1, 255, r2
-       movi 70, r3
-       bne r2, r3, tr0
-       shlri r1, 8, r1
-       andi r1, 255, r2
-       movi 80, r3
-       bne r2, r3, tr0
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/cmpeq.cgs b/sim/testsuite/sim/sh64/media/cmpeq.cgs
deleted file mode 100644 (file)
index 78f51f4..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-# sh testcase for cmpeq $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-       movi 0, r0
-       movi 1, r1
-       movi 2, r2
-       movi 2, r3
-       movi 3, r4
-
-cmpeq1:
-       cmpeq r2, r2, r7
-       bne r7, r1, tr0
-
-cmpeq2:
-       cmpeq r2, r3, r7
-       bne r7, r1, tr0
-
-cmpeq3:
-       cmpeq r2, r4, r7
-       bne r7, r0, tr0
-
-cmpeq4:
-       movi 1, r2
-       shlli r2, 63, r2
-       movi 1, r3
-       shlli r3, 63, r3
-       cmpeq r2, r3, r7
-       bne r7, r1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/cmpgt.cgs b/sim/testsuite/sim/sh64/media/cmpgt.cgs
deleted file mode 100644 (file)
index e4a971b..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-# sh testcase for cmpgt $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-       movi 0, r0
-       movi 1, r1
-       movi 2, r2
-       movi 2, r3
-       movi 3, r4
-
-cmpgt1:
-       cmpgt r2, r2, r7
-       bne r7, r0, tr0
-
-cmpgt2:
-       cmpgt r2, r3, r7
-       bne r7, r0, tr0
-
-cmpgt3:
-       cmpgt r4, r2, r7
-       bne r7, r1, tr0
-
-cmpgt4:
-       movi 1, r2
-       shlli r2, 63, r2
-       movi 1, r3
-       shlli r3, 63, r3
-       addi r3, 1, r3
-       cmpgt r3, r2, r7
-       bne r7, r1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/cmpgtu.cgs b/sim/testsuite/sim/sh64/media/cmpgtu.cgs
deleted file mode 100644 (file)
index b896dfc..0000000
+++ /dev/null
@@ -1,43 +0,0 @@
-# sh testcase for cmpgtu $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-       movi 0, r0
-       movi 1, r1
-       movi 2, r2
-       movi 2, r3
-       movi 3, r4
-
-cmpgt1:
-       cmpgtu r2, r2, r7
-       bne r7, r0, tr0
-
-cmpgt2:
-       cmpgtu r2, r3, r7
-       bne r7, r0, tr0
-
-cmpgt3:
-       cmpgtu r4, r2, r7
-       bne r7, r1, tr0
-
-cmpgt4:
-       movi 1, r2
-       shlli r2, 63, r2
-       movi 1, r3
-       shlli r3, 63, r3
-       addi r3, 1, r3
-       cmpgtu r3, r2, r7
-       bne r7, r1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/cmveq.cgs b/sim/testsuite/sim/sh64/media/cmveq.cgs
deleted file mode 100644 (file)
index 0f49733..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-# sh testcase for cmveq $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-       movi 0, r0
-       movi 1, r1
-       movi 2, r2
-       movi 21, r3
-
-cmveq:
-       # Zap r7.
-       movi 0, r7
-
-       cmveq r0, r2, r7
-       bne r2, r7, tr0
-
-       cmveq r1, r3, r7
-       # Make sure r7 is still equal to r2.
-       bne r2, r7, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/cmvne.cgs b/sim/testsuite/sim/sh64/media/cmvne.cgs
deleted file mode 100644 (file)
index 909179a..0000000
+++ /dev/null
@@ -1,32 +0,0 @@
-# sh testcase for cmvne $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-       movi 0, r0
-       movi 1, r1
-       movi 2, r2
-       movi 21, r3
-
-cmvne:
-       # Zap r7.
-       movi 0, r7
-
-       cmvne r1, r2, r7
-       bne r2, r7, tr0
-
-       cmvne r0, r3, r7
-       # Make sure r7 is still equal to r2.
-       bne r2, r7, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fabsd.cgs b/sim/testsuite/sim/sh64/media/fabsd.cgs
deleted file mode 100644 (file)
index 47060fc..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-# sh testcase for fabs.d $drgh, $drf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-       movi 0, r0
-       movi 1, r1
-
-fabs0:
-       # Ensure fabs(-1) = 1.
-       fmov.ls r0, fr7
-       float.ld fr7, dr0
-       fmov.ls r1, fr7
-       float.ld fr7, dr2
-       fsub.d dr0, dr2, dr4
-       fabs.d dr4, dr6
-       fcmpeq.d dr6, dr2, r7
-       bnei r7, 1, tr0
-
-fabs1:
-       # Ensure fabs(1) = 1.
-       fmov.ls r0, fr7
-       float.ld fr7, dr0
-       fmov.ls r1, fr7
-       float.ld fr7, dr2
-       fabs.d dr2, dr4
-       fcmpeq.d dr2, dr4, r7
-       bnei r7, 1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fabss.cgs b/sim/testsuite/sim/sh64/media/fabss.cgs
deleted file mode 100644 (file)
index dd9aec7..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-# sh testcase for fabs.s $frgh, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-       movi 0, r0
-       movi 1, r1
-
-fabs0:
-       # Ensure fabs(-1) = 1.
-       fmov.ls r0, fr7
-       float.ls fr7, fr0
-       fmov.ls r1, fr7
-       float.ls fr7, fr1
-       fsub.s fr0, fr1, fr2
-       fabs.s fr2, fr3
-       fcmpeq.s fr3, fr1, r7
-       bnei r7, 1, tr0
-
-fabs1:
-       # Ensure fabs(1) = 1.
-       fmov.ls r0, fr7
-       float.ls fr7, fr0
-       fmov.ls r1, fr7
-       float.ls fr7, fr1
-       fabs.s fr1, fr2
-       fcmpeq.s fr1, fr2, r7
-       bnei r7, 1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/faddd.cgs b/sim/testsuite/sim/sh64/media/faddd.cgs
deleted file mode 100644 (file)
index 096f852..0000000
+++ /dev/null
@@ -1,33 +0,0 @@
-# sh testcase for fadd.d $drg, $drh, $drf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-       movi 2, r0
-       movi 3, r1
-
-fadd0:
-       # Add 2 and 3.
-       fmov.ls r0, fr7
-       float.ld fr7, dr0
-       fmov.ls r1, fr7
-       float.ld fr7, dr2
-       fadd.d dr0, dr2, dr4
-       # Check to make sure we got 5.
-       movi 5, r2
-       fmov.ls r2, fr7
-       float.ld fr7, dr6
-       fcmpeq.d dr4, dr6, r7
-       bnei r7, 1, tr0
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fadds.cgs b/sim/testsuite/sim/sh64/media/fadds.cgs
deleted file mode 100644 (file)
index fb93979..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-# sh testcase for fadd.s $frg, $frh, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global fadds
-init:
-       pta wrong, tr0
-       movi 2, r0
-       movi 3, r1
-
-fadd0:
-       # Add 2 and 3.
-       fmov.ls r0, fr7
-       float.ls fr7, fr0
-       fmov.ls r1, fr7
-       float.ls fr7, fr1
-       fadd.s fr0, fr1, fr2
-       # Check to make sure we got 5.
-       movi 5, r2
-       fmov.ls r2, fr7
-       float.ls fr7, fr3
-       fcmpeq.s fr2, fr3, r7
-       bnei r7, 1, tr0
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fcmpeqd.cgs b/sim/testsuite/sim/sh64/media/fcmpeqd.cgs
deleted file mode 100644 (file)
index c193564..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# sh testcase for fcmpeq.d $drg, $drh, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-fcmpeq1:
-       movi 1, r0
-       fmov.ls r0, fr0
-       fmov.ls r0, fr1
-       float.ld fr0, dr2
-       float.ld fr1, dr4
-       fcmpeq.d dr2, dr2, r7
-       bnei r7, 1, tr0 
-
-fcmpeq2:
-       movi 1, r0
-       fmov.ls r0, fr0
-       movi 2, r1
-       fmov.ls r1, fr1
-       float.ld fr0, dr4
-       float.ld fr1, dr6
-       fcmpeq.d dr4, dr6, r7
-       bnei r7, 0, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fcmpeqs.cgs b/sim/testsuite/sim/sh64/media/fcmpeqs.cgs
deleted file mode 100644 (file)
index 216894d..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# sh testcase for fcmpeq.s $frg, $frh, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-fcmpeq1:
-       movi 1, r0
-       fmov.ls r0, fr0
-       fmov.ls r0, fr1
-       float.ls fr0, fr2
-       float.ls fr1, fr3
-       fcmpeq.s fr2, fr3, r7
-       bnei r7, 1, tr0 
-
-fcmpeq2:
-       movi 1, r0
-       fmov.ls r0, fr0
-       movi 2, r1
-       fmov.ls r1, fr1
-       float.ls fr0, fr2
-       float.ls fr1, fr3
-       fcmpeq.s fr2, fr3, r7
-       bnei r7, 0, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fcmpged.cgs b/sim/testsuite/sim/sh64/media/fcmpged.cgs
deleted file mode 100644 (file)
index 52496cc..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-# sh testcase for fcmpge.d $drg, $drh, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-fcmpge1: # 2 = 2.
-       movi 2, r0
-       fmov.ls r0, fr0
-       fmov.ls r0, fr1
-       float.ld fr0, dr2
-       float.ld fr1, dr4
-       fcmpge.d dr2, dr4, r7
-       bnei r7, 1, tr0
-
-fcmpge2: # 4 > 2.
-       movi 4, r0
-       fmov.ls r0, fr0
-       movi 2, r0
-       fmov.ls r0, fr1
-       float.ld fr0, dr2
-       float.ld fr1, dr4
-       fcmpge.d dr2, dr4, r7
-       bnei r7, 1, tr0
-
-fcmpge3: # 2 < 4.
-       movi 2, r0
-       fmov.ls r0, fr0
-       movi 4, r0
-       fmov.ls r0, fr1
-       float.ld fr0, dr2
-       float.ld fr1, dr4
-       fcmpge.d dr2, dr4, r7
-       bnei r7, 0, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fcmpges.cgs b/sim/testsuite/sim/sh64/media/fcmpges.cgs
deleted file mode 100644 (file)
index 2dd0a35..0000000
+++ /dev/null
@@ -1,46 +0,0 @@
-# sh testcase for fcmpge.s $frg, $frh, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-fcmpge1: # 2 = 2.
-       movi 2, r0
-       fmov.ls r0, fr0
-       fmov.ls r0, fr1
-       float.ls fr0, fr2
-       float.ls fr1, fr3
-       fcmpge.s fr2, fr3, r7
-       bnei r7, 1, tr0
-
-fcmpge2: # 3 > 2.
-       movi 3, r0
-       fmov.ls r0, fr0
-       movi 2, r0
-       fmov.ls r0, fr1
-       float.ls fr0, fr2
-       float.ls fr1, fr3
-       fcmpge.s fr2, fr3, r7
-       bnei r7, 1, tr0
-
-fcmpge3: # 2 < 3.
-       movi 2, r0
-       fmov.ls r0, fr0
-       movi 3, r0
-       fmov.ls r0, fr1
-       float.ls fr0, fr2
-       float.ls fr1, fr3
-       fcmpge.s fr2, fr3, r7
-       bnei r7, 0, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fcmpgtd.cgs b/sim/testsuite/sim/sh64/media/fcmpgtd.cgs
deleted file mode 100644 (file)
index aec9520..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# sh testcase for fcmpgt.d $drg, $drh, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-fcmpgt1:
-       movi 2, r0
-       fmov.qd r0, dr0
-       movi 1, r1
-       fmov.qd r1, dr2
-       float.qd dr0, dr4
-       float.qd dr2, dr6
-       fcmpgt.d dr4, dr6, r7
-       bnei r7, 1, tr0 
-
-fcmpgt2:
-       movi 1, r0
-       fmov.qd r0, dr0
-       fmov.qd r0, dr2
-       float.qd dr0, dr4
-       float.qd dr2, dr6
-       fcmpgt.d dr4, dr6, r7
-       bnei r7, 0, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fcmpgts.cgs b/sim/testsuite/sim/sh64/media/fcmpgts.cgs
deleted file mode 100644 (file)
index 893bbcb..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# sh testcase for fcmpgt.s $frg, $frh, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-fcmpgt1:
-       movi 2, r0
-       fmov.ls r0, fr0
-       movi 1, r1
-       fmov.ls r1, fr1
-       float.ls fr0, fr2
-       float.ls fr1, fr3
-       fcmpgt.s fr2, fr3, r7
-       bnei r7, 1, tr0 
-
-fcmpgt2:
-       movi 1, r0
-       fmov.ls r0, fr0
-       fmov.ls r0, fr1
-       float.ls fr0, fr2
-       float.ls fr1, fr3
-       fcmpgt.s fr2, fr3, r7
-       bnei r7, 0, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fcmpund.cgs b/sim/testsuite/sim/sh64/media/fcmpund.cgs
deleted file mode 100644 (file)
index b87fb8d..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# sh testcase for fcmpun.d $drg, $drh, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-fcmpund:       
-       movi 0, r0
-       movi 1, r1
-       fmov.qd r0, dr0
-       float.qd dr0, dr0
-       fmov.qd r1, dr2
-       float.qd dr2, dr2
-       fcmpun.d dr0, dr2, r7
-       bnei r7, 0, tr0
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fcmpuns.cgs b/sim/testsuite/sim/sh64/media/fcmpuns.cgs
deleted file mode 100644 (file)
index 6c2ed96..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# sh testcase for fcmpun.s $frg, $frh, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-fcmpuns:       
-       movi 0, r0
-       movi 1, r1
-       fmov.ls r0, fr0
-       float.ls fr0, fr0
-       fmov.ls r1, fr1
-       float.ls fr1, fr1
-       fcmpun.s fr0, fr1, r7
-       bnei r7, 0, tr0
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fcnvds.cgs b/sim/testsuite/sim/sh64/media/fcnvds.cgs
deleted file mode 100644 (file)
index aa6c993..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-# sh testcase for fcnv.ds $drgh, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-fcnvds:
-       movi 9, r0
-       fmov.qd r0, dr0
-       float.qd dr0, dr0
-       fcnv.ds dr0, fr3
-       movi 9, r0
-       fmov.ls r0, fr4
-       float.ls fr4, fr4
-       fcmpeq.s fr3, fr4, r7
-       bnei r7, 1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fcnvsd.cgs b/sim/testsuite/sim/sh64/media/fcnvsd.cgs
deleted file mode 100644 (file)
index 6c2396f..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-# sh testcase for fcnv.sd $frgh, $drf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-fcnvsd:        
-       movi 9, r0
-       fmov.ls r0, fr0
-       float.ls fr0, fr0
-       fcnv.sd fr0, dr2
-       movi 9, r0
-       fmov.qd r0, dr4
-       float.qd dr4, dr4
-       fcmpeq.d dr2, dr4, r7
-       bnei r7, 1, tr0
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fdivd.cgs b/sim/testsuite/sim/sh64/media/fdivd.cgs
deleted file mode 100644 (file)
index 62401c6..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-# sh testcase for fdiv.d $drg, $drh, $drf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-fdivd1:
-       movi 1, r0
-       fmov.qd r0, dr0
-       float.qd dr0, dr0
-       movi 2, r1
-       fmov.qd r1, dr2
-       float.qd dr2, dr2
-       fdiv.d dr0, dr2, dr4
-
-fdvid2:
-       movi 6, r0
-       fmov.qd r0, dr0
-       float.qd dr0, dr0
-       movi 2, r1
-       fmov.qd r1, dr2
-       float.qd dr2, dr2
-       fdiv.d dr0, dr2, dr4
-       movi 3, r3
-       fmov.qd r3, dr6
-       float.qd dr6, dr6
-       fcmpeq.d dr4, dr6, r7
-       bnei r7, 1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fdivs.cgs b/sim/testsuite/sim/sh64/media/fdivs.cgs
deleted file mode 100644 (file)
index 9b20f68..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-# sh testcase for fdiv.s $frg, $frh, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-fdivs1:
-       movi 1, r0
-       fmov.ls r0, fr0
-       float.ls fr0, fr0
-       movi 2, r1
-       fmov.ls r1, fr1
-       float.ls fr1, fr1
-       fdiv.s fr0, fr1, fr2
-
-fdvis2:
-       movi 6, r0
-       fmov.ls r0, fr0
-       float.ls fr0, fr0
-       movi 2, r1
-       fmov.ls r1, fr1
-       float.ls fr1, fr1
-       fdiv.s fr0, fr1, fr2
-       movi 3, r3
-       fmov.ls r3, fr3
-       float.ls fr3, fr3
-       fcmpeq.s fr2, fr3, r7
-       bnei r7, 1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fgetscr.cgs b/sim/testsuite/sim/sh64/media/fgetscr.cgs
deleted file mode 100644 (file)
index 6aa2274..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for fgetscr $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global fgetscr
-fgetscr:
-       fgetscr fr0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/fiprs.cgs b/sim/testsuite/sim/sh64/media/fiprs.cgs
deleted file mode 100644 (file)
index fef62d1..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-# sh testcase for fipr.s $fvg, $fvh, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       .macro _load val, fpreg
-       # This macro clobbers r0.
-       movi \val, r0
-       fmov.ls r0, \fpreg 
-       float.ls \fpreg, \fpreg
-       .endm
-
-       start
-
-       .global fiprs
-init:
-       pta wrong, tr0
-
-       _load 1, fr0
-       _load 2, fr1
-       _load 3, fr2
-       _load 4, fr3
-       _load 1, fr4
-       _load 2, fr5
-       _load 3, fr6
-       _load 4, fr7
-
-fiprs:
-       fipr.s fv0, fv4, fr9
-
-check:
-       _load 30, fr10
-       fcmpeq.s fr9, fr10, r7
-       bnei r7, 1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fldd.cgs b/sim/testsuite/sim/sh64/media/fldd.cgs
deleted file mode 100644 (file)
index ded2a9f..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# sh testcase for fld.d $rm, $disp10x8, $drf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       movi 0x2800, r0
-       fld.d r0, 0, dr0
-       fld.d r0, 8, dr0
-       fld.d r0, -8, dr0
-       pass
diff --git a/sim/testsuite/sim/sh64/media/fldp.cgs b/sim/testsuite/sim/sh64/media/fldp.cgs
deleted file mode 100644 (file)
index 8727110..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-# sh testcase for fld.p $rm, $disp10x8, $fpf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       movi 0x2800, r0
-
-fldp:
-       fld.p r0, 0, fp0
-       fld.p r0, 8, fp2
-       fld.p r0, -8, fp4
-       pass
diff --git a/sim/testsuite/sim/sh64/media/flds.cgs b/sim/testsuite/sim/sh64/media/flds.cgs
deleted file mode 100644 (file)
index 75d5e96..0000000
+++ /dev/null
@@ -1,13 +0,0 @@
-# sh testcase for fld.s $rm, $disp10x4, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       movi 0x2800, r0
-       fld.s r0, 0, fr0
-       fld.s r0, 4, fr0
-       fld.s r0, -4, fr0
-       pass
diff --git a/sim/testsuite/sim/sh64/media/fldxd.cgs b/sim/testsuite/sim/sh64/media/fldxd.cgs
deleted file mode 100644 (file)
index 63cb56b..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-# sh testcase for fldx.d $rm, $rn, $drf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       movi 0x2800, r0
-       movi 0, r1
-       fldx.d r0, r1, dr0
-       movi 8, r1
-       fldx.d r0, r1, dr0
-       movi -8, r1
-       fldx.d r0, r1, dr0
-       pass
diff --git a/sim/testsuite/sim/sh64/media/fldxp.cgs b/sim/testsuite/sim/sh64/media/fldxp.cgs
deleted file mode 100644 (file)
index 3d929c6..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# sh testcase for fldx.p $rm, $rn, $fpf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       movi 0x2800, r0
-
-fldxp:
-       movi 0, r1
-       fldx.p r0, r1, fp0
-
-       movi 8, r1
-       fldx.p r0, r1, fp2
-
-       movi -8, r1
-       fldx.p r0, r1, fp4
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/fldxs.cgs b/sim/testsuite/sim/sh64/media/fldxs.cgs
deleted file mode 100644 (file)
index 10feb3e..0000000
+++ /dev/null
@@ -1,16 +0,0 @@
-# sh testcase for fldx.s $rm, $rn, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       movi 0x2800, r0
-       movi 0, r1
-       fldx.s r0, r1, fr0
-       movi 4, r1
-       fldx.s r0, r1, fr0
-       movi -4, r1
-       fldx.s r0, r1, fr0
-       pass
diff --git a/sim/testsuite/sim/sh64/media/floatld.cgs b/sim/testsuite/sim/sh64/media/floatld.cgs
deleted file mode 100644 (file)
index 31f6111..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-# sh testcase for float.ld $frgh, $drf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       movi 1, r0
-       fmov.ls r0, fr0
-       float.ld fr0, dr0
-       pass
diff --git a/sim/testsuite/sim/sh64/media/floatls.cgs b/sim/testsuite/sim/sh64/media/floatls.cgs
deleted file mode 100644 (file)
index 4c8fb99..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-# sh testcase for float.ls $frgh, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       movi 1, r0
-       fmov.ls r0, fr0
-       float.ls fr0, fr0
-       pass
diff --git a/sim/testsuite/sim/sh64/media/floatqd.cgs b/sim/testsuite/sim/sh64/media/floatqd.cgs
deleted file mode 100644 (file)
index ea5ddd9..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-# sh testcase for float.qd $drgh, $drf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       movi 1, r0
-       fmov.qd r0, dr0
-       float.qd dr0, dr2
-       pass
diff --git a/sim/testsuite/sim/sh64/media/floatqs.cgs b/sim/testsuite/sim/sh64/media/floatqs.cgs
deleted file mode 100644 (file)
index fcf35e2..0000000
+++ /dev/null
@@ -1,12 +0,0 @@
-# sh testcase for float.qs $drgh, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       movi 1, r0
-       fmov.qd r0, dr0
-       float.qs dr0, fr1
-       pass
diff --git a/sim/testsuite/sim/sh64/media/fmacs.cgs b/sim/testsuite/sim/sh64/media/fmacs.cgs
deleted file mode 100644 (file)
index 62219c5..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-# sh testcase for fmac.s $frg, $frh, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-       
-fmacs:
-       movi 2, r0
-       fmov.ls r0, fr0
-       float.ls fr0, fr0
-
-       movi 3, r1
-       fmov.ls r1, fr1
-       float.ls fr1, fr1
-
-       movi 4, r2
-       fmov.ls r2, fr2
-       float.ls fr2, fr2
-
-       fmac.s fr0, fr1, fr2
-
-       movi 10, r3
-       fmov.ls r3, fr3
-       float.ls fr3, fr3
-
-       fcmpeq.s fr2, fr3, r7
-       bnei r7, 1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fmovd.cgs b/sim/testsuite/sim/sh64/media/fmovd.cgs
deleted file mode 100644 (file)
index 03c05ad..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# sh testcase for fmov.d $drgh, $drf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-fmovd: 
-       movi 4, r0
-       fmov.qd r0, dr0
-       float.qd dr0, dr2
-       fmov.d dr2, dr4
-       fcmpeq.d dr2, dr4, r7
-       bnei r7, 1, tr0
-
-okay:
-       pass
-       
-wrong: 
-       fail    
diff --git a/sim/testsuite/sim/sh64/media/fmovdq.cgs b/sim/testsuite/sim/sh64/media/fmovdq.cgs
deleted file mode 100644 (file)
index ff5c3fe..0000000
+++ /dev/null
@@ -1,23 +0,0 @@
-# sh testcase for fmov.dq $drgh, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-fmovdq:
-       movi 4, r0
-       fmov.qd r0, dr0
-       fmov.dq dr0, r1
-       bne r0, r1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fmovls.cgs b/sim/testsuite/sim/sh64/media/fmovls.cgs
deleted file mode 100644 (file)
index 850ec33..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# sh testcase for fmov.ls $rm, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-fmovls0:
-       movi 0, r0
-       fmov.ls r0, fr0
-
-fmovls1:
-       movi 1, r1
-       fmov.ls r1, fr1
-
-upper:
-       movi 1, r2
-       shlli r2, 63, r2
-       ori r2, 3, r2
-       # Bit 63 should be ignored.
-       fmov.ls r2, fr2
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/fmovqd.cgs b/sim/testsuite/sim/sh64/media/fmovqd.cgs
deleted file mode 100644 (file)
index 64eac72..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# sh testcase for fmov.qd $rm, $drf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-fmovdq:
-       movi 4, r0
-       fmov.qd r0, dr0
-       fmov.dq dr0, r1
-       bne r0, r1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fmovs.cgs b/sim/testsuite/sim/sh64/media/fmovs.cgs
deleted file mode 100644 (file)
index f126aa5..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# sh testcase for fmov.s $frgh, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-       
-fmovs:
-       movi 8, r0
-       fmov.ls r0, fr7
-       float.ls fr7, fr0
-       fmov.s fr0, fr1
-       fcmpeq.s fr0, fr1, r7
-       bnei r7, 1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fmovsl.cgs b/sim/testsuite/sim/sh64/media/fmovsl.cgs
deleted file mode 100644 (file)
index 7dfdab1..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# sh testcase for fmov.sl $frgh, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-fmovsl:        
-       pta wrong, tr0
-       movi 9, r0
-       fmov.ls r0, fr0
-       fmov.sl fr0, r1
-       bne r0, r1, tr0
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fmuld.cgs b/sim/testsuite/sim/sh64/media/fmuld.cgs
deleted file mode 100644 (file)
index 2ad67cd..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-# sh testcase for fmul.d $drg, $drh, $drf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-fmuld1:
-       movi 2, r0
-       fmov.qd r0, dr0
-       float.qd dr0, dr0
-       movi 3, r1
-       fmov.qd r1, dr2
-       float.qd dr2, dr2
-       fmul.d dr0, dr2, dr4
-       movi 6, r2
-       fmov.qd r2, dr6
-       float.qd dr6, dr6
-       fcmpeq.d dr4, dr6, r7
-       bnei r7, 1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fmuls.cgs b/sim/testsuite/sim/sh64/media/fmuls.cgs
deleted file mode 100644 (file)
index 4b8875f..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-# sh testcase for fmul.s $frg, $frh, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-fmuls1:
-       movi 2, r0
-       fmov.ls r0, fr0
-       float.ls fr0, fr0
-       movi 3, r1
-       fmov.ls r1, fr1
-       float.ls fr1, fr1
-       fmul.s fr0, fr1, fr2
-       movi 6, r2
-       fmov.ls r2, fr3
-       float.ls fr3, fr3
-       fcmpeq.s fr2, fr3, r7
-       bnei r7, 1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fnegd.cgs b/sim/testsuite/sim/sh64/media/fnegd.cgs
deleted file mode 100644 (file)
index 67b3813..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# sh testcase for fneg.d $drgh, $drf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-       movi 0, r0
-       movi 1, r1
-
-fnegd0:
-       # Ensure fnegd(0) = 0.
-       fmov.ls r0, fr7
-       float.ld fr7, dr0
-       fneg.d dr0, dr2
-       fcmpeq.d dr0, dr2, r7
-       bnei r7, 1, tr0
-
-fnegd1:
-       # Ensure fnegd(fnegd(1)) = 1.
-       fmov.ls r1, fr7
-       float.ld fr7, dr0
-       fneg.d dr0, dr2
-       fneg.d dr2, dr4
-       fcmpeq.d dr0, dr4, r7
-       bnei r7, 1, tr0
-       
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fnegs.cgs b/sim/testsuite/sim/sh64/media/fnegs.cgs
deleted file mode 100644 (file)
index 9ad625a..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# sh testcase for fneg.s $frgh, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-       movi 0, r0
-       movi 1, r1
-
-fnegs0:
-       # Ensure fnegs(0) = 0.
-       fmov.ls r0, fr7
-       float.ls fr7, fr0
-       fneg.s fr0, fr1
-       fcmpeq.s fr0, fr1, r7
-       bnei r7, 1, tr0
-
-fnegs1:
-       # Ensure fnegs(fnegs(1)) = 1.
-       fmov.ls r1, fr7
-       float.ls fr7, fr0
-       fneg.s fr0, fr1
-       fneg.s fr1, fr2
-       fcmpeq.s fr0, fr2, r7
-       bnei r7, 1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fputscr.cgs b/sim/testsuite/sim/sh64/media/fputscr.cgs
deleted file mode 100644 (file)
index 28d2e72..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for fputscr $frgh -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global fputscr
-fputscr:
-       fputscr fr0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/fsqrtd.cgs b/sim/testsuite/sim/sh64/media/fsqrtd.cgs
deleted file mode 100644 (file)
index ae61200..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-# sh testcase for fsqrt.d $frgh, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-       movi 9, r0
-       fmov.ls r0, fr7
-       float.ld fr7, dr0
-       movi 3, r1
-       fmov.ls r1, fr7
-       float.ld fr7, dr2
-
-fsqrtd:
-       fsqrt.d dr0, dr4
-       fcmpeq.d dr2, dr4, r7
-       bnei r7, 1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fsqrts.cgs b/sim/testsuite/sim/sh64/media/fsqrts.cgs
deleted file mode 100644 (file)
index f118393..0000000
+++ /dev/null
@@ -1,27 +0,0 @@
-# sh testcase for fsqrt.s $frgh, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-       movi 9, r0
-       fmov.ls r0, fr7
-       float.ls fr7, fr0
-       movi 3, r1
-       fmov.ls r1, fr7
-       float.ls fr7, fr2
-
-fsqrts:
-       fsqrt.s fr0, fr1
-       fcmpeq.s fr1, fr2, r7
-       bnei r7, 1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fstd.cgs b/sim/testsuite/sim/sh64/media/fstd.cgs
deleted file mode 100644 (file)
index 16ab5b6..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-# sh testcase for fst.d $rm, $disp10x8, $drf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global fstd
-fstd:  
-       movi 0x1020, r0
-       shlli r0, 8, r0
-       ori r0, 0x30, r0
-       shlli r0, 8, r0
-       ori r0, 0x40, r0
-       shlli r0, 8, r0
-       ori r0, 0x50, r0
-       shlli r0, 8, r0
-       ori r0, 0x60, r0
-       shlli r0, 8, r0
-       ori r0, 0x70, r0
-       shlli r0, 8, r0
-       ori r0, 0x80, r0
-       # Set target address.
-       movi 0x2800, r1
-       fmov.qd r0, dr0
-
-       fst.d r1, 0, dr0
-       fst.d r1, 8, dr0
-       fst.d r1, -8, dr0
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/fstp.cgs b/sim/testsuite/sim/sh64/media/fstp.cgs
deleted file mode 100644 (file)
index e0c396a..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for fst.p $rm, $disp10x8, $fpf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global fstp
-fstp:
-       fst.p r0, 0, fp0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/fsts.cgs b/sim/testsuite/sim/sh64/media/fsts.cgs
deleted file mode 100644 (file)
index fb692cf..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-# sh testcase for fst.s $rm, $disp10x4, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global fsts
-fsts:
-       movi 0x1020, r0
-       shlli r0, 8, r0
-       ori r0, 0x30, r0
-       shlli r0, 8, r0
-       ori r0, 0x40, r0
-       shlli r0, 8, r0
-       ori r0, 0x50, r0
-       shlli r0, 8, r0
-       ori r0, 0x60, r0
-       shlli r0, 8, r0
-       ori r0, 0x70, r0
-       shlli r0, 8, r0
-       ori r0, 0x80, r0
-       # Set target address.
-       movi 0x2800, r1
-       fmov.ls r0, fr0
-
-       fst.s r1, 0, fr0
-       fst.s r1, 4, fr0
-       fst.s r1, -4, fr0
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/fstxd.cgs b/sim/testsuite/sim/sh64/media/fstxd.cgs
deleted file mode 100644 (file)
index 10f6c14..0000000
+++ /dev/null
@@ -1,31 +0,0 @@
-# sh testcase for fstx.d $rm, $rn, $drf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global fstxd
-fstxd:
-       movi 0x1020, r0
-       shlli r0, 8, r0
-       ori r0, 0x30, r0
-       shlli r0, 8, r0
-       ori r0, 0x40, r0
-       shlli r0, 8, r0
-       ori r0, 0x50, r0
-       shlli r0, 8, r0
-       ori r0, 0x60, r0
-       shlli r0, 8, r0
-       ori r0, 0x70, r0
-       shlli r0, 8, r0
-       ori r0, 0x80, r0
-       fmov.qd r0, dr0
-       movi 0x2800, r1
-       movi -8, r2
-       fstx.d r1, r2, dr0
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/fstxp.cgs b/sim/testsuite/sim/sh64/media/fstxp.cgs
deleted file mode 100644 (file)
index 1829f58..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for fstx.p $rm, $rn, $fpf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global fstxp
-fstxp:
-       fstx.p r0, r0, fp0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/fstxs.cgs b/sim/testsuite/sim/sh64/media/fstxs.cgs
deleted file mode 100644 (file)
index 0b4ff96..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-# sh testcase for fstx.s $rm, $rn, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       .global fstxs
-fstxs:
-       movi 0x1020, r0
-       shlli r0, 8, r0
-       ori r0, 0x30, r0
-       shlli r0, 8, r0
-       ori r0, 0x40, r0
-       shlli r0, 8, r0
-       ori r0, 0x50, r0
-       shlli r0, 8, r0
-       ori r0, 0x60, r0
-       shlli r0, 8, r0
-       ori r0, 0x70, r0
-       shlli r0, 8, r0
-       ori r0, 0x80, r0
-       fmov.ls r0, fr0
-       movi 0x2800, r1
-       movi -8, r2
-       fstx.s r1, r2, fr0
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/fsubd.cgs b/sim/testsuite/sim/sh64/media/fsubd.cgs
deleted file mode 100644 (file)
index 93dc421..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# sh testcase for fsub.d $drg, $drh, $drf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global fsubd
-init:
-       pta wrong, tr0
-
-fsubd:
-       movi 9, r0
-       fmov.qd r0, dr0
-       float.qd dr0, dr0
-
-       movi 3, r0
-       fmov.qd r0, dr2
-       float.qd dr2, dr2
-
-       fsub.d dr0, dr2, dr4
-       
-       movi 6, r0
-       fmov.qd r0, dr6
-       float.qd dr6, dr6 
-
-       fcmpeq.d dr4, dr6, r7
-       bnei r7, 1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/fsubs.cgs b/sim/testsuite/sim/sh64/media/fsubs.cgs
deleted file mode 100644 (file)
index b009f09..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# sh testcase for fsub.s $frg, $frh, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global fsubs
-init:
-       pta wrong, tr0
-
-fsubs:
-       movi 9, r0
-       fmov.ls r0, fr0
-       float.ls fr0, fr0
-
-       movi 3, r0
-       fmov.ls r0, fr1 
-       float.ls fr1, fr1
-
-       fsub.s fr0, fr1, fr2
-       
-       movi 6, r0
-       fmov.ls r0, fr3
-       float.ls fr3, fr3
-
-       fcmpeq.s fr2, fr3, r7
-       bnei r7, 1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/ftrcdl.cgs b/sim/testsuite/sim/sh64/media/ftrcdl.cgs
deleted file mode 100644 (file)
index 3aafb83..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# sh testcase for ftrc.dl $drgh, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global ftrcdl
-init:
-       pta wrong, tr0
-
-ftrcdl:
-       movi -9, r0
-       fmov.qd r0, dr0
-       float.qd dr0, dr0
-       ftrc.dl dr0, fr0
-       fmov.sl fr0, r1
-       bne r0, r1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/ftrcdq.cgs b/sim/testsuite/sim/sh64/media/ftrcdq.cgs
deleted file mode 100644 (file)
index 6cd63fb..0000000
+++ /dev/null
@@ -1,24 +0,0 @@
-# sh testcase for ftrc.dq $drgh, $drf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-ftrcdq:
-       movi -9, r0
-       fmov.qd r0, dr0
-       float.qd dr0, dr0
-       ftrc.dq dr0, dr2
-       fmov.dq dr2, r1
-       bne r0, r1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/ftrcsl.cgs b/sim/testsuite/sim/sh64/media/ftrcsl.cgs
deleted file mode 100644 (file)
index 9fd7fae..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# sh testcase for ftrc.sl $frgh, $frf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global ftrcsl
-init:
-       pta wrong, tr0
-
-ftrcsl:
-       movi -9, r0
-       fmov.ls r0, fr0
-       float.ls fr0, fr0
-       ftrc.sl fr0, fr1
-       fmov.sl fr1, r1
-       bne r0, r1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/ftrcsq.cgs b/sim/testsuite/sim/sh64/media/ftrcsq.cgs
deleted file mode 100644 (file)
index 8f19d59..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# sh testcase for ftrc.sq $frgh, $drf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-ftrcsq:
-       movi -9, r0
-       fmov.ls r0, fr0
-       float.ls fr0, fr0
-       ftrc.sq fr0, dr2
-       fmov.dq dr2, r1
-       bne r0, r1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/ftrvs.cgs b/sim/testsuite/sim/sh64/media/ftrvs.cgs
deleted file mode 100644 (file)
index be7a75a..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-# sh testcase for ftrv.s $mtrxg, $fvh, $fvf -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       .macro _load val, fpreg
-       # This macro clobbers r0.
-       movi \val, r0
-       fmov.ls r0, \fpreg 
-       float.ls \fpreg, \fpreg
-       .endm
-
-       start
-
-init:
-       pta wrong, tr0
-
-       _load 1,  fr0
-       _load 2,  fr4
-       _load 3,  fr8
-       _load 4,  fr12
-       _load 5,  fr1
-       _load 6,  fr5
-       _load 7,  fr9
-       _load 8,  fr13
-       _load 9,  fr2
-       _load 10, fr6
-       _load 11, fr10
-       _load 12, fr14
-       _load 13, fr3
-       _load 14, fr7
-       _load 15, fr11
-       _load 16, fr15
-
-       _load 1, fr16
-       _load 2, fr17
-       _load 3, fr18
-       _load 4, fr19
-
-ftrvs:
-       ftrv.s mtrx0, fv16, fv20
-
-check:
-       _load 30, fr0
-       _load 70, fr1
-       _load 110, fr2
-       _load 150, fr3
-
-       fcmpeq.s fr0, fr20, r0
-       bnei r0, 1, tr0
-       
-       fcmpeq.s fr1, fr21, r0
-       bnei r0, 1, tr0
-
-       fcmpeq.s fr2, fr22, r0
-       bnei r0, 1, tr0
-
-       fcmpeq.s fr3, fr23, r0
-       bnei r0, 1, tr0
-       
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/getcfg.cgs b/sim/testsuite/sim/sh64/media/getcfg.cgs
deleted file mode 100644 (file)
index d151739..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-# sh testcase for getcfg $rm, $disp6, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       getcfg r0, 0, r0
-       pass
diff --git a/sim/testsuite/sim/sh64/media/getcon.cgs b/sim/testsuite/sim/sh64/media/getcon.cgs
deleted file mode 100644 (file)
index 8eeb43c..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# sh testcase for getcon $crk, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-getcon1:       
-       movi 22, r0
-       putcon r0, cr0
-       getcon cr0, r1
-       bne r0, r1, tr0
-
-getcon2:
-       movi 12, r0
-       shlli r0, 35, r0
-       putcon r0, cr20
-       getcon cr20, r20
-       bne r0, r20, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/gettr.cgs b/sim/testsuite/sim/sh64/media/gettr.cgs
deleted file mode 100644 (file)
index 8840a36..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-# sh testcase for gettr $trb, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       # tr0 is reserved.
-       # don't use it anywhere else in this test.
-       pta wrong, tr0
-
-gettr1:
-       # Put garbage in r1, r2.
-       movi 20, r1
-       movi 30, r2
-
-       pta foo, tr1
-       pta foo, tr2
-
-check1:
-       gettr tr1, r1
-       gettr tr2, r2
-       bne r1, r2, tr0
-
-gettr2:
-       # Put garbage in r3, r4.
-       movi 21, r3
-       movi 42, r4
-       
-check2:
-       pta foo, tr1
-       gettr tr1, r2
-       ptabs r2, tr2
-       gettr tr2, r3
-       ptabs r3, tr3
-       gettr tr3, r4
-       bne r2, r4, tr0
-       
-okay:  
-       pass
-
-wrong:
-       fail
-
-foo:
-       nop
diff --git a/sim/testsuite/sim/sh64/media/icbi.cgs b/sim/testsuite/sim/sh64/media/icbi.cgs
deleted file mode 100644 (file)
index 9ba1845..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-# sh testcase for icbi $rm, $disp6x32 -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       icbi r0, 0
-       pass
diff --git a/sim/testsuite/sim/sh64/media/ldb.cgs b/sim/testsuite/sim/sh64/media/ldb.cgs
deleted file mode 100644 (file)
index fad1e6e..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# sh testcase for ld.b $rm, $disp10, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       movi 20, r3
-       shlli r3, 8, r3
-
-ldb1:
-       ld.b r3, 0, r0
-ldb2:
-       ld.b r3, -1, r0
-ldb3:
-       ld.b r3, 1, r0
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/ldhil.cgs b/sim/testsuite/sim/sh64/media/ldhil.cgs
deleted file mode 100644 (file)
index 4323985..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for ldhi.l $rm, $disp6, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global ldhil
-ldhil:
-       ldhi.l r0, 0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/ldhiq.cgs b/sim/testsuite/sim/sh64/media/ldhiq.cgs
deleted file mode 100644 (file)
index c34a952..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for ldhi.q $rm, $disp6, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global ldhiq
-ldhiq:
-       ldhi.q r0, 0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/ldl.cgs b/sim/testsuite/sim/sh64/media/ldl.cgs
deleted file mode 100644 (file)
index b8b8725..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# sh testcase for ld.l $rm, $disp10x4, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       movi 20, r3
-       shlli r3, 8, r3
-
-ldl1:
-       ld.l r3, 0, r0
-ldl2:
-       ld.l r3, -4, r0
-ldl3:
-       ld.l r3, 4, r0
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/ldlol.cgs b/sim/testsuite/sim/sh64/media/ldlol.cgs
deleted file mode 100644 (file)
index 8204f40..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for ldlo.l $rm, $disp6, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global ldlol
-ldlol:
-       ldlo.l r0, 0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/ldloq.cgs b/sim/testsuite/sim/sh64/media/ldloq.cgs
deleted file mode 100644 (file)
index 0cf128e..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for ldlo.q $rm, $disp6, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global ldloq
-ldloq:
-       ldlo.q r0, 0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/ldq.cgs b/sim/testsuite/sim/sh64/media/ldq.cgs
deleted file mode 100644 (file)
index cacc076..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# sh testcase for ld.q $rm, $disp10x8, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       movi 20, r3
-       shlli r3, 8, r3
-
-ldl1:
-       ld.q r3, 0, r0
-ldl2:
-       ld.q r3, -8, r0
-ldl3:
-       ld.q r3, 8, r0
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/ldub.cgs b/sim/testsuite/sim/sh64/media/ldub.cgs
deleted file mode 100644 (file)
index 825ce64..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# sh testcase for ld.ub $rm, $disp10, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       movi 20, r3
-       shlli r3, 8, r3
-
-ldub1:
-       ld.ub r3, 0, r0
-ldub2:
-       ld.ub r3, -1, r0
-ldub3:
-       ld.ub r3, 1, r0
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/lduw.cgs b/sim/testsuite/sim/sh64/media/lduw.cgs
deleted file mode 100644 (file)
index a329802..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# sh testcase for ld.uw $rm, $disp10, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       movi 20, r3
-       shlli r3, 8, r3
-
-lduw1:
-       ld.uw r3, 0, r0
-lduw2:
-       ld.uw r3, -2, r0
-lduw3:
-       ld.uw r3, 2, r0
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/ldw.cgs b/sim/testsuite/sim/sh64/media/ldw.cgs
deleted file mode 100644 (file)
index d394055..0000000
+++ /dev/null
@@ -1,21 +0,0 @@
-# sh testcase for ld.w $rm, $disp10, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       movi 20, r3
-       shlli r3, 8, r3
-
-ldw1:
-       ld.w r3, 0, r0
-ldw2:
-       ld.w r3, -2, r0
-ldw3:
-       ld.w r3, 2, r0
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/ldxb.cgs b/sim/testsuite/sim/sh64/media/ldxb.cgs
deleted file mode 100644 (file)
index 36038df..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# sh testcase for ldx.b $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-ldxb1:
-       movi 20, r3
-       shlli r3, 8, r3
-       movi 0, r4
-       ldx.b r3, r4, r0
-
-ldxb2:
-       movi 20, r3
-       shlli r3, 8, r3
-       movi 1, r4
-       ldx.b r3, r4, r0
-
-ldxb3:
-       movi 20, r3
-       shlli r3, 8, r3
-       movi -1, r4
-       ldx.b r3, r4, r0
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/ldxl.cgs b/sim/testsuite/sim/sh64/media/ldxl.cgs
deleted file mode 100644 (file)
index 0596e9f..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# sh testcase for ldx.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-ldxl1:
-       movi 20, r3
-       shlli r3, 8, r3
-       movi 0, r4
-       ldx.l r3, r4, r0
-
-ldxl2:
-       movi 20, r3
-       shlli r3, 8, r3
-       movi 4, r4
-       ldx.l r3, r4, r0
-
-ldxl3:
-       movi 20, r3
-       shlli r3, 8, r3
-       movi -4, r4
-       ldx.l r3, r4, r0
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/ldxq.cgs b/sim/testsuite/sim/sh64/media/ldxq.cgs
deleted file mode 100644 (file)
index 1247f22..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# sh testcase for ldx.q $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-ldxq1:
-       movi 20, r3
-       shlli r3, 8, r3
-       movi 0, r4
-       ldx.q r3, r4, r0
-
-ldxq2:
-       movi 20, r3
-       shlli r3, 8, r3
-       movi 8, r4
-       ldx.q r3, r4, r0
-
-ldxq3:
-       movi 20, r3
-       shlli r3, 8, r3
-       movi -8, r4
-       ldx.q r3, r4, r0
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/ldxub.cgs b/sim/testsuite/sim/sh64/media/ldxub.cgs
deleted file mode 100644 (file)
index e863a3b..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# sh testcase for ldx.ub $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-ldxub1:
-       movi 20, r3
-       shlli r3, 8, r3
-       movi 0, r4
-       ldx.ub r3, r4, r0
-
-ldxub2:
-       movi 20, r3
-       shlli r3, 8, r3
-       movi 1, r4
-       ldx.ub r3, r4, r0
-
-ldxub3:
-       movi 20, r3
-       shlli r3, 8, r3
-       movi -1, r4
-       ldx.ub r3, r4, r0
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/ldxuw.cgs b/sim/testsuite/sim/sh64/media/ldxuw.cgs
deleted file mode 100644 (file)
index 282812d..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# sh testcase for ldx.uw $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-ldxuw1:
-       movi 20, r3
-       shlli r3, 8, r3
-       movi 0, r4
-       ldx.uw r3, r4, r0
-
-ldxuw2:
-       movi 20, r3
-       shlli r3, 8, r3
-       movi 2, r4
-       ldx.uw r3, r4, r0
-
-ldxuw3:
-       movi 20, r3
-       shlli r3, 8, r3
-       movi -2, r4
-       ldx.uw r3, r4, r0
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/ldxw.cgs b/sim/testsuite/sim/sh64/media/ldxw.cgs
deleted file mode 100644 (file)
index d377fef..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# sh testcase for ldx.w $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-ldxw1:
-       movi 20, r3
-       shlli r3, 8, r3
-       movi 0, r4
-       ldx.w r3, r4, r0
-
-ldxw2:
-       movi 20, r3
-       shlli r3, 8, r3
-       movi 2, r4
-       ldx.w r3, r4, r0
-
-ldxw3:
-       movi 20, r3
-       shlli r3, 8, r3
-       movi -2, r4
-       ldx.w r3, r4, r0
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mabsl.cgs b/sim/testsuite/sim/sh64/media/mabsl.cgs
deleted file mode 100644 (file)
index a8af663..0000000
+++ /dev/null
@@ -1,39 +0,0 @@
-# sh testcase for mabs.l $rm, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mabsl
-init:
-       pta wrong, tr0
-
-mabsl1:
-       # Pack { 1 3 } into R0.
-       _packl 1, 3, r0
-
-       mabs.l r0, r1
-
-       # Test for { 1 3 } in R0.
-       _packl 1, 3, r2
-       bne r0, r2, tr0
-       
-mabsl2:
-       # Pack { -1, -1 } into R0.
-       _packl 1, 1, r0
-       
-       # Set the left sign bit.
-       movi 1, r1
-       shlli r1, 63, r1
-       or r0, r1, r0
-
-       mabs.l r0, r2
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/mabsw.cgs b/sim/testsuite/sim/sh64/media/mabsw.cgs
deleted file mode 100644 (file)
index f4e980a..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-# sh testcase for mabs.w $rm, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-mabsw1:
-       # Pack { 1 3 5 7 } into R0.
-       _packw 1, 3, 5, 7, r0
-
-       mabs.l r0, r1
-
-       # Test for { 1 3 5 7 } in R0.
-       _packw 1, 3, 5, 7, r2
-       bne r0, r2, tr0
-
-mabsw2:
-       # Pack { -1, -1, -1, -1 } into R0.
-       _packw 1, 1, 1, 1, r0
-
-       # Set the left sign bit
-       movi 1, r1
-       shlli r1, 63, r1
-       or r0, r1, r0
-
-       mabs.w r0, r2
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/maddl.cgs b/sim/testsuite/sim/sh64/media/maddl.cgs
deleted file mode 100644 (file)
index 4bdf546..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# sh testcase for madd.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-maddl:
-       # Load { 1 2 } into r0.
-       _packl 1, 2, r0
-       # Load { 3 4 } into r1.
-       _packl 3, 4, r1
-       
-       # Add slices to produce { 4 6 }.
-       madd.l r0, r1, r2
-
-       _packl 4, 6, r3
-       bne r2, r3, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/maddsl.cgs b/sim/testsuite/sim/sh64/media/maddsl.cgs
deleted file mode 100644 (file)
index 3977275..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for madds.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global maddsl
-maddsl:
-       madds.l r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/maddsub.cgs b/sim/testsuite/sim/sh64/media/maddsub.cgs
deleted file mode 100644 (file)
index a55f927..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for madds.ub $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global maddsub
-maddsub:
-       madds.ub r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/maddsw.cgs b/sim/testsuite/sim/sh64/media/maddsw.cgs
deleted file mode 100644 (file)
index 45a774e..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for madds.w $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global maddsw
-maddsw:
-       madds.w r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/maddw.cgs b/sim/testsuite/sim/sh64/media/maddw.cgs
deleted file mode 100644 (file)
index b220ef4..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# sh testcase for madd.w $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-maddw:
-       # Load { 1 2 3 4 } into R0.
-       _packw 1, 2, 3, 4, r0
-
-       # Load { 3 4 5 6 } into R1.
-       _packw 3, 4, 5, 6, r1
-
-       # Add slices to produce { 4 6 8 10 }.
-       madd.w r0, r1, r2
-
-       _packw 4, 6, 8, 10, r3
-       bne r2, r3, tr0
-
-okay:
-       pass
-       
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/mcmpeqb.cgs b/sim/testsuite/sim/sh64/media/mcmpeqb.cgs
deleted file mode 100644 (file)
index d7af6fa..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mcmpeq.b $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mcmpeqb
-mcmpeqb:
-       mcmpeq.b r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mcmpeql.cgs b/sim/testsuite/sim/sh64/media/mcmpeql.cgs
deleted file mode 100644 (file)
index 2851e80..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mcmpeq.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mcmpeql
-mcmpeql:
-       mcmpeq.l r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mcmpeqw.cgs b/sim/testsuite/sim/sh64/media/mcmpeqw.cgs
deleted file mode 100644 (file)
index 085df84..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mcmpeq.w $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mcmpeqw
-mcmpeqw:
-       mcmpeq.w r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mcmpgtl.cgs b/sim/testsuite/sim/sh64/media/mcmpgtl.cgs
deleted file mode 100644 (file)
index 2ace048..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mcmpgt.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mcmpgtl
-mcmpgtl:
-       mcmpgt.l r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mcmpgtub.cgs b/sim/testsuite/sim/sh64/media/mcmpgtub.cgs
deleted file mode 100644 (file)
index 540ce96..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mcmpgt.ub $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mcmpgtub
-mcmpgtub:
-       mcmpgt.ub r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mcmpgtw.cgs b/sim/testsuite/sim/sh64/media/mcmpgtw.cgs
deleted file mode 100644 (file)
index 8327451..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mcmpgt.w $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mcmpgtw
-mcmpgtw:
-       mcmpgt.w r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mcmv.cgs b/sim/testsuite/sim/sh64/media/mcmv.cgs
deleted file mode 100644 (file)
index c1f59aa..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mcmv $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mcmv
-mcmv:
-       mcmv r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mcnvslw.cgs b/sim/testsuite/sim/sh64/media/mcnvslw.cgs
deleted file mode 100644 (file)
index 005108b..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mcnvs.lw $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mcnvslw
-mcnvslw:
-       mcnvs.lw r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mcnvswb.cgs b/sim/testsuite/sim/sh64/media/mcnvswb.cgs
deleted file mode 100644 (file)
index 0d25920..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mcnvs.wb $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mcnvswb
-mcnvswb:
-       mcnvs.wb r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mcnvswub.cgs b/sim/testsuite/sim/sh64/media/mcnvswub.cgs
deleted file mode 100644 (file)
index 2fc7446..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mcnvs.wub $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mcnvswub
-mcnvswub:
-       mcnvs.wub r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mextr1.cgs b/sim/testsuite/sim/sh64/media/mextr1.cgs
deleted file mode 100644 (file)
index b2cb3c3..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-# sh testcase for mextr1 $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       # Put a distinguised bit pattern in R0.
-       movi 0x1020, r0
-       shlli r0, 8, r0
-       ori r0, 0x30, r0
-       shlli r0, 8, r0
-       ori r0, 0x40, r0
-       shlli r0, 8, r0
-       ori r0, 0x50, r0
-       shlli r0, 8, r0
-       ori r0, 0x60, r0
-       shlli r0, 8, r0
-       ori r0, 0x70, r0
-       shlli r0, 8, r0
-       ori r0, 0x80, r0
-
-       # Put another distinguished bit pattern in R1.
-       movi 0x1525, r1
-       shlli r1, 8, r1
-       ori r1, 0x35, r1
-       shlli r1, 8, r1
-       ori r1, 0x45, r1
-       shlli r1, 8, r1
-       ori r1, 0x55, r1
-       shlli r1, 8, r1
-       ori r1, 0x65, r1
-       shlli r1, 8, r1
-       ori r1, 0x75, r1
-       shlli r1, 8, r1
-       ori r1, 0x85, r1
-mextr1:
-       mextr1 r0, r1, r2
-
-check:
-       # Put the result in R3.
-       movi 0x2535, r3
-       shlli r3, 8, r3
-       ori r3, 0x45, r3
-       shlli r3, 8, r3
-       ori r3, 0x55, r3
-       shlli r3, 8, r3
-       ori r3, 0x65, r3
-       shlli r3, 8, r3
-       ori r3, 0x75, r3
-       shlli r3, 8, r3
-       ori r3, 0x85, r3
-       shlli r3, 8, r3
-       ori r3, 0x10, r3
-
-       pta wrong, tr0
-       bne r2, r3, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/mextr2.cgs b/sim/testsuite/sim/sh64/media/mextr2.cgs
deleted file mode 100644 (file)
index cf136be..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-# sh testcase for mextr2 $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       # Put a distinguised bit pattern in R0.
-       movi 0x1020, r0
-       shlli r0, 8, r0
-       ori r0, 0x30, r0
-       shlli r0, 8, r0
-       ori r0, 0x40, r0
-       shlli r0, 8, r0
-       ori r0, 0x50, r0
-       shlli r0, 8, r0
-       ori r0, 0x60, r0
-       shlli r0, 8, r0
-       ori r0, 0x70, r0
-       shlli r0, 8, r0
-       ori r0, 0x80, r0
-
-       # Put another distinguished bit pattern in R1.
-       movi 0x1525, r1
-       shlli r1, 8, r1
-       ori r1, 0x35, r1
-       shlli r1, 8, r1
-       ori r1, 0x45, r1
-       shlli r1, 8, r1
-       ori r1, 0x55, r1
-       shlli r1, 8, r1
-       ori r1, 0x65, r1
-       shlli r1, 8, r1
-       ori r1, 0x75, r1
-       shlli r1, 8, r1
-       ori r1, 0x85, r1
-mextr2:
-       mextr2 r0, r1, r2
-
-check:
-        # Put the result in R3.
-        movi 0x3545, r3
-        shlli r3, 8, r3
-        ori r3, 0x55, r3
-        shlli r3, 8, r3
-        ori r3, 0x65, r3
-        shlli r3, 8, r3
-        ori r3, 0x75, r3
-        shlli r3, 8, r3
-        ori r3, 0x85, r3
-        shlli r3, 8, r3
-        ori r3, 0x10, r3
-        shlli r3, 8, r3
-        ori r3, 0x20, r3
-
-        pta wrong, tr0
-        bne r2, r3, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/mextr3.cgs b/sim/testsuite/sim/sh64/media/mextr3.cgs
deleted file mode 100644 (file)
index b8d60a4..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-# sh testcase for mextr3 $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       # Put a distinguised bit pattern in R0.
-       movi 0x1020, r0
-       shlli r0, 8, r0
-       ori r0, 0x30, r0
-       shlli r0, 8, r0
-       ori r0, 0x40, r0
-       shlli r0, 8, r0
-       ori r0, 0x50, r0
-       shlli r0, 8, r0
-       ori r0, 0x60, r0
-       shlli r0, 8, r0
-       ori r0, 0x70, r0
-       shlli r0, 8, r0
-       ori r0, 0x80, r0
-
-       # Put another distinguished bit pattern in R1.
-       movi 0x1525, r1
-       shlli r1, 8, r1
-       ori r1, 0x35, r1
-       shlli r1, 8, r1
-       ori r1, 0x45, r1
-       shlli r1, 8, r1
-       ori r1, 0x55, r1
-       shlli r1, 8, r1
-       ori r1, 0x65, r1
-       shlli r1, 8, r1
-       ori r1, 0x75, r1
-       shlli r1, 8, r1
-       ori r1, 0x85, r1
-mextr3:
-       mextr3 r0, r1, r2
-
-check:
-        # Put the result in R3.
-        movi 0x4555, r3
-        shlli r3, 8, r3
-        ori r3, 0x65, r3
-        shlli r3, 8, r3
-        ori r3, 0x75, r3
-        shlli r3, 8, r3
-        ori r3, 0x85, r3
-        shlli r3, 8, r3
-        ori r3, 0x10, r3
-        shlli r3, 8, r3
-        ori r3, 0x20, r3
-        shlli r3, 8, r3
-        ori r3, 0x30, r3
-
-        pta wrong, tr0
-        bne r2, r3, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/mextr4.cgs b/sim/testsuite/sim/sh64/media/mextr4.cgs
deleted file mode 100644 (file)
index e9ebff9..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-# sh testcase for mextr4 $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       # Put a distinguised bit pattern in R0.
-       movi 0x1020, r0
-       shlli r0, 8, r0
-       ori r0, 0x30, r0
-       shlli r0, 8, r0
-       ori r0, 0x40, r0
-       shlli r0, 8, r0
-       ori r0, 0x50, r0
-       shlli r0, 8, r0
-       ori r0, 0x60, r0
-       shlli r0, 8, r0
-       ori r0, 0x70, r0
-       shlli r0, 8, r0
-       ori r0, 0x80, r0
-
-       # Put another distinguished bit pattern in R1.
-       movi 0x1525, r1
-       shlli r1, 8, r1
-       ori r1, 0x35, r1
-       shlli r1, 8, r1
-       ori r1, 0x45, r1
-       shlli r1, 8, r1
-       ori r1, 0x55, r1
-       shlli r1, 8, r1
-       ori r1, 0x65, r1
-       shlli r1, 8, r1
-       ori r1, 0x75, r1
-       shlli r1, 8, r1
-       ori r1, 0x85, r1
-mextr4:
-       mextr4 r0, r1, r2
-
-check:
-        # Put the result in R3.
-        movi 0x5565, r3
-        shlli r3, 8, r3
-        ori r3, 0x75, r3
-        shlli r3, 8, r3
-        ori r3, 0x85, r3
-        shlli r3, 8, r3
-        ori r3, 0x10, r3
-        shlli r3, 8, r3
-        ori r3, 0x20, r3
-        shlli r3, 8, r3
-        ori r3, 0x30, r3
-        shlli r3, 8, r3
-        ori r3, 0x40, r3
-
-        pta wrong, tr0
-        bne r2, r3, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/mextr5.cgs b/sim/testsuite/sim/sh64/media/mextr5.cgs
deleted file mode 100644 (file)
index c61a0c8..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-# sh testcase for mextr5 $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       # Put a distinguised bit pattern in R0.
-       movi 0x1020, r0
-       shlli r0, 8, r0
-       ori r0, 0x30, r0
-       shlli r0, 8, r0
-       ori r0, 0x40, r0
-       shlli r0, 8, r0
-       ori r0, 0x50, r0
-       shlli r0, 8, r0
-       ori r0, 0x60, r0
-       shlli r0, 8, r0
-       ori r0, 0x70, r0
-       shlli r0, 8, r0
-       ori r0, 0x80, r0
-
-       # Put another distinguished bit pattern in R1.
-       movi 0x1525, r1
-       shlli r1, 8, r1
-       ori r1, 0x35, r1
-       shlli r1, 8, r1
-       ori r1, 0x45, r1
-       shlli r1, 8, r1
-       ori r1, 0x55, r1
-       shlli r1, 8, r1
-       ori r1, 0x65, r1
-       shlli r1, 8, r1
-       ori r1, 0x75, r1
-       shlli r1, 8, r1
-       ori r1, 0x85, r1
-mextr5:
-       mextr5 r0, r1, r2
-
-check:
-        # Put the result in R3.
-        movi 0x6575, r3
-        shlli r3, 8, r3
-        ori r3, 0x85, r3
-        shlli r3, 8, r3
-        ori r3, 0x10, r3
-        shlli r3, 8, r3
-        ori r3, 0x20, r3
-        shlli r3, 8, r3
-        ori r3, 0x30, r3
-        shlli r3, 8, r3
-        ori r3, 0x40, r3
-        shlli r3, 8, r3
-        ori r3, 0x50, r3
-
-        pta wrong, tr0
-        bne r2, r3, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/mextr6.cgs b/sim/testsuite/sim/sh64/media/mextr6.cgs
deleted file mode 100644 (file)
index 5c6c7f6..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-# sh testcase for mextr6 $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       # Put a distinguised bit pattern in R0.
-       movi 0x1020, r0
-       shlli r0, 8, r0
-       ori r0, 0x30, r0
-       shlli r0, 8, r0
-       ori r0, 0x40, r0
-       shlli r0, 8, r0
-       ori r0, 0x50, r0
-       shlli r0, 8, r0
-       ori r0, 0x60, r0
-       shlli r0, 8, r0
-       ori r0, 0x70, r0
-       shlli r0, 8, r0
-       ori r0, 0x80, r0
-
-       # Put another distinguished bit pattern in R1.
-       movi 0x1525, r1
-       shlli r1, 8, r1
-       ori r1, 0x35, r1
-       shlli r1, 8, r1
-       ori r1, 0x45, r1
-       shlli r1, 8, r1
-       ori r1, 0x55, r1
-       shlli r1, 8, r1
-       ori r1, 0x65, r1
-       shlli r1, 8, r1
-       ori r1, 0x75, r1
-       shlli r1, 8, r1
-       ori r1, 0x85, r1
-mextr6:
-       mextr6 r0, r1, r2
-
-check:
-        # Put the result in R3.
-        movi 0x7585, r3
-        shlli r3, 8, r3
-        ori r3, 0x10, r3
-        shlli r3, 8, r3
-        ori r3, 0x20, r3
-        shlli r3, 8, r3
-        ori r3, 0x30, r3
-        shlli r3, 8, r3
-        ori r3, 0x40, r3
-        shlli r3, 8, r3
-        ori r3, 0x50, r3
-        shlli r3, 8, r3
-        ori r3, 0x60, r3
-
-        pta wrong, tr0
-        bne r2, r3, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/mextr7.cgs b/sim/testsuite/sim/sh64/media/mextr7.cgs
deleted file mode 100644 (file)
index e05ec7f..0000000
+++ /dev/null
@@ -1,67 +0,0 @@
-# sh testcase for mextr7 $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       # Put a distinguised bit pattern in R0.
-       movi 0x1020, r0
-       shlli r0, 8, r0
-       ori r0, 0x30, r0
-       shlli r0, 8, r0
-       ori r0, 0x40, r0
-       shlli r0, 8, r0
-       ori r0, 0x50, r0
-       shlli r0, 8, r0
-       ori r0, 0x60, r0
-       shlli r0, 8, r0
-       ori r0, 0x70, r0
-       shlli r0, 8, r0
-       ori r0, 0x80, r0
-
-       # Put another distinguished bit pattern in R1.
-       movi 0x1525, r1
-       shlli r1, 8, r1
-       ori r1, 0x35, r1
-       shlli r1, 8, r1
-       ori r1, 0x45, r1
-       shlli r1, 8, r1
-       ori r1, 0x55, r1
-       shlli r1, 8, r1
-       ori r1, 0x65, r1
-       shlli r1, 8, r1
-       ori r1, 0x75, r1
-       shlli r1, 8, r1
-       ori r1, 0x85, r1
-mextr7:
-       mextr7 r0, r1, r2
-
-check:
-        # Put the result in R3.
-        movi 0x8510, r3
-        shlli r3, 8, r3
-        ori r3, 0x20, r3
-        shlli r3, 8, r3
-        ori r3, 0x30, r3
-        shlli r3, 8, r3
-        ori r3, 0x40, r3
-        shlli r3, 8, r3
-        ori r3, 0x50, r3
-        shlli r3, 8, r3
-        ori r3, 0x60, r3
-        shlli r3, 8, r3
-        ori r3, 0x70, r3
-
-        pta wrong, tr0
-        bne r2, r3, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/mmacfxwl.cgs b/sim/testsuite/sim/sh64/media/mmacfxwl.cgs
deleted file mode 100644 (file)
index dd2d9a4..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mmacfx.wl $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mmacfxwl
-mmacfxwl:
-       mmacfx.wl r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mmacnfx-wl.cgs b/sim/testsuite/sim/sh64/media/mmacnfx-wl.cgs
deleted file mode 100644 (file)
index ba634d2..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mmacnfx.wl $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mmacnfx_wl
-mmacnfx_wl:
-       mmacnfx.wl r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mmulfxl.cgs b/sim/testsuite/sim/sh64/media/mmulfxl.cgs
deleted file mode 100644 (file)
index 7d2d1a6..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mmulfx.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mmulfxl
-mmulfxl:
-       mmulfx.l r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mmulfxrpw.cgs b/sim/testsuite/sim/sh64/media/mmulfxrpw.cgs
deleted file mode 100644 (file)
index 13fdcc7..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mmulfxrp.w $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mmulfxrpw
-mmulfxrpw:
-       mmulfxrp.w r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mmulfxw.cgs b/sim/testsuite/sim/sh64/media/mmulfxw.cgs
deleted file mode 100644 (file)
index e2a66a7..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mmulfx.w $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mmulfxw
-mmulfxw:
-       mmulfx.w r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mmulhiwl.cgs b/sim/testsuite/sim/sh64/media/mmulhiwl.cgs
deleted file mode 100644 (file)
index 1a41ac5..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mmulhi.wl $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mmulhiwl
-mmulhiwl:
-       mmulhi.wl r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mmull.cgs b/sim/testsuite/sim/sh64/media/mmull.cgs
deleted file mode 100644 (file)
index b3ed9df..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mmul.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mmull
-mmull:
-       mmul.l r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mmullowl.cgs b/sim/testsuite/sim/sh64/media/mmullowl.cgs
deleted file mode 100644 (file)
index b50ccfc..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mmullo.wl $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mmullowl
-mmullowl:
-       mmullo.wl r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mmulsumwq.cgs b/sim/testsuite/sim/sh64/media/mmulsumwq.cgs
deleted file mode 100644 (file)
index 344710b..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mmulsum.wq $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mmulsumwq
-mmulsumwq:
-       mmulsum.wq r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mmulw.cgs b/sim/testsuite/sim/sh64/media/mmulw.cgs
deleted file mode 100644 (file)
index 675c620..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mmul.w $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mmulw
-mmulw:
-       mmul.w r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/movi.cgs b/sim/testsuite/sim/sh64/media/movi.cgs
deleted file mode 100644 (file)
index a01bcae..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# sh testcase for movi $imm16, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-movi0:
-       movi 0, r0
-       bnei r0, 0, tr0
-movi1:
-       movi 1, r0
-       bnei r0, 1, tr0
-movi2:
-       movi 23, r0
-       bnei r0, 23, tr0
-movn:
-       movi -1, r0
-       addi r0, 1, r0
-       bnei r0, 0, tr0
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/mpermw.cgs b/sim/testsuite/sim/sh64/media/mpermw.cgs
deleted file mode 100644 (file)
index 3b6741e..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-# sh testcase for mperm.w $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-       movi 27, r1
-       movi 0x1020, r0
-       shlli r0, 8, r0
-       ori r0, 0x30, r0
-       shlli r0, 8, r0
-       ori r0, 0x40, r0
-       shlli r0, 8, r0
-       ori r0, 0x50, r0
-       shlli r0, 8, r0
-       ori r0, 0x60, r0
-       shlli r0, 8, r0
-       ori r0, 0x70, r0
-       shlli r0, 8, r0
-       ori r0, 0x80, r0
-
-mpermw:
-       mperm.w r0, r1, r2
-
-check:
-       # Expect 0x7080506030401020.
-       movi 0x7080, r0
-       shlli r0, 8, r0
-       ori r0, 0x50, r0
-       shlli r0, 8, r0
-       ori r0, 0x60, r0
-       shlli r0, 8, r0
-       ori r0, 0x30, r0
-       shlli r0, 8, r0
-       ori r0, 0x40, r0
-       shlli r0, 8, r0
-       ori r0, 0x10, r0
-       shlli r0, 8, r0
-       ori r0, 0x20, r0
-
-       bne r0, r2, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/msadubq.cgs b/sim/testsuite/sim/sh64/media/msadubq.cgs
deleted file mode 100644 (file)
index 4361883..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for msad.ubq $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global msadubq
-msadubq:
-       msad.ubq r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mshaldsl.cgs b/sim/testsuite/sim/sh64/media/mshaldsl.cgs
deleted file mode 100644 (file)
index 1dd86ec..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mshalds.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mshaldsl
-mshaldsl:
-       mshalds.l r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mshaldsw.cgs b/sim/testsuite/sim/sh64/media/mshaldsw.cgs
deleted file mode 100644 (file)
index 7ab6797..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mshalds.w $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mshaldsw
-mshaldsw:
-       mshalds.w r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mshardl.cgs b/sim/testsuite/sim/sh64/media/mshardl.cgs
deleted file mode 100644 (file)
index 0dc102e..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mshard.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mshardl
-mshardl:
-       mshard.l r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mshardsq.cgs b/sim/testsuite/sim/sh64/media/mshardsq.cgs
deleted file mode 100644 (file)
index 5f29afb..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mshards.q $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mshardsq
-mshardsq:
-       mshards.q r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mshardw.cgs b/sim/testsuite/sim/sh64/media/mshardw.cgs
deleted file mode 100644 (file)
index ecc7004..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mshard.w $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mshardw
-mshardw:
-       mshard.w r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mshfhib.cgs b/sim/testsuite/sim/sh64/media/mshfhib.cgs
deleted file mode 100644 (file)
index b7b245e..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mshfhi.b $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mshfhib
-mshfhib:
-       mshfhi.b r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mshfhil.cgs b/sim/testsuite/sim/sh64/media/mshfhil.cgs
deleted file mode 100644 (file)
index 2fab7ae..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mshfhi.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mshfhil
-mshfhil:
-       mshfhi.l r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mshfhiw.cgs b/sim/testsuite/sim/sh64/media/mshfhiw.cgs
deleted file mode 100644 (file)
index 0311141..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mshfhi.w $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mshfhiw
-mshfhiw:
-       mshfhi.w r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mshflob.cgs b/sim/testsuite/sim/sh64/media/mshflob.cgs
deleted file mode 100644 (file)
index 400e81a..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mshflo.b $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mshflob
-mshflob:
-       mshflo.b r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mshflol.cgs b/sim/testsuite/sim/sh64/media/mshflol.cgs
deleted file mode 100644 (file)
index 2fbdf89..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mshflo.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mshflol
-mshflol:
-       mshflo.l r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mshflow.cgs b/sim/testsuite/sim/sh64/media/mshflow.cgs
deleted file mode 100644 (file)
index 542eb04..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mshflo.w $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mshflow
-mshflow:
-       mshflo.w r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mshlldl.cgs b/sim/testsuite/sim/sh64/media/mshlldl.cgs
deleted file mode 100644 (file)
index 2a17c33..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mshlld.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mshlldl
-mshlldl:
-       mshlld.l r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mshlldw.cgs b/sim/testsuite/sim/sh64/media/mshlldw.cgs
deleted file mode 100644 (file)
index e4afe3d..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mshlld.w $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mshlldw
-mshlldw:
-       mshlld.w r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mshlrdl.cgs b/sim/testsuite/sim/sh64/media/mshlrdl.cgs
deleted file mode 100644 (file)
index 89e7077..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mshlrd.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mshlrdl
-mshlrdl:
-       mshlrd.l r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mshlrdw.cgs b/sim/testsuite/sim/sh64/media/mshlrdw.cgs
deleted file mode 100644 (file)
index 4cbf280..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for mshlrd.w $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mshlrdw
-mshlrdw:
-       mshlrd.w r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/msubl.cgs b/sim/testsuite/sim/sh64/media/msubl.cgs
deleted file mode 100644 (file)
index 87151fa..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for msub.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global msubl
-msubl:
-       msub.l r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/msubsl.cgs b/sim/testsuite/sim/sh64/media/msubsl.cgs
deleted file mode 100644 (file)
index 014422e..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for msubs.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global msubsl
-msubsl:
-       msubs.l r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/msubsub.cgs b/sim/testsuite/sim/sh64/media/msubsub.cgs
deleted file mode 100644 (file)
index c92c77e..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for msubs.ub $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global msubsub
-msubsub:
-       msubs.ub r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/msubsw.cgs b/sim/testsuite/sim/sh64/media/msubsw.cgs
deleted file mode 100644 (file)
index 83b76a1..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for msubs.w $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global msubsw
-msubsw:
-       msubs.w r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/msubw.cgs b/sim/testsuite/sim/sh64/media/msubw.cgs
deleted file mode 100644 (file)
index 9d5e639..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for msub.w $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global msubw
-msubw:
-       msub.w r0, r0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/mulsl.cgs b/sim/testsuite/sim/sh64/media/mulsl.cgs
deleted file mode 100644 (file)
index d65c80c..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-# sh testcase for muls.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mulsl
-init:
-       pta wrong, tr0
-       
-mulsl1:
-       movi 0, r0
-       muls.l r0, r0, r1
-       bnei r1, 0, tr0
-
-mulsl2:
-       movi 0, r0
-       movi 1, r1
-       muls.l r0, r1, r2
-       bnei r2, 0, tr0
-
-mulsl3:
-       movi 1, r0
-       movi 0, r1
-       muls.l r0, r1, r2
-       bnei r2, 0, tr0
-
-mulsl4:
-       movi 1, r0
-       movi 1, r1
-       muls.l r0, r1, r2
-       bnei r2, 1, tr0
-
-mulsl5:
-       movi 2, r0
-       movi 9, r1
-       muls.l r0, r1, r2
-       bnei r2, 18, tr0
-
-mulsl6:
-       movi 2, r0
-       movi -9, r1
-       muls.l r0, r1, r2
-       bnei r2, -18, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/media/mulul.cgs b/sim/testsuite/sim/sh64/media/mulul.cgs
deleted file mode 100644 (file)
index b795cf7..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-# sh testcase for mulu.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global mulul
-init:
-       pta wrong, tr0
-       
-mulul1:
-       movi 0, r0
-       mulu.l r0, r0, r1
-       bnei r1, 0, tr0
-
-mulul2:
-       movi 0, r0
-       movi 1, r1
-       mulu.l r0, r1, r2
-       bnei r2, 0, tr0
-
-mulul3:
-       movi 1, r0
-       movi 0, r1
-       mulu.l r0, r1, r2
-       bnei r2, 0, tr0
-
-mulul4:
-       movi 1, r0
-       movi 1, r1
-       mulu.l r0, r1, r2
-       bnei r2, 1, tr0
-
-mulul5:
-       movi 2, r0
-       movi 9, r1
-       mulu.l r0, r1, r2
-       bnei r2, 18, tr0
-
-mulul6:
-       movi 2, r0
-       movi -9, r1
-       mulu.l r0, r1, r2
-       beqi r2, -18, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/media/nop.cgs b/sim/testsuite/sim/sh64/media/nop.cgs
deleted file mode 100644 (file)
index a0e5753..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-# sh testcase for nop -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       nop
-       pass
diff --git a/sim/testsuite/sim/sh64/media/nsb.cgs b/sim/testsuite/sim/sh64/media/nsb.cgs
deleted file mode 100644 (file)
index 8b3cffe..0000000
+++ /dev/null
@@ -1,66 +0,0 @@
-# sh testcase for nsb $rm, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-nsb0:
-       movi 0, r0
-       nsb r0, r1
-check0:
-       movi 63, r4
-       bne r1, r4, tr0
-
-nsb1:
-       # set up a loop target reg.
-       pta again1, tr1
-       # r4 holds the loop count.
-       movi 62, r4
-       movi 1, r0
-again1:
-       nsb r0, r1
-       bne r1, r4, tr0
-       # okay? go around again.
-       shlli r0, 1, r0
-       addi r4, -1, r4
-       bnei r4, 0, tr1
-
-nsb2:
-       # set up a loop target reg.
-       pta again2, tr1
-       # r4 holds the loop count.
-       movi 63, r4
-       movi -1, r0
-again2:
-       nsb r0, r1
-       bne r1, r4, tr0
-       # okay? go around again.
-       shlli r0, 1, r0
-       addi r4, -1, r4
-       bnei r4, 0, tr1
-
-nsb3:
-       movi 1, r0
-       shlli r0, 63, r0
-       nsb r0, r1
-check3:
-       movi 0, r4
-       bne r1, r4, tr0
-
-nsb4:
-       movi 7, r0
-       shlli r0, 61, r0
-       nsb r0, r1
-check4:
-       movi 2, r4
-       bne r1, r4, tr0
-
-okay:
-       pass
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/ocbi.cgs b/sim/testsuite/sim/sh64/media/ocbi.cgs
deleted file mode 100644 (file)
index b210216..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-# sh testcase for ocbi $rm, $disp6x32 -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       ocbi r0, 0
-       pass
diff --git a/sim/testsuite/sim/sh64/media/ocbp.cgs b/sim/testsuite/sim/sh64/media/ocbp.cgs
deleted file mode 100644 (file)
index 9158c6f..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-# sh testcase for ocbp $rm, $disp6x32 -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       ocbp r0, 0
-       pass
diff --git a/sim/testsuite/sim/sh64/media/ocbwb.cgs b/sim/testsuite/sim/sh64/media/ocbwb.cgs
deleted file mode 100644 (file)
index 6addabc..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-# sh testcase for ocbwb $rm, $disp6x32 -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       ocbwb r0, 0
-       pass
diff --git a/sim/testsuite/sim/sh64/media/or.cgs b/sim/testsuite/sim/sh64/media/or.cgs
deleted file mode 100644 (file)
index e067592..0000000
+++ /dev/null
@@ -1,44 +0,0 @@
-# sh testcase for or $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-or1:
-       movi 0, r0
-       or r0, r0, r1
-       bnei r1, 0, tr0
-
-or2:
-       movi 0, r0
-       movi 1, r1
-       or r0, r1, r2
-       bnei r2, 1, tr0
-
-or3:
-       movi 1, r0
-       movi 0, r1
-       or r0, r1, r2
-       bnei r2, 1, tr0
-
-or4:
-       movi 1, r0
-       or r0, r0, r1
-       bnei r1, 1, tr0
-
-or5:
-       movi 1, r0
-       shlli r0, 63, r0
-       movi 1, r1
-       or r0, r1, r2
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/ori.cgs b/sim/testsuite/sim/sh64/media/ori.cgs
deleted file mode 100644 (file)
index 7b25542..0000000
+++ /dev/null
@@ -1,41 +0,0 @@
-# sh testcase for ori $rm, $imm10, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-or1:
-       movi 0, r0
-       ori r0, 0, r1
-       bnei r1, 0, tr0
-
-or2:
-       movi 0, r0
-       ori r0, 1, r2
-       bnei r2, 1, tr0
-
-or3:
-       movi 1, r0
-       ori r0, 0, r2
-       bnei r2, 1, tr0
-
-or4:
-       movi 1, r0
-       ori r0, 1, r1
-       bnei r1, 1, tr0
-
-or5:
-       movi 1, r0
-       shlli r0, 63, r0
-       ori r0, 1, r2
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/prefi.cgs b/sim/testsuite/sim/sh64/media/prefi.cgs
deleted file mode 100644 (file)
index 68d7bfe..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-# sh testcase for prefi $rm, $disp6x32 -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       prefi r0, 0
-       pass
diff --git a/sim/testsuite/sim/sh64/media/pta.cgs b/sim/testsuite/sim/sh64/media/pta.cgs
deleted file mode 100644 (file)
index 9f6484a..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# sh testcase for pta$likely $disp16, $tra -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-pta0:
-       pta foo, tr0
-pta1:
-       pta/l bar, tr1
-pta2:
-       pta/u baz, tr2
-       movi 0, r0
-       bnei r0, 1, tr2
-       fail
-
-foo:
-bar:
-baz:
-       pass
-       fail
-       fail
-       fail
-       fail
diff --git a/sim/testsuite/sim/sh64/media/ptabs.cgs b/sim/testsuite/sim/sh64/media/ptabs.cgs
deleted file mode 100644 (file)
index 0c01f83..0000000
+++ /dev/null
@@ -1,25 +0,0 @@
-# sh testcase for ptabs$likely $rn, $tra -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global ptabs
-ptabs:
-       movi 16, r0
-       shlli r0, 8, r0
-       # Add one to stay in SHmedia mode.
-       addi r0, 29, r0
-       ptabs r0, tr0
-
-       # Now jump.
-       beqi r63, 0, tr0
-
-wrong:
-       fail
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/ptb.cgs b/sim/testsuite/sim/sh64/media/ptb.cgs
deleted file mode 100644 (file)
index 129d626..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# sh testcase for ptb$likely $disp16, $tra -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-ptb0:
-       ptb foo, tr0
-ptb:
-       ptb/l bar, tr1
-ptb2:
-       ptb/u baz, tr2
-       movi 0, r0
-       bnei r0, 1, tr2
-       fail
-
-.mode SHcompact
-
-foo:
-bar:
-baz:
-       trapa #253
-        trapa #254
-        trapa #254 
-        trapa #254 
-        trapa #254 
diff --git a/sim/testsuite/sim/sh64/media/ptrel.cgs b/sim/testsuite/sim/sh64/media/ptrel.cgs
deleted file mode 100644 (file)
index 7e5f19b..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# sh testcase for ptrel$likely $rn, $tra -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       # Add one to stay in SHmedia mode.
-       movi 53, r0
-       ptrel r0, tr0
-       movi 0, r0
-       # Always branch.
-       bnei r0, 1, tr0
-       fail
-       fail
-       fail
-       fail
-       fail
-       pass
-       fail
-       fail
diff --git a/sim/testsuite/sim/sh64/media/putcfg.cgs b/sim/testsuite/sim/sh64/media/putcfg.cgs
deleted file mode 100644 (file)
index 8538575..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-# sh testcase for putcfg $rm, $disp6, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       putcfg r0, 0, r0
-       pass
diff --git a/sim/testsuite/sim/sh64/media/putcon.cgs b/sim/testsuite/sim/sh64/media/putcon.cgs
deleted file mode 100644 (file)
index 39dfc03..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-# sh testcase for putcon $rm, $crj -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-putcon1:
-       movi 22, r0
-       putcon r0, cr0
-       getcon cr0, r1
-       bne r0, r1, tr0
-
-putcon2:
-       movi 12, r0
-       shlli r0, 35, r0
-       putcon r0, cr20
-       getcon cr20, r20
-       bne r0, r20, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/rte.cgs b/sim/testsuite/sim/sh64/media/rte.cgs
deleted file mode 100644 (file)
index e80f085..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-# sh testcase for rte -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       # Unimplemented.
-       rte
-       pass
diff --git a/sim/testsuite/sim/sh64/media/shard.cgs b/sim/testsuite/sim/sh64/media/shard.cgs
deleted file mode 100644 (file)
index 029e529..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-# sh testcase for shard $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-shard1:
-       movi 128, r0
-       movi 3, r1
-       shard r0, r1, r2
-       bnei r2, 16, tr0
-
-shard2:
-       movi -4, r0
-       movi 2, r1
-       shard r0, r1, r2
-       addi r2, 1, r2
-       bnei r2, 0, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/shardl.cgs b/sim/testsuite/sim/sh64/media/shardl.cgs
deleted file mode 100644 (file)
index d9acaa5..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-# sh testcase for shard.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-shardl1:
-       movi 0x1020, r0
-       shlli r0, 8, r0
-       ori r0, 0x30, r0
-       shlli r0, 8, r0
-       ori r0, 0x40, r0
-       shlli r0, 8, r0
-       ori r0, 0x50, r0
-       shlli r0, 8, r0
-       ori r0, 0x60, r0
-       shlli r0, 8, r0
-       ori r0, 0x70, r0
-       shlli r0, 8, r0
-       ori r0, 0x80, r0
-
-       movi 1, r1
-       shard.l r0, r1, r0
-       shard.l r0, r1, r0
-       shard.l r0, r1, r0
-       shard.l r0, r1, r0
-       shard.l r0, r1, r0
-       shard.l r0, r1, r0
-       shard.l r0, r1, r0
-       shard.l r0, r1, r0
-       movi  20, r1
-       shard.l r0, r1, r0
-       bnei r0, 5, tr0
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/shari.cgs b/sim/testsuite/sim/sh64/media/shari.cgs
deleted file mode 100644 (file)
index 3d3a650..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# sh testcase for shari $rm, $imm, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-shari1:
-       movi 128, r0
-       shari r0, 3, r2
-       bnei r2, 16, tr0
-
-shari2:
-       movi -4, r0
-       shari r0, 2, r2
-       addi r2, 1, r2
-       bnei r2, 0, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/sharil.cgs b/sim/testsuite/sim/sh64/media/sharil.cgs
deleted file mode 100644 (file)
index be946e0..0000000
+++ /dev/null
@@ -1,45 +0,0 @@
-# sh testcase for shari.l $rm, $imm6, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-sharil1:
-       movi 0x1020, r0
-       shlli r0, 8, r0
-       ori r0, 0x30, r0
-       shlli r0, 8, r0
-       ori r0, 0x40, r0
-       shlli r0, 8, r0
-       ori r0, 0x50, r0
-       shlli r0, 8, r0
-       ori r0, 0x60, r0
-       shlli r0, 8, r0
-       ori r0, 0x70, r0
-       shlli r0, 8, r0
-       ori r0, 0x80, r0
-
-       movi 1, r1
-       shari.l r0, 1, r0
-       shari.l r0, 1, r0
-       shari.l r0, 1, r0
-       shari.l r0, 1, r0
-       shari.l r0, 1, r0
-       shari.l r0, 1, r0
-       shari.l r0, 1, r0
-       shari.l r0, 1, r0
-       shari.l r0, 20, r0
-       bnei r0, 5, tr0
-
-okay:  
-       pass
-
-wrong:
-       fail
-
diff --git a/sim/testsuite/sim/sh64/media/shlld.cgs b/sim/testsuite/sim/sh64/media/shlld.cgs
deleted file mode 100644 (file)
index 05d2da4..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# sh testcase for shlld $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-shlld1:
-       movi 1, r0
-       movi 5, r1
-       shlld r0, r1, r2
-       movi 32, r7
-       bne r2, r7, tr0
-
-shlld2:
-       movi 2, r1
-       shlld r2, r1, r3
-       movi 128, r7
-       bne r3, r7, tr0
-
-shlld3:
-       movi 32, r1
-       shlld r0, r1, r7
-       shlld r7, r1, r2
-       bnei r2, 0, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/shlldl.cgs b/sim/testsuite/sim/sh64/media/shlldl.cgs
deleted file mode 100644 (file)
index 3d37f53..0000000
+++ /dev/null
@@ -1,34 +0,0 @@
-# sh testcase for shlld.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-shlldl1:
-       movi 1, r0
-       shlli r0, 32, r0
-       ori r0, 1, r0
-       movi 1, r1
-       shlli r1, 7, r1
-       ori r1, 3, r1
-       
-       shlld.l r0, r1, r2
-       
-check1:
-       bnei r2, 8, tr0
-
-shlldl2:
-       movi 1, r0
-       movi 31, r1
-       shlld.l r0, r1, r2
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/shlli.cgs b/sim/testsuite/sim/sh64/media/shlli.cgs
deleted file mode 100644 (file)
index 9ab331c..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-# sh testcase for shlli $rm, $imm6, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-shlli:
-       movi 1, r0
-       shlli r0, 3, r0
-       bnei r0, 8, tr0
-
-shlli2:
-       shlli r0, 3, r0
-
-shlli3:
-       # Shift all bits out of sight.
-       shlli r0, 63, r0
-       bnei r0, 0, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/shllil.cgs b/sim/testsuite/sim/sh64/media/shllil.cgs
deleted file mode 100644 (file)
index 347acd6..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for shlli.l $rm, $imm6, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global shllil
-shllil:
-       shlli.l r0, 0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/shlrd.cgs b/sim/testsuite/sim/sh64/media/shlrd.cgs
deleted file mode 100644 (file)
index 56f10bf..0000000
+++ /dev/null
@@ -1,30 +0,0 @@
-# sh testcase for shlrd $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-shlrd1:
-       movi 128, r0
-       movi 3, r1
-       shlrd r0, r1, r2
-       bnei r2, 16, tr0
-
-shlrd2:
-       movi -4, r0
-       movi 2, r1
-       shlrd r0, r1, r2
-       addi r2, 1, r2
-       beqi r2, 0, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/shlrdl.cgs b/sim/testsuite/sim/sh64/media/shlrdl.cgs
deleted file mode 100644 (file)
index 32b20c0..0000000
+++ /dev/null
@@ -1,37 +0,0 @@
-# sh testcase for shlrd.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-shlrdl1:
-       movi 1, r0
-       shlli r0, 32, r0
-       ori r0, 8, r0
-       movi 1, r1
-       shlli r1, 7, r1
-       ori r1, 3, r1
-       
-       shlrd.l r0, r1, r2
-       
-check1:
-       bnei r2, 1, tr0
-
-shlrdl2:
-       movi 1, r0
-       shlli r0, 31, r0
-       movi 31, r1
-       shlld.l r0, r1, r2
-       bnei r2, 0, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/shlri.cgs b/sim/testsuite/sim/sh64/media/shlri.cgs
deleted file mode 100644 (file)
index 488cac9..0000000
+++ /dev/null
@@ -1,28 +0,0 @@
-# sh testcase for shlri $rm, $imm, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-shlri1:
-       movi 128, r0
-       shlri r0, 3, r2
-       bnei r2, 16, tr0
-
-shlri2:
-       movi -4, r0
-       shlri r0, 2, r2
-       addi r2, 1, r2
-       beqi r2, 0, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/shlril.cgs b/sim/testsuite/sim/sh64/media/shlril.cgs
deleted file mode 100644 (file)
index bb1b2a6..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for shlri.l $rm, $imm6, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global shlril
-shlril:
-       shlri.l r0, 0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/shori.cgs b/sim/testsuite/sim/sh64/media/shori.cgs
deleted file mode 100644 (file)
index 5f02b7d..0000000
+++ /dev/null
@@ -1,35 +0,0 @@
-# sh testcase for shori $imm16, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-shori1:
-       movi 1, r0
-       shori 7, r0
-       # check it.
-       andi r0, 15, r7
-       bnei r7, 7, tr0
-       shlri r0, 16, r0
-       bnei r0, 1, tr0
-
-shori2:
-       # Test for zero extension bug reported by
-       # Alexandre Oliva <aoliva@redhat.com>.
-       movi 0, r0
-       shori 65535, r0
-       # check it.
-       movi 0xffff, r1
-       bne r0, r1, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/sleep.cgs b/sim/testsuite/sim/sh64/media/sleep.cgs
deleted file mode 100644 (file)
index b4c35ee..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-# sh testcase for sleep -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       sleep
-       pass
diff --git a/sim/testsuite/sim/sh64/media/stb.cgs b/sim/testsuite/sim/sh64/media/stb.cgs
deleted file mode 100644 (file)
index 09de47b..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# sh testcase for st.b $rm, $disp10, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       movi -1, r7
-       xori r7, 13, r7
-       movi 40, r0
-       shlli r0, 8, r0
-
-stb1:
-       st.b r0, 0, r7
-
-stb2:
-       st.b r0, 1, r7
-
-stb3:
-       st.b r0, -1, r7
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/sthil.cgs b/sim/testsuite/sim/sh64/media/sthil.cgs
deleted file mode 100644 (file)
index cfee284..0000000
+++ /dev/null
@@ -1,55 +0,0 @@
-# sh testcase for sthi.l $rm, $disp6, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-       movi 40, r0
-       shlli r0, 8, r0
-       
-       movi 0x1020, r1
-       shlli r1, 8, r1
-       addi r1, 0x30, r1
-       shlli r1, 8, r1
-       addi r1, 0x40, r1
-       shlli r1, 8, r1
-       addi r1, 0x50, r1
-       shlli r1, 8, r1
-       addi r1, 0x60, r1
-       shlli r1, 8, r1
-       addi r1, 0x70, r1
-       shlli r1, 8, r1
-       addi r1, 0x80, r1
-
-sthil1:
-       sthi.l r0, 0, r1
-
-sthil2:
-       sthi.l r0, 1, r1
-
-sthil3:        
-       sthi.l r0, 2, r1
-
-sthil4:        
-       sthi.l r0, 3, r1
-
-sthil5:        
-       sthi.l r0, -1, r1
-
-sthil6:        
-       sthi.l r0, -2, r1
-
-sthil7:        
-       sthi.l r0, -3, r1
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/sthiq.cgs b/sim/testsuite/sim/sh64/media/sthiq.cgs
deleted file mode 100644 (file)
index 6310d43..0000000
+++ /dev/null
@@ -1,79 +0,0 @@
-# sh testcase for sthi.q $rm, $disp6, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-       movi 40, r0
-       shlli r0, 8, r0
-       
-       movi 0x1020, r1
-       shlli r1, 8, r1
-       addi r1, 0x30, r1
-       shlli r1, 8, r1
-       addi r1, 0x40, r1
-       shlli r1, 8, r1
-       addi r1, 0x50, r1
-       shlli r1, 8, r1
-       addi r1, 0x60, r1
-       shlli r1, 8, r1
-       addi r1, 0x70, r1
-       shlli r1, 8, r1
-       addi r1, 0x80, r1
-
-sthiq1:
-       sthi.q r0, 0, r1
-
-sthiq2:
-       sthi.q r0, 1, r1
-
-sthiq3:        
-       sthi.q r0, 2, r1
-
-sthiq4:        
-       sthi.q r0, 3, r1
-
-sthiq5:        
-       sthi.q r0, 4, r1
-
-sthiq6:        
-       sthi.q r0, 5, r1
-
-sthiq7:        
-       sthi.q r0, 6, r1
-
-sthiq8:        
-       sthi.q r0, 7, r1
-
-sthiq9:        
-       sthi.q r0, -1, r1
-
-sthiq10:       
-       sthi.q r0, -2, r1
-
-sthiq11:
-       sthi.q r0, -3, r1
-
-sthiq12:       
-       sthi.q r0, -4, r1
-
-sthiq13:       
-       sthi.q r0, -5, r1
-
-sthiq14:
-       sthi.q r0, -6, r1
-
-sthiq15:       
-       sthi.q r0, -7, r1
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/stl.cgs b/sim/testsuite/sim/sh64/media/stl.cgs
deleted file mode 100644 (file)
index 8737e35..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# sh testcase for st.l $rm, $disp10, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       movi -1, r7
-       xori r7, 13, r7
-       movi 40, r0
-       shlli r0, 8, r0
-
-stl1:
-       st.l r0, 0, r7
-
-stl2:
-       st.l r0, 4, r7
-
-stl3:
-       st.l r0, -4, r7
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/stlol.cgs b/sim/testsuite/sim/sh64/media/stlol.cgs
deleted file mode 100644 (file)
index f2d9055..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for stlo.l $rm, $disp6, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global stlol
-stlol:
-       stlo.l r0, 0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/stloq.cgs b/sim/testsuite/sim/sh64/media/stloq.cgs
deleted file mode 100644 (file)
index 35c84c2..0000000
+++ /dev/null
@@ -1,14 +0,0 @@
-# sh testcase for stlo.q $rm, $disp6, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-       .global stloq
-stloq:
-       stlo.q r0, 0, r0
-
-       pass
diff --git a/sim/testsuite/sim/sh64/media/stq.cgs b/sim/testsuite/sim/sh64/media/stq.cgs
deleted file mode 100644 (file)
index e1af795..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# sh testcase for st.q $rm, $disp10, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       movi -1, r7
-       xori r7, 13, r7
-       movi 40, r0
-       shlli r0, 8, r0
-
-stq1:
-       st.q r0, 0, r7
-
-stq2:
-       st.q r0, 8, r7
-
-stq3:
-       st.q r0, -8, r7
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/stw.cgs b/sim/testsuite/sim/sh64/media/stw.cgs
deleted file mode 100644 (file)
index 2446aa6..0000000
+++ /dev/null
@@ -1,26 +0,0 @@
-# sh testcase for st.q $rm, $disp10, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       movi -1, r7
-       xori r7, 13, r7
-       movi 40, r0
-       shlli r0, 8, r0
-
-stw1:
-       st.w r0, 0, r7
-
-stw2:
-       st.w r0, 2, r7
-
-stw3:
-       st.w r0, -2, r7
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/stxb.cgs b/sim/testsuite/sim/sh64/media/stxb.cgs
deleted file mode 100644 (file)
index 8ab2ae3..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# sh testcase for stx.b $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       movi -1, r7
-       xori r7, 13, r7
-       movi 40, r0
-       shlli r0, 8, r0
-
-stxb1:
-       movi 0, r1
-       stx.b r0, r1, r7
-
-stxb2:
-       movi 1, r1
-       stx.b r0, r1, r7
-
-stxb3:
-       movi -1, r1
-       stx.b r0, r1, r7
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/stxl.cgs b/sim/testsuite/sim/sh64/media/stxl.cgs
deleted file mode 100644 (file)
index 8ed2e36..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# sh testcase for stx.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       movi -1, r7
-       xori r7, 13, r7
-       movi 40, r0
-       shlli r0, 8, r0
-
-stxl1:
-       movi 0, r1
-       stx.l r0, r1, r7
-
-stxl2:
-       movi 4, r1
-       stx.l r0, r1, r7
-
-stxl3:
-       movi -4, r1
-       stx.l r0, r1, r7
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/stxq.cgs b/sim/testsuite/sim/sh64/media/stxq.cgs
deleted file mode 100644 (file)
index 10759fd..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# sh testcase for stx.q $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       movi -1, r7
-       xori r7, 13, r7
-       movi 40, r0
-       shlli r0, 8, r0
-
-stxq1:
-       movi 0, r1
-       stx.q r0, r1, r7
-
-stxq2:
-       movi 8, r1
-       stx.q r0, r1, r7
-
-stxq3:
-       movi -8, r1
-       stx.q r0, r1, r7
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/stxw.cgs b/sim/testsuite/sim/sh64/media/stxw.cgs
deleted file mode 100644 (file)
index d039811..0000000
+++ /dev/null
@@ -1,29 +0,0 @@
-# sh testcase for stx.w $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       movi -1, r7
-       xori r7, 13, r7
-       movi 40, r0
-       shlli r0, 8, r0
-
-stxw1:
-       movi 0, r1
-       stx.w r0, r1, r7
-
-stxw2:
-       movi 2, r1
-       stx.w r0, r1, r7
-
-stxw3:
-       movi -2, r1
-       stx.w r0, r1, r7
-
-okay:
-       pass
diff --git a/sim/testsuite/sim/sh64/media/sub.cgs b/sim/testsuite/sim/sh64/media/sub.cgs
deleted file mode 100644 (file)
index e5e7530..0000000
+++ /dev/null
@@ -1,42 +0,0 @@
-# sh testcase for sub $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-       movi 0, r0
-       movi 1, r1
-
-sub1:
-       # 0 - 0 = 0.
-       sub r0, r0, r2
-       bnei r2, 0, tr0
-
-sub2:
-       # 1 - 0 = 1.
-       sub r1, r0, r2
-       bnei r2, 1, tr0
-
-sub3:
-       # 0 - 1 = -1.
-       sub r0, r1, r2
-       addi r2, 1, r2
-       bnei r2, 0, tr0
-
-sub4:
-       # 5 - 2 = 3.
-       movi 5, r0
-       movi 2, r1
-       sub r0, r1, r2
-       bnei r2, 3, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/subl.cgs b/sim/testsuite/sim/sh64/media/subl.cgs
deleted file mode 100644 (file)
index 98abe59..0000000
+++ /dev/null
@@ -1,38 +0,0 @@
-# sh testcase for sub.l $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-
-init:
-       pta wrong, tr0
-
-subl1:
-       # Test that the top 32 bits are ignored.
-       movi 1, r0
-       shlli r0, 32, r0
-       ori r0, 7, r0
-
-       movi 1, r1
-       shlli r1, 32, r1
-       ori r1, 2, r1
-
-       sub.l r0, r1, r2
-       bnei r2, 5, tr0
-
-subl2:
-       # Test that 0 - 1 is sign extended.
-       movi 0, r0
-       movi 1, r1
-       sub.l r0, r1, r2
-       addi r2, 1, r2
-       bnei r2, 0, tr0
-
-okay:
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/media/swapq.cgs b/sim/testsuite/sim/sh64/media/swapq.cgs
deleted file mode 100644 (file)
index 6f168b1..0000000
+++ /dev/null
@@ -1,36 +0,0 @@
-# sh testcase for swap.q $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       movi 10, r0
-       shlli r0, 8, r0
-       ori r0, 20, r0
-       shlli r0, 8, r0
-       ori r0, 30, r0
-       shlli r0, 8, r0
-       ori r0, 40, r0
-       shlli r0, 8, r0
-       ori r0, 50, r0
-       shlli r0, 8, r0
-       ori r0, 60, r0
-       shlli r0, 8, r0
-       ori r0, 70, r0
-       shlli r0, 8, r0
-       ori r0, 80, r0
-
-       # Set up two address operands.
-       
-       movi 40, r1
-       shlli r1, 8, r1
-       movi 8, r2
-       
-swapq:
-       swap.q r1, r2, r0
-
-okay:  
-       pass
diff --git a/sim/testsuite/sim/sh64/media/synci.cgs b/sim/testsuite/sim/sh64/media/synci.cgs
deleted file mode 100644 (file)
index 65e0621..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-# sh testcase for synci -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       synci
-       pass
diff --git a/sim/testsuite/sim/sh64/media/synco.cgs b/sim/testsuite/sim/sh64/media/synco.cgs
deleted file mode 100644 (file)
index 2db6df3..0000000
+++ /dev/null
@@ -1,10 +0,0 @@
-# sh testcase for synco -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       synco
-       pass
diff --git a/sim/testsuite/sim/sh64/media/testutils.inc b/sim/testsuite/sim/sh64/media/testutils.inc
deleted file mode 100644 (file)
index d3b383a..0000000
+++ /dev/null
@@ -1,51 +0,0 @@
-# Support macros for the assembly test cases.
-
-       .macro start
-       .text
-       .global start
-start:
-       .endm
-
-       .macro pass
-       movi 253, r0
-       trapa r0
-       .endm
-
-       .macro fail
-       movi 254, r0
-       trapa r0
-       .endm
-
-       .macro _packb v1 v2 v3 v4 v5 v6 v7 v8 reg
-       movi \v1, \reg
-       shlli \reg, 8, \reg
-       addi \reg, \v2, \reg
-       shlli \reg, 8, \reg
-       addi \reg, \v3, \reg
-       shlli \reg, 8, \reg
-       addi \reg, \v4, \reg
-       shlli \reg, 8, \reg
-       addi \reg, \v5, \reg
-       shlli \reg, 8, \reg
-       addi \reg, \v6, \reg
-       shlli \reg, 8, \reg
-       addi \reg, \v7, \reg
-       shlli \reg, 8, \reg
-       addi \reg, \v8, \reg
-       .endm
-
-       .macro _packw v1 v2 v3 v4 reg
-       movi \v1, \reg
-       shlli \reg, 16, \reg
-       addi \reg, \v2, \reg
-       shlli \reg, 16, \reg
-       addi \reg, \v3, \reg
-       shlli \reg, 16, \reg
-       addi \reg, \v4, \reg
-       .endm
-
-       .macro _packl v1 v2 reg
-       movi \v1, \reg
-       shlli \reg, 32, \reg
-       addi \reg, \v2, \reg 
-       .endm
diff --git a/sim/testsuite/sim/sh64/media/trapa.cgs b/sim/testsuite/sim/sh64/media/trapa.cgs
deleted file mode 100644 (file)
index c961bac..0000000
+++ /dev/null
@@ -1,11 +0,0 @@
-# sh testcase for trapa $rm -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-       # This performs a trap to emit "pass".
-       movi 253, r0
-       trapa r0
diff --git a/sim/testsuite/sim/sh64/media/xor.cgs b/sim/testsuite/sim/sh64/media/xor.cgs
deleted file mode 100644 (file)
index 80278f0..0000000
+++ /dev/null
@@ -1,54 +0,0 @@
-# sh testcase for xor $rm, $rn, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-xor1:
-       # 0 xor 0 = 0.
-       movi 0, r0
-       movi 0, r1
-       xor r0, r1, r2
-       bnei r2, 0, tr0
-
-xor2:
-       # 0 xor 1 = 1.
-       movi 0, r0
-       movi 1, r1
-       xor r0, r1, r2
-       bnei r2, 1, tr0
-
-xor3:
-       # 1 xor 0 = 1.
-       movi 1, r0
-       movi 0, r1
-       xor r0, r1, r2
-       bnei r2, 1, tr0
-
-xor4:
-       # 1 xor 1 = 0.
-       movi 1, r0
-       movi 1, r1
-       xor r0, r1, r2
-       bnei r2, 0, tr0
-
-xor5:
-       movi 1, r0
-       shlli r0, 63, r0
-       ori r0, 1, r0
-       movi 3, r1
-       xor r0, r1, r2
-       andi r2, 255, r2
-       bnei r2, 2, tr0
-
-okay:  
-       pass
-
-wrong:
-       fail
-       
diff --git a/sim/testsuite/sim/sh64/media/xori.cgs b/sim/testsuite/sim/sh64/media/xori.cgs
deleted file mode 100644 (file)
index 0d4d96a..0000000
+++ /dev/null
@@ -1,48 +0,0 @@
-# sh testcase for xori $rm, $imm6, $rd -*- Asm -*-
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-       .include "media/testutils.inc"
-
-       start
-init:
-       pta wrong, tr0
-
-xori1:
-       # 0 xor 0 = 0.
-       movi 0, r0
-       xori r0, 0, r2
-       bnei r2, 0, tr0
-
-xori2:
-       # 0 xor 1 = 1.
-       movi 0, r0
-       xori r0, 1, r2
-       bnei r2, 1, tr0
-
-xori3:
-       # 1 xor 0 = 1.
-       movi 1, r0
-       xori r0, 0, r2
-       bnei r2, 1, tr0
-
-xori4:
-       # 1 xor 1 = 0.
-       movi 1, r0
-       xori r0, 1, r2
-       bnei r2, 0, tr0
-
-xori5:
-       movi 1, r0
-       shlli r0, 63, r0
-       ori r0, 1, r0
-       xori r0, 3, r2
-       andi r2, 255, r2
-       bnei r2, 2, tr0
-
-okay:  
-       pass
-
-wrong:
-       fail
diff --git a/sim/testsuite/sim/sh64/misc/fr-dr.s b/sim/testsuite/sim/sh64/misc/fr-dr.s
deleted file mode 100644 (file)
index 52f0e13..0000000
+++ /dev/null
@@ -1,22 +0,0 @@
-# sh testcase for floating point register shared state (see below).
-# mach: all
-# as: -isa=shmedia
-# ld: -m shelf64
-
-# (fr, dr, fp, fv amd mtrx provide different views of the same architecrual state).
-# Hitachi SH-5 CPU volume 1, p. 15.
-
-       .include "media/testutils.inc"
-
-       start
-
-       movi 42, r0
-       fmov.ls r0, fr12
-       # save this reg.
-       fmov.s fr12, fr14
-
-       movi 42, r0
-       fmov.qd r0, dr12
-       
-okay:
-       pass
This page took 0.997894 seconds and 4 git commands to generate.