summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorMark Mitchell <mark@codesourcery.com>2005-11-17 06:22:44 +0000
committerMark Mitchell <mark@codesourcery.com>2005-11-17 06:22:44 +0000
commit25b73cab534bf23723fb4b1994137a544d9a23ae (patch)
tree7f66909d20760971afab04a467be4134fd6d7826
parent3402a884d84d0b03e6ac8f746819fe2080607730 (diff)
downloadgdb-25b73cab534bf23723fb4b1994137a544d9a23ae.tar.gz
* gdb/remote-sim.c (gdbsim_wait): Don't use target_signal_to_host
or target_signal_from_host. * sim/arm/wrapper.c (gdb/signals.h): Include it. (SIGTRAP): Don't define it. (SIGBUS): Likewise. (sim_stop_reason): Use TARGET_SIGNAL_*. * sim/common/sim-reason.c (sim_stop_reason): Use sim_signal_to_target, not sim_signal_to_host. * sim/common/sim-signal.c (sim_signal_to_host): Fix typo. (sim_signal_to_target): New function. * sim/common/sim-signal.h: Declare it. * sim/d10v/interp.c (gdb/signals.h): Include it. (sim_stop_reason): Use TARGET_SIGNAL_*. * sim/erc32/interf.c: (gdb/signals.h): Include it. (sim_stop_reason): Use TARGET_SIGNAL_*. * sim/ppc/sim_calls.c (gdb/signals.h): Include it. (sim_stop_reason): Use TARGET_SIGNAL_*.
-rw-r--r--ChangeLog.csl31
-rw-r--r--compile142
-rw-r--r--gdb/config/ms1/ms1.mt2
-rw-r--r--gdb/config/v850/v850.mt4
-rw-r--r--gdb/remote-sim.c17
-rw-r--r--gdb/testsuite/gdb.ada/array_return/p.adb10
-rw-r--r--gdb/testsuite/gdb.ada/array_return/pck.adb13
-rw-r--r--gdb/testsuite/gdb.ada/array_return/pck.ads10
-rw-r--r--gdb/testsuite/gdb.ada/arrayidx/p.adb56
-rw-r--r--gdb/testsuite/gdb.gdbtk/ChangeLog329
-rw-r--r--gdb/testsuite/gdb.gdbtk/Makefile.in36
-rw-r--r--gdb/testsuite/gdb.gdbtk/README421
-rw-r--r--gdb/testsuite/gdb.gdbtk/browser.exp41
-rw-r--r--gdb/testsuite/gdb.gdbtk/browser.test686
-rw-r--r--gdb/testsuite/gdb.gdbtk/c_variable.c296
-rw-r--r--gdb/testsuite/gdb.gdbtk/c_variable.exp42
-rw-r--r--gdb/testsuite/gdb.gdbtk/c_variable.test2071
-rw-r--r--gdb/testsuite/gdb.gdbtk/configure2248
-rw-r--r--gdb/testsuite/gdb.gdbtk/configure.ac18
-rw-r--r--gdb/testsuite/gdb.gdbtk/console.exp42
-rw-r--r--gdb/testsuite/gdb.gdbtk/console.test491
-rw-r--r--gdb/testsuite/gdb.gdbtk/cpp_variable.cc33
-rw-r--r--gdb/testsuite/gdb.gdbtk/cpp_variable.exp48
-rw-r--r--gdb/testsuite/gdb.gdbtk/cpp_variable.h54
-rw-r--r--gdb/testsuite/gdb.gdbtk/cpp_variable.test594
-rw-r--r--gdb/testsuite/gdb.gdbtk/defs306
-rw-r--r--gdb/testsuite/gdb.gdbtk/insight-support.exp319
-rw-r--r--gdb/testsuite/gdb.gdbtk/list0.c43
-rw-r--r--gdb/testsuite/gdb.gdbtk/list0.h37
-rw-r--r--gdb/testsuite/gdb.gdbtk/list1.c39
-rw-r--r--gdb/testsuite/gdb.gdbtk/simple.c20
-rw-r--r--gdb/testsuite/gdb.gdbtk/srcwin.exp71
-rw-r--r--gdb/testsuite/gdb.gdbtk/srcwin.test1192
-rw-r--r--gdb/testsuite/gdb.gdbtk/srcwin2.test899
-rw-r--r--gdb/testsuite/gdb.gdbtk/srcwin3.test789
-rw-r--r--gdb/testsuite/gdb.gdbtk/stack1.c231
-rw-r--r--gdb/testsuite/gdb.gdbtk/stack2.c107
-rw-r--r--gdb/testsuite/gdb.gdbtk/windows.exp41
-rw-r--r--gdb/testsuite/gdb.gdbtk/windows.test131
-rw-r--r--intl/ChangeLog1106
-rw-r--r--intl/Makefile.in214
-rw-r--r--intl/acconfig.h14
-rw-r--r--intl/aclocal.m4387
-rw-r--r--intl/bindtextdom.c203
-rw-r--r--intl/cat-compat.c262
-rw-r--r--intl/config.in128
-rwxr-xr-xintl/configure2950
-rw-r--r--intl/configure.in10
-rw-r--r--intl/dcgettext.c624
-rw-r--r--intl/dgettext.c59
-rw-r--r--intl/explodename.c188
-rw-r--r--intl/finddomain.c216
-rw-r--r--intl/gettext.c70
-rw-r--r--intl/gettext.h105
-rw-r--r--intl/gettextP.h89
-rw-r--r--intl/hash-string.h59
-rw-r--r--intl/intl-compat.c76
-rw-r--r--intl/intlh.inst.in111
-rw-r--r--intl/l10nflist.c411
-rw-r--r--intl/libgettext.h182
-rw-r--r--intl/libintl.glibc120
-rw-r--r--intl/linux-msg.sed100
-rw-r--r--intl/loadinfo.h76
-rw-r--r--intl/loadmsgcat.c222
-rw-r--r--intl/localealias.c424
-rw-r--r--intl/po2tbl.sed.in102
-rw-r--r--intl/textdomain.c108
-rw-r--r--intl/xopen-msg.sed104
-rw-r--r--sim/arm/wrapper.c15
-rw-r--r--sim/common/sim-reason.c16
-rw-r--r--sim/common/sim-signal.c41
-rw-r--r--sim/common/sim-signal.h3
-rw-r--r--sim/d10v/interp.c9
-rw-r--r--sim/erc32/interf.c8
-rw-r--r--sim/ppc/config.in8
-rwxr-xr-xsim/ppc/configure209
-rw-r--r--sim/ppc/configure.ac12
-rw-r--r--sim/ppc/emul_netbsd.c5
-rw-r--r--sim/ppc/emul_unix.c4
-rw-r--r--sim/ppc/sim_calls.c5
-rw-r--r--sim/sh64/ChangeLog392
-rw-r--r--sim/sh64/Makefile.in153
-rw-r--r--sim/sh64/arch.c47
-rw-r--r--sim/sh64/arch.h44
-rw-r--r--sim/sh64/config.in177
-rwxr-xr-xsim/sh64/configure9007
-rw-r--r--sim/sh64/configure.ac19
-rw-r--r--sim/sh64/cpu.c533
-rw-r--r--sim/sh64/cpu.h302
-rw-r--r--sim/sh64/cpuall.h70
-rw-r--r--sim/sh64/decode-compact.c2640
-rw-r--r--sim/sh64/decode-compact.h128
-rw-r--r--sim/sh64/decode-media.c2109
-rw-r--r--sim/sh64/decode-media.h122
-rw-r--r--sim/sh64/decode.h16
-rw-r--r--sim/sh64/defs-compact.h424
-rw-r--r--sim/sh64/defs-media.h926
-rw-r--r--sim/sh64/eng-compact.h34
-rw-r--r--sim/sh64/eng-media.h34
-rw-r--r--sim/sh64/eng.h24
-rw-r--r--sim/sh64/mloop-compact.c635
-rw-r--r--sim/sh64/mloop-media.c624
-rw-r--r--sim/sh64/sem-compact-switch.c4941
-rw-r--r--sim/sh64/sem-compact.c5290
-rw-r--r--sim/sh64/sem-media-switch.c5558
-rw-r--r--sim/sh64/sem-media.c5965
-rw-r--r--sim/sh64/sh-desc.c3287
-rw-r--r--sim/sh64/sh-desc.h249
-rw-r--r--sim/sh64/sh-opc.h216
-rw-r--r--sim/sh64/sh64-sim.h89
-rw-r--r--sim/sh64/sh64.c1030
-rw-r--r--sim/sh64/sim-if.c236
-rw-r--r--sim/sh64/sim-main.h75
-rw-r--r--sim/sh64/tconfig.in45
-rw-r--r--sim/testsuite/sim/sh64/ChangeLog21
-rw-r--r--sim/testsuite/sim/sh64/compact.exp19
-rw-r--r--sim/testsuite/sim/sh64/compact/ChangeLog26
-rw-r--r--sim/testsuite/sim/sh64/compact/add.cgs55
-rw-r--r--sim/testsuite/sim/sh64/compact/addc.cgs90
-rw-r--r--sim/testsuite/sim/sh64/compact/addi.cgs46
-rw-r--r--sim/testsuite/sim/sh64/compact/addv.cgs48
-rw-r--r--sim/testsuite/sim/sh64/compact/and.cgs33
-rw-r--r--sim/testsuite/sim/sh64/compact/andb.cgs24
-rw-r--r--sim/testsuite/sim/sh64/compact/andi.cgs43
-rw-r--r--sim/testsuite/sim/sh64/compact/bf.cgs24
-rw-r--r--sim/testsuite/sim/sh64/compact/bfs.cgs28
-rw-r--r--sim/testsuite/sim/sh64/compact/bra.cgs23
-rw-r--r--sim/testsuite/sim/sh64/compact/braf.cgs24
-rw-r--r--sim/testsuite/sim/sh64/compact/brk.cgs18
-rw-r--r--sim/testsuite/sim/sh64/compact/bsr.cgs21
-rw-r--r--sim/testsuite/sim/sh64/compact/bsrf.cgs22
-rw-r--r--sim/testsuite/sim/sh64/compact/bt.cgs24
-rw-r--r--sim/testsuite/sim/sh64/compact/bts.cgs28
-rw-r--r--sim/testsuite/sim/sh64/compact/clrmac.cgs13
-rw-r--r--sim/testsuite/sim/sh64/compact/clrs.cgs14
-rw-r--r--sim/testsuite/sim/sh64/compact/clrt.cgs16
-rw-r--r--sim/testsuite/sim/sh64/compact/cmpeq.cgs52
-rw-r--r--sim/testsuite/sim/sh64/compact/cmpeqi.cgs39
-rw-r--r--sim/testsuite/sim/sh64/compact/cmpge.cgs69
-rw-r--r--sim/testsuite/sim/sh64/compact/cmpgt.cgs69
-rw-r--r--sim/testsuite/sim/sh64/compact/cmphi.cgs68
-rw-r--r--sim/testsuite/sim/sh64/compact/cmphs.cgs59
-rw-r--r--sim/testsuite/sim/sh64/compact/cmppl.cgs37
-rw-r--r--sim/testsuite/sim/sh64/compact/cmppz.cgs37
-rw-r--r--sim/testsuite/sim/sh64/compact/cmpstr.cgs148
-rw-r--r--sim/testsuite/sim/sh64/compact/div0s.cgs52
-rw-r--r--sim/testsuite/sim/sh64/compact/div0u.cgs21
-rw-r--r--sim/testsuite/sim/sh64/compact/div1.cgs52
-rw-r--r--sim/testsuite/sim/sh64/compact/dmulsl.cgs115
-rw-r--r--sim/testsuite/sim/sh64/compact/dmulul.cgs53
-rw-r--r--sim/testsuite/sim/sh64/compact/dt.cgs42
-rw-r--r--sim/testsuite/sim/sh64/compact/extsb.cgs29
-rw-r--r--sim/testsuite/sim/sh64/compact/extsw.cgs32
-rw-r--r--sim/testsuite/sim/sh64/compact/extub.cgs31
-rw-r--r--sim/testsuite/sim/sh64/compact/extuw.cgs31
-rw-r--r--sim/testsuite/sim/sh64/compact/fabs.cgs88
-rw-r--r--sim/testsuite/sim/sh64/compact/fadd.cgs31
-rw-r--r--sim/testsuite/sim/sh64/compact/fcmpeq.cgs88
-rw-r--r--sim/testsuite/sim/sh64/compact/fcmpgt.cgs95
-rw-r--r--sim/testsuite/sim/sh64/compact/fcnvds.cgs13
-rw-r--r--sim/testsuite/sim/sh64/compact/fcnvsd.cgs27
-rw-r--r--sim/testsuite/sim/sh64/compact/fdiv.cgs83
-rw-r--r--sim/testsuite/sim/sh64/compact/fipr.cgs44
-rw-r--r--sim/testsuite/sim/sh64/compact/fldi0.cgs17
-rw-r--r--sim/testsuite/sim/sh64/compact/fldi1.cgs17
-rw-r--r--sim/testsuite/sim/sh64/compact/flds.cgs26
-rw-r--r--sim/testsuite/sim/sh64/compact/float.cgs80
-rw-r--r--sim/testsuite/sim/sh64/compact/fmac.cgs78
-rw-r--r--sim/testsuite/sim/sh64/compact/fmov.cgs273
-rw-r--r--sim/testsuite/sim/sh64/compact/fmul.cgs121
-rw-r--r--sim/testsuite/sim/sh64/compact/fneg.cgs83
-rw-r--r--sim/testsuite/sim/sh64/compact/frchg.cgs13
-rw-r--r--sim/testsuite/sim/sh64/compact/fschg.cgs13
-rw-r--r--sim/testsuite/sim/sh64/compact/fsqrt.cgs93
-rw-r--r--sim/testsuite/sim/sh64/compact/fsts.cgs11
-rw-r--r--sim/testsuite/sim/sh64/compact/fsub.cgs120
-rw-r--r--sim/testsuite/sim/sh64/compact/ftrc.cgs132
-rw-r--r--sim/testsuite/sim/sh64/compact/ftrv.cgs74
-rw-r--r--sim/testsuite/sim/sh64/compact/jmp.cgs29
-rw-r--r--sim/testsuite/sim/sh64/compact/jsr.cgs29
-rw-r--r--sim/testsuite/sim/sh64/compact/ldc-gbr.cgs22
-rw-r--r--sim/testsuite/sim/sh64/compact/ldcl-gbr.cgs28
-rw-r--r--sim/testsuite/sim/sh64/compact/lds-fpscr.cgs22
-rw-r--r--sim/testsuite/sim/sh64/compact/lds-fpul.cgs17
-rw-r--r--sim/testsuite/sim/sh64/compact/lds-mach.cgs23
-rw-r--r--sim/testsuite/sim/sh64/compact/lds-macl.cgs23
-rw-r--r--sim/testsuite/sim/sh64/compact/lds-pr.cgs23
-rw-r--r--sim/testsuite/sim/sh64/compact/ldsl-fpscr.cgs43
-rw-r--r--sim/testsuite/sim/sh64/compact/ldsl-fpul.cgs27
-rw-r--r--sim/testsuite/sim/sh64/compact/ldsl-mach.cgs26
-rw-r--r--sim/testsuite/sim/sh64/compact/ldsl-macl.cgs26
-rw-r--r--sim/testsuite/sim/sh64/compact/ldsl-pr.cgs28
-rw-r--r--sim/testsuite/sim/sh64/compact/macl.cgs76
-rw-r--r--sim/testsuite/sim/sh64/compact/macw.cgs70
-rw-r--r--sim/testsuite/sim/sh64/compact/mov.cgs40
-rw-r--r--sim/testsuite/sim/sh64/compact/mova.cgs29
-rw-r--r--sim/testsuite/sim/sh64/compact/movb1.cgs27
-rw-r--r--sim/testsuite/sim/sh64/compact/movb10.cgs25
-rw-r--r--sim/testsuite/sim/sh64/compact/movb2.cgs34
-rw-r--r--sim/testsuite/sim/sh64/compact/movb3.cgs30
-rw-r--r--sim/testsuite/sim/sh64/compact/movb4.cgs28
-rw-r--r--sim/testsuite/sim/sh64/compact/movb5.cgs25
-rw-r--r--sim/testsuite/sim/sh64/compact/movb6.cgs26
-rw-r--r--sim/testsuite/sim/sh64/compact/movb7.cgs35
-rw-r--r--sim/testsuite/sim/sh64/compact/movb8.cgs27
-rw-r--r--sim/testsuite/sim/sh64/compact/movb9.cgs27
-rw-r--r--sim/testsuite/sim/sh64/compact/movcal.cgs28
-rw-r--r--sim/testsuite/sim/sh64/compact/movi.cgs39
-rw-r--r--sim/testsuite/sim/sh64/compact/movl1.cgs31
-rw-r--r--sim/testsuite/sim/sh64/compact/movl10.cgs34
-rw-r--r--sim/testsuite/sim/sh64/compact/movl11.cgs32
-rw-r--r--sim/testsuite/sim/sh64/compact/movl2.cgs43
-rw-r--r--sim/testsuite/sim/sh64/compact/movl3.cgs36
-rw-r--r--sim/testsuite/sim/sh64/compact/movl4.cgs38
-rw-r--r--sim/testsuite/sim/sh64/compact/movl5.cgs37
-rw-r--r--sim/testsuite/sim/sh64/compact/movl6.cgs25
-rw-r--r--sim/testsuite/sim/sh64/compact/movl7.cgs37
-rw-r--r--sim/testsuite/sim/sh64/compact/movl8.cgs24
-rw-r--r--sim/testsuite/sim/sh64/compact/movl9.cgs24
-rw-r--r--sim/testsuite/sim/sh64/compact/movt.cgs28
-rw-r--r--sim/testsuite/sim/sh64/compact/movw1.cgs29
-rw-r--r--sim/testsuite/sim/sh64/compact/movw10.cgs32
-rw-r--r--sim/testsuite/sim/sh64/compact/movw11.cgs35
-rw-r--r--sim/testsuite/sim/sh64/compact/movw2.cgs36
-rw-r--r--sim/testsuite/sim/sh64/compact/movw3.cgs31
-rw-r--r--sim/testsuite/sim/sh64/compact/movw4.cgs31
-rw-r--r--sim/testsuite/sim/sh64/compact/movw5.cgs32
-rw-r--r--sim/testsuite/sim/sh64/compact/movw6.cgs30
-rw-r--r--sim/testsuite/sim/sh64/compact/movw7.cgs36
-rw-r--r--sim/testsuite/sim/sh64/compact/movw8.cgs31
-rw-r--r--sim/testsuite/sim/sh64/compact/movw9.cgs33
-rw-r--r--sim/testsuite/sim/sh64/compact/mull.cgs64
-rw-r--r--sim/testsuite/sim/sh64/compact/mulsw.cgs91
-rw-r--r--sim/testsuite/sim/sh64/compact/muluw.cgs96
-rw-r--r--sim/testsuite/sim/sh64/compact/neg.cgs55
-rw-r--r--sim/testsuite/sim/sh64/compact/negc.cgs66
-rw-r--r--sim/testsuite/sim/sh64/compact/nop.cgs13
-rw-r--r--sim/testsuite/sim/sh64/compact/not.cgs47
-rw-r--r--sim/testsuite/sim/sh64/compact/ocbi.cgs14
-rw-r--r--sim/testsuite/sim/sh64/compact/ocbp.cgs15
-rw-r--r--sim/testsuite/sim/sh64/compact/ocbwb.cgs15
-rw-r--r--sim/testsuite/sim/sh64/compact/or.cgs43
-rw-r--r--sim/testsuite/sim/sh64/compact/orb.cgs24
-rw-r--r--sim/testsuite/sim/sh64/compact/ori.cgs40
-rw-r--r--sim/testsuite/sim/sh64/compact/pref.cgs15
-rw-r--r--sim/testsuite/sim/sh64/compact/rotcl.cgs121
-rw-r--r--sim/testsuite/sim/sh64/compact/rotcr.cgs103
-rw-r--r--sim/testsuite/sim/sh64/compact/rotl.cgs62
-rw-r--r--sim/testsuite/sim/sh64/compact/rotr.cgs55
-rw-r--r--sim/testsuite/sim/sh64/compact/rts.cgs24
-rw-r--r--sim/testsuite/sim/sh64/compact/sets.cgs13
-rw-r--r--sim/testsuite/sim/sh64/compact/sett.cgs16
-rw-r--r--sim/testsuite/sim/sh64/compact/shad.cgs58
-rw-r--r--sim/testsuite/sim/sh64/compact/shal.cgs57
-rw-r--r--sim/testsuite/sim/sh64/compact/shar.cgs40
-rw-r--r--sim/testsuite/sim/sh64/compact/shld.cgs48
-rw-r--r--sim/testsuite/sim/sh64/compact/shll.cgs57
-rw-r--r--sim/testsuite/sim/sh64/compact/shll16.cgs44
-rw-r--r--sim/testsuite/sim/sh64/compact/shll2.cgs40
-rw-r--r--sim/testsuite/sim/sh64/compact/shll8.cgs38
-rw-r--r--sim/testsuite/sim/sh64/compact/shlr.cgs33
-rw-r--r--sim/testsuite/sim/sh64/compact/shlr16.cgs14
-rw-r--r--sim/testsuite/sim/sh64/compact/shlr2.cgs14
-rw-r--r--sim/testsuite/sim/sh64/compact/shlr8.cgs14
-rw-r--r--sim/testsuite/sim/sh64/compact/stc-gbr.cgs21
-rw-r--r--sim/testsuite/sim/sh64/compact/stcl-gbr.cgs27
-rw-r--r--sim/testsuite/sim/sh64/compact/sts-fpscr.cgs23
-rw-r--r--sim/testsuite/sim/sh64/compact/sts-fpul.cgs14
-rw-r--r--sim/testsuite/sim/sh64/compact/sts-mach.cgs22
-rw-r--r--sim/testsuite/sim/sh64/compact/sts-macl.cgs21
-rw-r--r--sim/testsuite/sim/sh64/compact/sts-pr.cgs22
-rw-r--r--sim/testsuite/sim/sh64/compact/stsl-fpscr.cgs28
-rw-r--r--sim/testsuite/sim/sh64/compact/stsl-fpul.cgs27
-rw-r--r--sim/testsuite/sim/sh64/compact/stsl-mach.cgs42
-rw-r--r--sim/testsuite/sim/sh64/compact/stsl-macl.cgs42
-rw-r--r--sim/testsuite/sim/sh64/compact/stsl-pr.cgs42
-rw-r--r--sim/testsuite/sim/sh64/compact/sub.cgs68
-rw-r--r--sim/testsuite/sim/sh64/compact/subc.cgs109
-rw-r--r--sim/testsuite/sim/sh64/compact/subv.cgs55
-rw-r--r--sim/testsuite/sim/sh64/compact/swapb.cgs44
-rw-r--r--sim/testsuite/sim/sh64/compact/swapw.cgs43
-rw-r--r--sim/testsuite/sim/sh64/compact/tasb.cgs26
-rw-r--r--sim/testsuite/sim/sh64/compact/testutils.inc49
-rw-r--r--sim/testsuite/sim/sh64/compact/trapa.cgs13
-rw-r--r--sim/testsuite/sim/sh64/compact/tst.cgs62
-rw-r--r--sim/testsuite/sim/sh64/compact/tstb.cgs30
-rw-r--r--sim/testsuite/sim/sh64/compact/tsti.cgs32
-rw-r--r--sim/testsuite/sim/sh64/compact/xor.cgs70
-rw-r--r--sim/testsuite/sim/sh64/compact/xorb.cgs24
-rw-r--r--sim/testsuite/sim/sh64/compact/xori.cgs50
-rw-r--r--sim/testsuite/sim/sh64/compact/xtrct.cgs46
-rw-r--r--sim/testsuite/sim/sh64/interwork.exp20
-rw-r--r--sim/testsuite/sim/sh64/media.exp19
-rw-r--r--sim/testsuite/sim/sh64/media/ChangeLog102
-rw-r--r--sim/testsuite/sim/sh64/media/add.cgs47
-rw-r--r--sim/testsuite/sim/sh64/media/addi.cgs37
-rw-r--r--sim/testsuite/sim/sh64/media/addil.cgs49
-rw-r--r--sim/testsuite/sim/sh64/media/addl.cgs61
-rw-r--r--sim/testsuite/sim/sh64/media/addzl.cgs39
-rw-r--r--sim/testsuite/sim/sh64/media/alloco.cgs10
-rw-r--r--sim/testsuite/sim/sh64/media/and.cgs68
-rw-r--r--sim/testsuite/sim/sh64/media/andc.cgs50
-rw-r--r--sim/testsuite/sim/sh64/media/andi.cgs46
-rw-r--r--sim/testsuite/sim/sh64/media/beq.cgs52
-rw-r--r--sim/testsuite/sim/sh64/media/beqi.cgs40
-rw-r--r--sim/testsuite/sim/sh64/media/bge.cgs40
-rw-r--r--sim/testsuite/sim/sh64/media/bgeu.cgs47
-rw-r--r--sim/testsuite/sim/sh64/media/bgt.cgs32
-rw-r--r--sim/testsuite/sim/sh64/media/bgtu.cgs36
-rw-r--r--sim/testsuite/sim/sh64/media/blink.cgs17
-rw-r--r--sim/testsuite/sim/sh64/media/bne.cgs23
-rw-r--r--sim/testsuite/sim/sh64/media/bnei.cgs23
-rw-r--r--sim/testsuite/sim/sh64/media/brk.cgs11
-rw-r--r--sim/testsuite/sim/sh64/media/byterev.cgs67
-rw-r--r--sim/testsuite/sim/sh64/media/cmpeq.cgs42
-rw-r--r--sim/testsuite/sim/sh64/media/cmpgt.cgs43
-rw-r--r--sim/testsuite/sim/sh64/media/cmpgtu.cgs43
-rw-r--r--sim/testsuite/sim/sh64/media/cmveq.cgs32
-rw-r--r--sim/testsuite/sim/sh64/media/cmvne.cgs32
-rw-r--r--sim/testsuite/sim/sh64/media/fabsd.cgs39
-rw-r--r--sim/testsuite/sim/sh64/media/fabss.cgs39
-rw-r--r--sim/testsuite/sim/sh64/media/faddd.cgs33
-rw-r--r--sim/testsuite/sim/sh64/media/fadds.cgs34
-rw-r--r--sim/testsuite/sim/sh64/media/fcmpeqd.cgs36
-rw-r--r--sim/testsuite/sim/sh64/media/fcmpeqs.cgs36
-rw-r--r--sim/testsuite/sim/sh64/media/fcmpged.cgs46
-rw-r--r--sim/testsuite/sim/sh64/media/fcmpges.cgs46
-rw-r--r--sim/testsuite/sim/sh64/media/fcmpgtd.cgs36
-rw-r--r--sim/testsuite/sim/sh64/media/fcmpgts.cgs36
-rw-r--r--sim/testsuite/sim/sh64/media/fcmpund.cgs26
-rw-r--r--sim/testsuite/sim/sh64/media/fcmpuns.cgs26
-rw-r--r--sim/testsuite/sim/sh64/media/fcnvds.cgs27
-rw-r--r--sim/testsuite/sim/sh64/media/fcnvsd.cgs27
-rw-r--r--sim/testsuite/sim/sh64/media/fdivd.cgs39
-rw-r--r--sim/testsuite/sim/sh64/media/fdivs.cgs39
-rw-r--r--sim/testsuite/sim/sh64/media/fgetscr.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/fiprs.cgs42
-rw-r--r--sim/testsuite/sim/sh64/media/fldd.cgs13
-rw-r--r--sim/testsuite/sim/sh64/media/fldp.cgs16
-rw-r--r--sim/testsuite/sim/sh64/media/flds.cgs13
-rw-r--r--sim/testsuite/sim/sh64/media/fldxd.cgs16
-rw-r--r--sim/testsuite/sim/sh64/media/fldxp.cgs22
-rw-r--r--sim/testsuite/sim/sh64/media/fldxs.cgs16
-rw-r--r--sim/testsuite/sim/sh64/media/floatld.cgs12
-rw-r--r--sim/testsuite/sim/sh64/media/floatls.cgs12
-rw-r--r--sim/testsuite/sim/sh64/media/floatqd.cgs12
-rw-r--r--sim/testsuite/sim/sh64/media/floatqs.cgs12
-rw-r--r--sim/testsuite/sim/sh64/media/fmacs.cgs39
-rw-r--r--sim/testsuite/sim/sh64/media/fmovd.cgs24
-rw-r--r--sim/testsuite/sim/sh64/media/fmovdq.cgs23
-rw-r--r--sim/testsuite/sim/sh64/media/fmovls.cgs26
-rw-r--r--sim/testsuite/sim/sh64/media/fmovqd.cgs22
-rw-r--r--sim/testsuite/sim/sh64/media/fmovs.cgs24
-rw-r--r--sim/testsuite/sim/sh64/media/fmovsl.cgs21
-rw-r--r--sim/testsuite/sim/sh64/media/fmuld.cgs30
-rw-r--r--sim/testsuite/sim/sh64/media/fmuls.cgs31
-rw-r--r--sim/testsuite/sim/sh64/media/fnegd.cgs35
-rw-r--r--sim/testsuite/sim/sh64/media/fnegs.cgs35
-rw-r--r--sim/testsuite/sim/sh64/media/fputscr.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/fsqrtd.cgs27
-rw-r--r--sim/testsuite/sim/sh64/media/fsqrts.cgs27
-rw-r--r--sim/testsuite/sim/sh64/media/fstd.cgs34
-rw-r--r--sim/testsuite/sim/sh64/media/fstp.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/fsts.cgs34
-rw-r--r--sim/testsuite/sim/sh64/media/fstxd.cgs31
-rw-r--r--sim/testsuite/sim/sh64/media/fstxp.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/fstxs.cgs30
-rw-r--r--sim/testsuite/sim/sh64/media/fsubd.cgs36
-rw-r--r--sim/testsuite/sim/sh64/media/fsubs.cgs36
-rw-r--r--sim/testsuite/sim/sh64/media/ftrcdl.cgs26
-rw-r--r--sim/testsuite/sim/sh64/media/ftrcdq.cgs24
-rw-r--r--sim/testsuite/sim/sh64/media/ftrcsl.cgs26
-rw-r--r--sim/testsuite/sim/sh64/media/ftrcsq.cgs25
-rw-r--r--sim/testsuite/sim/sh64/media/ftrvs.cgs67
-rw-r--r--sim/testsuite/sim/sh64/media/getcfg.cgs10
-rw-r--r--sim/testsuite/sim/sh64/media/getcon.cgs29
-rw-r--r--sim/testsuite/sim/sh64/media/gettr.cgs48
-rw-r--r--sim/testsuite/sim/sh64/media/icbi.cgs10
-rw-r--r--sim/testsuite/sim/sh64/media/ldb.cgs21
-rw-r--r--sim/testsuite/sim/sh64/media/ldhil.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/ldhiq.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/ldl.cgs21
-rw-r--r--sim/testsuite/sim/sh64/media/ldlol.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/ldloq.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/ldq.cgs21
-rw-r--r--sim/testsuite/sim/sh64/media/ldub.cgs22
-rw-r--r--sim/testsuite/sim/sh64/media/lduw.cgs22
-rw-r--r--sim/testsuite/sim/sh64/media/ldw.cgs21
-rw-r--r--sim/testsuite/sim/sh64/media/ldxb.cgs28
-rw-r--r--sim/testsuite/sim/sh64/media/ldxl.cgs28
-rw-r--r--sim/testsuite/sim/sh64/media/ldxq.cgs28
-rw-r--r--sim/testsuite/sim/sh64/media/ldxub.cgs28
-rw-r--r--sim/testsuite/sim/sh64/media/ldxuw.cgs29
-rw-r--r--sim/testsuite/sim/sh64/media/ldxw.cgs29
-rw-r--r--sim/testsuite/sim/sh64/media/mabsl.cgs39
-rw-r--r--sim/testsuite/sim/sh64/media/mabsw.cgs38
-rw-r--r--sim/testsuite/sim/sh64/media/maddl.cgs29
-rw-r--r--sim/testsuite/sim/sh64/media/maddsl.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/maddsub.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/maddsw.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/maddw.cgs29
-rw-r--r--sim/testsuite/sim/sh64/media/mcmpeqb.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mcmpeql.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mcmpeqw.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mcmpgtl.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mcmpgtub.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mcmpgtw.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mcmv.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mcnvslw.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mcnvswb.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mcnvswub.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mextr1.cgs67
-rw-r--r--sim/testsuite/sim/sh64/media/mextr2.cgs67
-rw-r--r--sim/testsuite/sim/sh64/media/mextr3.cgs67
-rw-r--r--sim/testsuite/sim/sh64/media/mextr4.cgs67
-rw-r--r--sim/testsuite/sim/sh64/media/mextr5.cgs67
-rw-r--r--sim/testsuite/sim/sh64/media/mextr6.cgs67
-rw-r--r--sim/testsuite/sim/sh64/media/mextr7.cgs67
-rw-r--r--sim/testsuite/sim/sh64/media/mmacfxwl.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mmacnfx-wl.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mmulfxl.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mmulfxrpw.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mmulfxw.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mmulhiwl.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mmull.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mmullowl.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mmulsumwq.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mmulw.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/movi.cgs29
-rw-r--r--sim/testsuite/sim/sh64/media/mpermw.cgs51
-rw-r--r--sim/testsuite/sim/sh64/media/msadubq.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mshaldsl.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mshaldsw.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mshardl.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mshardsq.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mshardw.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mshfhib.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mshfhil.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mshfhiw.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mshflob.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mshflol.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mshflow.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mshlldl.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mshlldw.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mshlrdl.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mshlrdw.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/msubl.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/msubsl.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/msubsub.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/msubsw.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/msubw.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/mulsl.cgs54
-rw-r--r--sim/testsuite/sim/sh64/media/mulul.cgs54
-rw-r--r--sim/testsuite/sim/sh64/media/nop.cgs10
-rw-r--r--sim/testsuite/sim/sh64/media/nsb.cgs66
-rw-r--r--sim/testsuite/sim/sh64/media/ocbi.cgs10
-rw-r--r--sim/testsuite/sim/sh64/media/ocbp.cgs10
-rw-r--r--sim/testsuite/sim/sh64/media/ocbwb.cgs10
-rw-r--r--sim/testsuite/sim/sh64/media/or.cgs44
-rw-r--r--sim/testsuite/sim/sh64/media/ori.cgs41
-rw-r--r--sim/testsuite/sim/sh64/media/prefi.cgs10
-rw-r--r--sim/testsuite/sim/sh64/media/pta.cgs26
-rw-r--r--sim/testsuite/sim/sh64/media/ptabs.cgs25
-rw-r--r--sim/testsuite/sim/sh64/media/ptb.cgs29
-rw-r--r--sim/testsuite/sim/sh64/media/ptrel.cgs22
-rw-r--r--sim/testsuite/sim/sh64/media/putcfg.cgs10
-rw-r--r--sim/testsuite/sim/sh64/media/putcon.cgs30
-rw-r--r--sim/testsuite/sim/sh64/media/rte.cgs11
-rw-r--r--sim/testsuite/sim/sh64/media/shard.cgs30
-rw-r--r--sim/testsuite/sim/sh64/media/shardl.cgs45
-rw-r--r--sim/testsuite/sim/sh64/media/shari.cgs28
-rw-r--r--sim/testsuite/sim/sh64/media/sharil.cgs45
-rw-r--r--sim/testsuite/sim/sh64/media/shlld.cgs36
-rw-r--r--sim/testsuite/sim/sh64/media/shlldl.cgs34
-rw-r--r--sim/testsuite/sim/sh64/media/shlli.cgs30
-rw-r--r--sim/testsuite/sim/sh64/media/shllil.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/shlrd.cgs30
-rw-r--r--sim/testsuite/sim/sh64/media/shlrdl.cgs37
-rw-r--r--sim/testsuite/sim/sh64/media/shlri.cgs28
-rw-r--r--sim/testsuite/sim/sh64/media/shlril.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/shori.cgs35
-rw-r--r--sim/testsuite/sim/sh64/media/sleep.cgs10
-rw-r--r--sim/testsuite/sim/sh64/media/stb.cgs26
-rw-r--r--sim/testsuite/sim/sh64/media/sthil.cgs55
-rw-r--r--sim/testsuite/sim/sh64/media/sthiq.cgs79
-rw-r--r--sim/testsuite/sim/sh64/media/stl.cgs26
-rw-r--r--sim/testsuite/sim/sh64/media/stlol.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/stloq.cgs14
-rw-r--r--sim/testsuite/sim/sh64/media/stq.cgs26
-rw-r--r--sim/testsuite/sim/sh64/media/stw.cgs26
-rw-r--r--sim/testsuite/sim/sh64/media/stxb.cgs29
-rw-r--r--sim/testsuite/sim/sh64/media/stxl.cgs29
-rw-r--r--sim/testsuite/sim/sh64/media/stxq.cgs29
-rw-r--r--sim/testsuite/sim/sh64/media/stxw.cgs29
-rw-r--r--sim/testsuite/sim/sh64/media/sub.cgs42
-rw-r--r--sim/testsuite/sim/sh64/media/subl.cgs38
-rw-r--r--sim/testsuite/sim/sh64/media/swapq.cgs36
-rw-r--r--sim/testsuite/sim/sh64/media/synci.cgs10
-rw-r--r--sim/testsuite/sim/sh64/media/synco.cgs10
-rw-r--r--sim/testsuite/sim/sh64/media/testutils.inc51
-rw-r--r--sim/testsuite/sim/sh64/media/trapa.cgs11
-rw-r--r--sim/testsuite/sim/sh64/media/xor.cgs54
-rw-r--r--sim/testsuite/sim/sh64/media/xori.cgs48
-rw-r--r--sim/testsuite/sim/sh64/misc/fr-dr.s22
504 files changed, 262 insertions, 79689 deletions
diff --git a/ChangeLog.csl b/ChangeLog.csl
new file mode 100644
index 00000000000..35f626b6085
--- /dev/null
+++ b/ChangeLog.csl
@@ -0,0 +1,31 @@
+2005-11-16 Mark Mitchell <mark@codesourcery.com>
+
+ * gdb/remote-sim.c (gdbsim_wait): Don't use target_signal_to_host
+ or target_signal_from_host.
+ * sim/arm/wrapper.c (gdb/signals.h): Include it.
+ (SIGTRAP): Don't define it.
+ (SIGBUS): Likewise.
+ (sim_stop_reason): Use TARGET_SIGNAL_*.
+ * sim/common/sim-reason.c (sim_stop_reason): Use
+ sim_signal_to_target, not sim_signal_to_host.
+ * sim/common/sim-signal.c (sim_signal_to_host): Fix typo.
+ (sim_signal_to_target): New function.
+ * sim/common/sim-signal.h: Declare it.
+ * sim/d10v/interp.c (gdb/signals.h): Include it.
+ (sim_stop_reason): Use TARGET_SIGNAL_*.
+ * sim/erc32/interf.c: (gdb/signals.h): Include it.
+ (sim_stop_reason): Use TARGET_SIGNAL_*.
+ * sim/ppc/sim_calls.c (gdb/signals.h): Include it.
+ (sim_stop_reason): Use TARGET_SIGNAL_*.
+
+2005-11-16 Mark Mitchell <mark@codesourcery.com>
+
+ * sim/ppc/configure.ac (USE_WIN32API): Define it.
+ (sys/errno.h): Add it to AC_CHECK_HEADERS list.
+ * sim/ppc/configure.in: Regenerate.
+ * sim/ppc/config.in: Likewise.
+ * sim/ppc/emul_netbsd.c (sys/errno.h): Guard with HAVE_SYS_ERRNO_H.
+ (write_timezone): Guard with HAVE_GETTIMEOFDAY.
+ * sim/ppc/emul_unix.c (do_unix_mkdir): Handle Win32 1-argument mkdir.
+
+
diff --git a/compile b/compile
deleted file mode 100644
index 1b1d2321695..00000000000
--- a/compile
+++ /dev/null
@@ -1,142 +0,0 @@
-#! /bin/sh
-# Wrapper for compilers which do not understand `-c -o'.
-
-scriptversion=2005-05-14.22
-
-# Copyright (C) 1999, 2000, 2003, 2004, 2005 Free Software Foundation, Inc.
-# Written by Tom Tromey <tromey@cygnus.com>.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301, USA.
-
-# As a special exception to the GNU General Public License, if you
-# distribute this file as part of a program that contains a
-# configuration script generated by Autoconf, you may include it under
-# the same distribution terms that you use for the rest of that program.
-
-# This file is maintained in Automake, please report
-# bugs to <bug-automake@gnu.org> or send patches to
-# <automake-patches@gnu.org>.
-
-case $1 in
- '')
- echo "$0: No command. Try \`$0 --help' for more information." 1>&2
- exit 1;
- ;;
- -h | --h*)
- cat <<\EOF
-Usage: compile [--help] [--version] PROGRAM [ARGS]
-
-Wrapper for compilers which do not understand `-c -o'.
-Remove `-o dest.o' from ARGS, run PROGRAM with the remaining
-arguments, and rename the output as expected.
-
-If you are trying to build a whole package this is not the
-right script to run: please start by reading the file `INSTALL'.
-
-Report bugs to <bug-automake@gnu.org>.
-EOF
- exit $?
- ;;
- -v | --v*)
- echo "compile $scriptversion"
- exit $?
- ;;
-esac
-
-ofile=
-cfile=
-eat=
-
-for arg
-do
- if test -n "$eat"; then
- eat=
- else
- case $1 in
- -o)
- # configure might choose to run compile as `compile cc -o foo foo.c'.
- # So we strip `-o arg' only if arg is an object.
- eat=1
- case $2 in
- *.o | *.obj)
- ofile=$2
- ;;
- *)
- set x "$@" -o "$2"
- shift
- ;;
- esac
- ;;
- *.c)
- cfile=$1
- set x "$@" "$1"
- shift
- ;;
- *)
- set x "$@" "$1"
- shift
- ;;
- esac
- fi
- shift
-done
-
-if test -z "$ofile" || test -z "$cfile"; then
- # If no `-o' option was seen then we might have been invoked from a
- # pattern rule where we don't need one. That is ok -- this is a
- # normal compilation that the losing compiler can handle. If no
- # `.c' file was seen then we are probably linking. That is also
- # ok.
- exec "$@"
-fi
-
-# Name of file we expect compiler to create.
-cofile=`echo "$cfile" | sed -e 's|^.*/||' -e 's/\.c$/.o/'`
-
-# Create the lock directory.
-# Note: use `[/.-]' here to ensure that we don't use the same name
-# that we are using for the .o file. Also, base the name on the expected
-# object file name, since that is what matters with a parallel build.
-lockdir=`echo "$cofile" | sed -e 's|[/.-]|_|g'`.d
-while true; do
- if mkdir "$lockdir" >/dev/null 2>&1; then
- break
- fi
- sleep 1
-done
-# FIXME: race condition here if user kills between mkdir and trap.
-trap "rmdir '$lockdir'; exit 1" 1 2 15
-
-# Run the compile.
-"$@"
-ret=$?
-
-if test -f "$cofile"; then
- mv "$cofile" "$ofile"
-elif test -f "${cofile}bj"; then
- mv "${cofile}bj" "$ofile"
-fi
-
-rmdir "$lockdir"
-exit $ret
-
-# Local Variables:
-# mode: shell-script
-# sh-indentation: 2
-# eval: (add-hook 'write-file-hooks 'time-stamp)
-# time-stamp-start: "scriptversion="
-# time-stamp-format: "%:y-%02m-%02d.%02H"
-# time-stamp-end: "$"
-# End:
diff --git a/gdb/config/ms1/ms1.mt b/gdb/config/ms1/ms1.mt
deleted file mode 100644
index 18ce1abdf71..00000000000
--- a/gdb/config/ms1/ms1.mt
+++ /dev/null
@@ -1,2 +0,0 @@
-# Target: Morpho Technologies ms1 processor
-TDEPFILES= ms1-tdep.o
diff --git a/gdb/config/v850/v850.mt b/gdb/config/v850/v850.mt
deleted file mode 100644
index 701a24098b0..00000000000
--- a/gdb/config/v850/v850.mt
+++ /dev/null
@@ -1,4 +0,0 @@
-# Target: NEC V850 processor
-TDEPFILES= v850-tdep.o
-SIM_OBS = remote-sim.o
-SIM = ../sim/v850/libsim.a
diff --git a/gdb/remote-sim.c b/gdb/remote-sim.c
index 6341b3c07f6..e6fc0bdd0e1 100644
--- a/gdb/remote-sim.c
+++ b/gdb/remote-sim.c
@@ -674,8 +674,7 @@ gdbsim_wait (ptid_t ptid, struct target_waitstatus *status)
#else
prev_sigint = signal (SIGINT, gdbsim_cntrl_c);
#endif
- sim_resume (gdbsim_desc, resume_step,
- target_signal_to_host (resume_siggnal));
+ sim_resume (gdbsim_desc, resume_step, resume_siggnal);
signal (SIGINT, prev_sigint);
resume_step = 0;
@@ -690,24 +689,20 @@ gdbsim_wait (ptid_t ptid, struct target_waitstatus *status)
case sim_stopped:
switch (sigrc)
{
- case SIGABRT:
+ case TARGET_SIGNAL_ABRT:
quit ();
break;
- case SIGINT:
- case SIGTRAP:
+ case TARGET_SIGNAL_INT:
+ case TARGET_SIGNAL_TRAP:
default:
status->kind = TARGET_WAITKIND_STOPPED;
- /* The signal in sigrc is a host signal. That probably
- should be fixed. */
- status->value.sig = target_signal_from_host (sigrc);
+ status->value.sig = sigrc;
break;
}
break;
case sim_signalled:
status->kind = TARGET_WAITKIND_SIGNALLED;
- /* The signal in sigrc is a host signal. That probably
- should be fixed. */
- status->value.sig = target_signal_from_host (sigrc);
+ status->value.sig = sigrc;
break;
case sim_running:
case sim_polling:
diff --git a/gdb/testsuite/gdb.ada/array_return/p.adb b/gdb/testsuite/gdb.ada/array_return/p.adb
deleted file mode 100644
index c465d2894b4..00000000000
--- a/gdb/testsuite/gdb.ada/array_return/p.adb
+++ /dev/null
@@ -1,10 +0,0 @@
-with Pck; use Pck;
-
-procedure P is
- Small : Data_Small;
- Large : Data_Large;
-begin
- Small := Create_Small;
- Large := Create_Large;
- Small (1) := Large (1);
-end P;
diff --git a/gdb/testsuite/gdb.ada/array_return/pck.adb b/gdb/testsuite/gdb.ada/array_return/pck.adb
deleted file mode 100644
index 30282d1998c..00000000000
--- a/gdb/testsuite/gdb.ada/array_return/pck.adb
+++ /dev/null
@@ -1,13 +0,0 @@
-package body Pck is
-
- function Create_Small return Data_Small is
- begin
- return (others => 1);
- end Create_Small;
-
- function Create_Large return Data_Large is
- begin
- return (others => 2);
- end Create_Large;
-
-end Pck;
diff --git a/gdb/testsuite/gdb.ada/array_return/pck.ads b/gdb/testsuite/gdb.ada/array_return/pck.ads
deleted file mode 100644
index 2561ac73f29..00000000000
--- a/gdb/testsuite/gdb.ada/array_return/pck.ads
+++ /dev/null
@@ -1,10 +0,0 @@
-package Pck is
-
- type Data_Small is array (1 .. 2) of Integer;
- type Data_Large is array (1 .. 4) of Integer;
-
- function Create_Small return Data_Small;
- function Create_Large return Data_Large;
-
-end Pck;
-
diff --git a/gdb/testsuite/gdb.ada/arrayidx/p.adb b/gdb/testsuite/gdb.ada/arrayidx/p.adb
deleted file mode 100644
index 398e34d3f9f..00000000000
--- a/gdb/testsuite/gdb.ada/arrayidx/p.adb
+++ /dev/null
@@ -1,56 +0,0 @@
--- Copyright 2005 Free Software Foundation, Inc.
---
--- This program is free software; you can redistribute it and/or modify
--- it under the terms of the GNU General Public License as published by
--- the Free Software Foundation; either version 2 of the License, or
--- (at your option) any later version.
---
--- This program is distributed in the hope that it will be useful,
--- but WITHOUT ANY WARRANTY; without even the implied warranty of
--- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
--- GNU General Public License for more details.
---
--- You should have received a copy of the GNU General Public License
--- along with this program; if not, write to the Free Software
--- Foundation, Inc., 51 Franklin Street, Fifth Floor, Boston,
--- MA 02110-1301, USA
-
-procedure P is
- type Index is (One, Two, Three);
-
- type Table is array (Integer range 1 .. 3) of Integer;
- type ETable is array (Index) of Integer;
- type RTable is array (Index range Two .. Three) of Integer;
- type UTable is array (Positive range <>) of Integer;
-
- type PTable is array (Index) of Boolean;
- pragma Pack (PTable);
-
- function Get_UTable (I : Integer) return UTable is
- begin
- return Utable'(1 => I, 2 => 2, 3 => 3);
- end Get_UTable;
-
- One_Two_Three : Table := (1, 2, 3);
- E_One_Two_Three : ETable := (1, 2, 3);
- R_Two_Three : RTable := (2, 3);
- U_One_Two_Three : UTable := Get_UTable (1);
- P_One_Two_Three : PTable := (False, True, True);
-
- Few_Reps : UTable := (1, 2, 3, 3, 3, 3, 3, 4, 5);
- Many_Reps : UTable := (1, 2, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 3, 4, 5);
-
- Empty : array (1 .. 0) of Integer := (others => 0);
-
-begin
- One_Two_Three (1) := 4; -- START
- E_One_Two_Three (One) := 4;
- R_Two_Three (Two) := 4;
- U_One_Two_Three (U_One_Two_Three'First) := 4;
- P_One_Two_Three (One) := True;
-
- Few_Reps (Few_Reps'First) := 2;
- Many_Reps (Many_Reps'First) := 2;
-
- Empty := (others => 1);
-end P;
diff --git a/gdb/testsuite/gdb.gdbtk/ChangeLog b/gdb/testsuite/gdb.gdbtk/ChangeLog
deleted file mode 100644
index 38a76ef64e1..00000000000
--- a/gdb/testsuite/gdb.gdbtk/ChangeLog
+++ /dev/null
@@ -1,329 +0,0 @@
-2005-01-27 Keith Seitz <keiths@redhat.com>
-
- * configure.in: Rename to ...
- * configure.ac: ... this.
- * configure: Regnerate.
-
-2004-07-19 Martin Hunt <hunt@redhat.com>
-
- * All: Updated load_lib calls to find new location
- of insight-support.exp.
-
-2004-07-16 Andrew Cagney <cagney@redhat.com>
-
- * insight-support.exp: Moved to here from ../lib.
-
-2003-02-28 Martin M. Hunt <hunt@redhat.com>
-
- * c_variable.test: Fix result for 6.22.
-
-2003-02-27 Martin M. Hunt <hunt@redhat.com>
-
- * cpp_variable.test: Major changes required because varobj_update
- now returns "-1" if a variable is out of scope.
-
- * c_variable.test: Major changes required because varobj_update
- now returns "-1" if a variable is out of scope. This fixes a bunch
- of XFAILS. Change bug reporting address.
-
- * windows.test: Remove HtmlViewer from list of windows.
-
- * srcwin.test: Use "list get" instead of "listget" to
- get contents of comboboxes.
- (2.1): Be less sensitive.
-
- * srcwin2.test: Use "list get" instead of "listget" to
- get contents of comboboxes
- (2-1.3): Accept assembly == mixed
- for no source tests.
-
- * srcwin3.test: Use "list get" instead of "listget" to
- get contents of comboboxes
-
-2002-09-09 Fred Fish <fnf@intrinsity.com>
-
- * simple.c: Pass addresses to strncpy, not chars.
-
-2002-04-26 Martin M. Hunt <hunt@redhat.com>
-
- * defs (gdbtk_test_done): Call gdbtk_force_quit.
-
-2002-04-26 Martin M. Hunt <hunt@redhat.com>
-
- * srcwin.test (click): Take a button number as an arg.
- Generate a ButtonPress event then a ButtonRelease event
- for that button number.
- (4.4): Fix args for click().
- (5.1): Fix results again.
-
-2002-03-07 Martin M. Hunt <hunt@redhat.com>
-
- * srcwin.test (5.1): Adjust line numbers to
- test now runs correctly.
-
-2002-01-18 Keith Seitz <keiths@redhat.com>
-
- * console.test: Don't rely on "event generate" to do
- keystrokes. It just doesn't work. Use the console window's
- "test" method instead.
- Use Console::test instead of Console::get_text.
-
-2002-01-15 Keith Seitz <keiths@redhat.com>
-
- * c_variable.test (1.4,2.14): Remove test for local frame
- variables. Varobj now forces evaluation in the current frame
- by default.
- (2.15): Ignore any changes and only check for out of scope
- locals (which is still unsupported).
- * cpp_variable.test (1.1): Support alternative names for
- local scope.
- (1.6a): Catch call to gdb_cmd to prevent an error from
- throwing testsuite into la-la land. Add to test.
- (1.7): Ignore results from children during step, since
- they may or may not change value when the parent changes.
- (2.2a): New test incorperating gdb_cmd (also wrapped in
- catch).
- (2.22a): Likewise.
- (2.71a): Likewise.
-
-2001-12-20 Keith Seitz <keiths@redhat.com>
-
- * cpp_variable.test: Catch non-test calls in case we
- could not run.
-
-2001-10-25 Keith Seitz <keiths@redhat.com>
-
- * defs (_report_error): Fix typo.
- (show_warning): Redefine the standard warning handler
- so that we don't end up stalling tests with a warning dialog.
-
- * windows.exp: New file.
- * windows.test: New file.
-
-2001-10-08 Keith Seitz <keiths@redhat.com>
-
- * c_variable.test (check_update): Forget about returning
- the "unchanged" list. It unneccessarily complicates things.
- Update all callers.
- * cpp_variable.test: Likewise.
-
-2001-08-30 Keith Seitz <keiths@redhat.com>
-
- * README: Update documentation to reflect recent changes.
- * browser.exp: Load the insight testsuite support library.
- * c_variable.exp: Likewise.
- * console.exp: Likewise.
- * cpp_variable.exp: Likewise.
- * srcwin.exp: Likewise.
-
-2001-08-16 Keith Seitz <keiths@redhat.com>
-
- * cpp_variable.test (2.29, 2.30, 2.43, 2.63, 2.72): Char
- pointers can now be dereferenced. Update test to reflect
- this change in varobj.
- * c_variable.test (4.9, 4.10, 4.47, 4.48, 5.1, 5.2, 5.3,
- 5.4, 5.5, 5.6, 5.7, 5.8, 5.9, 5.17, 5.18, 5.43, 5.44, 5.47,
- 5.48, 5.49, 5.50, 5.51, 5.53, 6.30): Likewise.
-
-2001-08-13 Jeff Holcomb <jeffh@redhat.com>
-
- * cpp_variable.test: Use gdbtk_test_run to start the test
- program.
-
-2001-05-07 Keith Seitz <keiths@cygnus.com>
-
- * README: New file.
-
- * configure.in: Check for executable filename extension.
- * Makefile.in: Add filename extensions.
- * configure: Regenerated.
-
- * defs: Fix typo setting _test(verbose).
- (gdbtk_test_file): New proc to load executables into gdbtk.
- (gdbtk_test_run): New proc to run executables on gdbtk.
- * browser.exp: Don't check if DISPLAY is set: let
- gdbtk_initialize_display do it all for us.
- Call gdbtk_done when finished with tests.
- * c_variable.exp: Ditto.
- * console.exp: Ditto.
- * cpp_variable.exp: Ditto.
- Only run tests if c++ is supported in the configuration.
- * srcwin.exp: Ditto the DISPLAY stuff.
- Accumulate all test results for the end and report them then.
-
- * browser.test: Use gdbtk_test_file and gdbtk_test_run
- to load and run an executable.
- * c_variable.test: Use gdbtk_test_file and gdbtk_test_run
- to load and run an executable.
- * srcwin.test: Ditto.
- * srcwin1.test: Ditto.
- * srcwin2.test: Ditto.
-
- * browser.test: (set_search_mode): Use "configure
- -value" not "entryset" to set the combobox's value. We need
- to have the command fired.
- (browser-3.5): Remove trailing whitespace which causes test to
- fail.
- (browser-4.4): Expect something rational. Regexp "\_1$" cannot
- match "func_10"!
- (browser-4.5): Ditto.
- (browser-5.12): Select all files for search to make test
- match description.
- (browser-6.2): Renamed from another test also calledd 6.1.
- (browser-7.1): Delete all breakpoints at once without from_tty.
- Select all entries in the comobox before invoking BP set/delete
- button.
- (browser-7.2): Ditto.
-
- * list0.c, list1.c, list0.h: New files. Grabbed from gdb.base.
- * srcwin.exp: Use these local files instead of those in gdb.base.
-
-1999-09-17 Fernando Nasser <fnasser@totem.to.cygnus.com>
-
- * cpp_variable.test: Add test (2.75) to verify
- that a baseclass member value was effectively changed.
-
-1999-09-17 Fernando Nasser <fnasser@totem.to.cygnus.com>
-
- * cpp_variable.test: Update for new variable
- code.
-
-1999-09-17 Fernando Nasser <fnasser@totem.to.cygnus.com>
-
- * c_variable.test: Update for new variable code.
-
-1999-09-17 Fernando Nasser <fnasser@totem.to.cygnus.com>
-
- * cpp_variable.h (class V): Add type to virtual function
- declaration.
-
-1999-06-08 Fernando Nasser <fnasser@totem.to.cygnus.com>
-
- * browser.exp: Use untested and not warning when DISPLAY is
- not found.
- * c_variable.exp: Same.
- * console.exp: Same.
- * cpp_variable.exp: Same.
- * srcwin.exp: Same.
-
-1999-04-12 Keith Seitz <keiths@cygnus.com>
-
- * cpp_variable.exp: Pass the "c++" flag to gdb_compile so
- that it can grab the right compiler.
-
-1999-03-16 Martin Hunt <hunt@cygnus.com>
-
- * srcwin.test (srcwin-4.5): Change variable name
- to $b so test will run again.
-
-1999-03-03 James Ingham <jingham@cygnus.com>
-
- * browser.test: Fixed up to match the new function browser.
- This is not done yet...
-
- * srcwin.test: Check for errors when the bbox is called for a text
- item that is not on screen (so bbox is ""). Return something more
- useful.
-
-1999-03-01 James Ingham <jingham@cygnus.com>
-
- Changelog entries merged over from gdb development branch.
-
- 1999-01-12 Martin Hunt <hunt@cygnus.com>
- * srcwin.test: Add a bunch of tests for the source
- window filename and function comboboxes. Add in stack tests.
-
- 1999-01-11 Martin Hunt <hunt@cygnus.com>
- * srcwin.test: New file. Source Window tests.
- * srcwin.exp: New file. Source Window tests.
-
- Wed Jan 6 09:22:52 1999 Keith Seitz <keiths@cygnus.com>
- * c_variable.test (c_variable-1.9): Add new
- test to check for creation of a variable that is really a type.
- (c_variable-7.81): Use "output" instead of "print" to get PC.
- Include missing bits of test.
-
- * cpp_variable.test (cpp_variable-1.6): Default format
- is now "natural", not "hexadecimal"
- (cpp_variable-2.22): Ditto.
- (cpp_variable-2.24): Force format to hex before getting value.
-
- * cpp_variable.exp: Supply missing arg to gdbtk_analyze_results.
-
- Tue Jan 5 12:40:52 1999 Keith Seitz <keiths@cygnus.com>
- * gdb.gdbtk/c_variable.c, c_variable.test, c_variable.exp: New C
- language tests for variable object interface.
-
- * gdb.gdbtk/cpp_variable.h, cpp_variable.cc, cpp_variable.test,
- cpp_variable.exp: New C++ language tests for variable object
- interface.
-
- * gdb.gdbtk/Makefile.in (EXECUTABLES): Add c_variable and cpp_variable.
-
- Tue Jan 5 12:33:47 1999 Keith Seitz <keiths@cygnus.com>
- lib/gdb.exp (gdbtk_analyze_results): Generic function
- for outputting results of test run.
-
- * gdb.gdbtk/defs (gdbtk_test): Handle xpass and xfail.
- (gdbtk_test_error): New proc which handles error aborts.
-
- * gdb.gdbtk/console.exp: Use gdbtk_analyze_results.
- Check if we have a valid DISPLAY before running.
- * gdb.gdbtk/browser.exp: Ditto.
-
- 1998-12-07 Martin M. Hunt <hunt@cygnus.com>
- * lib/gdb.exp (gdbtk_start): Fix path for itcl library.
- * gdb.gdbtk/browser.test: Change "manage open" to ManagedWin::open.
- * gdb.gdbtk/console.test: Same.
- * gdb.gdbtk/*: Update from devo.
-
- Fri Jul 24 14:57:19 1998 Keith Seitz <keiths@cygnus.com>
- * gdb.gdbtk/Makefile.in: Add new example program "stack".
- * gdb.gdbtk/browser.test,browser.exp: Add browser window
- tests.
- * gdb.gdbtk/stack1.c,stack2.c: Test case for browser window.
-
-1999-02-22 Martin Hunt <hunt@cygnus.com>
-
- * srcwin.test (move_mouse_to): Fix typo.
-
-1999-02-03 Martin Hunt <hunt@cygnus.com>
-
- * console.test (clear_command_line): Add tests 1.5 - 1.8,
- which test the new Shift-Up and Shift-Down bindings.
-
-1999-02-01 Martin Hunt <hunt@cygnus.com>
-
- * srcwin.test (srcwin-4.3): Fix bp test.
-
-1999-01-29 Martin Hunt <hunt@cygnus.com>
-
- * srcwin.test (click): New function that generates an event
- at a location.
- (srcwin-4.4): New test. Simulate a click on a line and
- check for breakpoint set.
- (srcwin-4.5): New test. Right-click on a line and select "Continue
- to Here" from popup.
-
- * srcwin.exp: Source srcwin3.test, which will test source window
- assembly debugging on executables built without "-g".
-
-1999-01-29 Martin Hunt <hunt@cygnus.com>
-
- * srcwin.exp: Add srcwin2.test, which are basically the same
- tests as srcwin.test, but run with a missing source file.
-
- * srcwin2.test: New file.
-
- * srcwin.test: Add tests for setting breakpoints in the source window,
- testing BP balloons, variable balloons, and mixed-mode disassembly
- of include files.
-
-Sun Jun 28 22:34:34 1998 Martin M. Hunt <hunt@cygnus.com>
-
- * gdb.gdbtk/simple.c (main): Make main return an
- int so compiler will stop complaining.
-
-Fri Jun 26 14:27:13 1998 Keith Seitz <keiths@cygnus.com>
-
- * gdb.gdbtk/console.{exp, test}: New console window tests.
diff --git a/gdb/testsuite/gdb.gdbtk/Makefile.in b/gdb/testsuite/gdb.gdbtk/Makefile.in
deleted file mode 100644
index 51151a57814..00000000000
--- a/gdb/testsuite/gdb.gdbtk/Makefile.in
+++ /dev/null
@@ -1,36 +0,0 @@
-VPATH = @srcdir@
-srcdir = @srcdir@
-
-EXEEXT = @EXEEXT@
-
-EXECUTABLES = simple$(EXEEXT) stack$(EXEEXT) c_variable$(EXEEXT) \
- cpp_variable$(EXEEXT)
-
-# uuencoded format to avoid SCCS/RCS problems with binary files.
-CROSS_EXECUTABLES =
-
-all:
- @echo "Nothing to be done for all..."
-
-info:
-install-info:
-dvi:
-install:
-uninstall: force
-installcheck:
-check:
-
-clean mostlyclean:
- -rm -f *~ *.o a.out xgdb *.x $(CROSS_EXECUTABLES) *.ci *.tmp
- -rm -f core core.coremaker coremaker.core corefile $(EXECUTABLES)
- -rm -f twice-tmp.c
-
-distclean maintainer-clean realclean: clean
- -rm -f *~ core
- -rm -f Makefile config.status config.log
- -rm -f arch.inc
- -rm -f *-init.exp
- -rm -fr *.log summary detail *.plog *.sum *.psum site.*
-
-Makefile : $(srcdir)/Makefile.in $(srcdir)/configure.in
- $(SHELL) ./config.status --recheck
diff --git a/gdb/testsuite/gdb.gdbtk/README b/gdb/testsuite/gdb.gdbtk/README
deleted file mode 100644
index b70488647b4..00000000000
--- a/gdb/testsuite/gdb.gdbtk/README
+++ /dev/null
@@ -1,421 +0,0 @@
- The Insight Testsuite
- ---------------------
- Keith Seitz (keiths@cygnus.com)
- May 1, 2001
-
-RUNNING THE TESTSUITE
-
-The Insight testsuite is run in much the same way that gdb's testsuites
-are run. The one big difference is the environment variable GDB_DISPLAY,
-which governs what display should be used for the tests.
-
-When GDB_DISPLAY is not set in the user's environment, the Insight testsuite
-will attempt to run Xvfb, an X server with a virtual frame buffer. Using
-Xvfb, the testsuite can run without interuppting the user.
-
-When Xvfb is not available, the testsuite will mark the Insight tests
-"untested" and print out some appropriate warning to the testsuite log
-file.
-
-If GDB_DISPLAY is set in the user's environment, the testsuite will attempt
-to use this display for the tests. If this display is a desktop display,
-it is very likely that any interaction between the user and his desktop
-will interfere with the tests. Some tests warp the cursor, i.e., they
-force the mouse to move on the screen. If you don't want this to happen to
-you, put Xvfb in your path.
-
-On Cygwin systems, Xvfb is not supported. Only two choices are available in
-this environment: run the testsuites using the desktop or do not run the
-testsuite. To run the testsuite on Cygwin, just define the environment
-variable GDB_DISPLAY to anything.
-
-The examples below summarize the usage of the environment variable GDB_DISPLAY
-on unix/X-Windows hosts and Cygwin hosts. In all examples, assume that DISPLAY
-set to the local workstation's main display (:0).
-
-To run the testsuite using Xvfb -- unix only (Xvfb must be in PATH):
-$ make check
-
-To run the testsuite using a given display (either the desktop or a peviously
-started Xvfb):
-$ GDB_DISPLAY=$DISPLAY make check
-
-To run the testsuite on Cygwin:
-$ GDB_DISPLAY=foo make check
-
-
-TESTSUITE INFRASTRUCTURE
-
-The rest of this document deals with writing tests for Insight. This reading
-is only noteworthy for developers and contributors.
-
-The Insight testsuite consists of two large portions of code: code which is
-run in dejagnu and code which runs in Insight's built-in Tcl interpreter. Files
-containing dejagnu code (those files ending in ".exp" in the testsuite directory)
-are "glue code" between gdb's dejagnu testsuite and Insight's Tcl testsuite.
-
-Dejagnu testsuite files are considered "drivers" for any particular set of
-tests, since they allow dejagnu to control Insight's Tcl testsuite.
-
-
-Dejagnu Testsuite Infrastructure
-
-The dejagnu code is responsible for doing several things. Some of the more
-important responsibilities include:
-
-o Initializing the display
-o Determining if tests should be run
-o Results accounting
-o Compiling testcases in various languages
-o Repoting results to gdb's testsuite
-
-There are various functions defined to facilitate the writing of tests. These
-functions currently reside in gdb's gdb.exp (src/gdb/testsuite/lib/gdb.exp) and
-include:
-
-Pulic functions:
-proc gdbtk_initialize_display {}
-
- gdbtk_initialize_display should be the first function called from the
- (dejagnu) test file. It initializes the DISPLAY variable on unix systems
- and determines (for all host systems) whether or not the testsuite should
- run. It returns 1 if the test should run. If tests should not run, it
- marks the test as "untested" and leaves a suitable message about why
- the test should not run. If gdbtk_initialize_display returns zero, a test
- should simply exit.
-
-proc gdbtk_start {test}
-
- This function marks the start of a test and will execute Insight for
- testing. The TEST parameter should be the file name of the Tcl test
- file to load into Insight's Tcl interpreter. It returns a list of
- test results suitable for passing to gdbtk_done or gdbtk_analyze_results.
- See gdbtk_analyze_results for more information on the format of results.
-
- gdbtk_start is responsible for communicating target startup information
- to Insight, so that Insight's testsuite may be run on any target supported
- by gdb. It does this by setting several environment variables just before
- it starts Insight. These environment variables are:
-
- OBJDIR
- The object directory of the dejagnu testsuite (i.e.,
- objdir/gdb/testsuite).
- SRCDIR
- The dejagnu source directory in which the tests are located (i.e,
- src/gdb/testsuite)
- SUBDIR
- The dejagnu testsuite subdirectory for the test (i.e., gdb.gdbtk)
- DEFS
- The location of the testsuite definitions file (i.e.,
- src/gdb/testsuite/gdb.gdbtk/defs)
-
- Note that DEFS is converted to abs$lute tcl-style paths. On unix,
- this means that DEFS would point to, for example,
- /home/keiths/insight/src/gdb/testsuite/gdb.gdbtk/defs. On Cygwin it
- would point to C:/cygwin/home/keiths/insight/src/gdb/testsuite/gdb.gdbtk/defs.
- This is because of a descrepency between Cygwin's posix paths and Tcl's
- not-quite-posix paths.
-
-proc gdbtk_analyze_results {results}
- This function translates the list of results in RESULTS into dejagnu
- results, reporting the number of failures, errors, passes, and expected
- failures and passes. It currently does not deal with "untested" and other
- test statuses from dejagnu since Insight's tcl testsuite does not
- issue such results.
-
- The format of the results expected by gdbtk_analyze_results is simple:
- it is a list of {status name description msg}. "status" is the execution
- status of one of the tcl tests run. This can be "PASS", "FAIL", "ERROR",
- "XFAIL", or "XPASS".
-
- "name" is the name of the test, and it is reported in all testsuite
- results in dejagnu. This speeds location of the failing test. This
- "name" may also be given to Insight's testsuite, telling it to
- only run this test. See "do_tests" in Tcl Testsuite Infrastructure
- for more information.
-
- "description" is a textual description of the test given by "name".
-
- "msg" is currently not used.
-
-proc gdbtk_done {{results {}}}
- gdbtk_done takes any RESULTS and passes it gdbtk_analyze_results for
- outputting to the dejagnu part of the testsuite. It may be called
- without an argument, in which case it will only terminate Xvfb if it
- was started. Tests must call gdbtk_done _once_ at the end of their
- test drivers.
-
-Private functions:
-proc _gdbtk_export_target_info
- This functin exports information about the target into the environment
- so that Insight's testsuite may run programs on any supported gdb
- target. This target information is passed into the Tcl testsuite
- via an environment variable, TARGET_INFO, which is really a Tcl array,
- i.e., the array is constructed in tcl and exported into the environment
- with Tcl's "array get" command).
-
- There are four elements to the array:
- TARGET_INFO(init) - (optional) A list of commands to execute in gdb
- to initialize the session. This usually includes
- setting baud rates and remote protocol options.
- TARGET_INFO(target) - (required) The complete "target" command to connect
- to the given target.
- TARGET_INFO(load) - (optional) The complete "load" command to load an
- executable into a target.
- TARGET_INFO(run) - (required) The complete "run" command, sans arguments,
- to start a process on the target. For remote targets,
- this is usually just "continue".
-
-proc _gdbtk_xvfb_init
- This procedure actually determines whether the an Insight test should
- run and what DISPLAY it should use for that test. It is called by
- gdbtk_initialize_display to do most of the dirty work.
-
- It has a simple heuristic: If GDB_DISPLAY is not set and Xvfb is available
- (on unix), it starts Xvfb, using the current process id as the screen number.
- If Xvfb is not available and GDB_DISPLAY was not set, it skips the tests.
-
-proc _gdbtk_xvfb_exit
- _gdbtk_xvfb_exit will kill any previously started Xvfb.
-
-Private globals:
-global _xvfb_spawn_id
- This variable holds the spawn_id of any Xvfb process started
- by the testsuite (or it is left undefined).
-
-global _using_windows
- A global variable which indicates whether the testsuite is running
- on cygwin. Unfortunately, as of writing, the global variable
- tcl_platform(platform) is "unix" on Cygwin, so it is not possible
- to rely on this for platform-dependent operations.
-
- Instead, this variable is set by gdbtk_initialize_display. The test
- it uses to determine if Cygwin is being used: it looks for the program
- cygpath in the PATH. Therefore, cygpath is REQUIRED to run the testsuite
- on Cygwin. (gdbtk_start also uses cygpath to determine Windows
- pathnames for Cygwin.)
-
-
-Testsuite Driver Basics
-
-Given the above interfaces for connecting Insight's Tcl testsuite and
-gdb's dejagnu testsuite, the basic testsuite driver file should look
-(minimally) like this:
-
-File: mytest.exp
-1 load_lib "insight-support.exp"
-2 if {[gdbtk_initialize_display]} {
-3 # We found a display to use
-4 gdb_exit; # Make sure any previous gdb is gone
-5 set results [gdbtk_start mytest.test]
-6
-7 # Done!
-8 gdbtk_done [split $results \n]
-9 }
-
-Line 1 loads the insight testsuite support library which contains definitions
-for all the procedures used in dejagnu to initialize and run the Insight testsuite.
-Line 2 calls gdbtk_initialize_display to ascertain whether there is a display
-to use for the test. This could use an existing display (if GDB_DISPLAY is
-set in the environment) or gdbk_initialize_display could startup an Xvfb
-for use by the testsuite.
-
-Line 4 forces any previously executing gdb to terminate.
-
-Line 5 signals the start of the test run. "mytest.test" is the name of the
-Tcl test file to execute in Insight's built-in Tcl interpreter. The output
-of gdbtk_start_test is all of the results of the Tcl test from Insight, which
-is subsequently passed to gdbk_analyze_results via gdbtk_done on Line 8.
-
-Note how nothing happens if gdbtk_initialize_display returns false.
-
-
-Tcl Testsuite Infrastructure
-
-The heart of Insight's testsuite is its Tcl testsuite. It is these tests
-which run directly in Insight's Tcl interpreter and allow test writers
-access to Insight's internals. Tcl testsuite files have the filename suffix
-".test" to distinguish them from their driver files, which end in ".exp".
-
-The design of the Insight Tcl testsuite parallels Tcl's testsuite. It has
-many powerful features, including the ability to run ANY test in a given
-Tcl test file. See the description of utility routines below for more
-information about running any set of tests from a file.
-
-The bulk of the code implementing the Tcl testsuite infrastructure in
-Insight is contained in the testsuite definitions file, "defs", located
-in src/gdb/testsuite/gdb.gdbtk. This file contains routines necessary
-to write tests for Insight.
-
-Public functions:
-proc gdbtk_read_defs {}
- This function, located in Insight's core Tcl library, attempts to load
- the testsuite definitions file. If it fails, it will either pop up
- a dialog box with the error (if running interactively) or it will
- print the error to stderr and exit (if running non-interactively).
-
- If successful, it will return true.
-
-proc gdbtk_test_file {filename}
- This function is used to load the file given by FILENAME into
- Insight. It will automatically append ".exe" to any FILENAME
- on Cygwin-hosted systems.
-
- If successful, it will load the given file into Insight and
- return the output of gdb's file command. It will call "error"
- if it was succesful, therefore all calls to "gdbtk_test_file"
- should be called using "catch".
-
- Test authors should not use "gdb_cmd {file FILENAME}" to load
- files into gdb unless they are testing interface code between
- gdb and Insight.
-
-proc gdbtk_test_run {{prog_args {}}}
- gdbtk_test_run runs the previoiusly loaded executable, passing
- the given arguments to the inferior. Like Insight's Run button,
- it will do whatever is necessary to get the executable running,
- including any target initialization (setting baud rate and remote
- protocol options), downloading the executable to the target, and
- finally starting execution.
-
- Test authors should NEVER use "gdb_cmd {run ARGUMENTS}" to run an
- executable. Doing so will insure that your tests will only run on
- a native debugger.
-
- It returns true if successful or false otherwise. It will report
- the error in a dialog box (if running interactively) or it will
- print the error to stderr.
-
-proc gdbtk_test {name description script answer}
- This is Tcl testsuite equivalent of "expect". "name" is a canonical
- name of the test, usually of the form "shortname-major.minor". This is
- the name that is used when running selected tests from a given file.
- If "name" starts with an asterisk (*), it designates that the test
- is expected to fail.
-
- "description" is a short textual description of the test to help
- humans understand what it does.
-
- "script" is the actual test script to run. The result of this script
- will be compared against "answer" to determine if the test passed
- or failed.
-
- It calls gdbtk_print_verbose to print out the results to the terminal
- (if running interactively) or to the log file.
-
-proc gdbtk_test_done {}
- gdbtk_test_done is called at the very end of all tcl tests. It is used
- to exit Insight and return control back to the dejagnu driver which
- started the tests.
-
-proc gdbtk_dotests {file args}
- Obsolete.
-
-proc do_test {{file {}} {verbose {}} {tests {}}}
- This procedure is used to invoke the Insight test(s) given in FILE
- which match the regular expression(s) in TESTS. This is invoked
- from Insight's console window to run tests interactively.
-
- VERBOSE sets the verbosity of the test run. When set to one,
- the testsuite will report all results in human readable form.
- When set greater than one, it will print out results as a list,
- i.e., for passing to gdbtk_analyze_results. If zero, it will only
- print errors and failures in human readable form.
-
-Public global variables:
-objdir - The objdir from dejagnu. See gdbtk_start for more information.
-srcdir - The srcdir from dejagnu. See gdbtk_start for more information.
-test_ran - Indicates whether the last test ran or not. See example below.
-
-Private functions:
-proc gdbtk_test_error {desc}
- An internal function used to report a framework error in the testsuite.
- "desc" is a description of the error. It calls gdbtk_test_done.
-
-proc gdbtk_print_verbose {status name description script code answer}
- A helper procedure to gdbtk_test which prints out results to the terminal
- or the logfile (or both or none).
-
-Private global variables:
-_test - An array used by the testsuite internals.
-
-
-Tcl Test Basics
-
-Armed with the basic interface described above, it is possible to test Insight's
-GUI. Please do not write tests which attempt to imitate a user (moving the
-mouse and clicking buttons), unless there is no other way to test the functionality.
-
-The basic test file (with one test) looks like this (nonsensical one):
-File: mytest.test
-1 if {![gdbtk_read_defs]} {
-2 break
-3 }
-4
-5 global objdir test_ran
-6 set program [file join $objdir mytest]
-7 if {[catch {gdbtk_test_file $program} t]} {
-8 gdbtk_test_error "loading \"$program\": $t"
-9 }
-10 if {![gdbtk_test_run]} { exit 1 }
-11
-12 global foo
-13 set foo 1
-14
-15 # Test: mytest-1.1
-16 # Desc: check if a source window was created
-17 gdbtk_test mytest-1.1 {source window created} {
-18 set window [ManagedWin::find SrcWin]
-19 llength $window
-20 set foo 13
-21 } {1}
-22
-23 if {$test_ran} {
-24 set foo 1
-25 }
-26
-27 # Done
-28 gdbtk_test_done
-
-Line 1 calls the Inisght function gdbtk_read_defs to read in the testsuite
-definitions file.
-
-Line 6 then specifies the name of a file (mytest) in the object directory
-which is loaded into gdb on Line 7. If loading the file into Insight
-failed, gdbtk_test_error is called to publish the error (and terminate the
-test run for this file).
-
-Line 10 runs the executable on the target, and exits if it was unable
-to do so.
-
-Line 13 simply sets a global variable foo to illustrate the purpose
-of the global "test_ran". Before the test "mytest-1.1" runs, foo is set to
-one. In order to support running specific tests, the state of the debugger
-cannot be altered INSIDE gdbtk_test scripts, since the contents of the
-script may not be run if the user requested only a specific test to run.
-
-Line 20 in the middle of the test modifies the global foo. If subsequent
-test relied on foo being one, we would have a state violation, since
-mytest-1.1 may have (or may have not) run.
-
-Therefore, we can check if a test ran and reset foo by checking the
-global "test_ran". If set, we know that the previous test (mytest-1.1)
-was run, and that foo is now thirteen. We reset the result back to one.
-
-(Aside: Some tests do not follow this rule explicitly: they can assume
-that all tests run sequentially. In these cases, running a specific
-test in the file will probably fail, since the debugger is not brought
-to a known state along the way.)
-
-Lines 17-21 contain the actual test. The test's name is "mytest-1.1". It
-is this name that may be referred to when asking the testsuite to run
-a specific test. The description of this test is "source window created",
-indicating that mytest-1.1's purpose is to check whether a source window
-was created.
-
-If gdbtk_test determines that this test is to run, it will execute the
-next part, lines 18-20, and compare the output of that script (llength
-$window) with "1". If the result is not "1", a failure is recorded. If
-it is "1", a pass is recorded.
-
-Finally, the test file is done and exits on line 28.
diff --git a/gdb/testsuite/gdb.gdbtk/browser.exp b/gdb/testsuite/gdb.gdbtk/browser.exp
deleted file mode 100644
index 475bdb506a1..00000000000
--- a/gdb/testsuite/gdb.gdbtk/browser.exp
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1998, 1999, 2001, 2004 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 (GPL) as published by
-# the Free Software Foundation; either version 2 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.
-
-load_lib ../gdb.gdbtk/insight-support.exp
-
-if {[gdbtk_initialize_display]} {
- if {$tracelevel} {
- strace $tracelevel
- }
-
- #
- # test browser window
- #
- set prms_id 0
- set bug_id 0
-
- set testfile "stack"
- set binfile ${objdir}/${subdir}/${testfile}
- set r [gdb_compile "${srcdir}/${subdir}/stack1.c ${srcdir}/${subdir}/stack2.c" "${binfile}" executable {debug}]
- if { $r != "" } {
- gdb_suppress_entire_file \
- "Testcase compile failed, so some tests in this file will automatically fail."
- }
-
- # Start with a fresh gdbtk
- gdb_exit
- set results [gdbtk_start [file join $srcdir $subdir browser.test]]
- set results [split $results \n]
-
- # Analyze results
- gdbtk_done $results
-}
diff --git a/gdb/testsuite/gdb.gdbtk/browser.test b/gdb/testsuite/gdb.gdbtk/browser.test
deleted file mode 100644
index 9e358dab1a5..00000000000
--- a/gdb/testsuite/gdb.gdbtk/browser.test
+++ /dev/null
@@ -1,686 +0,0 @@
-# Browser Window Tests
-# Copyright 1998, 2001 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 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Keith Seitz (keiths@cygnus.com)
-
-# Read in the standard defs file
-
-if {![gdbtk_read_defs]} {
- break
-}
-
-global objdir test_ran
-set _files(stupid_initializer) -100
-
-##### #####
-# #
-# Helper functions for this module #
-# #
-##### #####
-
-# Set the search expression
-proc set_regexp {exp} {
- global browser
-
- $browser component filt_entry delete 0 end
- $browser component filt_entry insert 0 $exp
-}
-
-# Do the search
-proc do_search {} {
- global browser
- $browser search
- set m [$browser component func_box get 0 end]
-
- return $m
-}
-
-# Set search to use regular expressions.
-proc set_search_mode {val} {
- global browser
- pref set gdb/search/filter_mode $val
-
- # Use configure instead of entryset: need to have
- # combobox's command fire
- $browser component filt_type configure -value $val
-}
-
-# Highlight a file
-proc select {filename} {
- global browser _files
-
- if {[info exists _files($filename)]} {
- $browser component file_box selection set $_files($filename)
- } else {
- set files [$browser component file_box get 0 end]
- set i [lsearch $files $filename]
- set _files($filename) $i
- $browser component file_box selection set $i
- }
- $browser search
-}
-
-proc select_all {} {
- global browser
-
- $browser component file_all invoke
-
-}
-
-# clear all files
-proc clear {} {
- global browser
-
- $browser component file_box selection clear 0 end
- $browser search
-}
-
-##### #####
-# #
-# BROWSER TESTS #
-# #
-##### #####
-
-# Load the test executable
-set program [file join $objdir stack]
-if {[catch {gdbtk_test_file $program} t]} {
- # This isn't a test case, since if this fails, we're hosed.
- gdbtk_test_error "loading \"$program\": $t"
-}
-
-# Open a browser
-set browser [ManagedWin::open BrowserWin]
-
-# Test: browser-1.1
-# Desc: Check file listbox contents
-gdbtk_test browser-1.1 {file listbox contents} {
- set m [$browser component file_box get 0 end]
- set f {}
- if {[lsearch $m stack1.c] == -1} {
- lappend f 0
- } else {
- lappend f 1
- }
- if {[lsearch $m stack2.c] == -1} {
- lappend f 0
- } else {
- lappend f 1
- }
-
- join $f \
-} {1 1}
-
-# Tests 2.* test starts with search mode.
-# Test: browser-2.1
-# Desc: Check all files/all funcs
-gdbtk_test browser-2.1 {all files/all funcs} {
- set_search_mode "starts with"
- set_regexp ""
- select_all
- set m [do_search]
- set r 0
- foreach f {extern_func1_1 extern_func1_10 extern_func1_11 extern_func1_12 \
- extern_func1_13 extern_func1_14 extern_func1_15 extern_func1_2 \
- extern_func1_3 extern_func1_4 extern_func1_5 extern_func1_6 \
- extern_func1_7 extern_func1_8 extern_func1_9 func_1 \
- func_10 func_11 func_12 func_13 \
- func_14 func_15 func_2 func_3 \
- func_4 func_5 func_6 func_7 \
- func_8 func_9 main static_func_1 \
- static_func_10 static_func_11 static_func_12 static_func_13 \
- static_func_14 static_func_15 static_func_2 static_func_3 \
- static_func_4 static_func_5 static_func_6 static_func_7 \
- static_func_8 static_func_9} {
- if {[lsearch $m $f] != -1} {
- incr r
- }
- }
-
- set r
-} {46}
-
-# Test: browser-2.2
-# Desc: Check all functions in stack1.c
-gdbtk_test browser-2.2 {all functions in stack1.c} {
- set_regexp ""
- clear
- select stack1.c
- set m [do_search]
-
- set r 0
- foreach f {func_1 func_10 func_11 func_12 \
- func_13 func_14 func_15 func_2 \
- func_3 func_4 func_5 func_6 \
- func_7 func_8 func_9 main \
- static_func_1 static_func_10 static_func_11 static_func_12 \
- static_func_13 static_func_14 static_func_15 static_func_2 \
- static_func_3 static_func_4 static_func_5 static_func_6 \
- static_func_7 static_func_8 static_func_9} {
- if {[lsearch $m $f] != -1} {
- incr r
- }
- }
-
- set r
-} {31}
-if {$test_ran} {
- clear
-}
-
-# Test: browser-2.3
-# Desc: Check all functions in stack2.c
-gdbtk_test browser-2.3 {all functions in stack2.c} {
- set_regexp ""
- clear
- select stack2.c
- set m [do_search]
-
- set r 0
- foreach f {extern_func1_1 extern_func1_10 extern_func1_11 \
- extern_func1_12 extern_func1_13 extern_func1_14 extern_func1_15 \
- extern_func1_2 extern_func1_3 extern_func1_4 extern_func1_5 \
- extern_func1_6 extern_func1_7 extern_func1_8 extern_func1_9} {
- if {[lsearch $m $f] != -1} {
- incr r
- }
- }
-
- set r
-} {15}
-if {$test_ran} {
- clear
-}
-
-# Test: browser-2.4
-# Desc: Check for all functions matching "func" - mode starts with
-gdbtk_test browser-2.4 {all functions matching "func" - "mode starts with"} {
- set_search_mode "starts with"
- select_all
- set_regexp func
- do_search
-} {func_1 func_10 func_11 func_12 func_13 func_14 func_15 func_2 func_3 func_4 func_5 func_6 func_7 func_8 func_9}
-
-# Test: browser-2.5
-# Desc: Check all functions matching "func" in stack1.c - mode starts with
-gdbtk_test browser-2.5 {all functions matching "func" in stack1.c - "mode starts with"} {
- set_search_mode "starts with"
- set_regexp func
- clear
- select stack1.c
- do_search
-} {func_1 func_10 func_11 func_12 func_13 func_14 func_15 func_2 func_3 func_4 func_5 func_6 func_7 func_8 func_9}
-
-# Test: browser-2.6
-# Desc: Check all functions matching "funcs" in stack2.c - mode starts with
-gdbtk_test browser-2.6 {all functions matching "func" in stack2.c - mode "starts with"} {
- set_search_mode "starts with"
- set_regexp func
- clear
- select stack2.c
- do_search
-} {}
-if {$test_ran} {
- clear
-}
-
-# Test: browser-2.7
-# Desc: Check all functions matching "foobar"
-gdbtk_test browser-2.7 {all functions matching "foobar"} {
- set_search_mode "starts with"
- select_all
- set_regexp foobar
- do_search
-} {}
-
-# Test: browser-2.8
-# Desc: Check all functions matching "foobar" in stack1.c
-gdbtk_test browser-2.8 {functions matching "foobar" in stack1.c} {
- set_search_mode "starts with"
- set_regexp foobar
- clear
- select stack1.c
- do_search
-} {}
-
-# Tests 3.* test "contains" search mode.
-# Test: browser-3.1
-# Desc: Check all files/all funcs
-gdbtk_test browser-3.1 {all files/all funcs} {
- set_search_mode "contains"
- set_regexp ""
- select_all
- set m [do_search]
- set r 0
- foreach f {extern_func1_1 extern_func1_10 extern_func1_11 extern_func1_12 \
- extern_func1_13 extern_func1_14 extern_func1_15 extern_func1_2 \
- extern_func1_3 extern_func1_4 extern_func1_5 extern_func1_6 \
- extern_func1_7 extern_func1_8 extern_func1_9 func_1 \
- func_10 func_11 func_12 func_13 \
- func_14 func_15 func_2 func_3 \
- func_4 func_5 func_6 func_7 \
- func_8 func_9 main static_func_1 \
- static_func_10 static_func_11 static_func_12 static_func_13 \
- static_func_14 static_func_15 static_func_2 static_func_3 \
- static_func_4 static_func_5 static_func_6 static_func_7 \
- static_func_8 static_func_9} {
- if {[lsearch $m $f] != -1} {
- incr r
- }
- }
-
- set r
-} {46}
-
-# Test: browser-3.2
-# Desc: Check all functions in stack1.c
-gdbtk_test browser-3.2 {all functions in stack1.c} {
- set_regexp ""
- set_search_mode "contains"
- clear
- select stack1.c
- set m [do_search]
-
- set r 0
- foreach f {func_1 func_10 func_11 func_12 \
- func_13 func_14 func_15 func_2 \
- func_3 func_4 func_5 func_6 \
- func_7 func_8 func_9 main \
- static_func_1 static_func_10 static_func_11 static_func_12 \
- static_func_13 static_func_14 static_func_15 static_func_2 \
- static_func_3 static_func_4 static_func_5 static_func_6 \
- static_func_7 static_func_8 static_func_9} {
- if {[lsearch $m $f] != -1} {
- incr r
- }
- }
-
- set r
-} {31}
-
-if {$test_ran} {
- clear
-}
-
-# Test: browser-3.3
-# Desc: Check all functions in stack2.c
-gdbtk_test browser-3.3 {all functions in stack2.c} {
- set_regexp ""
- set_search_mode "contains"
- clear
- select stack2.c
- set m [do_search]
-
- set r 0
- foreach f {extern_func1_1 extern_func1_10 extern_func1_11 \
- extern_func1_12 extern_func1_13 extern_func1_14 extern_func1_15 \
- extern_func1_2 extern_func1_3 extern_func1_4 extern_func1_5 \
- extern_func1_6 extern_func1_7 extern_func1_8 extern_func1_9} {
- if {[lsearch $m $f] != -1} {
- incr r
- }
- }
-
- set r
-} {15}
-if {$test_ran} {
- clear
-}
-
-# Test: browser-3.4
-# Desc: Check for all functions matching "func" - mode contains
-gdbtk_test browser-3.4 {all functions matching "func_1" - "mode contains"} {
- set_search_mode "contains"
- set_regexp "func_1"
- select_all
- do_search
-} {func_1 func_10 func_11 func_12 func_13 func_14 func_15 static_func_1 static_func_10 static_func_11 static_func_12 static_func_13 static_func_14 static_func_15}
-
-# Test: browser-3.5
-# Desc: Check all functions matching "func_1" in stack1.c - mode contains
-gdbtk_test browser-3.5 {all functions matching "func_1" in stack1.c - "mode contains"} {
- set_search_mode "contains"
- set_regexp "func_1"
- clear
- select stack1.c
- do_search
-} {func_1 func_10 func_11 func_12 func_13 func_14 func_15 static_func_1 static_func_10 static_func_11 static_func_12 static_func_13 static_func_14 static_func_15}
-
-# Test: browser-3.6
-# Desc: Check all functions matching "func_1" in stack2.c - mode contains
-gdbtk_test browser-3.6 {all functions matching "func" in stack2.c - mode "contains"} {
- set_search_mode "contains"
- set_regexp func_1
- clear
- select stack2.c
- do_search
-} {}
-
-# Test: browser-3.7
-# Desc: Check all functions matching "foobar"
-gdbtk_test browser-3.7 {all functions matching "foobar"} {
- set_search_mode "contains"
- select_all
- set_regexp foobar
- do_search
-} {}
-
-# Test: browser-3.8
-# Desc: Check all functions matching "foobar" in stack1.c
-gdbtk_test browser-3.8 {functions matching "foobar" in stack1.c} {
- set_search_mode "contains"
- set_regexp foobar
- clear
- select stack1.c
- do_search
-} {}
-
-# Tests 4.* test "ends with" search mode.
-# Test: browser-4.1
-# Desc: Check all files/all funcs
-gdbtk_test browser-4.1 {all files/all funcs} {
- set_search_mode "ends with"
- set_regexp ""
- select_all
- set m [do_search]
- set r 0
- foreach f {extern_func1_1 extern_func1_10 extern_func1_11 extern_func1_12 \
- extern_func1_13 extern_func1_14 extern_func1_15 extern_func1_2 \
- extern_func1_3 extern_func1_4 extern_func1_5 extern_func1_6 \
- extern_func1_7 extern_func1_8 extern_func1_9 func_1 \
- func_10 func_11 func_12 func_13 \
- func_14 func_15 func_2 func_3 \
- func_4 func_5 func_6 func_7 \
- func_8 func_9 main static_func_1 \
- static_func_10 static_func_11 static_func_12 static_func_13 \
- static_func_14 static_func_15 static_func_2 static_func_3 \
- static_func_4 static_func_5 static_func_6 static_func_7 \
- static_func_8 static_func_9} {
- if {[lsearch $m $f] > -1} {
- incr r
- }
- }
-
- set r
-} {46}
-
-# Test: browser-4.2
-# Desc: Check all functions in stack1.c
-gdbtk_test browser-4.2 {all functions in stack1.c} {
- set_regexp ""
- set_search_mode "ends with"
- clear
- select stack1.c
- set m [do_search]
-
- set r 0
- foreach f {func_1 func_10 func_11 func_12 \
- func_13 func_14 func_15 func_2 \
- func_3 func_4 func_5 func_6 \
- func_7 func_8 func_9 main \
- static_func_1 static_func_10 static_func_11 static_func_12 \
- static_func_13 static_func_14 static_func_15 static_func_2 \
- static_func_3 static_func_4 static_func_5 static_func_6 \
- static_func_7 static_func_8 static_func_9} {
- if {[lsearch $m $f] != -1} {
- incr r
- }
- }
-
- set r
-} {31}
-
-if {$test_ran} {
- clear
-}
-
-# Test: browser-4.3
-# Desc: Check all functions in stack2.c
-gdbtk_test browser-4.3 {all functions in stack2.c} {
- set_regexp ""
- set_search_mode "ends with"
- clear
- select stack2.c
- set m [do_search]
-
- set r 0
- foreach f {extern_func1_1 extern_func1_10 extern_func1_11 \
- extern_func1_12 extern_func1_13 extern_func1_14 extern_func1_15 \
- extern_func1_2 extern_func1_3 extern_func1_4 extern_func1_5 \
- extern_func1_6 extern_func1_7 extern_func1_8 extern_func1_9} {
- if {[lsearch $m $f] != -1} {
- incr r
- }
- }
-
- set r
-} {15}
-if {$test_ran} {
- clear
-}
-
-# Test: browser-4.4
-# Desc: Check for all functions matching "func_1" - mode ends with
-gdbtk_test browser-4.4 {all functions matching "func_1" - "mode ends with"} {
- set_search_mode "ends with"
- set_regexp "func_1"
- select_all
- do_search
-} {func_1 static_func_1}
-
-# Test: browser-4.5
-# Desc: Check all functions matching "func_1" in stack1.c - mode ends with
-gdbtk_test browser-4.5 {all functions matching "func_1" in stack1.c - "mode ends with"} {
- set_search_mode "ends with"
- set_regexp "func_1"
- clear
- select stack1.c
- do_search
-} {func_1 static_func_1}
-if {$test_ran} {
- clear
-}
-
-# Test: browser-4.6
-# Desc: Check all functions matching "func_1" in stack2.c - mode ends with
-gdbtk_test browser-4.6 {all functions matching "func" in stack2.c - mode "ends with"} {
- set_search_mode "ends with"
- set_regexp func_1
- clear
- select stack2.c
- do_search
-} {}
-
-# Test: browser-4.7
-# Desc: Check all functions matching "foobar"
-gdbtk_test browser-4.7 {all functions matching "foobar"} {
- set_search_mode "ends with"
- select_all
- set_regexp foobar
- do_search
-} {}
-
-# Test: browser-4.8
-# Desc: Check all functions matching "foobar" in stack1.c
-gdbtk_test browser-4.8 {functions matching "foobar" in stack1.c} {
- set_search_mode "ends with"
- set_regexp foobar
- clear
- select stack1.c
- do_search
-} {}
-if {$test_ran} {
- clear
-}
-
-# Test: browser-5.10
-# Desc: Check all functions matching regexp "func"
-gdbtk_test browser-5.10 {all functions matching regexp "func"} {
- set_search_mode "matches regexp"
- set_regexp func
- select_all
- do_search
-} {extern_func1_1 extern_func1_10 extern_func1_11 extern_func1_12 extern_func1_13 extern_func1_14 extern_func1_15 extern_func1_2 extern_func1_3 extern_func1_4 extern_func1_5 extern_func1_6 extern_func1_7 extern_func1_8 extern_func1_9 func_1 func_10 func_11 func_12 func_13 func_14 func_15 func_2 func_3 func_4 func_5 func_6 func_7 func_8 func_9 static_func_1 static_func_10 static_func_11 static_func_12 static_func_13 static_func_14 static_func_15 static_func_2 static_func_3 static_func_4 static_func_5 static_func_6 static_func_7 static_func_8 static_func_9}
-
-# Test: browser-5.11
-# Desc: Check all functions matching regexp "func" in stack1.c
-gdbtk_test browser-5.11 {all functions matching regexp "func" in stack1.c} {
- set_search_mode "matches regexp"
- set_regexp func
- clear
- select stack1.c
- do_search
-} {func_1 func_10 func_11 func_12 func_13 func_14 func_15 func_2 func_3 func_4 func_5 func_6 func_7 func_8 func_9 static_func_1 static_func_10 static_func_11 static_func_12 static_func_13 static_func_14 static_func_15 static_func_2 static_func_3 static_func_4 static_func_5 static_func_6 static_func_7 static_func_8 static_func_9}
-
-# Test: browser-5.12
-# Desc: Check all functions matching regexp "func" in stack2.c
-gdbtk_test browser-5.12 {all functions matching regexp "func" in stack2.c} {
- set_regexp func
- clear
- select stack2.c
- do_search
-} {extern_func1_1 extern_func1_10 extern_func1_11 extern_func1_12 extern_func1_13 extern_func1_14 extern_func1_15 extern_func1_2 extern_func1_3 extern_func1_4 extern_func1_5 extern_func1_6 extern_func1_7 extern_func1_8 extern_func1_9}
-
-# Test: browser-5.13
-# Desc: Check all functions matching regexp "\_1$"
-gdbtk_test browser-5.13 {all functions matching regexp "\_1$"} {
- set_search_mode "matches regexp"
- set_regexp {\_1$}
- select_all
- do_search
-} {extern_func1_1 func_1 static_func_1}
-
-# Test: browser-5.14
-# Desc: Check all functions matching regexp "\_1$" in stack1.c
-gdbtk_test browser-5.14 {all functions matching regexp "\_1$" in stack1.c} {
- set_search_mode "matches regexp"
- set_regexp {\_1$}
- clear
- select stack1.c
- do_search
-} {func_1 static_func_1}
-
-# Test: browser-5.15
-# Desc: Check all functions matching regexp "\_1$" in stack2.c
-gdbtk_test browser-5.15 {all functions matching regexp "\_1$" in stack2.c} {
- set_search_mode "matches regexp"
- set_regexp {\_1$}
- clear
- select stack2.c
- do_search
-} {extern_func1_1}
-
-# Test: browser-5.16
-# Desc: Check all functions matching regexp "foobar"
-gdbtk_test browser-5.16 {all functions matching regexp "foobar"} {
- set_search_mode "matches regexp"
- set_regexp foobar
- select_all
- do_search
-} {}
-
-# Test: browser-5.17
-# Desc: Check all functions matching regexp "foobar" in stack1.c
-gdbtk_test browser-5.17 {all functions matching regexp "foobar" in stack1.c} {
- set_search_mode "matches regexp"
- set_regexp foobar
- clear
- select stack1.c
- do_search
-} {}
-
-
-# Test: browser-6.1
-# Desc: Check select button function
-gdbtk_test browser-6.1 {select button - select all} {
- clear
- select_all
- set m [$browser component file_box curselection]
-
- expr {[llength $m] >= 2}
-} {1}
-
-# Test: browser-6.2
-# Desc: Check that search expressions are saved
-gdbtk_test browser-6.2 {save last search expression} {
- set_regexp hello
- select_all
- do_search
- pref get gdb/search/last_symbol
-} {hello}
-
-# Test: browser-7.1
-# Desc: Toggle all bps on
-gdbtk_test browser-7.1 {toggle_all_bp on} {
- set_regexp {\_1$}
- set_search_mode "matches regexp"
- select_all
- set funcs [do_search]
-
- # select all to set bp on
- $browser component func_box selection set 0 end
- $browser component func_add_bp invoke
-
- set bps {}
- foreach f $funcs {
- if {![catch {gdb_loc $f} ls]} {
- if {[bp_exists $ls] != -1} {
- lappend bps $f
- }
- }
- }
-
- catch {gdb_cmd "delete" 0}
- join [lsort $bps]
-} {extern_func1_1 func_1 static_func_1}
-
-# Test: browser-7.2
-# Desc: Toggle some bps off
-gdbtk_test browser-7.2 {toggle_some_bp off} {
- set_regexp {\_1$}
- set_search_mode "matches regexp"
- select_all
- set funcs [do_search]
-
- $browser component func_box selection set 0 end
- $browser component func_add_bp invoke
-
- # Turn off all the "static_func_*" bps
- set_regexp {^static.*_1$}
- do_search
- $browser component func_box selection set 0 end
- $browser component func_remove_bp invoke
- set bps {}
- foreach f $funcs {
- if {![catch {gdb_loc $f} ls]} {
- if {[bp_exists $ls] != -1} {
- lappend bps $f
- }
- }
- }
-
- catch {gdb_cmd "delete" 0}
-
- join [lsort $bps]
-} {extern_func1_1 func_1}
-
-#
-# Exit
-#
-gdbtk_test_done
diff --git a/gdb/testsuite/gdb.gdbtk/c_variable.c b/gdb/testsuite/gdb.gdbtk/c_variable.c
deleted file mode 100644
index 461d5cee2fa..00000000000
--- a/gdb/testsuite/gdb.gdbtk/c_variable.c
+++ /dev/null
@@ -1,296 +0,0 @@
-struct _simple_struct {
- int integer;
- unsigned int unsigned_integer;
- char character;
- signed char signed_character;
- char *char_ptr;
- int array_of_10[10];
-};
-
-typedef struct _simple_struct simpleton;
-
-simpleton global_simple;
-
-enum foo {
- bar = 1,
- baz
-};
-
-typedef enum foo efoo;
-
-union named_union
-{
- int integer;
- char *char_ptr;
-};
-
-typedef struct _struct_decl {
- int integer;
- char character;
- char *char_ptr;
- long long_int;
- int **int_ptr_ptr;
- long long_array[10];
-
- void (*func_ptr) (void);
- struct _struct_decl (*func_ptr_struct) (int, char *, long);
- struct _struct_decl *(*func_ptr_ptr) (int, char *, long);
- union {
- int a;
- char *b;
- long c;
- enum foo d;
- } u1;
-
- struct {
- union {
- struct {
- int d;
- char e[10];
- int *(*func) (void);
- efoo foo;
- } u1s1;
-
- long f;
- struct {
- char array_ptr[2];
- int (*func) (int, char *);
- } u1s2;
- } u2;
-
- int g;
- char h;
- long i[10];
- } s2;
-} weird_struct;
-
-struct _struct_n_pointer {
- char ****char_ptr;
- long ****long_ptr;
- struct _struct_n_pointer *ptrs[3];
- struct _struct_n_pointer *next;
-};
-
-void do_locals_tests (void);
-void do_block_tests (void);
-void subroutine1 (int, long *);
-void nothing (void);
-void do_children_tests (void);
-void do_special_tests (void);
-void incr_a (int);
-
-void incr_a (int a)
-{
- int b;
- b = a;
-}
-
-void
-do_locals_tests ()
-{
- int linteger;
- int *lpinteger;
- char lcharacter;
- char *lpcharacter;
- long llong;
- long *lplong;
- float lfloat;
- float *lpfloat;
- double ldouble;
- double *lpdouble;
- struct _simple_struct lsimple;
- struct _simple_struct *lpsimple;
- void (*func) (void);
-
- /* Simple assignments */
- linteger = 1234;
- lpinteger = &linteger;
- lcharacter = 'a';
- lpcharacter = &lcharacter;
- llong = 2121L;
- lplong = &llong;
- lfloat = 2.1;
- lpfloat = &lfloat;
- ldouble = 2.718281828459045;
- lpdouble = &ldouble;
- lsimple.integer = 1234;
- lsimple.unsigned_integer = 255;
- lsimple.character = 'a';
- lsimple.signed_character = 21;
- lsimple.char_ptr = &lcharacter;
- lpsimple = &lsimple;
- func = nothing;
-
- /* Check pointers */
- linteger = 4321;
- lcharacter = 'b';
- llong = 1212L;
- lfloat = 1.2;
- ldouble = 5.498548281828172;
- lsimple.integer = 255;
- lsimple.unsigned_integer = 4321;
- lsimple.character = 'b';
- lsimple.signed_character = 0;
-
- subroutine1 (linteger, &llong);
-}
-
-void
-nothing ()
-{
-}
-
-void
-subroutine1 (int i, long *l)
-{
- global_simple.integer = i + 3;
- i = 212;
- *l = 12;
-}
-
-void
-do_block_tests ()
-{
- int cb = 12;
-
- {
- int foo;
- foo = 123;
- {
- int foo2;
- foo2 = 123;
- {
- int foo;
- foo = 321;
- }
- foo2 = 0;
- }
- foo = 0;
- }
-
- cb = 21;
-}
-
-void
-do_children_tests (void)
-{
- weird_struct *weird;
- struct _struct_n_pointer *psnp;
- struct _struct_n_pointer snp0, snp1, snp2;
- char a0, *a1, **a2, ***a3;
- char b0, *b1, **b2, ***b3;
- char c0, *c1, **c2, ***c3;
- long z0, *z1, **z2, ***z3;
- long y0, *y1, **y2, ***y3;
- long x0, *x1, **x2, ***x3;
- int *foo;
- int bar;
-
- struct _struct_decl struct_declarations;
- weird = &struct_declarations;
-
- struct_declarations.integer = 123;
- weird->char_ptr = "hello";
- bar = 2121;
- foo = &bar;
- struct_declarations.int_ptr_ptr = &foo;
- weird->long_array[0] = 1234;
- struct_declarations.long_array[1] = 2345;
- weird->long_array[2] = 3456;
- struct_declarations.long_array[3] = 4567;
- weird->long_array[4] = 5678;
- struct_declarations.long_array[5] = 6789;
- weird->long_array[6] = 7890;
- struct_declarations.long_array[7] = 8901;
- weird->long_array[8] = 9012;
- struct_declarations.long_array[9] = 1234;
-
- weird->func_ptr = nothing;
-
- /* Struct/pointer/array tests */
- a0 = '0';
- a1 = &a0;
- a2 = &a1;
- a3 = &a2;
- b0 = '1';
- b1 = &b0;
- b2 = &b1;
- b3 = &b2;
- c0 = '2';
- c1 = &c0;
- c2 = &c1;
- c3 = &c2;
- z0 = 0xdead + 0;
- z1 = &z0;
- z2 = &z1;
- z3 = &z2;
- y0 = 0xdead + 1;
- y1 = &y0;
- y2 = &y1;
- y3 = &y2;
- x0 = 0xdead + 2;
- x1 = &x0;
- x2 = &x1;
- x3 = &x2;
- snp0.char_ptr = &a3;
- snp0.long_ptr = &z3;
- snp0.ptrs[0] = &snp0;
- snp0.ptrs[1] = &snp1;
- snp0.ptrs[2] = &snp2;
- snp0.next = &snp1;
- snp1.char_ptr = &b3;
- snp1.long_ptr = &y3;
- snp1.ptrs[0] = &snp0;
- snp1.ptrs[1] = &snp1;
- snp1.ptrs[2] = &snp2;
- snp1.next = &snp2;
- snp2.char_ptr = &c3;
- snp2.long_ptr = &x3;
- snp2.ptrs[0] = &snp0;
- snp2.ptrs[1] = &snp1;
- snp2.ptrs[2] = &snp2;
- snp2.next = 0x0;
- psnp = &snp0;
- snp0.char_ptr = &b3;
- snp1.char_ptr = &c3;
- snp2.char_ptr = &a3;
- snp0.long_ptr = &y3;
- snp1.long_ptr = &x3;
- snp2.long_ptr = &z3;
-}
-
-void
-do_special_tests (void)
-{
- union named_union u;
- union {
- int a;
- char b;
- long c;
- } anonu;
- struct _simple_struct s;
- struct {
- int a;
- char b;
- long c;
- } anons;
- enum foo e;
- enum { A, B, C } anone;
- int array[21];
- int a;
-
- a = 1;
- incr_a(2);
-}
-
-int
-main (int argc, char *argv [])
-{
- do_locals_tests ();
- do_block_tests ();
- do_children_tests ();
- do_special_tests ();
- exit (0);
-}
-
-
diff --git a/gdb/testsuite/gdb.gdbtk/c_variable.exp b/gdb/testsuite/gdb.gdbtk/c_variable.exp
deleted file mode 100644
index 0fcd652e2be..00000000000
--- a/gdb/testsuite/gdb.gdbtk/c_variable.exp
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999, 2001, 2004 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 (GPL) as published by
-# the Free Software Foundation; either version 2 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.
-
-load_lib ../gdb.gdbtk/insight-support.exp
-
-if {[gdbtk_initialize_display]} {
- if {$tracelevel} {
- strace $tracelevel
- }
-
- #
- # test variable API
- #
- set prms_id 0
- set bug_id 0
-
- set testfile "c_variable"
- set srcfile ${testfile}.c
- set binfile ${objdir}/${subdir}/${testfile}
- set r [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}]
- if { $r != "" } {
- gdb_suppress_entire_file \
- "Testcase compile failed, so some tests in this file will automatically fail."
- }
-
- # Start with a fresh gdbtk
- gdb_exit
- set results [gdbtk_start [file join $srcdir $subdir ${testfile}.test]]
- set results [split $results \n]
-
- # Analyze results
- gdbtk_done $results
-}
diff --git a/gdb/testsuite/gdb.gdbtk/c_variable.test b/gdb/testsuite/gdb.gdbtk/c_variable.test
deleted file mode 100644
index 625ac7c017d..00000000000
--- a/gdb/testsuite/gdb.gdbtk/c_variable.test
+++ /dev/null
@@ -1,2071 +0,0 @@
-# Varobj Tests (C language)
-# Copyright 1998, 2001, 2003 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 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# insight@sources.redhat.com
-
-# This file was written by Keith Seitz (keiths@cygnus.com)
-
-# Read in the standard defs file
-if {![gdbtk_read_defs]} {
- break
-}
-
-global objdir test_ran
-
-# Load in a file
-set program [file join $objdir c_variable]
-if {[catch {gdbtk_test_file $program} t]} {
- # This isn't a test case, since if this fails, we're hosed.
- gdbtk_test_error "loading \"$program\": $t"
-}
-
-# The variables that are created are stored in an array called "var".
-
-# proc to tell us which of the variables are changed/out of scope
-proc check_update {} {
- global var
-
- set out {}
- set changed {}
- foreach ind [array names var] {
- set ret [$var($ind) update]
- if {$ret == -1} {
- lappend out $ind
- } elseif {$ret != ""} {
- lappend changed $ret
- }
- }
- return [list $changed $out]
-}
-
-# proc to create a variable
-proc create_variable {expr} {
- global var
-
- set err [catch {gdb_variable create "$expr" -expr $expr} v]
- if {!$err} {
- set var($expr) $v
- }
-
- return $err
-}
-
-# proc to get the children
-# Children are stored in the global "var" as
-# PARENT.child. So for struct _foo {int a; int b} bar;,
-# the children returned are {a b} and var(bar.a) and var(bar.b)
-# map the actual objects to their names.
-proc get_children {parent} {
- global var
-
- set kiddies [$var($parent) children]
- set children {}
- foreach child $kiddies {
- set name [lindex [split $child .] end]
- lappend children $name
- set var($parent.$name) $child
- }
-
- return $children
-}
-
-proc delete_variable {varname} {
- global var
-
- if {[info exists var($varname)]} {
- # This has to be caught, since deleting a parent
- # will erase all children.
- $var($varname) delete
- set vars [array names var $varname*]
- foreach v $vars {
- if {[info exists var($v)]} {
- unset var($v)
- }
- }
- }
-}
-
-# Compare the values of variable V in format FMT
-# with gdb's value.
-proc value {v fmt} {
- global var
- global _test
-
- set value [$var($v) value]
- set gdb [gdb_cmd "output/$fmt $v"]
- if {$value == $gdb} {
- set result ok
- } else {
- set result $v
- puts $_test(logfile) "output/$fmt $v"
- puts $_test(logfile) "gdbtk: $value <> gdb: $gdb"
- }
-
- return $result
-}
-
-proc delete_all_variables {} {
- global var
-
- foreach variable [array names var] {
- delete_variable $variable
- }
-}
-
-proc editable_variables {} {
- global var
-
- set yes {}
- set no {}
- foreach name [array names var] {
- if {[$var($name) editable]} {
- lappend yes $name
- } else {
- lappend no $name
- }
- }
-
- return [list $yes $no]
-}
-
-
-##### #####
-# #
-# Variable Creation tests #
-# #
-##### #####
-
-# Test: c_variable-1.1
-# Desc: Create global variable
-gdbtk_test c_variable-1.1 {create global variable} {
- create_variable global_simple
-} {0}
-
-# Test: c_variable-1.2
-# Desc: Create non-existent variable
-gdbtk_test c_variable-1.2 {create non-existent variable} {
- create_variable bogus_unknown_variable
-} {1}
-
-# Test: c_variable-1.3
-# Desc: Create out of scope variable
-gdbtk_test c_variable-1.3 {create out of scope variable} {
- create_variable argc
-} {1}
-
-# Break in main and run
-gdb_cmd "break do_locals_tests"
-gdbtk_test_run
-
-# Test: c_variable-1.4
-# Desc: create local variables
-gdbtk_test c_variable-1.4 {create local variables} {
- set results {}
- foreach v {linteger lpinteger lcharacter lpcharacter llong lplong lfloat lpfloat ldouble lpdouble lsimple lpsimple func} {
- lappend results [create_variable $v]
- }
- set results
-} {0 0 0 0 0 0 0 0 0 0 0 0 0}
-
-# Test: c_variable-1.5
-# Desc: create lsimple.character
-gdbtk_test c_variable-1.5 {create lsimple.character} {
- create_variable lsimple.character
-} {0}
-
-# Test: c_variable-1.6
-# Desc: create lpsimple->integer
-gdbtk_test c_variable-1.6 {create lpsimple->integer} {
- create_variable lpsimple->integer
-} {0}
-
-# Test: c_variable-1.7
-# Desc: create lsimple.integer
-gdbtk_test c_variable-1.7 {create lsimple.integer} {
- create_variable lsimple.integer
-} {0}
-
-# Test: c_variable-1.8
-# Desc: names of editable variables
-gdbtk_test c_variable-1.8 {names of editable variables} {
- editable_variables
-} {{lsimple.character lsimple.integer lpsimple lcharacter lpcharacter linteger lpinteger lfloat lpfloat func llong lplong lpsimple->integer ldouble lpdouble} {lsimple global_simple}}
-
-# Test: c_variable-1.9
-# Desc: create type name
-# Type names (like int, long, etc..) are all proper expressions to gdb.
-# make sure variable code does not allow users to create variables, though.
-gdbtk_test c_variable-1.9 {create type name} {
- create_variable int
-} {1}
-
-##### #####
-# #
-# Value changed tests #
-# #
-##### #####
-
-# Test: c_variable-2.1
-# Desc: check whether values changed at do_block_tests
-gdbtk_test c_variable-2.1 {check whether values changed at do_block_tests} {
- check_update
-} {{} {}}
-
-# Step over "linteger = 1234;"
-gdb_cmd "step"
-
-# Test: c_variable-2.2
-# Desc: check whether only linteger changed values
-gdbtk_test c_variable-2.2 {check whether only linteger changed values} {
- check_update
-} {linteger {}}
-
-# Step over "lpinteger = &linteger;"
-gdb_cmd "step"
-
-# Test: c_variable-2.3
-# Desc: check whether only lpinteger changed
-gdbtk_test c_variable-2.3 {check whether only lpinteger changed} {
- check_update
-} {lpinteger {}}
-
-# Step over "lcharacter = 'a';"
-gdb_cmd "step"
-
-# Test: c_variable-2.4
-# Desc: check whether only lcharacter changed
-gdbtk_test c_variable-2.4 {check whether only lcharacter changed} {
- check_update
-} {lcharacter {}}
-
-# Step over "lpcharacter = &lcharacter;"
-gdb_cmd "step"
-
-# Test: c_variable-2.5
-# Desc: check whether only lpcharacter changed
-gdbtk_test c_variable-2.5 {check whether only lpcharacter changed} {
- check_update
-} {lpcharacter {}}
-
-# Step over:
-# llong = 2121L;
-# lplong = &llong;
-# lfloat = 2.1;
-# lpfloat = &lfloat;
-# ldouble = 2.718281828459045;
-# lpdouble = &ldouble;
-# lsimple.integer = 1234;
-# lsimple.unsigned_integer = 255;
-# lsimple.character = 'a';
-for {set i 0} {$i < 9} {incr i} {
- gdb_cmd "step"
-}
-
-# Test: c_variable-2.6
-# Desc: check whether llong, lplong, lfloat, lpfloat, ldouble, lpdouble, lsimple.integer,
-# lsimple.unsigned_character lsimple.integer lsimple.character changed
-gdbtk_test c_variable-2.6 {check whether llong -- lsimple.character changed} {
- check_update
-} {{lsimple.character lsimple.integer lfloat lpfloat llong lplong ldouble lpdouble} {}}
-
-# Step over:
-# lsimple.signed_character = 21;
-# lsimple.char_ptr = &lcharacter;
-# lpsimple = &lsimple;
-# func = nothing;
-for {set i 0} {$i < 4} {incr i} {
- gdb_cmd "step"
-}
-
-# Test: c_variable-2.7
-# Desc: check whether lsimple.signed_character, lsimple.char_ptr, lpsimple, func changed
-gdbtk_test c_variable-2.7 {check whether lsimple.signed_character, lsimple.char_ptr, lpsimple, func changed} {
- check_update
-} {{lpsimple func lpsimple->integer} {}}
-
-# Step over
-# linteger = 4321;
-# lcharacter = 'b';
-# llong = 1212L;
-# lfloat = 1.2;
-# ldouble = 5.498548281828172;
-# lsimple.integer = 255;
-# lsimple.unsigned_integer = 4321;
-# lsimple.character = 'b';
-for {set i 0} {$i < 8} {incr i} {
- gdb_cmd "step"
-}
-
-# Test: c_variable-2.8
-# Desc: check whether linteger, lcharacter, llong, lfoat, ldouble, lsimple.integer,
-# lpsimple.integer lsimple.character changed
-# Note: this test also checks that lpsimple->integer and lsimple.integer have
-# changed (they are the same)
-gdbtk_test c_variable-2.8 {check whether linteger -- lsimple.integer changed} {
- check_update
-} {{lsimple.character lsimple.integer lcharacter linteger lfloat llong lpsimple->integer ldouble} {}}
-
-gdb_cmd "break subroutine1"
-gdb_cmd "continue"
-
-# Test: c_variable-2.9
-# Desc: stop in subroutine1
-gdbtk_test c_variable-2.9 {stop in subroutine1} {
- lindex [gdb_loc] 1
-} {subroutine1}
-
-# Test: c_variable-2.10
-# Desc: create variable for locals i,l in subroutine1
-gdbtk_test c_variable-2.10 {create variable for locals i,l in subroutine1} {
- set r [create_variable i]
- lappend r [create_variable l]
-} {0 0}
-
-# Test: c_variable-2.11
-# Desc: create do_locals_tests local in subroutine1
-gdbtk_test c_variable-2.11 {create do_locals_tests local in subroutine1} {
- create_variable linteger
-} {1}
-
-# Step over
-# global_simple.integer = i + 3;
-gdb_cmd "step"
-
-# Test: c_variable-2.12
-# Desc: change global_simple.integer
-# Note: This also tests whether we are reporting changes in structs properly.
-# gdb normally would say that global_simple has changed, but we
-# special case that, since it is not what a human expects to see.
-gdbtk_test c_variable-2.12 {change global_simple.integer} {
- check_update
-} {{} {lsimple.character lsimple.integer lpsimple lsimple lcharacter lpcharacter linteger lpinteger lfloat lpfloat func llong lplong lpsimple->integer ldouble lpdouble}}
-
-# Step over
-# i = 212;
-gdb_cmd "step"
-
-# Test: c_variable-2.13
-# Desc: change subroutine1 local i
-gdbtk_test c_variable-2.13 {change subroutine1 local i} {
- check_update
-} {i {lsimple.character lsimple.integer lpsimple lsimple lcharacter lpcharacter linteger lpinteger lfloat lpfloat func llong lplong lpsimple->integer ldouble lpdouble}}
-
-# Step over
-# *l = 12
-gdb_cmd "step"
-
-# This test is no longer valid, since varobj now forces
-# re-evaluation in the current frame by default.
-# Test: c_variable-2.14
-# Desc: change do_locals_tests local llong
-#gdbtk_test c_variable-2.14 {change do_locals_tests local llong} {
-# check_update
-#} {llong {}}
-
-# Leave subroutine1
-gdb_cmd "next"
-
-# Test: c_variable-2.15
-# Desc: check for out of scope subroutine1 locals
-gdbtk_test c_variable-2.15 {check for out of scope subroutine1 locals} {
- lindex [check_update] 1
-} {i l}
-
-# Test: c_variable-2.16
-# Desc: names of all editable variables
-gdbtk_test c_variable-2.16 {names of all editable variables} {
- editable_variables
-} {{lsimple.character lsimple.integer lpsimple i lcharacter lpcharacter linteger lpinteger lfloat lpfloat l func llong lplong lpsimple->integer ldouble lpdouble} {lsimple global_simple}}
-
-# Done with locals/globals tests. Erase all variables
-delete_all_variables
-
-##### #####
-# #
-# Block tests #
-# #
-##### #####
-gdb_cmd "break do_block_tests"
-gdb_cmd "continue"
-
-# Test: c_variable-3.1
-# Desc: stop in do_block_tests
-gdbtk_test c_variable-3.1 {stop in do_block_tests} {
- lindex [gdb_loc] 1
-} {do_block_tests}
-
-# Test: c_variable-3.2
-# Desc: create cb and foo
-gdbtk_test c_variable-3.2 {create cb and foo} {
- set r [create_variable cb]
- lappend r [create_variable foo]
-} {0 1}
-
-# step to "foo = 123;"
-gdb_cmd "step"
-
-# Be paranoid and assume 3.2 created foo
-delete_variable foo
-
-# Test: c_variable-3.3
-# Desc: create foo
-gdbtk_test c_variable-3.3 {create foo} {
- create_variable foo
-} {0}
-
-# step to "foo2 = 123;"
-gdb_cmd "step"
-
-# Test: c_variable-3.4
-# Desc: check foo, cb changed
-gdbtk_test c_variable-3.4 {check foo,cb changed} {
- check_update
-} {{foo cb} {}}
-
-# step to "foo = 321;"
-gdb_cmd "step"
-
-# Test: c_variable-3.5
-# Desc: create inner block foo
-gdbtk_test c_variable-3.5 {create inner block foo} {
- global var
- set err [catch {gdb_variable create inner_foo -expr foo} v]
- if {!$err} {
- set var(inner_foo) $v
- }
-
- set err
-} {0}
-
-# step to "foo2 = 0;"
-gdb_cmd "step"
-
-# Test: c_variable-3.6
-# Desc: create foo2
-gdbtk_test c_variable-3.6 {create foo2} {
- create_variable foo2
-} {0}
-
-# Test: c_variable-3.7
-# Desc: check that outer foo in scope and inner foo out of scope
-
-# Disabled for now because varobjs don't work this way. If you create a varobj named "foo"
-# it will display the correct value for any variable named "foo" in scope. So inner_foo
-# is not out of scope because there is another variable named "foo" in scope. It is
-# instead marked as changed.
-
-#gdbtk_test *c_variable-3.7 {check that outer foo in scope and inner foo out of scope} {
-# check_update
-#} {{} inner_foo}
-
-delete_variable inner_foo
-
-# step to "foo = 0;"
-gdb_cmd "step"
-
-# Test: c_variable-3.8
-# Desc: check that foo2 out of scope
-gdbtk_test c_variable-3.8 {check that foo2 out of scope} {
- check_update
-} {{} foo2}
-
-# step to "cb = 21;"
-gdb_cmd "step"
-
-# Test: c_variable-3.9
-# Desc: check that only cb is in scope
-gdbtk_test c_variable-3.9 {check that only cb is in scope} {
- check_update
-} {{} {foo foo2}}
-
-# Test: c_variable-3.10
-# Desc: names of editable variables
-gdbtk_test c_variable-3.10 {names of editable variables} {
- editable_variables
-} {{foo cb foo2} {}}
-
-# Done with block tests
-delete_all_variables
-
-##### #####
-# #
-# children tests #
-# #
-##### #####
-
-gdb_cmd "break do_children_tests"
-gdb_cmd "continue"
-
-# Test: c_variable-4.1
-# Desc: stopped in do_children_tests
-gdbtk_test c_variable-4.1 {stopped in do_children_tests} {
- lindex [gdb_loc] 1
-} {do_children_tests}
-
-# Test: c_variable-4.2
-# Desc: create variable "struct_declarations"
-gdbtk_test c_variable-4.2 {create variable "struct_declarations"} {
- create_variable struct_declarations
-} {0}
-
-# Test: c_variable-4.3
-# Desc: children of struct_declarations
-gdbtk_test c_variable-4.3 {children of struct_declarations} {
- get_children struct_declarations
-} {integer character char_ptr long_int int_ptr_ptr long_array func_ptr func_ptr_struct func_ptr_ptr u1 s2}
-
-# Test: c_variable-4.4
-# Desc: number of children of struct_declarations
-gdbtk_test c_variable-4.4 {number of children of struct_declarations} {
- $var(struct_declarations) numChildren
-} {11}
-
-# Test: c_variable-4.5
-# Desc: children of struct_declarations.integer
-gdbtk_test c_variable-4.5 {children of struct_declarations.integer} {
- get_children struct_declarations.integer
-} {}
-
-# Test: c_variable-4.6
-# Desc: number of children of struct_declarations.integer
-gdbtk_test c_variable-4.6 {number of children of struct_declarations.integer} {
- $var(struct_declarations.integer) numChildren
-} {0}
-
-# Test: c_variable-4.7
-# Desc: children of struct_declarations.character
-gdbtk_test c_variable-4.7 {children of struct_declarations.character} {
- get_children struct_declarations.character
-} {}
-
-# Test: c_variable-4.8
-# Desc: number of children of struct_declarations.character
-gdbtk_test c_variable-4.8 {number of children of struct_declarations.character} {
- $var(struct_declarations.character) numChildren
-} {0}
-
-# Test: c_variable-4.9
-# Desc: children of struct_declarations.char_ptr
-gdbtk_test c_variable-4.9 {children of struct_declarations.char_ptr} {
- get_children struct_declarations.char_ptr
-} {*char_ptr}
-
-# Test: c_variable-4.10
-# Desc: number of children of struct_declarations.char_ptr
-gdbtk_test c_variable-4.10 {number of children of struct_declarations.char_ptr} {
- $var(struct_declarations.char_ptr) numChildren
-} {1}
-
-# Test: c_variable-4.11
-# Desc: children of struct_declarations.long_int
-gdbtk_test c_variable-4.11 {children of struct_declarations.long_int} {
-
- get_children struct_declarations.long_int
-} {}
-
-# Test: c_variable-4.12
-# Desc: number of children of struct_declarations.long_int
-gdbtk_test c_variable-4.12 {number of children of struct_declarations.long_int} {
- $var(struct_declarations.long_int) numChildren
-} {0}
-
-# Test: c_variable-4.13
-# Desc: children of int_ptr_ptr
-gdbtk_test c_variable-4.13 {children of int_ptr_ptr} {
- get_children struct_declarations.int_ptr_ptr
-} {*int_ptr_ptr}
-
-# Test: c_variable-4.14
-# Desc: number of children of int_ptr_ptr
-gdbtk_test c_variable-4.14 {number of children of int_ptr_ptr} {
- $var(struct_declarations.int_ptr_ptr) numChildren
-} {1}
-
-# Test: c_variable-4.15
-# Desc: children of struct_declarations.long_array
-gdbtk_test c_variable-4.15 {children of struct_declarations.long_array} {
- get_children struct_declarations.long_array
-} {0 1 2 3 4 5 6 7 8 9}
-
-# Test: c_variable-4.16
-# Desc: number of children of struct_declarations.long_array
-gdbtk_test c_variable-4.16 {number of children of struct_declarations.long_array} {
- $var(struct_declarations.long_array) numChildren
-} {10}
-
-# Test: c_variable-4.17
-# Desc: children of struct_declarations.func_ptr
-gdbtk_test c_variable-4.17 {children of struct_declarations.func_ptr} {
- get_children struct_declarations.func_ptr
-} {}
-
-# Test: c_variable-4.18
-# Desc: number of children of struct_declarations.func_ptr
-gdbtk_test c_variable-4.18 {number of children of struct_declarations.func_ptr} {
- $var(struct_declarations.func_ptr) numChildren
-} {0}
-
-# Test: c_variable-4.19
-# Desc: children of struct_declarations.func_ptr_struct
-gdbtk_test c_variable-4.19 {children of struct_declarations.func_ptr_struct} {
- get_children struct_declarations.func_ptr_struct
-} {}
-
-# Test: c_variable-4.20
-# Desc: number of children of struct_declarations.func_ptr_struct
-gdbtk_test c_variable-4.20 {number of children of struct_declarations.func_ptr_struct} {
- $var(struct_declarations.func_ptr_struct) numChildren
-} {0}
-
-# Test: c_variable-4.21
-# Desc: children of struct_declarations.func_ptr_ptr
-gdbtk_test c_variable-4.21 {children of struct_declarations.func_ptr_ptr} {
- get_children struct_declarations.func_ptr_ptr
-} {}
-
-# Test: c_variable-4.22
-# Desc: number of children of struct_declarations.func_ptr_ptr
-gdbtk_test c_variable-4.22 {number of children of struct_declarations.func_ptr_ptr} {
- $var(struct_declarations.func_ptr_ptr) numChildren
-} {0}
-
-# Test: c_variable-4.23
-# Desc: children of struct_declarations.u1
-gdbtk_test c_variable-4.23 {children of struct_declarations.u1} {
- get_children struct_declarations.u1
-} {a b c d}
-
-# Test: c_variable-4.24
-# Desc: number of children of struct_declarations.u1
-gdbtk_test c_variable-4.24 {number of children of struct_declarations.u1} {
- $var(struct_declarations.u1) numChildren
-} {4}
-
-# Test: c_variable-4.25
-# Desc: children of struct_declarations.s2
-gdbtk_test c_variable-4.25 {children of struct_declarations.s2} {
- get_children struct_declarations.s2
-} {u2 g h i}
-
-# Test: c_variable-4.26
-# Desc: number of children of struct_declarations.s2
-gdbtk_test c_variable-4.26 {number of children of struct_declarations.s2} {
- $var(struct_declarations.s2) numChildren
-} {4}
-
-# Test: c_variable-4.27
-# Desc: children of struct_declarations.long_array.1
-gdbtk_test c_variable-4.27 {children of struct_declarations.long_array.1} {
- get_children struct_declarations.long_array.1
-} {}
-
-# Test: c_variable-4.28
-# Desc: number of children of struct_declarations.long_array.1
-gdbtk_test c_variable-4.28 {number of children of struct_declarations.long_array.1} {
- $var(struct_declarations.long_array.1) numChildren
-} {0}
-
-# Test: c_variable-4.29
-# Desc: children of struct_declarations.long_array.2
-gdbtk_test c_variable-4.29 {children of struct_declarations.long_array.2} {
- get_children struct_declarations.long_array.2
-} {}
-
-# Test: c_variable-4.30
-# Desc: number of children of struct_declarations.long_array.2
-gdbtk_test c_variable-4.30 {number of children of struct_declarations.long_array.2} {
- $var(struct_declarations.long_array.2) numChildren
-} {0}
-
-# Test: c_variable-4.31
-# Desc: children of struct_declarations.long_array.3
-gdbtk_test c_variable-4.31 {children of struct_declarations.long_array.3} {
- get_children struct_declarations.long_array.3
-} {}
-
-# Test: c_variable-4.32
-# Desc: number of children of struct_declarations.long_array.3
-gdbtk_test c_variable-4.32 {number of children of struct_declarations.long_array.3} {
- $var(struct_declarations.long_array.3) numChildren
-} {0}
-
-# Test: c_variable-4.33
-# Desc: children of struct_declarations.long_array.4
-gdbtk_test c_variable-4.33 {children of struct_declarations.long_array.4} {
- get_children struct_declarations.long_array.4
-} {}
-
-# Test: c_variable-4.34
-# Desc: number of children of struct_declarations.long_array.4
-gdbtk_test c_variable-4.34 {number of children of struct_declarations.long_array.4} {
- $var(struct_declarations.long_array.4) numChildren
-} {0}
-
-# Test: c_variable-4.35
-# Desc: children of struct_declarations.long_array.5
-gdbtk_test c_variable-4.35 {children of struct_declarations.long_array.5} {
- get_children struct_declarations.long_array.5
-} {}
-
-# Test: c_variable-4.36
-# Desc: number of children of struct_declarations.long_array.5
-gdbtk_test c_variable-4.36 {number of children of struct_declarations.long_array.5} {
- $var(struct_declarations.long_array.5) numChildren
-} {0}
-
-# Test: c_variable-4.37
-# Desc: children of struct_declarations.long_array.6
-gdbtk_test c_variable-4.37 {children of struct_declarations.long_array.6} {
- get_children struct_declarations.long_array.6
-} {}
-
-# Test: c_variable-4.38
-# Desc: number of children of struct_declarations.long_array.6
-gdbtk_test c_variable-4.38 {number of children of struct_declarations.long_array.6} {
- $var(struct_declarations.long_array.6) numChildren
-} {0}
-
-# Test: c_variable-4.39
-# Desc: children of struct_declarations.long_array.7
-gdbtk_test c_variable-4.39 {children of struct_declarations.long_array.7} {
- get_children struct_declarations.long_array.7
-} {}
-
-# Test: c_variable-4.40
-# Desc: number of children of struct_declarations.long_array.7
-gdbtk_test c_variable-4.40 {number of children of struct_declarations.long_array.7} {
- $var(struct_declarations.long_array.7) numChildren
-} {0}
-
-# Test: c_variable-4.41
-# Desc: children of struct_declarations.long_array.8
-gdbtk_test c_variable-4.41 {children of struct_declarations.long_array.8} {
- get_children struct_declarations.long_array.8
-} {}
-
-# Test: c_variable-4.42
-# Desc: number of children of struct_declarations.long_array.8
-gdbtk_test c_variable-4.42 {number of children of struct_declarations.long_array.8} {
- $var(struct_declarations.long_array.8) numChildren
-} {0}
-
-# Test: c_variable-4.43
-# Desc: children of struct_declarations.long_array.9
-gdbtk_test c_variable-4.43 {children of struct_declarations.long_array.9} {
- get_children struct_declarations.long_array.9
-} {}
-
-# Test: c_variable-4.44
-# Desc: number of children of struct_declarations.long_array.9
-gdbtk_test c_variable-4.44 {number of children of struct_declarations.long_array.9} {
- $var(struct_declarations.long_array.9) numChildren
-} {0}
-
-# Test: c_variable-4.45
-# Desc: children of struct_declarations.u1.a
-gdbtk_test c_variable-4.45 {children of struct_declarations.u1.a} {
- get_children struct_declarations.u1.a
-} {}
-
-# Test: c_variable-4.46
-# Desc: number of children of struct_declarations.u1.a
-gdbtk_test c_variable-4.46 {number of children of struct_declarations.u1.a} {
- $var(struct_declarations.u1.a) numChildren
-} {0}
-
-# Test: c_variable-4.47
-# Desc: children of struct_declarations.u1.b
-gdbtk_test c_variable-4.47 {children of struct_declarations.u1.b} {
- get_children struct_declarations.u1.b
-} {*b}
-
-# Test: c_variable-4.48
-# Desc: number of children of struct_declarations.u1.b
-gdbtk_test c_variable-4.48 {number of children of struct_declarations.u1.b} {
- $var(struct_declarations.u1.b) numChildren
-} {1}
-
-# Test: c_variable-4.49
-# Desc: children of struct_declarations.u1.c
-gdbtk_test c_variable-4.49 {children of struct_declarations.u1.c} {
- get_children struct_declarations.u1.c
-} {}
-
-# Test: c_variable-4.50
-# Desc: number of children of struct_declarations.u1.c
-gdbtk_test c_variable-4.50 {number of children of struct_declarations.u1.c} {
- $var(struct_declarations.u1.c) numChildren
-} {0}
-
-# Test: c_variable-4.51
-# Desc: children of struct_declarations.u1.d
-gdbtk_test c_variable-4.51 {children of struct_declarations.u1.d} {
- get_children struct_declarations.u1.d
-} {}
-
-# Test: c_variable-4.52
-# Desc: number of children of struct_declarations.u1.d
-gdbtk_test c_variable-4.52 {number of children of struct_declarations.u1.d} {
- $var(struct_declarations.u1.d) numChildren
-} {0}
-
-# Test: c_variable-4.53
-# Desc: children of struct_declarations.s2.u2
-gdbtk_test c_variable-4.53 {children of struct_declarations.s2.u2} {
- get_children struct_declarations.s2.u2
-} {u1s1 f u1s2}
-
-# Test: c_variable-4.54
-# Desc: number of children of struct_declarations.s2.u2
-gdbtk_test c_variable-4.54 {number of children of struct_declarations.s2.u2} {
- $var(struct_declarations.s2.u2) numChildren
-} {3}
-
-# Test: c_variable-4.55
-# Desc: children of struct_declarations.s2.g
-gdbtk_test c_variable-4.55 {children of struct_declarations.s2.g} {
- get_children struct_declarations.s2.g
-} {}
-
-# Test: c_variable-4.56
-# Desc: number of children of struct_declarations.s2.g
-gdbtk_test c_variable-4.56 {number of children of struct_declarations.s2.g} {
- $var(struct_declarations.s2.g) numChildren
-} {0}
-
-# Test: c_variable-4.57
-# Desc: children of struct_declarations.s2.h
-gdbtk_test c_variable-4.57 {children of struct_declarations.s2.h} {
- get_children struct_declarations.s2.h
-} {}
-
-# Test: c_variable-4.58
-# Desc: number of children of struct_declarations.s2.h
-gdbtk_test c_variable-4.58 {number of children of struct_declarations.s2.h} {
- $var(struct_declarations.s2.h) numChildren
-} {0}
-
-# Test: c_variable-4.59
-# Desc: children of struct_declarations.s2.i
-gdbtk_test c_variable-4.59 {children of struct_declarations.s2.i} {
- get_children struct_declarations.s2.i
-} {0 1 2 3 4 5 6 7 8 9}
-
-# Test: c_variable-4.60
-# Desc: number of children of struct_declarations.s2.i
-gdbtk_test c_variable-4.60 {number of children of struct_declarations.s2.i} {
- $var(struct_declarations.s2.i) numChildren
-} {10}
-
-# Test: c_variable-4.61
-# Desc: children of struct_declarations.s2.u2.u1s1
-gdbtk_test c_variable-4.61 {children of struct_declarations.s2.u2.u1s1} {
- get_children struct_declarations.s2.u2.u1s1
-} {d e func foo}
-
-# Test: c_variable-4.62
-# Desc: number of children of struct_declarations.s2.u2.u1s1
-gdbtk_test c_variable-4.62 {number of children of struct_declarations.s2.u2.u1s1} {
- $var(struct_declarations.s2.u2.u1s1) numChildren
-} {4}
-
-# Test: c_variable-4.63
-# Desc: children of struct_declarations.s2.u2.f
-gdbtk_test c_variable-4.63 {children of struct_declarations.s2.u2.f} {
- get_children struct_declarations.s2.u2.f
-} {}
-
-# Test: c_variable-4.64
-# Desc: number of children of struct_declarations.s2.u2.f
-gdbtk_test c_variable-4.64 {number of children of struct_declarations.s2.u2.f} {
- $var(struct_declarations.s2.u2.f) numChildren
-} {0}
-
-# Test: c_variable-4.65
-# Desc: children of struct_declarations.s2.u2.u1s2
-gdbtk_test c_variable-4.65 {children of struct_declarations.s2.u2.u1s2} {
- get_children struct_declarations.s2.u2.u1s2
-} {array_ptr func}
-
-# Test: c_variable-4.66
-# Desc: number of children of struct_declarations.s2.u2.u1s2
-gdbtk_test c_variable-4.66 {number of children of struct_declarations.s2.u2.u1s2} {
- $var(struct_declarations.s2.u2.u1s2) numChildren
-} {2}
-
-# Test: c_variable-4.67
-# Desc: children of struct_declarations.s2.u2.u1s1.d
-gdbtk_test c_variable-4.67 {children of struct_declarations.s2.u2.u1s1.d} {
- get_children struct_declarations.s2.u2.u1s1.d
-} {}
-
-# Test: c_variable-4.68
-# Desc: number of children of struct_declarations.s2.u2.u1s1.d
-gdbtk_test c_variable-4.68 {number of children of struct_declarations.s2.u2.u1s1.d} {
- $var(struct_declarations.s2.u2.u1s1.d) numChildren
-} {0}
-
-# Test: c_variable-4.69
-# Desc: children of struct_declarations.s2.u2.u1s1.e
-gdbtk_test c_variable-4.69 {children of struct_declarations.s2.u2.u1s1.e} {
- get_children struct_declarations.s2.u2.u1s1.e
-} {0 1 2 3 4 5 6 7 8 9}
-
-# Test: c_variable-4.70
-# Desc: number of children of struct_declarations.s2.u2.u1s1.e
-gdbtk_test c_variable-4.70 {number of children of struct_declarations.s2.u2.u1s1.e} {
- $var(struct_declarations.s2.u2.u1s1.e) numChildren
-} {10}
-
-# Test: c_variable-4.71
-# Desc: children of struct_declarations.s2.u2.u1s1.func
-gdbtk_test c_variable-4.71 {children of struct_declarations.s2.u2.u1s1.func} {
- get_children struct_declarations.s2.u2.u1s1.func
-} {}
-
-# Test: c_variable-4.72
-# Desc: number of children of struct_declarations.s2.u2.u1s1.func
-gdbtk_test c_variable-4.72 {number of children of struct_declarations.s2.u2.u1s1.func} {
- $var(struct_declarations.s2.u2.u1s1.func) numChildren
-} {0}
-
-# Test: c_variable-4.73
-# Desc: children of struct_declarations.s2.u2.u1s1.foo
-gdbtk_test c_variable-4.73 {children of struct_declarations.s2.u2.u1s1.foo} {
- get_children struct_declarations.s2.u2.u1s1.foo
-} {}
-
-# Test: c_variable-4.74
-# Desc: number of children of struct_declarations.s2.u2.u1s1.foo
-gdbtk_test c_variable-4.74 {number of children of struct_declarations.s2.u2.u1s1.foo} {
- $var(struct_declarations.s2.u2.u1s1.foo) numChildren
-} {0}
-
-# Test: c_variable-4.75
-# Desc: children of struct_declarations.s2.u2.u1s2.array_ptr
-gdbtk_test c_variable-4.75 {children of struct_declarations.s2.u2.u1s2.array_ptr} {
- get_children struct_declarations.s2.u2.u1s2.array_ptr
-} {0 1}
-
-# Test: c_variable-4.76
-# Desc: number of children of struct_declarations.s2.u2.u1s2.array_ptr
-gdbtk_test c_variable-4.76 {number of children of struct_declarations.s2.u2.u1s2.array_ptr} {
- $var(struct_declarations.s2.u2.u1s2.array_ptr) numChildren
-} {2}
-
-# Test: c_variable-4.77
-# Desc: children of struct_declarations.s2.u2.u1s2.func
-gdbtk_test c_variable-4.77 {children of struct_declarations.s2.u2.u1s2.func} {
- get_children struct_declarations.s2.u2.u1s2.func
-} {}
-
-# Test: c_variable-4.78
-# Desc: number of children of struct_declarations.s2.u2.u1s2.func
-gdbtk_test c_variable-4.78 {number of children of struct_declarations.s2.u2.u1s2.func} {
- $var(struct_declarations.s2.u2.u1s2.func) numChildren
-} {0}
-
-# Test: c_variable-4.79
-# Desc: children of struct_declarations.*int_ptr_ptr
-gdbtk_test c_variable-4.79 {children of struct_declarations.*int_ptr_ptr} {
- get_children struct_declarations.int_ptr_ptr.*int_ptr_ptr
-} {**int_ptr_ptr}
-
-# Test: c_variable-4.80
-# Desc: Number of children of struct_declarations.*int_ptr_ptr
-gdbtk_test c_variable-4.80 {Number of children of struct_declarations.*int_ptr_ptr} {
- $var(struct_declarations.int_ptr_ptr.*int_ptr_ptr) numChildren
-} {1}
-
-# Step to "struct_declarations.integer = 123;"
-gdb_cmd "step"
-
-# Test: c_variable-4.81
-# Desc: create local variable "weird"
-gdbtk_test c_variable-4.81 {create local variable "weird"} {
- create_variable weird
-} {0}
-
-# Test: c_variable-4.82
-# Desc: children of weird
-gdbtk_test c_variable-4.82 {children of weird} {
- get_children weird
-} {integer character char_ptr long_int int_ptr_ptr long_array func_ptr func_ptr_struct func_ptr_ptr u1 s2}
-
-# Test: c_variable-4.83
-# Desc: number of children of weird
-gdbtk_test c_variable-4.83 {number of children of weird} {
- $var(weird) numChildren
-} {11}
-
-# Test: c_variable-4.84
-# Desc: children of weird->long_array
-gdbtk_test c_variable-4.84 {children of weird->long_array} {
- get_children weird.long_array
-} {0 1 2 3 4 5 6 7 8 9}
-
-# Test: c_variable-4.85
-# Desc: number of children of weird->long_array
-gdbtk_test c_variable-4.85 {number of children of weird->long_array} {
- $var(weird.long_array) numChildren
-} {10}
-
-# Test: c_variable-4.86
-# Desc: children of weird->int_ptr_ptr
-gdbtk_test c_variable-4.86 {children of weird->int_ptr_ptr} {
- get_children weird.int_ptr_ptr
-} {*int_ptr_ptr}
-
-# Test: c_variable-4.87
-# Desc: number of children of weird->int_ptr_ptr
-gdbtk_test c_variable-4.87 {number of children of weird->int_ptr_ptr} {
- $var(weird.int_ptr_ptr) numChildren
-} {1}
-
-# Test: c_variable-4.88
-# Desc: children of *weird->int_ptr_ptr
-gdbtk_test c_variable-4.88 {children of *weird->int_ptr_ptr} {
- get_children weird.int_ptr_ptr.*int_ptr_ptr
-} {**int_ptr_ptr}
-
-# Test: c_variable-4.89
-# Desc: number of children *weird->int_ptr_ptr
-gdbtk_test c_variable-4.89 {number of children *weird->int_ptr_ptr} {
- $var(weird.int_ptr_ptr.*int_ptr_ptr) numChildren
-} {1}
-
-# Test: c_variable-4.90
-# Desc: create weird->int_ptr_ptr
-gdbtk_test c_variable-4.90 {create weird->int_ptr_ptr} {
- create_variable weird->int_ptr_ptr
-} {0}
-
-# Test: c_variable-4.91
-# Desc: children of weird->int_ptr_ptr
-gdbtk_test c_variable-4.91 {children of weird->int_ptr_ptr} {
- get_children weird->int_ptr_ptr
-} {*weird->int_ptr_ptr}
-
-# Test: c_variable-4.92
-# Desc: number of children of (weird->int_ptr_ptr)
-gdbtk_test c_variable-4.92 {number of children of (weird->int_ptr_ptr)} {
- $var(weird->int_ptr_ptr) numChildren
-} {1}
-
-# Test: c_variable-4.93
-# Desc: children of *(weird->int_ptr_ptr)
-gdbtk_test c_variable-4.93 {children of *(weird->int_ptr_ptr)} {
- get_children weird->int_ptr_ptr.*weird->int_ptr_ptr
-} {**weird->int_ptr_ptr}
-
-# Test: c_variable-4.94
-# Desc: number of children of *(weird->int_ptr_ptr)
-gdbtk_test c_variable-4.94 {number of children of *(weird->int_ptr_ptr)} {
- $var(weird->int_ptr_ptr.*weird->int_ptr_ptr) numChildren
-} {1}
-
-# Test: c_variable-4.95
-# Desc: children of *(*(weird->int_ptr_ptr))
-gdbtk_test c_variable-4.95 {children of *(*(weird->int_ptr_ptr))} {
- get_children weird->int_ptr_ptr.*weird->int_ptr_ptr.**weird->int_ptr_ptr
-} {}
-
-# Test: c_variable-4.96
-# Desc: number of children of *(*(weird->int_ptr_ptr))
-gdbtk_test c_variable-4.96 {number of children of **weird->int_ptr_ptr} {
- $var(weird->int_ptr_ptr.*weird->int_ptr_ptr.**weird->int_ptr_ptr) numChildren
-} {0}
-
-# Test: c_variable-4.97
-# Desc: is weird editable
-gdbtk_test c_variable-4.97 {is weird editable} {
- $var(weird) editable
-} {1}
-
-# Test: c_variable-4.98
-# Desc: is weird->int_ptr_ptr editable
-gdbtk_test c_variable-4.98 {is weird->int_ptr_ptr editable} {
- $var(weird.int_ptr_ptr) editable
-} {1}
-
-# Test: c_variable-4.99
-# Desc: is *(weird->int_ptr_ptr) editable
-gdbtk_test c_variable-4.99 {is *(weird->int_ptr_ptr) editable} {
- $var(weird.int_ptr_ptr.*int_ptr_ptr) editable
-} {1}
-
-# Test: c_variable-4.100
-# Desc: is *(*(weird->int_ptr_ptr)) editable
-gdbtk_test c_variable-4.100 {is *(*(weird->int_ptr_ptr)) editable} {
- $var(weird.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr) editable
-} {1}
-
-# Test: c_variable-4.101
-# Desc: is weird->u1 editable
-gdbtk_test c_variable-4.101 {is weird->u1 editable} {
- $var(weird.u1) editable
-} {0}
-
-# Test: c_variable-4.102
-# Desc: is weird->s2 editable
-gdbtk_test c_variable-4.102 {is weird->s2 editable} {
- $var(weird.s2) editable
-} {0}
-
-# Test: c_variable-4.103
-# Desc: is struct_declarations.u1.a editable
-gdbtk_test c_variable-4.103 {is struct_declarations.u1.a editable} {
- $var(struct_declarations.u1.a) editable
-} {1}
-
-# Test: c_variable-4.104
-# Desc: is struct_declarations.u1.b editable
-gdbtk_test c_variable-4.104 {is struct_declarations.u1.b editable} {
- $var(struct_declarations.u1.b) editable
-} {1}
-
-# Test: c_variable-4.105
-# Desc: is struct_declarations.u1.c editable
-gdbtk_test c_variable-4.105 {is struct_declarations.u1.c editable} {
- $var(struct_declarations.u1.c) editable
-} {1}
-
-# Test: c_variable-4.106
-# Desc: is struct_declarations.long_array editable
-gdbtk_test c_variable-4.106 {is struct_declarations.long_array editable} {
- $var(struct_declarations.long_array) editable
-} {0}
-
-# Test: c_variable-4.107
-# Desc: is struct_declarations.long_array[0] editable
-gdbtk_test c_variable-4.107 {is struct_declarations.long_array[0] editable} {
- $var(struct_declarations.long_array.0) editable
-} {1}
-
-# Test: c_variable-4.108
-# Desc: is struct_declarations editable
-gdbtk_test c_variable-4.108 {is struct_declarations editable} {
- $var(struct_declarations) editable
-} {0}
-
-delete_variable weird
-
-##### #####
-# #
-# children and update tests #
-# #
-##### #####
-
-# Test: c_variable-5.1
-# Desc: check that nothing changed
-gdbtk_test c_variable-5.1 {check that nothing changed} {
- check_update
-} {{} {struct_declarations.s2.i.3 struct_declarations.func_ptr_ptr struct_declarations.s2.i.4 struct_declarations.s2.i.5 struct_declarations.s2.i.6 struct_declarations.func_ptr struct_declarations.s2.i.7 struct_declarations.s2.i.8 struct_declarations.s2.i.9 struct_declarations.s2.u2.u1s1.d struct_declarations.func_ptr_struct struct_declarations.s2.u2.u1s1.e struct_declarations.u1 struct_declarations.char_ptr.*char_ptr struct_declarations.long_int struct_declarations.s2.u2.u1s2.func struct_declarations.integer struct_declarations.s2.u2 struct_declarations.s2.u2.u1s1.e.0 struct_declarations.s2.u2.u1s1.e.1 struct_declarations.long_array.0 struct_declarations.s2.u2.u1s1.e.2 struct_declarations.long_array.1 struct_declarations.u1.a struct_declarations.s2.u2.u1s1.e.3 struct_declarations.long_array.2 struct_declarations.u1.b struct_declarations.s2.u2.u1s1.e.4 struct_declarations.long_array.3 struct_declarations.u1.c struct_declarations.s2.u2.u1s1.e.5 struct_declarations.long_array.4 struct_declarations.u1.d struct_declarations.u1.b.*b struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr struct_declarations.s2.u2.u1s1.e.6 struct_declarations.long_array.5 struct_declarations.s2.u2.u1s1.e.7 struct_declarations.long_array.6 struct_declarations.s2.u2.u1s1.e.8 struct_declarations.long_array.7 struct_declarations.s2.u2.u1s1.e.9 struct_declarations.long_array.8 struct_declarations.character struct_declarations.long_array.9 struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.s2.u2.u1s1.func struct_declarations.s2.u2.u1s2.array_ptr struct_declarations.s2.u2.f struct_declarations.s2.u2.u1s1.foo struct_declarations.s2.u2.u1s1 struct_declarations.s2.u2.u1s2.array_ptr.0 struct_declarations.char_ptr struct_declarations.s2.u2.u1s2 struct_declarations.s2.u2.u1s2.array_ptr.1 struct_declarations.int_ptr_ptr struct_declarations.s2 struct_declarations.long_array struct_declarations.s2.g struct_declarations.s2.i.0 struct_declarations.s2.h struct_declarations.s2.i.1 struct_declarations.s2.i struct_declarations.s2.i.2}}
-
-# Step over "struct_declarations.integer = 123;"
-gdb_cmd "step"
-
-# Test: c_variable-5.2
-# Desc: check that integer changed
-gdbtk_test c_variable-5.2 {check that integer changed} {
- check_update
-} {struct_declarations.integer {struct_declarations.s2.i.3 struct_declarations.func_ptr_ptr struct_declarations.s2.i.4 struct_declarations.s2.i.5 struct_declarations.s2.i.6 struct_declarations.func_ptr struct_declarations.s2.i.7 struct_declarations.s2.i.8 struct_declarations.s2.i.9 struct_declarations.s2.u2.u1s1.d struct_declarations.func_ptr_struct struct_declarations.s2.u2.u1s1.e struct_declarations.u1 struct_declarations.char_ptr.*char_ptr struct_declarations.long_int struct_declarations.s2.u2.u1s2.func struct_declarations.integer struct_declarations.s2.u2 struct_declarations.s2.u2.u1s1.e.0 struct_declarations.s2.u2.u1s1.e.1 struct_declarations.long_array.0 struct_declarations.s2.u2.u1s1.e.2 struct_declarations.long_array.1 struct_declarations.u1.a struct_declarations.s2.u2.u1s1.e.3 struct_declarations.long_array.2 struct_declarations.u1.b struct_declarations.s2.u2.u1s1.e.4 struct_declarations.long_array.3 struct_declarations.u1.c struct_declarations.s2.u2.u1s1.e.5 struct_declarations.long_array.4 struct_declarations.u1.d struct_declarations.u1.b.*b struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr struct_declarations.s2.u2.u1s1.e.6 struct_declarations.long_array.5 struct_declarations.s2.u2.u1s1.e.7 struct_declarations.long_array.6 struct_declarations.s2.u2.u1s1.e.8 struct_declarations.long_array.7 struct_declarations.s2.u2.u1s1.e.9 struct_declarations.long_array.8 struct_declarations.character struct_declarations.long_array.9 struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.s2.u2.u1s1.func struct_declarations.s2.u2.u1s2.array_ptr struct_declarations.s2.u2.f struct_declarations.s2.u2.u1s1.foo struct_declarations.s2.u2.u1s1 struct_declarations.s2.u2.u1s2.array_ptr.0 struct_declarations.char_ptr struct_declarations.s2.u2.u1s2 struct_declarations.s2.u2.u1s2.array_ptr.1 struct_declarations.int_ptr_ptr struct_declarations.s2 struct_declarations.long_array struct_declarations.s2.g struct_declarations.s2.i.0 struct_declarations.s2.h struct_declarations.s2.i.1 struct_declarations.s2.i struct_declarations.s2.i.2}}
-
-# Step over:
-# weird->char_ptr = "hello";
-# bar = 2121;
-# foo = &bar;
-for {set i 0} {$i < 3} {incr i} {
- gdb_cmd "step"
-}
-
-# Test: c_variable-5.3
-# Desc: check that char_ptr changed
-gdbtk_test c_variable-5.3 {check that char_ptr changed} {
- check_update
-} {{{struct_declarations.char_ptr struct_declarations.char_ptr.*char_ptr}} {struct_declarations.s2.i.3 struct_declarations.func_ptr_ptr struct_declarations.s2.i.4 struct_declarations.s2.i.5 struct_declarations.s2.i.6 struct_declarations.func_ptr struct_declarations.s2.i.7 struct_declarations.s2.i.8 struct_declarations.s2.i.9 struct_declarations.s2.u2.u1s1.d struct_declarations.func_ptr_struct struct_declarations.s2.u2.u1s1.e struct_declarations.u1 struct_declarations.char_ptr.*char_ptr struct_declarations.long_int struct_declarations.s2.u2.u1s2.func struct_declarations.integer struct_declarations.s2.u2 struct_declarations.s2.u2.u1s1.e.0 struct_declarations.s2.u2.u1s1.e.1 struct_declarations.long_array.0 struct_declarations.s2.u2.u1s1.e.2 struct_declarations.long_array.1 struct_declarations.u1.a struct_declarations.s2.u2.u1s1.e.3 struct_declarations.long_array.2 struct_declarations.u1.b struct_declarations.s2.u2.u1s1.e.4 struct_declarations.long_array.3 struct_declarations.u1.c struct_declarations.s2.u2.u1s1.e.5 struct_declarations.long_array.4 struct_declarations.u1.d struct_declarations.u1.b.*b struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr struct_declarations.s2.u2.u1s1.e.6 struct_declarations.long_array.5 struct_declarations.s2.u2.u1s1.e.7 struct_declarations.long_array.6 struct_declarations.s2.u2.u1s1.e.8 struct_declarations.long_array.7 struct_declarations.s2.u2.u1s1.e.9 struct_declarations.long_array.8 struct_declarations.character struct_declarations.long_array.9 struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.s2.u2.u1s1.func struct_declarations.s2.u2.u1s2.array_ptr struct_declarations.s2.u2.f struct_declarations.s2.u2.u1s1.foo struct_declarations.s2.u2.u1s1 struct_declarations.s2.u2.u1s2.array_ptr.0 struct_declarations.char_ptr struct_declarations.s2.u2.u1s2 struct_declarations.s2.u2.u1s2.array_ptr.1 struct_declarations.int_ptr_ptr struct_declarations.s2 struct_declarations.long_array struct_declarations.s2.g struct_declarations.s2.i.0 struct_declarations.s2.h struct_declarations.s2.i.1 struct_declarations.s2.i struct_declarations.s2.i.2}}
-
-# Step over "struct_declarations.int_ptr_ptr = &foo;"
-gdb_cmd "step"
-
-# Test: c_variable-5.4
-# Desc: check that int_ptr_ptr and children changed
-gdbtk_test c_variable-5.4 {check that int_ptr_ptr and children changed} {
- check_update
-} {{{struct_declarations.int_ptr_ptr struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr}} {struct_declarations.s2.i.3 struct_declarations.func_ptr_ptr struct_declarations.s2.i.4 struct_declarations.s2.i.5 struct_declarations.s2.i.6 struct_declarations.func_ptr struct_declarations.s2.i.7 struct_declarations.s2.i.8 struct_declarations.s2.i.9 struct_declarations.s2.u2.u1s1.d struct_declarations.func_ptr_struct struct_declarations.s2.u2.u1s1.e struct_declarations.u1 struct_declarations.char_ptr.*char_ptr struct_declarations.long_int struct_declarations.s2.u2.u1s2.func struct_declarations.integer struct_declarations.s2.u2 struct_declarations.s2.u2.u1s1.e.0 struct_declarations.s2.u2.u1s1.e.1 struct_declarations.long_array.0 struct_declarations.s2.u2.u1s1.e.2 struct_declarations.long_array.1 struct_declarations.u1.a struct_declarations.s2.u2.u1s1.e.3 struct_declarations.long_array.2 struct_declarations.u1.b struct_declarations.s2.u2.u1s1.e.4 struct_declarations.long_array.3 struct_declarations.u1.c struct_declarations.s2.u2.u1s1.e.5 struct_declarations.long_array.4 struct_declarations.u1.d struct_declarations.u1.b.*b struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr struct_declarations.s2.u2.u1s1.e.6 struct_declarations.long_array.5 struct_declarations.s2.u2.u1s1.e.7 struct_declarations.long_array.6 struct_declarations.s2.u2.u1s1.e.8 struct_declarations.long_array.7 struct_declarations.s2.u2.u1s1.e.9 struct_declarations.long_array.8 struct_declarations.character struct_declarations.long_array.9 struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.s2.u2.u1s1.func struct_declarations.s2.u2.u1s2.array_ptr struct_declarations.s2.u2.f struct_declarations.s2.u2.u1s1.foo struct_declarations.s2.u2.u1s1 struct_declarations.s2.u2.u1s2.array_ptr.0 struct_declarations.char_ptr struct_declarations.s2.u2.u1s2 struct_declarations.s2.u2.u1s2.array_ptr.1 struct_declarations.int_ptr_ptr struct_declarations.s2 struct_declarations.long_array struct_declarations.s2.g struct_declarations.s2.i.0 struct_declarations.s2.h struct_declarations.s2.i.1 struct_declarations.s2.i struct_declarations.s2.i.2}}
-
-# Step over "weird->long_array[0] = 1234;"
-gdb_cmd "step"
-
-# Test: c_variable-5.5
-# Desc: check that long_array[0] changed
-gdbtk_test c_variable-5.5 {check that long_array[0] changed} {
- check_update
-} {struct_declarations.long_array.0 {struct_declarations.s2.i.3 struct_declarations.func_ptr_ptr struct_declarations.s2.i.4 struct_declarations.s2.i.5 struct_declarations.s2.i.6 struct_declarations.func_ptr struct_declarations.s2.i.7 struct_declarations.s2.i.8 struct_declarations.s2.i.9 struct_declarations.s2.u2.u1s1.d struct_declarations.func_ptr_struct struct_declarations.s2.u2.u1s1.e struct_declarations.u1 struct_declarations.char_ptr.*char_ptr struct_declarations.long_int struct_declarations.s2.u2.u1s2.func struct_declarations.integer struct_declarations.s2.u2 struct_declarations.s2.u2.u1s1.e.0 struct_declarations.s2.u2.u1s1.e.1 struct_declarations.long_array.0 struct_declarations.s2.u2.u1s1.e.2 struct_declarations.long_array.1 struct_declarations.u1.a struct_declarations.s2.u2.u1s1.e.3 struct_declarations.long_array.2 struct_declarations.u1.b struct_declarations.s2.u2.u1s1.e.4 struct_declarations.long_array.3 struct_declarations.u1.c struct_declarations.s2.u2.u1s1.e.5 struct_declarations.long_array.4 struct_declarations.u1.d struct_declarations.u1.b.*b struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr struct_declarations.s2.u2.u1s1.e.6 struct_declarations.long_array.5 struct_declarations.s2.u2.u1s1.e.7 struct_declarations.long_array.6 struct_declarations.s2.u2.u1s1.e.8 struct_declarations.long_array.7 struct_declarations.s2.u2.u1s1.e.9 struct_declarations.long_array.8 struct_declarations.character struct_declarations.long_array.9 struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.s2.u2.u1s1.func struct_declarations.s2.u2.u1s2.array_ptr struct_declarations.s2.u2.f struct_declarations.s2.u2.u1s1.foo struct_declarations.s2.u2.u1s1 struct_declarations.s2.u2.u1s2.array_ptr.0 struct_declarations.char_ptr struct_declarations.s2.u2.u1s2 struct_declarations.s2.u2.u1s2.array_ptr.1 struct_declarations.int_ptr_ptr struct_declarations.s2 struct_declarations.long_array struct_declarations.s2.g struct_declarations.s2.i.0 struct_declarations.s2.h struct_declarations.s2.i.1 struct_declarations.s2.i struct_declarations.s2.i.2}}
-
-# Step over "struct_declarations.long_array[1] = 2345;"
-gdb_cmd "step"
-
-# Test: c_variable-5.6
-# Desc: check that long_array[1] changed
-gdbtk_test c_variable-5.6 {check that long_array[1] changed} {
- check_update
-} {struct_declarations.long_array.1 {struct_declarations.s2.i.3 struct_declarations.func_ptr_ptr struct_declarations.s2.i.4 struct_declarations.s2.i.5 struct_declarations.s2.i.6 struct_declarations.func_ptr struct_declarations.s2.i.7 struct_declarations.s2.i.8 struct_declarations.s2.i.9 struct_declarations.s2.u2.u1s1.d struct_declarations.func_ptr_struct struct_declarations.s2.u2.u1s1.e struct_declarations.u1 struct_declarations.char_ptr.*char_ptr struct_declarations.long_int struct_declarations.s2.u2.u1s2.func struct_declarations.integer struct_declarations.s2.u2 struct_declarations.s2.u2.u1s1.e.0 struct_declarations.s2.u2.u1s1.e.1 struct_declarations.long_array.0 struct_declarations.s2.u2.u1s1.e.2 struct_declarations.long_array.1 struct_declarations.u1.a struct_declarations.s2.u2.u1s1.e.3 struct_declarations.long_array.2 struct_declarations.u1.b struct_declarations.s2.u2.u1s1.e.4 struct_declarations.long_array.3 struct_declarations.u1.c struct_declarations.s2.u2.u1s1.e.5 struct_declarations.long_array.4 struct_declarations.u1.d struct_declarations.u1.b.*b struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr struct_declarations.s2.u2.u1s1.e.6 struct_declarations.long_array.5 struct_declarations.s2.u2.u1s1.e.7 struct_declarations.long_array.6 struct_declarations.s2.u2.u1s1.e.8 struct_declarations.long_array.7 struct_declarations.s2.u2.u1s1.e.9 struct_declarations.long_array.8 struct_declarations.character struct_declarations.long_array.9 struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.s2.u2.u1s1.func struct_declarations.s2.u2.u1s2.array_ptr struct_declarations.s2.u2.f struct_declarations.s2.u2.u1s1.foo struct_declarations.s2.u2.u1s1 struct_declarations.s2.u2.u1s2.array_ptr.0 struct_declarations.char_ptr struct_declarations.s2.u2.u1s2 struct_declarations.s2.u2.u1s2.array_ptr.1 struct_declarations.int_ptr_ptr struct_declarations.s2 struct_declarations.long_array struct_declarations.s2.g struct_declarations.s2.i.0 struct_declarations.s2.h struct_declarations.s2.i.1 struct_declarations.s2.i struct_declarations.s2.i.2}}
-
-# Step over "weird->long_array[2] = 3456;"
-gdb_cmd "step"
-
-# Test: c_variable-5.7
-# Desc: check that long_array[2] changed
-gdbtk_test c_variable-5.7 {check that long_array[2] changed} {
- check_update
-} {struct_declarations.long_array.2 {struct_declarations.s2.i.3 struct_declarations.func_ptr_ptr struct_declarations.s2.i.4 struct_declarations.s2.i.5 struct_declarations.s2.i.6 struct_declarations.func_ptr struct_declarations.s2.i.7 struct_declarations.s2.i.8 struct_declarations.s2.i.9 struct_declarations.s2.u2.u1s1.d struct_declarations.func_ptr_struct struct_declarations.s2.u2.u1s1.e struct_declarations.u1 struct_declarations.char_ptr.*char_ptr struct_declarations.long_int struct_declarations.s2.u2.u1s2.func struct_declarations.integer struct_declarations.s2.u2 struct_declarations.s2.u2.u1s1.e.0 struct_declarations.s2.u2.u1s1.e.1 struct_declarations.long_array.0 struct_declarations.s2.u2.u1s1.e.2 struct_declarations.long_array.1 struct_declarations.u1.a struct_declarations.s2.u2.u1s1.e.3 struct_declarations.long_array.2 struct_declarations.u1.b struct_declarations.s2.u2.u1s1.e.4 struct_declarations.long_array.3 struct_declarations.u1.c struct_declarations.s2.u2.u1s1.e.5 struct_declarations.long_array.4 struct_declarations.u1.d struct_declarations.u1.b.*b struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr struct_declarations.s2.u2.u1s1.e.6 struct_declarations.long_array.5 struct_declarations.s2.u2.u1s1.e.7 struct_declarations.long_array.6 struct_declarations.s2.u2.u1s1.e.8 struct_declarations.long_array.7 struct_declarations.s2.u2.u1s1.e.9 struct_declarations.long_array.8 struct_declarations.character struct_declarations.long_array.9 struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.s2.u2.u1s1.func struct_declarations.s2.u2.u1s2.array_ptr struct_declarations.s2.u2.f struct_declarations.s2.u2.u1s1.foo struct_declarations.s2.u2.u1s1 struct_declarations.s2.u2.u1s2.array_ptr.0 struct_declarations.char_ptr struct_declarations.s2.u2.u1s2 struct_declarations.s2.u2.u1s2.array_ptr.1 struct_declarations.int_ptr_ptr struct_declarations.s2 struct_declarations.long_array struct_declarations.s2.g struct_declarations.s2.i.0 struct_declarations.s2.h struct_declarations.s2.i.1 struct_declarations.s2.i struct_declarations.s2.i.2}}
-
-# Step over:
-# struct_declarations.long_array[3] = 4567;
-# weird->long_array[4] = 5678;
-# struct_declarations.long_array[5] = 6789;
-# weird->long_array[6] = 7890;
-# struct_declarations.long_array[7] = 8901;
-# weird->long_array[8] = 9012;
-# struct_declarations.long_array[9] = 1234;
-for {set i 0} {$i < 7} {incr i} {
- gdb_cmd "step"
-}
-
-# Test: c_variable-5.8
-# Desc: check that long_array[3-9] changed
-gdbtk_test c_variable-5.8 {check that long_array[3-9] changed} {
- check_update
-} {{{struct_declarations.long_array.3 struct_declarations.long_array.4 struct_declarations.long_array.5 struct_declarations.long_array.6 struct_declarations.long_array.7 struct_declarations.long_array.8 struct_declarations.long_array.9}} {struct_declarations.s2.i.3 struct_declarations.func_ptr_ptr struct_declarations.s2.i.4 struct_declarations.s2.i.5 struct_declarations.s2.i.6 struct_declarations.func_ptr struct_declarations.s2.i.7 struct_declarations.s2.i.8 struct_declarations.s2.i.9 struct_declarations.s2.u2.u1s1.d struct_declarations.func_ptr_struct struct_declarations.s2.u2.u1s1.e struct_declarations.u1 struct_declarations.char_ptr.*char_ptr struct_declarations.long_int struct_declarations.s2.u2.u1s2.func struct_declarations.integer struct_declarations.s2.u2 struct_declarations.s2.u2.u1s1.e.0 struct_declarations.s2.u2.u1s1.e.1 struct_declarations.long_array.0 struct_declarations.s2.u2.u1s1.e.2 struct_declarations.long_array.1 struct_declarations.u1.a struct_declarations.s2.u2.u1s1.e.3 struct_declarations.long_array.2 struct_declarations.u1.b struct_declarations.s2.u2.u1s1.e.4 struct_declarations.long_array.3 struct_declarations.u1.c struct_declarations.s2.u2.u1s1.e.5 struct_declarations.long_array.4 struct_declarations.u1.d struct_declarations.u1.b.*b struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr struct_declarations.s2.u2.u1s1.e.6 struct_declarations.long_array.5 struct_declarations.s2.u2.u1s1.e.7 struct_declarations.long_array.6 struct_declarations.s2.u2.u1s1.e.8 struct_declarations.long_array.7 struct_declarations.s2.u2.u1s1.e.9 struct_declarations.long_array.8 struct_declarations.character struct_declarations.long_array.9 struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.s2.u2.u1s1.func struct_declarations.s2.u2.u1s2.array_ptr struct_declarations.s2.u2.f struct_declarations.s2.u2.u1s1.foo struct_declarations.s2.u2.u1s1 struct_declarations.s2.u2.u1s2.array_ptr.0 struct_declarations.char_ptr struct_declarations.s2.u2.u1s2 struct_declarations.s2.u2.u1s2.array_ptr.1 struct_declarations.int_ptr_ptr struct_declarations.s2 struct_declarations.long_array struct_declarations.s2.g struct_declarations.s2.i.0 struct_declarations.s2.h struct_declarations.s2.i.1 struct_declarations.s2.i struct_declarations.s2.i.2}}
-
-# Step over "weird->func_ptr = nothing;"
-gdb_cmd "step"
-
-# Test: c_variable-5.9
-# Desc: check that func_ptr changed
-gdbtk_test c_variable-5.9 {check that func_ptr changed} {
- check_update
-} {struct_declarations.func_ptr {struct_declarations.s2.i.3 struct_declarations.func_ptr_ptr struct_declarations.s2.i.4 struct_declarations.s2.i.5 struct_declarations.s2.i.6 struct_declarations.func_ptr struct_declarations.s2.i.7 struct_declarations.s2.i.8 struct_declarations.s2.i.9 struct_declarations.s2.u2.u1s1.d struct_declarations.func_ptr_struct struct_declarations.s2.u2.u1s1.e struct_declarations.u1 struct_declarations.char_ptr.*char_ptr struct_declarations.long_int struct_declarations.s2.u2.u1s2.func struct_declarations.integer struct_declarations.s2.u2 struct_declarations.s2.u2.u1s1.e.0 struct_declarations.s2.u2.u1s1.e.1 struct_declarations.long_array.0 struct_declarations.s2.u2.u1s1.e.2 struct_declarations.long_array.1 struct_declarations.u1.a struct_declarations.s2.u2.u1s1.e.3 struct_declarations.long_array.2 struct_declarations.u1.b struct_declarations.s2.u2.u1s1.e.4 struct_declarations.long_array.3 struct_declarations.u1.c struct_declarations.s2.u2.u1s1.e.5 struct_declarations.long_array.4 struct_declarations.u1.d struct_declarations.u1.b.*b struct_declarations.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr struct_declarations.s2.u2.u1s1.e.6 struct_declarations.long_array.5 struct_declarations.s2.u2.u1s1.e.7 struct_declarations.long_array.6 struct_declarations.s2.u2.u1s1.e.8 struct_declarations.long_array.7 struct_declarations.s2.u2.u1s1.e.9 struct_declarations.long_array.8 struct_declarations.character struct_declarations.long_array.9 struct_declarations.int_ptr_ptr.*int_ptr_ptr struct_declarations.s2.u2.u1s1.func struct_declarations.s2.u2.u1s2.array_ptr struct_declarations.s2.u2.f struct_declarations.s2.u2.u1s1.foo struct_declarations.s2.u2.u1s1 struct_declarations.s2.u2.u1s2.array_ptr.0 struct_declarations.char_ptr struct_declarations.s2.u2.u1s2 struct_declarations.s2.u2.u1s2.array_ptr.1 struct_declarations.int_ptr_ptr struct_declarations.s2 struct_declarations.long_array struct_declarations.s2.g struct_declarations.s2.i.0 struct_declarations.s2.h struct_declarations.s2.i.1 struct_declarations.s2.i struct_declarations.s2.i.2}}
-
-# Delete all variables
-delete_all_variables
-
-# Step over all lines:
-# ...
-# psnp = &snp0;
-for {set i 0} {$i < 43} {incr i} {
- gdb_cmd "step"
-}
-
-# Test: c_variable-5.10
-# Desc: create psnp->char_ptr
-gdbtk_test c_variable-5.10 {create psnp->char_ptr} {
- create_variable psnp->char_ptr
-} {0}
-
-# Test: c_variable-5.11
-# Desc: children of psnp->char_ptr
-gdbtk_test c_variable-5.11 {children of psnp->char_ptr} {
- get_children psnp->char_ptr
-} {*psnp->char_ptr}
-
-# Test: c_variable-5.12
-# Desc: number of children of psnp->char_ptr
-gdbtk_test c_variable-5.12 {number of children of psnp->char_ptr} {
- $var(psnp->char_ptr) numChildren
-} {1}
-
-# Test: c_variable-5.13
-# Desc: children of *(psnp->char_ptr)
-gdbtk_test c_variable-5.13 {children of *(psnp->char_ptr)} {
- get_children psnp->char_ptr.*psnp->char_ptr
-} {**psnp->char_ptr}
-
-# Test: c_variable-5.14
-# Desc: number of children of *(psnp->char_ptr)
-gdbtk_test c_variable-5.14 {number of children of *(psnp->char_ptr)} {
- $var(psnp->char_ptr.*psnp->char_ptr) numChildren
-} {1}
-
-# Test: c_variable-5.15
-# Desc: children of *(*(psnp->char_ptr))
-gdbtk_test c_variable-5.15 {children of *(*(psnp->char_ptr))} {
- get_children psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr
-} {***psnp->char_ptr}
-
-# Test: c_variable-5.16
-# Desc: number of children of *(*(psnp->char_ptr))
-gdbtk_test c_variable-5.16 {number of children of *(*(psnp->char_ptr))} {
- $var(psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr) numChildren
-} {1}
-
-# Test: c_variable-5.17
-# Desc: children of *(*(*(psnp->char_ptr)))
-gdbtk_test c_variable-5.17 {children of *(*(*(psnp->char_ptr)))} {
- get_children psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr
-} {****psnp->char_ptr}
-
-# Test: c_variable-5.18
-# Desc: number of children of *(*(*(psnp->char_ptr)))
-gdbtk_test c_variable-5.18 {number of children of *(*(*(psnp->char_ptr)))} {
- $var(psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr) numChildren
-} {1}
-
-# Test: c_variable-5.19
-# Desc: create psnp->long_ptr
-gdbtk_test c_variable-5.19 {create psnp->long_ptr} {
- create_variable psnp->long_ptr
-} {0}
-
-# Test: c_variable-5.20
-# Desc: children of psnp->long_ptr
-gdbtk_test c_variable-5.20 {children of psnp->long_ptr} {
- get_children psnp->long_ptr
-} {*psnp->long_ptr}
-
-# Test: c_variable-5.21
-# Desc: number of children of psnp->long_ptr
-gdbtk_test c_variable-5.21 {number of children of psnp->long_ptr} {
- $var(psnp->long_ptr) numChildren
-} {1}
-
-# Test: c_variable-5.22
-# Desc: children of *(psnp->long_ptr)
-gdbtk_test c_variable-5.22 {children of *(psnp->long_ptr)} {
- get_children psnp->long_ptr.*psnp->long_ptr
-} {**psnp->long_ptr}
-
-# Test: c_variable-5.23
-# Desc: number of children of *(psnp->long_ptr)
-gdbtk_test c_variable-5.23 {number of children of *(psnp->long_ptr)} {
- $var(psnp->long_ptr.*psnp->long_ptr) numChildren
-} {1}
-
-# Test: c_variable-5.24
-# Desc: children of *(*(psnp->long_ptr))
-gdbtk_test c_variable-5.24 {children of *(*(psnp->long_ptr))} {
- get_children psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr
-} {***psnp->long_ptr}
-
-# Test: c_variable-5.25
-# Desc: number of children of *(*(psnp->long_ptr))
-gdbtk_test c_variable-5.25 {number of children of *(*(psnp->long_ptr))} {
- $var(psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr) numChildren
-} {1}
-
-# Test: c_variable-5.26
-# Desc: children of *(*(*(psnp->long_ptr)))
-gdbtk_test c_variable-5.26 {children of *(*(*(psnp->long_ptr)))} {
- get_children psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr
-} {****psnp->long_ptr}
-
-# Test: c_variable-5.27
-# Desc: number of children of *(*(*(psnp->long_ptr)))
-gdbtk_test c_variable-5.27 {number of children of *(*(*(psnp->long_ptr)))} {
- $var(psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr) numChildren
-} {1}
-
-# Test: c_variable-5.28
-# Desc: children of *(*(*(*(psnp->long_ptr))))
-gdbtk_test c_variable-5.29 {children of *(*(*(*(psnp->long_ptr))))} {
- get_children psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr
-} {}
-
-# Test: c_variable-5.29
-# Desc: number of children of *(*(*(*(psnp->long_ptr))))
-gdbtk_test c_variable-5.29 {number of children of *(*(*(*(psnp->long_ptr))))} {
- $var(psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr) numChildren
-} {0}
-
-# Test: c_variable-5.30
-# Desc: create psnp->ptrs
-gdbtk_test c_variable-5.30 {create psnp->ptrs} {
- create_variable psnp->ptrs
-} {0}
-
-# Test: c_variable-5.31
-# Desc: children of psnp->ptrs
-gdbtk_test c_variable-5.31 {children of psnp->ptrs} {
- get_children psnp->ptrs
-} {0 1 2}
-
-# Test: c_variable-5.32
-# Desc: number of children of psnp->ptrs
-gdbtk_test c_variable-5.32 {number of children of psnp->ptrs} {
- $var(psnp->ptrs) numChildren
-} {3}
-
-# Test: c_variable-5.33
-# Desc: children of psnp->ptrs[0]
-gdbtk_test c_variable-5.33 {children of psnp->ptrs[0]} {
- get_children psnp->ptrs.0
-} {char_ptr long_ptr ptrs next}
-
-# Test: c_variable-5.34
-# Desc: number of children of psnp->ptrs[0]
-gdbtk_test c_variable-5.34 {number of children of psnp->ptrs[0]} {
- $var(psnp->ptrs.0) numChildren
-} {4}
-
-# Test: c_variable-5.35
-# Desc: children of psnp->ptrs[0]->next
-gdbtk_test c_variable-5.35 {children of psnp->ptrs.0.next} {
- get_children psnp->ptrs.0.next
-} {char_ptr long_ptr ptrs next}
-
-# Test: c_variable-5.36
-# Desc: number of children of psnp->ptrs[0]->next
-gdbtk_test c_variable-5.36 {number of children of psnp->ptrs[0]->next} {
- $var(psnp->ptrs.0.next) numChildren
-} {4}
-
-# Test: c_variable-5.37
-# Desc: children of psnp->ptrs[0]->next->char_ptr
-gdbtk_test c_variable-5.37 {children of psnp->ptrs[0]->next->char_ptr} {
- get_children psnp->ptrs.0.next.char_ptr
-} {*char_ptr}
-
-# Test: c_variable-5.38
-# Desc: number of children of psnp->ptrs[0]->next->char_ptr
-gdbtk_test c_variable-5.38 {number of children of psnp->ptrs[0]->next->char_ptr} {
- $var(psnp->ptrs.0.next.char_ptr) numChildren
-} {1}
-
-# Test: c_variable-5.39
-# Desc: children of *psnp->ptrs[0]->next->char_ptr
-gdbtk_test c_variable-5.39 {children of *psnp->ptrs[0]->next->char_ptr} {
- get_children psnp->ptrs.0.next.char_ptr.*char_ptr
-} {**char_ptr}
-
-# Test: c_variable-5.40
-# Desc: number of children of *psnp->ptrs[0]->next->char_ptr
-gdbtk_test c_variable-5.40 {number of children of *psnp->ptrs[0]->next->char_ptr} {
- $var(psnp->ptrs.0.next.char_ptr.*char_ptr) numChildren
-} {1}
-
-# Test: c_variable-5.41
-# Desc: children of **psnp->ptrs[0]->next->char_ptr
-gdbtk_test c_variable-5.41 {children of **psnp->ptrs[0]->next->char_ptr} {
- get_children psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr
-} {***char_ptr}
-
-# Test: c_variable-5.42
-# Desc: number of children of **psnp->ptrs[0]->next->char_ptr
-gdbtk_test c_variable-5.42 {number of children of **psnp->ptrs[0]->next->char_ptr} {
- $var(psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr) numChildren
-} {1}
-
-# Test: c_variable-5.43
-# Desc: children of ***psnp->ptrs[0]->next->char_ptr
-gdbtk_test c_variable-5.43 {children of ***psnp->ptrs[0]->next->char_ptr} {
- get_children psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr
-} {****char_ptr}
-
-# Test: c_variable-5.44
-# Desc: number of children of ***psnp->ptrs[0]->next->char_ptr
-gdbtk_test c_variable-5.44 {number of children of ***psnp->ptrs[0]->next->char_ptr} {
- $var(psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr) numChildren
-} {1}
-
-# Test: c_variable-5.45
-# Desc: children of psnp->ptrs[0]->next->next
-gdbtk_test c_variable-5.45 {children of psnp->ptrs[0]->next->next} {
- get_children psnp->ptrs.0.next.next
-} {char_ptr long_ptr ptrs next}
-
-# Test: c_variable-5.46
-# Desc: children of psnp->ptrs[0]->next->next->ptrs
-gdbtk_test c_variable-5.46 {children of psnp->ptrs[0]->next->next->ptrs} {
- get_children psnp->ptrs.0.next.next.ptrs
-} {0 1 2}
-
-# Step over "snp0.char_ptr = &b3;"
-gdb_cmd "step"
-
-# Test: c_variable-5.47
-# Desc: check that psnp->char_ptr (and [0].char_ptr) changed
-gdbtk_test c_variable-5.47 {check that psnp->char_ptr (and [0].char_ptr) changed} {
- check_update
-} {{psnp->ptrs.0.char_ptr {psnp->char_ptr psnp->char_ptr.*psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr}} {psnp->ptrs.0.next psnp->ptrs.0.next.ptrs psnp->ptrs.0.next.next psnp->ptrs.0.next.next.char_ptr psnp->ptrs.0.next.next.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr psnp->ptrs.0.next.char_ptr psnp->ptrs.0.next.long_ptr psnp->ptrs.0.next.next.ptrs psnp->ptrs.0.next.char_ptr.*char_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr psnp->ptrs.0.next.next.next psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr psnp->char_ptr.*psnp->char_ptr psnp->ptrs.0.next.next.ptrs.0 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr psnp->long_ptr.*psnp->long_ptr psnp->ptrs.0.next.next.ptrs.1 psnp->ptrs.0.next.next.ptrs.2 psnp->ptrs.0.char_ptr psnp->ptrs.0.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr psnp->ptrs.0.ptrs psnp->ptrs.0 psnp->ptrs.1 psnp->ptrs.2 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr}}
-
-# Step over "snp1.char_ptr = &c3;"
-gdb_cmd "step"
-
-# Test: c_variable-5.48
-# Desc: check that psnp->next->char_ptr (and [1].char_ptr) changed
-gdbtk_test c_variable-5.48 {check that psnp->next->char_ptr (and [1].char_ptr) changed} {
- check_update
-} {{{psnp->ptrs.0.next.char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr}} {psnp->ptrs.0.next psnp->ptrs.0.next.ptrs psnp->ptrs.0.next.next psnp->ptrs.0.next.next.char_ptr psnp->ptrs.0.next.next.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr psnp->ptrs.0.next.char_ptr psnp->ptrs.0.next.long_ptr psnp->ptrs.0.next.next.ptrs psnp->ptrs.0.next.char_ptr.*char_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr psnp->ptrs.0.next.next.next psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr psnp->char_ptr.*psnp->char_ptr psnp->ptrs.0.next.next.ptrs.0 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr psnp->long_ptr.*psnp->long_ptr psnp->ptrs.0.next.next.ptrs.1 psnp->ptrs.0.next.next.ptrs.2 psnp->ptrs.0.char_ptr psnp->ptrs.0.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr psnp->ptrs.0.ptrs psnp->ptrs.0 psnp->ptrs.1 psnp->ptrs.2 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr}}
-
-# Step over "snp2.char_ptr = &a3;"
-gdb_cmd "step"
-
-# Test: c_variable-5.49
-# Desc: check that psnp->next->next->char_ptr (and [2].char_ptr) changed
-gdbtk_test c_variable-5.49 {heck that psnp->next->next->char_ptr (and [2].char_ptr) changed} {
- check_update
-} {psnp->ptrs.0.next.next.char_ptr {psnp->ptrs.0.next psnp->ptrs.0.next.ptrs psnp->ptrs.0.next.next psnp->ptrs.0.next.next.char_ptr psnp->ptrs.0.next.next.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr psnp->ptrs.0.next.char_ptr psnp->ptrs.0.next.long_ptr psnp->ptrs.0.next.next.ptrs psnp->ptrs.0.next.char_ptr.*char_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr psnp->ptrs.0.next.next.next psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr psnp->char_ptr.*psnp->char_ptr psnp->ptrs.0.next.next.ptrs.0 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr psnp->long_ptr.*psnp->long_ptr psnp->ptrs.0.next.next.ptrs.1 psnp->ptrs.0.next.next.ptrs.2 psnp->ptrs.0.char_ptr psnp->ptrs.0.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr psnp->ptrs.0.ptrs psnp->ptrs.0 psnp->ptrs.1 psnp->ptrs.2 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr}}
-
-# Step over "snp0.long_ptr = &y3;"
-gdb_cmd "step"
-
-# Test: c_variable-5.50
-# Desc: check that psnp->long_ptr (and [0].long_ptr) changed
-gdbtk_test c_variable-5.50 {check that psnp->long_ptr (and [0].long_ptr) changed} {
- check_update
-} {{psnp->ptrs.0.long_ptr {psnp->long_ptr psnp->long_ptr.*psnp->long_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr}} {psnp->ptrs.0.next psnp->ptrs.0.next.ptrs psnp->ptrs.0.next.next psnp->ptrs.0.next.next.char_ptr psnp->ptrs.0.next.next.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr psnp->ptrs.0.next.char_ptr psnp->ptrs.0.next.long_ptr psnp->ptrs.0.next.next.ptrs psnp->ptrs.0.next.char_ptr.*char_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr psnp->ptrs.0.next.next.next psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr psnp->char_ptr.*psnp->char_ptr psnp->ptrs.0.next.next.ptrs.0 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr psnp->long_ptr.*psnp->long_ptr psnp->ptrs.0.next.next.ptrs.1 psnp->ptrs.0.next.next.ptrs.2 psnp->ptrs.0.char_ptr psnp->ptrs.0.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr psnp->ptrs.0.ptrs psnp->ptrs.0 psnp->ptrs.1 psnp->ptrs.2 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr}}
-
-# Step over "snp1.long_ptr = &x3;"
-gdb_cmd "step"
-
-# Test: c_variable-5.51
-# Desc: check that psnp->next->long_ptr (and [1].long_ptr) changed
-gdbtk_test c_variable-5.51 {check that psnp->next->long_ptr (and [1].long_ptr) changed} {
- check_update
-} {psnp->ptrs.0.next.long_ptr {psnp->ptrs.0.next psnp->ptrs.0.next.ptrs psnp->ptrs.0.next.next psnp->ptrs.0.next.next.char_ptr psnp->ptrs.0.next.next.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr psnp->ptrs.0.next.char_ptr psnp->ptrs.0.next.long_ptr psnp->ptrs.0.next.next.ptrs psnp->ptrs.0.next.char_ptr.*char_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr psnp->ptrs.0.next.next.next psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr psnp->char_ptr.*psnp->char_ptr psnp->ptrs.0.next.next.ptrs.0 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr psnp->long_ptr.*psnp->long_ptr psnp->ptrs.0.next.next.ptrs.1 psnp->ptrs.0.next.next.ptrs.2 psnp->ptrs.0.char_ptr psnp->ptrs.0.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr psnp->ptrs.0.ptrs psnp->ptrs.0 psnp->ptrs.1 psnp->ptrs.2 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr}}
-
-# Step over "snp2.long_ptr = &z3;"
-gdb_cmd "step"
-
-# Test: c_variable-5.52
-# Desc: check that psnp->next->next->long_ptr (and [2].long_ptr) changed
-gdbtk_test c_variable-5.52 {check that psnp->next->next->long_ptr (and [2].long_ptr) changed} {
- check_update
-} {psnp->ptrs.0.next.next.long_ptr {psnp->ptrs.0.next psnp->ptrs.0.next.ptrs psnp->ptrs.0.next.next psnp->ptrs.0.next.next.char_ptr psnp->ptrs.0.next.next.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr psnp->ptrs.0.next.char_ptr psnp->ptrs.0.next.long_ptr psnp->ptrs.0.next.next.ptrs psnp->ptrs.0.next.char_ptr.*char_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr psnp->ptrs.0.next.next.next psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr psnp->char_ptr.*psnp->char_ptr psnp->ptrs.0.next.next.ptrs.0 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr psnp->long_ptr.*psnp->long_ptr psnp->ptrs.0.next.next.ptrs.1 psnp->ptrs.0.next.next.ptrs.2 psnp->ptrs.0.char_ptr psnp->ptrs.0.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr psnp->ptrs.0.ptrs psnp->ptrs.0 psnp->ptrs.1 psnp->ptrs.2 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr}}
-
-# Test: c_variable-5.53
-# Desc: names of editable variables
-gdbtk_test c_variable-5.53 {names of editable variables} {
- editable_variables
-} {{psnp->ptrs.0.next psnp->ptrs.0.next.next psnp->ptrs.0.next.next.char_ptr psnp->ptrs.0.next.next.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr.****psnp->char_ptr psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr psnp->ptrs.0.next.char_ptr psnp->ptrs.0.next.long_ptr psnp->ptrs.0.next.char_ptr.*char_ptr psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr.****psnp->long_ptr psnp->ptrs.0.next.next.next psnp->char_ptr.*psnp->char_ptr.**psnp->char_ptr.***psnp->char_ptr psnp->char_ptr.*psnp->char_ptr psnp->ptrs.0.next.next.ptrs.0 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr.***psnp->long_ptr psnp->long_ptr.*psnp->long_ptr psnp->ptrs.0.next.next.ptrs.1 psnp->ptrs.0.next.next.ptrs.2 psnp->ptrs.0.char_ptr psnp->ptrs.0.long_ptr psnp->char_ptr psnp->ptrs.0.next.char_ptr.*char_ptr.**char_ptr.***char_ptr.****char_ptr psnp->long_ptr psnp->ptrs.0 psnp->ptrs.1 psnp->ptrs.2 psnp->long_ptr.*psnp->long_ptr.**psnp->long_ptr} {psnp->ptrs.0.next.ptrs psnp->ptrs.0.next.next.ptrs psnp->ptrs psnp->ptrs.0.ptrs}}
-
-##### #####
-# #
-# Display tests #
-# #
-##### #####
-
-delete_all_variables
-
-# Test: c_variable-6.1
-# Desc: create variable bar
-gdbtk_test c_variable-6.1 {create variable bar} {
- create_variable bar
-} {0}
-
-# Test: c_variable-6.2
-# Desc: type of variable bar
-gdbtk_test c_variable-6.2 {type of variable bar} {
- $var(bar) type
-} {int}
-
-# Test: c_variable-6.3
-# Desc: format of variable bar
-gdbtk_test c_variable-6.3 {format of variable bar} {
- $var(bar) format
-} {natural}
-
-# Test: c_variable-6.4
-# Desc: value of variable bar
-gdbtk_test c_variable-6.4 {value of variable bar} {
- value bar d
-} {ok}
-
-# Test: c_variable-6.5
-# Desc: change format of bar to hex
-gdbtk_test c_variable-6.5 {change format of bar to hex} {
- $var(bar) format hex
- $var(bar) format
-} {hexadecimal}
-
-# Test: c_variable-6.6
-# Desc: value of bar with new format
-gdbtk_test c_variable-6.6 {value of bar with new format} {
- value bar x
-} {ok}
-
-# Test: c_variable-6.7
-# Desc: change value of bar
-gdbtk_test c_variable-6.7 {change value of bar} {
- $var(bar) value 3
- value bar x
-} {ok}
-
-# Test: c_variable-6.8
-# Desc: check new value of bar
-gdbtk_test c_variable-6.8 {change value of bar} {
- $var(bar) format decimal
- $var(bar) value
-} {3}
-
-delete_variable bar
-
-# Test: c_variable-6.11
-# Desc: create variable foo
-gdbtk_test c_variable-6.11 {create variable foo} {
- create_variable foo
-} {0}
-
-# Test: c_variable-6.12
-# Desc: type of variable foo
-gdbtk_test c_variable-6.12 {type of variable foo} {
- $var(foo) type
-} {int *}
-
-# Test: c_variable-6.13
-# Desc: format of variable foo
-gdbtk_test c_variable-6.13 {format of variable foo} {
- $var(foo) format
-} {natural}
-
-# Test: c_variable-6.14
-# Desc: value of variable foo
-gdbtk_test c_variable-6.14 {value of variable foo} {
- value foo x
-} {ok}
-
-# Test: c_variable-6.15
-# Desc: change format of var to octal
-gdbtk_test c_variable-6.15 {change format of foo to octal} {
- $var(foo) format octal
- $var(foo) format
-} {octal}
-
-# Test: c_variable-6.16
-# Desc: value of foo with new format
-gdbtk_test c_variable-6.16 {value of foo with new format} {
- value foo o
-} {ok}
-
-# Test: c_variable-6.17
-# Desc: change value of foo
-gdbtk_test c_variable-6.17 {change value of foo} {
- $var(foo) value 3
- value foo o
-} {ok}
-
-# Test: c_variable-6.18
-# Desc: check new value of foo
-gdbtk_test c_variable-6.18 {check new value of foo} {
- $var(foo) format decimal
- $var(foo) value
-} {3}
-
-delete_variable foo
-
-# Test: c_variable-6.21
-# Desc: create variable weird and children
-gdbtk_test c_variable-6.21 {create variable foo} {
- if {![create_variable weird]} {
- lsort [get_children weird]
- }
-} {char_ptr character func_ptr func_ptr_ptr func_ptr_struct int_ptr_ptr integer long_array long_int s2 u1}
-
-# Test: c_variable-6.22
-# Desc: type of weird and children
-gdbtk_test c_variable-6.22 {type of weird and children} {
- set types {}
- foreach v [lsort [array names var]] {
- lappend types [$var($v) type]
- }
-
- set types
-} {{weird_struct *} {char *} char {void (*)(void)} {struct _struct_decl *(*)(int, char *, long int)} {struct _struct_decl (*)(int, char *, long int)} {int **} int {long int [10]} {long int} struct union}
-
-# Test: c_variable-6.23
-# Desc: change format of weird.func_ptr and weird.func_ptr_ptr
-gdbtk_test c_variable-6.23 {change format of weird.func_ptr and weird.func_ptr_ptr} {
- $var(weird.func_ptr) format hexadecimal
- $var(weird.func_ptr_ptr) format hexadecimal
- set result {}
- lappend result [$var(weird.func_ptr) format]
- lappend result [$var(weird.func_ptr_ptr) format]
- set result
-} {hexadecimal hexadecimal}
-
-# Test: c_variable-6.24
-# Desc: format of weird and children
-gdbtk_test c_variable-6.24 {format of weird and children} {
- set formats {}
- foreach v [lsort [array names var]] {
- lappend formats [$var($v) format]
- }
-
- set formats
-} {natural natural natural hexadecimal hexadecimal natural natural natural natural natural natural natural}
-
-# Test: c_variable-6.25
-# Desc: value of weird and children
-gdbtk_test c_variable-6.25 {value of weird and children} {
- set values {}
- foreach v [lsort [array names var]] f [list x "" "" x x x x d d d d d] {
- lappend values [value $v $f]
- }
-
- set values
-} {ok ok ok ok ok ok ok ok weird.long_array ok weird.s2 weird.u1}
-
-# Test: c_variable-6.26
-# Desc: change format of weird and children to octal
-gdbtk_test c_variable-6.26 {change format of weird and children to octal} {
- set formats {}
- foreach v [lsort [array names var]] {
- $var($v) format octal
- lappend formats [$var($v) format]
- }
-
- set formats
-} {octal octal octal octal octal octal octal octal octal octal octal octal}
-
-# Test: c_variable-6.27
-# Desc: value of weird and children with new format
-gdbtk_test c_variable-6.27 {value of foo with new format} {
- set values {}
- foreach v [lsort [array names var]] {
- lappend values [value $v o]
- }
-
- set values
-} {ok ok ok ok ok ok ok ok weird.long_array ok weird.s2 weird.u1}
-
-# Test: c_variable-6.30
-# Desc: create more children of weird
-gdbtk_test c_variable-6.30 {create more children of weird} {
- foreach v [array names var] {
- get_children $v
- }
-
- # Do it twice to get more children
- foreach v [array names var] {
- get_children $v
- }
-
- lsort [array names var]
-} {weird weird.char_ptr weird.char_ptr.*char_ptr weird.character weird.func_ptr weird.func_ptr_ptr weird.func_ptr_struct weird.int_ptr_ptr weird.int_ptr_ptr.*int_ptr_ptr weird.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr weird.integer weird.long_array weird.long_array.0 weird.long_array.1 weird.long_array.2 weird.long_array.3 weird.long_array.4 weird.long_array.5 weird.long_array.6 weird.long_array.7 weird.long_array.8 weird.long_array.9 weird.long_int weird.s2 weird.s2.g weird.s2.h weird.s2.i weird.s2.i.0 weird.s2.i.1 weird.s2.i.2 weird.s2.i.3 weird.s2.i.4 weird.s2.i.5 weird.s2.i.6 weird.s2.i.7 weird.s2.i.8 weird.s2.i.9 weird.s2.u2 weird.s2.u2.f weird.s2.u2.u1s1 weird.s2.u2.u1s2 weird.u1 weird.u1.a weird.u1.b weird.u1.b.*b weird.u1.c weird.u1.d}
-
-# Test: c_variable-6.31
-# Desc: check that all children of weird change
-# Ok, obviously things like weird.s2 and weird.u1 will not change!
-gdbtk_test c_variable-6.31 {check that all children of weird change (ops, we are now reporting array names as changed in this case - seems harmless though)} {
- $var(weird) value 0x2121
- check_update
-} {{{weird weird.integer weird.character weird.char_ptr weird.char_ptr.*char_ptr weird.long_int weird.int_ptr_ptr weird.int_ptr_ptr.*int_ptr_ptr weird.long_array.0 weird.long_array.1 weird.long_array.2 weird.long_array.3 weird.long_array.4 weird.long_array.5 weird.long_array.6 weird.long_array.7 weird.long_array.8 weird.long_array.9 weird.func_ptr weird.func_ptr_struct weird.func_ptr_ptr weird.u1.a weird.u1.b weird.u1.c weird.u1.d weird.s2.u2.f weird.s2.g weird.s2.h weird.s2.i.0 weird.s2.i.1 weird.s2.i.2 weird.s2.i.3 weird.s2.i.4 weird.s2.i.5 weird.s2.i.6 weird.s2.i.7 weird.s2.i.8 weird.s2.i.9}} {weird.char_ptr weird.s2.u2.f weird.int_ptr_ptr.*int_ptr_ptr.**int_ptr_ptr weird.s2.g weird.s2.h weird.s2.i weird.func_ptr_ptr weird.func_ptr weird.s2.u2 weird.int_ptr_ptr weird.long_int weird.character weird.s2.u2.u1s1 weird.s2.u2.u1s2 weird.long_array.0 weird.u1.a weird.long_array.1 weird.s2 weird.func_ptr_struct weird.u1.b weird.long_array.2 weird.long_array weird.u1.c weird.long_array.3 weird.u1.d weird.long_array.4 weird.long_array.5 weird.s2.i.0 weird.long_array.6 weird.s2.i.1 weird.long_array.7 weird.s2.i.2 weird.long_array.8 weird.s2.i.3 weird.long_array.9 weird.s2.i.4 weird.integer weird.s2.i.5 weird.s2.i.6 weird.s2.i.7 weird.s2.i.8 weird.int_ptr_ptr.*int_ptr_ptr weird.s2.i.9 weird.char_ptr.*char_ptr weird.u1 weird.u1.b.*b}}
-
-delete_variable weird
-
-##### #####
-# #
-# Special Display Tests #
-# #
-##### #####
-
-# Stop in "do_special_tests"
-gdb_cmd "break do_special_tests"
-gdb_cmd "continue"
-
-# Test: c_variable-7.1
-# Desc: stop in do_special_tests
-gdbtk_test c_variable-7.1 {stop in do_special_tests} {
- lindex [gdb_loc] 1
-} {do_special_tests}
-
-# Test: c_variable-7.10
-# Desc: create union u
-gdbtk_test c_variable-7.10 {create union u} {
- create_variable u
-} {0}
-
-# Test: c_variable-7.11
-# Desc: value of u
-gdbtk_test c_variable-7.11 {value of u} {
- $var(u) value
-} {{...}}
-
-# Test: c_variable-7.12
-# Desc: type of u
-gdbtk_test c_variable-7.12 {type of u} {
- $var(u) type
-} {union named_union}
-
-# Test: c_variable-7.13
-# Desc: is u editable
-gdbtk_test c_variable-7.13 {is u editable} {
- $var(u) editable
-} {0}
-
-# Test: c_variable-7.14
-# Desc: number of children of u
-gdbtk_test c_variable-7.14 {number of children of u} {
- $var(u) numChildren
-} {2}
-
-# Test: c_variable-7.15
-# Desc: children of u
-gdbtk_test c_variable-7.15 {children of u} {
- get_children u
-} {integer char_ptr}
-
-# Test: c_variable-7.20
-# Desc: create anonu
-gdbtk_test c_variable-7.20 {create anonu} {
- create_variable anonu
-} {0}
-
-# Test: c_variable-7.21
-# Desc: value of anonu
-gdbtk_test c_variable-7.21 {value of anonu} {
- $var(anonu) value
-} {{...}}
-
-# Test: c_variable-7.22
-# Desc: type of anonu
-gdbtk_test c_variable-7.22 {type of anonu} {
- $var(anonu) type
-} {union}
-
-# Test: c_variable-7.23
-# Desc: is anonu editable
-gdbtk_test c_variable-7.23 {is anonu editable} {
- $var(anonu) editable
-} {0}
-
-# Test: c_variable-7.24
-# Desc: number of children of anonu
-gdbtk_test c_variable-7.24 {number of children of anonu} {
- $var(anonu) numChildren
-} {3}
-
-# Test: c_variable-7.25
-# Desc: children of anonu
-gdbtk_test c_variable-7.25 {children of anonu} {
- get_children anonu
-} {a b c}
-
-# Test: c_variable-7.30
-# Desc: create struct s
-gdbtk_test c_variable-7.30 {create struct s} {
- create_variable s
-} {0}
-
-# Test: c_variable-7.31
-# Desc: value of s
-gdbtk_test c_variable-7.31 {value of s} {
- $var(s) value
-} {{...}}
-
-# Test: c_variable-7.32
-# Desc: type of s
-gdbtk_test c_variable-7.32 {type of s} {
- $var(s) type
-} {struct _simple_struct}
-
-# Test: c_variable-7.33
-# Desc: is s editable
-gdbtk_test c_variable-7.33 {is s editable} {
- $var(s) editable
-} {0}
-
-# Test: c_variable-7.34
-# Desc: number of children of s
-gdbtk_test c_variable-7.34 {number of children of s} {
- $var(s) numChildren
-} {6}
-
-# Test: c_variable-7.35
-# Desc: children of s
-gdbtk_test c_variable-7.35 {children of s} {
- get_children s
-} {integer unsigned_integer character signed_character char_ptr array_of_10}
-
-# Test: c_variable-7.40
-# Desc: create anons
-gdbtk_test c_variable-7.40 {create anons} {
- create_variable anons
-} {0}
-
-# Test: c_variable-7.41
-# Desc: value of anons
-gdbtk_test c_variable-7.41 {value of anons} {
- $var(anons) value
-} {{...}}
-
-# Test: c_variable-7.42
-# Desc: type of anons
-gdbtk_test c_variable-7.42 {type of anons} {
- $var(anons) type
-} {struct}
-
-# Test: c_variable-7.43
-# Desc: is anons editable
-gdbtk_test c_variable-7.43 {is anons editable} {
- $var(anons) editable
-} {0}
-
-# Test: c_variable-7.44
-# Desc: number of children of anons
-gdbtk_test c_variable-7.44 {number of children of anons} {
- $var(anons) numChildren
-} {3}
-
-# Test: c_variable-7.45
-# Desc: children of anons
-gdbtk_test c_variable-7.45 {children of anons} {
- get_children anons
-} {a b c}
-
-# Test: c_variable-7.50
-# Desc: create enum e
-gdbtk_test c_variable-7.50 {create enum e} {
- create_variable e
-} {0}
-
-# Test: c_variable-7.51
-# Desc: value of e
-gdbtk_test c_variable-7.51 {value of e} {
- $var(e) value bar
- $var(e) value
-} {bar}
-
-# Test: c_variable-7.52
-# Desc: type of e
-gdbtk_test c_variable-7.52 {type of e} {
- $var(e) type
-} {enum foo}
-
-# Test: c_variable-7.53
-# Desc: is e editable
-gdbtk_test c_variable-7.53 {is e editable} {
- $var(e) editable
-} {1}
-
-# Test: c_variable-7.54
-# Desc: number of children of e
-gdbtk_test c_variable-7.54 {number of children of e} {
- $var(e) numChildren
-} {0}
-
-# Test: c_variable-7.55
-# Desc: children of e
-gdbtk_test c_variable-7.55 {children of e} {
- get_children e
-} {}
-
-# Test: c_variable-7.60
-# Desc: create anone
-gdbtk_test c_variable-7.60 {create anone} {
- create_variable anone
-} {0}
-
-# Test: c_variable-7.61
-# Desc: value of anone
-gdbtk_test c_variable-7.61 {value of e} {
- $var(e) value bar
- $var(e) value
-} {bar}
-
-# Test: c_variable-7.62
-# Desc: type of e
-gdbtk_test c_variable-7.62 {type of e} {
- $var(e) type
-} {enum foo}
-
-# Test: c_variable-7.63
-# Desc: is e editable
-gdbtk_test c_variable-7.63 {is e editable} {
- $var(e) editable
-} {1}
-
-# Test: c_variable-7.64
-# Desc: number of children of e
-gdbtk_test c_variable-7.64 {number of children of e} {
- $var(e) numChildren
-} {0}
-
-# Test: c_variable-7.65
-# Desc: children of e
-gdbtk_test c_variable-7.65 {children of e} {
- get_children e
-} {}
-
-# Test: c_variable-7.70
-# Desc: create anone
-gdbtk_test c_variable-7.70 {try to create anone again (duplicate obj name} {
- create_variable anone
-} {1}
-
-# Test: c_variable-7.71
-# Desc: value of anone
-gdbtk_test c_variable-7.71 {value of anone} {
- $var(anone) value A
- $var(anone) value
-} {A}
-
-# Test: c_variable-7.72
-# Desc: type of anone
-gdbtk_test c_variable-7.72 {type of anone} {
- $var(anone) type
-} {enum}
-
-# Test: c_variable-7.73
-# Desc: is anone editable
-gdbtk_test c_variable-7.73 {is anone editable} {
- $var(anone) editable
-} {1}
-
-# Test: c_variable-7.74
-# Desc: number of children of anone
-gdbtk_test c_variable-7.74 {number of children of anone} {
- $var(anone) numChildren
-} {0}
-
-# Test: c_variable-7.75
-# Desc: children of anone
-gdbtk_test c_variable-7.75 {children of anone} {
- get_children anone
-} {}
-
-# Record fp
-set fp [gdb_cmd "output/x \$fp"]
-gdb_cmd {break incr_a}
-gdb_cmd {continue}
-
-# Test: c_variable-7.80
-# Desc: stop in incr_a
-gdbtk_test c_variable-7.80 {stop in incr_a} {
- lindex [gdb_loc] 1
-} {incr_a}
-
-# Test: c_variable-7.81
-# Desc: Create variables in different scopes
-gdbtk_test c_variable-7.81 {create variables in different scopes} {
- set a1 [gdb_variable create -expr a]
- set a2 [gdb_variable create -expr a -frame $fp]
-
- set vals {}
- lappend vals [$a1 value]
- lappend vals [$a2 value]
- set vals
-} {2 1}
-
-# Exit
-#
-gdbtk_test_done
-
-#Local Variables:
-#mode: tcl
diff --git a/gdb/testsuite/gdb.gdbtk/configure b/gdb/testsuite/gdb.gdbtk/configure
deleted file mode 100644
index 16dc537ba46..00000000000
--- a/gdb/testsuite/gdb.gdbtk/configure
+++ /dev/null
@@ -1,2248 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59.
-#
-# Copyright (C) 2003 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 Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; 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
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# 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
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- 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
-
- ;;
- 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
- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # 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 sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# 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'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-exec 6>&1
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_config_libobj_dir=.
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete. It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
-# Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
-
-ac_unique_file="defs"
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS CC build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os LIBOBJS LTLIBOBJS'
-ac_subst_files=''
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-# 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.
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-ac_prev=
-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
-
- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_option in
-
- -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 | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- eval "enable_$ac_feature=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_$ac_feature='$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 ;;
-
- -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 ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- 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 ;;
-
- -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_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "with_$ac_package='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/-/_/g'`
- eval "with_$ac_package=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 ;;
-
- -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
- eval "$ac_envvar='$ac_optarg'"
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- 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'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
- { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
- localstatedir libdir includedir oldincludedir infodir mandir
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-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
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
- 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
-
-
-# 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 its parent.
- ac_confdir=`(dirname "$0") 2>/dev/null ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$0" |
- 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
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
- { (exit 1); exit 1; }; }
- else
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
- fi
-fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
- { (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-
-#
-# 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 \`..']
-
-_ACEOF
-
- cat <<_ACEOF
-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]
- --datadir=DIR read-only architecture-independent data [PREFIX/share]
- --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]
- --infodir=DIR info documentation [PREFIX/info]
- --mandir=DIR man documentation [PREFIX/man]
-_ACEOF
-
- cat <<\_ACEOF
-
-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
-
-_ACEOF
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- ac_popdir=`pwd`
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d $ac_dir || continue
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
- cd $ac_dir
- # Check for guested configure; otherwise get Cygnus style 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
- elif test -f $ac_srcdir/configure.ac ||
- test -f $ac_srcdir/configure.in; then
- echo
- $ac_configure --help
- else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi
- cd $ac_popdir
- done
-fi
-
-test -n "$ac_init_help" && exit 0
-if $ac_init_version; then
- cat <<\_ACEOF
-
-Copyright (C) 2003 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 0
-fi
-exec 5>config.log
-cat >&5 <<_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.59. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-{
-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`
-hostinfo = `(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=.
- echo "PATH: $as_dir"
-done
-
-} >&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_sep=
-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=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
- 2)
- ac_configure_args1="$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
- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
- # Get rid of the leading space.
- ac_sep=" "
- ;;
- esac
- done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export 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: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
- echo
- # The following way of writing the cache mishandles newlines in values,
-{
- (set) 2>&1 |
- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- sed -n \
- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
- ;;
- *)
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-}
- echo
-
- cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
- echo
- sed "/^$/d" confdefs.h | sort
- echo
- fi
- test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core &&
- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
- ' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >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
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
- 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.
- if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . $cache_file;;
- *) . ./$cache_file;;
- esac
- fi
-else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-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 `(set) 2>&1 |
- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; 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,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-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
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=$ac_var=`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.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
- { (exit 1); exit 1; }; }
-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=${CC-cc}
-
-ac_aux_dir=
-for ac_dir in `cd $srcdir;pwd`/../../.. $srcdir/`cd $srcdir;pwd`/../../..; 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
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in \`cd $srcdir;pwd\`/../../.. $srcdir/\`cd $srcdir;pwd\`/../../.." >&5
-echo "$as_me: error: cannot find install-sh or install.sh in \`cd $srcdir;pwd\`/../../.. $srcdir/\`cd $srcdir;pwd\`/../../.." >&2;}
- { (exit 1); exit 1; }; }
-fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
-
-# Make sure we can run config.sub.
-$ac_config_sub sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
- { (exit 1); exit 1; }; }
-
-echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6
-if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_build_alias=$build_alias
-test -z "$ac_cv_build_alias" &&
- ac_cv_build_alias=`$ac_config_guess`
-test -z "$ac_cv_build_alias" &&
- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
- { (exit 1); exit 1; }; }
-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6
-build=$ac_cv_build
-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6
-if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_host_alias=$host_alias
-test -z "$ac_cv_host_alias" &&
- ac_cv_host_alias=$ac_cv_build_alias
-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6
-host=$ac_cv_host
-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-echo "$as_me:$LINENO: checking target system type" >&5
-echo $ECHO_N "checking target system type... $ECHO_C" >&6
-if test "${ac_cv_target+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_target_alias=$target_alias
-test "x$ac_cv_target_alias" = "x" &&
- ac_cv_target_alias=$ac_cv_host_alias
-ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_target" >&5
-echo "${ECHO_T}$ac_cv_target" >&6
-target=$ac_cv_target
-target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-# 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_config_files="$ac_config_files Makefile"
-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, don't put newlines in cache variables' values.
-# 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.
-{
- (set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *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 \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-} |
- sed '
- t clear
- : clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
- cat confcache >$cache_file
- else
- echo "not updating unwritable cache $cache_file"
- 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}'
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ 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[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}'
-fi
-
-# Transform confdefs.h into DEFS.
-# Protect against shell expansion while executing Makefile rules.
-# Protect against Makefile macro expansion.
-#
-# If the first sed substitution is executed (which looks for macros that
-# take arguments), then we branch to the quote section. Otherwise,
-# look for a macro that doesn't take arguments.
-cat >confdef2opt.sed <<\_ACEOF
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*([^)]*)\)[ ]*\(.*\),-D\1=\2,g
-t quote
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\),-D\1=\2,g
-t quote
-d
-: quote
-s,[ `~#$^&*(){}\\|;'"<>?],\\&,g
-s,\[,\\&,g
-s,\],\\&,g
-s,\$,$$,g
-p
-_ACEOF
-# We use echo to avoid assuming a particular line-breaking character.
-# The extra dot is to prevent the shell from consuming trailing
-# line-breaks from the sub-command output. A line-break within
-# single-quotes doesn't work because, if this script is created in a
-# platform that uses two characters for line-breaks (e.g., DOS), tr
-# would break.
-ac_LF_and_DOT=`echo; echo .`
-DEFS=`sed -n -f confdef2opt.sed confdefs.h | tr "$ac_LF_and_DOT" ' .'`
-rm -f confdef2opt.sed
-
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_i=`echo "$ac_i" |
- sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
- # 2. Add them.
- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-
-: ${CONFIG_STATUS=./config.status}
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
-#! $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}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; 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
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# 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
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- 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
-
- ;;
- 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
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
- { (exit 1); exit 1; }; }
-
- # 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 sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# 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'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-exec 6>&1
-
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
-_ACEOF
-
-# Files that config.status was made for.
-if test -n "$ac_config_files"; then
- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_headers"; then
- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number, then exit
- -q, --quiet 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
-
-Configuration files:
-$config_files
-
-Report bugs to <bug-autoconf@gnu.org>."
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-config.status
-configured by $0, generated by GNU Autoconf 2.59,
- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright (C) 2003 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-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=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_option=$1
- ac_need_defaults=false;;
- esac
-
- case $ac_option in
- # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
- ac_need_defaults=false;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1" ;;
-
- 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
-if \$ac_cs_recheck; then
- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-fi
-
-_ACEOF
-
-
-
-
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_config_target in $ac_config_targets
-do
- case "$ac_config_target" in
- # Handling of arguments.
- "Makefile" ) CONFIG_FILES="$CONFIG_FILES Makefile" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- 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
-fi
-
-# Have a temporary directory for convenience. Make it in the build tree
-# simply because there is no reason to put it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
-$debug ||
-{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=./confstat$$-$RANDOM
- (umask 077 && mkdir $tmp)
-} ||
-{
- echo "$me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
-}
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
-#
-# CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s,@SHELL@,$SHELL,;t t
-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s,@exec_prefix@,$exec_prefix,;t t
-s,@prefix@,$prefix,;t t
-s,@program_transform_name@,$program_transform_name,;t t
-s,@bindir@,$bindir,;t t
-s,@sbindir@,$sbindir,;t t
-s,@libexecdir@,$libexecdir,;t t
-s,@datadir@,$datadir,;t t
-s,@sysconfdir@,$sysconfdir,;t t
-s,@sharedstatedir@,$sharedstatedir,;t t
-s,@localstatedir@,$localstatedir,;t t
-s,@libdir@,$libdir,;t t
-s,@includedir@,$includedir,;t t
-s,@oldincludedir@,$oldincludedir,;t t
-s,@infodir@,$infodir,;t t
-s,@mandir@,$mandir,;t t
-s,@build_alias@,$build_alias,;t t
-s,@host_alias@,$host_alias,;t t
-s,@target_alias@,$target_alias,;t t
-s,@DEFS@,$DEFS,;t t
-s,@ECHO_C@,$ECHO_C,;t t
-s,@ECHO_N@,$ECHO_N,;t t
-s,@ECHO_T@,$ECHO_T,;t t
-s,@LIBS@,$LIBS,;t t
-s,@CC@,$CC,;t t
-s,@build@,$build,;t t
-s,@build_cpu@,$build_cpu,;t t
-s,@build_vendor@,$build_vendor,;t t
-s,@build_os@,$build_os,;t t
-s,@host@,$host,;t t
-s,@host_cpu@,$host_cpu,;t t
-s,@host_vendor@,$host_vendor,;t t
-s,@host_os@,$host_os,;t t
-s,@target@,$target,;t t
-s,@target_cpu@,$target_cpu,;t t
-s,@target_vendor@,$target_vendor,;t t
-s,@target_os@,$target_os,;t t
-s,@LIBOBJS@,$LIBOBJS,;t t
-s,@LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
-
-_ACEOF
-
- cat >>$CONFIG_STATUS <<\_ACEOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
- fi
-fi # test -n "$CONFIG_FILES"
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
-
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
- # 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. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;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,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-
-# 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 || { (exit 1); exit 1; }
-fi
-
diff --git a/gdb/testsuite/gdb.gdbtk/configure.ac b/gdb/testsuite/gdb.gdbtk/configure.ac
deleted file mode 100644
index 5ab12edbf15..00000000000
--- a/gdb/testsuite/gdb.gdbtk/configure.ac
+++ /dev/null
@@ -1,18 +0,0 @@
-dnl Process this file file with autoconf to produce a configure script.
-dnl This file is a shell script fragment that supplies the information
-dnl necessary to tailor a template configure script into the configure
-dnl script appropriate for this directory. For more information, check
-dnl any existing configure script.
-
-AC_PREREQ(2.5)
-AC_INIT(defs)
-
-CC=${CC-cc}
-AC_SUBST(CC)
-AC_CONFIG_AUX_DIR(`cd $srcdir;pwd`/../../..)
-AC_CANONICAL_SYSTEM
-
-dnl Check for exe extension set on certain hosts (e.g. Win32)
-AC_EXEEXT
-
-AC_OUTPUT(Makefile)
diff --git a/gdb/testsuite/gdb.gdbtk/console.exp b/gdb/testsuite/gdb.gdbtk/console.exp
deleted file mode 100644
index b17eaa11ee7..00000000000
--- a/gdb/testsuite/gdb.gdbtk/console.exp
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1998, 1999, 2001, 2004 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 (GPL) as published by
-# the Free Software Foundation; either version 2 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.
-
-load_lib ../gdb.gdbtk/insight-support.exp
-
-if {[gdbtk_initialize_display]} {
- if {$tracelevel} {
- strace $tracelevel
- }
-
- #
- # test console window
- #
- set prms_id 0
- set bug_id 0
-
- set testfile "simple"
- set srcfile ${testfile}.c
- set binfile ${objdir}/${subdir}/${testfile}
- set r [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug}]
- if { $r != "" } {
- gdb_suppress_entire_file \
- "Testcase compile failed, so some tests in this file will automatically fail."
- }
-
- # Start with a fresh gdbtk
- gdb_exit
- set results [gdbtk_start [file join $srcdir $subdir console.test]]
- set results [split $results \n]
-
- # Analyze results
- gdbtk_done $results
-}
diff --git a/gdb/testsuite/gdb.gdbtk/console.test b/gdb/testsuite/gdb.gdbtk/console.test
deleted file mode 100644
index 41e79465cd2..00000000000
--- a/gdb/testsuite/gdb.gdbtk/console.test
+++ /dev/null
@@ -1,491 +0,0 @@
-# Copyright (C) 1998, 1999, 2002 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 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Keith Seitz (keiths@cygnus.com)
-
-# Read in the standard defs file
-
-if {![gdbtk_read_defs]} {
- break
-}
-
-global objdir test_ran
-global console text
-set console [ManagedWin::open Console]
-set text [$console test set _twin]
-
-##### #####
-# #
-# Helper functions for this module #
-# #
-##### #####
-
-# console_command --
-# Invoke STRING as a command in the console window and
-# return the result
-proc console_command {string} {
- global console text
-
- # Save current position
- set line [lindex [split [$text index cmdmark] .] 0]
- incr line 1
-
- # Insert and invoke command
- $text insert end $string
- $console invoke
- update
-
- # Get the result
- set end [lindex [split [$text index cmdmark] .] 0]
- incr end -1
- return [$text get $line.0 [list $end.0 lineend]]
-}
-
-# get_cmd_line --
-# Return the command line
-proc get_cmd_line {} {
- global text
-
- update
- set index [$text index cmdmark]
- return [$text get [list $index linestart] [list $index lineend]]
-}
-
-# clear_command_line --
-# Clear the command line
-proc clear_command_line {} {
- global text
- $text delete {cmdmark + 1 char} insert
-}
-
-##### #####
-# #
-# CONSOLE TESTS #
-# #
-##### #####
-
-#
-# Miscellaneous tests
-#
-
-# Test: console-misc-1
-# Desc: Change console prompt
-gdbtk_test console-misc-1 {change console prompt} {
- # Insert the "set prompt" command into the text widget
- console_command {set prompt (test) }
-
- $text get {cmdmark linestart} {cmdmark lineend}
-} {(test) }
-if {$test_ran} {
- console_command {set prompt (gdb) }
-}
-
-#
-# Paste tests
-#
-
-# Test: console-paste-1
-# Desc: Paste the X selection into console window
-gdbtk_test console-paste-1 {paste X text} {
- # This is cheesy, but it works... Create a text widget
- # which holds the current selection...
- text .test_text
- .test_text insert end "this is some pasted text"
- .test_text tag add sel 1.0 {1.0 lineend}
- event generate .test_text <<Copy>>
- event generate $text <<Paste>>
- get_cmd_line
-} {(gdb) this is some pasted text}
-if {$test_ran} {
- destroy .test_text
- clear_command_line
-}
-
-#
-# Test for errors
-#
-
-# Test: console-error-1
-# Desc: Check if console window reports internal gdb errors
-gdbtk_test console-error-1 {invoke unknown command} {
- console_command {this_command_doesn't_exist}
-} {Error: Undefined command: "this". Try "help".
-}
-
-#
-# History tests
-#
-
-# Test: console-history-1.1
-# Desc: Exercise the up-history functionality
-gdbtk_test console-history-1.1 {up history once} {
- # Add some commands into the command buffer
- console_command {show annotate}
- console_command {show complaints}
- console_command {show confirm}
- console_command {show height}
- console_command {show language}
- console_command {show print demangle}
- console_command {show remotebaud}
- console_command {show remotebreak}
- console_command {show remotecache}
- console_command {show remotedebug}
- console_command {show remotedevice}
- console_command {show remotelogbase}
- console_command {help quit}
- console_command {help si}
- # this doesn't seem to work reliably: event generate $text <Up>
- $console test _previous
- get_cmd_line
-} {(gdb) help si}
-if {$test_ran} {
- clear_command_line
-}
-
-# Test: console-history-1.2
-# Desc: Exercise the up-history functionality
-gdbtk_test console-history-1.2 {up history twice} {
- # Add some commands into the command buffer
- console_command {show annotate}
- console_command {show complaints}
- console_command {show confirm}
- console_command {show height}
- console_command {show language}
- console_command {show print demangle}
- console_command {show remotebaud}
- console_command {show remotebreak}
- console_command {show remotecache}
- console_command {show remotedebug}
- console_command {show remotedevice}
- console_command {show remotelogbase}
- console_command {help quit}
- console_command {help si}
- # this doesn't seem to work reliably: event generate $text <Up>
- # this doesn't seem to work reliably: event generate $text <Up>
- $console test _previous
- $console test _previous
- get_cmd_line
-} {(gdb) help quit}
-if {$test_ran} {
- clear_command_line
-}
-
-# Test: console-history-1.3
-# Desc: Exercise the up-history functionality
-gdbtk_test console-history-1.3 {up history four times} {
- # Add some commands into the command buffer
- console_command {show annotate}
- console_command {show complaints}
- console_command {show confirm}
- console_command {show height}
- console_command {show language}
- console_command {show print demangle}
- console_command {show remotebaud}
- console_command {show remotebreak}
- console_command {show remotecache}
- console_command {show remotedebug}
- console_command {show remotedevice}
- console_command {show remotelogbase}
- console_command {help quit}
- console_command {help si}
-
- for {set i 0} {$i < 4} {incr i} {
- # this doesn't seem to work reliably: event generate $text <Up>
- $console test _previous
- }
- get_cmd_line
-} {(gdb) show remotedevice}
-if {$test_ran} {
- clear_command_line
-}
-
-# Test: console-history-1.4
-# Desc: Exercise the up-history functionality
-gdbtk_test console-history-1.4 {up fourteen times} {
- # Add some commands into the command buffer
- console_command {show annotate}
- console_command {show complaints}
- console_command {show confirm}
- console_command {show height}
- console_command {show language}
- console_command {show print demangle}
- console_command {show remotebaud}
- console_command {show remotebreak}
- console_command {show remotecache}
- console_command {show remotedebug}
- console_command {show remotedevice}
- console_command {show remotelogbase}
- console_command {help quit}
- console_command {help si}
- for {set i 0} {$i < 14} {incr i} {
- # this doesn't seem to work reliably: event generate $text <Up>
- $console test _previous
- }
- get_cmd_line
-} {(gdb) show annotate}
-if {$test_ran} {
- clear_command_line
-}
-
-# Test: console-history-1.5
-# Desc: Exercise the up-history search functionality
-gdbtk_test console-history-1.5 {up search} {
- # Add some commands into the command buffer
- console_command {show height}
- console_command {show annotate}
- console_command {show complaints}
- console_command {print main}
- console_command {show remotelogbase}
- console_command {help quit}
- console_command {help si}
-
- $text insert end "sh"
- # this doesn't seem to work reliably: event generate $text <Shift-Up>
- # this doesn't seem to work reliably: event generate $text <Shift-Up>
- # this doesn't seem to work reliably: event generate $text <Shift-Up>
- $console test _search_history
- $console test _search_history
- $console test _search_history
- get_cmd_line
-} {(gdb) show annotate}
-
-
-# Test: console-history-1.6
-# Desc: Exercise the down-history search functionality
-gdbtk_test console-history-1.6 {down search} {
- # this doesn't seem to work reliably: event generate $text <Shift-Down>
- # this doesn't seem to work reliably: event generate $text <Shift-Down>
- $console test _rsearch_history
- $console test _rsearch_history
- get_cmd_line
-} {(gdb) show remotelogbase}
-
-# Test: console-history-1.7
-# Desc: Down-history search to bottom
-# We go back down until the original partialcommand is displayed
-gdbtk_test console-history-1.7 {down search to bottom} {
- # this doesn't seem to work reliably: event generate $text <Shift-Down>
- # this doesn't seem to work reliably: event generate $text <Shift-Down>
- $console test _rsearch_history
- $console test _rsearch_history
- get_cmd_line
-} {(gdb) sh}
-
-# Test: console-history-1.8
-# Desc: Up-history search to top
-# We go up until there are no matches
-gdbtk_test console-history-1.8 {up search to top} {
- for {set i 0} {$i < 100} {incr i} {
- # this doesn't seem to work reliably: event generate $text <Shift-Up>
- $console test _search_history
- }
- get_cmd_line
-} {(gdb) show annotate}
-
-if {$test_ran} {
- clear_command_line
-}
-
-# Test: console-history-2.1
-# Desc: Exercise the down-history functionality
-gdbtk_test console-history-2.1 {down once} {
- # Add some commands into the command buffer
- console_command {show annotate}
- console_command {show complaints}
- console_command {show confirm}
- console_command {show height}
- console_command {show language}
- console_command {show print demangle}
- console_command {show remotebaud}
- console_command {show remotebreak}
- console_command {show remotecache}
- console_command {show remotedebug}
- console_command {show remotedevice}
- console_command {show remotelogbase}
- console_command {help quit}
- console_command {help si}
-
- for {set i 0} {$i < 14} {incr i} {
- # this doesn't seem to work reliably: event generate $text <Up>
- $console test _previous
- }
- # this doesn't seem to work reliably: event generate $text <Down>
- $console test _next
- get_cmd_line
-} {(gdb) show complaints}
-if {$test_ran} {
- clear_command_line
-}
-
-# Test: console-history-2.2
-# Desc: Exercise the down-history functionality
-gdbtk_test console-history-2.2 {down twice} {
- # Add some commands into the command buffer
- console_command {show annotate}
- console_command {show complaints}
- console_command {show confirm}
- console_command {show height}
- console_command {show language}
- console_command {show print demangle}
- console_command {show remotebaud}
- console_command {show remotebreak}
- console_command {show remotecache}
- console_command {show remotedebug}
- console_command {show remotedevice}
- console_command {show remotelogbase}
- console_command {help quit}
- console_command {help si}
-
- for {set i 0} {$i < 14} {incr i} {
- # this doesn't seem to work reliably: event generate $text <Up>
- $console test _previous
- }
-
- # this doesn't seem to work reliably: event generate $text <Down>
- # this doesn't seem to work reliably: event generate $text <Down>
- $console test _next
- $console test _next
- get_cmd_line
-} {(gdb) show confirm}
-if {$test_ran} {
- clear_command_line
-}
-
-# Test: console-history-2.3
-# Desc: Exercise the down-history functionality
-gdbtk_test console-history-2.3 {down four times} {
- # Add some commands into the command buffer
- console_command {show annotate}
- console_command {show complaints}
- console_command {show confirm}
- console_command {show height}
- console_command {show language}
- console_command {show print demangle}
- console_command {show remotebaud}
- console_command {show remotebreak}
- console_command {show remotecache}
- console_command {show remotedebug}
- console_command {show remotedevice}
- console_command {show remotelogbase}
- console_command {help quit}
- console_command {help si}
-
- for {set i 0} {$i < 14} {incr i} {
- # this doesn't seem to work reliably: event generate $text <Up>
- $console test _previous
- }
-
- for {set i 0} {$i < 4} {incr i} {
- # this doesn't seem to work reliably: event generate $text <Down>
- $console test _next
- }
- get_cmd_line
-} {(gdb) show language}
-if {$test_ran} {
- clear_command_line
-}
-
-# Test: console-history-2.4
-# Desc: Exercise the down-history functionality
-gdbtk_test console-history-2.4 {down infinitely} {
- # Add some commands into the command buffer
- console_command {show annotate}
- console_command {show complaints}
- console_command {show confirm}
- console_command {show height}
- console_command {show language}
- console_command {show print demangle}
- console_command {show remotebaud}
- console_command {show remotebreak}
- console_command {show remotecache}
- console_command {show remotedebug}
- console_command {show remotedevice}
- console_command {show remotelogbase}
- console_command {help quit}
- console_command {help si}
- for {set i 0} {$i < 14} {incr i} {
- # this doesn't seem to work reliably: event generate $text <Up>
- $console test _previous
- }
-
- for {set i 0} {$i < 20} {incr i} {
- # this doesn't seem to work reliably: event generate $text <Down>
- $console test _next
- }
- get_cmd_line
-} {(gdb) }
-if {$test_ran} {
- clear_command_line
-}
-
-#
-# gdb - gdbtk Interface Tests
-#
-
-# Test: console-interface-1.1
-# Desc: Verify that a "file" command in the console window causes
-# gdb to invoke the pre-/post-add-symbol hooks
-set file_loaded 0
-gdbtk_test console-interface-1.1 {file command goes through hooks} {
- global TEST1_RESULT TEST2_RESULT
-
- # This is really ugly, but its the only way to do this...
- rename gdbtk_tcl_pre_add_symbol pre_add
- rename gdbtk_tcl_post_add_symbol post_add
-
- proc gdbtk_tcl_pre_add_symbol {file} {
- global TEST1_RESULT
-
- set TEST1_RESULT $file
- pre_add $file
- }
- proc gdbtk_tcl_post_add_symbol {} {
- global TEST2_RESULT
-
- set TEST2_RESULT ok
- post_add
- }
-
- # load a file and make sure we went through the pre/post_add_symbol hooks
- set TEST1_RESULT {}
- set TEST2_RESULT {}
- set file [file join $objdir simple]
- console_command "file $file"
- if {$TEST1_RESULT != $file} {
- set result "did not go through gdbtk_tcl_pre_add_symbol ($TEST1_RESULT)"
- } elseif {$TEST2_RESULT != "ok"} {
- set result "did not go through gdbtk_tcl_post_add_symbol"
- } else {
- set result {}
- set file_loaded 1
- }
-
- set result
-} {}
-if {$test_ran} {
- rename gdbtk_tcl_pre_add_symbol {}
- rename gdbtk_tcl_post_add_symbol {}
- rename pre_add gdbtk_tcl_pre_add_symbol
- rename post_add gdbtk_tcl_post_add_symbol
-}
-
-#
-# Exit
-#
-gdbtk_test_done
diff --git a/gdb/testsuite/gdb.gdbtk/cpp_variable.cc b/gdb/testsuite/gdb.gdbtk/cpp_variable.cc
deleted file mode 100644
index deecc295a7f..00000000000
--- a/gdb/testsuite/gdb.gdbtk/cpp_variable.cc
+++ /dev/null
@@ -1,33 +0,0 @@
-#include "cpp_variable.h"
-
-static void do_simple_class_tests (void);
-
-int
-VB::fvb_pub () {return 300 + vb_pub_int;}
-
-int
-VB::vvb_pub () {return 400 + vb_pub_int;}
-
-int
-V::f () {return 600 + v_pub_int;}
-
-int
-V::vv () {return 400 + v_pub_int;}
-
-int
-VC::fvc () {return 300 + vc_pub_int;}
-
-int
-VC::vfvc () {return 100 + vc_pub_int;}
-
-main ()
-{
- do_simple_class_tests ();
-}
-
-static void
-do_simple_class_tests (void)
-{
- V *v = new V;
- V vv;
-}
diff --git a/gdb/testsuite/gdb.gdbtk/cpp_variable.exp b/gdb/testsuite/gdb.gdbtk/cpp_variable.exp
deleted file mode 100644
index a7764f67199..00000000000
--- a/gdb/testsuite/gdb.gdbtk/cpp_variable.exp
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999, 2001, 2004 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 (GPL) as published by
-# the Free Software Foundation; either version 2 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.
-
-load_lib ../gdb.gdbtk/insight-support.exp
-
-if {[gdbtk_initialize_display]} {
- if {$tracelevel} {
- strace $tracelevel
- }
-
- set results {}
- if {[skip_cplus_tests]} {
- # Target doesn't have c++ support
- verbose "No C++ support -- skipping test"
- } else {
- #
- # test variable API
- #
- set prms_id 0
- set bug_id 0
-
- set testfile "cpp_variable"
- set srcfile ${testfile}.cc
- set binfile ${objdir}/${subdir}/${testfile}
- set r [gdb_compile "${srcdir}/${subdir}/${srcfile}" "${binfile}" executable {debug c++}]
- if { $r != "" } {
- gdb_suppress_entire_file \
- "Testcase compile failed, so some tests in this file will automatically fail."
- }
-
- # Start with a fresh gdbtk
- gdb_exit
- set results [gdbtk_start [file join $srcdir $subdir ${testfile}.test]]
- set results [split $results \n]
- }
-
- # Analyze results
- gdbtk_done $results
-}
diff --git a/gdb/testsuite/gdb.gdbtk/cpp_variable.h b/gdb/testsuite/gdb.gdbtk/cpp_variable.h
deleted file mode 100644
index 40fda99a4dd..00000000000
--- a/gdb/testsuite/gdb.gdbtk/cpp_variable.h
+++ /dev/null
@@ -1,54 +0,0 @@
-struct _foo
-{
- int a[10];
- char *p;
-};
-
-class VA
-{
- public:
- int va_pub_int;
- char *va_pub_charp;
-
- private:
- int va_priv_int;
- char *va_priv_charp;
-
- protected:
- struct _foo bar;
-};
-
-class VB
-{
- public:
- int vb_pub_int;
-
- int fvb_pub ();
- virtual int vvb_pub ();
-
- private:
- int vb_priv_int;
- char *vb_priv_charp;
-};
-
-class VC
-{
- public:
- int vc_pub_int;
-
- int fvc ();
- virtual int vfvc ();
-};
-
-class V : public VA, public VB, public VC
-{
- public:
- int f ();
- virtual int vv ();
- int v_pub_int;
- char *v_pub_charp;
-
- private:
- int v_priv_int;
- char *v_priv_charp;
-};
diff --git a/gdb/testsuite/gdb.gdbtk/cpp_variable.test b/gdb/testsuite/gdb.gdbtk/cpp_variable.test
deleted file mode 100644
index d2de6f3deea..00000000000
--- a/gdb/testsuite/gdb.gdbtk/cpp_variable.test
+++ /dev/null
@@ -1,594 +0,0 @@
-# Varobj Tests (C++ language)
-# Copyright (C) 1998, 2003 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 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# insight@sources.redhat.com
-
-# This file was written by Keith Seitz (keiths@cygnus.com)
-
-# Read in the standard defs file
-if {![gdbtk_read_defs]} {
- break
-}
-
-global objdir test_ran
-
-# Load in a file
-set program [file join $objdir cpp_variable]
-if {[catch {gdbtk_test_file $program} t]} {
- # This isn't a test case, since if this fails, we're hosed.
- gdbtk_test_error "loading \"$program\": $t"
-}
-
-# The variables that are created are stored in an array called "var".
-
-# proc to tell us which of the variables are changed/out of scope
-proc check_update {} {
- global var
-
- set out {}
- set changed {}
- foreach ind [array names var] {
- set ret [$var($ind) update]
- if {$ret == -1} {
- lappend out $ind
- } elseif {$ret != ""} {
- lappend changed $ret
- }
- }
- return [list $changed $out]
-}
-
-
-# proc to create a variable
-proc create_variable {expr} {
- global var
-
- set err [catch {gdb_variable create "$expr" -expr $expr} v]
- if {!$err} {
- set var($expr) $v
- }
-
- return $err
-}
-
-# proc to get the children
-# Children are stored in the global "var" as
-# PARENT.child. So for struct _foo {int a; int b} bar;,
-# the children returned are {a b} and var(bar.a) and var(bar.b)
-# map the actual objects to their names.
-proc get_children {parent} {
- global var
-
- set kiddies [$var($parent) children]
- set children {}
- foreach child $kiddies {
- set name [lindex [split $child .] end]
- lappend children $name
- set var($parent.$name) $child
- }
-
- return $children
-}
-
-proc delete_variable {varname} {
- global var
-
- if {[info exists var($varname)]} {
- # This has to be caught, since deleting a parent
- # will erase all children.
- $var($varname) delete
- set vars [array names var $varname*]
- foreach v $vars {
- if {[info exists var($v)]} {
- unset var($v)
- }
- }
- }
-}
-
-# Compare the values of variable V in format FMT with value of OBJ
-# with gdb's value.
-proc cppvalue {obj v fmt} {
- global var
- global _test
-
- puts $_test(logfile) "obj=$obj v=$v fmt=$fmt"
- puts $_test(logfile) "var(\$obj)=$var($obj)"
-
- set value [$var($obj) value]
- set gdb [gdb_cmd "output/$fmt $v"]
- puts $_test(logfile) "output/$fmt $v"
- if {$value == $gdb} {
- puts $_test(logfile) "gdbtk: $value == gdb: $gdb"
- set result ok
- } else {
- set result $v
- puts $_test(logfile) "gdbtk: $value <> gdb: $gdb"
- }
-
- return $result
-}
-
-proc delete_all_variables {} {
- global var
-
- foreach variable [array names var] {
- delete_variable $variable
- }
-}
-
-##### #####
-# #
-# Simple Class Tests #
-# #
-##### #####
-
-# run to "do_simple_class_tests"
-gdb_cmd "break do_simple_class_tests"
-gdbtk_test_run
-
-# Test: cpp_variable-1.1
-# Desc: stopped in do_simple_class_tests
-gdbtk_test cpp_variable-1.1 {stopped in do_simple_class_tests} {
- # G++ can output "do_simple_class_tests(void)". Strip the "(void)" part.
- set loc [lindex [gdb_loc] 1]
- set index [string first \( $loc]
- if {$index > 0} {
- set loc [string range $loc 0 [expr {$index-1}]]
- }
- set loc
-} {do_simple_class_tests}
-
-# Test: cpp_variable-1.2
-# Desc: create variable v
-gdbtk_test cpp_variable-1.2 {create variable v} {
- create_variable v
-} {0}
-
-# Test: cpp_variable-1.3
-# Desc: number of children of v
-gdbtk_test cpp_variable-1.3 {number of children of v} {
- $var(v) numChildren
-} {5}
-
-# Test: cpp_variable-1.4a
-# Desc: children of v
-gdbtk_test cpp_variable-1.4a {children of v} {
- get_children v
-} {VA VB VC public private}
-
-# Test: cpp_variable-1.4b
-# Desc: public children of v
-gdbtk_test cpp_variable-1.4b {public children of v} {
- get_children v.public
-} {v_pub_int v_pub_charp}
-
-# Test: cpp_variable-1.4c
-# Desc: private children of v
-gdbtk_test cpp_variable-1.4c {private children of v} {
- get_children v.private
-} {v_priv_int v_priv_charp}
-
-# Test: cpp_variable-1.5
-# Desc: type of v
-gdbtk_test cpp_variable-1.5 {type of v} {
- $var(v) type
-} {V *}
-
-# Test: cpp_variable-1.6
-# Desc: format of v
-gdbtk_test cpp_variable-1.6 {format of v} {
- $var(v) format
-} {natural}
-
-set value {}
-catch {$var(v) value} value
-
-# Test: cpp_variable-1.6a
-# Desc: Step over "V *v = new V;"
-gdbtk_test cpp_variable-1.6a {step over "V *v = new V;"} {
- catch {gdb_cmd "next"}
-} {0}
-
-# Test: cpp_variable-1.7
-# Desc: check value of v changed
-gdbtk_test cpp_variable-1.7 {check value of v changed} {
- set changes [check_update]
- # It is undefined whether the children will change values
- # or not, so ignore them.
- expr {[lsearch [lindex [lindex $changes 0] 0] v] != -1}
-} {1}
-
-# Test: cpp_variable-1.8
-# Desc: check values of v
-gdbtk_test cpp_variable-1.8 {check values of v} {
- set new [$var(v) value]
- expr {$new != $value}
-} {1}
-
-# Test: cpp_variable-1.9
-# Desc: v editable
-gdbtk_test cpp_variable-1.9 {v editable} {
- $var(v) editable
-} {1}
-
-##### #####
-# #
-# Children of v tests #
-# #
-##### #####
-
-# Test: cpp_variable-2.1
-# Desc: type of v.v_pub_int
-gdbtk_test cpp_variable-2.1 {type of v.v_pub_int} {
- $var(v.public.v_pub_int) type
-} {int}
-
-# Test: cpp_variable-2.2
-# Desc: format of v.v_pub_int
-gdbtk_test cpp_variable-2.2 {format of v.v_pub_int} {
- $var(v.public.v_pub_int) format
-} {natural}
-
-# Test: cpp_variable-2.2a
-# Desc: set variable v->v_pub_int=2112
-gdbtk_test cpp_variable-2.2a {set variable v.v_pub_int=2112} {
- set err [catch {gdb_cmd "set variable v.v_pub_int=2112"} txt]
- if {$err} {
- set txt
- } else {
- set err
- }
-} {0}
-
-# Test: cpp_variable-2.3
-# Desc: value of v.v_pub_int changed
-gdbtk_test cpp_variable-2.3 {value of v.v_pub_int changed} {
- check_update
-} {v.public.v_pub_int {v.private.v_priv_charp v.VB v.private.v_priv_int v.VC v.public.v_pub_charp v.public.v_pub_int v.private v.public v.VA}}
-
-# Test: cpp_variable-2.4
-# Desc: value of v.v_pub_int
-gdbtk_test cpp_variable-2.4 {value of v.v_pub_int} {
- $var(v.public.v_pub_int) value
-} {2112}
-
-# Test: cpp_variable-2.5
-# Desc: changed format of v.v_pub_int
-gdbtk_test cpp_variable-2.5 {changed format of v.v_pub_int} {
- $var(v.public.v_pub_int) format octal
- $var(v.public.v_pub_int) format
-} {octal}
-
-# Test: cpp_variable-2.6
-# Desc: value of v.v_pub_int with new format
-gdbtk_test cpp_variable-2.6 {value of v.v_pub_int with new format} {
- $var(v.public.v_pub_int) value
-} {04100}
-
-# Test: cpp_variable-2.7
-# Desc: change value of v.v_pub_int (decimal)
-gdbtk_test cpp_variable-2.7 {change value of v.v_pub_int (decimal)} {
- $var(v.public.v_pub_int) value 3
- cppvalue v.public.v_pub_int v.v_pub_int o
-} {ok}
-
-# Test: cpp_variable-2.8
-# Desc: change value of v.v_pub_int (hexadecimal)
-gdbtk_test cpp_variable-2.8 {change value of v.v_pub_int (hexadecimal)} {
- $var(v.public.v_pub_int) value 0x21
- cppvalue v.public.v_pub_int v.v_pub_int o
-} {ok}
-
-# Test: cpp_variable-2.9
-# Desc: number of children of v_pub_int
-gdbtk_test cpp_variable-2.9 {number of children of v_pub_int} {
- $var(v.public.v_pub_int) numChildren
-} {0}
-
-# Test: cpp_variable-2.10
-# Desc: children of v.v_pub_int
-gdbtk_test cpp_variable-2.10 {children of v.v_pub_int} {
- get_children v.public.v_pub_int
-} {}
-
-# Test: cpp_variable-2.11
-# Desc: v.v_pub_int editable
-gdbtk_test cpp_variable-2.11 {v.v_pub_int editable} {
- $var(v.public.v_pub_int) editable
-} {1}
-
-# Test: cpp_variable-2.21
-# Desc: type of v.v_priv_charp
-gdbtk_test cpp_variable-2.21 {type of v.v_priv_charp} {
- $var(v.private.v_priv_charp) type
-} {char *}
-
-# Test: cpp_variable-2.22
-# Desc: format of v.v_priv_charp
-gdbtk_test cpp_variable-2.22 {format of v.v_priv_charp} {
- $var(v.private.v_priv_charp) format
-} {natural}
-
-# Test: cpp_variable-2.22a
-# Desc: set variable v->v_priv_charp=2112
-gdbtk_test cpp_variable-2.22a {set variable v->v_priv_charp=2112} {
- set err [catch {gdb_cmd "set variable v->v_priv_charp=2112"} txt]
- if {$err} {
- set txt
- } else {
- set err
- }
-} {0}
-
-# Test: cpp_variable-2.23
-# Desc: value of v.v_priv_charp changed
-gdbtk_test cpp_variable-2.23 {value of v.v_priv_charp changed} {
- check_update
-} {{{v.public.v_pub_int v.private.v_priv_charp}} {v.private.v_priv_charp v.VB v.private.v_priv_int v.VC v.public.v_pub_charp v.public.v_pub_int v.private v.public v.VA}}
-
-# Test: cpp_variable-2.24
-# Desc: value of v.v_priv_charp
-gdbtk_test cpp_variable-2.24 {value of v.v_priv_charp} {
- $var(v.private.v_priv_charp) format hexadecimal
- $var(v.private.v_priv_charp) value
-} {0x840}
-
-# Test: cpp_variable-2.25
-# Desc: changed format of v.v_priv_charp
-gdbtk_test cpp_variable-2.25 {changed format of v.v_priv_charp} {
- $var(v.private.v_priv_charp) format octal
- $var(v.private.v_priv_charp) format
-} {octal}
-
-# Test: cpp_variable-2.26
-# Desc: value of v.v_priv_charp with new format
-gdbtk_test cpp_variable-2.26 {value of v.v_priv_charp with new format} {
- $var(v.private.v_priv_charp) value
-} {04100}
-
-# Test: cpp_variable-2.27
-# Desc: change value of v.v_priv_charp (decimal)
-gdbtk_test cpp_variable-2.27 {change value of v.v_priv_charp (decimal)} {
- $var(v.private.v_priv_charp) value 3
- cppvalue v.private.v_priv_charp v.v_priv_charp o
-} {ok}
-
-# Test: cpp_variable-2.28
-# Desc: change value of v.v_priv_charp (hexadecimal)
-gdbtk_test cpp_variable-2.28 {change value of v.v_priv_charp (hexadecimal)} {
- $var(v.private.v_priv_charp) value 0x21
- cppvalue v.private.v_priv_charp v.v_priv_charp o
-} {ok}
-
-# Test: cpp_variable-2.29
-# Desc: number of children of v_priv_charp
-gdbtk_test cpp_variable-2.29 {number of children of v_priv_charp} {
- $var(v.private.v_priv_charp) numChildren
-} {1}
-
-# Test: cpp_variable-2.30
-# Desc: children of v.v_priv_charp
-gdbtk_test cpp_variable-2.30 {children of v.v_priv_charp} {
- get_children v.private.v_priv_charp
-} {*v_priv_charp}
-
-# Test: cpp_variable-2.31
-# Desc: v.v_priv_int editable
-gdbtk_test cpp_variable-2.31 {v.v_priv_int editable} {
- $var(v.private.v_priv_int) editable
-} {1}
-
-# Test: cpp_variable-2.41
-# Desc: type of v.VA
-gdbtk_test cpp_variable-2.41 {type of v.VA} {
- $var(v.VA) type
-} {VA}
-
-# Test: cpp_variable-2.42
-# Desc: format of v.VA
-gdbtk_test cpp_variable-2.42 {format of v.VA} {
- $var(v.VA) format
-} {natural}
-
-# Test: cpp_variable-2.43
-# Desc: value of v.VA changed
-gdbtk_test cpp_variable-2.43 {value of v.VA changed} {
- check_update
-} {v.private.v_priv_charp {v.private.v_priv_charp v.VB v.private.v_priv_int v.VC v.public.v_pub_charp v.private.v_priv_charp.*v_priv_charp v.public.v_pub_int v.private v.public v.VA}}
-
-# Test: cpp_variable-2.44
-# Desc: value of v.VA
-gdbtk_test cpp_variable-2.44 {value of v.VA} {
- $var(v.VA) value
-} {{...}}
-
-# Test: cpp_variable-2.45
-# Desc: changed format of v.VA
-gdbtk_test cpp_variable-2.45 {changed format of v.VA} {
- $var(v.VA) format octal
- $var(v.VA) format
-} {octal}
-
-# Test: cpp_variable-2.46
-# Desc: value of v.VA with new format
-gdbtk_test cpp_variable-2.46 {value of v.VA with new format} {
- $var(v.VA) value
-} {{...}}
-
-# Test: cpp_variable-2.47
-# Desc: number of children of VA
-gdbtk_test cpp_variable-2.47 {number of children of VA} {
- $var(v.VA) numChildren
-} {3}
-
-# Test: cpp_variable-2.48a
-# Desc: children of v.VA
-gdbtk_test cpp_variable-2.48a {children of v.VA} {
- get_children v.VA
-} {public private protected}
-
-# Test: cpp_variable-2.48b
-# Desc: public children of v.VA
-gdbtk_test cpp_variable-2.48b {children of v.VA} {
- get_children v.VA.public
-} {va_pub_int va_pub_charp}
-
-# Test: cpp_variable-2.48c
-# Desc: private children of v.VA
-gdbtk_test cpp_variable-2.48c {children of v.VA} {
- get_children v.VA.private
-} {va_priv_int va_priv_charp}
-
-# Test: cpp_variable-2.48d
-# Desc: protected children of v.VA
-gdbtk_test cpp_variable-2.48d {children of v.VA} {
- get_children v.VA.protected
-} {bar}
-
-# Test: cpp_variable-2.49
-# Desc: v.VA editable
-gdbtk_test cpp_variable-2.49 {v.VA editable} {
- $var(v.VA) editable
-} {0}
-
-# Test: cpp_variable-2.61
-# Desc: type of v.VB
-gdbtk_test cpp_variable-2.61 {type of v.VB} {
- $var(v.VB) type
-} {VB}
-
-# Test: cpp_variable-2.62
-# Desc: format of v.VB
-gdbtk_test cpp_variable-2.62 {format of v.VB} {
- $var(v.VB) format
-} {natural}
-
-# Test: cpp_variable-2.63
-# Desc: value of v.VB changed
-gdbtk_test cpp_variable-2.63 {value of v.VB changed} {
- check_update
-} {{} {v.VA.protected v.private.v_priv_charp.*v_priv_charp v.VA.private v.VA.public.va_pub_int v.private.v_priv_int v.public.v_pub_int v.VA.public.va_pub_charp v.private.v_priv_charp v.VA.public v.public.v_pub_charp v.VA.private.va_priv_int v.VA v.public v.VB v.VC v.VA.protected.bar v.VA.private.va_priv_charp v.private}}
-
-# Test: cpp_variable-2.64
- # Desc: value of v.VB
-gdbtk_test cpp_variable-2.64 {value of v.VB} {
- $var(v.VB) value
-} {{...}}
-
-# Test: cpp_variable-2.65
-# Desc: changed format of v.VB
-gdbtk_test cpp_variable-2.65 {changed format of v.VB} {
- $var(v.VB) format octal
- $var(v.VB) format
-} {octal}
-
-# Test: cpp_variable-2.66
-# Desc: value of v.VB with new format
-gdbtk_test cpp_variable-2.66 {value of v.VB with new format} {
- $var(v.VB) value
-} {{...}}
-
-# Note: The next two tests show whether or not the logic
-# concerning vptr tables is working.
-# Test: cpp_variable-2.67
-# Desc: number of children of VB
-gdbtk_test cpp_variable-2.67 {number of children of VB} {
- $var(v.VB) numChildren
-} {2}
-
-# Test: cpp_variable-2.68a
-# Desc: children of v.VB
-gdbtk_test cpp_variable-2.68a {children of v.VB} {
- get_children v.VB
-} {public private}
-
-# Test: cpp_variable-2.68b
-# Desc: public children of v.VB
-gdbtk_test cpp_variable-2.68b {children of v.VB} {
- get_children v.VB.public
-} {vb_pub_int}
-
-# Test: cpp_variable-2.68c
-# Desc: private children of v.VB
-gdbtk_test cpp_variable-2.68c {children of v.VB} {
- get_children v.VB.private
-} {vb_priv_int vb_priv_charp}
-
-# Test: cpp_variable-2.69
-# Desc: v.VB editable
-gdbtk_test cpp_variable-2.69 {v.VB editable} {
- $var(v.VB) editable
-} {0}
-
-# Test: cpp_variable-2.70
-# Desc: v.VB.public editable
-gdbtk_test cpp_variable-2.70 {v.VB.public editable} {
- $var(v.VB.public) editable
-} {0}
-
-# Test: cpp_variable-2.71
-# Desc: v.VB.vb_pub_int editable
-gdbtk_test cpp_variable-2.71 {v.VB.vb_pub_int editable} {
- $var(v.VB.public.vb_pub_int) editable
-} {1}
-
-# Test: cpp_variable-2.71a
-# Desc: set variable v->vb_pub_int=2112
-gdbtk_test cpp_variable-2.71a {set variable v->v_pub_int=2112} {
- set err [catch {gdb_cmd "set variable v->vb_pub_int=2112"} txt]
- if {$err} {
- set txt
- } else {
- set err
- }
-} {0}
-
-# Test: cpp_variable-2.72
-# Desc: value of v.vb_pub_int changed
-gdbtk_test cpp_variable-2.72 {value of v.vb_pub_int changed} {
- check_update
-} {v.VB.public.vb_pub_int {v.VB.public v.VA.protected v.private.v_priv_charp.*v_priv_charp v.VA.private v.VB.private.vb_priv_int v.VB.private v.VA.public.va_pub_int v.private.v_priv_int v.VB.public.vb_pub_int v.public.v_pub_int v.VB.private.vb_priv_charp v.VA.public.va_pub_charp v.private.v_priv_charp v.VA.public v.public.v_pub_charp v.VA.private.va_priv_int v.VA v.public v.VB v.VC v.VA.protected.bar v.VA.private.va_priv_charp v.private}}
-
-# Test: cpp_variable-2.73
-# Desc: value of v.VB.vb_pub_int
-gdbtk_test cpp_variable-2.73 {changed value of v.vb_pub_int} {
- $var(v.VB.public.vb_pub_int) value
-} {2112}
-
-# Test: cpp_variable-2.74
-# Desc: change value of v.VB.vb_pub_int
-gdbtk_test cpp_variable-2.74 {change value of v.VB.public.vb_pub_int} {
- $var(v.VB.public.vb_pub_int) value 3
- cppvalue v.VB.public.vb_pub_int v.vb_pub_int d
-} {ok}
-
-# Test: cpp_variable-2.75
-# Desc: value of v.VB.vb_pub_int
-gdbtk_test cpp_variable-2.75 {changed value of v.VB.public.vb_pub_int} {
- $var(v.VB.public.vb_pub_int) value
-} {3}
-
-
-# Exit
-#
-gdbtk_test_done
-
-#Local Variables:
-#mode: tcl
-
diff --git a/gdb/testsuite/gdb.gdbtk/defs b/gdb/testsuite/gdb.gdbtk/defs
deleted file mode 100644
index 8e3fe5b4531..00000000000
--- a/gdb/testsuite/gdb.gdbtk/defs
+++ /dev/null
@@ -1,306 +0,0 @@
-# This file contains support code for the gdbtk test suite.
-# Copyright 2001 Red Hat, Inc.
-#
-# Based on the Tcl testsuite support code, portions of this file
-# are Copyright (c) 1990-1994 The Regents of the University of California and
-# Copyright (c) 1994-1996 Sun Microsystems, Inc.
-#
-global _test env srcdir objdir
-
-if {![info exists srcdir]} {
- if {[info exists env(SRCDIR)]} {
- set srcdir $env(SRCDIR)
- } else {
- set srcdir .
- }
-}
-
-if {![info exists objdir]} {
- if {[info exists env(OBJDIR)]} {
- set objdir $env(OBJDIR)
- } elseif {$_test(interactive)} {
- # If running interactively, assume that the objdir is
- # relative to the executable's location
- set objdir [file join [file dirname [info nameofexecutable]] testsuite gdb.gdbtk]
- } else {
- set objdir .
- }
-}
-
-if {![info exists _test(verbose)]} {
- if {[info exists env(GDBTK_VERBOSE)]} {
- set _test(verbose) $env(GDBTK_VERBOSE)
- } else {
- set _test(verbose) 0
- }
-}
-if {![info exists _test(tests)]} {
-
- if {[info exists env(GDBTK_TESTS)]} {
- set _test(tests) $env(GDBTK_TESTS)
- } else {
- set _test(tests) {}
- }
-}
-
-if {[info exists env(GDBTK_LOGFILE)]} {
- set _test(logfile) [open $env(GDBTK_LOGFILE) a+]
- fconfigure $_test(logfile) -buffering none
-} else {
- set _test(logfile) {}
-}
-
-# Informs gdbtk internals that testsuite is running. An example
-# where this is needed is the window manager, which must place
-# all windows at some place on the screen so that the system's
-# window manager does not interfere. This is reset in gdbtk_test_done.
-set env(GDBTK_TEST_RUNNING) 1
-
-# The gdb "file" command to use for gdbtk testing
-# NOTE: This proc appends ".exe" to all windows' programs
-proc gdbtk_test_file {filename} {
- global tcl_platform
-
- if {$tcl_platform(platform) == "windows"} {
- append filename ".exe"
- }
-
- set err [catch {gdb_cmd "file $filename" 1} text]
- if {$err} {
- error $text
- }
-
- return $text
-}
-
-proc gdbtk_test_run {{prog_args {}}} {
- global env
-
- # Get the target_info array from the testsuite
- array set target_info $env(TARGET_INFO)
-
- # We get the target ready by:
- # 1. Run all init commands
- # 2. Issue target command
- # 3. Issue load command
- # 4. Issue run command
- foreach cmd $target_info(init) {
- set err [catch {gdb_cmd $cmd 0} txt]
- if {$err} {
- _report_error "Target initialization command \"$cmd\" failed: $txt"
- return 0
- }
- }
-
- if {$target_info(target) != ""} {
- set err [catch {gdb_cmd $target_info(target) 0} txt]
- if {$err} {
- _report_error "Failed to connect to target: $txt"
- return 0
- }
- }
-
- if {$target_info(load) != ""} {
- set err [catch {gdb_cmd $target_info(load) 0} txt]
- if {$err} {
- _report_error "Failed to load: $txt"
- return 0
- }
- }
-
- if {$target_info(run) != ""} {
- set err [catch {gdb_cmd $target_info(run) 0} txt]
- if {$err} {
- _report_error "Could not run target with \"$target_info(run)\": $txt"
- return 0
- }
- }
-
- return 1
-}
-
-proc _report_error {msg} {
- global _test
-
- if {[info exists _test(interactive)] && $_test(interactive)} {
- # Dialog
- tk_messageBox -message $msg -icon error -type ok
- } else {
- # to stderr
- puts stderr $msg
- }
-}
-
-proc gdbtk_print_verbose {status name description script code answer} {
- global _test
-
- switch $code {
- 0 {
- set code_words {}
- }
- 1 {
- set code_words "Test generated error: $answer"
- }
-
- 2 {
- set code_words "Test generated return exception; result was: $answer"
- }
-
- 3 {
- set code_words "Test generated break exception"
- }
-
- 4 {
- set code_words "Test generated continue exception"
- }
-
- 5 {
- set code_words "Test generated exception $code; message was:$answer"
- }
- }
-
- if {$_test(verbose) > 1 \
- || ($_test(verbose) != 1 && ($status == "ERROR" || $status == "FAIL"))} {
- # Printed when user verbose mode (verbose > 1) or an error/failure occurs
- # not running the testsuite (dejagnu)
- puts stdout "\n"
- puts stdout "==== $name $description"
- puts stdout "==== Contents of test case:"
- puts stdout "$script"
- if {$code_words != ""} {
- puts stdout $code_words
- }
- puts stdout "==== Result was:"
- puts stdout "$answer"
- } elseif {$_test(verbose)} {
- # Printed for the testsuite (verbose = 1)
- puts stdout "[list $status $name $description $code_words]"
-
- if {$_test(logfile) != ""} {
- puts $_test(logfile) "\n"
- puts $_test(logfile) "==== $name $description"
- puts $_test(logfile) "==== Contents of test case:"
- puts $_test(logfile) "$script"
- if {$code_words != ""} {
- puts $_test(logfile) $code_words
- }
- puts $_test(logfile) "==== Result was:"
- puts $_test(logfile) "$answer"
- }
- }
-}
-
-# gdbtk_test
-#
-# This procedure runs a test and prints an error message if the
-# test fails.
-#
-# Arguments:
-# name - Name of test, in the form foo-1.2.
-# description - Short textual description of the test, to
-# help humans understand what it does.
-# script - Script to run to carry out the test. It must
-# return a result that can be checked for
-# correctness.
-# answer - Expected result from script.
-
-proc gdbtk_test {name description script answer} {
- global _test test_ran
-
- set test_ran 0
- if {[string compare $_test(tests) ""] != 0} then {
- set ok 0
- foreach test $_test(tests) {
- if [string match $test $name] then {
- set ok 1
- break
- }
- }
- if !$ok then return
- }
-
- set code [catch {uplevel $script} result]
- set test_ran 1
- if {$code != 0} {
- # Error
- gdbtk_print_verbose ERROR $name $description $script \
- $code $result
- } elseif {[string compare $result $answer] == 0} {
- if {[string index $name 0] == "*"} {
- # XPASS
- set HOW XPASS
- } else {
- set HOW PASS
- }
-
- if {$_test(verbose)} {
- gdbtk_print_verbose $HOW $name $description $script \
- $code $result
- if {$_test(verbose) != 1} {
- puts stdout "++++ $name ${HOW}ED"
- }
- }
- if {$_test(logfile) != ""} {
- puts $_test(logfile) "++++ $name ${HOW}ED"
- }
- } else {
- if {[string index $name 0] == "*"} {
- # XFAIL
- set HOW XFAIL
- } else {
- set HOW FAIL
- }
-
- gdbtk_print_verbose $HOW $name $description $script \
- $code $result
- if {$_test(verbose) != 1} {
- puts stdout "---- Result should have been:"
- puts stdout "$answer"
- puts stdout "---- $name ${HOW}ED"
- }
- if {$_test(logfile) != ""} {
- puts $_test(logfile) "---- Result should have been:"
- puts $_test(logfile) "$answer"
- puts $_test(logfile) "---- $name ${HOW}ED"
- }
- }
-}
-
-proc gdbtk_dotests {file args} {
- global _test
- set savedTests $_test(tests)
- set _test(tests) $args
- source $file
- set _test(tests) $savedTests
-}
-
-proc gdbtk_test_done {} {
- global _test env
-
- if {$_test(logfile) != ""} {
- close $_test(logfile)
- }
-
- set env(GDBTK_TEST_RUNNING) 0
- if {![info exists _test(interactive)] || !$_test(interactive)} {
- gdbtk_force_quit
- }
-}
-
-proc gdbtk_test_error {desc} {
- set desc [join [split $desc \n] |]
- puts "ERROR \{$desc\} \{\} \{\}"
- gdbtk_test_done
-}
-
-# Override the warning dialog. We don't want to see them.
-rename show_warning real_show_warning
-proc show_warning {msg} {
- global _test
-
- set str "INSIGHT TESTSUITE WARNING: $msg"
- puts stdout $str
- if {$_test(logfile) != ""} {
- puts $_test(logfile) $str
- }
-}
diff --git a/gdb/testsuite/gdb.gdbtk/insight-support.exp b/gdb/testsuite/gdb.gdbtk/insight-support.exp
deleted file mode 100644
index e1e88896a1d..00000000000
--- a/gdb/testsuite/gdb.gdbtk/insight-support.exp
+++ /dev/null
@@ -1,319 +0,0 @@
-# GDB Testsuite Support for Insight.
-#
-# Copyright 2001, 2004 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 (GPL) as published by
-# the Free Software Foundation; either version 2 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.
-
-# Initializes the display for gdbtk testing.
-# Returns 1 if tests should run, 0 otherwise.
-proc gdbtk_initialize_display {} {
- global _using_windows
-
- # This is hacky, but, we don't have much choice. When running
- # expect under Windows, tcl_platform(platform) is "unix".
- if {![info exists _using_windows]} {
- set _using_windows [expr {![catch {exec cygpath --help}]}]
- }
-
- if {![_gdbtk_xvfb_init]} {
- if {$_using_windows} {
- untested "No GDB_DISPLAY -- skipping tests"
- } else {
- untested "No GDB_DISPLAY or Xvfb -- skipping tests"
- }
-
- return 0
- }
-
- return 1
-}
-
-# From dejagnu:
-# srcdir = testsuite src dir (e.g., devo/gdb/testsuite)
-# objdir = testsuite obj dir (e.g., gdb/testsuite)
-# subdir = subdir of testsuite (e.g., gdb.gdbtk)
-#
-# To gdbtk:
-# env(DEFS)=the "defs" files (e.g., devo/gdb/testsuite/gdb.gdbtk/defs)
-# env(SRCDIR)=directory containing the test code (e.g., *.test)
-# env(OBJDIR)=directory which contains any executables
-# (e.g., gdb/testsuite/gdb.gdbtk)
-proc gdbtk_start {test} {
- global verbose
- global GDB
- global GDBFLAGS
- global env srcdir subdir objdir
-
- gdb_stop_suppressing_tests;
-
- # Need to convert ::GDB to use (-)?insight...
- if {[regsub {gdb$} $GDB insight newGDB]} {
- set INSIGHT $newGDB
- } else {
- perror "Cannot find Insight executable"
- exit 1
- }
-
- verbose "Starting $INSIGHT -nx -q --tclcommand=$test"
-
- set real_test [which $test]
- if {$real_test == 0} {
- perror "$test is not found"
- exit 1
- }
-
- if {![is_remote host]} {
- if { [which $INSIGHT] == 0 } {
- perror "$INSIGHT does not exist."
- exit 1
- }
- }
-
- set wd [pwd]
-
- # Find absolute path to test
- set test [to_tcl_path -abs $test]
-
- # Set some environment variables
- cd $srcdir
- set abs_srcdir [pwd]
- set env(DEFS) [to_tcl_path -abs [file join $abs_srcdir $subdir defs]]
-
- cd $wd
- cd [file join $objdir $subdir]
- set env(OBJDIR) [pwd]
- cd $wd
-
- # Set info about target into env
- _gdbtk_export_target_info
-
- set env(SRCDIR) $abs_srcdir
- set env(GDBTK_VERBOSE) 1
- set env(GDBTK_LOGFILE) [to_tcl_path [file join $objdir gdb.log]]
- unset -nocomplain env(TCL_LIBRARY)
-
- set err [catch {exec $INSIGHT -nx -q --tclcommand=$test} res]
- if { $err } {
- perror "Execing $INSIGHT failed: $res"
- append res "\nERROR gdb-crash"
- }
- return $res
-}
-
-# Start xvfb when using it.
-# The precedence is:
-# 1. If GDB_DISPLAY is set (and not ""), use it
-# 2. If Xvfb exists, use it (not on cygwin)
-# 3. Skip tests
-proc _gdbtk_xvfb_init {} {
- global env spawn_id _xvfb_spawn_id _using_windows
-
- if {[info exists env(GDB_DISPLAY)]} {
- if {$env(GDB_DISPLAY) != ""} {
- set env(DISPLAY) $env(GDB_DISPLAY)
- } else {
- # Suppress tests
- return 0
- }
- } elseif {!$_using_windows && [which Xvfb] != 0} {
- set screen ":[getpid]"
- set pid [spawn Xvfb $screen -ac]
- set _xvfb_spawn_id $spawn_id
- set env(DISPLAY) localhost$screen
- } else {
- # No Xvfb found -- skip test
- return 0
- }
-
- return 1
-}
-
-# Kill xvfb
-proc _gdbtk_xvfb_exit {} {
- global objdir subdir env _xvfb_spawn_id
-
- if {[info exists _xvfb_spawn_id]} {
- exec kill [exp_pid -i $_xvfb_spawn_id]
- wait -i $_xvfb_spawn_id
- }
-}
-
-# help proc for setting tcl-style paths from unix-style paths
-# pass "-abs" to make it an absolute path
-proc to_tcl_path {unix_path {arg {}}} {
- global _using_windows
-
- if {[string compare $unix_path "-abs"] == 0} {
- set unix_path $arg
- set wd [pwd]
- cd [file dirname $unix_path]
- set dirname [pwd]
- set unix_name [file join $dirname [file tail $unix_path]]
- cd $wd
- }
-
- if {$_using_windows} {
- set unix_path [exec cygpath -aw $unix_path]
- set unix_path [join [split $unix_path \\] /]
- }
-
- return $unix_path
-}
-
-# Set information about the target into the environment
-# variable TARGET_INFO. This array will contain a list
-# of commands that are necessary to run a target.
-#
-# This is mostly devined from how dejagnu works, what
-# procs are defined, and analyzing unix.exp, monitor.exp,
-# and sim.exp.
-#
-# Array elements exported:
-# Index Meaning
-# ----- -------
-# init list of target/board initialization commands
-# target target command for target/board
-# load load command for target/board
-# run run command for target_board
-proc _gdbtk_export_target_info {} {
- global env
-
- # Figure out what "target class" the testsuite is using,
- # i.e., sim, monitor, native
- if {[string compare [info proc gdb_target_monitor] gdb_target_monitor] == 0} {
- # Using a monitor/remote target
- set target monitor
- } elseif {[string compare [info proc gdb_target_sim] gdb_target_sim] == 0} {
- # Using a simulator target
- set target simulator
- } elseif {[string compare [info proc gdb_target_sid] gdb_target_sid] == 0} {
- # Using sid
- set target sid
- } else {
- # Assume native
- set target native
- }
-
- # Now setup the array to be exported.
- set info(init) {}
- set info(target) {}
- set info(load) {}
- set info(run) {}
-
- switch $target {
- simulator {
- set opts "[target_info gdb,target_sim_options]"
- set info(target) "target sim $opts"
- set info(load) "load"
- set info(run) "run"
- }
-
- monitor {
- # Setup options for the connection
- if {[target_info exists baud]} {
- lappend info(init) "set remotebaud [target_info baud]"
- }
- if {[target_info exists binarydownload]} {
- lappend info(init) "set remotebinarydownload [target_info binarydownload]"
- }
- if {[target_info exists disable_x_packet]} {
- lappend info(init) "set remote X-packet disable"
- }
- if {[target_info exists disable_z_packet]} {
- lappend info(init) "set remote Z-packet disable"
- }
-
- # Get target name and connection info
- if {[target_info exists gdb_protocol]} {
- set targetname "[target_info gdb_protocol]"
- } else {
- set targetname "not_specified"
- }
- if {[target_info exists gdb_serial]} {
- set serialport "[target_info gdb_serial]"
- } elseif {[target_info exists netport]} {
- set serialport "[target_info netport]"
- } else {
- set serialport "[target_info serial]"
- }
-
- set info(target) "target $targetname $serialport"
- set info(load) "load"
- set info(run) "continue"
- }
-
- sid {
- # We must start sid first, since Insight won't have a clue
- # about how to do this.
- sid_start
- set info(target) "target [target_info gdb_protocol] [target_info netport]"
- set info(load) "load"
- set info(run) "continue"
- }
-
- native {
- set info(run) "run"
- }
- }
-
- # Export the array to the environment
- set env(TARGET_INFO) [array get info]
-}
-
-# gdbtk tests call this function to print out the results of the
-# tests. The argument is a proper list of lists of the form:
-# {status name description msg}. All of these things typically
-# come from the testsuite harness.
-proc gdbtk_analyze_results {results} {
- foreach test $results {
- set status [lindex $test 0]
- set name [lindex $test 1]
- set description [lindex $test 2]
- set msg [lindex $test 3]
-
- switch $status {
- PASS {
- pass "$description ($name)"
- }
-
- FAIL {
- fail "$description ($name)"
- }
-
- ERROR {
- perror "$name"
- }
-
- XFAIL {
- xfail "$description ($name)"
- }
-
- XPASS {
- xpass "$description ($name)"
- }
- }
- }
-}
-
-proc gdbtk_done {{results {}}} {
- global _xvfb_spawn_id
- gdbtk_analyze_results $results
-
- # Kill off xvfb if using it
- if {[info exists _xvfb_spawn_id]} {
- _gdbtk_xvfb_exit
- }
-
- # Yich. If we're using sid, we must kill it
- if {[string compare [info proc gdb_target_sid] gdb_target_sid] == 0} {
- sid_exit
- }
-}
diff --git a/gdb/testsuite/gdb.gdbtk/list0.c b/gdb/testsuite/gdb.gdbtk/list0.c
deleted file mode 100644
index b50fdd4323d..00000000000
--- a/gdb/testsuite/gdb.gdbtk/list0.c
+++ /dev/null
@@ -1,43 +0,0 @@
-#include "list0.h"
-
-int main ()
-{
- int x;
-#ifdef usestubs
- set_debug_traps();
- breakpoint();
-#endif
- x = 0;
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- foo (x++);
- return 0;
-}
-
-static void
-unused ()
-{
- /* Not used for anything */
-}
diff --git a/gdb/testsuite/gdb.gdbtk/list0.h b/gdb/testsuite/gdb.gdbtk/list0.h
deleted file mode 100644
index d46833060e5..00000000000
--- a/gdb/testsuite/gdb.gdbtk/list0.h
+++ /dev/null
@@ -1,37 +0,0 @@
-/* An include file that actually causes code to be generated in the including file. This is known to cause problems on some systems. */
-#ifdef PROTOTYPES
-extern void bar(int);
-static void foo (int x)
-#else
-static void foo (x) int x;
-#endif
-{
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
- bar (x++);
-}
diff --git a/gdb/testsuite/gdb.gdbtk/list1.c b/gdb/testsuite/gdb.gdbtk/list1.c
deleted file mode 100644
index 6094104b9cd..00000000000
--- a/gdb/testsuite/gdb.gdbtk/list1.c
+++ /dev/null
@@ -1,39 +0,0 @@
-#include <stdio.h>
-
-#ifdef PROTOTYPES
-void long_line (); int oof (int);
-void bar (int x)
-#else
-void bar (x) int x;
-#endif
-{
- printf ("%d\n", x);
-
- long_line ();
-}
-
-static void
-unused ()
-{
- /* Not used for anything */
-}
-/* This routine has a very long line that will break searching in older versions of GDB. */
-#ifdef PROTOTYPES
-void
-#endif
-long_line ()
-{
- oof (67);
-
- oof (6789);
-
- oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 5 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 10 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 15 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 20 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 25 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 30 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 35 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 40 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 45 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 50 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 55 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 60 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* 65 */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (12); /* */ oof (12); oof (12); oof (12); oof (12); oof (12); oof (1234); /* 70 */
-}
-#ifdef PROTOTYPES
-int oof (int n)
-#else
-oof (n) int n;
-#endif
-{
- return n + 1;
-}
diff --git a/gdb/testsuite/gdb.gdbtk/simple.c b/gdb/testsuite/gdb.gdbtk/simple.c
deleted file mode 100644
index 969f6880636..00000000000
--- a/gdb/testsuite/gdb.gdbtk/simple.c
+++ /dev/null
@@ -1,20 +0,0 @@
-int
-main(int argc, char * argv[])
-{
- int i;
- char *a;
- char *b = "abc";
- long foo;
-
- a = (char *) malloc (300);
-
- for (i=0; i < 50; i++)
- {
- int j = i % 3;
- int k = 3 - j;
- strncpy (&a[i], &b[k], j);
- foo = (long) j * k / i + 2 * k * k * k;
- }
- return 0;
-}
-
diff --git a/gdb/testsuite/gdb.gdbtk/srcwin.exp b/gdb/testsuite/gdb.gdbtk/srcwin.exp
deleted file mode 100644
index c9267d805e3..00000000000
--- a/gdb/testsuite/gdb.gdbtk/srcwin.exp
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999, 2001 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 (GPL) as published by
-# the Free Software Foundation; either version 2 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.
-
-load_lib ../gdb.gdbtk/insight-support.exp
-
-if {[gdbtk_initialize_display]} {
- if {$tracelevel} {
- strace $tracelevel
- }
-
- #
- # test source window
- #
- set prms_id 0
- set bug_id 0
-
- set testfile "list"
- set s1 "$srcdir/$subdir/list0.c"
- set sources "$s1 $srcdir/$subdir/list1.c"
- set binfile $objdir/$subdir/$testfile
- if {[file exists $s1.save]} {
- catch {file delete $s1}
- file rename $s1.save $s1
- }
- set r [gdb_compile $sources "$binfile" executable debug]
- if { $r != "" } {
- gdb_suppress_entire_file \
- "Testcase compile failed, so some tests in this file will automatically fail."
- }
-
- # Start with a fresh gdbtk
- gdb_exit
- set results [gdbtk_start [file join $srcdir $subdir srcwin.test]]
- set results [split $results \n]
- set all_results $results
-
- # move file with "main" out of the way
- file rename $s1 $s1.save
-
- # run slightly different set of tests
- gdb_exit
- set results [gdbtk_start [file join $srcdir $subdir srcwin2.test]]
- set results [split $results \n]
- set all_results [concat $all_results $results]
-
- # restore file
- file rename $s1.save $s1
-
- set r [gdb_compile $sources "$binfile" executable ""]
- if { $r != "" } {
- gdb_suppress_entire_file \
- "Testcase compile failed, so some tests in this file will automatically fail."
- }
- # run slightly different set of tests
- gdb_exit
- set results [gdbtk_start [file join $srcdir $subdir srcwin3.test]]
- set results [split $results \n]
- set all_results [concat $all_results $results]
-
- # Analyze results
- gdbtk_done $all_results
-}
diff --git a/gdb/testsuite/gdb.gdbtk/srcwin.test b/gdb/testsuite/gdb.gdbtk/srcwin.test
deleted file mode 100644
index eaa9ba8530e..00000000000
--- a/gdb/testsuite/gdb.gdbtk/srcwin.test
+++ /dev/null
@@ -1,1192 +0,0 @@
-# Copyright (C) 1999, 2001 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 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Martin Hunt (hunt@cygnus.com)
-
-# Read in the standard defs file
-
-if {![gdbtk_read_defs]} {
- break
-}
-
-global objdir srcdir
-
-
-# move the pointer to the center of the bbox relative to $win
-proc move_mouse_to {win bbox} {
- if {[llength $bbox] != 4} {
- return 0
- }
- set x [expr [lindex $bbox 0] + [lindex $bbox 2] / 2]
- set y [expr [lindex $bbox 1] + [lindex $bbox 3] / 2]
- warp_pointer . [winfo rootx $win] [winfo rooty $win]
-
- set nx 0
- set ny 0
-
- while {$nx != $x || $ny != $y} {
- if {$nx < $x} {incr nx}
- if {$ny < $y} {incr ny}
- warp_pointer $win $nx $ny
- }
- return 1
-}
-
-proc click {win bbox bnum} {
- if {![move_mouse_to $win $bbox]} {
- return 0
- }
- update
-
- set x [expr [lindex $bbox 0] + [lindex $bbox 2] / 2]
- set y [expr [lindex $bbox 1] + [lindex $bbox 3] / 2]
-
- if {[catch {event generate $win <Button-$bnum> -x $x -y $y} result]} {
- return 0
- }
- if {[catch {event generate $win <ButtonRelease-$bnum> -x $x -y $y} result]} {
- return 0
- }
- return 1
-}
-
-
-##### #####
-# #
-# SECTION 1: Mode Tests #
-# #
-##### #####
-
-# Load the test executable
-set program [file join $objdir list]
-if {[catch {gdbtk_test_file $program} t]} {
- # This isn't a test case, since if this fails, we're hosed.
- gdbtk_test_error "loading \"$program\": $t"
-}
-
-set srcwin [ManagedWin::open SrcWin]
-set stw [$srcwin test_get twin]
-set twin [$stw test_get twin]
-
-# get things started
-gdb_cmd "break main"
-gdbtk_test_run
-
-# Test: srcwin-1.1
-# Desc: Check for something in source window
-gdbtk_test srcwin-1.1 "source window has contents" {
- set file1(source) [$twin get 1.0 end]
- expr {![string compare $file1(source) ""]}
-} {0}
-
-
-# Test: srcwin-1.2
-# Desc: source->assembly mode change
-gdbtk_test srcwin-1.2 "source->assembly mode change" {
- $srcwin mode "" ASSEMBLY
- set twin [$stw test_get twin]
- set file1(assembly) [$twin get 1.0 end]
- expr {![string compare $file1(source) $file1(assembly)]}
-} {0}
-
-# Test: srcwin-1.3
-# Desc: assembly->mixed mode change
-gdbtk_test srcwin-1.3 "assembly->mixed mode change" {
- $srcwin mode "" MIXED
- set twin [$stw test_get twin]
- set file1(mixed) [$twin get 1.0 end]
- expr {![string compare $file1(mixed) $file1(assembly)]}
-} {0}
-
-# Test: srcwin-1.4
-# Desc: mixed->src+asm mode change
-gdbtk_test srcwin-1.4 "mixed->src+asm mode change" {
- $srcwin mode "" SRC+ASM
- set twin [$stw test_get twin]
- set bwin [$stw test_get bwin]
- set s [$twin get 1.0 end]
- set a [$bwin get 1.0 end]
- list [string compare $a $file1(assembly)] [string compare $s $file1(source)] [winfo ismapped $bwin]
-} {0 0 1}
-
-# Test: srcwin-1.5
-# Desc: src+asm->source mode change
-gdbtk_test srcwin-1.5 "src+asm->source mode change" {
- $srcwin mode "" SOURCE
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- set bwin [$stw test_get bwin]
- list [string compare $file1(source) $a] [winfo ismapped $bwin]
-} {0 0}
-
-# Test: srcwin-1.6
-# Desc: source->mixed mode change
-gdbtk_test srcwin-1.6 "source->mixed mode change" {
- $srcwin mode "" MIXED
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- string compare $file1(mixed) $a
-} {0}
-
-# Test: srcwin-1.7
-# Desc: mixed->source mode change
-gdbtk_test srcwin-1.7 "mixed->source mode change" {
- $srcwin mode "" SOURCE
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- string compare $file1(source) $a
-} {0}
-
-# Test: srcwin-1.8
-# Desc: source->src+asm mode change
-gdbtk_test srcwin-1.8 "source->src+asm mode change" {
- $srcwin mode "" SRC+ASM
- set twin [$stw test_get twin]
- set bwin [$stw test_get bwin]
- set s [$twin get 1.0 end]
- set a [$bwin get 1.0 end]
- list [string compare $a $file1(assembly)] [string compare $s $file1(source)] [winfo ismapped $bwin]
-} {0 0 1}
-
-# Test: srcwin-1.9
-# Desc: src+asm->assembly mode change
-gdbtk_test srcwin-1.9 "src+asm->assembly mode change" {
- $srcwin mode "" ASSEMBLY
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- string compare $file1(assembly) $a
-} {0}
-
-# Test: srcwin-1.10
-# Desc: assembly->src+asm mode change
-gdbtk_test srcwin-1.10 "assembly->src+asm mode change" {
- $srcwin mode "" SRC+ASM
- set twin [$stw test_get twin]
- set bwin [$stw test_get bwin]
- set s [$twin get 1.0 end]
- set a [$bwin get 1.0 end]
- list [string compare $a $file1(assembly)] [string compare $s $file1(source)] [winfo ismapped $bwin]
-} {0 0 1}
-
-# Test: srcwin-1.11
-# Desc: src+asm->mixed mode change
-gdbtk_test srcwin-1.11 "src+asm->mixed mode change" {
- $srcwin mode "" MIXED
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- set bwin [$stw test_get bwin]
- expr {[string compare $file1(mixed) $a] ||
- [winfo ismapped $bwin]}
-} {0}
-
-# Test: srcwin-1.12
-# Desc: mixed->assembly mode change
-gdbtk_test srcwin-1.12 "mixed->assembly mode change" {
- $srcwin mode "" ASSEMBLY
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- string compare $file1(assembly) $a
-} {0}
-
-# Test: srcwin-1.13
-# Desc: assembly->source mode change
-gdbtk_test srcwin-1.13 "assembly->source mode change" {
- $srcwin mode "" SOURCE
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- string compare $file1(source) $a
-} {0}
-
-
-##### #####
-# #
-# SECTION 2: Basic Operations #
-# #
-##### #####
-
-# Test: srcwin-2.1
-# Desc: check contents of filename combobox
-gdbtk_test srcwin-2.1 "check contents of filename combobox" {
- set statbar [$srcwin test_get _statbar]
- set names [$statbar.name list get 0 end]
- set r 0
- foreach f {list0.c list1.c} {
- if {[lsearch $names $f] != -1} {
- incr r
- }
- }
- set r
-} {2}
-
-# Test: srcwin-2.2
-# Desc: check contents of function combobox
-gdbtk_test srcwin-2.2 "check contents of function combobox" {
- set names [$statbar.func list get 0 end]
- set r 0
- foreach f {main foo unused} {
- if {[lsearch $names $f] != -1} {
- incr r
- }
- }
- set r
-} {3}
-
-# Test: srcwin-2.3
-# Desc: goto filename
-gdbtk_test srcwin-2.3 "goto filename" {
- set func [$srcwin test_get _name 1]
- $func "" list1.c
- set twin [$stw test_get twin]
- set file2(source) [$twin get 1.0 end]
- expr {![string compare $file1(source) $file2(source)]}
-} {0}
-
-# Test: srcwin-2.4
-# Desc: check contents of function combobox
-gdbtk_test srcwin-2.4 "check contents of function combobox" {
- set names [$statbar.func list get 0 end]
- set r 0
- foreach f {bar long_line oof unused} {
- if {[lsearch $names $f] != -1} {
- incr r
- }
- }
- set r
-} {4}
-
-# Test: srcwin-2.5
-# Desc: function combobox entry field should be empty after switching to a new file
-gdbtk_test srcwin-2.5 "function combobox entry field should be empty" {
- set names [$statbar.func get]
- string length $names
-} {0}
-
-# Test: srcwin-2.6
-# Desc: goto function
-gdbtk_test srcwin-2.6 "goto function bar" {
- $srcwin goto_func "" bar
- set r 0
-
- # now get a dump of all tags and check that only one line is
- # marked BROWSE_TAG and no lines are STACK_TAG or PC_TAG.
-
- # We know that list1.c should have BROWSE_TAG set at index 5.2
- # for function "bar". If list1.c is changed or the layout of the source
- # window is changed, this must be updated.
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "BROWSE_TAG"} {
- if {$i == "10.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} { incr r 10}
- if {$v == "PC_TAG"} { incr r 100}
- }
- }
- } else {
- set r -1
- }
-
- if {$r == 1} {
- # things are OK so far, so just verify the function name is displayed
- # in the combobox entry field.
- set names [$statbar.func get]
- if {[string compare $names "bar"]} {set r -2}
- }
- set r
-} {1}
-
-# Test: srcwin-2.7
-# Desc: goto function "oof". This tests that the correct line is highlighted
-# with BROWSE_TAG and no other lines are highlighted. It also checks that
-# the combobox has the correct function name in it. Finally, list1.c
-# has an extremely long line, line 32, that breaks some functions. We verify
-# that the GDBtk has the correct line number.
-
-gdbtk_test srcwin-2.7 "goto function oof" {
- $srcwin goto_func "" oof
- set r 0
-
- # now get a dump of all tags and check that only one line is
- # marked BROWSE_TAG and no lines are STACK_TAG or PC_TAG.
-
- # We know that list1.c should have BROWSE_TAG set at index 32.2
- # for function "oof". If list1.c is changed or the layout of the source
- # window is changed, this must be updated.
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "BROWSE_TAG"} {
- if {$i == "38.2"} {
- set line_number [$twin get "$i wordstart" "$i wordend"]
- if {$line_number == "38"} {
- incr r
- } else {
- incr r -100
- }
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "PC_TAG"} {incr r 100}
- }
- }
- } else {
- set r -1
- }
-
- if {$r == 1} {
- # things are OK so far, so just verify the function name is displayed
- # in the combobox entry field.
- set names [$statbar.func get]
- if {[string compare $names "oof"]} {set r -2}
- }
- set r
-} {1}
-
-# Test: srcwin-2.8
-# Desc: This test issues a next command while browsing list1.c.
-# It should display list0.c and highlight the correct line.
-gdbtk_test srcwin-2.8 "step while browsing" {
- gdb_immediate "next" 1
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list0.c"} {set r -1}
- if {$func != "main"} {set r -2}
-
- # check that correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $file1(source) $a]} {set r -3}
-
- # check for PC_TAG on correct line
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- if {$i == "11.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# Test: srcwin-2.9
-# Desc: This test issues a next command while the current
-# PC is ready to call a function. It should not go into the function and
-# should update the PC highlight correctly.
-gdbtk_test srcwin-2.9 "next" {
- gdb_immediate "next" 1
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list0.c"} {set r -1}
- if {$func != "main"} {set r -2}
-
- # check that correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $file1(source) $a]} {set r -3}
-
- # check for PC_TAG on correct line
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- if {$i == "12.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# Test: srcwin-2.10
-# Desc: This test issues a step command while the current
-# PC is ready to call a function. It should step into the function.
-gdbtk_test srcwin-2.10 "step" {
- gdb_immediate "step" 1
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list0.h"} {set r -1}
- if {$func != "foo"} {set r -2}
-
- # check that a new file is displayed
- set twin [$stw test_get twin]
- set file3(source) [$twin get 1.0 end]
- if {![string compare $file1(source) $file3(source)]} {set r -3}
-
- # check for PC_TAG on correct line
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- if {$i == "9.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# Test: srcwin-2.11
-# Desc: This test issues a break and a continue
-gdbtk_test srcwin-2.11 "set BP and continue" {
- gdb_immediate "break oof" 1
- gdb_immediate "continue" 1
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list1.c"} {set r -1}
- if {$func != "oof"} {set r -2}
-
- # check that the correct file is displayed
- # we must clear the breakpoint first so it doesn't mess up the
- # comparison...
- gdb_immediate "clear oof" 1
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $file2(source) $a]} {set r -3}
-
- # check for PC_TAG on correct line
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- if {$i == "38.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-##### #####
-# #
-# SECTION 3: Stack Operations #
-# #
-##### #####
-
-# Test: srcwin-3.1
-# Desc: This tests "stack up"
-gdbtk_test srcwin-3.1 "stack up (1)" {
- $srcwin stack up
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list1.c"} {set r -1}
- if {$func != "long_line"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $file2(source) $a]} {set r -3}
-
- # check for PC_TAG and STACK_TAG on correct lines
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- # return n + 1;
- if {$i == "38.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {
- # oof (67);
- if {$i == "26.2"} {
- incr r
- } else {
- incr r 10
- }
- }
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {2}
-
-# Test: srcwin-3.2
-# Desc: Another "stack up" test
-gdbtk_test srcwin-3.2 "stack up (2)" {
- $srcwin stack up
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list1.c"} {set r -1}
- if {$func != "bar"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $file2(source) $a]} {set r -3}
-
- # check for PC_TAG and STACK_TAG on correct lines
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- # return n + 1;
- if {$i == "38.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {
- # long_line ();
- if {$i == "12.2"} {
- incr r
- } else {
- incr r 10
- }
- }
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {2}
-
-# Test: srcwin-3.3
-# Desc: Another "stack up" test
-gdbtk_test srcwin-3.3 "stack up (3)" {
- $srcwin stack up
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list0.h"} {set r -1}
- if {$func != "foo"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {![string compare $file2(source) $a]} {set r -3}
-
- # check for PC_TAG and STACK_TAG on correct lines
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "STACK_TAG"} {
- if {$i == "9.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "PC_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# Test: srcwin-3.4
-# Desc: Another "stack up" test
-gdbtk_test srcwin-3.4 "stack up (4)" {
- $srcwin stack up
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list0.c"} {set r -1}
- if {$func != "main"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $file1(source) $a]} {set r -3}
-
- # check for PC_TAG and STACK_TAG on correct lines
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "STACK_TAG"} {
- if {$i == "12.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "PC_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# Disabled for now because there are different correct results.
-# Test should be rewritten to include those.
-# Test: srcwin-3.5
-# Desc: "stack up" when we are at the top
-#gdbtk_test srcwin-3.5 "stack up when at the top" {
-# $srcwin stack up
-# set r 0
-# set name [$statbar.name get]
-# set func [$statbar.func get]
-#
- # check contents of name and function comboboxes
-# if {$name != "list0.c"} {set r -1}
-# if {$func != "main"} {set r -2}
-
- # check that the correct file is displayed
-# set twin [$stw test_get twin]
-# set a [$twin get 1.0 end]
-# if {[string compare $file1(source) $a]} {set r -3}
-
- # check for PC_TAG and STACK_TAG on correct lines
-# if {$r == 0} {
-# if {![catch {set z [$twin dump -tag 1.0 end]}]} {
-# foreach {k v i} $z {
-# if {$k == "tagon"} {
-# if {$v == "STACK_TAG"} {
-# if {$i == "12.2"} {
-# incr r
-# } else {
-# incr r 5
-# }
-# }
-# if {$v == "PC_TAG"} {incr r 10}
-# if {$v == "BROWSE_TAG"} {incr r 100}
-# }
-# }
-# } else {
-# set r -4
-# }
-# }
-# set r
-#} {1}
-
-# Test: srcwin-3.6
-# Desc: "stack down" test
-gdbtk_test srcwin-3.6 "stack down" {
- $srcwin stack down
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list0.h"} {set r -1}
- if {$func != "foo"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {![string compare $file2(source) $a]} {set r -3}
-
- # check for PC_TAG and STACK_TAG on correct lines
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "STACK_TAG"} {
- if {$i == "9.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "PC_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# Test: srcwin-3.7
-# Desc: "stack bottom" test
-gdbtk_test srcwin-3.7 "stack bottom" {
- $srcwin stack bottom
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list1.c"} {set r -1}
- if {$func != "oof"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $file2(source) $a]} {set r -3}
-
- # check for PC_TAG on correct line
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- if {$i == "38.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# Test: srcwin-3.8
-# Desc: "stack down" when at bottom
-gdbtk_test srcwin-3.8 "stack down when at bottom" {
- $srcwin stack down
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list1.c"} {set r -1}
- if {$func != "oof"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $file2(source) $a]} {set r -3}
-
- # check for PC_TAG on correct line
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- if {$i == "38.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# 4 - BREAKPOINTS
-
-# Test: srcwin-4.1
-# Desc: Set BP in another file. Tests bp and cache functions
-gdbtk_test srcwin-4.1 "set BP in another file" {
- gdb_immediate "break foo" 1
- $srcwin goto_func "" foo
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list0.h"} {set r -1}
- if {$func != "foo"} {set r -2}
-
- set twin [$stw test_get twin]
-
- # check for BROWSE_TAG and BP image on correct line
- if {$r == 0} {
- if {![catch {set z [$twin dump 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "BROWSE_TAG"} {
- if {$i == "9.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "PC_TAG"} {incr r 100}
- } elseif {$k == "image"} {
- if {$i == "9.0"} {
- incr r
- } else {
- set r -200
- }
- }
- }
- } else {
- set r -4
- }
- }
-
- if {$r == 2} {
- # clear BP and compare with previous contents. This should succeed,
- gdb_immediate "clear foo" 1
- set a [$twin get 1.0 end]
- if {[string compare $file3(source) $a]} {set r -3}
- }
-
- set r
-} {2}
-
-# Test: srcwin-4.2
-# Desc: Test temporary BP
-gdbtk_test srcwin-4.2 "temporary BP" {
- set r 0
- if {[catch {gdb_immediate "tbreak foo" 1} msg]} {
- set r -500
- }
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list0.h"} {set r -1}
- if {$func != "foo"} {set r -2}
-
- set twin [$stw test_get twin]
-
- # check for BROWSE_TAG and BP image on correct line
- if {$r == 0} {
- if {![catch {set z [$twin dump 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "BROWSE_TAG"} {
- if {$i == "9.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "PC_TAG"} {incr r 100}
- } elseif {$k == "image"} {
- if {$i == "9.0"} {
- incr r
- } else {
- set r -200
- }
- }
- }
- } else {
- set r -4
- }
- }
-
- gdb_immediate "continue" 1
-
- # now check for PC_TAG and no image
- if {$r == 2} {
- if {![catch {set z [$twin dump 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- if {$i == "9.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- } elseif {$k == "image"} {
- set r -200
- }
- }
- } else {
- set r -4
- }
- }
-
- set r
-} {3}
-
-# Test: srcwin-4.3
-# Desc: Test BP balloons
-gdbtk_test srcwin-4.3 "BP Balloons" {
- # move pointer out of the way
- warp_pointer . 0 0
- set r 0
- gdb_immediate "break 10" 1
- gdb_immediate "tbreak 10" 1
-
- set twin [$stw test_get twin]
-
- # check for BROWSE_TAG and BP image on correct line
- if {$r == 0} {
- if {![catch {set z [$twin dump 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- if {$i == "9.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- } elseif {$k == "image"} {
- if {$i == "10.0"} {
- incr r
- # we found the bp image, now we will test the bp balloon messages
- set balloon [winfo toplevel [namespace tail $srcwin]].__balloon
- # shouldn't be mapped yet
- if {[winfo ismapped $balloon]} {
- set r -3000
- break
- }
- move_mouse_to $twin [$twin bbox $i]
- #wait a second for the balloon message to appear
- sleep 1
- if {![winfo ismapped $balloon]} {
- set r -4000
- break
- }
- # read the contents of the balloon and parse it into lines
- set a [split [$balloon.label cget -text] \n]
- set i 0
- # foreach line parse it and check the type and make sure it is enabled
- foreach line $a {
- if {[lindex $line 0] == "breakpoint"} {continue}
- incr i
- set enabled [lindex $line 0]
- set bptype [lindex $line 2]
- switch $i {
- 1 {
- if {$bptype != "donttouch"} {set r -1000}
- }
- 2 {
- if {$bptype != "delete"} {set r -2000}
- }
- }
- }
- } else {
- set r -200
- }
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {2}
-
-#ManagedWin::open DebugWin
-
-# Test: srcwin-4.4
-# Desc: Click on line to set BP
-gdbtk_test srcwin-4.4 "Click on line to set BP" {
- set r 0
-
- # click mouse button 1 at index 20.1
- if {![click $twin [$twin bbox 20.1] 1]} {
- set r "Click failed on line 20.1"
- } else {
-
- # now look for BP at line 20
- foreach bpnum [gdb_get_breakpoint_list] {
- set bpinfo [gdb_get_breakpoint_info $bpnum]
- lassign $bpinfo file func line pc type enabled disposition \
- ignore_count commands cond thread hit_count
- set file [lindex [file split $file] end]
- if {$file == "list0.h"} {
- if {$line == "20"} {
- if {$enabled == "1"} {incr r}
- if {$func == "foo"} {incr r}
- if {$type == "breakpoint"} {incr r}
- if {$disposition == "donttouch"} {incr r}
- }
- }
- }
- }
- set r
-} {4}
-
-
-# Test: srcwin-4.5
-# Desc: Continue till here popup
-gdbtk_test srcwin-4.5 "Continue till here popup" {
- set twin [$stw test_get twin]
-
- # Get coordinates of line 16
- set b [$twin bbox 16.1]
- set y [expr {[lindex $b 1] + ([lindex $b 3] / 2)}]
-
- # Continue to here
- $stw continue_to_here $twin $y
-
- # Where is the PC_TAG?
- set pcs {}
- set tags [$twin tag ranges PC_TAG]
- foreach {start end} $tags {
- lappend pcs [expr {int($start)}]
- }
-
- # Where are breakpoints?
- set bps {}
- set imgs [$twin dump -image 1.0 end]
- foreach {foo bar line} $imgs {
- lappend bps $line
- }
-
- list $pcs $bps
-} {16 {10.0 20.0}}
-
-# 5.1 balloon variables
-# Test: srcwin-5.1
-# Desc: variable balloon test
-# continues to BP at line 20 and checks to see that value was updated
-gdbtk_test srcwin-5.1 "variable balloon test" {
- # move pointer out of the way
- warp_pointer . 0 0
- set r 0
- set twin [$stw test_get twin]
-
- # move pointer to variable "x" and check balloon
- set index [string first "x++" [$twin get 20.0 20.end]]
- move_mouse_to $twin [$twin bbox 20.$index]
- sleep 1
- if {[winfo ismapped $balloon]} {
- if {![string compare "x=9" [$balloon.label cget -text]]} {incr r}
- gdb_immediate "continue" 1
- sleep 1
- if {![string compare "x=13" [$balloon.label cget -text]]} {incr r}
- } else {
- set r -1
- }
-
- set r
-} {2}
-
-# 6.1 mixed mode disassembly of include file
-# Test: srcwin-6.1
-# Desc: Some versions of GDBtk can't do mixed-mode disassembly of a function
-# that is in an include file. PR# mi/1101
-
-gdbtk_test srcwin-6.1 "mixed mode disassembly of include file (mi/1101)" {
- set r 0
- $srcwin mode "" MIXED
-
- # check contents of name and function comboboxes
- set name [$statbar.name get]
- set func [$statbar.func get]
- if {$name != "list0.h"} {set r -1}
- if {$func != "foo"} {set r -2}
-
- # check contents of source window
- set twin [$stw test_get twin]
- set text [$twin get 1.0 end]
- # Is it correct? I don't know. Guess we look for some pieces of source...
- if {[string first "static void" $text] != -1 &&
- [string first "foo (x)" $text] != -1 &&
- [string first "bar (x++);" $text] != -1} {
- set r 1
- }
-
- set r
-} {1}
-
-gdbtk_test_done
diff --git a/gdb/testsuite/gdb.gdbtk/srcwin2.test b/gdb/testsuite/gdb.gdbtk/srcwin2.test
deleted file mode 100644
index ee693e269cb..00000000000
--- a/gdb/testsuite/gdb.gdbtk/srcwin2.test
+++ /dev/null
@@ -1,899 +0,0 @@
-# Copyright (C) 1999, 2001 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 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Martin Hunt (hunt@cygnus.com)
-
-
-# same as srcwin.test, except test debugging executables
-# when source files are missing.
-
-# Read in the standard defs file
-
-if {![gdbtk_read_defs]} {
- break
-}
-
-global objdir srcdir
-
-##### #####
-# #
-# SECTION 1: Mode Tests #
-# #
-##### #####
-
-# Load the test executable
-set program [file join $objdir list]
-if {[catch {gdbtk_test_file $program} t]} {
- # This isn't a test case, since if this fails, we're hosed.
- gdbtk_test_error "loading \"$program\": $t"
-}
-
-set srcwin [ManagedWin::open SrcWin]
-set stw [$srcwin test_get twin]
-set twin [$stw test_get twin]
-set statbar [$srcwin test_get _statbar]
-
-# get things started
-gdb_cmd "break main"
-gdbtk_test_run
-
-# Test: srcwin2-1.1
-# Desc: Check for something in source window
-gdbtk_test srcwin2-1.1 "source window has contents" {
- set r 0
- set file1(source) [$twin get 1.0 end]
- if {$file1(source) == ""} {set r -1}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -2}
- set r
-} {0}
-
-# Test: srcwin2-1.2
-# Desc: source->assembly mode change
-gdbtk_test srcwin2-1.2 "source->assembly mode change" {
- $srcwin mode "" ASSEMBLY
- set twin [$stw test_get twin]
- set file1(assembly) [$twin get 1.0 end]
- # source == assembly because for there is no source
- string compare $file1(source) $file1(assembly)
-} {0}
-
-# Test: srcwin2-1.3
-# Desc: assembly->mixed mode change
-gdbtk_test srcwin2-1.3 "assembly->mixed mode change" {
- set r 0
- $srcwin mode "" MIXED
- set twin [$stw test_get twin]
- set file1(mixed) [$twin get 1.0 end]
- # mixed != assembly because the lines with source should
- # be noted, even if source in unavailable. This behaviour is
- # different for different debug formats, so we accept either.
- if {$file1(mixed) == ""} {set r -1}
- if {[$statbar.mode get] != "MIXED"} {set r -2}
- set r
-} {0}
-
-# Test: srcwin2-1.4
-# Desc: mixed->src+asm mode change
-gdbtk_test srcwin2-1.4 "mixed->src+asm mode change" {
- set r 0
- # mode change may fail if fallover to ASSEMBLY fails
- if {[catch {$srcwin mode "" SRC+ASM}]} { set r -5 }
- set twin [$stw test_get twin]
- if {[$twin get 1.0 end] != $file1(assembly)} {set r -1}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -2}
- set r
-} {0}
-
-# Test: srcwin2-1.5
-# Desc: src+asm->source mode change
-gdbtk_test srcwin2-1.5 "src+asm->source mode change" {
- set r 0
- $srcwin mode "" SOURCE
- set twin [$stw test_get twin]
- if {[$stw test_get bwin] != ""} {set r -2}
- if {[$twin get 1.0 end] != $file1(assembly)} {set r -1}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -3}
- set r
-} {0}
-
-# Test: srcwin2-1.6
-# Desc: source->mixed mode change
-gdbtk_test srcwin2-1.6 "source->mixed mode change" {
- set r 0
- $srcwin mode "" MIXED
- set twin [$stw test_get twin]
- if {[$twin get 1.0 end] != $file1(mixed)} {set r -1}
- if {[$statbar.mode get] != "MIXED"} {set r -2}
- set r
-} {0}
-
-# Test: srcwin2-1.7
-# Desc: mixed->source mode change
-gdbtk_test srcwin2-1.7 "mixed->source mode change" {
- set r 0
- $srcwin mode "" SOURCE
- set twin [$stw test_get twin]
- if {[$twin get 1.0 end] != $file1(source)} {set r -1}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -2}
- set r
-} {0}
-
-# Test: srcwin2-1.8
-# Desc: source->src+asm mode change
-gdbtk_test srcwin2-1.8 "source->src+asm mode change" {
- set r 0
- # mode change may fail if fallover to ASSEMBLY fails
- if {[catch {$srcwin mode "" SRC+ASM}]} { set r -5 }
- set twin [$stw test_get twin]
- set bwin [$stw test_get bwin]
- if {[$twin get 1.0 end] != $file1(assembly)} {set r -1}
- if {$bwin != ""} {set r -2}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -3}
- set r
-} {0}
-
-# Test: srcwin2-1.9
-# Desc: src+asm->assembly mode change
-gdbtk_test srcwin2-1.9 "src+asm->assembly mode change" {
- set r 0
- $srcwin mode "" ASSEMBLY
- set twin [$stw test_get twin]
- if {[$twin get 1.0 end] != $file1(assembly)} {set r -1}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -2}
- set r
-} {0}
-
-# Test: srcwin2-1.10
-# Desc: assembly->src+asm mode change
-gdbtk_test srcwin2-1.10 "assembly->src+asm mode change" {
- set r 0
- # mode change may fail if fallover to ASSEMBLY fails
- if {[catch {$srcwin mode "" SRC+ASM}]} { set r -5 }
- set twin [$stw test_get twin]
- set bwin [$stw test_get bwin]
- if {[$twin get 1.0 end] != $file1(assembly)} {set r -1}
- if {$bwin != ""} {set r -2}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -3}
- set r
-} {0}
-
-# Test: srcwin2-1.11
-# Desc: src+asm->mixed mode change
-gdbtk_test srcwin2-1.11 "src+asm->mixed mode change" {
- set r 0
- $srcwin mode "" MIXED
- set twin [$stw test_get twin]
- if {[$twin get 1.0 end] != $file1(mixed)} {set r -1}
- if {[$statbar.mode get] != "MIXED"} {set r -2}
- set r
-} {0}
-
-# Test: srcwin2-1.12
-# Desc: mixed->assembly mode change
-gdbtk_test srcwin2-1.12 "mixed->assembly mode change" {
- set r 0
- $srcwin mode "" ASSEMBLY
- set twin [$stw test_get twin]
- if {[$twin get 1.0 end] != $file1(assembly)} {set r -1}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -2}
- set r
-} {0}
-
-# Test: srcwin2-1.13
-# Desc: assembly->source mode change
-gdbtk_test srcwin2-1.13 "assembly->source mode change" {
- set r 0
- $srcwin mode "" SOURCE
- set twin [$stw test_get twin]
- if {[$twin get 1.0 end] != $file1(source)} {set r -1}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -2}
- set r
-} {0}
-
-
-##### #####
-# #
-# SECTION 2: Basic Operations #
-# #
-##### #####
-
-# Test: srcwin2-2.1
-# Desc: check contents of filename combobox
-gdbtk_test srcwin2-2.1 "check contents of filename combobox" {
- set names [$statbar.name list get 0 end]
- set r 0
- foreach f {list0.c list1.c} {
- if {[lsearch $names $f] != -1} {
- incr r
- }
- }
- set r
-} {2}
-
-# Test: srcwin2-2.2
-# Desc: check contents of function combobox
-gdbtk_test srcwin2-2.2 "check contents of function combobox" {
- set names [$statbar.func list get 0 end]
- set r 0
- foreach f {main foo unused} {
- if {[lsearch $names $f] != -1} {
- incr r
- }
- }
- set r
-} {3}
-
-# Test: srcwin2-2.3
-# Desc: goto filename
-gdbtk_test srcwin2-2.3 "goto filename" {
- set func [$srcwin test_get _name 1]
- $func "" list1.c
- set twin [$stw test_get twin]
- set file2(source) [$twin get 1.0 end]
- expr {![string compare $file1(source) $file2(source)]}
-} {0}
-
-# Test: srcwin2-2.4
-# Desc: check contents of function combobox
-gdbtk_test srcwin2-2.4 "check contents of function combobox" {
- set names [$statbar.func list get 0 end]
- set r 0
- foreach f {bar long_line oof unused} {
- if {[lsearch $names $f] != -1} {
- incr r
- }
- }
- set r
-} {4}
-
-# Test: srcwin2-2.5
-# Desc: function combobox entry field should be empty after switching to a new file
-gdbtk_test srcwin2-2.5 "function combobox entry field should be empty" {
- set names [$statbar.func get]
- string length $names
-} {0}
-
-# Test: srcwin2-2.6
-# Desc: goto function
-gdbtk_test srcwin2-2.6 "goto function bar" {
- $srcwin goto_func "" bar
- set r 0
-
- # now get a dump of all tags and check that only one line is
- # marked BROWSE_TAG and no lines are STACK_TAG or PC_TAG.
-
- # We know that list1.c should have BROWSE_TAG set at index 10.2
- # for function "bar". If list1.c is changed or the layout of the source
- # window is changed, this must be updated.
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "BROWSE_TAG"} {
- if {$i == "10.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} { incr r 10}
- if {$v == "PC_TAG"} { incr r 100}
- }
- }
- } else {
- set r -1
- }
-
- if {$r == 1} {
- # things are OK so far, so just verify the function name is displayed
- # in the combobox entry field.
- set names [$statbar.func get]
- if {[string compare $names "bar"]} {set r -2}
- }
- set r
-} {1}
-
-# Test: srcwin2-2.7
-# Desc: goto function "oof". This tests that the correct line is highlighted
-# with BROWSE_TAG and no other lines are highlighted. It also checks that
-# the combobox has the correct function name in it. Finally, list1.c
-# has an extremely long line, line 32, that breaks some functions. We verify
-# that the GDBtk has the correct line number.
-
-gdbtk_test srcwin2-2.7 "goto function oof" {
- $srcwin goto_func "" oof
- set r 0
-
- # now get a dump of all tags and check that only one line is
- # marked BROWSE_TAG and no lines are STACK_TAG or PC_TAG.
-
- # We know that list1.c should have BROWSE_TAG set at index 38.2
- # for function "oof". If list1.c is changed or the layout of the source
- # window is changed, this must be updated.
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "BROWSE_TAG"} {
- if {$i == "38.2"} {
- set line_number [$twin get "$i wordstart" "$i wordend"]
- if {$line_number == "38"} {
- incr r
- } else {
- incr r -100
- }
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "PC_TAG"} {incr r 100}
- }
- }
- } else {
- set r -1
- }
-
- if {$r == 1} {
- # things are OK so far, so just verify the function name is displayed
- # in the combobox entry field.
- set names [$statbar.func get]
- if {[string compare $names "oof"]} {set r -2}
- }
- set r
-} {1}
-
-# Test: srcwin2-2.8
-# Desc: This test issues a next command while browsing list1.c.
-# It should display list0.c and highlight the correct line.
-gdbtk_test srcwin2-2.8 "step while browsing" {
- gdb_immediate "next" 1
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list0.c"} {set r -1}
- if {$func != "main"} {set r -2}
-
- # check that correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $file1(source) $a]} {set r -3}
-
- # check for PC_TAG
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- incr r
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# Test: srcwin2-2.11
-# Desc: This test issues a break and a continue
-gdbtk_test srcwin2-2.11 "set BP and continue" {
- gdb_immediate "break oof" 1
- gdb_immediate "continue" 1
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list1.c"} {set r -1}
- if {$func != "oof"} {set r -2}
-
- # check that the correct file is displayed
- # we must clear the breakpoint first so it doesn't mess up the
- # comparison...
- gdb_immediate "clear oof" 1
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $file2(source) $a]} {set r -3}
-
- # check for PC_TAG on correct line
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- if {$i == "38.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-##### #####
-# #
-# SECTION 3: Stack Operations #
-# #
-##### #####
-
-# Test: srcwin2-3.1
-# Desc: This tests "stack up"
-gdbtk_test srcwin2-3.1 "stack up (1)" {
- $srcwin stack up
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list1.c"} {set r -1}
- if {$func != "long_line"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $file2(source) $a]} {set r -3}
-
- # check for PC_TAG and STACK_TAG on correct lines
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- if {$i == "38.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {
- if {$i == "26.2"} {
- incr r
- } else {
- incr r 10
- }
- }
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {2}
-
-# Test: srcwin2-3.2
-# Desc: Another "stack up" test
-gdbtk_test srcwin2-3.2 "stack up (2)" {
- $srcwin stack up
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list1.c"} {set r -1}
- if {$func != "bar"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $file2(source) $a]} {set r -3}
-
- # check for PC_TAG and STACK_TAG on correct lines
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- if {$i == "38.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {
- if {$i == "12.2"} {
- incr r
- } else {
- incr r 10
- }
- }
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {2}
-
-# Test: srcwin2-3.3
-# Desc: Another "stack up" test
-gdbtk_test srcwin2-3.3 "stack up (3)" {
- $srcwin stack up
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list0.h"} {set r -1}
- if {$func != "foo"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set file3(source) [$twin get 1.0 end]
- if {![string compare $file2(source) $file3(source)]} {set r -3}
-
- # check for PC_TAG and STACK_TAG on correct lines
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "STACK_TAG"} {
- if {$i == "9.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "PC_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# Test: srcwin2-3.4
-# Desc: Another "stack up" test
-gdbtk_test srcwin2-3.4 "stack up (4)" {
- $srcwin stack up
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list0.c"} {set r -1}
- if {$func != "main"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $file1(source) $a]} {set r -3}
-
- # check for STACK_TAG
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "STACK_TAG"} {
- incr r
- }
- if {$v == "PC_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-
-# Disabled for now because there are different correct results.
-# Test should be rewritten to include those.
-# Test: srcwin2-3.5
-# Desc: "stack up" when we are at the top
-#gdbtk_test srcwin2-3.5 "stack up when at the top" {
-# $srcwin stack up
-# set r 0
-# set name [$statbar.name get]
-# set func [$statbar.func get]
-
- # check contents of name and function comboboxes
-# if {$name != "list0.c"} {set r -1}
-# if {$func != "main"} {set r -2}
-
- # check that the correct file is displayed
-# set twin [$stw test_get twin]
-# set a [$twin get 1.0 end]
-# if {[string compare $file1(source) $a]} {set r -3}
-
- # check for STACK_TAG
-# if {$r == 0} {
-# if {![catch {set z [$twin dump -tag 1.0 end]}]} {
-# foreach {k v i} $z {
-# if {$k == "tagon"} {
-# if {$v == "STACK_TAG"} {
-# incr r
-# }
-# if {$v == "PC_TAG"} {incr r 10}
-# if {$v == "BROWSE_TAG"} {incr r 100}
-# }
-# }
-# } else {
-# set r -4
-# }
-# }
-# set r
-#} {1}
-
-# Test: srcwin2-3.6
-# Desc: "stack down" test
-gdbtk_test srcwin2-3.6 "stack down" {
- $srcwin stack down
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list0.h"} {set r -1}
- if {$func != "foo"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {![string compare $file2(source) $a]} {set r -3}
-
- # check for PC_TAG and STACK_TAG on correct lines
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "STACK_TAG"} {
- if {$i == "9.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "PC_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# Test: srcwin2-3.7
-# Desc: "stack bottom" test
-gdbtk_test srcwin2-3.7 "stack bottom" {
- $srcwin stack bottom
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list1.c"} {set r -1}
- if {$func != "oof"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $file2(source) $a]} {set r -3}
-
- # check for PC_TAG on correct line
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- if {$i == "38.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# Test: srcwin2-3.8
-# Desc: "stack down" when at bottom
-gdbtk_test srcwin2-3.8 "stack down when at bottom" {
- $srcwin stack down
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list1.c"} {set r -1}
- if {$func != "oof"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $file2(source) $a]} {set r -3}
-
- # check for PC_TAG on correct line
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- if {$i == "38.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# 4.1 bp, multiple, balloon, etc
-
-# Test: srcwin2-4.1
-# Desc: Set BP in another file. Tests bp and cache functions
-gdbtk_test srcwin2-4.1 "set BP in another file" {
- gdb_immediate "break foo" 1
- $srcwin goto_func "" foo
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list0.h"} {set r -1}
- if {$func != "foo"} {set r -2}
-
- set twin [$stw test_get twin]
-
- # check for BROWSE_TAG and BP image on correct line
- if {$r == 0} {
- if {![catch {set z [$twin dump 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "BROWSE_TAG"} {
- if {$i == "9.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "PC_TAG"} {incr r 100}
- } elseif {$k == "image"} {
- if {$i == "9.0"} {
- incr r
- } else {
- set r -200
- }
- }
- }
- } else {
- set r -4
- }
- }
-
- if {$r == 2} {
- # clear BP and compare with previous contents. This should succeed,
- gdb_immediate "clear foo" 1
- set a [$twin get 1.0 end]
- if {[string compare $file3(source) $a]} {set r -3}
- }
-
- set r
-} {2}
-
-# Test: srcwin2-4.2
-# Desc: Test temporary BP
-gdbtk_test srcwin2-4.2 "temporary BP" {
- set r 0
- if {[catch {gdb_immediate "tbreak foo" 1} msg]} {
- set r -500
- }
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != "list0.h"} {set r -1}
- if {$func != "foo"} {set r -2}
-
- set twin [$stw test_get twin]
-
- # check for BROWSE_TAG and BP image on correct line
- if {$r == 0} {
- if {![catch {set z [$twin dump 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "BROWSE_TAG"} {
- if {$i == "9.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "PC_TAG"} {incr r 100}
- } elseif {$k == "image"} {
- if {$i == "9.0"} {
- incr r
- } else {
- set r -200
- }
- }
- }
- } else {
- set r -4
- }
- }
-
- gdb_immediate "continue" 1
-
- # now check for PC_TAG and no image
- if {$r == 2} {
- if {![catch {set z [$twin dump 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- if {$i == "9.2"} {
- incr r
- } else {
- incr r 5
- }
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- } elseif {$k == "image"} {
- set r -200
- }
- }
- } else {
- set r -4
- }
- }
-
- set r
-} {3}
-
-gdbtk_test_done
diff --git a/gdb/testsuite/gdb.gdbtk/srcwin3.test b/gdb/testsuite/gdb.gdbtk/srcwin3.test
deleted file mode 100644
index b9a1617bb5c..00000000000
--- a/gdb/testsuite/gdb.gdbtk/srcwin3.test
+++ /dev/null
@@ -1,789 +0,0 @@
-# Copyright (C) 1999, 2001 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 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Martin Hunt (hunt@cygnus.com)
-
-###########################################################
-# same as srcwin.test, except test debugging executables #
-# build without "-g" #
-###########################################################
-
-# Read in the standard defs file
-
-if {![gdbtk_read_defs]} {
- break
-}
-
-global objdir srcdir
-
-##### #####
-# #
-# SECTION 1: Mode Tests #
-# #
-##### #####
-
-# Load the test executable
-set program [file join $objdir list]
-if {[catch {gdbtk_test_file $program} t]} {
- # This isn't a test case, since if this fails, we're hosed.
- gdbtk_test_error "loading \"$program\": $t"
-}
-
-set srcwin [ManagedWin::open SrcWin]
-set stw [$srcwin test_get twin]
-set twin [$stw test_get twin]
-set statbar [$srcwin test_get _statbar]
-
-# get things started
-gdb_cmd "break main"
-gdbtk_test_run
-
-# Test: srcwin3-1.1
-# Desc: Check for something in source window
-gdbtk_test srcwin3-1.1 "source window has contents" {
- set r 0
- set source(main) [$twin get 1.0 end]
- if {$source(main) == ""} {set r -1}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -2}
- set r
-} {0}
-
-# Test: srcwin3-1.2
-# Desc: source->assembly mode change
-gdbtk_test srcwin3-1.2 "source->assembly mode change" {
- set r 0
- $srcwin mode "" ASSEMBLY
- set twin [$stw test_get twin]
- if {$source(main) != [$twin get 1.0 end]} {set r -1}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -2}
- set r
-} {0}
-
-# Test: srcwin3-1.3
-# Desc: assembly->mixed mode change
-gdbtk_test srcwin3-1.3 "assembly->mixed mode change" {
- set r 0
- $srcwin mode "" MIXED
- set twin [$stw test_get twin]
- if {$source(main) != [$twin get 1.0 end]} {set r -1}
- if {[$statbar.mode get] != "MIXED"} {set r -2}
- set r
-} {0}
-
-# Test: srcwin3-1.4
-# Desc: mixed->src+asm mode change
-gdbtk_test srcwin3-1.4 "mixed->src+asm mode change" {
- set r 0
- # mode change may fail if fallover to ASSEMBLY fails
- if {[catch {$srcwin mode "" SRC+ASM}]} { set r -5 }
- set twin [$stw test_get twin]
- if {[$twin get 1.0 end] != $source(main)} {set r -1}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -2}
- set r
-} {0}
-
-# Test: srcwin3-1.5
-# Desc: src+asm->source mode change
-gdbtk_test srcwin3-1.5 "src+asm->source mode change" {
- set r 0
- $srcwin mode "" SOURCE
- set twin [$stw test_get twin]
- if {[$stw test_get bwin] != ""} {set r -2}
- if {[$twin get 1.0 end] != $source(main)} {set r -1}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -3}
- set r
-} {0}
-
-# Test: srcwin3-1.6
-# Desc: source->mixed mode change
-gdbtk_test srcwin3-1.6 "source->mixed mode change" {
- set r 0
- $srcwin mode "" MIXED
- set twin [$stw test_get twin]
- if {[$twin get 1.0 end] != $source(main)} {set r -1}
- if {[$statbar.mode get] != "MIXED"} {set r -2}
- set r
-} {0}
-
-# Test: srcwin3-1.7
-# Desc: mixed->source mode change
-gdbtk_test srcwin3-1.7 "mixed->source mode change" {
- set r 0
- $srcwin mode "" SOURCE
- set twin [$stw test_get twin]
- if {[$twin get 1.0 end] != $source(main)} {set r -1}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -2}
- set r
-} {0}
-
-# Test: srcwin3-1.8
-# Desc: source->src+asm mode change
-gdbtk_test srcwin3-1.8 "source->src+asm mode change" {
- set r 0
- # mode change may fail if fallover to ASSEMBLY fails
- if {[catch {$srcwin mode "" SRC+ASM}]} { set r -5 }
- set twin [$stw test_get twin]
- set bwin [$stw test_get bwin]
- if {[$twin get 1.0 end] != $source(main)} {set r -1}
- if {$bwin != ""} {set r -2}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -3}
- set r
-} {0}
-
-# Test: srcwin3-1.9
-# Desc: src+asm->assembly mode change
-gdbtk_test srcwin3-1.9 "src+asm->assembly mode change" {
- set r 0
- $srcwin mode "" ASSEMBLY
- set twin [$stw test_get twin]
- if {[$twin get 1.0 end] != $source(main)} {set r -1}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -2}
- set r
-} {0}
-
-# Test: srcwin3-1.10
-# Desc: assembly->src+asm mode change
-gdbtk_test srcwin3-1.10 "assembly->src+asm mode change" {
- set r 0
- # mode change may fail if fallover to ASSEMBLY fails
- if {[catch {$srcwin mode "" SRC+ASM}]} { set r -5 }
- set twin [$stw test_get twin]
- set bwin [$stw test_get bwin]
- if {[$twin get 1.0 end] != $source(main)} {set r -1}
- if {$bwin != ""} {set r -2}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -3}
- set r
-} {0}
-
-# Test: srcwin3-1.11
-# Desc: src+asm->mixed mode change
-gdbtk_test srcwin3-1.11 "src+asm->mixed mode change" {
- set r 0
- $srcwin mode "" MIXED
- set twin [$stw test_get twin]
- if {[$twin get 1.0 end] != $source(main)} {set r -1}
- if {[$statbar.mode get] != "MIXED"} {set r -2}
- set r
-} {0}
-
-# Test: srcwin3-1.12
-# Desc: mixed->assembly mode change
-gdbtk_test srcwin3-1.12 "mixed->assembly mode change" {
- set r 0
- $srcwin mode "" ASSEMBLY
- set twin [$stw test_get twin]
- if {[$twin get 1.0 end] != $source(main)} {set r -1}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -2}
- set r
-} {0}
-
-# Test: srcwin3-1.13
-# Desc: assembly->source mode change
-gdbtk_test srcwin3-1.13 "assembly->source mode change" {
- set r 0
- $srcwin mode "" SOURCE
- set twin [$stw test_get twin]
- if {[$twin get 1.0 end] != $source(main)} {set r -1}
- if {[$statbar.mode get] != "ASSEMBLY"} {set r -2}
- set r
-} {0}
-
-
-##### #####
-# #
-# SECTION 2: Basic Operations #
-# #
-##### #####
-
-# Test: srcwin3-2.2
-# Desc: check contents of function combobox
-# There won't be any because we have no debug info
-gdbtk_test srcwin3-2.2 "check contents of function combobox" {
- set names [$statbar.func list get 0 end]
- llength $names
-} {0}
-
-# Test: srcwin3-2.3
-# Desc: goto filename - this won't work, but should leave things as they were
-gdbtk_test srcwin3-2.3 "goto filename" {
- set func [$srcwin test_get _name 1]
- $func "" list1.c
- set twin [$stw test_get twin]
- string compare $source(main) [$twin get 1.0 end]
-} {0}
-
-# Test: srcwin3-2.6
-# Desc: goto function
-gdbtk_test srcwin3-2.6 "goto function bar" {
- $srcwin goto_func "" bar
- set r 0
- set twin [$stw test_get twin]
- set source(bar) [$twin get 1.0 end]
-
- if {$source(bar) == $source(main)} {set r -1000}
-
- # now get a dump of all tags and check that only one line is
- # marked BROWSE_TAG and no lines are STACK_TAG or PC_TAG.
-
- # We know that list1.c should have BROWSE_TAG set at index 5.2
- # for function "bar". If list1.c is changed or the layout of the source
- # window is changed, this must be updated.
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "BROWSE_TAG"} {
- incr r
- }
- if {$v == "STACK_TAG"} { incr r 10}
- if {$v == "PC_TAG"} { incr r 100}
- }
- }
- } else {
- set r -1
- }
-
- if {$r == 1} {
- # things are OK so far, so just verify the function name is displayed
- # in the combobox entry field.
- set names [$statbar.func get]
- if {[string compare $names "bar"]} {set r -2}
- }
- set r
-} {1}
-
-# Test: srcwin3-2.7
-# Desc: goto function "oof". This tests that the correct line is highlighted
-# with BROWSE_TAG and no other lines are highlighted. It also checks that
-# the combobox has the correct function name in it.
-
-gdbtk_test srcwin3-2.7 "goto function oof" {
- $srcwin goto_func "" oof
- set r 0
-
- set twin [$stw test_get twin]
- set source(oof) [$twin get 1.0 end]
-
- if {$source(bar) == $source(oof)} {set r -1000}
- if {$source(oof) == $source(main)} {set r -2000}
-
- # now get a dump of all tags and check that only one line is
- # marked BROWSE_TAG and no lines are STACK_TAG or PC_TAG.
-
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "BROWSE_TAG"} {
- incr r
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "PC_TAG"} {incr r 100}
- }
- }
- } else {
- set r -1
- }
-
- if {$r == 1} {
- # things are OK so far, so just verify the function name is displayed
- # in the combobox entry field.
- set names [$statbar.func get]
- if {[string compare $names "oof"]} {set r -2}
- }
- set r
-} {1}
-
-# Test: srcwin3-2.8
-# Desc: This test issues a nexti command while browsing oof.
-# It should jump back to main
-gdbtk_test srcwin3-2.8 "nexti while browsing" {
- gdb_immediate "nexti" 1
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of function combobox
- if {$func != "main"} {set r -2}
- if {$name != ""} {set r -1}
-
- # check that correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $source(main) $a]} {set r -3}
-
- # check for PC_TAG
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- incr r
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# Test: srcwin3-2.11
-# Desc: This test issues a break and a continue
-gdbtk_test srcwin3-2.11 "set BP and continue" {
- gdb_immediate "break oof" 1
- gdb_immediate "continue" 1
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != ""} {set r -1}
- if {$func != "oof"} {set r -2}
-
- # check that the correct file is displayed
- # we must clear the breakpoint first so it doesn't mess up the
- # comparison...
- gdb_immediate "clear oof" 1
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $source(oof) $a]} {set r -3}
-
- # check for PC_TAG
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- incr r
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-##### #####
-# #
-# SECTION 3: Stack Operations #
-# #
-##### #####
-
-# Test: srcwin3-3.1
-# Desc: This tests "stack up"
-gdbtk_test srcwin3-3.1 "stack up (1)" {
- $srcwin stack up
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != ""} {set r -1}
- if {$func != "long_line"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set source(long_line) [$twin get 1.0 end]
- if {![string compare $source(long_line) $source(oof)]} {set r -3}
-
- # check for PC_TAG and STACK_TAG on correct lines
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {incr r 5}
- if {$v == "STACK_TAG"} {incr r}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# Test: srcwin3-3.2
-# Desc: Another "stack up" test
-gdbtk_test srcwin3-3.2 "stack up (2)" {
- $srcwin stack up
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != ""} {set r -1}
- if {$func != "bar"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $source(bar) $a]} {set r -3}
-
- # check for PC_TAG and STACK_TAG on correct lines
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- set r -100
- }
- if {$v == "STACK_TAG"} {
- incr r
- }
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# Test: srcwin3-3.3
-# Desc: Another "stack up" test
-gdbtk_test srcwin3-3.3 "stack up (3)" {
- $srcwin stack up
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != ""} {set r -1}
- if {$func != "foo"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set source(foo) [$twin get 1.0 end]
- if {![string compare $source(foo) $source(bar)]} {set r -3}
-
- # check for PC_TAG and STACK_TAG on correct lines
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "STACK_TAG"} {
- incr r
- }
- if {$v == "PC_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# Test: srcwin3-3.4
-# Desc: Another "stack up" test
-gdbtk_test srcwin3-3.4 "stack up (4)" {
- $srcwin stack up
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != ""} {set r -1}
- if {$func != "main"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $source(main) $a]} {set r -3}
-
- # check for STACK_TAG
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "STACK_TAG"} {
- incr r
- }
- if {$v == "PC_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# Disabled for now because there are different correct results.
-# Test should be rewritten to include those.
-# Test: srcwin3-3.5
-# Desc: "stack up" when we are at the top
-#gdbtk_test srcwin3-3.5 "stack up when at the top" {
-# $srcwin stack up
-# set r 0
-# set name [$statbar.name get]
-# set func [$statbar.func get]
-
- # check contents of name and function comboboxes
-# if {$name != ""} {set r -1}
-# if {$func != "main"} {set r -2}
-
- # check that the correct file is displayed
-# set twin [$stw test_get twin]
-# set a [$twin get 1.0 end]
-# if {[string compare $source(main) $a]} {set r -3}
-
- # check for STACK_TAG
-# if {$r == 0} {
-# if {![catch {set z [$twin dump -tag 1.0 end]}]} {
-# foreach {k v i} $z {
-# if {$k == "tagon"} {
-# if {$v == "STACK_TAG"} {
-# incr r
-# }
-# if {$v == "PC_TAG"} {incr r 10}
-# if {$v == "BROWSE_TAG"} {incr r 100}
-# }
-# }
-# } else {
-# set r -4
-# }
-# }
-# set r
-#} {1}
-
-# Test: srcwin3-3.6
-# Desc: "stack down" test
-gdbtk_test srcwin3-3.6 "stack down" {
- $srcwin stack down
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != ""} {set r -1}
- if {$func != "foo"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $source(foo) $a]} {set r -3}
-
- # check for PC_TAG and STACK_TAG on correct lines
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "STACK_TAG"} {
- incr r
- }
- if {$v == "PC_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# Test: srcwin3-3.7
-# Desc: "stack bottom" test
-gdbtk_test srcwin3-3.7 "stack bottom" {
- $srcwin stack bottom
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != ""} {set r -1}
- if {$func != "oof"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $source(oof) $a]} {set r -3}
-
- # check for PC_TAG on correct line
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- incr r
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# Test: srcwin3-3.8
-# Desc: "stack down" when at bottom
-gdbtk_test srcwin3-3.8 "stack down when at bottom" {
- $srcwin stack down
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != ""} {set r -1}
- if {$func != "oof"} {set r -2}
-
- # check that the correct file is displayed
- set twin [$stw test_get twin]
- set a [$twin get 1.0 end]
- if {[string compare $source(oof) $a]} {set r -3}
-
- # check for PC_TAG on correct line
- if {$r == 0} {
- if {![catch {set z [$twin dump -tag 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- incr r
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- }
- }
- } else {
- set r -4
- }
- }
- set r
-} {1}
-
-# 4.1 bp, multiple, balloon, etc
-
-# Test: srcwin3-4.1
-# Desc: Set BP in another file. Tests bp and cache functions
-gdbtk_test srcwin3-4.1 "set BP in another file" {
- gdb_immediate "break foo" 1
- $srcwin goto_func "" foo
- set r 0
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != ""} {set r -1}
- if {$func != "foo"} {set r -2}
-
- set twin [$stw test_get twin]
-
- # check for BROWSE_TAG and BP image
- if {$r == 0} {
- if {![catch {set z [$twin dump 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "BROWSE_TAG"} {
- incr r
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "PC_TAG"} {incr r 100}
- } elseif {$k == "image"} {
- incr r
- }
- }
- } else {
- set r -4
- }
- }
-
- if {$r == 2} {
- # clear BP and compare with previous contents. This should succeed,
- gdb_immediate "clear foo" 1
- set a [$twin get 1.0 end]
- if {[string compare $source(foo) $a]} {set r -3}
- }
-
- set r
-} {2}
-
-# Test: srcwin3-4.2
-# Desc: Test temporary BP
-gdbtk_test srcwin3-4.2 "temporary BP" {
- set r 0
- if {[catch {gdb_immediate "tbreak foo" 1} msg]} {
- set r -500
- }
- set name [$statbar.name get]
- set func [$statbar.func get]
-
- # check contents of name and function comboboxes
- if {$name != ""} {set r -1}
- if {$func != "foo"} {set r -2}
-
- set twin [$stw test_get twin]
-
- # check for BROWSE_TAG and BP image on correct line
- if {$r == 0} {
- if {![catch {set z [$twin dump 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "BROWSE_TAG"} {
- incr r
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "PC_TAG"} {incr r 100}
- } elseif {$k == "image"} {
- incr r
- }
- }
- } else {
- set r -4
- }
- }
-
- gdb_immediate "continue" 1
-
- # now check for PC_TAG and no image
- if {$r == 2} {
- if {![catch {set z [$twin dump 1.0 end]}]} {
- foreach {k v i} $z {
- if {$k == "tagon"} {
- if {$v == "PC_TAG"} {
- incr r
- }
- if {$v == "STACK_TAG"} {incr r 10}
- if {$v == "BROWSE_TAG"} {incr r 100}
- } elseif {$k == "image"} {
- set r -200
- }
- }
- } else {
- set r -4
- }
- }
-
- set r
-} {3}
-
-gdbtk_test_done
diff --git a/gdb/testsuite/gdb.gdbtk/stack1.c b/gdb/testsuite/gdb.gdbtk/stack1.c
deleted file mode 100644
index 389260a22a5..00000000000
--- a/gdb/testsuite/gdb.gdbtk/stack1.c
+++ /dev/null
@@ -1,231 +0,0 @@
-/* Functions defined in other files */
-extern void extern_func1_1 (int a, char *b, unsigned long c);
-
-/* Functions defined in this file */
-static void static_func_1 (int a, char *b, unsigned long c);
-static void static_func_2 (int a, char *b, unsigned long c);
-static void static_func_3 (int a, char *b, unsigned long c);
-static void static_func_4 (int a, char *b, unsigned long c);
-static void static_func_5 (int a, char *b, unsigned long c);
-static void static_func_6 (int a, char *b, unsigned long c);
-static void static_func_7 (int a, char *b, unsigned long c);
-static void static_func_8 (int a, char *b, unsigned long c);
-static void static_func_9 (int a, char *b, unsigned long c);
-static void static_func_10 (int a, char *b, unsigned long c);
-static void static_func_11 (int a, char *b, unsigned long c);
-static void static_func_12 (int a, char *b, unsigned long c);
-static void static_func_13 (int a, char *b, unsigned long c);
-static void static_func_14 (int a, char *b, unsigned long c);
-static void static_func_15 (int a, char *b, unsigned long c);
-
-void func_1 (int a, char *b, unsigned long c);
-void func_2 (int a, char *b, unsigned long c);
-void func_3 (int a, char *b, unsigned long c);
-void func_4 (int a, char *b, unsigned long c);
-void func_5 (int a, char *b, unsigned long c);
-void func_6 (int a, char *b, unsigned long c);
-void func_7 (int a, char *b, unsigned long c);
-void func_8 (int a, char *b, unsigned long c);
-void func_9 (int a, char *b, unsigned long c);
-void func_10 (int a, char *b, unsigned long c);
-void func_11 (int a, char *b, unsigned long c);
-void func_12 (int a, char *b, unsigned long c);
-void func_13 (int a, char *b, unsigned long c);
-void func_14 (int a, char *b, unsigned long c);
-void func_15 (int a, char *b, unsigned long c);
-
-int
-main (int argc, char *argv[])
-{
- int a;
- char *b;
- unsigned long c;
-
- a = 1;
- b = "This is a string.";
- c = 0xdeadL;
-
- func_1 (a, b, c);
-
- exit (0);
-}
-
-void
-func_1 (int a, char *b, unsigned long c)
-{
- func_2 (a, b, c);
-}
-
-void
-func_2 (int a, char *b, unsigned long c)
-{
- func_3 (a, b, c);
-}
-
-void
-func_3 (int a, char *b, unsigned long c)
-{
- func_4 (a, b, c);
-}
-
-void
-func_4 (int a, char *b, unsigned long c)
-{
- func_5 (a, b, c);
-}
-
-void
-func_5 (int a, char *b, unsigned long c)
-{
- func_6 (a, b, c);
-}
-
-void
-func_6 (int a, char *b, unsigned long c)
-{
- func_7 (a, b, c);
-}
-
-void
-func_7 (int a, char *b, unsigned long c)
-{
- func_8 (a, b, c);
-}
-
-void
-func_8 (int a, char *b, unsigned long c)
-{
- func_9 (a, b, c);
-}
-
-void
-func_9 (int a, char *b, unsigned long c)
-{
- func_10 (a, b, c);
-}
-
-void
-func_10 (int a, char *b, unsigned long c)
-{
- func_11 (a, b, c);
-}
-
-void
-func_11 (int a, char *b, unsigned long c)
-{
- func_12 (a, b, c);
-}
-
-void
-func_12 (int a, char *b, unsigned long c)
-{
- func_13 (a, b, c);
-}
-
-void
-func_13 (int a, char *b, unsigned long c)
-{
- func_14 (a, b, c);
-}
-
-void
-func_14 (int a, char *b, unsigned long c)
-{
- func_15 (a, b, c);
-}
-
-void
-func_15 (int a, char *b, unsigned long c)
-{
- static_func_1 (a, b, c);
-}
-
-static void
-static_func_1 (int a, char *b, unsigned long c)
-{
- static_func_2 (a, b, c);
-}
-
-static void
-static_func_2 (int a, char *b, unsigned long c)
-{
- static_func_3 (a, b, c);
-}
-
-static void
-static_func_3 (int a, char *b, unsigned long c)
-{
- static_func_4 (a, b, c);
-}
-
-static void
-static_func_4 (int a, char *b, unsigned long c)
-{
- static_func_5 (a, b, c);
-}
-
-static void
-static_func_5 (int a, char *b, unsigned long c)
-{
- static_func_6 (a, b, c);
-}
-
-static void
-static_func_6 (int a, char *b, unsigned long c)
-{
- static_func_7 (a, b, c);
-}
-
-static void
-static_func_7 (int a, char *b, unsigned long c)
-{
- static_func_8 (a, b, c);
-}
-
-static void
-static_func_8 (int a, char *b, unsigned long c)
-{
- static_func_9 (a, b, c);
-}
-
-static void
-static_func_9 (int a, char *b, unsigned long c)
-{
- static_func_10 (a, b, c);
-}
-
-static void
-static_func_10 (int a, char *b, unsigned long c)
-{
- static_func_11 (a, b, c);
-}
-
-static void
-static_func_11 (int a, char *b, unsigned long c)
-{
- static_func_12 (a, b, c);
-}
-
-static void
-static_func_12 (int a, char *b, unsigned long c)
-{
- static_func_13 (a, b, c);
-}
-
-static void
-static_func_13 (int a, char *b, unsigned long c)
-{
- static_func_14 (a, b, c);
-}
-
-static void
-static_func_14 (int a, char *b, unsigned long c)
-{
- static_func_15 (a, b, c);
-}
-
-static void
-static_func_15 (int a, char *b, unsigned long c)
-{
- extern_func1_1 (a, b, c);
-}
diff --git a/gdb/testsuite/gdb.gdbtk/stack2.c b/gdb/testsuite/gdb.gdbtk/stack2.c
deleted file mode 100644
index db47c469e6e..00000000000
--- a/gdb/testsuite/gdb.gdbtk/stack2.c
+++ /dev/null
@@ -1,107 +0,0 @@
-/* Functions defined in this file */
-void extern_func1_1 (int, char *, unsigned long);
-void extern_func1_2 (int, char *, unsigned long);
-void extern_func1_3 (int, char *, unsigned long);
-void extern_func1_4 (int, char *, unsigned long);
-void extern_func1_5 (int, char *, unsigned long);
-void extern_func1_6 (int, char *, unsigned long);
-void extern_func1_7 (int, char *, unsigned long);
-void extern_func1_8 (int, char *, unsigned long);
-void extern_func1_9 (int, char *, unsigned long);
-void extern_func1_10 (int, char *, unsigned long);
-void extern_func1_11 (int, char *, unsigned long);
-void extern_func1_12 (int, char *, unsigned long);
-void extern_func1_13 (int, char *, unsigned long);
-void extern_func1_14 (int, char *, unsigned long);
-void extern_func1_15 (int, char *, unsigned long);
-
-void
-extern_func1_1 (int a, char *b, unsigned long c)
-{
- extern_func1_2 (a, b, c);
-}
-
-void
-extern_func1_2 (int a, char *b, unsigned long c)
-{
- extern_func1_3 (a, b, c);
-}
-
-void
-extern_func1_3 (int a, char *b, unsigned long c)
-{
- extern_func1_4 (a, b, c);
-}
-
-void
-extern_func1_4 (int a, char *b, unsigned long c)
-{
- extern_func1_5 (a, b, c);
-}
-
-void
-extern_func1_5 (int a, char *b, unsigned long c)
-{
- extern_func1_6 (a, b, c);
-}
-
-void
-extern_func1_6 (int a, char *b, unsigned long c)
-{
- extern_func1_7 (a, b, c);
-}
-
-void
-extern_func1_7 (int a, char *b, unsigned long c)
-{
- extern_func1_8 (a, b, c);
-}
-
-void
-extern_func1_8 (int a, char *b, unsigned long c)
-{
- extern_func1_9 (a, b, c);
-}
-
-void
-extern_func1_9 (int a, char *b, unsigned long c)
-{
- extern_func1_10 (a, b, c);
-}
-
-void
-extern_func1_10 (int a, char *b, unsigned long c)
-{
- extern_func1_11 (a, b, c);
-}
-
-void
-extern_func1_11 (int a, char *b, unsigned long c)
-{
- extern_func1_12 (a, b, c);
-}
-
-void
-extern_func1_12 (int a, char *b, unsigned long c)
-{
- extern_func1_13 (a, b, c);
-}
-
-void
-extern_func1_13 (int a, char *b, unsigned long c)
-{
- extern_func1_14 (a, b, c);
-}
-
-void
-extern_func1_14 (int a, char *b, unsigned long c)
-{
- extern_func1_15 (a, b, c);
-}
-
-void
-extern_func1_15 (int a, char *b, unsigned long c)
-{
- /* THE END */
- return;
-}
diff --git a/gdb/testsuite/gdb.gdbtk/windows.exp b/gdb/testsuite/gdb.gdbtk/windows.exp
deleted file mode 100644
index c5613de8b42..00000000000
--- a/gdb/testsuite/gdb.gdbtk/windows.exp
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2001, 2004 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 (GPL) as published by
-# the Free Software Foundation; either version 2 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.
-
-load_lib ../gdb.gdbtk/insight-support.exp
-
-if {[gdbtk_initialize_display]} {
- if {$tracelevel} {
- strace $tracelevel
- }
-
- #
- # Basic window tests (basic as in, "do they open")
- #
- set prms_id 0
- set bug_id 0
-
- set srcfile [file join $srcdir $subdir c_variable.c]
- set binfile [file join $objdir $subdir c_variable]
- set r [gdb_compile $srcfile $binfile executable {debug}]
- if { $r != "" } {
- gdb_suppress_entire_file \
- "Testcase compile failed, so some tests in this file will automatically fail."
- }
-
- # Start with a fresh gdbtk
- gdb_exit
- set results [gdbtk_start [file join $srcdir $subdir windows.test]]
- set results [split $results \n]
-
- # Analyze results
- gdbtk_done $results
-}
diff --git a/gdb/testsuite/gdb.gdbtk/windows.test b/gdb/testsuite/gdb.gdbtk/windows.test
deleted file mode 100644
index d8f72c549fe..00000000000
--- a/gdb/testsuite/gdb.gdbtk/windows.test
+++ /dev/null
@@ -1,131 +0,0 @@
-# Basic window tests
-# Copyright 2001, 2003 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 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-# Please email any bugs, comments, and/or additions to this file to:
-# bug-gdb@prep.ai.mit.edu
-
-# This file was written by Keith Seitz (keiths@cygnus.com)
-
-# Read in the standard defs file
-if {![gdbtk_read_defs]} {
- break
-}
-
-global objdir test_ran
-
-# Windows to test
-# FIXME: TfindArgs needs to be updated before it can go in the list...
-set windows [list BpWin BrowserWin Console DebugWin KodWin LocalsWin \
- MemWin ProcessWin RegWin StackWin TdumpWin WatchWin]
-
-# Dialogs to test
-# FIXME: ActionhDlg,TraceDlg cannot be independently opened
-set dialogs [list About AttachDlg GlobalPref SrcPref TargetSelection]
-
-# Helper proc to do all the testing
-proc do_open_close {num winlist} {
- set i 1
- foreach win $winlist {
-
- # Test: windows-$num.*
- # Desc: Open each window before running
- set win_obj ""
- gdbtk_test windows-$num.$i "open $win before running" {
- set err [catch {ManagedWin::open $win} txt]
- if {$err} {
- # display error
- set txt
- } else {
- # display "0"
- set win_obj $txt
- set err
- }
- } {0}
-
- # Update screen
- update idletasks
-
- # Test: windows-{$num+1}.*
- # Desc: Close each window before running
- gdbtk_test windows-[expr {$num+1}].$i "close $win before running" {
- set err [catch {delete object $win_obj} txt]
- if {$err} {
- # display error
- set txt
- } else {
- # display "0"
- set err
- }
- } {0}
-
- # Update screen
- update idletasks
- incr i
- }
-}
-
-#
-# Tests start here
-#
-
-# Counter for tests. Increment by 2 after each call to do_open_close.
-set num 1
-
-#
-# Check if all windows open with no file loaded
-#
-do_open_close $num $windows
-incr num 2
-
-# Sadly, there is no good way to unpost dialogs (except for setting
-# an after callback). Until something better comes along, skip them.
-# do_open_close $num $dialogs
-# incr num 2
-
-#
-# Check if all windows open with file loaded
-#
-
-# Load in a file
-set program [file join $objdir c_variable]
-if {[catch {gdbtk_test_file $program} t]} {
- # This isn't a test case, since if this fails, we're hosed.
- gdbtk_test_error "loading \"$program\": $t"
-}
-
-do_open_close $num $windows
-incr num 2
-#do_open_close $num $dialogs
-incr num 2
-
-#
-# Check if all windows open after running
-#
-
-# Break in main and run
-gdb_cmd "break main"
-gdbtk_test_run
-
-do_open_close $num $windows
-incr num 2
-#do_open_close $num $dialogs
-#incr num 2
-
-#
-# Exit
-#
-gdbtk_test_done
diff --git a/intl/ChangeLog b/intl/ChangeLog
deleted file mode 100644
index 172f44cec1d..00000000000
--- a/intl/ChangeLog
+++ /dev/null
@@ -1,1106 +0,0 @@
-2005-05-13 Nick Clifton <nickc@redhat.com>
-
- * Update the address and phone number of the FSF organization in
- the GPL notices in the following files:
- Makefile.in, bindtextdom.c, cat-compat.c, dcgettext.c,
- dgettext.c, explodename.c, finddomain.c, gettext.c, gettext.h,
- gettextP.h, hash-string.h, intl-compat.c, intlh.inst.in,
- l10nflist.c, libgettext.h, libintl.glibc, linux-msg.sed,
- loadinfo.h, loadmsgcat.c, localealias.c, po2tbl.sed.in,
- textdomain.c, xopen-msg.sed
-
-2004-11-30 Tero Niemela <tero_niemela@yahoo.com>
-
- * Makefile.in: Change LOCALEDIR to $(datadir)/share.
-
-2002-01-21 Thomas Klausner <wiz@danbala.ifoer.tuwien.ac.at>
-
- * linux-msg.sed: Comment typo fix.
- * xopen-msg.sed: Likewise.
-
-1998-04-29 Ulrich Drepper <drepper@cygnus.com>
-
- * intl/localealias.c (read_alias_file): Use unsigned char for
- local variables. Remove unused variable tp.
- * intl/l10nflist.c (_nl_normalize_codeset): Use unsigned char *
- for type of codeset. For loosing Solaris systems.
- * intl/loadinfo.h: Adapt prototype of _nl_normalize_codeset.
- * intl/bindtextdom.c (BINDTEXTDOMAIN): Don't define local variable
- len if not needed.
- Patches by Jim Meyering.
-
-1998-04-28 Ulrich Drepper <drepper@cygnus.com>
-
- * loadmsgcat.c (_nl_load_domain): Don't assign the element use_mmap if
- mmap is not supported.
-
- * hash-string.h: Don't include <values.h>.
-
-1998-04-27 Ulrich Drepper <drepper@cygnus.com>
-
- * textdomain.c: Use strdup is available.
-
- * localealias.c: Define HAVE_MEMPCPY so that we can use this
- function. Define and use semapahores to protect modfication of
- global objects when compiling for glibc. Add code to allow
- freeing alias table.
-
- * l10nflist.c: Don't assume stpcpy not being a macro.
-
- * gettextP.h: Define internal_function macri if not already done.
- Use glibc byte-swap macros instead of defining SWAP when compiled
- for glibc.
- (struct loaded_domain): Add elements to allow unloading.
-
- * Makefile.in (distclean): Don't remove libintl.h here.
-
- * bindtextdomain.c: Carry over changes from glibc. Use strdup if
- available.
-
- * dcgettext.c: Don't assume stpcpy not being a macro. Mark internal
- functions. Add memory freeing code for glibc.
-
- * dgettext.c: Update copyright.
-
- * explodename.c: Include stdlib.h and string.h only if they exist.
- Use strings.h eventually.
-
- * finddomain.c: Mark internal functions. Use strdup if available.
- Add memory freeing code for glibc.
-
-1997-10-10 20:00 Ulrich Drepper <drepper@cygnus.com>
-
- * libgettext.h: Fix dummy textdomain and bindtextdomain macros.
- They should return reasonable values.
- Reported by Tom Tromey <tromey@cygnus.com>.
-
-1997-09-16 03:33 Ulrich Drepper <drepper@cygnus.com>
-
- * libgettext.h: Define PARAMS also to `args' if __cplusplus is defined.
- * intlh.inst.in: Likewise.
- Reported by Jean-Marc Lasgouttes <Jean-Marc.Lasgouttes@inria.fr>.
-
- * libintl.glibc: Update from current glibc version.
-
-1997-09-06 02:10 Ulrich Drepper <drepper@cygnus.com>
-
- * intlh.inst.in: Reformat copyright.
-
-1997-08-19 15:22 Ulrich Drepper <drepper@cygnus.com>
-
- * dcgettext.c (DCGETTEXT): Remove wrong comment.
-
-1997-08-16 00:13 Ulrich Drepper <drepper@cygnus.com>
-
- * Makefile.in (install-data): Don't change directory to install.
-
-1997-08-01 14:30 Ulrich Drepper <drepper@cygnus.com>
-
- * cat-compat.c: Fix copyright.
-
- * localealias.c: Don't define strchr unless !HAVE_STRCHR.
-
- * loadmsgcat.c: Update copyright. Fix typos.
-
- * l10nflist.c: Don't define strchr unless !HAVE_STRCHR.
- (_nl_make_l10nflist): Handle sponsor and revision correctly.
-
- * gettext.c: Update copyright.
- * gettext.h: Likewise.
- * hash-string.h: Likewise.
-
- * finddomain.c: Remoave dead code. Define strchr only if
- !HAVE_STRCHR.
-
- * explodename.c: Include <sys/types.h>.
-
- * explodename.c: Reformat copyright text.
- (_nl_explode_name): Fix typo.
-
- * dcgettext.c: Define and use __set_errno.
- (guess_category_value): Don't use setlocale if HAVE_LC_MESSAGES is
- not defined.
-
- * bindtextdom.c: Pretty printing.
-
-1997-05-01 02:25 Ulrich Drepper <drepper@cygnus.com>
-
- * dcgettext.c (guess_category_value): Don't depend on
- HAVE_LC_MESSAGES. We don't need the macro here.
- Patch by Bruno Haible <haible@ilog.fr>.
-
- * cat-compat.c (textdomain): DoN't refer to HAVE_SETLOCALE_NULL
- macro. Instead use HAVE_LOCALE_NULL and define it when using
- glibc, as in dcgettext.c.
- Patch by Bruno Haible <haible@ilog.fr>.
-
- * Makefile.in (CPPFLAGS): New variable. Reported by Franc,ois
- Pinard.
-
-Mon Mar 10 06:51:17 1997 Ulrich Drepper <drepper@cygnus.com>
-
- * Makefile.in: Implement handling of libtool.
-
- * gettextP.h: Change data structures for use of generic lowlevel
- i18n file handling.
-
-Wed Dec 4 20:21:18 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * textdomain.c: Put parentheses around arguments of memcpy macro
- definition.
- * localealias.c: Likewise.
- * l10nflist.c: Likewise.
- * finddomain.c: Likewise.
- * bindtextdom.c: Likewise.
- Reported by Thomas Esken.
-
-Mon Nov 25 22:57:51 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * textdomain.c: Move definition of `memcpy` macro to right
- position.
-
-Fri Nov 22 04:01:58 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * finddomain.c [!HAVE_STRING_H && !_LIBC]: Define memcpy using
- bcopy if not already defined. Reported by Thomas Esken.
- * bindtextdom.c: Likewise.
- * l10nflist.c: Likewise.
- * localealias.c: Likewise.
- * textdomain.c: Likewise.
-
-Tue Oct 29 11:10:27 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * Makefile.in (libdir): Change to use exec_prefix instead of
- prefix. Reported by Knut-HåvardAksnes <etokna@eto.ericsson.se>.
-
-Sat Aug 31 03:07:09 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * l10nflist.c (_nl_normalize_codeset): We convert to lower case,
- so don't prepend uppercase `ISO' for only numeric arg.
-
-Fri Jul 19 00:15:46 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * l10nflist.c: Move inclusion of argz.h, ctype.h, stdlib.h after
- definition of _GNU_SOURCE. Patch by Roland McGrath.
-
- * Makefile.in (uninstall): Fix another bug with `for' loop and
- empty arguments. Patch by Jim Meyering. Correct name os
- uninstalled files: no intl- prefix anymore.
-
- * Makefile.in (install-data): Again work around shells which
- cannot handle mpty for list. Reported by Jim Meyering.
-
-Sat Jul 13 18:11:35 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * Makefile.in (install): Split goal. Now depend on install-exec
- and install-data.
- (install-exec, install-data): New goals. Created from former
- install goal.
- Reported by Karl Berry.
-
-Sat Jun 22 04:58:14 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * Makefile.in (MKINSTALLDIRS): New variable. Path to
- mkinstalldirs script.
- (install): use MKINSTALLDIRS variable or if the script is not present
- try to find it in the $top_scrdir).
-
-Wed Jun 19 02:56:56 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * l10nflist.c: Linux libc *partly* includes the argz_* functions.
- Grr. Work around by renaming the static version and use macros
- for renaming.
-
-Tue Jun 18 20:11:17 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * l10nflist.c: Correct presence test macros of __argz_* functions.
-
- * l10nflist.c: Include <argz.h> based on test of it instead when
- __argz_* functions are available.
- Reported by Andreas Schwab.
-
-Thu Jun 13 15:17:44 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * explodename.c, l10nflist.c: Define NULL for dumb systems.
-
-Tue Jun 11 17:05:13 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * intlh.inst.in, libgettext.h (dcgettext): Rename local variable
- result to __result to prevent name clash.
-
- * l10nflist.c, localealias.c, dcgettext.c: Define _GNU_SOURCE to
- get prototype for stpcpy and strcasecmp.
-
- * intlh.inst.in, libgettext.h: Move declaration of
- `_nl_msg_cat_cntr' outside __extension__ block to prevent warning
- from gcc's -Wnested-extern option.
-
-Fri Jun 7 01:58:00 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * Makefile.in (install): Remove comment.
-
-Thu Jun 6 17:28:17 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * Makefile.in (install): Work around for another Buglix stupidity.
- Always use an `else' close for `if's. Reported by Nelson Beebe.
-
- * Makefile.in (intlh.inst): Correct typo in phony rule.
- Reported by Nelson Beebe.
-
-Thu Jun 6 01:49:52 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * dcgettext.c (read_alias_file): Rename variable alloca_list to
- block_list as the macro calls assume.
- Patch by Eric Backus.
-
- * localealias.c [!HAVE_ALLOCA]: Define alloca as macro using
- malloc.
- (read_alias_file): Rename varriabe alloca_list to block_list as the
- macro calls assume.
- Patch by Eric Backus.
-
- * l10nflist.c: Correct conditional for <argz.h> inclusion.
- Reported by Roland McGrath.
-
- * Makefile.in (all): Depend on all-@USE_INCLUDED_LIBINTL@, not
- all-@USE_NLS@.
-
- * Makefile.in (install): intlh.inst comes from local dir, not
- $(srcdir).
-
- * Makefile.in (intlh.inst): Special handling of this goal. If
- used in gettext, this is really a rul to construct this file. If
- used in any other package it is defined as a .PHONY rule with
- empty body.
-
- * finddomain.c: Extract locale file information handling into
- l10nfile.c. Rename local stpcpy__ function to stpcpy.
-
- * dcgettext.c (stpcpy): Add local definition.
-
- * l10nflist.c: Solve some portability problems. Patches partly by
- Thomas Esken. Add local definition of stpcpy.
-
-Tue Jun 4 02:47:49 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * intlh.inst.in: Don't depend including <locale.h> on
- HAVE_LOCALE_H. Instead configure must rewrite this fiile
- depending on the result of the configure run.
-
- * Makefile.in (install): libintl.inst is now called intlh.inst.
- Add rules for updating intlh.inst from intlh.inst.in.
-
- * libintl.inst: Renamed to intlh.inst.in.
-
- * localealias.c, dcgettext.c [__GNUC__]: Define HAVE_ALLOCA to 1
- because gcc has __buitlin_alloca.
- Reported by Roland McGrath.
-
-Mon Jun 3 00:32:16 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * Makefile.in (installcheck): New goal to fulfill needs of
- automake's distcheck.
-
- * Makefile.in (install): Reorder commands so that VERSION is
- found.
-
- * Makefile.in (gettextsrcdir): Now use subdirectory intl/ in
- @datadir@/gettext.
- (COMSRCS): Add l10nfile.c.
- (OBJECTS): Add l10nfile.o.
- (DISTFILES): Rename to DISTFILE.normal. Remove $(DISTFILES.common).
- (DISTFILE.gettext): Remove $(DISTFILES.common).
- (all-gettext): Remove goal.
- (install): If $(PACKAGE) = gettext install, otherwose do nothing. No
- package but gettext itself should install libintl.h + headers.
- (dist): Extend goal to work for gettext, too.
- (dist-gettext): Remove goal.
-
- * dcgettext.c [!HAVE_ALLOCA]: Define macro alloca by using malloc.
-
-Sun Jun 2 17:33:06 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * loadmsgcat.c (_nl_load_domain): Parameter is now comes from
- find_l10nfile.
-
-Sat Jun 1 02:23:03 1996 Ulrich Drepper <drepper@cygnus.com>
-
- * l10nflist.c (__argz_next): Add definition.
-
- * dcgettext.c [!HAVE_ALLOCA]: Add code for handling missing alloca
- code. Use new l10nfile handling.
-
- * localealias.c [!HAVE_ALLOCA]: Add code for handling missing
- alloca code.
-
- * l10nflist.c: Initial revision.
-
-Tue Apr 2 18:51:18 1996 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (all-gettext): New goal. Same as all-yes.
-
-Thu Mar 28 23:01:22 1996 Karl Eichwalder <ke@ke.central.de>
-
- * Makefile.in (gettextsrcdir): Define using @datadir@.
-
-Tue Mar 26 12:39:14 1996 Ulrich Drepper <drepper@myware>
-
- * finddomain.c: Include <ctype.h>. Reported by Roland McGrath.
-
-Sat Mar 23 02:00:35 1996 Ulrich Drepper <drepper@myware>
-
- * finddomain.c (stpcpy): Rename to stpcpy__ to prevent clashing
- with external declaration.
-
-Sat Mar 2 00:47:09 1996 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (all-no): Rename from all_no.
-
-Sat Feb 17 00:25:59 1996 Ulrich Drepper <drepper@myware>
-
- * gettextP.h [loaded_domain]: Array `successor' must now contain up
- to 63 elements (because of codeset name normalization).
-
- * finddomain.c: Implement codeset name normalization.
-
-Thu Feb 15 04:39:09 1996 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (all): Define to `all-@USE_NLS@'.
- (all-yes, all_no): New goals. `all-no' is noop, `all-yes'
- is former all.
-
-Mon Jan 15 21:46:01 1996 Howard Gayle <howard@hal.com>
-
- * localealias.c (alias_compare): Increment string pointers in loop
- of strcasecmp replacement.
-
-Fri Dec 29 21:16:34 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (install-src): Who commented this goal out ? :-)
-
-Fri Dec 29 15:08:16 1995 Ulrich Drepper <drepper@myware>
-
- * dcgettext.c (DCGETTEXT): Save `errno'. Failing system calls
- should not effect it because a missing catalog is no error.
- Reported by Harald K<o:>nig <koenig@tat.physik.uni-tuebingen.de>.
-
-Tue Dec 19 22:09:13 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (Makefile): Explicitly use $(SHELL) for running
- shell scripts.
-
-Fri Dec 15 17:34:59 1995 Andreas Schwab <schwab@issan.informatik.uni-dortmund.de>
-
- * Makefile.in (install-src): Only install library and header when
- we use the own implementation. Don't do it when using the
- system's gettext or catgets functions.
-
- * dcgettext.c (find_msg): Must not swap domain->hash_size here.
-
-Sat Dec 9 16:24:37 1995 Ulrich Drepper <drepper@myware>
-
- * localealias.c, libintl.inst, libgettext.h, hash-string.h,
- gettextP.h, finddomain.c, dcgettext.c, cat-compat.c:
- Use PARAMS instead of __P. Suggested by Roland McGrath.
-
-Tue Dec 5 11:39:14 1995 Larry Schwimmer <rosebud@cyclone.stanford.edu>
-
- * libgettext.h: Use `#if !defined (_LIBINTL_H)' instead of `#if
- !_LIBINTL_H' because Solaris defines _LIBINTL_H as empty.
-
-Mon Dec 4 15:42:07 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (install-src):
- Install libintl.inst instead of libintl.h.install.
-
-Sat Dec 2 22:51:38 1995 Marcus Daniels <marcus@sysc.pdx.edu>
-
- * cat-compat.c (textdomain):
- Reverse order in which files are tried you load. First
- try local file, when this failed absolute path.
-
-Wed Nov 29 02:03:53 1995 Nelson H. F. Beebe <beebe@math.utah.edu>
-
- * cat-compat.c (bindtextdomain): Add missing { }.
-
-Sun Nov 26 18:21:41 1995 Ulrich Drepper <drepper@myware>
-
- * libintl.inst: Add missing __P definition. Reported by Nelson Beebe.
-
- * Makefile.in:
- Add dummy `all' and `dvi' goals. Reported by Tom Tromey.
-
-Sat Nov 25 16:12:01 1995 Franc,ois Pinard <pinard@iro.umontreal.ca>
-
- * hash-string.h: Capitalize arguments of macros.
-
-Sat Nov 25 12:01:36 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (DISTFILES): Prevent files names longer than 13
- characters. libintl.h.glibc->libintl.glibc,
- libintl.h.install->libintl.inst. Reported by Joshua R. Poulson.
-
-Sat Nov 25 11:31:12 1995 Eric Backus <ericb@lsid.hp.com>
-
- * dcgettext.c: Fix bug in preprocessor conditionals.
-
-Sat Nov 25 02:35:27 1995 Nelson H. F. Beebe <beebe@math.utah.edu>
-
- * libgettext.h: Solaris cc does not understand
- #if !SYMBOL1 && !SYMBOL2. Sad but true.
-
-Thu Nov 23 16:22:14 1995 Ulrich Drepper <drepper@myware>
-
- * hash-string.h (hash_string):
- Fix for machine with >32 bit `unsigned long's.
-
- * dcgettext.c (DCGETTEXT):
- Fix horrible bug in loop for alternative translation.
-
-Thu Nov 23 01:45:29 1995 Ulrich Drepper <drepper@myware>
-
- * po2tbl.sed.in, linux-msg.sed, xopen-msg.sed:
- Some further simplifications in message number generation.
-
-Mon Nov 20 21:08:43 1995 Ulrich Drepper <drepper@myware>
-
- * libintl.h.glibc: Use __const instead of const in prototypes.
-
- * Makefile.in (install-src):
- Install libintl.h.install instead of libintl.h. This
- is a stripped-down version. Suggested by Peter Miller.
-
- * libintl.h.install, libintl.h.glibc: Initial revision.
-
- * localealias.c (_nl_expand_alias, read_alias_file):
- Protect prototypes in type casts by __P.
-
-Tue Nov 14 16:43:58 1995 Ulrich Drepper <drepper@myware>
-
- * hash-string.h: Correct prototype for hash_string.
-
-Sun Nov 12 12:42:30 1995 Ulrich Drepper <drepper@myware>
-
- * hash-string.h (hash_string): Add prototype.
-
- * gettextP.h: Fix copyright.
- (SWAP): Add prototype.
-
-Wed Nov 8 22:56:33 1995 Ulrich Drepper <drepper@myware>
-
- * localealias.c (read_alias_file): Forgot sizeof.
- Avoid calling *printf function. This introduces a big overhead.
- Patch by Roland McGrath.
-
-Tue Nov 7 14:21:08 1995 Ulrich Drepper <drepper@myware>
-
- * finddomain.c, cat-compat.c: Wrong indentation in #if for stpcpy.
-
- * finddomain.c (stpcpy):
- Define substitution function local. The macro was to flaky.
-
- * cat-compat.c: Fix typo.
-
- * xopen-msg.sed, linux-msg.sed:
- While bringing message number to right place only accept digits.
-
- * linux-msg.sed, xopen-msg.sed: Now that the counter does not have
- leading 0s we don't need to remove them. Reported by Marcus
- Daniels.
-
- * Makefile.in (../po/cat-id-tbl.o): Use $(top_srdir) in
- dependency. Reported by Marcus Daniels.
-
- * cat-compat.c: (stpcpy) [!_LIBC && !HAVE_STPCPY]: Define replacement.
- Generally cleanup using #if instead of #ifndef.
-
- * Makefile.in: Correct typos in comment. By Franc,ois Pinard.
-
-Mon Nov 6 00:27:02 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (install-src): Don't install libintl.h and libintl.a
- if we use an available gettext implementation.
-
-Sun Nov 5 22:02:08 1995 Ulrich Drepper <drepper@myware>
-
- * libgettext.h: Fix typo: HAVE_CATGETTS -> HAVE_CATGETS. Reported
- by Franc,ois Pinard.
-
- * libgettext.h: Use #if instead of #ifdef/#ifndef.
-
- * finddomain.c:
- Comments describing what has to be done should start with FIXME.
-
-Sun Nov 5 19:38:01 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (DISTFILES): Split. Use DISTFILES with normal meaning.
- DISTFILES.common names the files common to both dist goals.
- DISTFILES.gettext are the files only distributed in GNU gettext.
-
-Sun Nov 5 17:32:54 1995 Ulrich Drepper <drepper@myware>
-
- * dcgettext.c (DCGETTEXT): Correct searching in derived locales.
- This was necessary since a change in _nl_find_msg several weeks
- ago. I really don't know this is still not fixed.
-
-Sun Nov 5 12:43:12 1995 Ulrich Drepper <drepper@myware>
-
- * loadmsgcat.c (_nl_load_domain): Test for FILENAME == NULL. This
- might mark a special condition.
-
- * finddomain.c (make_entry_rec): Don't make illegal entry as decided.
-
- * Makefile.in (dist): Suppress error message when ln failed.
- Get files from $(srcdir) explicitly.
-
- * libgettext.h (gettext_const): Rename to gettext_noop.
-
-Fri Nov 3 07:36:50 1995 Ulrich Drepper <drepper@myware>
-
- * finddomain.c (make_entry_rec):
- Protect against wrong locale names by testing mask.
-
- * libgettext.h (gettext_const): Add macro definition.
- Capitalize macro arguments.
-
-Thu Nov 2 23:15:51 1995 Ulrich Drepper <drepper@myware>
-
- * finddomain.c (_nl_find_domain):
- Test for pointer != NULL before accessing value.
- Reported by Tom Tromey.
-
- * gettext.c (NULL):
- Define as (void*)0 instad of 0. Reported by Franc,ois Pinard.
-
-Mon Oct 30 21:28:52 1995 Ulrich Drepper <drepper@myware>
-
- * po2tbl.sed.in: Serious typo bug fixed by Jim Meyering.
-
-Sat Oct 28 23:20:47 1995 Ulrich Drepper <drepper@myware>
-
- * libgettext.h: Disable dcgettext optimization for Solaris 2.3.
-
- * localealias.c (alias_compare):
- Peter Miller reported that tolower in some systems is
- even dumber than I thought. Protect call by `isupper'.
-
-Fri Oct 27 22:22:51 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (libdir, includedir): New variables.
- (install-src): Install libintl.a and libintl.h in correct dirs.
-
-Fri Oct 27 22:07:29 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (SOURCES): Fix typo: intrl.compat.c -> intl-compat.c.
-
- * po2tbl.sed.in: Patch for buggy SEDs by Christian von Roques.
-
- * localealias.c:
- Fix typo and superflous test. Reported by Christian von Roques.
-
-Fri Oct 6 11:52:05 1995 Ulrich Drepper <drepper@myware>
-
- * finddomain.c (_nl_find_domain):
- Correct some remainder from the pre-CEN syntax. Now
- we don't have a constant number of successors anymore.
-
-Wed Sep 27 21:41:13 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (DISTFILES): Add libintl.h.glibc.
-
- * Makefile.in (dist-libc): Add goal for packing sources for glibc.
- (COMSRCS, COMHDRS): Splitted to separate sources shared with glibc.
-
- * loadmsgcat.c: Forget to continue #if line.
-
- * localealias.c:
- [_LIBC]: Rename strcasecmp to __strcasecmp to keep ANSI C name
- space clean.
-
- * dcgettext.c, finddomain.c: Better comment to last change.
-
- * loadmsgcat.c:
- [_LIBC]: Rename fstat, open, close, read, mmap, and munmap to
- __fstat, __open, __close, __read, __mmap, and __munmap resp
- to keep ANSI C name space clean.
-
- * finddomain.c:
- [_LIBC]: Rename stpcpy to __stpcpy to keep ANSI C name space clean.
-
- * dcgettext.c:
- [_LIBC]: Rename getced and stpcpy to __getcwd and __stpcpy resp to
- keep ANSI C name space clean.
-
- * libgettext.h:
- Include sys/types.h for those old SysV systems out there.
- Reported by Francesco Potorti`.
-
- * loadmsgcat.c (use_mmap): Define if compiled for glibc.
-
- * bindtextdom.c: Include all those standard headers
- unconditionally if _LIBC is defined.
-
- * finddomain.c: Fix 2 times defiend -> defined.
-
- * textdomain.c: Include libintl.h instead of libgettext.h when
- compiling for glibc. Include all those standard headers
- unconditionally if _LIBC is defined.
-
- * localealias.c, loadmsgcat.c: Prepare to be compiled in glibc.
-
- * gettext.c:
- Include libintl.h instead of libgettext.h when compiling for glibc.
- Get NULL from stddef.h if we compile for glibc.
-
- * finddomain.c: Include libintl.h instead of libgettext.h when
- compiling for glibc. Include all those standard headers
- unconditionally if _LIBC is defined.
-
- * dcgettext.c: Include all those standard headers unconditionally
- if _LIBC is defined.
-
- * dgettext.c: If compiled in glibc include libintl.h instead of
- libgettext.h.
- (locale.h): Don't rely on HAVE_LOCALE_H when compiling for glibc.
-
- * dcgettext.c: If compiled in glibc include libintl.h instead of
- libgettext.h.
- (getcwd): Don't rely on HAVE_GETCWD when compiling for glibc.
-
- * bindtextdom.c:
- If compiled in glibc include libintl.h instead of libgettext.h.
-
-Mon Sep 25 22:23:06 1995 Ulrich Drepper <drepper@myware>
-
- * localealias.c (_nl_expand_alias): Don't call bsearch if NMAP <= 0.
- Reported by Marcus Daniels.
-
- * cat-compat.c (bindtextdomain):
- String used in putenv must not be recycled.
- Reported by Marcus Daniels.
-
- * libgettext.h (__USE_GNU_GETTEXT):
- Additional symbol to signal that we use GNU gettext
- library.
-
- * cat-compat.c (bindtextdomain):
- Fix bug with the strange stpcpy replacement.
- Reported by Nelson Beebe.
-
-Sat Sep 23 08:23:51 1995 Ulrich Drepper <drepper@myware>
-
- * cat-compat.c: Include <string.h> for stpcpy prototype.
-
- * localealias.c (read_alias_file):
- While expand strdup code temporary variable `cp' hided
- higher level variable with same name. Rename to `tp'.
-
- * textdomain.c (textdomain):
- Avoid warning by using temporary variable in strdup code.
-
- * finddomain.c (_nl_find_domain): Remove unused variable `application'.
-
-Thu Sep 21 15:51:44 1995 Ulrich Drepper <drepper@myware>
-
- * localealias.c (alias_compare):
- Use strcasecmp() only if available. Else use
- implementation in place.
-
- * intl-compat.c:
- Wrapper functions now call *__ functions instead of __*.
-
- * libgettext.h: Declare prototypes for *__ functions instead for __*.
-
- * cat-compat.c, loadmsgcat.c:
- Don't use xmalloc, xstrdup, and stpcpy. These functions are not part
- of the standard libc and so prevent libintl.a from being used
- standalone.
-
- * bindtextdom.c:
- Don't use xmalloc, xstrdup, and stpcpy. These functions are not part
- of the standard libc and so prevent libintl.a from being used
- standalone.
- Rename to bindtextdomain__ if not used in GNU C Library.
-
- * dgettext.c:
- Rename function to dgettext__ if not used in GNU C Library.
-
- * gettext.c:
- Don't use xmalloc, xstrdup, and stpcpy. These functions are not part
- of the standard libc and so prevent libintl.a from being used
- standalone.
- Functions now called gettext__ if not used in GNU C Library.
-
- * dcgettext.c, localealias.c, textdomain.c, finddomain.c:
- Don't use xmalloc, xstrdup, and stpcpy. These functions are not part
- of the standard libc and so prevent libintl.a from being used
- standalone.
-
-Sun Sep 17 23:14:49 1995 Ulrich Drepper <drepper@myware>
-
- * finddomain.c: Correct some bugs in handling of CEN standard
- locale definitions.
-
-Thu Sep 7 01:49:28 1995 Ulrich Drepper <drepper@myware>
-
- * finddomain.c: Implement CEN syntax.
-
- * gettextP.h (loaded_domain): Extend number of successors to 31.
-
-Sat Aug 19 19:25:29 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (aliaspath): Remove path to X11 locale dir.
-
- * Makefile.in: Make install-src depend on install. This helps
- gettext to install the sources and other packages can use the
- install goal.
-
-Sat Aug 19 15:19:33 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (uninstall): Remove stuff installed by install-src.
-
-Tue Aug 15 13:13:53 1995 Ulrich Drepper <drepper@myware>
-
- * VERSION.in: Initial revision.
-
- * Makefile.in (DISTFILES):
- Add VERSION file. This is not necessary for gettext, but
- for other packages using this library.
-
-Tue Aug 15 06:16:44 1995 Ulrich Drepper <drepper@myware>
-
- * gettextP.h (_nl_find_domain):
- New prototype after changing search strategy.
-
- * finddomain.c (_nl_find_domain):
- We now try only to find a specified catalog. Fall back to other
- catalogs listed in the locale list is now done in __dcgettext.
-
- * dcgettext.c (__dcgettext):
- Now we provide message fall back even to different languages.
- I.e. if a message is not available in one language all the other
- in the locale list a tried. Formerly fall back was only possible
- within one language. Implemented by moving one loop from
- _nl_find_domain to here.
-
-Mon Aug 14 23:45:50 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (gettextsrcdir):
- Directory where source of GNU gettext library are made
- available.
- (INSTALL, INSTALL_DATA): Programs used for installing sources.
- (gettext-src): New. Rule to install GNU gettext sources for use in
- gettextize shell script.
-
-Sun Aug 13 14:40:48 1995 Ulrich Drepper <drepper@myware>
-
- * loadmsgcat.c (_nl_load_domain):
- Use mmap for loading only when munmap function is
- also available.
-
- * Makefile.in (install): Depend on `all' goal.
-
-Wed Aug 9 11:04:33 1995 Ulrich Drepper <drepper@myware>
-
- * localealias.c (read_alias_file):
- Do not overwrite '\n' when terminating alias value string.
-
- * localealias.c (read_alias_file):
- Handle long lines. Ignore the rest not fitting in
- the buffer after the initial `fgets' call.
-
-Wed Aug 9 00:54:29 1995 Ulrich Drepper <drepper@myware>
-
- * gettextP.h (_nl_load_domain):
- Add prototype, replacing prototype for _nl_load_msg_cat.
-
- * finddomain.c (_nl_find_domain):
- Remove unneeded variable filename and filename_len.
- (expand_alias): Remove prototype because functions does not
- exist anymore.
-
- * localealias.c (read_alias_file):
- Change type of fname_len parameter to int.
- (xmalloc): Add prototype.
-
- * loadmsgcat.c: Better prototypes for xmalloc.
-
-Tue Aug 8 22:30:39 1995 Ulrich Drepper <drepper@myware>
-
- * finddomain.c (_nl_find_domain):
- Allow alias name to be constructed from the four components.
-
- * Makefile.in (aliaspath): New variable. Set to preliminary value.
- (SOURCES): Add localealias.c.
- (OBJECTS): Add localealias.o.
-
- * gettextP.h: Add prototype for _nl_expand_alias.
-
- * finddomain.c: Aliasing handled in intl/localealias.c.
-
- * localealias.c: Aliasing for locale names.
-
- * bindtextdom.c: Better prototypes for xmalloc and xstrdup.
-
-Mon Aug 7 23:47:42 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (DISTFILES): gettext.perl is now found in misc/.
-
- * cat-compat.c (bindtextdomain):
- Correct implementation. dirname parameter was not used.
- Reported by Marcus Daniels.
-
- * gettextP.h (loaded_domain):
- New fields `successor' and `decided' for oo, lazy
- message handling implementation.
-
- * dcgettext.c:
- Adopt for oo, lazy message handliing.
- Now we can inherit translations from less specific locales.
- (find_msg): New function.
-
- * loadmsgcat.c, finddomain.c:
- Complete rewrite. Implement oo, lazy message handling :-).
- We now have an additional environment variable `LANGUAGE' with
- a higher priority than LC_ALL for the LC_MESSAGE locale.
- Here we can set a colon separated list of specifications each
- of the form `language[_territory[.codeset]][@modifier]'.
-
-Sat Aug 5 09:55:42 1995 Ulrich Drepper <drepper@myware>
-
- * finddomain.c (unistd.h):
- Include to get _PC_PATH_MAX defined on system having it.
-
-Fri Aug 4 22:42:00 1995 Ulrich Drepper <drepper@myware>
-
- * finddomain.c (stpcpy): Include prototype.
-
- * Makefile.in (dist): Remove `copying instead' message.
-
-Wed Aug 2 18:52:03 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (ID, TAGS): Do not use $^.
-
-Tue Aug 1 20:07:11 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (TAGS, ID): Use $^ as command argument.
- (TAGS): Give etags -o option t write to current directory,
- not $(srcdir).
- (ID): Use $(srcdir) instead os $(top_srcdir)/src.
- (distclean): Remove ID.
-
-Sun Jul 30 11:51:46 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (gnulocaledir):
- New variable, always using share/ for data directory.
- (DEFS): Add GNULOCALEDIR, used in finddomain.c.
-
- * finddomain.c (_nl_default_dirname):
- Set to GNULOCALEDIR, because it always has to point
- to the directory where GNU gettext Library writes it to.
-
- * intl-compat.c (textdomain, bindtextdomain):
- Undefine macros before function definition.
-
-Sat Jul 22 01:10:02 1995 Ulrich Drepper <drepper@myware>
-
- * libgettext.h (_LIBINTL_H):
- Protect definition in case where this file is included as
- libgettext.h on Solaris machines. Add comment about this.
-
-Wed Jul 19 02:36:42 1995 Ulrich Drepper <drepper@myware>
-
- * intl-compat.c (textdomain): Correct typo.
-
-Wed Jul 19 01:51:35 1995 Ulrich Drepper <drepper@myware>
-
- * dcgettext.c (dcgettext): Function now called __dcgettext.
-
- * dgettext.c (dgettext): Now called __dgettext and calls
- __dcgettext.
-
- * gettext.c (gettext):
- Function now called __gettext and calls __dgettext.
-
- * textdomain.c (textdomain): Function now called __textdomain.
-
- * bindtextdom.c (bindtextdomain): Function now called
- __bindtextdomain.
-
- * intl-compat.c: Initial revision.
-
- * Makefile.in (SOURCES): Add intl-compat.c.
- (OBJECTS): We always compile the GNU gettext library functions.
- OBJECTS contains all objects but cat-compat.o, ../po/cat-if-tbl.o,
- and intl-compat.o.
- (GETTOBJS): Contains now only intl-compat.o.
-
- * libgettext.h:
- Re-include protection matches dualistic character of libgettext.h.
- For all functions in GNU gettext library define __ counter part.
-
- * finddomain.c (strchr): Define as index if not found in C library.
- (_nl_find_domain): For relative paths paste / in between.
-
-Tue Jul 18 16:37:45 1995 Ulrich Drepper <drepper@myware>
-
- * loadmsgcat.c, finddomain.c: Add inclusion of sys/types.h.
-
- * xopen-msg.sed: Fix bug with `msgstr ""' lines.
- A little bit better comments.
-
-Tue Jul 18 01:18:27 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in:
- po-mode.el, makelinks, combine-sh are now found in ../misc.
-
- * po-mode.el, makelinks, combine-sh, elisp-comp:
- Moved to ../misc/.
-
- * libgettext.h, gettextP.h, gettext.h: Uniform test for __STDC__.
-
-Sun Jul 16 22:33:02 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (INSTALL, INSTALL_DATA): New variables.
- (install-data, uninstall): Install/uninstall .elc file.
-
- * po-mode.el (Installation comment):
- Add .pox as possible extension of .po files.
-
-Sun Jul 16 13:23:27 1995 Ulrich Drepper <drepper@myware>
-
- * elisp-comp: Complete new version by Franc,ois: This does not
- fail when not compiling in the source directory.
-
-Sun Jul 16 00:12:17 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (../po/cat-id-tbl.o):
- Use $(MAKE) instead of make for recursive make.
-
- * Makefile.in (.el.elc): Use $(SHELL) instead of /bin/sh.
- (install-exec): Add missing dummy goal.
- (install-data, uninstall): @ in multi-line shell command at
- beginning, not in front of echo. Reported by Eric Backus.
-
-Sat Jul 15 00:21:28 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (DISTFILES):
- Rename libgettext.perl to gettext.perl to fit in 14 chars
- file systems.
-
- * gettext.perl:
- Rename to gettext.perl to fit in 14 chars file systems.
-
-Thu Jul 13 23:17:20 1995 Ulrich Drepper <drepper@myware>
-
- * cat-compat.c: If !STDC_HEADERS try to include malloc.h.
-
-Thu Jul 13 20:55:02 1995 Ulrich Drepper <drepper@myware>
-
- * po2tbl.sed.in: Pretty printing.
-
- * linux-msg.sed, xopen-msg.sed:
- Correct bugs with handling substitute flags in branches.
-
- * hash-string.h (hash_string):
- Old K&R compilers don't under stand `unsigned char'.
-
- * gettext.h (nls_uint32):
- Some old K&R compilers (eg HP) don't understand `unsigned int'.
-
- * cat-compat.c (msg_to_cat_id): De-ANSI-fy prototypes.
-
-Thu Jul 13 01:34:33 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (ELCFILES): New variable.
- (DISTFILES): Add elisp-comp.
- Add implicit rule for .el -> .elc compilation.
- (install-data): install $ELCFILES
- (clean): renamed po-to-tbl and po-to-msg to po2tbl and po2msg resp.
-
- * elisp-comp: Initial revision
-
-Wed Jul 12 16:14:52 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in:
- cat-id-tbl.c is now found in po/. This enables us to use an identical
- intl/ directory in all packages.
-
- * dcgettext.c (dcgettext): hashing does not work for table size <= 2.
-
- * textdomain.c: fix typo (#if def -> #if defined)
-
-Tue Jul 11 18:44:43 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in (stamp-cat-id): use top_srcdir to address source files
- (DISTFILES,distclean): move tupdate.perl to src/
-
- * po-to-tbl.sed.in:
- add additional jump to clear change flag to recognize multiline strings
-
-Tue Jul 11 01:32:50 1995 Ulrich Drepper <drepper@myware>
-
- * textdomain.c: Protect inclusion of stdlib.h and string.h.
-
- * loadmsgcat.c: Protect inclusion of stdlib.h.
-
- * libgettext.h: Protect inclusion of locale.h.
- Allow use in C++ programs.
- Define NULL is not happened already.
-
- * Makefile.in (DISTFILES): ship po-to-tbl.sed.in instead of
- po-to-tbl.sed.
- (distclean): remove po-to-tbl.sed and tupdate.perl.
-
- * tupdate.perl.in: Substitute Perl path even in exec line.
- Don't include entries without translation from old .po file.
-
-Tue Jul 4 00:41:51 1995 Ulrich Drepper <drepper@myware>
-
- * tupdate.perl.in: use "Updated: " in msgid "".
-
- * cat-compat.c: Fix typo (LOCALDIR -> LOCALEDIR).
- Define getenv if !__STDC__.
-
- * bindtextdom.c: Protect stdlib.h and string.h inclusion.
- Define free if !__STDC__.
-
- * finddomain.c: Change DEF_MSG_DOM_DIR to LOCALEDIR.
- Define free if !__STDC__.
-
- * cat-compat.c: Change DEF_MSG_DOM_DIR to LOCALEDIR.
-
-Mon Jul 3 23:56:30 1995 Ulrich Drepper <drepper@myware>
-
- * Makefile.in: Use LOCALEDIR instead of DEF_MSG_DOM_DIR.
- Remove unneeded $(srcdir) from Makefile.in dependency.
-
- * makelinks: Add copyright and short description.
-
- * po-mode.el: Last version for 0.7.
-
- * tupdate.perl.in: Fix die message.
-
- * dcgettext.c: Protect include of string.h.
-
- * gettext.c: Protect include of stdlib.h and further tries to get NULL.
-
- * finddomain.c: Some corrections in includes.
-
- * Makefile.in (INCLUDES): Prune list correct path to Makefile.in.
-
- * po-to-tbl.sed: Adopt for new .po file format.
-
- * linux-msg.sed, xopen-msg.sed: Adopt for new .po file format.
-
-Sun Jul 2 23:55:03 1995 Ulrich Drepper <drepper@myware>
-
- * tupdate.perl.in: Complete rewrite for new .po file format.
-
-Sun Jul 2 02:06:50 1995 Ulrich Drepper <drepper@myware>
-
- * First official release. This directory contains all the code
- needed to internationalize own packages. It provides functions
- which allow to use the X/Open catgets function with an interface
- like the Uniforum gettext function. For system which does not
- have neither of those a complete implementation is provided.
diff --git a/intl/Makefile.in b/intl/Makefile.in
deleted file mode 100644
index f3664ae3dca..00000000000
--- a/intl/Makefile.in
+++ /dev/null
@@ -1,214 +0,0 @@
-# Makefile for directory with message catalog handling in GNU NLS Utilities.
-# Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
-#
-# This program is free software; you can redistribute it and/or modify
-# it under the terms of the GNU General Public License as published by
-# the Free Software Foundation; either version 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
-
-PACKAGE = @PACKAGE@
-VERSION = @VERSION@
-
-SHELL = /bin/sh
-
-srcdir = @srcdir@
-top_srcdir = @top_srcdir@
-top_builddir = ..
-VPATH = @srcdir@
-
-prefix = @prefix@
-exec_prefix = @exec_prefix@
-transform = @program_transform_name@
-libdir = $(exec_prefix)/lib
-includedir = $(prefix)/include
-datadir = $(prefix)/@DATADIRNAME@
-localedir = $(datadir)/locale
-gnulocaledir = $(datadir)/locale
-gettextsrcdir = @datadir@/gettext/intl
-aliaspath = $(localedir):.
-subdir = intl
-
-INSTALL = @INSTALL@
-INSTALL_DATA = @INSTALL_DATA@
-MKINSTALLDIRS = @MKINSTALLDIRS@
-
-l = @l@
-
-AR = ar
-CC = @CC@
-LIBTOOL = @LIBTOOL@
-RANLIB = @RANLIB@
-
-DEFS = -DLOCALEDIR=\"$(localedir)\" -DGNULOCALEDIR=\"$(gnulocaledir)\" \
--DLOCALE_ALIAS_PATH=\"$(aliaspath)\" @DEFS@
-CPPFLAGS = @CPPFLAGS@
-CFLAGS = @CFLAGS@
-LDFLAGS = @LDFLAGS@
-
-COMPILE = $(CC) -c $(DEFS) $(INCLUDES) $(CPPFLAGS) $(CFLAGS) $(XCFLAGS)
-
-HEADERS = $(COMHDRS) libgettext.h loadinfo.h
-COMHDRS = gettext.h gettextP.h hash-string.h
-SOURCES = $(COMSRCS) intl-compat.c cat-compat.c
-COMSRCS = bindtextdom.c dcgettext.c dgettext.c gettext.c \
-finddomain.c loadmsgcat.c localealias.c textdomain.c l10nflist.c \
-explodename.c
-OBJECTS = @INTLOBJS@ bindtextdom.$lo dcgettext.$lo dgettext.$lo gettext.$lo \
-finddomain.$lo loadmsgcat.$lo localealias.$lo textdomain.$lo l10nflist.$lo \
-explodename.$lo
-CATOBJS = cat-compat.$lo ../po/cat-id-tbl.$lo
-GETTOBJS = intl-compat.$lo
-DISTFILES.common = ChangeLog Makefile.in linux-msg.sed po2tbl.sed.in \
-xopen-msg.sed $(HEADERS) $(SOURCES)
-DISTFILES.normal = VERSION
-DISTFILES.gettext = libintl.glibc intlh.inst.in
-
-.SUFFIXES:
-.SUFFIXES: .c .o .lo
-.c.o:
- $(COMPILE) $<
-.c.lo:
- $(LIBTOOL) --mode=compile $(COMPILE) $<
-
-INCLUDES = -I. -I$(srcdir)
-
-all: all-@USE_INCLUDED_LIBINTL@
-
-all-yes: libintl.$la intlh.inst
-all-no:
-install-info:
-
-libintl.a: $(OBJECTS)
- rm -f $@
- $(AR) cru $@ $(OBJECTS)
- $(RANLIB) $@
-
-libintl.la: $(OBJECTS)
- $(LIBTOOL) --mode=link $(CC) $(LDFLAGS) -o $@ $(OBJECTS) \
- -version-info 1:0 -rpath $(libdir)
-
-../po/cat-id-tbl.$lo: ../po/cat-id-tbl.c $(top_srcdir)/po/$(PACKAGE).pot
- cd ../po && $(MAKE) cat-id-tbl.$lo
-
-check: all
-
-# This installation goal is only used in GNU gettext. Packages which
-# only use the library should use install instead.
-
-# We must not install the libintl.h/libintl.a files if we are on a
-# system which has the gettext() function in its C library or in a
-# separate library or use the catgets interface. A special case is
-# where configure found a previously installed GNU gettext library.
-# If you want to use the one which comes with this version of the
-# package, you have to use `configure --with-included-gettext'.
-install: install-exec install-data
-install-exec: all
- if test "$(PACKAGE)" = "gettext" \
- && test '@INTLOBJS@' = '$(GETTOBJS)'; then \
- if test -r $(MKINSTALLDIRS); then \
- $(MKINSTALLDIRS) $(libdir) $(includedir); \
- else \
- $(top_srcdir)/mkinstalldirs $(libdir) $(includedir); \
- fi; \
- $(INSTALL_DATA) intlh.inst $(includedir)/libintl.h; \
- $(INSTALL_DATA) libintl.a $(libdir)/libintl.a; \
- else \
- : ; \
- fi
-install-data: all
- if test "$(PACKAGE)" = "gettext"; then \
- if test -r $(MKINSTALLDIRS); then \
- $(MKINSTALLDIRS) $(gettextsrcdir); \
- else \
- $(top_srcdir)/mkinstalldirs $(gettextsrcdir); \
- fi; \
- $(INSTALL_DATA) VERSION $(gettextsrcdir)/VERSION; \
- dists="$(DISTFILES.common)"; \
- for file in $$dists; do \
- $(INSTALL_DATA) $(srcdir)/$$file $(gettextsrcdir)/$$file; \
- done; \
- else \
- : ; \
- fi
-
-# Define this as empty until I found a useful application.
-installcheck:
-
-uninstall:
- dists="$(DISTFILES.common)"; \
- for file in $$dists; do \
- rm -f $(gettextsrcdir)/$$file; \
- done
-
-info dvi:
-
-$(OBJECTS): config.h libgettext.h
-bindtextdom.$lo finddomain.$lo loadmsgcat.$lo: gettextP.h gettext.h loadinfo.h
-dcgettext.$lo: gettextP.h gettext.h hash-string.h loadinfo.h
-
-tags: TAGS
-
-TAGS: $(HEADERS) $(SOURCES)
- here=`pwd`; cd $(srcdir) && etags -o $$here/TAGS $(HEADERS) $(SOURCES)
-
-id: ID
-
-ID: $(HEADERS) $(SOURCES)
- here=`pwd`; cd $(srcdir) && mkid -f$$here/ID $(HEADERS) $(SOURCES)
-
-
-mostlyclean:
- rm -f *.a *.o *.lo core core.*
-
-clean: mostlyclean
-
-distclean: clean
- rm -f Makefile ID TAGS po2msg.sed po2tbl.sed libintl.h config.log
-
-maintainer-clean: distclean
- @echo "This command is intended for maintainers to use;"
- @echo "it deletes files that may require special tools to rebuild."
-
-
-# GNU gettext needs not contain the file `VERSION' but contains some
-# other files which should not be distributed in other packages.
-distdir = ../$(PACKAGE)-$(VERSION)/$(subdir)
-dist distdir: Makefile $(DISTFILES)
- if test "$(PACKAGE)" = gettext; then \
- additional="$(DISTFILES.gettext)"; \
- else \
- additional="$(DISTFILES.normal)"; \
- fi; \
- for file in $(DISTFILES.common) $$additional; do \
- ln $(srcdir)/$$file $(distdir) 2> /dev/null \
- || cp -p $(srcdir)/$$file $(distdir); \
- done
-
-dist-libc:
- tar zcvf intl-glibc.tar.gz $(COMSRCS) $(COMHDRS) libintl.h.glibc
-
-Makefile: Makefile.in config.status
- CONFIG_FILES=$@ CONFIG_HEADERS= $(SHELL) ./config.status
-
-# The dependency for intlh.inst is different in gettext and all other
-# packages. Because we cannot you GNU make features we have to solve
-# the problem while rewriting Makefile.in.
-@GT_YES@intlh.inst: intlh.inst.in ../config.status
-@GT_YES@ cd .. \
-@GT_YES@ && CONFIG_FILES=$(subdir)/$@ CONFIG_HEADERS= \
-@GT_YES@ $(SHELL) ./config.status
-@GT_NO@.PHONY: intlh.inst
-@GT_NO@intlh.inst:
-
-# Tell versions [3.59,3.63) of GNU make not to export all variables.
-# Otherwise a system limit (for SysV at least) may be exceeded.
-.NOEXPORT:
diff --git a/intl/acconfig.h b/intl/acconfig.h
deleted file mode 100644
index 70f81f80898..00000000000
--- a/intl/acconfig.h
+++ /dev/null
@@ -1,14 +0,0 @@
-/* Define to 1 if NLS is requested. */
-#undef ENABLE_NLS
-
-/* Define as 1 if you have catgets and don't want to use GNU gettext. */
-#undef HAVE_CATGETS
-
-/* Define as 1 if you have gettext and don't want to use GNU gettext. */
-#undef HAVE_GETTEXT
-
-/* Define as 1 if you have the stpcpy function. */
-#undef HAVE_STPCPY
-
-/* Define if your locale.h file contains LC_MESSAGES. */
-#undef HAVE_LC_MESSAGES
diff --git a/intl/aclocal.m4 b/intl/aclocal.m4
deleted file mode 100644
index 225439f2125..00000000000
--- a/intl/aclocal.m4
+++ /dev/null
@@ -1,387 +0,0 @@
-dnl aclocal.m4 generated automatically by aclocal 1.3
-
-dnl Copyright (C) 1994, 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
-dnl This Makefile.in is free software; the Free Software Foundation
-dnl gives unlimited permission to copy and/or distribute it,
-dnl with or without modifications, as long as this notice is preserved.
-
-dnl This program is distributed in the hope that it will be useful,
-dnl but WITHOUT ANY WARRANTY, to the extent permitted by law; without
-dnl even the implied warranty of MERCHANTABILITY or FITNESS FOR A
-dnl PARTICULAR PURPOSE.
-
-# Like AC_CONFIG_HEADER, but automatically create stamp file.
-
-AC_DEFUN(AM_CONFIG_HEADER,
-[AC_PREREQ([2.12])
-AC_CONFIG_HEADER([$1])
-dnl When config.status generates a header, we must update the stamp-h file.
-dnl This file resides in the same directory as the config header
-dnl that is generated. We must strip everything past the first ":",
-dnl and everything past the last "/".
-AC_OUTPUT_COMMANDS(changequote(<<,>>)dnl
-ifelse(patsubst(<<$1>>, <<[^ ]>>, <<>>), <<>>,
-<<test -z "<<$>>CONFIG_HEADERS" || echo timestamp > patsubst(<<$1>>, <<^\([^:]*/\)?.*>>, <<\1>>)stamp-h<<>>dnl>>,
-<<am_indx=1
-for am_file in <<$1>>; do
- case " <<$>>CONFIG_HEADERS " in
- *" <<$>>am_file "*<<)>>
- echo timestamp > `echo <<$>>am_file | sed -e 's%:.*%%' -e 's%[^/]*$%%'`stamp-h$am_indx
- ;;
- esac
- am_indx=`expr "<<$>>am_indx" + 1`
-done<<>>dnl>>)
-changequote([,]))])
-
-
-# serial 1
-
-AC_DEFUN(AM_PROG_INSTALL,
-[AC_REQUIRE([AC_PROG_INSTALL])
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-AC_SUBST(INSTALL_SCRIPT)dnl
-])
-
-# This file is derived from `gettext.m4'. The difference is that the
-# included macros assume Cygnus-style source and build trees.
-
-# Macro to add for using GNU gettext.
-# Ulrich Drepper <drepper@cygnus.com>, 1995.
-#
-# This file file be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
-
-# serial 3
-
-AC_DEFUN(CY_WITH_NLS,
- [AC_MSG_CHECKING([whether NLS is requested])
- dnl Default is enabled NLS
- AC_ARG_ENABLE(nls,
- [ --disable-nls do not use Native Language Support],
- USE_NLS=$enableval, USE_NLS=yes)
- AC_MSG_RESULT($USE_NLS)
- AC_SUBST(USE_NLS)
-
- USE_INCLUDED_LIBINTL=no
-
- dnl If we use NLS figure out what method
- if test "$USE_NLS" = "yes"; then
- AC_DEFINE(ENABLE_NLS)
- AC_MSG_CHECKING([whether included gettext is requested])
- AC_ARG_WITH(included-gettext,
- [ --with-included-gettext use the GNU gettext library included here],
- nls_cv_force_use_gnu_gettext=$withval,
- nls_cv_force_use_gnu_gettext=no)
- AC_MSG_RESULT($nls_cv_force_use_gnu_gettext)
-
- nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
- if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
- dnl User does not insist on using GNU NLS library. Figure out what
- dnl to use. If gettext or catgets are available (in this order) we
- dnl use this. Else we have to fall back to GNU NLS library.
- dnl catgets is only used if permitted by option --with-catgets.
- nls_cv_header_intl=
- nls_cv_header_libgt=
- CATOBJEXT=NONE
-
- AC_CHECK_HEADER(libintl.h,
- [AC_CACHE_CHECK([for gettext in libc], gt_cv_func_gettext_libc,
- [AC_TRY_LINK([#include <libintl.h>], [return (int) gettext ("")],
- gt_cv_func_gettext_libc=yes, gt_cv_func_gettext_libc=no)])
-
- if test "$gt_cv_func_gettext_libc" != "yes"; then
- AC_CHECK_LIB(intl, bindtextdomain,
- [AC_CACHE_CHECK([for gettext in libintl],
- gt_cv_func_gettext_libintl,
- [AC_TRY_LINK([], [return (int) gettext ("")],
- gt_cv_func_gettext_libintl=yes,
- gt_cv_func_gettext_libintl=no)])])
- fi
-
- if test "$gt_cv_func_gettext_libc" = "yes" \
- || test "$gt_cv_func_gettext_libintl" = "yes"; then
- AC_DEFINE(HAVE_GETTEXT)
- AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
- [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], no)dnl
- if test "$MSGFMT" != "no"; then
- AC_CHECK_FUNCS(dcgettext)
- AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
- AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
- [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
- AC_TRY_LINK(, [extern int _nl_msg_cat_cntr;
- return _nl_msg_cat_cntr],
- [CATOBJEXT=.gmo
- DATADIRNAME=share],
- [CATOBJEXT=.mo
- DATADIRNAME=lib])
- INSTOBJEXT=.mo
- fi
- fi
- ])
-
- dnl In the standard gettext, we would now check for catgets.
- dnl However, we never want to use catgets for our releases.
-
- if test "$CATOBJEXT" = "NONE"; then
- dnl Neither gettext nor catgets in included in the C library.
- dnl Fall back on GNU gettext library.
- nls_cv_use_gnu_gettext=yes
- fi
- fi
-
- if test "$nls_cv_use_gnu_gettext" = "yes"; then
- dnl Mark actions used to generate GNU NLS library.
- INTLOBJS="\$(GETTOBJS)"
- AM_PATH_PROG_WITH_TEST(MSGFMT, msgfmt,
- [test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"], msgfmt)
- AC_PATH_PROG(GMSGFMT, gmsgfmt, $MSGFMT)
- AM_PATH_PROG_WITH_TEST(XGETTEXT, xgettext,
- [test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"], :)
- AC_SUBST(MSGFMT)
- USE_INCLUDED_LIBINTL=yes
- CATOBJEXT=.gmo
- INSTOBJEXT=.mo
- DATADIRNAME=share
- INTLDEPS='$(top_builddir)/../intl/libintl.a'
- INTLLIBS=$INTLDEPS
- LIBS=`echo $LIBS | sed -e 's/-lintl//'`
- nls_cv_header_intl=libintl.h
- nls_cv_header_libgt=libgettext.h
- fi
-
- dnl Test whether we really found GNU xgettext.
- if test "$XGETTEXT" != ":"; then
- dnl If it is no GNU xgettext we define it as : so that the
- dnl Makefiles still can work.
- if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
- : ;
- else
- AC_MSG_RESULT(
- [found xgettext programs is not GNU xgettext; ignore it])
- XGETTEXT=":"
- fi
- fi
-
- # We need to process the po/ directory.
- POSUB=po
- else
- DATADIRNAME=share
- nls_cv_header_intl=libintl.h
- nls_cv_header_libgt=libgettext.h
- fi
-
- # If this is used in GNU gettext we have to set USE_NLS to `yes'
- # because some of the sources are only built for this goal.
- if test "$PACKAGE" = gettext; then
- USE_NLS=yes
- USE_INCLUDED_LIBINTL=yes
- fi
-
- dnl These rules are solely for the distribution goal. While doing this
- dnl we only have to keep exactly one list of the available catalogs
- dnl in configure.in.
- for lang in $ALL_LINGUAS; do
- GMOFILES="$GMOFILES $lang.gmo"
- POFILES="$POFILES $lang.po"
- done
-
- dnl Make all variables we use known to autoconf.
- AC_SUBST(USE_INCLUDED_LIBINTL)
- AC_SUBST(CATALOGS)
- AC_SUBST(CATOBJEXT)
- AC_SUBST(DATADIRNAME)
- AC_SUBST(GMOFILES)
- AC_SUBST(INSTOBJEXT)
- AC_SUBST(INTLDEPS)
- AC_SUBST(INTLLIBS)
- AC_SUBST(INTLOBJS)
- AC_SUBST(POFILES)
- AC_SUBST(POSUB)
- ])
-
-AC_DEFUN(CY_GNU_GETTEXT,
- [AC_REQUIRE([AC_PROG_MAKE_SET])dnl
- AC_REQUIRE([AC_PROG_CC])dnl
- AC_REQUIRE([AC_PROG_RANLIB])dnl
- AC_REQUIRE([AC_ISC_POSIX])dnl
- AC_REQUIRE([AC_HEADER_STDC])dnl
- AC_REQUIRE([AC_C_CONST])dnl
- AC_REQUIRE([AC_C_INLINE])dnl
- AC_REQUIRE([AC_TYPE_OFF_T])dnl
- AC_REQUIRE([AC_TYPE_SIZE_T])dnl
- AC_REQUIRE([AC_FUNC_ALLOCA])dnl
- AC_REQUIRE([AC_FUNC_MMAP])dnl
-
- AC_CHECK_HEADERS([argz.h limits.h locale.h nl_types.h malloc.h string.h \
-unistd.h values.h sys/param.h])
- AC_CHECK_FUNCS([getcwd munmap putenv setenv setlocale strchr strcasecmp \
-__argz_count __argz_stringify __argz_next])
-
- if test "${ac_cv_func_stpcpy+set}" != "set"; then
- AC_CHECK_FUNCS(stpcpy)
- fi
- if test "${ac_cv_func_stpcpy}" = "yes"; then
- AC_DEFINE(HAVE_STPCPY)
- fi
-
- AM_LC_MESSAGES
- CY_WITH_NLS
-
- if test "x$CATOBJEXT" != "x"; then
- if test "x$ALL_LINGUAS" = "x"; then
- LINGUAS=
- else
- AC_MSG_CHECKING(for catalogs to be installed)
- NEW_LINGUAS=
- for lang in ${LINGUAS=$ALL_LINGUAS}; do
- case "$ALL_LINGUAS" in
- *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
- esac
- done
- LINGUAS=$NEW_LINGUAS
- AC_MSG_RESULT($LINGUAS)
- fi
-
- dnl Construct list of names of catalog files to be constructed.
- if test -n "$LINGUAS"; then
- for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
- fi
- fi
-
- dnl The reference to <locale.h> in the installed <libintl.h> file
- dnl must be resolved because we cannot expect the users of this
- dnl to define HAVE_LOCALE_H.
- if test $ac_cv_header_locale_h = yes; then
- INCLUDE_LOCALE_H="#include <locale.h>"
- else
- INCLUDE_LOCALE_H="\
-/* The system does not provide the header <locale.h>. Take care yourself. */"
- fi
- AC_SUBST(INCLUDE_LOCALE_H)
-
- dnl Determine which catalog format we have (if any is needed)
- dnl For now we know about two different formats:
- dnl Linux libc-5 and the normal X/Open format
- if test -f $srcdir/po2tbl.sed.in; then
- if test "$CATOBJEXT" = ".cat"; then
- AC_CHECK_HEADER(linux/version.h, msgformat=linux, msgformat=xopen)
-
- dnl Transform the SED scripts while copying because some dumb SEDs
- dnl cannot handle comments.
- sed -e '/^#/d' $srcdir/$msgformat-msg.sed > po2msg.sed
- fi
- dnl po2tbl.sed is always needed.
- sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
- $srcdir/po2tbl.sed.in > po2tbl.sed
- fi
-
- dnl In the intl/Makefile.in we have a special dependency which makes
- dnl only sense for gettext. We comment this out for non-gettext
- dnl packages.
- if test "$PACKAGE" = "gettext"; then
- GT_NO="#NO#"
- GT_YES=
- else
- GT_NO=
- GT_YES="#YES#"
- fi
- AC_SUBST(GT_NO)
- AC_SUBST(GT_YES)
-
- MKINSTALLDIRS="\$(srcdir)/../../mkinstalldirs"
- AC_SUBST(MKINSTALLDIRS)
-
- dnl *** For now the libtool support in intl/Makefile is not for real.
- l=
- AC_SUBST(l)
-
- dnl Generate list of files to be processed by xgettext which will
- dnl be included in po/Makefile. But only do this if the po directory
- dnl exists in srcdir.
- if test -d $srcdir/po; then
- test -d po || mkdir po
- if test "x$srcdir" != "x."; then
- if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
- posrcprefix="$srcdir/"
- else
- posrcprefix="../$srcdir/"
- fi
- else
- posrcprefix="../"
- fi
- rm -f po/POTFILES
- sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
- < $srcdir/po/POTFILES.in > po/POTFILES
- fi
- ])
-
-# Search path for a program which passes the given test.
-# Ulrich Drepper <drepper@cygnus.com>, 1996.
-#
-# This file file be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
-
-# serial 1
-
-dnl AM_PATH_PROG_WITH_TEST(VARIABLE, PROG-TO-CHECK-FOR,
-dnl TEST-PERFORMED-ON-FOUND_PROGRAM [, VALUE-IF-NOT-FOUND [, PATH]])
-AC_DEFUN(AM_PATH_PROG_WITH_TEST,
-[# Extract the first word of "$2", so it can be a program name with args.
-set dummy $2; ac_word=[$]2
-AC_MSG_CHECKING([for $ac_word])
-AC_CACHE_VAL(ac_cv_path_$1,
-[case "[$]$1" in
- /*)
- ac_cv_path_$1="[$]$1" # Let the user override the test with a path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in ifelse([$5], , $PATH, [$5]); do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if [$3]; then
- ac_cv_path_$1="$ac_dir/$ac_word"
- break
- fi
- fi
- done
- IFS="$ac_save_ifs"
-dnl If no 4th arg is given, leave the cache variable unset,
-dnl so AC_PATH_PROGS will keep looking.
-ifelse([$4], , , [ test -z "[$]ac_cv_path_$1" && ac_cv_path_$1="$4"
-])dnl
- ;;
-esac])dnl
-$1="$ac_cv_path_$1"
-if test -n "[$]$1"; then
- AC_MSG_RESULT([$]$1)
-else
- AC_MSG_RESULT(no)
-fi
-AC_SUBST($1)dnl
-])
-
-# Check whether LC_MESSAGES is available in <locale.h>.
-# Ulrich Drepper <drepper@cygnus.com>, 1995.
-#
-# This file file be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
-
-# serial 1
-
-AC_DEFUN(AM_LC_MESSAGES,
- [if test $ac_cv_header_locale_h = yes; then
- AC_CACHE_CHECK([for LC_MESSAGES], am_cv_val_LC_MESSAGES,
- [AC_TRY_LINK([#include <locale.h>], [return LC_MESSAGES],
- am_cv_val_LC_MESSAGES=yes, am_cv_val_LC_MESSAGES=no)])
- if test $am_cv_val_LC_MESSAGES = yes; then
- AC_DEFINE(HAVE_LC_MESSAGES)
- fi
- fi])
-
diff --git a/intl/bindtextdom.c b/intl/bindtextdom.c
deleted file mode 100644
index 42b87d297b8..00000000000
--- a/intl/bindtextdom.c
+++ /dev/null
@@ -1,203 +0,0 @@
-/* Implementation of the bindtextdomain(3) function
- Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if defined STDC_HEADERS || defined _LIBC
-# include <stdlib.h>
-#else
-# ifdef HAVE_MALLOC_H
-# include <malloc.h>
-# else
-void free ();
-# endif
-#endif
-
-#if defined HAVE_STRING_H || defined _LIBC
-# include <string.h>
-#else
-# include <strings.h>
-# ifndef memcpy
-# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
-# endif
-#endif
-
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgettext.h"
-#endif
-#include "gettext.h"
-#include "gettextP.h"
-
-/* @@ end of prolog @@ */
-
-/* Contains the default location of the message catalogs. */
-extern const char _nl_default_dirname[];
-
-/* List with bindings of specific domains. */
-extern struct binding *_nl_domain_bindings;
-
-
-/* Names for the libintl functions are a problem. They must not clash
- with existing names and they should follow ANSI C. But this source
- code is also used in GNU C Library where the names have a __
- prefix. So we have to make a difference here. */
-#ifdef _LIBC
-# define BINDTEXTDOMAIN __bindtextdomain
-# ifndef strdup
-# define strdup(str) __strdup (str)
-# endif
-#else
-# define BINDTEXTDOMAIN bindtextdomain__
-#endif
-
-/* Specify that the DOMAINNAME message catalog will be found
- in DIRNAME rather than in the system locale data base. */
-char *
-BINDTEXTDOMAIN (domainname, dirname)
- const char *domainname;
- const char *dirname;
-{
- struct binding *binding;
-
- /* Some sanity checks. */
- if (domainname == NULL || domainname[0] == '\0')
- return NULL;
-
- for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
- {
- int compare = strcmp (domainname, binding->domainname);
- if (compare == 0)
- /* We found it! */
- break;
- if (compare < 0)
- {
- /* It is not in the list. */
- binding = NULL;
- break;
- }
- }
-
- if (dirname == NULL)
- /* The current binding has be to returned. */
- return binding == NULL ? (char *) _nl_default_dirname : binding->dirname;
-
- if (binding != NULL)
- {
- /* The domain is already bound. If the new value and the old
- one are equal we simply do nothing. Otherwise replace the
- old binding. */
- if (strcmp (dirname, binding->dirname) != 0)
- {
- char *new_dirname;
-
- if (strcmp (dirname, _nl_default_dirname) == 0)
- new_dirname = (char *) _nl_default_dirname;
- else
- {
-#if defined _LIBC || defined HAVE_STRDUP
- new_dirname = strdup (dirname);
- if (new_dirname == NULL)
- return NULL;
-#else
- size_t len = strlen (dirname) + 1;
- new_dirname = (char *) malloc (len);
- if (new_dirname == NULL)
- return NULL;
-
- memcpy (new_dirname, dirname, len);
-#endif
- }
-
- if (binding->dirname != _nl_default_dirname)
- free (binding->dirname);
-
- binding->dirname = new_dirname;
- }
- }
- else
- {
- /* We have to create a new binding. */
-#if !defined _LIBC && !defined HAVE_STRDUP
- size_t len;
-#endif
- struct binding *new_binding =
- (struct binding *) malloc (sizeof (*new_binding));
-
- if (new_binding == NULL)
- return NULL;
-
-#if defined _LIBC || defined HAVE_STRDUP
- new_binding->domainname = strdup (domainname);
- if (new_binding->domainname == NULL)
- return NULL;
-#else
- len = strlen (domainname) + 1;
- new_binding->domainname = (char *) malloc (len);
- if (new_binding->domainname == NULL)
- return NULL;
- memcpy (new_binding->domainname, domainname, len);
-#endif
-
- if (strcmp (dirname, _nl_default_dirname) == 0)
- new_binding->dirname = (char *) _nl_default_dirname;
- else
- {
-#if defined _LIBC || defined HAVE_STRDUP
- new_binding->dirname = strdup (dirname);
- if (new_binding->dirname == NULL)
- return NULL;
-#else
- len = strlen (dirname) + 1;
- new_binding->dirname = (char *) malloc (len);
- if (new_binding->dirname == NULL)
- return NULL;
- memcpy (new_binding->dirname, dirname, len);
-#endif
- }
-
- /* Now enqueue it. */
- if (_nl_domain_bindings == NULL
- || strcmp (domainname, _nl_domain_bindings->domainname) < 0)
- {
- new_binding->next = _nl_domain_bindings;
- _nl_domain_bindings = new_binding;
- }
- else
- {
- binding = _nl_domain_bindings;
- while (binding->next != NULL
- && strcmp (domainname, binding->next->domainname) > 0)
- binding = binding->next;
-
- new_binding->next = binding->next;
- binding->next = new_binding;
- }
-
- binding = new_binding;
- }
-
- return binding->dirname;
-}
-
-#ifdef _LIBC
-/* Alias for function name in GNU C Library. */
-weak_alias (__bindtextdomain, bindtextdomain);
-#endif
diff --git a/intl/cat-compat.c b/intl/cat-compat.c
deleted file mode 100644
index be4afff87b5..00000000000
--- a/intl/cat-compat.c
+++ /dev/null
@@ -1,262 +0,0 @@
-/* Compatibility code for gettext-using-catgets interface.
- Copyright (C) 1995, 1997 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <stdio.h>
-
-#ifdef STDC_HEADERS
-# include <stdlib.h>
-# include <string.h>
-#else
-char *getenv ();
-# ifdef HAVE_MALLOC_H
-# include <malloc.h>
-# endif
-#endif
-
-#ifdef HAVE_NL_TYPES_H
-# include <nl_types.h>
-#endif
-
-#include "libgettext.h"
-
-/* @@ end of prolog @@ */
-
-/* XPG3 defines the result of `setlocale (category, NULL)' as:
- ``Directs `setlocale()' to query `category' and return the current
- setting of `local'.''
- However it does not specify the exact format. And even worse: POSIX
- defines this not at all. So we can use this feature only on selected
- system (e.g. those using GNU C Library). */
-#ifdef _LIBC
-# define HAVE_LOCALE_NULL
-#endif
-
-/* The catalog descriptor. */
-static nl_catd catalog = (nl_catd) -1;
-
-/* Name of the default catalog. */
-static const char default_catalog_name[] = "messages";
-
-/* Name of currently used catalog. */
-static const char *catalog_name = default_catalog_name;
-
-/* Get ID for given string. If not found return -1. */
-static int msg_to_cat_id PARAMS ((const char *msg));
-
-/* Substitution for systems lacking this function in their C library. */
-#if !_LIBC && !HAVE_STPCPY
-static char *stpcpy PARAMS ((char *dest, const char *src));
-#endif
-
-
-/* Set currently used domain/catalog. */
-char *
-textdomain (domainname)
- const char *domainname;
-{
- nl_catd new_catalog;
- char *new_name;
- size_t new_name_len;
- char *lang;
-
-#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES \
- && defined HAVE_LOCALE_NULL
- lang = setlocale (LC_MESSAGES, NULL);
-#else
- lang = getenv ("LC_ALL");
- if (lang == NULL || lang[0] == '\0')
- {
- lang = getenv ("LC_MESSAGES");
- if (lang == NULL || lang[0] == '\0')
- lang = getenv ("LANG");
- }
-#endif
- if (lang == NULL || lang[0] == '\0')
- lang = "C";
-
- /* See whether name of currently used domain is asked. */
- if (domainname == NULL)
- return (char *) catalog_name;
-
- if (domainname[0] == '\0')
- domainname = default_catalog_name;
-
- /* Compute length of added path element. */
- new_name_len = sizeof (LOCALEDIR) - 1 + 1 + strlen (lang)
- + sizeof ("/LC_MESSAGES/") - 1 + sizeof (PACKAGE) - 1
- + sizeof (".cat");
-
- new_name = (char *) malloc (new_name_len);
- if (new_name == NULL)
- return NULL;
-
- strcpy (new_name, PACKAGE);
- new_catalog = catopen (new_name, 0);
-
- if (new_catalog == (nl_catd) -1)
- {
- /* NLSPATH search didn't work, try absolute path */
- sprintf (new_name, "%s/%s/LC_MESSAGES/%s.cat", LOCALEDIR, lang,
- PACKAGE);
- new_catalog = catopen (new_name, 0);
-
- if (new_catalog == (nl_catd) -1)
- {
- free (new_name);
- return (char *) catalog_name;
- }
- }
-
- /* Close old catalog. */
- if (catalog != (nl_catd) -1)
- catclose (catalog);
- if (catalog_name != default_catalog_name)
- free ((char *) catalog_name);
-
- catalog = new_catalog;
- catalog_name = new_name;
-
- return (char *) catalog_name;
-}
-
-char *
-bindtextdomain (domainname, dirname)
- const char *domainname;
- const char *dirname;
-{
-#if HAVE_SETENV || HAVE_PUTENV
- char *old_val, *new_val, *cp;
- size_t new_val_len;
-
- /* This does not make much sense here but to be compatible do it. */
- if (domainname == NULL)
- return NULL;
-
- /* Compute length of added path element. If we use setenv we don't need
- the first byts for NLSPATH=, but why complicate the code for this
- peanuts. */
- new_val_len = sizeof ("NLSPATH=") - 1 + strlen (dirname)
- + sizeof ("/%L/LC_MESSAGES/%N.cat");
-
- old_val = getenv ("NLSPATH");
- if (old_val == NULL || old_val[0] == '\0')
- {
- old_val = NULL;
- new_val_len += 1 + sizeof (LOCALEDIR) - 1
- + sizeof ("/%L/LC_MESSAGES/%N.cat");
- }
- else
- new_val_len += strlen (old_val);
-
- new_val = (char *) malloc (new_val_len);
- if (new_val == NULL)
- return NULL;
-
-# if HAVE_SETENV
- cp = new_val;
-# else
- cp = stpcpy (new_val, "NLSPATH=");
-# endif
-
- cp = stpcpy (cp, dirname);
- cp = stpcpy (cp, "/%L/LC_MESSAGES/%N.cat:");
-
- if (old_val == NULL)
- {
-# if __STDC__
- stpcpy (cp, LOCALEDIR "/%L/LC_MESSAGES/%N.cat");
-# else
-
- cp = stpcpy (cp, LOCALEDIR);
- stpcpy (cp, "/%L/LC_MESSAGES/%N.cat");
-# endif
- }
- else
- stpcpy (cp, old_val);
-
-# if HAVE_SETENV
- setenv ("NLSPATH", new_val, 1);
- free (new_val);
-# else
- putenv (new_val);
- /* Do *not* free the environment entry we just entered. It is used
- from now on. */
-# endif
-
-#endif
-
- return (char *) domainname;
-}
-
-#undef gettext
-char *
-gettext (msg)
- const char *msg;
-{
- int msgid;
-
- if (msg == NULL || catalog == (nl_catd) -1)
- return (char *) msg;
-
- /* Get the message from the catalog. We always use set number 1.
- The message ID is computed by the function `msg_to_cat_id'
- which works on the table generated by `po-to-tbl'. */
- msgid = msg_to_cat_id (msg);
- if (msgid == -1)
- return (char *) msg;
-
- return catgets (catalog, 1, msgid, (char *) msg);
-}
-
-/* Look through the table `_msg_tbl' which has `_msg_tbl_length' entries
- for the one equal to msg. If it is found return the ID. In case when
- the string is not found return -1. */
-static int
-msg_to_cat_id (msg)
- const char *msg;
-{
- int cnt;
-
- for (cnt = 0; cnt < _msg_tbl_length; ++cnt)
- if (strcmp (msg, _msg_tbl[cnt]._msg) == 0)
- return _msg_tbl[cnt]._msg_number;
-
- return -1;
-}
-
-
-/* @@ begin of epilog @@ */
-
-/* We don't want libintl.a to depend on any other library. So we
- avoid the non-standard function stpcpy. In GNU C Library this
- function is available, though. Also allow the symbol HAVE_STPCPY
- to be defined. */
-#if !_LIBC && !HAVE_STPCPY
-static char *
-stpcpy (dest, src)
- char *dest;
- const char *src;
-{
- while ((*dest++ = *src++) != '\0')
- /* Do nothing. */ ;
- return dest - 1;
-}
-#endif
diff --git a/intl/config.in b/intl/config.in
deleted file mode 100644
index 8a9049b80de..00000000000
--- a/intl/config.in
+++ /dev/null
@@ -1,128 +0,0 @@
-/* config.in. Generated automatically from configure.in by autoheader. */
-
-/* Define if using alloca.c. */
-#undef C_ALLOCA
-
-/* Define to empty if the keyword does not work. */
-#undef const
-
-/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
- This function is required for alloca.c support on those systems. */
-#undef CRAY_STACKSEG_END
-
-/* Define if you have alloca, as a function or macro. */
-#undef HAVE_ALLOCA
-
-/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
-#undef HAVE_ALLOCA_H
-
-/* Define if you have a working `mmap' system call. */
-#undef HAVE_MMAP
-
-/* Define as __inline if that's what the C compiler calls it. */
-#undef inline
-
-/* Define to `long' if <sys/types.h> doesn't define. */
-#undef off_t
-
-/* Define if you need to in order for stat and other things to work. */
-#undef _POSIX_SOURCE
-
-/* Define to `unsigned' if <sys/types.h> doesn't define. */
-#undef size_t
-
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown
- */
-#undef STACK_DIRECTION
-
-/* Define if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define to 1 if NLS is requested. */
-#undef ENABLE_NLS
-
-/* Define as 1 if you have catgets and don't want to use GNU gettext. */
-#undef HAVE_CATGETS
-
-/* Define as 1 if you have gettext and don't want to use GNU gettext. */
-#undef HAVE_GETTEXT
-
-/* Define as 1 if you have the stpcpy function. */
-#undef HAVE_STPCPY
-
-/* Define if your locale.h file contains LC_MESSAGES. */
-#undef HAVE_LC_MESSAGES
-
-/* Define if you have the __argz_count function. */
-#undef HAVE___ARGZ_COUNT
-
-/* Define if you have the __argz_next function. */
-#undef HAVE___ARGZ_NEXT
-
-/* Define if you have the __argz_stringify function. */
-#undef HAVE___ARGZ_STRINGIFY
-
-/* Define if you have the dcgettext function. */
-#undef HAVE_DCGETTEXT
-
-/* Define if you have the getcwd function. */
-#undef HAVE_GETCWD
-
-/* Define if you have the getpagesize function. */
-#undef HAVE_GETPAGESIZE
-
-/* Define if you have the munmap function. */
-#undef HAVE_MUNMAP
-
-/* Define if you have the putenv function. */
-#undef HAVE_PUTENV
-
-/* Define if you have the setenv function. */
-#undef HAVE_SETENV
-
-/* Define if you have the setlocale function. */
-#undef HAVE_SETLOCALE
-
-/* Define if you have the stpcpy function. */
-#undef HAVE_STPCPY
-
-/* Define if you have the strcasecmp function. */
-#undef HAVE_STRCASECMP
-
-/* Define if you have the strchr function. */
-#undef HAVE_STRCHR
-
-/* Define if you have the <argz.h> header file. */
-#undef HAVE_ARGZ_H
-
-/* Define if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
-
-/* Define if you have the <locale.h> header file. */
-#undef HAVE_LOCALE_H
-
-/* Define if you have the <malloc.h> header file. */
-#undef HAVE_MALLOC_H
-
-/* Define if you have the <nl_types.h> header file. */
-#undef HAVE_NL_TYPES_H
-
-/* Define if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
-
-/* Define if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define if you have the <values.h> header file. */
-#undef HAVE_VALUES_H
-
-/* Define if you have the i library (-li). */
-#undef HAVE_LIBI
diff --git a/intl/configure b/intl/configure
deleted file mode 100755
index 341eea019ae..00000000000
--- a/intl/configure
+++ /dev/null
@@ -1,2950 +0,0 @@
-#! /bin/sh
-
-# Guess values for system-dependent variables and create Makefiles.
-# Generated automatically using autoconf version 2.12.1
-# Copyright (C) 1992, 93, 94, 95, 96 Free Software Foundation, Inc.
-#
-# This configure script is free software; the Free Software Foundation
-# gives unlimited permission to copy, distribute and modify it.
-
-# Defaults:
-ac_help=
-ac_default_prefix=/usr/local
-# Any additions from configure.in:
-ac_help="$ac_help
- --disable-nls do not use Native Language Support"
-ac_help="$ac_help
- --with-included-gettext use the GNU gettext library included here"
-
-# Initialize some variables set by options.
-# The variables have the same names as the options, with
-# dashes changed to underlines.
-build=NONE
-cache_file=./config.cache
-exec_prefix=NONE
-host=NONE
-no_create=
-nonopt=NONE
-no_recursion=
-prefix=NONE
-program_prefix=NONE
-program_suffix=NONE
-program_transform_name=s,x,x,
-silent=
-site=
-srcdir=
-target=NONE
-verbose=
-x_includes=NONE
-x_libraries=NONE
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-# Initialize some other variables.
-subdirs=
-MFLAGS= MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-# Maximum number of lines to put in a shell here document.
-ac_max_here_lines=12
-
-ac_prev=
-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=`echo "$ac_option" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
- *) ac_optarg= ;;
- esac
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case "$ac_option" in
-
- -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 ;;
- -build=* | --build=* | --buil=* | --bui=* | --bu=*)
- build="$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" ;;
-
- -datadir | --datadir | --datadi | --datad | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir="$ac_optarg" ;;
-
- -disable-* | --disable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*disable-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- eval "enable_${ac_feature}=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`echo $ac_option|sed -e 's/-*enable-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_feature| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_feature: invalid feature name" 1>&2; exit 1; }
- fi
- ac_feature=`echo $ac_feature| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_${ac_feature}='$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)
- # 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 << EOF
-Usage: configure [options] [host]
-Options: [defaults in brackets after descriptions]
-Configuration:
- --cache-file=FILE cache test results in FILE
- --help print this message
- --no-create do not create output files
- --quiet, --silent do not print \`checking...' messages
- --version print the version of autoconf that created configure
-Directory and file names:
- --prefix=PREFIX install architecture-independent files in PREFIX
- [$ac_default_prefix]
- --exec-prefix=EPREFIX install architecture-dependent files in EPREFIX
- [same as prefix]
- --bindir=DIR user executables in DIR [EPREFIX/bin]
- --sbindir=DIR system admin executables in DIR [EPREFIX/sbin]
- --libexecdir=DIR program executables in DIR [EPREFIX/libexec]
- --datadir=DIR read-only architecture-independent data in DIR
- [PREFIX/share]
- --sysconfdir=DIR read-only single-machine data in DIR [PREFIX/etc]
- --sharedstatedir=DIR modifiable architecture-independent data in DIR
- [PREFIX/com]
- --localstatedir=DIR modifiable single-machine data in DIR [PREFIX/var]
- --libdir=DIR object code libraries in DIR [EPREFIX/lib]
- --includedir=DIR C header files in DIR [PREFIX/include]
- --oldincludedir=DIR C header files for non-gcc in DIR [/usr/include]
- --infodir=DIR info documentation in DIR [PREFIX/info]
- --mandir=DIR man documentation in DIR [PREFIX/man]
- --srcdir=DIR find the sources in DIR [configure dir or ..]
- --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
-EOF
- cat << EOF
-Host type:
- --build=BUILD configure for building on BUILD [BUILD=HOST]
- --host=HOST configure for HOST [guessed]
- --target=TARGET configure for TARGET [TARGET=HOST]
-Features and packages:
- --disable-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --x-includes=DIR X include files are in DIR
- --x-libraries=DIR X library files are in DIR
-EOF
- if test -n "$ac_help"; then
- echo "--enable and --with options recognized:$ac_help"
- fi
- exit 0 ;;
-
- -host | --host | --hos | --ho)
- ac_prev=host ;;
- -host=* | --host=* | --hos=* | --ho=*)
- host="$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" ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- 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)
- 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" ;;
-
- -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 ;;
- -target=* | --target=* | --targe=* | --targ=* | --tar=* | --ta=* | --t=*)
- target="$ac_optarg" ;;
-
- -v | -verbose | --verbose | --verbos | --verbo | --verb)
- verbose=yes ;;
-
- -version | --version | --versio | --versi | --vers)
- echo "configure generated by autoconf version 2.12.1"
- exit 0 ;;
-
- -with-* | --with-*)
- ac_package=`echo $ac_option|sed -e 's/-*with-//' -e 's/=.*//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-_a-zA-Z0-9]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case "$ac_option" in
- *=*) ;;
- *) ac_optarg=yes ;;
- esac
- eval "with_${ac_package}='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`echo $ac_option|sed -e 's/-*without-//'`
- # Reject names that are not valid shell variable names.
- if test -n "`echo $ac_package| sed 's/[-a-zA-Z0-9_]//g'`"; then
- { echo "configure: error: $ac_package: invalid package name" 1>&2; exit 1; }
- fi
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- eval "with_${ac_package}=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" ;;
-
- -*) { echo "configure: error: $ac_option: invalid option; use --help to show usage" 1>&2; exit 1; }
- ;;
-
- *)
- if test -n "`echo $ac_option| sed 's/[-a-z0-9.]//g'`"; then
- echo "configure: warning: $ac_option: invalid host type" 1>&2
- fi
- if test "x$nonopt" != xNONE; then
- { echo "configure: error: can only configure for one host and one target at a time" 1>&2; exit 1; }
- fi
- nonopt="$ac_option"
- ;;
-
- esac
-done
-
-if test -n "$ac_prev"; then
- { echo "configure: error: missing argument to --`echo $ac_prev | sed 's/_/-/g'`" 1>&2; exit 1; }
-fi
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-# File descriptor usage:
-# 0 standard input
-# 1 file creation
-# 2 errors and warnings
-# 3 some systems may open it to /dev/tty
-# 4 used on the Kubota Titan
-# 6 checking for... messages and results
-# 5 compiler messages saved in config.log
-if test "$silent" = yes; then
- exec 6>/dev/null
-else
- exec 6>&1
-fi
-exec 5>./config.log
-
-echo "\
-This file contains any messages produced by compilers while
-running configure, to aid debugging if configure makes a mistake.
-" 1>&5
-
-# Strip out --no-create and --no-recursion so they do not pile up.
-# Also quote any args containing shell metacharacters.
-ac_configure_args=
-for ac_arg
-do
- case "$ac_arg" in
- -no-create | --no-create | --no-creat | --no-crea | --no-cre \
- | --no-cr | --no-c) ;;
- -no-recursion | --no-recursion | --no-recursio | --no-recursi \
- | --no-recurs | --no-recur | --no-recu | --no-rec | --no-re | --no-r) ;;
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?]*)
- ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- *) ac_configure_args="$ac_configure_args $ac_arg" ;;
- esac
-done
-
-# NLS nuisances.
-# Only set these to C if already set. These must not be set unconditionally
-# because not all systems understand e.g. LANG=C (notably SCO).
-# Fixing LC_MESSAGES prevents Solaris sh from translating var values in `set'!
-# Non-C LC_CTYPE values break the ctype check.
-if test "${LANG+set}" = set; then LANG=C; export LANG; fi
-if test "${LC_ALL+set}" = set; then LC_ALL=C; export LC_ALL; fi
-if test "${LC_MESSAGES+set}" = set; then LC_MESSAGES=C; export LC_MESSAGES; fi
-if test "${LC_CTYPE+set}" = set; then LC_CTYPE=C; export LC_CTYPE; fi
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo > confdefs.h
-
-# A filename unique to this package, relative to the directory that
-# configure is in, which we can look for to find out if srcdir is correct.
-ac_unique_file=dgettext.c
-
-# 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 its parent.
- ac_prog=$0
- ac_confdir=`echo $ac_prog|sed 's%/[^/][^/]*$%%'`
- test "x$ac_confdir" = "x$ac_prog" && ac_confdir=.
- 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
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "configure: error: can not find sources in $ac_confdir or .." 1>&2; exit 1; }
- else
- { echo "configure: error: can not find sources in $srcdir" 1>&2; exit 1; }
- fi
-fi
-srcdir=`echo "${srcdir}" | sed 's%\([^/]\)/*$%\1%'`
-
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- echo "loading site script $ac_site_file"
- . "$ac_site_file"
- fi
-done
-
-if test -r "$cache_file"; then
- echo "loading cache $cache_file"
- . $cache_file
-else
- echo "creating cache $cache_file"
- > $cache_file
-fi
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-if (echo "testing\c"; echo 1,2,3) | grep c >/dev/null; then
- # Stardent Vistra SVR4 grep lacks -e, says ghazi@caip.rutgers.edu.
- if (echo -n testing; echo 1,2,3) | sed s/-n/xn/ | grep xn >/dev/null; then
- ac_n= ac_c='
-' ac_t=' '
- else
- ac_n=-n ac_c= ac_t=
- fi
-else
- ac_n= ac_c='\c' ac_t=
-fi
-
-
-
-
-
-
-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
- fi
-done
-if test -z "$ac_aux_dir"; then
- { echo "configure: error: can not find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." 1>&2; exit 1; }
-fi
-ac_config_guess=$ac_aux_dir/config.guess
-ac_config_sub=$ac_aux_dir/config.sub
-ac_configure=$ac_aux_dir/configure # This should be Cygnus configure.
-
-# 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
-# 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"
-# ./install, which can be erroneously created by make from ./install.sh.
-echo $ac_n "checking for a BSD compatible install""... $ac_c" 1>&6
-echo "configure:562: checking for a BSD compatible install" >&5
-if test -z "$INSTALL"; then
-if eval "test \"`echo '$''{'ac_cv_path_install'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- IFS="${IFS= }"; ac_save_IFS="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- # Account for people who put trailing slashes in PATH elements.
- case "$ac_dir/" in
- /|./|.//|/etc/*|/usr/sbin/*|/usr/etc/*|/sbin/*|/usr/afsws/bin/*|/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
- if test -f $ac_dir/$ac_prog; then
- if test $ac_prog = install &&
- grep dspmsg $ac_dir/$ac_prog >/dev/null 2>&1; then
- # AIX install. It has an incompatible calling convention.
- :
- else
- ac_cv_path_install="$ac_dir/$ac_prog -c"
- break 2
- fi
- fi
- done
- ;;
- esac
- done
- IFS="$ac_save_IFS"
-
-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. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL="$ac_install_sh"
- fi
-fi
-echo "$ac_t""$INSTALL" 1>&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_DATA" && INSTALL_DATA='${INSTALL} -m 644'
-
-
-test -z "$INSTALL_SCRIPT" && INSTALL_SCRIPT='${INSTALL_PROGRAM}'
-
-echo $ac_n "checking how to run the C preprocessor""... $ac_c" 1>&6
-echo "configure:616: checking how to run the C preprocessor" >&5
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
-if eval "test \"`echo '$''{'ac_cv_prog_CPP'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- # This must be in double quotes, not single quotes, because CPP may get
- # substituted into the Makefile and "${CC-cc}" will confuse make.
- CPP="${CC-cc} -E"
- # On the NeXT, cc -E runs the code through the compiler's parser,
- # not just through cpp.
- cat > conftest.$ac_ext <<EOF
-#line 631 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:637: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP="${CC-cc} -E -traditional-cpp"
- cat > conftest.$ac_ext <<EOF
-#line 648 "configure"
-#include "confdefs.h"
-#include <assert.h>
-Syntax Error
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:654: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- :
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CPP=/lib/cpp
-fi
-rm -f conftest*
-fi
-rm -f conftest*
- ac_cv_prog_CPP="$CPP"
-fi
- CPP="$ac_cv_prog_CPP"
-else
- ac_cv_prog_CPP="$CPP"
-fi
-echo "$ac_t""$CPP" 1>&6
-
-echo $ac_n "checking whether ${MAKE-make} sets \${MAKE}""... $ac_c" 1>&6
-echo "configure:677: checking whether ${MAKE-make} sets \${MAKE}" >&5
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_prog_make_${ac_make}_set'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftestmake <<\EOF
-all:
- @echo 'ac_maketemp="${MAKE}"'
-EOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftestmake 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftestmake
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- SET_MAKE=
-else
- echo "$ac_t""no" 1>&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-# Extract the first word of "gcc", so it can be a program name with args.
-set dummy gcc; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:706: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_CC="gcc"
- break
- fi
- done
- IFS="$ac_save_ifs"
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-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
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:735: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_CC'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$CC"; then
- ac_cv_prog_CC="$CC" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- ac_prog_rejected=no
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test "$ac_dir/$ac_word" = "/usr/ucb/cc"; then
- ac_prog_rejected=yes
- continue
- fi
- ac_cv_prog_CC="cc"
- break
- fi
- done
- IFS="$ac_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 $# -gt 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
- set dummy "$ac_dir/$ac_word" "$@"
- shift
- ac_cv_prog_CC="$@"
- fi
-fi
-fi
-fi
-CC="$ac_cv_prog_CC"
-if test -n "$CC"; then
- echo "$ac_t""$CC" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- test -z "$CC" && { echo "configure: error: no acceptable cc found in \$PATH" 1>&2; exit 1; }
-fi
-
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works""... $ac_c" 1>&6
-echo "configure:783: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) works" >&5
-
-ac_ext=c
-# CFLAGS is not in ac_cpp because -g, -O, etc. are not valid cpp options.
-ac_cpp='$CPP $CPPFLAGS'
-ac_compile='${CC-cc} -c $CFLAGS $CPPFLAGS conftest.$ac_ext 1>&5'
-ac_link='${CC-cc} -o conftest $CFLAGS $CPPFLAGS $LDFLAGS conftest.$ac_ext $LIBS 1>&5'
-cross_compiling=$ac_cv_prog_cc_cross
-
-cat > conftest.$ac_ext <<EOF
-#line 793 "configure"
-#include "confdefs.h"
-main(){return(0);}
-EOF
-if { (eval echo configure:797: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- ac_cv_prog_cc_works=yes
- # If we can't run a trivial program, we are probably using a cross compiler.
- if (./conftest; exit) 2>/dev/null; then
- ac_cv_prog_cc_cross=no
- else
- ac_cv_prog_cc_cross=yes
- fi
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- ac_cv_prog_cc_works=no
-fi
-rm -fr conftest*
-
-echo "$ac_t""$ac_cv_prog_cc_works" 1>&6
-if test $ac_cv_prog_cc_works = no; then
- { echo "configure: error: installation or configuration problem: C compiler cannot create executables." 1>&2; exit 1; }
-fi
-echo $ac_n "checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler""... $ac_c" 1>&6
-echo "configure:817: checking whether the C compiler ($CC $CFLAGS $LDFLAGS) is a cross-compiler" >&5
-echo "$ac_t""$ac_cv_prog_cc_cross" 1>&6
-cross_compiling=$ac_cv_prog_cc_cross
-
-echo $ac_n "checking whether we are using GNU C""... $ac_c" 1>&6
-echo "configure:822: checking whether we are using GNU C" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_gcc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.c <<EOF
-#ifdef __GNUC__
- yes;
-#endif
-EOF
-if { ac_try='${CC-cc} -E conftest.c'; { (eval echo configure:831: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }; } | egrep yes >/dev/null 2>&1; then
- ac_cv_prog_gcc=yes
-else
- ac_cv_prog_gcc=no
-fi
-fi
-
-echo "$ac_t""$ac_cv_prog_gcc" 1>&6
-
-if test $ac_cv_prog_gcc = yes; then
- GCC=yes
- ac_test_CFLAGS="${CFLAGS+set}"
- ac_save_CFLAGS="$CFLAGS"
- CFLAGS=
- echo $ac_n "checking whether ${CC-cc} accepts -g""... $ac_c" 1>&6
-echo "configure:846: checking whether ${CC-cc} accepts -g" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_cc_g'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- echo 'void f(){}' > conftest.c
-if test -z "`${CC-cc} -g -c conftest.c 2>&1`"; then
- ac_cv_prog_cc_g=yes
-else
- ac_cv_prog_cc_g=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_prog_cc_g" 1>&6
- if test "$ac_test_CFLAGS" = set; then
- CFLAGS="$ac_save_CFLAGS"
- elif test $ac_cv_prog_cc_g = yes; then
- CFLAGS="-g -O2"
- else
- CFLAGS="-O2"
- fi
-else
- GCC=
- test "${CFLAGS+set}" = set || CFLAGS="-g"
-fi
-
-# Extract the first word of "ranlib", so it can be a program name with args.
-set dummy ranlib; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:876: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_prog_RANLIB'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test -n "$RANLIB"; then
- ac_cv_prog_RANLIB="$RANLIB" # Let the user override the test.
-else
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_prog_RANLIB="ranlib"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_prog_RANLIB" && ac_cv_prog_RANLIB=":"
-fi
-fi
-RANLIB="$ac_cv_prog_RANLIB"
-if test -n "$RANLIB"; then
- echo "$ac_t""$RANLIB" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-echo $ac_n "checking for POSIXized ISC""... $ac_c" 1>&6
-echo "configure:903: checking for POSIXized ISC" >&5
-if test -d /etc/conf/kconfig.d &&
- grep _POSIX_VERSION /usr/include/sys/unistd.h >/dev/null 2>&1
-then
- echo "$ac_t""yes" 1>&6
- ISC=yes # If later tests want to check for ISC.
- cat >> confdefs.h <<\EOF
-#define _POSIX_SOURCE 1
-EOF
-
- if test "$GCC" = yes; then
- CC="$CC -posix"
- else
- CC="$CC -Xp"
- fi
-else
- echo "$ac_t""no" 1>&6
- ISC=
-fi
-
-echo $ac_n "checking for ANSI C header files""... $ac_c" 1>&6
-echo "configure:924: checking for ANSI C header files" >&5
-if eval "test \"`echo '$''{'ac_cv_header_stdc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 929 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:937: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- rm -rf conftest*
- ac_cv_header_stdc=yes
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_header_stdc=no
-fi
-rm -f conftest*
-
-if test $ac_cv_header_stdc = yes; then
- # SunOS 4.x string.h does not declare mem*, contrary to ANSI.
-cat > conftest.$ac_ext <<EOF
-#line 954 "configure"
-#include "confdefs.h"
-#include <string.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "memchr" >/dev/null 2>&1; then
- :
-else
- rm -rf conftest*
- 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 > conftest.$ac_ext <<EOF
-#line 972 "configure"
-#include "confdefs.h"
-#include <stdlib.h>
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "free" >/dev/null 2>&1; then
- :
-else
- rm -rf conftest*
- 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 > conftest.$ac_ext <<EOF
-#line 993 "configure"
-#include "confdefs.h"
-#include <ctype.h>
-#define ISLOWER(c) ('a' <= (c) && (c) <= 'z')
-#define TOUPPER(c) (ISLOWER(c) ? 'A' + ((c) - 'a') : (c))
-#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)) exit(2);
-exit (0); }
-
-EOF
-if { (eval echo configure:1004: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
-then
- :
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_header_stdc=no
-fi
-rm -fr conftest*
-fi
-
-fi
-fi
-
-echo "$ac_t""$ac_cv_header_stdc" 1>&6
-if test $ac_cv_header_stdc = yes; then
- cat >> confdefs.h <<\EOF
-#define STDC_HEADERS 1
-EOF
-
-fi
-
-echo $ac_n "checking for working const""... $ac_c" 1>&6
-echo "configure:1028: checking for working const" >&5
-if eval "test \"`echo '$''{'ac_cv_c_const'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1033 "configure"
-#include "confdefs.h"
-
-int main() {
-
-/* Ultrix mips cc rejects this. */
-typedef int charset[2]; const charset x;
-/* SunOS 4.1.1 cc rejects this. */
-char const *const *ccp;
-char **p;
-/* NEC SVR4.0.2 mips cc rejects this. */
-struct point {int x, y;};
-static struct point const zero = {0,0};
-/* AIX XL C 1.02.0.0 rejects this.
- It does not let you subtract one const X* pointer from another in an arm
- of an if-expression whose if-part is not a constant expression */
-const char *g = "string";
-ccp = &g + (g ? g-g : 0);
-/* HPUX 7.0 cc rejects these. */
-++ccp;
-p = (char**) ccp;
-ccp = (char const *const *) p;
-{ /* SCO 3.2v4 cc rejects this. */
- char *t;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
-}
-{ /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
- int x[] = {25, 17};
- const int *foo = &x[0];
- ++foo;
-}
-{ /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
- typedef const int *iptr;
- iptr p = 0;
- ++p;
-}
-{ /* AIX XL C 1.02.0.0 rejects this saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
-}
-{ /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
-}
-
-; return 0; }
-EOF
-if { (eval echo configure:1082: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_c_const=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_c_const=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_c_const" 1>&6
-if test $ac_cv_c_const = no; then
- cat >> confdefs.h <<\EOF
-#define const
-EOF
-
-fi
-
-echo $ac_n "checking for inline""... $ac_c" 1>&6
-echo "configure:1103: checking for inline" >&5
-if eval "test \"`echo '$''{'ac_cv_c_inline'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
- cat > conftest.$ac_ext <<EOF
-#line 1110 "configure"
-#include "confdefs.h"
-
-int main() {
-} $ac_kw foo() {
-; return 0; }
-EOF
-if { (eval echo configure:1117: \"$ac_compile\") 1>&5; (eval $ac_compile) 2>&5; }; then
- rm -rf conftest*
- ac_cv_c_inline=$ac_kw; break
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
-fi
-rm -f conftest*
-done
-
-fi
-
-echo "$ac_t""$ac_cv_c_inline" 1>&6
-case "$ac_cv_c_inline" in
- inline | yes) ;;
- no) cat >> confdefs.h <<\EOF
-#define inline
-EOF
- ;;
- *) cat >> confdefs.h <<EOF
-#define inline $ac_cv_c_inline
-EOF
- ;;
-esac
-
-echo $ac_n "checking for off_t""... $ac_c" 1>&6
-echo "configure:1143: checking for off_t" >&5
-if eval "test \"`echo '$''{'ac_cv_type_off_t'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1148 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "off_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
- rm -rf conftest*
- ac_cv_type_off_t=yes
-else
- rm -rf conftest*
- ac_cv_type_off_t=no
-fi
-rm -f conftest*
-
-fi
-echo "$ac_t""$ac_cv_type_off_t" 1>&6
-if test $ac_cv_type_off_t = no; then
- cat >> confdefs.h <<\EOF
-#define off_t long
-EOF
-
-fi
-
-echo $ac_n "checking for size_t""... $ac_c" 1>&6
-echo "configure:1176: checking for size_t" >&5
-if eval "test \"`echo '$''{'ac_cv_type_size_t'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1181 "configure"
-#include "confdefs.h"
-#include <sys/types.h>
-#if STDC_HEADERS
-#include <stdlib.h>
-#include <stddef.h>
-#endif
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "size_t[^a-zA-Z_0-9]" >/dev/null 2>&1; then
- rm -rf conftest*
- ac_cv_type_size_t=yes
-else
- rm -rf conftest*
- ac_cv_type_size_t=no
-fi
-rm -f conftest*
-
-fi
-echo "$ac_t""$ac_cv_type_size_t" 1>&6
-if test $ac_cv_type_size_t = no; then
- cat >> confdefs.h <<\EOF
-#define size_t unsigned
-EOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-echo $ac_n "checking for working alloca.h""... $ac_c" 1>&6
-echo "configure:1211: checking for working alloca.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_alloca_h'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1216 "configure"
-#include "confdefs.h"
-#include <alloca.h>
-int main() {
-char *p = alloca(2 * sizeof(int));
-; return 0; }
-EOF
-if { (eval echo configure:1223: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- ac_cv_header_alloca_h=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_header_alloca_h=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_header_alloca_h" 1>&6
-if test $ac_cv_header_alloca_h = yes; then
- cat >> confdefs.h <<\EOF
-#define HAVE_ALLOCA_H 1
-EOF
-
-fi
-
-echo $ac_n "checking for alloca""... $ac_c" 1>&6
-echo "configure:1244: checking for alloca" >&5
-if eval "test \"`echo '$''{'ac_cv_func_alloca_works'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1249 "configure"
-#include "confdefs.h"
-
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# if HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-# endif
-# endif
-# endif
-#endif
-
-int main() {
-char *p = (char *) alloca(1);
-; return 0; }
-EOF
-if { (eval echo configure:1272: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- ac_cv_func_alloca_works=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- ac_cv_func_alloca_works=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$ac_cv_func_alloca_works" 1>&6
-if test $ac_cv_func_alloca_works = yes; then
- cat >> confdefs.h <<\EOF
-#define HAVE_ALLOCA 1
-EOF
-
-fi
-
-if test $ac_cv_func_alloca_works = no; then
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
- # that cause trouble. Some versions do not even contain alloca or
- # contain a buggy version. If you still want to use their alloca,
- # use ar to extract alloca.o from them instead of compiling alloca.c.
- ALLOCA=alloca.o
- cat >> confdefs.h <<\EOF
-#define C_ALLOCA 1
-EOF
-
-
-echo $ac_n "checking whether alloca needs Cray hooks""... $ac_c" 1>&6
-echo "configure:1304: checking whether alloca needs Cray hooks" >&5
-if eval "test \"`echo '$''{'ac_cv_os_cray'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1309 "configure"
-#include "confdefs.h"
-#if defined(CRAY) && ! defined(CRAY2)
-webecray
-#else
-wenotbecray
-#endif
-
-EOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- egrep "webecray" >/dev/null 2>&1; then
- rm -rf conftest*
- ac_cv_os_cray=yes
-else
- rm -rf conftest*
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-
-echo "$ac_t""$ac_cv_os_cray" 1>&6
-if test $ac_cv_os_cray = yes; then
-for ac_func in _getb67 GETB67 getb67; do
- echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1334: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1339 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* 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_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:1362: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- cat >> confdefs.h <<EOF
-#define CRAY_STACKSEG_END $ac_func
-EOF
-
- break
-else
- echo "$ac_t""no" 1>&6
-fi
-
-done
-fi
-
-echo $ac_n "checking stack direction for C alloca""... $ac_c" 1>&6
-echo "configure:1389: checking stack direction for C alloca" >&5
-if eval "test \"`echo '$''{'ac_cv_c_stack_direction'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_c_stack_direction=0
-else
- cat > conftest.$ac_ext <<EOF
-#line 1397 "configure"
-#include "confdefs.h"
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-main ()
-{
- exit (find_stack_direction() < 0);
-}
-EOF
-if { (eval echo configure:1416: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
-then
- ac_cv_c_stack_direction=1
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_c_stack_direction=-1
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$ac_cv_c_stack_direction" 1>&6
-cat >> confdefs.h <<EOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-EOF
-
-fi
-
-for ac_hdr in unistd.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1441: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1446 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1451: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-for ac_func in getpagesize
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1480: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1485 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* 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_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:1508: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-echo $ac_n "checking for working mmap""... $ac_c" 1>&6
-echo "configure:1533: checking for working mmap" >&5
-if eval "test \"`echo '$''{'ac_cv_func_mmap_fixed_mapped'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_func_mmap_fixed_mapped=no
-else
- cat > conftest.$ac_ext <<EOF
-#line 1541 "configure"
-#include "confdefs.h"
-
-/* Thanks to Mike Haertel and Jim Avera for this test.
- Here is a matrix of mmap possibilities:
- mmap private not fixed
- mmap private fixed at somewhere currently unmapped
- mmap private fixed at somewhere already mapped
- mmap shared not fixed
- mmap shared fixed at somewhere currently unmapped
- mmap shared fixed at somewhere already mapped
- For private mappings, we should verify that changes cannot be read()
- back from the file, nor mmap's back from the file at a different
- address. (There have been systems where private was not correctly
- implemented like the infamous i386 svr4.0, and systems where the
- VM page cache was not coherent with the filesystem buffer cache
- like early versions of FreeBSD and possibly contemporary NetBSD.)
- For shared mappings, we should conversely verify that changes get
- propogated back to all the places they're supposed to be.
-
- Grep wants private fixed already mapped.
- The main things grep needs to know about mmap are:
- * does it exist and is it safe to write into the mmap'd area
- * how to use it (BSD variants) */
-#include <sys/types.h>
-#include <fcntl.h>
-#include <sys/mman.h>
-
-/* This mess was copied from the GNU getpagesize.h. */
-#ifndef HAVE_GETPAGESIZE
-# ifdef HAVE_UNISTD_H
-# include <unistd.h>
-# endif
-
-/* Assume that all systems that can run configure have sys/param.h. */
-# ifndef HAVE_SYS_PARAM_H
-# define HAVE_SYS_PARAM_H 1
-# endif
-
-# ifdef _SC_PAGESIZE
-# define getpagesize() sysconf(_SC_PAGESIZE)
-# else /* no _SC_PAGESIZE */
-# ifdef HAVE_SYS_PARAM_H
-# include <sys/param.h>
-# ifdef EXEC_PAGESIZE
-# define getpagesize() EXEC_PAGESIZE
-# else /* no EXEC_PAGESIZE */
-# ifdef NBPG
-# define getpagesize() NBPG * CLSIZE
-# ifndef CLSIZE
-# define CLSIZE 1
-# endif /* no CLSIZE */
-# else /* no NBPG */
-# ifdef NBPC
-# define getpagesize() NBPC
-# else /* no NBPC */
-# ifdef PAGESIZE
-# define getpagesize() PAGESIZE
-# endif /* PAGESIZE */
-# endif /* no NBPC */
-# endif /* no NBPG */
-# endif /* no EXEC_PAGESIZE */
-# else /* no HAVE_SYS_PARAM_H */
-# define getpagesize() 8192 /* punt totally */
-# endif /* no HAVE_SYS_PARAM_H */
-# endif /* no _SC_PAGESIZE */
-
-#endif /* no HAVE_GETPAGESIZE */
-
-#ifdef __cplusplus
-extern "C" { void *malloc(unsigned); }
-#else
-char *malloc();
-#endif
-
-int
-main()
-{
- char *data, *data2, *data3;
- int i, pagesize;
- int fd;
-
- pagesize = getpagesize();
-
- /*
- * First, make a file with some known garbage in it.
- */
- data = malloc(pagesize);
- if (!data)
- exit(1);
- for (i = 0; i < pagesize; ++i)
- *(data + i) = rand();
- umask(0);
- fd = creat("conftestmmap", 0600);
- if (fd < 0)
- exit(1);
- if (write(fd, data, pagesize) != pagesize)
- exit(1);
- close(fd);
-
- /*
- * Next, try to mmap the file at a fixed address which
- * already has something else allocated at it. If we can,
- * also make sure that we see the same garbage.
- */
- fd = open("conftestmmap", O_RDWR);
- if (fd < 0)
- exit(1);
- data2 = malloc(2 * pagesize);
- if (!data2)
- exit(1);
- data2 += (pagesize - ((int) data2 & (pagesize - 1))) & (pagesize - 1);
- if (data2 != mmap(data2, pagesize, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_FIXED, fd, 0L))
- exit(1);
- for (i = 0; i < pagesize; ++i)
- if (*(data + i) != *(data2 + i))
- exit(1);
-
- /*
- * Finally, make sure that changes to the mapped area
- * do not percolate back to the file as seen by read().
- * (This is a bug on some variants of i386 svr4.0.)
- */
- for (i = 0; i < pagesize; ++i)
- *(data2 + i) = *(data2 + i) + 1;
- data3 = malloc(pagesize);
- if (!data3)
- exit(1);
- if (read(fd, data3, pagesize) != pagesize)
- exit(1);
- for (i = 0; i < pagesize; ++i)
- if (*(data + i) != *(data3 + i))
- exit(1);
- close(fd);
- unlink("conftestmmap");
- exit(0);
-}
-
-EOF
-if { (eval echo configure:1681: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest && (./conftest; exit) 2>/dev/null
-then
- ac_cv_func_mmap_fixed_mapped=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -fr conftest*
- ac_cv_func_mmap_fixed_mapped=no
-fi
-rm -fr conftest*
-fi
-
-fi
-
-echo "$ac_t""$ac_cv_func_mmap_fixed_mapped" 1>&6
-if test $ac_cv_func_mmap_fixed_mapped = yes; then
- cat >> confdefs.h <<\EOF
-#define HAVE_MMAP 1
-EOF
-
-fi
-
-
- for ac_hdr in argz.h limits.h locale.h nl_types.h malloc.h string.h \
-unistd.h values.h sys/param.h
-do
-ac_safe=`echo "$ac_hdr" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for $ac_hdr""... $ac_c" 1>&6
-echo "configure:1709: checking for $ac_hdr" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1714 "configure"
-#include "confdefs.h"
-#include <$ac_hdr>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1719: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_hdr=HAVE_`echo $ac_hdr | sed 'y%abcdefghijklmnopqrstuvwxyz./-%ABCDEFGHIJKLMNOPQRSTUVWXYZ___%'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_hdr 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
- for ac_func in getcwd munmap putenv setenv setlocale strchr strcasecmp \
-__argz_count __argz_stringify __argz_next
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1749: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1754 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* 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_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:1777: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
-
- if test "${ac_cv_func_stpcpy+set}" != "set"; then
- for ac_func in stpcpy
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:1806: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1811 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* 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_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:1834: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
- fi
- if test "${ac_cv_func_stpcpy}" = "yes"; then
- cat >> confdefs.h <<\EOF
-#define HAVE_STPCPY 1
-EOF
-
- fi
-
- if test $ac_cv_header_locale_h = yes; then
- echo $ac_n "checking for LC_MESSAGES""... $ac_c" 1>&6
-echo "configure:1868: checking for LC_MESSAGES" >&5
-if eval "test \"`echo '$''{'am_cv_val_LC_MESSAGES'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1873 "configure"
-#include "confdefs.h"
-#include <locale.h>
-int main() {
-return LC_MESSAGES
-; return 0; }
-EOF
-if { (eval echo configure:1880: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- am_cv_val_LC_MESSAGES=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- am_cv_val_LC_MESSAGES=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$am_cv_val_LC_MESSAGES" 1>&6
- if test $am_cv_val_LC_MESSAGES = yes; then
- cat >> confdefs.h <<\EOF
-#define HAVE_LC_MESSAGES 1
-EOF
-
- fi
- fi
- echo $ac_n "checking whether NLS is requested""... $ac_c" 1>&6
-echo "configure:1901: checking whether NLS is requested" >&5
- # Check whether --enable-nls or --disable-nls was given.
-if test "${enable_nls+set}" = set; then
- enableval="$enable_nls"
- USE_NLS=$enableval
-else
- USE_NLS=yes
-fi
-
- echo "$ac_t""$USE_NLS" 1>&6
-
-
- USE_INCLUDED_LIBINTL=no
-
- if test "$USE_NLS" = "yes"; then
- cat >> confdefs.h <<\EOF
-#define ENABLE_NLS 1
-EOF
-
- echo $ac_n "checking whether included gettext is requested""... $ac_c" 1>&6
-echo "configure:1921: checking whether included gettext is requested" >&5
- # Check whether --with-included-gettext or --without-included-gettext was given.
-if test "${with_included_gettext+set}" = set; then
- withval="$with_included_gettext"
- nls_cv_force_use_gnu_gettext=$withval
-else
- nls_cv_force_use_gnu_gettext=no
-fi
-
- echo "$ac_t""$nls_cv_force_use_gnu_gettext" 1>&6
-
- nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
- if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
- nls_cv_header_intl=
- nls_cv_header_libgt=
- CATOBJEXT=NONE
-
- ac_safe=`echo "libintl.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for libintl.h""... $ac_c" 1>&6
-echo "configure:1940: checking for libintl.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1945 "configure"
-#include "confdefs.h"
-#include <libintl.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:1950: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- echo $ac_n "checking for gettext in libc""... $ac_c" 1>&6
-echo "configure:1967: checking for gettext in libc" >&5
-if eval "test \"`echo '$''{'gt_cv_func_gettext_libc'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 1972 "configure"
-#include "confdefs.h"
-#include <libintl.h>
-int main() {
-return (int) gettext ("")
-; return 0; }
-EOF
-if { (eval echo configure:1979: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- gt_cv_func_gettext_libc=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- gt_cv_func_gettext_libc=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$gt_cv_func_gettext_libc" 1>&6
-
- if test "$gt_cv_func_gettext_libc" != "yes"; then
- echo $ac_n "checking for bindtextdomain in -lintl""... $ac_c" 1>&6
-echo "configure:1995: checking for bindtextdomain in -lintl" >&5
-ac_lib_var=`echo intl'_'bindtextdomain | sed 'y%./+-%__p_%'`
-if eval "test \"`echo '$''{'ac_cv_lib_$ac_lib_var'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- ac_save_LIBS="$LIBS"
-LIBS="-lintl $LIBS"
-cat > conftest.$ac_ext <<EOF
-#line 2003 "configure"
-#include "confdefs.h"
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char bindtextdomain();
-
-int main() {
-bindtextdomain()
-; return 0; }
-EOF
-if { (eval echo configure:2014: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_lib_$ac_lib_var=no"
-fi
-rm -f conftest*
-LIBS="$ac_save_LIBS"
-
-fi
-if eval "test \"`echo '$ac_cv_lib_'$ac_lib_var`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- echo $ac_n "checking for gettext in libintl""... $ac_c" 1>&6
-echo "configure:2030: checking for gettext in libintl" >&5
-if eval "test \"`echo '$''{'gt_cv_func_gettext_libintl'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2035 "configure"
-#include "confdefs.h"
-
-int main() {
-return (int) gettext ("")
-; return 0; }
-EOF
-if { (eval echo configure:2042: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- gt_cv_func_gettext_libintl=yes
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- gt_cv_func_gettext_libintl=no
-fi
-rm -f conftest*
-fi
-
-echo "$ac_t""$gt_cv_func_gettext_libintl" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- fi
-
- if test "$gt_cv_func_gettext_libc" = "yes" \
- || test "$gt_cv_func_gettext_libintl" = "yes"; then
- cat >> confdefs.h <<\EOF
-#define HAVE_GETTEXT 1
-EOF
-
- # Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2070: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$MSGFMT" in
- /*)
- ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then
- ac_cv_path_MSGFMT="$ac_dir/$ac_word"
- break
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no"
- ;;
-esac
-fi
-MSGFMT="$ac_cv_path_MSGFMT"
-if test -n "$MSGFMT"; then
- echo "$ac_t""$MSGFMT" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
- if test "$MSGFMT" != "no"; then
- for ac_func in dcgettext
-do
-echo $ac_n "checking for $ac_func""... $ac_c" 1>&6
-echo "configure:2104: checking for $ac_func" >&5
-if eval "test \"`echo '$''{'ac_cv_func_$ac_func'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2109 "configure"
-#include "confdefs.h"
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func(); below. */
-#include <assert.h>
-/* Override any gcc2 internal prototype to avoid an error. */
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func();
-
-int main() {
-
-/* 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_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-$ac_func();
-#endif
-
-; return 0; }
-EOF
-if { (eval echo configure:2132: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=yes"
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_func_$ac_func=no"
-fi
-rm -f conftest*
-fi
-
-if eval "test \"`echo '$ac_cv_func_'$ac_func`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- ac_tr_func=HAVE_`echo $ac_func | tr 'abcdefghijklmnopqrstuvwxyz' 'ABCDEFGHIJKLMNOPQRSTUVWXYZ'`
- cat >> confdefs.h <<EOF
-#define $ac_tr_func 1
-EOF
-
-else
- echo "$ac_t""no" 1>&6
-fi
-done
-
- # Extract the first word of "gmsgfmt", so it can be a program name with args.
-set dummy gmsgfmt; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2159: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$GMSGFMT" in
- /*)
- ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_GMSGFMT="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
- ;;
-esac
-fi
-GMSGFMT="$ac_cv_path_GMSGFMT"
-if test -n "$GMSGFMT"; then
- echo "$ac_t""$GMSGFMT" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- # Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2194: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$XGETTEXT" in
- /*)
- ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then
- ac_cv_path_XGETTEXT="$ac_dir/$ac_word"
- break
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
- ;;
-esac
-fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test -n "$XGETTEXT"; then
- echo "$ac_t""$XGETTEXT" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- cat > conftest.$ac_ext <<EOF
-#line 2226 "configure"
-#include "confdefs.h"
-
-int main() {
-extern int _nl_msg_cat_cntr;
- return _nl_msg_cat_cntr
-; return 0; }
-EOF
-if { (eval echo configure:2234: \"$ac_link\") 1>&5; (eval $ac_link) 2>&5; } && test -s conftest; then
- rm -rf conftest*
- CATOBJEXT=.gmo
- DATADIRNAME=share
-else
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- CATOBJEXT=.mo
- DATADIRNAME=lib
-fi
-rm -f conftest*
- INSTOBJEXT=.mo
- fi
- fi
-
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
-
- if test "$CATOBJEXT" = "NONE"; then
- nls_cv_use_gnu_gettext=yes
- fi
- fi
-
- if test "$nls_cv_use_gnu_gettext" = "yes"; then
- INTLOBJS="\$(GETTOBJS)"
- # Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2266: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_MSGFMT'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$MSGFMT" in
- /*)
- ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then
- ac_cv_path_MSGFMT="$ac_dir/$ac_word"
- break
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="msgfmt"
- ;;
-esac
-fi
-MSGFMT="$ac_cv_path_MSGFMT"
-if test -n "$MSGFMT"; then
- echo "$ac_t""$MSGFMT" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- # Extract the first word of "gmsgfmt", so it can be a program name with args.
-set dummy gmsgfmt; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2300: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_GMSGFMT'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$GMSGFMT" in
- /*)
- ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
- ;;
- ?:/*)
- ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a dos path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- ac_cv_path_GMSGFMT="$ac_dir/$ac_word"
- break
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
- ;;
-esac
-fi
-GMSGFMT="$ac_cv_path_GMSGFMT"
-if test -n "$GMSGFMT"; then
- echo "$ac_t""$GMSGFMT" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
- # Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
-echo $ac_n "checking for $ac_word""... $ac_c" 1>&6
-echo "configure:2335: checking for $ac_word" >&5
-if eval "test \"`echo '$''{'ac_cv_path_XGETTEXT'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- case "$XGETTEXT" in
- /*)
- ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then
- ac_cv_path_XGETTEXT="$ac_dir/$ac_word"
- break
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
- ;;
-esac
-fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test -n "$XGETTEXT"; then
- echo "$ac_t""$XGETTEXT" 1>&6
-else
- echo "$ac_t""no" 1>&6
-fi
-
-
- USE_INCLUDED_LIBINTL=yes
- CATOBJEXT=.gmo
- INSTOBJEXT=.mo
- DATADIRNAME=share
- INTLDEPS='$(top_builddir)/../intl/libintl.a'
- INTLLIBS=$INTLDEPS
- LIBS=`echo $LIBS | sed -e 's/-lintl//'`
- nls_cv_header_intl=libintl.h
- nls_cv_header_libgt=libgettext.h
- fi
-
- if test "$XGETTEXT" != ":"; then
- if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
- : ;
- else
- echo "$ac_t""found xgettext programs is not GNU xgettext; ignore it" 1>&6
- XGETTEXT=":"
- fi
- fi
-
- # We need to process the po/ directory.
- POSUB=po
- else
- DATADIRNAME=share
- nls_cv_header_intl=libintl.h
- nls_cv_header_libgt=libgettext.h
- fi
-
- # If this is used in GNU gettext we have to set USE_NLS to `yes'
- # because some of the sources are only built for this goal.
- if test "$PACKAGE" = gettext; then
- USE_NLS=yes
- USE_INCLUDED_LIBINTL=yes
- fi
-
- for lang in $ALL_LINGUAS; do
- GMOFILES="$GMOFILES $lang.gmo"
- POFILES="$POFILES $lang.po"
- done
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- if test "x$CATOBJEXT" != "x"; then
- if test "x$ALL_LINGUAS" = "x"; then
- LINGUAS=
- else
- echo $ac_n "checking for catalogs to be installed""... $ac_c" 1>&6
-echo "configure:2425: checking for catalogs to be installed" >&5
- NEW_LINGUAS=
- for lang in ${LINGUAS=$ALL_LINGUAS}; do
- case "$ALL_LINGUAS" in
- *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
- esac
- done
- LINGUAS=$NEW_LINGUAS
- echo "$ac_t""$LINGUAS" 1>&6
- fi
-
- if test -n "$LINGUAS"; then
- for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
- fi
- fi
-
- if test $ac_cv_header_locale_h = yes; then
- INCLUDE_LOCALE_H="#include <locale.h>"
- else
- INCLUDE_LOCALE_H="\
-/* The system does not provide the header <locale.h>. Take care yourself. */"
- fi
-
-
- if test -f $srcdir/po2tbl.sed.in; then
- if test "$CATOBJEXT" = ".cat"; then
- ac_safe=`echo "linux/version.h" | sed 'y%./+-%__p_%'`
-echo $ac_n "checking for linux/version.h""... $ac_c" 1>&6
-echo "configure:2453: checking for linux/version.h" >&5
-if eval "test \"`echo '$''{'ac_cv_header_$ac_safe'+set}'`\" = set"; then
- echo $ac_n "(cached) $ac_c" 1>&6
-else
- cat > conftest.$ac_ext <<EOF
-#line 2458 "configure"
-#include "confdefs.h"
-#include <linux/version.h>
-EOF
-ac_try="$ac_cpp conftest.$ac_ext >/dev/null 2>conftest.out"
-{ (eval echo configure:2463: \"$ac_try\") 1>&5; (eval $ac_try) 2>&5; }
-ac_err=`grep -v '^ *+' conftest.out`
-if test -z "$ac_err"; then
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=yes"
-else
- echo "$ac_err" >&5
- echo "configure: failed program was:" >&5
- cat conftest.$ac_ext >&5
- rm -rf conftest*
- eval "ac_cv_header_$ac_safe=no"
-fi
-rm -f conftest*
-fi
-if eval "test \"`echo '$ac_cv_header_'$ac_safe`\" = yes"; then
- echo "$ac_t""yes" 1>&6
- msgformat=linux
-else
- echo "$ac_t""no" 1>&6
-msgformat=xopen
-fi
-
-
- sed -e '/^#/d' $srcdir/$msgformat-msg.sed > po2msg.sed
- fi
- sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
- $srcdir/po2tbl.sed.in > po2tbl.sed
- fi
-
- if test "$PACKAGE" = "gettext"; then
- GT_NO="#NO#"
- GT_YES=
- else
- GT_NO=
- GT_YES="#YES#"
- fi
-
-
-
- MKINSTALLDIRS="\$(srcdir)/../../mkinstalldirs"
-
-
- l=
-
-
- if test -d $srcdir/po; then
- test -d po || mkdir po
- if test "x$srcdir" != "x."; then
- if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
- posrcprefix="$srcdir/"
- else
- posrcprefix="../$srcdir/"
- fi
- else
- posrcprefix="../"
- fi
- rm -f po/POTFILES
- sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
- < $srcdir/po/POTFILES.in > po/POTFILES
- fi
-
-
-
-trap '' 1 2 15
-cat > confcache <<\EOF
-# 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. It is not useful on other systems.
-# If it contains results you don't want to keep, you may remove or edit it.
-#
-# By default, configure uses ./config.cache as the cache file,
-# creating it if it does not exist already. You can give configure
-# the --cache-file=FILE option to use a different cache file; that is
-# what configure does when it calls configure scripts in
-# subdirectories, so they share the cache.
-# Giving --cache-file=/dev/null disables caching, for debugging configure.
-# config.status only pays attention to the cache file if you give it the
-# --recheck option to rerun configure.
-#
-EOF
-# The following way of writing the cache mishandles newlines in values,
-# but we know of no workaround that is simple, portable, and efficient.
-# So, don't put newlines in cache variables' values.
-# 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.
-(set) 2>&1 |
- case `(ac_space=' '; set) 2>&1 | grep ac_space` in
- *ac_space=\ *)
- # `set' does not quote correctly, so add quotes (double-quote substitution
- # turns \\\\ into \\, and sed turns \\ into \).
- sed -n \
- -e "s/'/'\\\\''/g" \
- -e "s/^\\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\\)=\\(.*\\)/\\1=\${\\1='\\2'}/p"
- ;;
- *)
- # `set' quotes correctly as required by POSIX, so do not add quotes.
- sed -n -e 's/^\([a-zA-Z0-9_]*_cv_[a-zA-Z0-9_]*\)=\(.*\)/\1=${\1=\2}/p'
- ;;
- esac >> confcache
-if cmp -s $cache_file confcache; then
- :
-else
- if test -w $cache_file; then
- echo "updating cache $cache_file"
- cat confcache > $cache_file
- else
- echo "not updating unwritable cache $cache_file"
- fi
-fi
-rm -f confcache
-
-trap 'rm -fr conftest* confdefs* core core.* *.core $ac_clean_files; exit 1' 1 2 15
-
-test "x$prefix" = xNONE && prefix=$ac_default_prefix
-# Let make expand exec_prefix.
-test "x$exec_prefix" = xNONE && exec_prefix='${prefix}'
-
-# Any assignment to VPATH causes Sun make to only execute
-# the first set of double-colon rules, so remove it if not needed.
-# If there is a colon in the path, we need to keep it.
-if test "x$srcdir" = x.; then
- ac_vpsub='/^[ ]*VPATH[ ]*=[^:]*$/d'
-fi
-
-trap 'rm -f $CONFIG_STATUS conftest*; exit 1' 1 2 15
-
-DEFS=-DHAVE_CONFIG_H
-
-# Without the "./", some shells look in PATH for config.status.
-: ${CONFIG_STATUS=./config.status}
-
-echo creating $CONFIG_STATUS
-rm -f $CONFIG_STATUS
-cat > $CONFIG_STATUS <<EOF
-#! /bin/sh
-# Generated automatically by configure.
-# Run this file to recreate the current configuration.
-# This directory was configured as follows,
-# on host `(hostname || uname -n) 2>/dev/null | sed 1q`:
-#
-# $0 $ac_configure_args
-#
-# Compiler output produced by configure, useful for debugging
-# configure, is in ./config.log if it exists.
-
-ac_cs_usage="Usage: $CONFIG_STATUS [--recheck] [--version] [--help]"
-for ac_option
-do
- case "\$ac_option" in
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- echo "running \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion"
- exec \${CONFIG_SHELL-/bin/sh} $0 $ac_configure_args --no-create --no-recursion ;;
- -version | --version | --versio | --versi | --vers | --ver | --ve | --v)
- echo "$CONFIG_STATUS generated by autoconf version 2.12.1"
- exit 0 ;;
- -help | --help | --hel | --he | --h)
- echo "\$ac_cs_usage"; exit 0 ;;
- *) echo "\$ac_cs_usage"; exit 1 ;;
- esac
-done
-
-ac_given_srcdir=$srcdir
-ac_given_INSTALL="$INSTALL"
-
-trap 'rm -fr `echo "Makefile config.h:config.in" | sed "s/:[^ ]*//g"` conftest*; exit 1' 1 2 15
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-# Protect against being on the right side of a sed subst in config.status.
-sed 's/%@/@@/; s/@%/@@/; s/%g\$/@g/; /@g\$/s/[\\\\&%]/\\\\&/g;
- s/@@/%@/; s/@@/@%/; s/@g\$/%g/' > conftest.subs <<\\CEOF
-$ac_vpsub
-$extrasub
-s%@SHELL@%$SHELL%g
-s%@CFLAGS@%$CFLAGS%g
-s%@CPPFLAGS@%$CPPFLAGS%g
-s%@CXXFLAGS@%$CXXFLAGS%g
-s%@DEFS@%$DEFS%g
-s%@LDFLAGS@%$LDFLAGS%g
-s%@LIBS@%$LIBS%g
-s%@exec_prefix@%$exec_prefix%g
-s%@prefix@%$prefix%g
-s%@program_transform_name@%$program_transform_name%g
-s%@bindir@%$bindir%g
-s%@sbindir@%$sbindir%g
-s%@libexecdir@%$libexecdir%g
-s%@datadir@%$datadir%g
-s%@sysconfdir@%$sysconfdir%g
-s%@sharedstatedir@%$sharedstatedir%g
-s%@localstatedir@%$localstatedir%g
-s%@libdir@%$libdir%g
-s%@includedir@%$includedir%g
-s%@oldincludedir@%$oldincludedir%g
-s%@infodir@%$infodir%g
-s%@mandir@%$mandir%g
-s%@INSTALL_PROGRAM@%$INSTALL_PROGRAM%g
-s%@INSTALL_DATA@%$INSTALL_DATA%g
-s%@INSTALL_SCRIPT@%$INSTALL_SCRIPT%g
-s%@SET_MAKE@%$SET_MAKE%g
-s%@CC@%$CC%g
-s%@RANLIB@%$RANLIB%g
-s%@CPP@%$CPP%g
-s%@ALLOCA@%$ALLOCA%g
-s%@USE_NLS@%$USE_NLS%g
-s%@MSGFMT@%$MSGFMT%g
-s%@GMSGFMT@%$GMSGFMT%g
-s%@XGETTEXT@%$XGETTEXT%g
-s%@USE_INCLUDED_LIBINTL@%$USE_INCLUDED_LIBINTL%g
-s%@CATALOGS@%$CATALOGS%g
-s%@CATOBJEXT@%$CATOBJEXT%g
-s%@DATADIRNAME@%$DATADIRNAME%g
-s%@GMOFILES@%$GMOFILES%g
-s%@INSTOBJEXT@%$INSTOBJEXT%g
-s%@INTLDEPS@%$INTLDEPS%g
-s%@INTLLIBS@%$INTLLIBS%g
-s%@INTLOBJS@%$INTLOBJS%g
-s%@POFILES@%$POFILES%g
-s%@POSUB@%$POSUB%g
-s%@INCLUDE_LOCALE_H@%$INCLUDE_LOCALE_H%g
-s%@GT_NO@%$GT_NO%g
-s%@GT_YES@%$GT_YES%g
-s%@MKINSTALLDIRS@%$MKINSTALLDIRS%g
-s%@l@%$l%g
-
-CEOF
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-
-# Split the substitutions into bite-sized pieces for seds with
-# small command number limits, like on Digital OSF/1 and HP-UX.
-ac_max_sed_cmds=90 # Maximum number of lines to put in a sed script.
-ac_file=1 # Number of current file.
-ac_beg=1 # First line for current file.
-ac_end=$ac_max_sed_cmds # Line after last line for current file.
-ac_more_lines=:
-ac_sed_cmds=""
-while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" conftest.subs > conftest.s$ac_file
- else
- sed "${ac_end}q" conftest.subs > conftest.s$ac_file
- fi
- if test ! -s conftest.s$ac_file; then
- ac_more_lines=false
- rm -f conftest.s$ac_file
- else
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f conftest.s$ac_file"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f conftest.s$ac_file"
- fi
- ac_file=`expr $ac_file + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_cmds`
- fi
-done
-if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
-fi
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-
-CONFIG_FILES=\${CONFIG_FILES-"Makefile"}
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-for ac_file in .. $CONFIG_FILES; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- # Adjust a relative srcdir, top_srcdir, and INSTALL for subdirectories.
-
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- ac_dir_suffix="/`echo $ac_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dir_suffix.
- ac_dots=`echo $ac_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dir_suffix= ac_dots=
- fi
-
- case "$ac_given_srcdir" in
- .) srcdir=.
- if test -z "$ac_dots"; then top_srcdir=.
- else top_srcdir=`echo $ac_dots|sed 's%/$%%'`; fi ;;
- /*) srcdir="$ac_given_srcdir$ac_dir_suffix"; top_srcdir="$ac_given_srcdir" ;;
- *) # Relative path.
- srcdir="$ac_dots$ac_given_srcdir$ac_dir_suffix"
- top_srcdir="$ac_dots$ac_given_srcdir" ;;
- esac
-
- case "$ac_given_INSTALL" in
- [/$]*) INSTALL="$ac_given_INSTALL" ;;
- *) INSTALL="$ac_dots$ac_given_INSTALL" ;;
- esac
-
- echo creating "$ac_file"
- rm -f "$ac_file"
- configure_input="Generated automatically from `echo $ac_file_in|sed 's%.*/%%'` by configure."
- case "$ac_file" in
- *Makefile*) ac_comsub="1i\\
-# $configure_input" ;;
- *) ac_comsub= ;;
- esac
-
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- sed -e "$ac_comsub
-s%@configure_input@%$configure_input%g
-s%@srcdir@%$srcdir%g
-s%@top_srcdir@%$top_srcdir%g
-s%@INSTALL@%$INSTALL%g
-" $ac_file_inputs | (eval "$ac_sed_cmds") > $ac_file
-fi; done
-rm -f conftest.s*
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s%^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='\([ ][ ]*\)[^ ]*%\1#\2'
-ac_dC='\3'
-ac_dD='%g'
-# ac_u turns "#undef NAME" with trailing blanks into "#define NAME VALUE".
-ac_uA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='\([ ]\)%\1#\2define\3'
-ac_uC=' '
-ac_uD='\4%g'
-# ac_e turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_eA='s%^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_eB='$%\1#\2define\3'
-ac_eC=' '
-ac_eD='%g'
-
-if test "${CONFIG_HEADERS+set}" != set; then
-EOF
-cat >> $CONFIG_STATUS <<EOF
- CONFIG_HEADERS="config.h:config.in"
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-fi
-for ac_file in .. $CONFIG_HEADERS; do if test "x$ac_file" != x..; then
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case "$ac_file" in
- *:*) ac_file_in=`echo "$ac_file"|sed 's%[^:]*:%%'`
- ac_file=`echo "$ac_file"|sed 's%:.*%%'` ;;
- *) ac_file_in="${ac_file}.in" ;;
- esac
-
- echo creating $ac_file
-
- rm -f conftest.frag conftest.in conftest.out
- ac_file_inputs=`echo $ac_file_in|sed -e "s%^%$ac_given_srcdir/%" -e "s%:% $ac_given_srcdir/%g"`
- cat $ac_file_inputs > conftest.in
-
-EOF
-
-# Transform confdefs.h into a sed script conftest.vals that substitutes
-# the proper values into config.h.in to produce config.h. And first:
-# Protect against being on the right side of a sed subst in config.status.
-# Protect against being in an unquoted here document in config.status.
-rm -f conftest.vals
-cat > conftest.hdr <<\EOF
-s/[\\&%]/\\&/g
-s%[\\$`]%\\&%g
-s%#define \([A-Za-z_][A-Za-z0-9_]*\) *\(.*\)%${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD}%gp
-s%ac_d%ac_u%gp
-s%ac_u%ac_e%gp
-EOF
-sed -n -f conftest.hdr confdefs.h > conftest.vals
-rm -f conftest.hdr
-
-# This sed command replaces #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.
-cat >> conftest.vals <<\EOF
-s%^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*%/* & */%
-EOF
-
-# Break up conftest.vals because some shells have a limit on
-# the size of here documents, and old seds have small limits too.
-
-rm -f conftest.tail
-while :
-do
- ac_lines=`grep -c . conftest.vals`
- # grep -c gives empty output for an empty file on some AIX systems.
- if test -z "$ac_lines" || test "$ac_lines" -eq 0; then break; fi
- # Write a limited-size here document to conftest.frag.
- echo ' cat > conftest.frag <<CEOF' >> $CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.vals >> $CONFIG_STATUS
- echo 'CEOF
- sed -f conftest.frag conftest.in > conftest.out
- rm -f conftest.in
- mv conftest.out conftest.in
-' >> $CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.vals > conftest.tail
- rm -f conftest.vals
- mv conftest.tail conftest.vals
-done
-rm -f conftest.vals
-
-cat >> $CONFIG_STATUS <<\EOF
- rm -f conftest.frag conftest.h
- echo "/* $ac_file. Generated automatically by configure. */" > conftest.h
- cat conftest.in >> conftest.h
- rm -f conftest.in
- if cmp -s $ac_file conftest.h 2>/dev/null; then
- echo "$ac_file is unchanged"
- rm -f conftest.h
- else
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dir=`echo $ac_file|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dir" != "$ac_file" && test "$ac_dir" != .; then
- # The file is in a subdirectory.
- test ! -d "$ac_dir" && mkdir "$ac_dir"
- fi
- rm -f $ac_file
- mv conftest.h $ac_file
- fi
-fi; done
-
-EOF
-
-cat >> $CONFIG_STATUS <<EOF
-ac_sources="$nls_cv_header_libgt"
-ac_dests="$nls_cv_header_intl"
-EOF
-
-cat >> $CONFIG_STATUS <<\EOF
-srcdir=$ac_given_srcdir
-while test -n "$ac_sources"; do
- set $ac_dests; ac_dest=$1; shift; ac_dests=$*
- set $ac_sources; ac_source=$1; shift; ac_sources=$*
-
- echo "linking $srcdir/$ac_source to $ac_dest"
-
- if test ! -r $srcdir/$ac_source; then
- { echo "configure: error: $srcdir/$ac_source: File not found" 1>&2; exit 1; }
- fi
- rm -f $ac_dest
-
- # Make relative symlinks.
- # Remove last slash and all that follows it. Not all systems have dirname.
- ac_dest_dir=`echo $ac_dest|sed 's%/[^/][^/]*$%%'`
- if test "$ac_dest_dir" != "$ac_dest" && test "$ac_dest_dir" != .; then
- # The dest file is in a subdirectory.
- test ! -d "$ac_dest_dir" && mkdir "$ac_dest_dir"
- ac_dest_dir_suffix="/`echo $ac_dest_dir|sed 's%^\./%%'`"
- # A "../" for each directory in $ac_dest_dir_suffix.
- ac_dots=`echo $ac_dest_dir_suffix|sed 's%/[^/]*%../%g'`
- else
- ac_dest_dir_suffix= ac_dots=
- fi
-
- case "$srcdir" in
- [/$]*) ac_rel_source="$srcdir/$ac_source" ;;
- *) ac_rel_source="$ac_dots$srcdir/$ac_source" ;;
- esac
-
- # Make a symlink if possible; otherwise try a hard link.
- if ln -s $ac_rel_source $ac_dest 2>/dev/null ||
- ln $srcdir/$ac_source $ac_dest; then :
- else
- { echo "configure: error: can not link $ac_dest to $srcdir/$ac_source" 1>&2; exit 1; }
- fi
-done
-EOF
-cat >> $CONFIG_STATUS <<EOF
-
-
-EOF
-cat >> $CONFIG_STATUS <<\EOF
-test -z "$CONFIG_HEADERS" || echo timestamp > stamp-h
-
-exit 0
-EOF
-chmod +x $CONFIG_STATUS
-rm -fr confdefs* $ac_clean_files
-test "$no_create" = yes || ${CONFIG_SHELL-/bin/sh} $CONFIG_STATUS || exit 1
-
diff --git a/intl/configure.in b/intl/configure.in
deleted file mode 100644
index 4ba9c244efa..00000000000
--- a/intl/configure.in
+++ /dev/null
@@ -1,10 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-
-AC_INIT(dgettext.c)
-AM_CONFIG_HEADER(config.h:config.in)
-
-AM_PROG_INSTALL
-CY_GNU_GETTEXT
-AC_LINK_FILES($nls_cv_header_libgt, $nls_cv_header_intl)
-
-AC_OUTPUT(Makefile)
diff --git a/intl/dcgettext.c b/intl/dcgettext.c
deleted file mode 100644
index 27586e9159a..00000000000
--- a/intl/dcgettext.c
+++ /dev/null
@@ -1,624 +0,0 @@
-/* Implementation of the dcgettext(3) function.
- Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <sys/types.h>
-
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-# define HAVE_ALLOCA 1
-#else
-# if defined HAVE_ALLOCA_H || defined _LIBC
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca
-char *alloca ();
-# endif
-# endif
-# endif
-#endif
-
-#include <errno.h>
-#ifndef errno
-extern int errno;
-#endif
-#ifndef __set_errno
-# define __set_errno(val) errno = (val)
-#endif
-
-#if defined STDC_HEADERS || defined _LIBC
-# include <stdlib.h>
-#else
-char *getenv ();
-# ifdef HAVE_MALLOC_H
-# include <malloc.h>
-# else
-void free ();
-# endif
-#endif
-
-#if defined HAVE_STRING_H || defined _LIBC
-# ifndef _GNU_SOURCE
-# define _GNU_SOURCE 1
-# endif
-# include <string.h>
-#else
-# include <strings.h>
-#endif
-#if !HAVE_STRCHR && !defined _LIBC
-# ifndef strchr
-# define strchr index
-# endif
-#endif
-
-#if defined HAVE_UNISTD_H || defined _LIBC
-# include <unistd.h>
-#endif
-
-#include "gettext.h"
-#include "gettextP.h"
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgettext.h"
-#endif
-#include "hash-string.h"
-
-/* @@ end of prolog @@ */
-
-#ifdef _LIBC
-/* Rename the non ANSI C functions. This is required by the standard
- because some ANSI C functions will require linking with this object
- file and the name space must not be polluted. */
-# define getcwd __getcwd
-# ifndef stpcpy
-# define stpcpy __stpcpy
-# endif
-#else
-# if !defined HAVE_GETCWD
-char *getwd ();
-# define getcwd(buf, max) getwd (buf)
-# else
-char *getcwd ();
-# endif
-# ifndef HAVE_STPCPY
-static char *stpcpy PARAMS ((char *dest, const char *src));
-# endif
-#endif
-
-/* Amount to increase buffer size by in each try. */
-#define PATH_INCR 32
-
-/* The following is from pathmax.h. */
-/* Non-POSIX BSD systems might have gcc's limits.h, which doesn't define
- PATH_MAX but might cause redefinition warnings when sys/param.h is
- later included (as on MORE/BSD 4.3). */
-#if defined(_POSIX_VERSION) || (defined(HAVE_LIMITS_H) && !defined(__GNUC__))
-# include <limits.h>
-#endif
-
-#ifndef _POSIX_PATH_MAX
-# define _POSIX_PATH_MAX 255
-#endif
-
-#if !defined(PATH_MAX) && defined(_PC_PATH_MAX)
-# define PATH_MAX (pathconf ("/", _PC_PATH_MAX) < 1 ? 1024 : pathconf ("/", _PC_PATH_MAX))
-#endif
-
-/* Don't include sys/param.h if it already has been. */
-#if defined(HAVE_SYS_PARAM_H) && !defined(PATH_MAX) && !defined(MAXPATHLEN)
-# include <sys/param.h>
-#endif
-
-#if !defined(PATH_MAX) && defined(MAXPATHLEN)
-# define PATH_MAX MAXPATHLEN
-#endif
-
-#ifndef PATH_MAX
-# define PATH_MAX _POSIX_PATH_MAX
-#endif
-
-/* XPG3 defines the result of `setlocale (category, NULL)' as:
- ``Directs `setlocale()' to query `category' and return the current
- setting of `local'.''
- However it does not specify the exact format. And even worse: POSIX
- defines this not at all. So we can use this feature only on selected
- system (e.g. those using GNU C Library). */
-#ifdef _LIBC
-# define HAVE_LOCALE_NULL
-#endif
-
-/* Name of the default domain used for gettext(3) prior any call to
- textdomain(3). The default value for this is "messages". */
-const char _nl_default_default_domain[] = "messages";
-
-/* Value used as the default domain for gettext(3). */
-const char *_nl_current_default_domain = _nl_default_default_domain;
-
-/* Contains the default location of the message catalogs. */
-const char _nl_default_dirname[] = GNULOCALEDIR;
-
-/* List with bindings of specific domains created by bindtextdomain()
- calls. */
-struct binding *_nl_domain_bindings;
-
-/* Prototypes for local functions. */
-static char *find_msg PARAMS ((struct loaded_l10nfile *domain_file,
- const char *msgid)) internal_function;
-static const char *category_to_name PARAMS ((int category)) internal_function;
-static const char *guess_category_value PARAMS ((int category,
- const char *categoryname))
- internal_function;
-
-
-/* For those loosing systems which don't have `alloca' we have to add
- some additional code emulating it. */
-#ifdef HAVE_ALLOCA
-/* Nothing has to be done. */
-# define ADD_BLOCK(list, address) /* nothing */
-# define FREE_BLOCKS(list) /* nothing */
-#else
-struct block_list
-{
- void *address;
- struct block_list *next;
-};
-# define ADD_BLOCK(list, addr) \
- do { \
- struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \
- /* If we cannot get a free block we cannot add the new element to \
- the list. */ \
- if (newp != NULL) { \
- newp->address = (addr); \
- newp->next = (list); \
- (list) = newp; \
- } \
- } while (0)
-# define FREE_BLOCKS(list) \
- do { \
- while (list != NULL) { \
- struct block_list *old = list; \
- list = list->next; \
- free (old); \
- } \
- } while (0)
-# undef alloca
-# define alloca(size) (malloc (size))
-#endif /* have alloca */
-
-
-/* Names for the libintl functions are a problem. They must not clash
- with existing names and they should follow ANSI C. But this source
- code is also used in GNU C Library where the names have a __
- prefix. So we have to make a difference here. */
-#ifdef _LIBC
-# define DCGETTEXT __dcgettext
-#else
-# define DCGETTEXT dcgettext__
-#endif
-
-/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
- locale. */
-char *
-DCGETTEXT (domainname, msgid, category)
- const char *domainname;
- const char *msgid;
- int category;
-{
-#ifndef HAVE_ALLOCA
- struct block_list *block_list = NULL;
-#endif
- struct loaded_l10nfile *domain;
- struct binding *binding;
- const char *categoryname;
- const char *categoryvalue;
- char *dirname, *xdomainname;
- char *single_locale;
- char *retval;
- int saved_errno = errno;
-
- /* If no real MSGID is given return NULL. */
- if (msgid == NULL)
- return NULL;
-
- /* If DOMAINNAME is NULL, we are interested in the default domain. If
- CATEGORY is not LC_MESSAGES this might not make much sense but the
- defintion left this undefined. */
- if (domainname == NULL)
- domainname = _nl_current_default_domain;
-
- /* First find matching binding. */
- for (binding = _nl_domain_bindings; binding != NULL; binding = binding->next)
- {
- int compare = strcmp (domainname, binding->domainname);
- if (compare == 0)
- /* We found it! */
- break;
- if (compare < 0)
- {
- /* It is not in the list. */
- binding = NULL;
- break;
- }
- }
-
- if (binding == NULL)
- dirname = (char *) _nl_default_dirname;
- else if (binding->dirname[0] == '/')
- dirname = binding->dirname;
- else
- {
- /* We have a relative path. Make it absolute now. */
- size_t dirname_len = strlen (binding->dirname) + 1;
- size_t path_max;
- char *ret;
-
- path_max = (unsigned) PATH_MAX;
- path_max += 2; /* The getcwd docs say to do this. */
-
- dirname = (char *) alloca (path_max + dirname_len);
- ADD_BLOCK (block_list, dirname);
-
- __set_errno (0);
- while ((ret = getcwd (dirname, path_max)) == NULL && errno == ERANGE)
- {
- path_max += PATH_INCR;
- dirname = (char *) alloca (path_max + dirname_len);
- ADD_BLOCK (block_list, dirname);
- __set_errno (0);
- }
-
- if (ret == NULL)
- {
- /* We cannot get the current working directory. Don't signal an
- error but simply return the default string. */
- FREE_BLOCKS (block_list);
- __set_errno (saved_errno);
- return (char *) msgid;
- }
-
- stpcpy (stpcpy (strchr (dirname, '\0'), "/"), binding->dirname);
- }
-
- /* Now determine the symbolic name of CATEGORY and its value. */
- categoryname = category_to_name (category);
- categoryvalue = guess_category_value (category, categoryname);
-
- xdomainname = (char *) alloca (strlen (categoryname)
- + strlen (domainname) + 5);
- ADD_BLOCK (block_list, xdomainname);
-
- stpcpy (stpcpy (stpcpy (stpcpy (xdomainname, categoryname), "/"),
- domainname),
- ".mo");
-
- /* Creating working area. */
- single_locale = (char *) alloca (strlen (categoryvalue) + 1);
- ADD_BLOCK (block_list, single_locale);
-
-
- /* Search for the given string. This is a loop because we perhaps
- got an ordered list of languages to consider for th translation. */
- while (1)
- {
- /* Make CATEGORYVALUE point to the next element of the list. */
- while (categoryvalue[0] != '\0' && categoryvalue[0] == ':')
- ++categoryvalue;
- if (categoryvalue[0] == '\0')
- {
- /* The whole contents of CATEGORYVALUE has been searched but
- no valid entry has been found. We solve this situation
- by implicitly appending a "C" entry, i.e. no translation
- will take place. */
- single_locale[0] = 'C';
- single_locale[1] = '\0';
- }
- else
- {
- char *cp = single_locale;
- while (categoryvalue[0] != '\0' && categoryvalue[0] != ':')
- *cp++ = *categoryvalue++;
- *cp = '\0';
- }
-
- /* If the current locale value is C (or POSIX) we don't load a
- domain. Return the MSGID. */
- if (strcmp (single_locale, "C") == 0
- || strcmp (single_locale, "POSIX") == 0)
- {
- FREE_BLOCKS (block_list);
- __set_errno (saved_errno);
- return (char *) msgid;
- }
-
-
- /* Find structure describing the message catalog matching the
- DOMAINNAME and CATEGORY. */
- domain = _nl_find_domain (dirname, single_locale, xdomainname);
-
- if (domain != NULL)
- {
- retval = find_msg (domain, msgid);
-
- if (retval == NULL)
- {
- int cnt;
-
- for (cnt = 0; domain->successor[cnt] != NULL; ++cnt)
- {
- retval = find_msg (domain->successor[cnt], msgid);
-
- if (retval != NULL)
- break;
- }
- }
-
- if (retval != NULL)
- {
- FREE_BLOCKS (block_list);
- __set_errno (saved_errno);
- return retval;
- }
- }
- }
- /* NOTREACHED */
-}
-
-#ifdef _LIBC
-/* Alias for function name in GNU C Library. */
-weak_alias (__dcgettext, dcgettext);
-#endif
-
-
-static char *
-internal_function
-find_msg (domain_file, msgid)
- struct loaded_l10nfile *domain_file;
- const char *msgid;
-{
- size_t top, act, bottom;
- struct loaded_domain *domain;
-
- if (domain_file->decided == 0)
- _nl_load_domain (domain_file);
-
- if (domain_file->data == NULL)
- return NULL;
-
- domain = (struct loaded_domain *) domain_file->data;
-
- /* Locate the MSGID and its translation. */
- if (domain->hash_size > 2 && domain->hash_tab != NULL)
- {
- /* Use the hashing table. */
- nls_uint32 len = strlen (msgid);
- nls_uint32 hash_val = hash_string (msgid);
- nls_uint32 idx = hash_val % domain->hash_size;
- nls_uint32 incr = 1 + (hash_val % (domain->hash_size - 2));
- nls_uint32 nstr = W (domain->must_swap, domain->hash_tab[idx]);
-
- if (nstr == 0)
- /* Hash table entry is empty. */
- return NULL;
-
- if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) == len
- && strcmp (msgid,
- domain->data + W (domain->must_swap,
- domain->orig_tab[nstr - 1].offset)) == 0)
- return (char *) domain->data + W (domain->must_swap,
- domain->trans_tab[nstr - 1].offset);
-
- while (1)
- {
- if (idx >= domain->hash_size - incr)
- idx -= domain->hash_size - incr;
- else
- idx += incr;
-
- nstr = W (domain->must_swap, domain->hash_tab[idx]);
- if (nstr == 0)
- /* Hash table entry is empty. */
- return NULL;
-
- if (W (domain->must_swap, domain->orig_tab[nstr - 1].length) == len
- && strcmp (msgid,
- domain->data + W (domain->must_swap,
- domain->orig_tab[nstr - 1].offset))
- == 0)
- return (char *) domain->data
- + W (domain->must_swap, domain->trans_tab[nstr - 1].offset);
- }
- /* NOTREACHED */
- }
-
- /* Now we try the default method: binary search in the sorted
- array of messages. */
- bottom = 0;
- top = domain->nstrings;
- while (bottom < top)
- {
- int cmp_val;
-
- act = (bottom + top) / 2;
- cmp_val = strcmp (msgid, domain->data
- + W (domain->must_swap,
- domain->orig_tab[act].offset));
- if (cmp_val < 0)
- top = act;
- else if (cmp_val > 0)
- bottom = act + 1;
- else
- break;
- }
-
- /* If an translation is found return this. */
- return bottom >= top ? NULL : (char *) domain->data
- + W (domain->must_swap,
- domain->trans_tab[act].offset);
-}
-
-
-/* Return string representation of locale CATEGORY. */
-static const char *
-internal_function
-category_to_name (category)
- int category;
-{
- const char *retval;
-
- switch (category)
- {
-#ifdef LC_COLLATE
- case LC_COLLATE:
- retval = "LC_COLLATE";
- break;
-#endif
-#ifdef LC_CTYPE
- case LC_CTYPE:
- retval = "LC_CTYPE";
- break;
-#endif
-#ifdef LC_MONETARY
- case LC_MONETARY:
- retval = "LC_MONETARY";
- break;
-#endif
-#ifdef LC_NUMERIC
- case LC_NUMERIC:
- retval = "LC_NUMERIC";
- break;
-#endif
-#ifdef LC_TIME
- case LC_TIME:
- retval = "LC_TIME";
- break;
-#endif
-#ifdef LC_MESSAGES
- case LC_MESSAGES:
- retval = "LC_MESSAGES";
- break;
-#endif
-#ifdef LC_RESPONSE
- case LC_RESPONSE:
- retval = "LC_RESPONSE";
- break;
-#endif
-#ifdef LC_ALL
- case LC_ALL:
- /* This might not make sense but is perhaps better than any other
- value. */
- retval = "LC_ALL";
- break;
-#endif
- default:
- /* If you have a better idea for a default value let me know. */
- retval = "LC_XXX";
- }
-
- return retval;
-}
-
-/* Guess value of current locale from value of the environment variables. */
-static const char *
-internal_function
-guess_category_value (category, categoryname)
- int category;
- const char *categoryname;
-{
- const char *retval;
-
- /* The highest priority value is the `LANGUAGE' environment
- variable. This is a GNU extension. */
- retval = getenv ("LANGUAGE");
- if (retval != NULL && retval[0] != '\0')
- return retval;
-
- /* `LANGUAGE' is not set. So we have to proceed with the POSIX
- methods of looking to `LC_ALL', `LC_xxx', and `LANG'. On some
- systems this can be done by the `setlocale' function itself. */
-#if defined HAVE_SETLOCALE && defined HAVE_LC_MESSAGES && defined HAVE_LOCALE_NULL
- return setlocale (category, NULL);
-#else
- /* Setting of LC_ALL overwrites all other. */
- retval = getenv ("LC_ALL");
- if (retval != NULL && retval[0] != '\0')
- return retval;
-
- /* Next comes the name of the desired category. */
- retval = getenv (categoryname);
- if (retval != NULL && retval[0] != '\0')
- return retval;
-
- /* Last possibility is the LANG environment variable. */
- retval = getenv ("LANG");
- if (retval != NULL && retval[0] != '\0')
- return retval;
-
- /* We use C as the default domain. POSIX says this is implementation
- defined. */
- return "C";
-#endif
-}
-
-/* @@ begin of epilog @@ */
-
-/* We don't want libintl.a to depend on any other library. So we
- avoid the non-standard function stpcpy. In GNU C Library this
- function is available, though. Also allow the symbol HAVE_STPCPY
- to be defined. */
-#if !_LIBC && !HAVE_STPCPY
-static char *
-stpcpy (dest, src)
- char *dest;
- const char *src;
-{
- while ((*dest++ = *src++) != '\0')
- /* Do nothing. */ ;
- return dest - 1;
-}
-#endif
-
-
-#ifdef _LIBC
-/* If we want to free all resources we have to do some work at
- program's end. */
-static void __attribute__ ((unused))
-free_mem (void)
-{
- struct binding *runp;
-
- for (runp = _nl_domain_bindings; runp != NULL; runp = runp->next)
- {
- free (runp->domainname);
- if (runp->dirname != _nl_default_dirname)
- /* Yes, this is a pointer comparison. */
- free (runp->dirname);
- }
-
- if (_nl_current_default_domain != _nl_default_default_domain)
- /* Yes, again a pointer comparison. */
- free ((char *) _nl_current_default_domain);
-}
-
-text_set_element (__libc_subfreeres, free_mem);
-#endif
diff --git a/intl/dgettext.c b/intl/dgettext.c
deleted file mode 100644
index e4a0cfdb6e0..00000000000
--- a/intl/dgettext.c
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Implementation of the dgettext(3) function
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if defined HAVE_LOCALE_H || defined _LIBC
-# include <locale.h>
-#endif
-
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgettext.h"
-#endif
-
-/* @@ end of prolog @@ */
-
-/* Names for the libintl functions are a problem. They must not clash
- with existing names and they should follow ANSI C. But this source
- code is also used in GNU C Library where the names have a __
- prefix. So we have to make a difference here. */
-#ifdef _LIBC
-# define DGETTEXT __dgettext
-# define DCGETTEXT __dcgettext
-#else
-# define DGETTEXT dgettext__
-# define DCGETTEXT dcgettext__
-#endif
-
-/* Look up MSGID in the DOMAINNAME message catalog of the current
- LC_MESSAGES locale. */
-char *
-DGETTEXT (domainname, msgid)
- const char *domainname;
- const char *msgid;
-{
- return DCGETTEXT (domainname, msgid, LC_MESSAGES);
-}
-
-#ifdef _LIBC
-/* Alias for function name in GNU C Library. */
-weak_alias (__dgettext, dgettext);
-#endif
diff --git a/intl/explodename.c b/intl/explodename.c
deleted file mode 100644
index 5a911cee91b..00000000000
--- a/intl/explodename.c
+++ /dev/null
@@ -1,188 +0,0 @@
-/* Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
-
- 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 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if defined STDC_HEADERS || defined _LIBC
-# include <stdlib.h>
-#endif
-
-#if defined HAVE_STRING_H || defined _LIBC
-# include <string.h>
-#else
-# include <strings.h>
-#endif
-#include <sys/types.h>
-
-#include "loadinfo.h"
-
-/* On some strange systems still no definition of NULL is found. Sigh! */
-#ifndef NULL
-# if defined __STDC__ && __STDC__
-# define NULL ((void *) 0)
-# else
-# define NULL 0
-# endif
-#endif
-
-/* @@ end of prolog @@ */
-
-int
-_nl_explode_name (name, language, modifier, territory, codeset,
- normalized_codeset, special, sponsor, revision)
- char *name;
- const char **language;
- const char **modifier;
- const char **territory;
- const char **codeset;
- const char **normalized_codeset;
- const char **special;
- const char **sponsor;
- const char **revision;
-{
- enum { undecided, xpg, cen } syntax;
- char *cp;
- int mask;
-
- *modifier = NULL;
- *territory = NULL;
- *codeset = NULL;
- *normalized_codeset = NULL;
- *special = NULL;
- *sponsor = NULL;
- *revision = NULL;
-
- /* Now we determine the single parts of the locale name. First
- look for the language. Termination symbols are `_' and `@' if
- we use XPG4 style, and `_', `+', and `,' if we use CEN syntax. */
- mask = 0;
- syntax = undecided;
- *language = cp = name;
- while (cp[0] != '\0' && cp[0] != '_' && cp[0] != '@'
- && cp[0] != '+' && cp[0] != ',')
- ++cp;
-
- if (*language == cp)
- /* This does not make sense: language has to be specified. Use
- this entry as it is without exploding. Perhaps it is an alias. */
- cp = strchr (*language, '\0');
- else if (cp[0] == '_')
- {
- /* Next is the territory. */
- cp[0] = '\0';
- *territory = ++cp;
-
- while (cp[0] != '\0' && cp[0] != '.' && cp[0] != '@'
- && cp[0] != '+' && cp[0] != ',' && cp[0] != '_')
- ++cp;
-
- mask |= TERRITORY;
-
- if (cp[0] == '.')
- {
- /* Next is the codeset. */
- syntax = xpg;
- cp[0] = '\0';
- *codeset = ++cp;
-
- while (cp[0] != '\0' && cp[0] != '@')
- ++cp;
-
- mask |= XPG_CODESET;
-
- if (*codeset != cp && (*codeset)[0] != '\0')
- {
- *normalized_codeset = _nl_normalize_codeset (*codeset,
- cp - *codeset);
- if (strcmp (*codeset, *normalized_codeset) == 0)
- free ((char *) *normalized_codeset);
- else
- mask |= XPG_NORM_CODESET;
- }
- }
- }
-
- if (cp[0] == '@' || (syntax != xpg && cp[0] == '+'))
- {
- /* Next is the modifier. */
- syntax = cp[0] == '@' ? xpg : cen;
- cp[0] = '\0';
- *modifier = ++cp;
-
- while (syntax == cen && cp[0] != '\0' && cp[0] != '+'
- && cp[0] != ',' && cp[0] != '_')
- ++cp;
-
- mask |= XPG_MODIFIER | CEN_AUDIENCE;
- }
-
- if (syntax != xpg && (cp[0] == '+' || cp[0] == ',' || cp[0] == '_'))
- {
- syntax = cen;
-
- if (cp[0] == '+')
- {
- /* Next is special application (CEN syntax). */
- cp[0] = '\0';
- *special = ++cp;
-
- while (cp[0] != '\0' && cp[0] != ',' && cp[0] != '_')
- ++cp;
-
- mask |= CEN_SPECIAL;
- }
-
- if (cp[0] == ',')
- {
- /* Next is sponsor (CEN syntax). */
- cp[0] = '\0';
- *sponsor = ++cp;
-
- while (cp[0] != '\0' && cp[0] != '_')
- ++cp;
-
- mask |= CEN_SPONSOR;
- }
-
- if (cp[0] == '_')
- {
- /* Next is revision (CEN syntax). */
- cp[0] = '\0';
- *revision = ++cp;
-
- mask |= CEN_REVISION;
- }
- }
-
- /* For CEN syntax values it might be important to have the
- separator character in the file name, not for XPG syntax. */
- if (syntax == xpg)
- {
- if (*territory != NULL && (*territory)[0] == '\0')
- mask &= ~TERRITORY;
-
- if (*codeset != NULL && (*codeset)[0] == '\0')
- mask &= ~XPG_CODESET;
-
- if (*modifier != NULL && (*modifier)[0] == '\0')
- mask &= ~XPG_MODIFIER;
- }
-
- return mask;
-}
diff --git a/intl/finddomain.c b/intl/finddomain.c
deleted file mode 100644
index 5409565fd3d..00000000000
--- a/intl/finddomain.c
+++ /dev/null
@@ -1,216 +0,0 @@
-/* Handle list of needed message catalogs
- Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
- Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
-
- 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 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <ctype.h>
-#include <errno.h>
-#include <stdio.h>
-#include <sys/types.h>
-
-#if defined STDC_HEADERS || defined _LIBC
-# include <stdlib.h>
-#else
-# ifdef HAVE_MALLOC_H
-# include <malloc.h>
-# else
-void free ();
-# endif
-#endif
-
-#if defined HAVE_STRING_H || defined _LIBC
-# include <string.h>
-#else
-# include <strings.h>
-# ifndef memcpy
-# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
-# endif
-#endif
-#if !HAVE_STRCHR && !defined _LIBC
-# ifndef strchr
-# define strchr index
-# endif
-#endif
-
-#if defined HAVE_UNISTD_H || defined _LIBC
-# include <unistd.h>
-#endif
-
-#include "gettext.h"
-#include "gettextP.h"
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgettext.h"
-#endif
-
-/* @@ end of prolog @@ */
-/* List of already loaded domains. */
-static struct loaded_l10nfile *_nl_loaded_domains;
-
-
-/* Return a data structure describing the message catalog described by
- the DOMAINNAME and CATEGORY parameters with respect to the currently
- established bindings. */
-struct loaded_l10nfile *
-internal_function
-_nl_find_domain (dirname, locale, domainname)
- const char *dirname;
- char *locale;
- const char *domainname;
-{
- struct loaded_l10nfile *retval;
- const char *language;
- const char *modifier;
- const char *territory;
- const char *codeset;
- const char *normalized_codeset;
- const char *special;
- const char *sponsor;
- const char *revision;
- const char *alias_value;
- int mask;
-
- /* LOCALE can consist of up to four recognized parts for the XPG syntax:
-
- language[_territory[.codeset]][@modifier]
-
- and six parts for the CEN syntax:
-
- language[_territory][+audience][+special][,[sponsor][_revision]]
-
- Beside the first part all of them are allowed to be missing. If
- the full specified locale is not found, the less specific one are
- looked for. The various parts will be stripped off according to
- the following order:
- (1) revision
- (2) sponsor
- (3) special
- (4) codeset
- (5) normalized codeset
- (6) territory
- (7) audience/modifier
- */
-
- /* If we have already tested for this locale entry there has to
- be one data set in the list of loaded domains. */
- retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
- strlen (dirname) + 1, 0, locale, NULL, NULL,
- NULL, NULL, NULL, NULL, NULL, domainname, 0);
- if (retval != NULL)
- {
- /* We know something about this locale. */
- int cnt;
-
- if (retval->decided == 0)
- _nl_load_domain (retval);
-
- if (retval->data != NULL)
- return retval;
-
- for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
- {
- if (retval->successor[cnt]->decided == 0)
- _nl_load_domain (retval->successor[cnt]);
-
- if (retval->successor[cnt]->data != NULL)
- break;
- }
- return cnt >= 0 ? retval : NULL;
- /* NOTREACHED */
- }
-
- /* See whether the locale value is an alias. If yes its value
- *overwrites* the alias name. No test for the original value is
- done. */
- alias_value = _nl_expand_alias (locale);
- if (alias_value != NULL)
- {
-#if defined _LIBC || defined HAVE_STRDUP
- locale = strdup (alias_value);
- if (locale == NULL)
- return NULL;
-#else
- size_t len = strlen (alias_value) + 1;
- locale = (char *) malloc (len);
- if (locale == NULL)
- return NULL;
-
- memcpy (locale, alias_value, len);
-#endif
- }
-
- /* Now we determine the single parts of the locale name. First
- look for the language. Termination symbols are `_' and `@' if
- we use XPG4 style, and `_', `+', and `,' if we use CEN syntax. */
- mask = _nl_explode_name (locale, &language, &modifier, &territory,
- &codeset, &normalized_codeset, &special,
- &sponsor, &revision);
-
- /* Create all possible locale entries which might be interested in
- generalization. */
- retval = _nl_make_l10nflist (&_nl_loaded_domains, dirname,
- strlen (dirname) + 1, mask, language, territory,
- codeset, normalized_codeset, modifier, special,
- sponsor, revision, domainname, 1);
- if (retval == NULL)
- /* This means we are out of core. */
- return NULL;
-
- if (retval->decided == 0)
- _nl_load_domain (retval);
- if (retval->data == NULL)
- {
- int cnt;
- for (cnt = 0; retval->successor[cnt] != NULL; ++cnt)
- {
- if (retval->successor[cnt]->decided == 0)
- _nl_load_domain (retval->successor[cnt]);
- if (retval->successor[cnt]->data != NULL)
- break;
- }
- }
-
- /* The room for an alias was dynamically allocated. Free it now. */
- if (alias_value != NULL)
- free (locale);
-
- return retval;
-}
-
-
-#ifdef _LIBC
-static void __attribute__ ((unused))
-free_mem (void)
-{
- struct loaded_l10nfile *runp = _nl_loaded_domains;
-
- while (runp != NULL)
- {
- struct loaded_l10nfile *here = runp;
- if (runp->data != NULL)
- _nl_unload_domain ((struct loaded_domain *) runp->data);
- runp = runp->next;
- free (here);
- }
-}
-
-text_set_element (__libc_subfreeres, free_mem);
-#endif
diff --git a/intl/gettext.c b/intl/gettext.c
deleted file mode 100644
index 6bc5b94d3e8..00000000000
--- a/intl/gettext.c
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Implementation of gettext(3) function.
- Copyright (C) 1995, 1997 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#ifdef _LIBC
-# define __need_NULL
-# include <stddef.h>
-#else
-# ifdef STDC_HEADERS
-# include <stdlib.h> /* Just for NULL. */
-# else
-# ifdef HAVE_STRING_H
-# include <string.h>
-# else
-# define NULL ((void *) 0)
-# endif
-# endif
-#endif
-
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgettext.h"
-#endif
-
-/* @@ end of prolog @@ */
-
-/* Names for the libintl functions are a problem. They must not clash
- with existing names and they should follow ANSI C. But this source
- code is also used in GNU C Library where the names have a __
- prefix. So we have to make a difference here. */
-#ifdef _LIBC
-# define GETTEXT __gettext
-# define DGETTEXT __dgettext
-#else
-# define GETTEXT gettext__
-# define DGETTEXT dgettext__
-#endif
-
-/* Look up MSGID in the current default message catalog for the current
- LC_MESSAGES locale. If not found, returns MSGID itself (the default
- text). */
-char *
-GETTEXT (msgid)
- const char *msgid;
-{
- return DGETTEXT (NULL, msgid);
-}
-
-#ifdef _LIBC
-/* Alias for function name in GNU C Library. */
-weak_alias (__gettext, gettext);
-#endif
diff --git a/intl/gettext.h b/intl/gettext.h
deleted file mode 100644
index 3887e876402..00000000000
--- a/intl/gettext.h
+++ /dev/null
@@ -1,105 +0,0 @@
-/* Internal header for GNU gettext internationalization functions.
- Copyright (C) 1995, 1997 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, 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 Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
- Boston, MA 02110-1301, USA. */
-
-#ifndef _GETTEXT_H
-#define _GETTEXT_H 1
-
-#include <stdio.h>
-
-#if HAVE_LIMITS_H || _LIBC
-# include <limits.h>
-#endif
-
-/* @@ end of prolog @@ */
-
-/* The magic number of the GNU message catalog format. */
-#define _MAGIC 0x950412de
-#define _MAGIC_SWAPPED 0xde120495
-
-/* Revision number of the currently used .mo (binary) file format. */
-#define MO_REVISION_NUMBER 0
-
-/* The following contortions are an attempt to use the C preprocessor
- to determine an unsigned integral type that is 32 bits wide. An
- alternative approach is to use autoconf's AC_CHECK_SIZEOF macro, but
- doing that would require that the configure script compile and *run*
- the resulting executable. Locally running cross-compiled executables
- is usually not possible. */
-
-#if __STDC__
-# define UINT_MAX_32_BITS 4294967295U
-#else
-# define UINT_MAX_32_BITS 0xFFFFFFFF
-#endif
-
-/* If UINT_MAX isn't defined, assume it's a 32-bit type.
- This should be valid for all systems GNU cares about because
- that doesn't include 16-bit systems, and only modern systems
- (that certainly have <limits.h>) have 64+-bit integral types. */
-
-#ifndef UINT_MAX
-# define UINT_MAX UINT_MAX_32_BITS
-#endif
-
-#if UINT_MAX == UINT_MAX_32_BITS
-typedef unsigned nls_uint32;
-#else
-# if USHRT_MAX == UINT_MAX_32_BITS
-typedef unsigned short nls_uint32;
-# else
-# if ULONG_MAX == UINT_MAX_32_BITS
-typedef unsigned long nls_uint32;
-# else
- /* The following line is intended to throw an error. Using #error is
- not portable enough. */
- "Cannot determine unsigned 32-bit data type."
-# endif
-# endif
-#endif
-
-
-/* Header for binary .mo file format. */
-struct mo_file_header
-{
- /* The magic number. */
- nls_uint32 magic;
- /* The revision number of the file format. */
- nls_uint32 revision;
- /* The number of strings pairs. */
- nls_uint32 nstrings;
- /* Offset of table with start offsets of original strings. */
- nls_uint32 orig_tab_offset;
- /* Offset of table with start offsets of translation strings. */
- nls_uint32 trans_tab_offset;
- /* Size of hashing table. */
- nls_uint32 hash_tab_size;
- /* Offset of first hashing entry. */
- nls_uint32 hash_tab_offset;
-};
-
-struct string_desc
-{
- /* Length of addressed string. */
- nls_uint32 length;
- /* Offset of string in file. */
- nls_uint32 offset;
-};
-
-/* @@ begin of epilog @@ */
-
-#endif /* gettext.h */
diff --git a/intl/gettextP.h b/intl/gettextP.h
deleted file mode 100644
index 61e2f871bc8..00000000000
--- a/intl/gettextP.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/* Header describing internals of gettext library
- Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
- Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
-
- 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 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifndef _GETTEXTP_H
-#define _GETTEXTP_H
-
-#include "loadinfo.h"
-
-/* @@ end of prolog @@ */
-
-#ifndef PARAMS
-# if __STDC__
-# define PARAMS(args) args
-# else
-# define PARAMS(args) ()
-# endif
-#endif
-
-#ifndef internal_function
-# define internal_function
-#endif
-
-#ifndef W
-# define W(flag, data) ((flag) ? SWAP (data) : (data))
-#endif
-
-
-#ifdef _LIBC
-# include <byteswap.h>
-# define SWAP(i) bswap_32 (i)
-#else
-static nls_uint32 SWAP PARAMS ((nls_uint32 i));
-
-static inline nls_uint32
-SWAP (i)
- nls_uint32 i;
-{
- return (i << 24) | ((i & 0xff00) << 8) | ((i >> 8) & 0xff00) | (i >> 24);
-}
-#endif
-
-
-struct loaded_domain
-{
- const char *data;
- int use_mmap;
- size_t mmap_size;
- int must_swap;
- nls_uint32 nstrings;
- struct string_desc *orig_tab;
- struct string_desc *trans_tab;
- nls_uint32 hash_size;
- nls_uint32 *hash_tab;
-};
-
-struct binding
-{
- struct binding *next;
- char *domainname;
- char *dirname;
-};
-
-struct loaded_l10nfile *_nl_find_domain PARAMS ((const char *__dirname,
- char *__locale,
- const char *__domainname))
- internal_function;
-void _nl_load_domain PARAMS ((struct loaded_l10nfile *__domain))
- internal_function;
-void _nl_unload_domain PARAMS ((struct loaded_domain *__domain))
- internal_function;
-
-/* @@ begin of epilog @@ */
-
-#endif /* gettextP.h */
diff --git a/intl/hash-string.h b/intl/hash-string.h
deleted file mode 100644
index 66281078364..00000000000
--- a/intl/hash-string.h
+++ /dev/null
@@ -1,59 +0,0 @@
-/* Implements a string hashing function.
- Copyright (C) 1995, 1997 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, 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 Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
- Boston, MA 02110-1301, USA. */
-
-/* @@ end of prolog @@ */
-
-#ifndef PARAMS
-# if __STDC__
-# define PARAMS(Args) Args
-# else
-# define PARAMS(Args) ()
-# endif
-#endif
-
-/* We assume to have `unsigned long int' value with at least 32 bits. */
-#define HASHWORDBITS 32
-
-
-/* Defines the so called `hashpjw' function by P.J. Weinberger
- [see Aho/Sethi/Ullman, COMPILERS: Principles, Techniques and Tools,
- 1986, 1987 Bell Telephone Laboratories, Inc.] */
-static unsigned long hash_string PARAMS ((const char *__str_param));
-
-static inline unsigned long
-hash_string (str_param)
- const char *str_param;
-{
- unsigned long int hval, g;
- const char *str = str_param;
-
- /* Compute the hash value for the given string. */
- hval = 0;
- while (*str != '\0')
- {
- hval <<= 4;
- hval += (unsigned long) *str++;
- g = hval & ((unsigned long) 0xf << (HASHWORDBITS - 4));
- if (g != 0)
- {
- hval ^= g >> (HASHWORDBITS - 8);
- hval ^= g;
- }
- }
- return hval;
-}
diff --git a/intl/intl-compat.c b/intl/intl-compat.c
deleted file mode 100644
index 415a0f3b4f8..00000000000
--- a/intl/intl-compat.c
+++ /dev/null
@@ -1,76 +0,0 @@
-/* intl-compat.c - Stub functions to call gettext functions from GNU gettext
- Library.
- Copyright (C) 1995 Software Foundation, Inc.
-
-This program is free software; you can redistribute it and/or modify
-it under the terms of the GNU General Public License as published by
-the Free Software Foundation; either version 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License
-along with this program; if not, write to the Free Software
-Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include "libgettext.h"
-
-/* @@ end of prolog @@ */
-
-
-#undef gettext
-#undef dgettext
-#undef dcgettext
-#undef textdomain
-#undef bindtextdomain
-
-
-char *
-bindtextdomain (domainname, dirname)
- const char *domainname;
- const char *dirname;
-{
- return bindtextdomain__ (domainname, dirname);
-}
-
-
-char *
-dcgettext (domainname, msgid, category)
- const char *domainname;
- const char *msgid;
- int category;
-{
- return dcgettext__ (domainname, msgid, category);
-}
-
-
-char *
-dgettext (domainname, msgid)
- const char *domainname;
- const char *msgid;
-{
- return dgettext__ (domainname, msgid);
-}
-
-
-char *
-gettext (msgid)
- const char *msgid;
-{
- return gettext__ (msgid);
-}
-
-
-char *
-textdomain (domainname)
- const char *domainname;
-{
- return textdomain__ (domainname);
-}
diff --git a/intl/intlh.inst.in b/intl/intlh.inst.in
deleted file mode 100644
index 95e15a8f266..00000000000
--- a/intl/intlh.inst.in
+++ /dev/null
@@ -1,111 +0,0 @@
-/* Message catalogs for internationalization.
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software
- Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301,
- USA. */
-
-#ifndef _LIBINTL_H
-#define _LIBINTL_H 1
-
-@INCLUDE_LOCALE_H@
-
-/* We define an additional symbol to signal that we use the GNU
- implementation of gettext. */
-#define __USE_GNU_GETTEXT 1
-
-#ifndef PARAMS
-# if __STDC__ || defined __cplusplus
-# define PARAMS(args) args
-# else
-# define PARAMS(args) ()
-# endif
-#endif
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* Look up MSGID in the current default message catalog for the current
- LC_MESSAGES locale. If not found, returns MSGID itself (the default
- text). */
-extern char *gettext PARAMS ((const char *__msgid));
-
-/* Look up MSGID in the DOMAINNAME message catalog for the current
- LC_MESSAGES locale. */
-extern char *dgettext PARAMS ((const char *__domainname, const char *__msgid));
-
-/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
- locale. */
-extern char *dcgettext PARAMS ((const char *__domainname, const char *__msgid,
- int __category));
-
-
-/* Set the current default message catalog to DOMAINNAME.
- If DOMAINNAME is null, return the current default.
- If DOMAINNAME is "", reset to the default of "messages". */
-extern char *textdomain PARAMS ((const char *__domainname));
-
-/* Specify that the DOMAINNAME message catalog will be found
- in DIRNAME rather than in the system locale data base. */
-extern char *bindtextdomain PARAMS ((const char *__domainname,
- const char *__dirname));
-
-
-/* Optimized version of the functions above. */
-#if defined __OPTIMIZED
-/* These must be a macro. Inlined functions are useless because the
- `__builtin_constant_p' predicate in dcgettext would always return
- false. */
-
-# define gettext(msgid) dgettext ((char *) 0, msgid)
-
-# define dgettext(domainname, msgid) \
- dcgettext (domainname, msgid, LC_MESSAGES)
-
-# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-/* This global variable is defined in loadmsgcat.c. We need a sign,
- whether a new catalog was loaded, which can be associated with all
- translations. */
-extern int _nl_msg_cat_cntr;
-
-# define dcgettext(domainname, msgid, category) \
- (__extension__ \
- ({ \
- char *__result; \
- if (__builtin_constant_p (msgid)) \
- { \
- static char *__translation__; \
- static int __catalog_counter__; \
- if (! __translation__ || __catalog_counter__ != _nl_msg_cat_cntr) \
- { \
- __translation__ = \
- (dcgettext) ((domainname), (msgid), (category)); \
- __catalog_counter__ = _nl_msg_cat_cntr; \
- } \
- __result = __translation__; \
- } \
- else \
- __result = (dcgettext) ((domainname), (msgid), (category)); \
- __result; \
- }))
-# endif
-#endif /* Optimizing. */
-
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif /* libintl.h */
diff --git a/intl/l10nflist.c b/intl/l10nflist.c
deleted file mode 100644
index 3ef93b84733..00000000000
--- a/intl/l10nflist.c
+++ /dev/null
@@ -1,411 +0,0 @@
-/* Handle list of needed message catalogs
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
-
- 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 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-
-#if defined HAVE_STRING_H || defined _LIBC
-# ifndef _GNU_SOURCE
-# define _GNU_SOURCE 1
-# endif
-# include <string.h>
-#else
-# include <strings.h>
-# ifndef memcpy
-# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
-# endif
-#endif
-#if !HAVE_STRCHR && !defined _LIBC
-# ifndef strchr
-# define strchr index
-# endif
-#endif
-
-#if defined _LIBC || defined HAVE_ARGZ_H
-# include <argz.h>
-#endif
-#include <ctype.h>
-#include <sys/types.h>
-
-#if defined STDC_HEADERS || defined _LIBC
-# include <stdlib.h>
-#endif
-
-#include "loadinfo.h"
-
-/* On some strange systems still no definition of NULL is found. Sigh! */
-#ifndef NULL
-# if defined __STDC__ && __STDC__
-# define NULL ((void *) 0)
-# else
-# define NULL 0
-# endif
-#endif
-
-/* @@ end of prolog @@ */
-
-#ifdef _LIBC
-/* Rename the non ANSI C functions. This is required by the standard
- because some ANSI C functions will require linking with this object
- file and the name space must not be polluted. */
-# ifndef stpcpy
-# define stpcpy(dest, src) __stpcpy(dest, src)
-# endif
-#else
-# ifndef HAVE_STPCPY
-static char *stpcpy PARAMS ((char *dest, const char *src));
-# endif
-#endif
-
-/* Define function which are usually not available. */
-
-#if !defined _LIBC && !defined HAVE___ARGZ_COUNT
-/* Returns the number of strings in ARGZ. */
-static size_t argz_count__ PARAMS ((const char *argz, size_t len));
-
-static size_t
-argz_count__ (argz, len)
- const char *argz;
- size_t len;
-{
- size_t count = 0;
- while (len > 0)
- {
- size_t part_len = strlen (argz);
- argz += part_len + 1;
- len -= part_len + 1;
- count++;
- }
- return count;
-}
-# undef __argz_count
-# define __argz_count(argz, len) argz_count__ (argz, len)
-#endif /* !_LIBC && !HAVE___ARGZ_COUNT */
-
-#if !defined _LIBC && !defined HAVE___ARGZ_STRINGIFY
-/* Make '\0' separated arg vector ARGZ printable by converting all the '\0's
- except the last into the character SEP. */
-static void argz_stringify__ PARAMS ((char *argz, size_t len, int sep));
-
-static void
-argz_stringify__ (argz, len, sep)
- char *argz;
- size_t len;
- int sep;
-{
- while (len > 0)
- {
- size_t part_len = strlen (argz);
- argz += part_len;
- len -= part_len + 1;
- if (len > 0)
- *argz++ = sep;
- }
-}
-# undef __argz_stringify
-# define __argz_stringify(argz, len, sep) argz_stringify__ (argz, len, sep)
-#endif /* !_LIBC && !HAVE___ARGZ_STRINGIFY */
-
-#if !defined _LIBC && !defined HAVE___ARGZ_NEXT
-static char *argz_next__ PARAMS ((char *argz, size_t argz_len,
- const char *entry));
-
-static char *
-argz_next__ (argz, argz_len, entry)
- char *argz;
- size_t argz_len;
- const char *entry;
-{
- if (entry)
- {
- if (entry < argz + argz_len)
- entry = strchr (entry, '\0') + 1;
-
- return entry >= argz + argz_len ? NULL : (char *) entry;
- }
- else
- if (argz_len > 0)
- return argz;
- else
- return 0;
-}
-# undef __argz_next
-# define __argz_next(argz, len, entry) argz_next__ (argz, len, entry)
-#endif /* !_LIBC && !HAVE___ARGZ_NEXT */
-
-
-/* Return number of bits set in X. */
-static int pop PARAMS ((int x));
-
-static inline int
-pop (x)
- int x;
-{
- /* We assume that no more than 16 bits are used. */
- x = ((x & ~0x5555) >> 1) + (x & 0x5555);
- x = ((x & ~0x3333) >> 2) + (x & 0x3333);
- x = ((x >> 4) + x) & 0x0f0f;
- x = ((x >> 8) + x) & 0xff;
-
- return x;
-}
-
-
-struct loaded_l10nfile *
-_nl_make_l10nflist (l10nfile_list, dirlist, dirlist_len, mask, language,
- territory, codeset, normalized_codeset, modifier, special,
- sponsor, revision, filename, do_allocate)
- struct loaded_l10nfile **l10nfile_list;
- const char *dirlist;
- size_t dirlist_len;
- int mask;
- const char *language;
- const char *territory;
- const char *codeset;
- const char *normalized_codeset;
- const char *modifier;
- const char *special;
- const char *sponsor;
- const char *revision;
- const char *filename;
- int do_allocate;
-{
- char *abs_filename;
- struct loaded_l10nfile *last = NULL;
- struct loaded_l10nfile *retval;
- char *cp;
- size_t entries;
- int cnt;
-
- /* Allocate room for the full file name. */
- abs_filename = (char *) malloc (dirlist_len
- + strlen (language)
- + ((mask & TERRITORY) != 0
- ? strlen (territory) + 1 : 0)
- + ((mask & XPG_CODESET) != 0
- ? strlen (codeset) + 1 : 0)
- + ((mask & XPG_NORM_CODESET) != 0
- ? strlen (normalized_codeset) + 1 : 0)
- + (((mask & XPG_MODIFIER) != 0
- || (mask & CEN_AUDIENCE) != 0)
- ? strlen (modifier) + 1 : 0)
- + ((mask & CEN_SPECIAL) != 0
- ? strlen (special) + 1 : 0)
- + (((mask & CEN_SPONSOR) != 0
- || (mask & CEN_REVISION) != 0)
- ? (1 + ((mask & CEN_SPONSOR) != 0
- ? strlen (sponsor) + 1 : 0)
- + ((mask & CEN_REVISION) != 0
- ? strlen (revision) + 1 : 0)) : 0)
- + 1 + strlen (filename) + 1);
-
- if (abs_filename == NULL)
- return NULL;
-
- retval = NULL;
- last = NULL;
-
- /* Construct file name. */
- memcpy (abs_filename, dirlist, dirlist_len);
- __argz_stringify (abs_filename, dirlist_len, ':');
- cp = abs_filename + (dirlist_len - 1);
- *cp++ = '/';
- cp = stpcpy (cp, language);
-
- if ((mask & TERRITORY) != 0)
- {
- *cp++ = '_';
- cp = stpcpy (cp, territory);
- }
- if ((mask & XPG_CODESET) != 0)
- {
- *cp++ = '.';
- cp = stpcpy (cp, codeset);
- }
- if ((mask & XPG_NORM_CODESET) != 0)
- {
- *cp++ = '.';
- cp = stpcpy (cp, normalized_codeset);
- }
- if ((mask & (XPG_MODIFIER | CEN_AUDIENCE)) != 0)
- {
- /* This component can be part of both syntaces but has different
- leading characters. For CEN we use `+', else `@'. */
- *cp++ = (mask & CEN_AUDIENCE) != 0 ? '+' : '@';
- cp = stpcpy (cp, modifier);
- }
- if ((mask & CEN_SPECIAL) != 0)
- {
- *cp++ = '+';
- cp = stpcpy (cp, special);
- }
- if ((mask & (CEN_SPONSOR | CEN_REVISION)) != 0)
- {
- *cp++ = ',';
- if ((mask & CEN_SPONSOR) != 0)
- cp = stpcpy (cp, sponsor);
- if ((mask & CEN_REVISION) != 0)
- {
- *cp++ = '_';
- cp = stpcpy (cp, revision);
- }
- }
-
- *cp++ = '/';
- stpcpy (cp, filename);
-
- /* Look in list of already loaded domains whether it is already
- available. */
- last = NULL;
- for (retval = *l10nfile_list; retval != NULL; retval = retval->next)
- if (retval->filename != NULL)
- {
- int compare = strcmp (retval->filename, abs_filename);
- if (compare == 0)
- /* We found it! */
- break;
- if (compare < 0)
- {
- /* It's not in the list. */
- retval = NULL;
- break;
- }
-
- last = retval;
- }
-
- if (retval != NULL || do_allocate == 0)
- {
- free (abs_filename);
- return retval;
- }
-
- retval = (struct loaded_l10nfile *)
- malloc (sizeof (*retval) + (__argz_count (dirlist, dirlist_len)
- * (1 << pop (mask))
- * sizeof (struct loaded_l10nfile *)));
- if (retval == NULL)
- return NULL;
-
- retval->filename = abs_filename;
- retval->decided = (__argz_count (dirlist, dirlist_len) != 1
- || ((mask & XPG_CODESET) != 0
- && (mask & XPG_NORM_CODESET) != 0));
- retval->data = NULL;
-
- if (last == NULL)
- {
- retval->next = *l10nfile_list;
- *l10nfile_list = retval;
- }
- else
- {
- retval->next = last->next;
- last->next = retval;
- }
-
- entries = 0;
- /* If the DIRLIST is a real list the RETVAL entry corresponds not to
- a real file. So we have to use the DIRLIST separation mechanism
- of the inner loop. */
- cnt = __argz_count (dirlist, dirlist_len) == 1 ? mask - 1 : mask;
- for (; cnt >= 0; --cnt)
- if ((cnt & ~mask) == 0
- && ((cnt & CEN_SPECIFIC) == 0 || (cnt & XPG_SPECIFIC) == 0)
- && ((cnt & XPG_CODESET) == 0 || (cnt & XPG_NORM_CODESET) == 0))
- {
- /* Iterate over all elements of the DIRLIST. */
- char *dir = NULL;
-
- while ((dir = __argz_next ((char *) dirlist, dirlist_len, dir))
- != NULL)
- retval->successor[entries++]
- = _nl_make_l10nflist (l10nfile_list, dir, strlen (dir) + 1, cnt,
- language, territory, codeset,
- normalized_codeset, modifier, special,
- sponsor, revision, filename, 1);
- }
- retval->successor[entries] = NULL;
-
- return retval;
-}
-
-/* Normalize codeset name. There is no standard for the codeset
- names. Normalization allows the user to use any of the common
- names. */
-const char *
-_nl_normalize_codeset (codeset, name_len)
- const unsigned char *codeset;
- size_t name_len;
-{
- int len = 0;
- int only_digit = 1;
- char *retval;
- char *wp;
- size_t cnt;
-
- for (cnt = 0; cnt < name_len; ++cnt)
- if (isalnum (codeset[cnt]))
- {
- ++len;
-
- if (isalpha (codeset[cnt]))
- only_digit = 0;
- }
-
- retval = (char *) malloc ((only_digit ? 3 : 0) + len + 1);
-
- if (retval != NULL)
- {
- if (only_digit)
- wp = stpcpy (retval, "iso");
- else
- wp = retval;
-
- for (cnt = 0; cnt < name_len; ++cnt)
- if (isalpha (codeset[cnt]))
- *wp++ = tolower (codeset[cnt]);
- else if (isdigit (codeset[cnt]))
- *wp++ = codeset[cnt];
-
- *wp = '\0';
- }
-
- return (const char *) retval;
-}
-
-
-/* @@ begin of epilog @@ */
-
-/* We don't want libintl.a to depend on any other library. So we
- avoid the non-standard function stpcpy. In GNU C Library this
- function is available, though. Also allow the symbol HAVE_STPCPY
- to be defined. */
-#if !_LIBC && !HAVE_STPCPY
-static char *
-stpcpy (dest, src)
- char *dest;
- const char *src;
-{
- while ((*dest++ = *src++) != '\0')
- /* Do nothing. */ ;
- return dest - 1;
-}
-#endif
diff --git a/intl/libgettext.h b/intl/libgettext.h
deleted file mode 100644
index f8c224e47f7..00000000000
--- a/intl/libgettext.h
+++ /dev/null
@@ -1,182 +0,0 @@
-/* Message catalogs for internationalization.
- Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
-
-/* Because on some systems (e.g. Solaris) we sometimes have to include
- the systems libintl.h as well as this file we have more complex
- include protection above. But the systems header might perhaps also
- define _LIBINTL_H and therefore we have to protect the definition here. */
-
-#if !defined _LIBINTL_H || !defined _LIBGETTEXT_H
-#ifndef _LIBINTL_H
-# define _LIBINTL_H 1
-#endif
-#define _LIBGETTEXT_H 1
-
-/* We define an additional symbol to signal that we use the GNU
- implementation of gettext. */
-#define __USE_GNU_GETTEXT 1
-
-#include <sys/types.h>
-
-#if HAVE_LOCALE_H
-# include <locale.h>
-#endif
-
-
-#ifdef __cplusplus
-extern "C" {
-#endif
-
-/* @@ end of prolog @@ */
-
-#ifndef PARAMS
-# if __STDC__ || defined __cplusplus
-# define PARAMS(args) args
-# else
-# define PARAMS(args) ()
-# endif
-#endif
-
-#ifndef NULL
-# if !defined __cplusplus || defined __GNUC__
-# define NULL ((void *) 0)
-# else
-# define NULL (0)
-# endif
-#endif
-
-#if !HAVE_LC_MESSAGES
-/* This value determines the behaviour of the gettext() and dgettext()
- function. But some system does not have this defined. Define it
- to a default value. */
-# define LC_MESSAGES (-1)
-#endif
-
-
-/* Declarations for gettext-using-catgets interface. Derived from
- Jim Meyering's libintl.h. */
-struct _msg_ent
-{
- const char *_msg;
- int _msg_number;
-};
-
-
-#if HAVE_CATGETS
-/* These two variables are defined in the automatically by po-to-tbl.sed
- generated file `cat-id-tbl.c'. */
-extern const struct _msg_ent _msg_tbl[];
-extern int _msg_tbl_length;
-#endif
-
-
-/* For automatical extraction of messages sometimes no real
- translation is needed. Instead the string itself is the result. */
-#define gettext_noop(Str) (Str)
-
-/* Look up MSGID in the current default message catalog for the current
- LC_MESSAGES locale. If not found, returns MSGID itself (the default
- text). */
-extern char *gettext PARAMS ((const char *__msgid));
-extern char *gettext__ PARAMS ((const char *__msgid));
-
-/* Look up MSGID in the DOMAINNAME message catalog for the current
- LC_MESSAGES locale. */
-extern char *dgettext PARAMS ((const char *__domainname, const char *__msgid));
-extern char *dgettext__ PARAMS ((const char *__domainname,
- const char *__msgid));
-
-/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
- locale. */
-extern char *dcgettext PARAMS ((const char *__domainname, const char *__msgid,
- int __category));
-extern char *dcgettext__ PARAMS ((const char *__domainname,
- const char *__msgid, int __category));
-
-
-/* Set the current default message catalog to DOMAINNAME.
- If DOMAINNAME is null, return the current default.
- If DOMAINNAME is "", reset to the default of "messages". */
-extern char *textdomain PARAMS ((const char *__domainname));
-extern char *textdomain__ PARAMS ((const char *__domainname));
-
-/* Specify that the DOMAINNAME message catalog will be found
- in DIRNAME rather than in the system locale data base. */
-extern char *bindtextdomain PARAMS ((const char *__domainname,
- const char *__dirname));
-extern char *bindtextdomain__ PARAMS ((const char *__domainname,
- const char *__dirname));
-
-#if ENABLE_NLS
-
-/* Solaris 2.3 has the gettext function but dcgettext is missing.
- So we omit this optimization for Solaris 2.3. BTW, Solaris 2.4
- has dcgettext. */
-# if !HAVE_CATGETS && (!HAVE_GETTEXT || HAVE_DCGETTEXT)
-
-# define gettext(Msgid) \
- dgettext (NULL, Msgid)
-
-# define dgettext(Domainname, Msgid) \
- dcgettext (Domainname, Msgid, LC_MESSAGES)
-
-# if defined __GNUC__ && __GNUC__ == 2 && __GNUC_MINOR__ >= 7
-/* This global variable is defined in loadmsgcat.c. We need a sign,
- whether a new catalog was loaded, which can be associated with all
- translations. */
-extern int _nl_msg_cat_cntr;
-
-# define dcgettext(Domainname, Msgid, Category) \
- (__extension__ \
- ({ \
- char *__result; \
- if (__builtin_constant_p (Msgid)) \
- { \
- static char *__translation__; \
- static int __catalog_counter__; \
- if (! __translation__ || __catalog_counter__ != _nl_msg_cat_cntr) \
- { \
- __translation__ = \
- dcgettext__ (Domainname, Msgid, Category); \
- __catalog_counter__ = _nl_msg_cat_cntr; \
- } \
- __result = __translation__; \
- } \
- else \
- __result = dcgettext__ (Domainname, Msgid, Category); \
- __result; \
- }))
-# endif
-# endif
-
-#else
-
-# define gettext(Msgid) (Msgid)
-# define dgettext(Domainname, Msgid) (Msgid)
-# define dcgettext(Domainname, Msgid, Category) (Msgid)
-# define textdomain(Domainname) ((char *) Domainname)
-# define bindtextdomain(Domainname, Dirname) ((char *) Dirname)
-
-#endif
-
-/* @@ begin of epilog @@ */
-
-#ifdef __cplusplus
-}
-#endif
-
-#endif
diff --git a/intl/libintl.glibc b/intl/libintl.glibc
deleted file mode 100644
index c55b447678b..00000000000
--- a/intl/libintl.glibc
+++ /dev/null
@@ -1,120 +0,0 @@
-/* Message catalogs for internationalization.
- Copyright (C) 1995, 1996, 1997 Free Software Foundation, Inc.
- Contributed by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
- This file is derived from the file libgettext.h in the GNU gettext package.
-
- This file is part of the GNU C Library. Its master source is NOT part of
- the C library, however.
-
- The GNU C Library is free software; you can redistribute it and/or
- modify it under the terms of the GNU Library General Public License as
- published by the Free Software Foundation; either version 2 of the
- License, or (at your option) any later version.
-
- The GNU C Library is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU
- Library General Public License for more details.
-
- You should have received a copy of the GNU Library General Public
- License along with the GNU C Library; see the file COPYING.LIB. If not,
- write to the Free Software Foundation, Inc., 51 Franklin Street - Fifth Floor,
- Boston, MA 02110-1301, USA. */
-
-#ifndef _LIBINTL_H
-#define _LIBINTL_H 1
-
-#include <features.h>
-
-/* We define an additional symbol to signal that we use the GNU
- implementation of gettext. */
-#define __USE_GNU_GETTEXT 1
-
-__BEGIN_DECLS
-
-/* Look up MSGID in the current default message catalog for the current
- LC_MESSAGES locale. If not found, returns MSGID itself (the default
- text). */
-extern char *gettext __P ((__const char *__msgid));
-extern char *__gettext __P ((__const char *__msgid));
-
-/* Look up MSGID in the DOMAINNAME message catalog for the current
- LC_MESSAGES locale. */
-extern char *dgettext __P ((__const char *__domainname,
- __const char *__msgid));
-extern char *__dgettext __P ((__const char *__domainname,
- __const char *__msgid));
-
-/* Look up MSGID in the DOMAINNAME message catalog for the current CATEGORY
- locale. */
-extern char *dcgettext __P ((__const char *__domainname,
- __const char *__msgid, int __category));
-extern char *__dcgettext __P ((__const char *__domainname,
- __const char *__msgid, int __category));
-
-
-/* Set the current default message catalog to DOMAINNAME.
- If DOMAINNAME is null, return the current default.
- If DOMAINNAME is "", reset to the default of "messages". */
-extern char *textdomain __P ((__const char *__domainname));
-extern char *__textdomain __P ((__const char *__domainname));
-
-/* Specify that the DOMAINNAME message catalog will be found
- in DIRNAME rather than in the system locale data base. */
-extern char *bindtextdomain __P ((__const char *__domainname,
- __const char *__dirname));
-extern char *__bindtextdomain __P ((__const char *__domainname,
- __const char *__dirname));
-
-
-/* Optimized version of the function above. */
-#if defined __OPTIMIZE__
-
-/* We need NULL for `gettext'. */
-# define __need_NULL
-# include <stddef.h>
-
-/* We need LC_MESSAGES for `dgettext'. */
-# include <locale.h>
-
-/* These must be macros. Inlined functions are useless because the
- `__builtin_constant_p' predicate in dcgettext would always return
- false. */
-
-# define gettext(msgid) dgettext (NULL, msgid)
-
-# define dgettext(domainname, msgid) \
- dcgettext (domainname, msgid, LC_MESSAGES)
-
-# if __GNUC__ > 2 || (__GNUC__ == 2 && __GNUC_MINOR__ >= 7)
-/* Variable defined in loadmsgcat.c which gets incremented every time a
- new catalog is loaded. */
-extern int _nl_msg_cat_cntr;
-
-# define dcgettext(domainname, msgid, category) \
- (__extension__ \
- ({ \
- char *__result; \
- if (__builtin_constant_p (msgid)) \
- { \
- static char *__translation__; \
- static int __catalog_counter__; \
- if (! __translation__ || __catalog_counter__ != _nl_msg_cat_cntr) \
- { \
- __translation__ = \
- __dcgettext ((domainname), (msgid), (category)); \
- __catalog_counter__ = _nl_msg_cat_cntr; \
- } \
- __result = __translation__; \
- } \
- else \
- __result = __dcgettext ((domainname), (msgid), (category)); \
- __result; \
- }))
-# endif
-#endif /* Optimizing. */
-
-
-__END_DECLS
-
-#endif /* libintl.h */
diff --git a/intl/linux-msg.sed b/intl/linux-msg.sed
deleted file mode 100644
index f9b8188d783..00000000000
--- a/intl/linux-msg.sed
+++ /dev/null
@@ -1,100 +0,0 @@
-# po2msg.sed - Convert Uniforum style .po file to Linux style .msg file
-# Copyright 1995, 2002 Free Software Foundation, Inc.
-# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
-#
-# 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 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
-#
-#
-# The first directive in the .msg should be the definition of the
-# message set number. We use always set number 1.
-#
-1 {
- i\
-$set 1 # Automatically created by po2msg.sed
- h
- s/.*/0/
- x
-}
-#
-# Mitch's old catalog format does not allow comments.
-#
-# We copy the original message as a comment into the .msg file.
-#
-/^msgid/ {
- s/msgid[ ]*"//
-#
-# This does not work now with the new format.
-# /"$/! {
-# s/\\$//
-# s/$/ ... (more lines following)"/
-# }
- x
-# The following nice solution is by
-# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de>
- td
-# Increment a decimal number in pattern space.
-# First hide trailing `9' digits.
- :d
- s/9\(_*\)$/_\1/
- td
-# Assure at least one digit is available.
- s/^\(_*\)$/0\1/
-# Increment the last digit.
- s/8\(_*\)$/9\1/
- s/7\(_*\)$/8\1/
- s/6\(_*\)$/7\1/
- s/5\(_*\)$/6\1/
- s/4\(_*\)$/5\1/
- s/3\(_*\)$/4\1/
- s/2\(_*\)$/3\1/
- s/1\(_*\)$/2\1/
- s/0\(_*\)$/1\1/
-# Convert the hidden `9' digits to `0's.
- s/_/0/g
- x
- G
- s/\(.*\)"\n\([0-9]*\)/$ #\2 Original Message:(\1)/p
-}
-#
-# The .msg file contains, other than the .po file, only the translations
-# but each given a unique ID. Starting from 1 and incrementing by 1 for
-# each message we assign them to the messages.
-# It is important that the .po file used to generate the cat-id-tbl.c file
-# (with po-to-tbl) is the same as the one used here. (At least the order
-# of declarations must not be changed.)
-#
-/^msgstr/ {
- s/msgstr[ ]*"\(.*\)"/# \1/
-# Clear substitution flag.
- tb
-# Append the next line.
- :b
- N
-# Look whether second part is continuation line.
- s/\(.*\n\)"\(.*\)"/\1\2/
-# Yes, then branch.
- ta
- P
- D
-# Note that D includes a jump to the start!!
-# We found a continuation line. But before printing insert '\'.
- :a
- s/\(.*\)\(\n.*\)/\1\\\2/
- P
-# We cannot use D here.
- s/.*\n\(.*\)/\1/
- tb
-}
-d
diff --git a/intl/loadinfo.h b/intl/loadinfo.h
deleted file mode 100644
index b797c0c5bae..00000000000
--- a/intl/loadinfo.h
+++ /dev/null
@@ -1,76 +0,0 @@
-/* Copyright (C) 1996, 1997 Free Software Foundation, Inc.
- This file is part of the GNU C Library.
- Contributed by Ulrich Drepper <drepper@cygnus.com>, 1996.
-
- 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 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifndef PARAMS
-# if __STDC__
-# define PARAMS(args) args
-# else
-# define PARAMS(args) ()
-# endif
-#endif
-
-/* Encoding of locale name parts. */
-#define CEN_REVISION 1
-#define CEN_SPONSOR 2
-#define CEN_SPECIAL 4
-#define XPG_NORM_CODESET 8
-#define XPG_CODESET 16
-#define TERRITORY 32
-#define CEN_AUDIENCE 64
-#define XPG_MODIFIER 128
-
-#define CEN_SPECIFIC (CEN_REVISION|CEN_SPONSOR|CEN_SPECIAL|CEN_AUDIENCE)
-#define XPG_SPECIFIC (XPG_CODESET|XPG_NORM_CODESET|XPG_MODIFIER)
-
-
-struct loaded_l10nfile
-{
- const char *filename;
- int decided;
-
- const void *data;
-
- struct loaded_l10nfile *next;
- struct loaded_l10nfile *successor[1];
-};
-
-
-extern const char *_nl_normalize_codeset PARAMS ((const unsigned char *codeset,
- size_t name_len));
-
-extern struct loaded_l10nfile *
-_nl_make_l10nflist PARAMS ((struct loaded_l10nfile **l10nfile_list,
- const char *dirlist, size_t dirlist_len, int mask,
- const char *language, const char *territory,
- const char *codeset,
- const char *normalized_codeset,
- const char *modifier, const char *special,
- const char *sponsor, const char *revision,
- const char *filename, int do_allocate));
-
-
-extern const char *_nl_expand_alias PARAMS ((const char *name));
-
-extern int _nl_explode_name PARAMS ((char *name, const char **language,
- const char **modifier,
- const char **territory,
- const char **codeset,
- const char **normalized_codeset,
- const char **special,
- const char **sponsor,
- const char **revision));
diff --git a/intl/loadmsgcat.c b/intl/loadmsgcat.c
deleted file mode 100644
index ab11bc95d5c..00000000000
--- a/intl/loadmsgcat.c
+++ /dev/null
@@ -1,222 +0,0 @@
-/* Load needed message catalogs.
- Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
-
- This program is free software; you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation; either version 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <fcntl.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-
-#if defined STDC_HEADERS || defined _LIBC
-# include <stdlib.h>
-#endif
-
-#if defined HAVE_UNISTD_H || defined _LIBC
-# include <unistd.h>
-#endif
-
-#if (defined HAVE_MMAP && defined HAVE_MUNMAP) || defined _LIBC
-# include <sys/mman.h>
-#endif
-
-#include "gettext.h"
-#include "gettextP.h"
-
-/* @@ end of prolog @@ */
-
-#ifdef _LIBC
-/* Rename the non ISO C functions. This is required by the standard
- because some ISO C functions will require linking with this object
- file and the name space must not be polluted. */
-# define open __open
-# define close __close
-# define read __read
-# define mmap __mmap
-# define munmap __munmap
-#endif
-
-/* We need a sign, whether a new catalog was loaded, which can be associated
- with all translations. This is important if the translations are
- cached by one of GCC's features. */
-int _nl_msg_cat_cntr = 0;
-
-
-/* Load the message catalogs specified by FILENAME. If it is no valid
- message catalog do nothing. */
-void
-internal_function
-_nl_load_domain (domain_file)
- struct loaded_l10nfile *domain_file;
-{
- int fd;
- size_t size;
- struct stat st;
- struct mo_file_header *data = (struct mo_file_header *) -1;
-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
- || defined _LIBC
- int use_mmap = 0;
-#endif
- struct loaded_domain *domain;
-
- domain_file->decided = 1;
- domain_file->data = NULL;
-
- /* If the record does not represent a valid locale the FILENAME
- might be NULL. This can happen when according to the given
- specification the locale file name is different for XPG and CEN
- syntax. */
- if (domain_file->filename == NULL)
- return;
-
- /* Try to open the addressed file. */
- fd = open (domain_file->filename, O_RDONLY);
- if (fd == -1)
- return;
-
- /* We must know about the size of the file. */
- if (fstat (fd, &st) != 0
- || (size = (size_t) st.st_size) != st.st_size
- || size < sizeof (struct mo_file_header))
- {
- /* Something went wrong. */
- close (fd);
- return;
- }
-
-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
- || defined _LIBC
- /* Now we are ready to load the file. If mmap() is available we try
- this first. If not available or it failed we try to load it. */
- data = (struct mo_file_header *) mmap (NULL, size, PROT_READ,
- MAP_PRIVATE, fd, 0);
-
- if (data != (struct mo_file_header *) -1)
- {
- /* mmap() call was successful. */
- close (fd);
- use_mmap = 1;
- }
-#endif
-
- /* If the data is not yet available (i.e. mmap'ed) we try to load
- it manually. */
- if (data == (struct mo_file_header *) -1)
- {
- size_t to_read;
- char *read_ptr;
-
- data = (struct mo_file_header *) malloc (size);
- if (data == NULL)
- return;
-
- to_read = size;
- read_ptr = (char *) data;
- do
- {
- long int nb = (long int) read (fd, read_ptr, to_read);
- if (nb == -1)
- {
- close (fd);
- return;
- }
-
- read_ptr += nb;
- to_read -= nb;
- }
- while (to_read > 0);
-
- close (fd);
- }
-
- /* Using the magic number we can test whether it really is a message
- catalog file. */
- if (data->magic != _MAGIC && data->magic != _MAGIC_SWAPPED)
- {
- /* The magic number is wrong: not a message catalog file. */
-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
- || defined _LIBC
- if (use_mmap)
- munmap ((caddr_t) data, size);
- else
-#endif
- free (data);
- return;
- }
-
- domain_file->data
- = (struct loaded_domain *) malloc (sizeof (struct loaded_domain));
- if (domain_file->data == NULL)
- return;
-
- domain = (struct loaded_domain *) domain_file->data;
- domain->data = (char *) data;
-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
- || defined _LIBC
- domain->use_mmap = use_mmap;
-#endif
- domain->mmap_size = size;
- domain->must_swap = data->magic != _MAGIC;
-
- /* Fill in the information about the available tables. */
- switch (W (domain->must_swap, data->revision))
- {
- case 0:
- domain->nstrings = W (domain->must_swap, data->nstrings);
- domain->orig_tab = (struct string_desc *)
- ((char *) data + W (domain->must_swap, data->orig_tab_offset));
- domain->trans_tab = (struct string_desc *)
- ((char *) data + W (domain->must_swap, data->trans_tab_offset));
- domain->hash_size = W (domain->must_swap, data->hash_tab_size);
- domain->hash_tab = (nls_uint32 *)
- ((char *) data + W (domain->must_swap, data->hash_tab_offset));
- break;
- default:
- /* This is an illegal revision. */
-#if (defined HAVE_MMAP && defined HAVE_MUNMAP && !defined DISALLOW_MMAP) \
- || defined _LIBC
- if (use_mmap)
- munmap ((caddr_t) data, size);
- else
-#endif
- free (data);
- free (domain);
- domain_file->data = NULL;
- return;
- }
-
- /* Show that one domain is changed. This might make some cached
- translations invalid. */
- ++_nl_msg_cat_cntr;
-}
-
-
-#ifdef _LIBC
-void
-internal_function
-_nl_unload_domain (domain)
- struct loaded_domain *domain;
-{
- if (domain->use_mmap)
- munmap ((caddr_t) domain->data, domain->mmap_size);
- else
- free ((void *) domain->data);
-
- free (domain);
-}
-#endif
diff --git a/intl/localealias.c b/intl/localealias.c
deleted file mode 100644
index 833df0351aa..00000000000
--- a/intl/localealias.c
+++ /dev/null
@@ -1,424 +0,0 @@
-/* Handle aliases for locale names.
- Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
- Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
-
- 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 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#include <ctype.h>
-#include <stdio.h>
-#include <sys/types.h>
-
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-# define HAVE_ALLOCA 1
-#else
-# if defined HAVE_ALLOCA_H || defined _LIBC
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca
-char *alloca ();
-# endif
-# endif
-# endif
-#endif
-
-#if defined STDC_HEADERS || defined _LIBC
-# include <stdlib.h>
-#else
-char *getenv ();
-# ifdef HAVE_MALLOC_H
-# include <malloc.h>
-# else
-void free ();
-# endif
-#endif
-
-#if defined HAVE_STRING_H || defined _LIBC
-# ifndef _GNU_SOURCE
-# define _GNU_SOURCE 1
-# endif
-# include <string.h>
-#else
-# include <strings.h>
-# ifndef memcpy
-# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
-# endif
-#endif
-#if !HAVE_STRCHR && !defined _LIBC
-# ifndef strchr
-# define strchr index
-# endif
-#endif
-
-#include "gettext.h"
-#include "gettextP.h"
-
-/* @@ end of prolog @@ */
-
-#ifdef _LIBC
-/* Rename the non ANSI C functions. This is required by the standard
- because some ANSI C functions will require linking with this object
- file and the name space must not be polluted. */
-# define strcasecmp __strcasecmp
-
-# define mempcpy __mempcpy
-# define HAVE_MEMPCPY 1
-
-/* We need locking here since we can be called from different places. */
-# include <bits/libc-lock.h>
-
-__libc_lock_define_initialized (static, lock);
-#endif
-
-
-/* For those loosing systems which don't have `alloca' we have to add
- some additional code emulating it. */
-#ifdef HAVE_ALLOCA
-/* Nothing has to be done. */
-# define ADD_BLOCK(list, address) /* nothing */
-# define FREE_BLOCKS(list) /* nothing */
-#else
-struct block_list
-{
- void *address;
- struct block_list *next;
-};
-# define ADD_BLOCK(list, addr) \
- do { \
- struct block_list *newp = (struct block_list *) malloc (sizeof (*newp)); \
- /* If we cannot get a free block we cannot add the new element to \
- the list. */ \
- if (newp != NULL) { \
- newp->address = (addr); \
- newp->next = (list); \
- (list) = newp; \
- } \
- } while (0)
-# define FREE_BLOCKS(list) \
- do { \
- while (list != NULL) { \
- struct block_list *old = list; \
- list = list->next; \
- free (old); \
- } \
- } while (0)
-# undef alloca
-# define alloca(size) (malloc (size))
-#endif /* have alloca */
-
-
-struct alias_map
-{
- const char *alias;
- const char *value;
-};
-
-
-static char *string_space = NULL;
-static size_t string_space_act = 0;
-static size_t string_space_max = 0;
-static struct alias_map *map;
-static size_t nmap = 0;
-static size_t maxmap = 0;
-
-
-/* Prototypes for local functions. */
-static size_t read_alias_file PARAMS ((const char *fname, int fname_len))
- internal_function;
-static void extend_alias_table PARAMS ((void));
-static int alias_compare PARAMS ((const struct alias_map *map1,
- const struct alias_map *map2));
-
-
-const char *
-_nl_expand_alias (name)
- const char *name;
-{
- static const char *locale_alias_path = LOCALE_ALIAS_PATH;
- struct alias_map *retval;
- const char *result = NULL;
- size_t added;
-
-#ifdef _LIBC
- __libc_lock_lock (lock);
-#endif
-
- do
- {
- struct alias_map item;
-
- item.alias = name;
-
- if (nmap > 0)
- retval = (struct alias_map *) bsearch (&item, map, nmap,
- sizeof (struct alias_map),
- (int (*) PARAMS ((const void *,
- const void *))
- ) alias_compare);
- else
- retval = NULL;
-
- /* We really found an alias. Return the value. */
- if (retval != NULL)
- {
- result = retval->value;
- break;
- }
-
- /* Perhaps we can find another alias file. */
- added = 0;
- while (added == 0 && locale_alias_path[0] != '\0')
- {
- const char *start;
-
- while (locale_alias_path[0] == ':')
- ++locale_alias_path;
- start = locale_alias_path;
-
- while (locale_alias_path[0] != '\0' && locale_alias_path[0] != ':')
- ++locale_alias_path;
-
- if (start < locale_alias_path)
- added = read_alias_file (start, locale_alias_path - start);
- }
- }
- while (added != 0);
-
-#ifdef _LIBC
- __libc_lock_unlock (lock);
-#endif
-
- return result;
-}
-
-
-static size_t
-internal_function
-read_alias_file (fname, fname_len)
- const char *fname;
- int fname_len;
-{
-#ifndef HAVE_ALLOCA
- struct block_list *block_list = NULL;
-#endif
- FILE *fp;
- char *full_fname;
- size_t added;
- static const char aliasfile[] = "/locale.alias";
-
- full_fname = (char *) alloca (fname_len + sizeof aliasfile);
- ADD_BLOCK (block_list, full_fname);
-#ifdef HAVE_MEMPCPY
- mempcpy (mempcpy (full_fname, fname, fname_len),
- aliasfile, sizeof aliasfile);
-#else
- memcpy (full_fname, fname, fname_len);
- memcpy (&full_fname[fname_len], aliasfile, sizeof aliasfile);
-#endif
-
- fp = fopen (full_fname, "r");
- if (fp == NULL)
- {
- FREE_BLOCKS (block_list);
- return 0;
- }
-
- added = 0;
- while (!feof (fp))
- {
- /* It is a reasonable approach to use a fix buffer here because
- a) we are only interested in the first two fields
- b) these fields must be usable as file names and so must not
- be that long
- */
- unsigned char buf[BUFSIZ];
- unsigned char *alias;
- unsigned char *value;
- unsigned char *cp;
-
- if (fgets (buf, sizeof buf, fp) == NULL)
- /* EOF reached. */
- break;
-
- /* Possibly not the whole line fits into the buffer. Ignore
- the rest of the line. */
- if (strchr (buf, '\n') == NULL)
- {
- char altbuf[BUFSIZ];
- do
- if (fgets (altbuf, sizeof altbuf, fp) == NULL)
- /* Make sure the inner loop will be left. The outer loop
- will exit at the `feof' test. */
- break;
- while (strchr (altbuf, '\n') == NULL);
- }
-
- cp = buf;
- /* Ignore leading white space. */
- while (isspace (cp[0]))
- ++cp;
-
- /* A leading '#' signals a comment line. */
- if (cp[0] != '\0' && cp[0] != '#')
- {
- alias = cp++;
- while (cp[0] != '\0' && !isspace (cp[0]))
- ++cp;
- /* Terminate alias name. */
- if (cp[0] != '\0')
- *cp++ = '\0';
-
- /* Now look for the beginning of the value. */
- while (isspace (cp[0]))
- ++cp;
-
- if (cp[0] != '\0')
- {
- size_t alias_len;
- size_t value_len;
-
- value = cp++;
- while (cp[0] != '\0' && !isspace (cp[0]))
- ++cp;
- /* Terminate value. */
- if (cp[0] == '\n')
- {
- /* This has to be done to make the following test
- for the end of line possible. We are looking for
- the terminating '\n' which do not overwrite here. */
- *cp++ = '\0';
- *cp = '\n';
- }
- else if (cp[0] != '\0')
- *cp++ = '\0';
-
- if (nmap >= maxmap)
- extend_alias_table ();
-
- alias_len = strlen (alias) + 1;
- value_len = strlen (value) + 1;
-
- if (string_space_act + alias_len + value_len > string_space_max)
- {
- /* Increase size of memory pool. */
- size_t new_size = (string_space_max
- + (alias_len + value_len > 1024
- ? alias_len + value_len : 1024));
- char *new_pool = (char *) realloc (string_space, new_size);
- if (new_pool == NULL)
- {
- FREE_BLOCKS (block_list);
- return added;
- }
- string_space = new_pool;
- string_space_max = new_size;
- }
-
- map[nmap].alias = memcpy (&string_space[string_space_act],
- alias, alias_len);
- string_space_act += alias_len;
-
- map[nmap].value = memcpy (&string_space[string_space_act],
- value, value_len);
- string_space_act += value_len;
-
- ++nmap;
- ++added;
- }
- }
- }
-
- /* Should we test for ferror()? I think we have to silently ignore
- errors. --drepper */
- fclose (fp);
-
- if (added > 0)
- qsort (map, nmap, sizeof (struct alias_map),
- (int (*) PARAMS ((const void *, const void *))) alias_compare);
-
- FREE_BLOCKS (block_list);
- return added;
-}
-
-
-static void
-extend_alias_table ()
-{
- size_t new_size;
- struct alias_map *new_map;
-
- new_size = maxmap == 0 ? 100 : 2 * maxmap;
- new_map = (struct alias_map *) realloc (map, (new_size
- * sizeof (struct alias_map)));
- if (new_map == NULL)
- /* Simply don't extend: we don't have any more core. */
- return;
-
- map = new_map;
- maxmap = new_size;
-}
-
-
-#ifdef _LIBC
-static void __attribute__ ((unused))
-free_mem (void)
-{
- if (string_space != NULL)
- free (string_space);
- if (map != NULL)
- free (map);
-}
-text_set_element (__libc_subfreeres, free_mem);
-#endif
-
-
-static int
-alias_compare (map1, map2)
- const struct alias_map *map1;
- const struct alias_map *map2;
-{
-#if defined _LIBC || defined HAVE_STRCASECMP
- return strcasecmp (map1->alias, map2->alias);
-#else
- const unsigned char *p1 = (const unsigned char *) map1->alias;
- const unsigned char *p2 = (const unsigned char *) map2->alias;
- unsigned char c1, c2;
-
- if (p1 == p2)
- return 0;
-
- do
- {
- /* I know this seems to be odd but the tolower() function in
- some systems libc cannot handle nonalpha characters. */
- c1 = isupper (*p1) ? tolower (*p1) : *p1;
- c2 = isupper (*p2) ? tolower (*p2) : *p2;
- if (c1 == '\0')
- break;
- ++p1;
- ++p2;
- }
- while (c1 == c2);
-
- return c1 - c2;
-#endif
-}
diff --git a/intl/po2tbl.sed.in b/intl/po2tbl.sed.in
deleted file mode 100644
index ebb32f29353..00000000000
--- a/intl/po2tbl.sed.in
+++ /dev/null
@@ -1,102 +0,0 @@
-# po2tbl.sed - Convert Uniforum style .po file to lookup table for catgets
-# Copyright (C) 1995 Free Software Foundation, Inc.
-# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
-#
-# 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 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
-#
-1 {
- i\
-/* Automatically generated by po2tbl.sed from @PACKAGE NAME@.pot. */\
-\
-#if HAVE_CONFIG_H\
-# include <config.h>\
-#endif\
-\
-#include "libgettext.h"\
-\
-const struct _msg_ent _msg_tbl[] = {
- h
- s/.*/0/
- x
-}
-#
-# Write msgid entries in C array form.
-#
-/^msgid/ {
- s/msgid[ ]*\(".*"\)/ {\1/
- tb
-# Append the next line
- :b
- N
-# Look whether second part is continuation line.
- s/\(.*\)"\(\n\)"\(.*"\)/\1\2\3/
-# Yes, then branch.
- ta
-# Because we assume that the input file correctly formed the line
-# just read cannot be again be a msgid line. So it's safe to ignore
-# it.
- s/\(.*\)\n.*/\1/
- bc
-# We found a continuation line. But before printing insert '\'.
- :a
- s/\(.*\)\(\n.*\)/\1\\\2/
- P
-# We cannot use D here.
- s/.*\n\(.*\)/\1/
-# Some buggy seds do not clear the `successful substitution since last ``t'''
-# flag on `N', so we do a `t' here to clear it.
- tb
-# Not reached
- :c
- x
-# The following nice solution is by
-# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de>
- td
-# Increment a decimal number in pattern space.
-# First hide trailing `9' digits.
- :d
- s/9\(_*\)$/_\1/
- td
-# Assure at least one digit is available.
- s/^\(_*\)$/0\1/
-# Increment the last digit.
- s/8\(_*\)$/9\1/
- s/7\(_*\)$/8\1/
- s/6\(_*\)$/7\1/
- s/5\(_*\)$/6\1/
- s/4\(_*\)$/5\1/
- s/3\(_*\)$/4\1/
- s/2\(_*\)$/3\1/
- s/1\(_*\)$/2\1/
- s/0\(_*\)$/1\1/
-# Convert the hidden `9' digits to `0's.
- s/_/0/g
- x
- G
- s/\(.*\)\n\([0-9]*\)/\1, \2},/
- s/\(.*\)"$/\1/
- p
-}
-#
-# Last line.
-#
-$ {
- i\
-};\
-
- g
- s/0*\(.*\)/int _msg_tbl_length = \1;/p
-}
-d
diff --git a/intl/textdomain.c b/intl/textdomain.c
deleted file mode 100644
index 9cec75cb5e3..00000000000
--- a/intl/textdomain.c
+++ /dev/null
@@ -1,108 +0,0 @@
-/* Implementation of the textdomain(3) function.
- Copyright (C) 1995, 1996, 1997, 1998 Free Software Foundation, Inc.
- Written by Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
-
- 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 2, or (at your option)
- any later version.
-
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
-
- You should have received a copy of the GNU General Public License
- along with this program; if not, write to the Free Software Foundation,
- Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */
-
-#ifdef HAVE_CONFIG_H
-# include <config.h>
-#endif
-
-#if defined STDC_HEADERS || defined _LIBC
-# include <stdlib.h>
-#endif
-
-#if defined STDC_HEADERS || defined HAVE_STRING_H || defined _LIBC
-# include <string.h>
-#else
-# include <strings.h>
-# ifndef memcpy
-# define memcpy(Dst, Src, Num) bcopy (Src, Dst, Num)
-# endif
-#endif
-
-#ifdef _LIBC
-# include <libintl.h>
-#else
-# include "libgettext.h"
-#endif
-
-/* @@ end of prolog @@ */
-
-/* Name of the default text domain. */
-extern const char _nl_default_default_domain[];
-
-/* Default text domain in which entries for gettext(3) are to be found. */
-extern const char *_nl_current_default_domain;
-
-
-/* Names for the libintl functions are a problem. They must not clash
- with existing names and they should follow ANSI C. But this source
- code is also used in GNU C Library where the names have a __
- prefix. So we have to make a difference here. */
-#ifdef _LIBC
-# define TEXTDOMAIN __textdomain
-# ifndef strdup
-# define strdup(str) __strdup (str)
-# endif
-#else
-# define TEXTDOMAIN textdomain__
-#endif
-
-/* Set the current default message catalog to DOMAINNAME.
- If DOMAINNAME is null, return the current default.
- If DOMAINNAME is "", reset to the default of "messages". */
-char *
-TEXTDOMAIN (domainname)
- const char *domainname;
-{
- char *old;
-
- /* A NULL pointer requests the current setting. */
- if (domainname == NULL)
- return (char *) _nl_current_default_domain;
-
- old = (char *) _nl_current_default_domain;
-
- /* If domain name is the null string set to default domain "messages". */
- if (domainname[0] == '\0'
- || strcmp (domainname, _nl_default_default_domain) == 0)
- _nl_current_default_domain = _nl_default_default_domain;
- else
- {
- /* If the following malloc fails `_nl_current_default_domain'
- will be NULL. This value will be returned and so signals we
- are out of core. */
-#if defined _LIBC || defined HAVE_STRDUP
- _nl_current_default_domain = strdup (domainname);
-#else
- size_t len = strlen (domainname) + 1;
- char *cp = (char *) malloc (len);
- if (cp != NULL)
- memcpy (cp, domainname, len);
- _nl_current_default_domain = cp;
-#endif
- }
-
- if (old != _nl_default_default_domain)
- free (old);
-
- return (char *) _nl_current_default_domain;
-}
-
-#ifdef _LIBC
-/* Alias for function name in GNU C Library. */
-weak_alias (__textdomain, textdomain);
-#endif
diff --git a/intl/xopen-msg.sed b/intl/xopen-msg.sed
deleted file mode 100644
index 1d257d3e0b9..00000000000
--- a/intl/xopen-msg.sed
+++ /dev/null
@@ -1,104 +0,0 @@
-# po2msg.sed - Convert Uniforum style .po file to X/Open style .msg file
-# Copyright 1995, 2002 Free Software Foundation, Inc.
-# Ulrich Drepper <drepper@gnu.ai.mit.edu>, 1995.
-#
-# 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 2, or (at your option)
-# any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License
-# along with this program; if not, write to the Free Software
-# Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA.
-#
-#
-# The first directive in the .msg should be the definition of the
-# message set number. We use always set number 1.
-#
-1 {
- i\
-$set 1 # Automatically created by po2msg.sed
- h
- s/.*/0/
- x
-}
-#
-# We copy all comments into the .msg file. Perhaps they can help.
-#
-/^#/ s/^#[ ]*/$ /p
-#
-# We copy the original message as a comment into the .msg file.
-#
-/^msgid/ {
-# Does not work now
-# /"$/! {
-# s/\\$//
-# s/$/ ... (more lines following)"/
-# }
- s/^msgid[ ]*"\(.*\)"$/$ Original Message: \1/
- p
-}
-#
-# The .msg file contains, other than the .po file, only the translations
-# but each given a unique ID. Starting from 1 and incrementing by 1 for
-# each message we assign them to the messages.
-# It is important that the .po file used to generate the cat-id-tbl.c file
-# (with po-to-tbl) is the same as the one used here. (At least the order
-# of declarations must not be changed.)
-#
-/^msgstr/ {
- s/msgstr[ ]*"\(.*\)"/\1/
- x
-# The following nice solution is by
-# Bruno <Haible@ma2s2.mathematik.uni-karlsruhe.de>
- td
-# Increment a decimal number in pattern space.
-# First hide trailing `9' digits.
- :d
- s/9\(_*\)$/_\1/
- td
-# Assure at least one digit is available.
- s/^\(_*\)$/0\1/
-# Increment the last digit.
- s/8\(_*\)$/9\1/
- s/7\(_*\)$/8\1/
- s/6\(_*\)$/7\1/
- s/5\(_*\)$/6\1/
- s/4\(_*\)$/5\1/
- s/3\(_*\)$/4\1/
- s/2\(_*\)$/3\1/
- s/1\(_*\)$/2\1/
- s/0\(_*\)$/1\1/
-# Convert the hidden `9' digits to `0's.
- s/_/0/g
- x
-# Bring the line in the format `<number> <message>'
- G
- s/^[^\n]*$/& /
- s/\(.*\)\n\([0-9]*\)/\2 \1/
-# Clear flag from last substitution.
- tb
-# Append the next line.
- :b
- N
-# Look whether second part is a continuation line.
- s/\(.*\n\)"\(.*\)"/\1\2/
-# Yes, then branch.
- ta
- P
- D
-# Note that `D' includes a jump to the start!!
-# We found a continuation line. But before printing insert '\'.
- :a
- s/\(.*\)\(\n.*\)/\1\\\2/
- P
-# We cannot use the sed command `D' here
- s/.*\n\(.*\)/\1/
- tb
-}
-d
diff --git a/sim/arm/wrapper.c b/sim/arm/wrapper.c
index 9736add9b11..4133110a54a 100644
--- a/sim/arm/wrapper.c
+++ b/sim/arm/wrapper.c
@@ -37,14 +37,7 @@
#include "sim-utils.h"
#include "run-sim.h"
#include "gdb/sim-arm.h"
-
-#ifndef SIGTRAP
-#define SIGTRAP 5
-#endif
-
-#ifndef SIGBUS
-#define SIGBUS SIGSEGV
-#endif
+#include "gdb/signals.h"
host_callback *sim_callback;
@@ -910,7 +903,7 @@ sim_stop_reason (sd, reason, sigrc)
if (stop_simulator)
{
*reason = sim_stopped;
- *sigrc = SIGINT;
+ *sigrc = TARGET_SIGNAL_INT;
}
else if (state->EndCondition == 0)
{
@@ -921,10 +914,10 @@ sim_stop_reason (sd, reason, sigrc)
{
*reason = sim_stopped;
if (state->EndCondition == RDIError_BreakpointReached)
- *sigrc = SIGTRAP;
+ *sigrc = TARGET_SIGNAL_TRAP;
else if ( state->EndCondition == RDIError_DataAbort
|| state->EndCondition == RDIError_AddressException)
- *sigrc = SIGBUS;
+ *sigrc = TARGET_SIGNAL_BUS;
else
*sigrc = 0;
}
diff --git a/sim/common/sim-reason.c b/sim/common/sim-reason.c
index b540df32f6e..383df02fb88 100644
--- a/sim/common/sim-reason.c
+++ b/sim/common/sim-reason.c
@@ -35,21 +35,9 @@ sim_stop_reason (SIM_DESC sd, enum sim_stop *reason, int *sigrc)
case sim_exited :
*sigrc = engine->sigrc;
break;
- case sim_signalled :
- /* ??? See the comment below case `sim_signalled' in
- gdb/remote-sim.c:gdbsim_wait.
- ??? Consider the case of the target requesting that it
- kill(2) itself with SIGNAL. That SIGNAL, being target
- specific, will not correspond to either of the SIM_SIGNAL
- enum nor the HOST_SIGNAL. A mapping from TARGET_SIGNAL to
- HOST_SIGNAL is needed. */
- *sigrc = sim_signal_to_host (sd, engine->sigrc);
- break;
case sim_stopped :
- /* The gdb/simulator interface calls for us to return the host
- version of the signal which gdb then converts into the
- target's version. This is obviously a bit clumsy. */
- *sigrc = sim_signal_to_host (sd, engine->sigrc);
+ case sim_signalled :
+ *sigrc = sim_signal_to_target (sd, engine->sigrc);
break;
default :
abort ();
diff --git a/sim/common/sim-signal.c b/sim/common/sim-signal.c
index 77709b17e7a..e8fd10cffee 100644
--- a/sim/common/sim-signal.c
+++ b/sim/common/sim-signal.c
@@ -77,7 +77,7 @@ sim_signal_to_host (SIM_DESC sd, SIM_SIGNAL sig)
break;
case SIM_SIGFPE:
-#ifdef SIGXCPU
+#ifdef SIGFPE
return SIGFPE;
#endif
break;
@@ -94,3 +94,42 @@ sim_signal_to_host (SIM_DESC sd, SIM_SIGNAL sig)
return 1;
#endif
}
+
+int
+sim_signal_to_target (SIM_DESC sd, SIM_SIGNAL sig)
+{
+ switch (sig)
+ {
+ case SIM_SIGINT :
+ return TARGET_SIGNAL_INT;
+
+ case SIM_SIGABRT :
+ return TARGET_SIGNAL_ABRT;
+
+ case SIM_SIGILL :
+ return TARGET_SIGNAL_ILL;
+
+ case SIM_SIGTRAP :
+ return TARGET_SIGNAL_TRAP;
+
+ case SIM_SIGBUS :
+ return TARGET_SIGNAL_BUS;
+
+ case SIM_SIGSEGV
+ return TARGET_SIGNAL_SEGV;
+
+ case SIM_SIGXCPU :
+ return TARGET_SIGNAL_XCPU;
+
+ case SIM_SIGFPE:
+ return TARGET_SIGNAL_FPE;
+ break;
+
+ case SIM_SIGNONE:
+ return TARGET_SIGNAL_0;
+ break;
+ }
+
+ sim_io_eprintf (sd, "sim_signal_to_host: unknown signal: %d\n", sig);
+ return TARGET_SIGNAL_HUP;
+}
diff --git a/sim/common/sim-signal.h b/sim/common/sim-signal.h
index 272e17dad05..8dd0d8f875c 100644
--- a/sim/common/sim-signal.h
+++ b/sim/common/sim-signal.h
@@ -21,6 +21,8 @@ with this program; if not, write to the Free Software Foundation, Inc.,
#ifndef SIM_SIGNAL_H
#define SIM_SIGNAL_H
+#include "gdb/signals.h"
+
/* Signals we use.
This provides a layer between our values and host/target values. */
@@ -45,5 +47,6 @@ typedef enum {
} SIM_SIGNAL;
int sim_signal_to_host (SIM_DESC sd, SIM_SIGNAL);
+enum target_signal sim_signal_to_target (SIM_DESC sd, SIM_SIGNAL);
#endif /* SIM_SIGNAL_H */
diff --git a/sim/d10v/interp.c b/sim/d10v/interp.c
index e4bae222eee..26f36ec5cf5 100644
--- a/sim/d10v/interp.c
+++ b/sim/d10v/interp.c
@@ -6,6 +6,7 @@
#include "d10v_sim.h"
#include "gdb/sim-d10v.h"
+#include "gdb/signals.h"
enum _leftright { LEFT_FIRST, RIGHT_FIRST };
@@ -1277,17 +1278,13 @@ sim_stop_reason (sd, reason, sigrc)
case SIG_D10V_BUS:
*reason = sim_stopped;
-#ifdef SIGBUS
- *sigrc = SIGBUS;
-#else
- *sigrc = SIGSEGV;
-#endif
+ *reson = TARGET_SIGNAL_BUS;
break;
default: /* some signal */
*reason = sim_stopped;
if (stop_simulator && !State.exception)
- *sigrc = SIGINT;
+ *sigrc = TARGET_SIGNAL_INT;
else
*sigrc = State.exception;
break;
diff --git a/sim/erc32/interf.c b/sim/erc32/interf.c
index 3d535744d6a..fe075e1f286 100644
--- a/sim/erc32/interf.c
+++ b/sim/erc32/interf.c
@@ -33,6 +33,7 @@
#include "sim-config.h"
#include "gdb/remote-sim.h"
+#include "gdb/signals.h"
#define PSR_CWP 0x7
@@ -386,16 +387,13 @@ sim_stop_reason(sd, reason, sigrc)
switch (simstat) {
case CTRL_C:
*reason = sim_stopped;
- *sigrc = SIGINT;
+ *sigrc = TARGET_SIGNAL_INT;
break;
case OK:
case TIME_OUT:
case BPT_HIT:
*reason = sim_stopped;
-#ifdef _WIN32
-#define SIGTRAP 5
-#endif
- *sigrc = SIGTRAP;
+ *sigrc = TARGET_SIGNAL_TRAP;
break;
case ERROR:
*sigrc = 0;
diff --git a/sim/ppc/config.in b/sim/ppc/config.in
index 8d3f438b61a..229223cbcd8 100644
--- a/sim/ppc/config.in
+++ b/sim/ppc/config.in
@@ -267,6 +267,9 @@
*/
#undef HAVE_SYS_DIR_H
+/* Define to 1 if you have the <sys/errno.h> header file. */
+#undef HAVE_SYS_ERRNO_H
+
/* Define to 1 if you have the <sys/ioctl.h> header file. */
#undef HAVE_SYS_IOCTL_H
@@ -398,6 +401,11 @@
/* Define to 1 if your <sys/time.h> declares `struct tm'. */
#undef TM_IN_SYS_TIME
+/* Define if we should use the Windows API, instead of the POSIX API. On
+ Windows, we use the Windows API when building for MinGW, but the POSIX API
+ when building for Cygwin. */
+#undef USE_WIN32API
+
/* Define to 1 if your processor stores words with the most significant byte
first (like Motorola and SPARC, unlike Intel and VAX). */
#undef WORDS_BIGENDIAN
diff --git a/sim/ppc/configure b/sim/ppc/configure
index f67730e873f..1f898e1c809 100755
--- a/sim/ppc/configure
+++ b/sim/ppc/configure
@@ -992,7 +992,7 @@ esac
else
echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
fi
- cd "$ac_popdir"
+ cd $ac_popdir
done
fi
@@ -2012,7 +2012,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2070,7 +2071,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2186,7 +2188,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2240,7 +2243,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2285,7 +2289,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2329,7 +2334,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2525,7 +2531,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2579,7 +2586,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -2894,7 +2902,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3101,7 +3110,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3161,7 +3171,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3240,7 +3251,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3305,7 +3317,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3370,7 +3383,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3434,7 +3448,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3515,7 +3530,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3656,7 +3672,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3794,7 +3811,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -3978,7 +3996,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4229,7 +4248,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4423,7 +4443,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4526,7 +4547,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4597,7 +4619,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4694,7 +4717,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4830,7 +4854,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4894,7 +4919,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -4949,7 +4975,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5089,7 +5116,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5222,7 +5250,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -5499,7 +5528,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6005,7 +6035,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6047,7 +6078,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6104,7 +6136,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6691,6 +6724,16 @@ rm conftest.sed
. ${srcdir}/../../bfd/configure.host
+case ${host} in
+ *mingw32*)
+
+cat >>confdefs.h <<\_ACEOF
+#define USE_WIN32API 1
+_ACEOF
+
+ ;;
+esac
+
ac_config_headers="$ac_config_headers config.h:config.in"
@@ -6726,7 +6769,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6769,7 +6813,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6839,7 +6884,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6882,7 +6928,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -6962,7 +7009,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7005,7 +7053,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7075,7 +7124,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7140,7 +7190,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7186,7 +7237,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7260,7 +7312,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7451,7 +7504,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7516,7 +7570,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7581,7 +7636,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7653,7 +7709,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7714,7 +7771,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7904,7 +7962,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -7955,7 +8014,8 @@ done
-for ac_header in fcntl.h stdlib.h string.h strings.h sys/ioctl.h sys/mount.h sys/param.h sys/resource.h sys/stat.h sys/termio.h sys/termios.h sys/time.h sys/times.h sys/types.h time.h unistd.h sys/vfs.h sys/statfs.h
+
+for ac_header in fcntl.h stdlib.h string.h strings.h sys/ioctl.h sys/mount.h sys/param.h sys/resource.h sys/stat.h sys/termio.h sys/termios.h sys/time.h sys/times.h sys/types.h time.h unistd.h sys/vfs.h sys/statfs.h sys/errno.h
do
as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
if eval "test \"\${$as_ac_Header+set}\" = set"; then
@@ -7988,7 +8048,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8143,7 +8204,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8215,7 +8277,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8269,7 +8332,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8340,7 +8404,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8394,7 +8459,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8465,7 +8531,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8524,7 +8591,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8592,7 +8660,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8654,7 +8723,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8727,7 +8797,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -8791,7 +8862,8 @@ if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
cat conftest.err >&5
echo "$as_me:$LINENO: \$? = $ac_status" >&5
(exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag" || test ! -s conftest.err'
+ { ac_try='test -z "$ac_c_werror_flag"
+ || test ! -s conftest.err'
{ (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
(eval $ac_try) 2>&5
ac_status=$?
@@ -9938,6 +10010,11 @@ esac
*) ac_INSTALL=$ac_top_builddir$INSTALL ;;
esac
+ if test x"$ac_file" != x-; then
+ { echo "$as_me:$LINENO: creating $ac_file" >&5
+echo "$as_me: creating $ac_file" >&6;}
+ rm -f "$ac_file"
+ fi
# 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. */
@@ -9976,12 +10053,6 @@ echo "$as_me: error: cannot find input file: $f" >&2;}
fi;;
esac
done` || { (exit 1); exit 1; }
-
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
_ACEOF
cat >>$CONFIG_STATUS <<_ACEOF
sed "$ac_vpsub
diff --git a/sim/ppc/configure.ac b/sim/ppc/configure.ac
index 45aa1e0e208..7dc358f7e4b 100644
--- a/sim/ppc/configure.ac
+++ b/sim/ppc/configure.ac
@@ -567,6 +567,16 @@ AC_ARG_PROGRAM
. ${srcdir}/../../bfd/configure.host
+case ${host} in
+ *mingw32*)
+ AC_DEFINE(USE_WIN32API, 1,
+ [Define if we should use the Windows API, instead of the
+ POSIX API. On Windows, we use the Windows API when
+ building for MinGW, but the POSIX API when building
+ for Cygwin.])
+ ;;
+esac
+
AC_CONFIG_HEADER(config.h:config.in)
AC_STRUCT_ST_BLKSIZE
@@ -584,7 +594,7 @@ AC_TYPE_UID_T
AC_CHECK_FUNCS(access cfgetispeed cfgetospeed cfsetispeed cfsetospeed chdir chmod chown dup dup2 fchmod fchown fcntl fstat fstatfs getdirentries getegid geteuid getgid getpid getppid getrusage gettimeofday getuid ioctl kill link lseek lstat mkdir pipe readlink rmdir setreuid setregid stat sigprocmask stat symlink tcgetattr tcsetattr tcsendbreak tcdrain tcflush tcflow tcgetpgrp tcsetpgrp time umask unlink)
-AC_CHECK_HEADERS(fcntl.h stdlib.h string.h strings.h sys/ioctl.h sys/mount.h sys/param.h sys/resource.h sys/stat.h sys/termio.h sys/termios.h sys/time.h sys/times.h sys/types.h time.h unistd.h sys/vfs.h sys/statfs.h)
+AC_CHECK_HEADERS(fcntl.h stdlib.h string.h strings.h sys/ioctl.h sys/mount.h sys/param.h sys/resource.h sys/stat.h sys/termio.h sys/termios.h sys/time.h sys/times.h sys/types.h time.h unistd.h sys/vfs.h sys/statfs.h sys/errno.h)
AC_HEADER_DIRENT
dnl Figure out what type of termio/termios support there is
diff --git a/sim/ppc/emul_netbsd.c b/sim/ppc/emul_netbsd.c
index 18ca73befec..6f0fd9ec471 100644
--- a/sim/ppc/emul_netbsd.c
+++ b/sim/ppc/emul_netbsd.c
@@ -43,7 +43,9 @@
#include <signal.h>
#include <fcntl.h>
#include <errno.h>
+#ifdef HAVE_SYS_ERRNO_H
#include <sys/errno.h>
+#endif
#include <sys/param.h>
#include <sys/time.h>
@@ -224,7 +226,7 @@ write_timeval(unsigned_word addr,
emul_write_buffer(&t, addr, sizeof(t), processor, cia);
}
-
+#ifdef HAVE_GETTIMEOFDAY
STATIC_INLINE_EMUL_NETBSD void
write_timezone(unsigned_word addr,
struct timezone tz,
@@ -235,6 +237,7 @@ write_timezone(unsigned_word addr,
H2T(tz.tz_dsttime);
emul_write_buffer(&tz, addr, sizeof(tz), processor, cia);
}
+#endif
#ifdef HAVE_GETDIRENTRIES
diff --git a/sim/ppc/emul_unix.c b/sim/ppc/emul_unix.c
index d5e56296105..1f634350e2e 100644
--- a/sim/ppc/emul_unix.c
+++ b/sim/ppc/emul_unix.c
@@ -730,7 +730,11 @@ do_unix_mkdir(os_emul_data *emul,
if (WITH_TRACE && ppc_trace[trace_os_emul])
printf_filtered ("0x%lx [%s], 0%3o", (long)path_addr, path, mode);
+#ifdef USE_WIN32API
+ status = mkdir(path);
+#else
status = mkdir(path, mode);
+#endif
emul_write_status(processor, status, errno);
}
#endif
diff --git a/sim/ppc/sim_calls.c b/sim/ppc/sim_calls.c
index 08feb39ab76..781ff055f5c 100644
--- a/sim/ppc/sim_calls.c
+++ b/sim/ppc/sim_calls.c
@@ -44,6 +44,7 @@
#include "bfd.h"
#include "gdb/callback.h"
#include "gdb/remote-sim.h"
+#include "gdb/signals.h"
/* Define the rate at which the simulator should poll the host
for a quit. */
@@ -197,13 +198,13 @@ sim_stop_reason (SIM_DESC sd, enum sim_stop *reason, int *sigrc)
case was_continuing:
*reason = sim_stopped;
if (status.signal == 0)
- *sigrc = SIGTRAP;
+ *sigrc = TARGET_SIGNAL_TRAP;
else
*sigrc = status.signal;
break;
case was_trap:
*reason = sim_stopped;
- *sigrc = SIGTRAP;
+ *sigrc = TARGET_SIGNAL_TRAP;
break;
case was_exited:
*reason = sim_exited;
diff --git a/sim/sh64/ChangeLog b/sim/sh64/ChangeLog
deleted file mode 100644
index 1f705ca9e70..00000000000
--- a/sim/sh64/ChangeLog
+++ /dev/null
@@ -1,392 +0,0 @@
-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
index b8cfb82c585..00000000000
--- a/sim/sh64/Makefile.in
+++ /dev/null
@@ -1,153 +0,0 @@
-# Makefile template for Configure for the SH64 simulator
-# Copyright (C) 2000 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 2 of the License, or
-# (at your option) any later version.
-#
-# This program is distributed in the hope that it will be useful,
-# but WITHOUT ANY WARRANTY; without even the implied warranty of
-# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-# GNU General Public License for more details.
-#
-# You should have received a copy of the GNU General Public License along
-# with this program; if not, write to the Free Software Foundation, Inc.,
-# 59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-## 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
-
-CONFIG_DEVICES = dv-sockser.o
-CONFIG_DEVICES =
-
-SIM_OBJS = \
- $(SIM_NEW_COMMON_OBJS) \
- sim-cpu.o \
- sim-hload.o \
- sim-hrw.o \
- sim-model.o \
- sim-reg.o \
- cgen-utils.o cgen-trace.o cgen-scache.o \
- cgen-run.o sim-reason.o sim-engine.o sim-stop.o \
- sim-if.o arch.o \
- $(SH64_OBJS) \
- $(CONFIG_DEVICES)
-
-# Extra headers included by sim-main.h.
-SIM_EXTRA_DEPS = \
- $(CGEN_INCLUDE_DEPS) \
- arch.h cpuall.h sh64-sim.h
-
-SIM_EXTRA_CFLAGS =
-
-SIM_RUN_OBJS = nrun.o
-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)
-
-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: 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 =
-
-.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
-
-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 Makefile
- $(MAKE) cgen-arch $(CGEN_FLAGS_TO_PASS) mach=all isa=compact,media \
- FLAGS="with-scache"
- touch $@
-arch.h arch.c 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 Makefile
- $(MAKE) cgen-desc $(CGEN_FLAGS_TO_PASS) cpu=sh64 mach=all isa=compact,media
- touch $@
-desc.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 Makefile
- $(MAKE) cgen-cpu $(CGEN_FLAGS_TO_PASS) \
- cpu=sh64 mach=sh4,sh5 isa=compact,media FLAGS="with-multiple-isa with-scache"
- rm -f $(srcdir)/model.c
- touch $@
-cpu.h: $(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 Makefile
- $(MAKE) cgen-defs $(CGEN_FLAGS_TO_PASS) \
- cpu=sh64 mach=sh5 isa=compact FLAGS="with-scache" SUFFIX="-compact"
- touch $@
-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 Makefile
- $(MAKE) cgen-defs $(CGEN_FLAGS_TO_PASS) \
- cpu=sh64 mach=sh5 isa=media FLAGS="with-scache" SUFFIX="-media"
- touch $@
-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 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)"
- touch $@
-sem-compact.c sem-compact-switch.c decode-compact.c decode-compact.h: $(CGEN_MAINT) stamp-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 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)"
- touch $@
-sem-media.c sem-media-switch.c decode-media.c decode-media.h: $(CGEN_MAINT) stamp-media
- @true
diff --git a/sim/sh64/arch.c b/sim/sh64/arch.c
deleted file mode 100644
index c1e8c772583..00000000000
--- a/sim/sh64/arch.c
+++ /dev/null
@@ -1,47 +0,0 @@
-/* Simulator support for sh.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#include "sim-main.h"
-#include "bfd.h"
-
-const MACH *sim_machs[] =
-{
-#ifdef HAVE_CPU_SH64
- & sh2_mach,
-#endif
-#ifdef HAVE_CPU_SH64
- & sh3_mach,
-#endif
-#ifdef HAVE_CPU_SH64
- & sh3e_mach,
-#endif
-#ifdef HAVE_CPU_SH64
- & sh4_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
index 30820a061a9..00000000000
--- a/sim/sh64/arch.h
+++ /dev/null
@@ -1,44 +0,0 @@
-/* Simulator header for sh.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#ifndef SH_ARCH_H
-#define SH_ARCH_H
-
-#define TARGET_BIG_ENDIAN 1
-
-/* Enum declaration for model types. */
-typedef enum model_type {
- MODEL_SH5, MODEL_MAX
-} MODEL_TYPE;
-
-#define MAX_MODELS ((int) MODEL_MAX)
-
-/* Enum declaration for unit types. */
-typedef enum unit_type {
- UNIT_NONE, UNIT_SH5_U_EXEC, UNIT_MAX
-} UNIT_TYPE;
-
-#define MAX_UNITS (1)
-
-#endif /* SH_ARCH_H */
diff --git a/sim/sh64/config.in b/sim/sh64/config.in
deleted file mode 100644
index 6ce594d7c90..00000000000
--- a/sim/sh64/config.in
+++ /dev/null
@@ -1,177 +0,0 @@
-/* config.in. Generated automatically from configure.in by autoheader. */
-
-/* Define if using alloca.c. */
-#undef C_ALLOCA
-
-/* Define to empty if the keyword does not work. */
-#undef const
-
-/* Define to one of _getb67, GETB67, getb67 for Cray-2 and Cray-YMP systems.
- This function is required for alloca.c support on those systems. */
-#undef CRAY_STACKSEG_END
-
-/* Define if you have alloca, as a function or macro. */
-#undef HAVE_ALLOCA
-
-/* Define if you have <alloca.h> and it should be used (not on Ultrix). */
-#undef HAVE_ALLOCA_H
-
-/* Define if you have a working `mmap' system call. */
-#undef HAVE_MMAP
-
-/* Define as __inline if that's what the C compiler calls it. */
-#undef inline
-
-/* Define to `long' if <sys/types.h> doesn't define. */
-#undef off_t
-
-/* Define if you need to in order for stat and other things to work. */
-#undef _POSIX_SOURCE
-
-/* Define as the return type of signal handlers (int or void). */
-#undef RETSIGTYPE
-
-/* Define to `unsigned' if <sys/types.h> doesn't define. */
-#undef size_t
-
-/* If using the C implementation of alloca, define if you know the
- direction of stack growth for your system; otherwise it will be
- automatically deduced at run-time.
- STACK_DIRECTION > 0 => grows toward higher addresses
- STACK_DIRECTION < 0 => grows toward lower addresses
- STACK_DIRECTION = 0 => direction of growth unknown
- */
-#undef STACK_DIRECTION
-
-/* Define if you have the ANSI C header files. */
-#undef STDC_HEADERS
-
-/* Define if your processor stores words with the most significant
- byte first (like Motorola and SPARC, unlike Intel and VAX). */
-#undef WORDS_BIGENDIAN
-
-/* Define to 1 if NLS is requested. */
-#undef ENABLE_NLS
-
-/* Define as 1 if you have gettext and don't want to use GNU gettext. */
-#undef HAVE_GETTEXT
-
-/* Define as 1 if you have the stpcpy function. */
-#undef HAVE_STPCPY
-
-/* Define if your locale.h file contains LC_MESSAGES. */
-#undef HAVE_LC_MESSAGES
-
-/* Define if you have the __argz_count function. */
-#undef HAVE___ARGZ_COUNT
-
-/* Define if you have the __argz_next function. */
-#undef HAVE___ARGZ_NEXT
-
-/* Define if you have the __argz_stringify function. */
-#undef HAVE___ARGZ_STRINGIFY
-
-/* Define if you have the __setfpucw function. */
-#undef HAVE___SETFPUCW
-
-/* Define if you have the dcgettext function. */
-#undef HAVE_DCGETTEXT
-
-/* Define if you have the getcwd function. */
-#undef HAVE_GETCWD
-
-/* Define if you have the getpagesize function. */
-#undef HAVE_GETPAGESIZE
-
-/* Define if you have the getrusage function. */
-#undef HAVE_GETRUSAGE
-
-/* Define if you have the munmap function. */
-#undef HAVE_MUNMAP
-
-/* Define if you have the putenv function. */
-#undef HAVE_PUTENV
-
-/* Define if you have the setenv function. */
-#undef HAVE_SETENV
-
-/* Define if you have the setlocale function. */
-#undef HAVE_SETLOCALE
-
-/* Define if you have the sigaction function. */
-#undef HAVE_SIGACTION
-
-/* Define if you have the stpcpy function. */
-#undef HAVE_STPCPY
-
-/* Define if you have the strcasecmp function. */
-#undef HAVE_STRCASECMP
-
-/* Define if you have the strchr function. */
-#undef HAVE_STRCHR
-
-/* Define if you have the time function. */
-#undef HAVE_TIME
-
-/* Define if you have the <argz.h> header file. */
-#undef HAVE_ARGZ_H
-
-/* Define if you have the <dlfcn.h> header file. */
-#undef HAVE_DLFCN_H
-
-/* Define if you have the <errno.h> header file. */
-#undef HAVE_ERRNO_H
-
-/* Define if you have the <fcntl.h> header file. */
-#undef HAVE_FCNTL_H
-
-/* Define if you have the <fpu_control.h> header file. */
-#undef HAVE_FPU_CONTROL_H
-
-/* Define if you have the <limits.h> header file. */
-#undef HAVE_LIMITS_H
-
-/* Define if you have the <locale.h> header file. */
-#undef HAVE_LOCALE_H
-
-/* Define if you have the <malloc.h> header file. */
-#undef HAVE_MALLOC_H
-
-/* Define if you have the <nl_types.h> header file. */
-#undef HAVE_NL_TYPES_H
-
-/* Define if you have the <stdlib.h> header file. */
-#undef HAVE_STDLIB_H
-
-/* Define if you have the <string.h> header file. */
-#undef HAVE_STRING_H
-
-/* Define if you have the <strings.h> header file. */
-#undef HAVE_STRINGS_H
-
-/* Define if you have the <sys/param.h> header file. */
-#undef HAVE_SYS_PARAM_H
-
-/* Define if you have the <sys/resource.h> header file. */
-#undef HAVE_SYS_RESOURCE_H
-
-/* Define if you have the <sys/stat.h> header file. */
-#undef HAVE_SYS_STAT_H
-
-/* Define if you have the <sys/time.h> header file. */
-#undef HAVE_SYS_TIME_H
-
-/* Define if you have the <time.h> header file. */
-#undef HAVE_TIME_H
-
-/* Define if you have the <unistd.h> header file. */
-#undef HAVE_UNISTD_H
-
-/* Define if you have the <values.h> header file. */
-#undef HAVE_VALUES_H
-
-/* Define if you have the nsl library (-lnsl). */
-#undef HAVE_LIBNSL
-
-/* Define if you have the socket library (-lsocket). */
-#undef HAVE_LIBSOCKET
diff --git a/sim/sh64/configure b/sim/sh64/configure
deleted file mode 100755
index 2a6ab864694..00000000000
--- a/sim/sh64/configure
+++ /dev/null
@@ -1,9007 +0,0 @@
-#! /bin/sh
-# Guess values for system-dependent variables and create Makefiles.
-# Generated by GNU Autoconf 2.59.
-#
-# Copyright (C) 2003 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 Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; 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
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# 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
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- 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
-
- ;;
- 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
- { echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2
- { (exit 1); exit 1; }; }
-
- # 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 sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# 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'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-
-# Name of the host.
-# hostname on some systems (SVR3.2, Linux) returns a bogus exit status,
-# so uname gets run too.
-ac_hostname=`(hostname || uname -n) 2>/dev/null | sed 1q`
-
-exec 6>&1
-
-#
-# Initializations.
-#
-ac_default_prefix=/usr/local
-ac_config_libobj_dir=.
-cross_compiling=no
-subdirs=
-MFLAGS=
-MAKEFLAGS=
-SHELL=${CONFIG_SHELL-/bin/sh}
-
-# Maximum number of lines to put in a shell here document.
-# This variable seems obsolete. It should probably be removed, and
-# only ac_max_sed_lines should be used.
-: ${ac_max_here_lines=38}
-
-# Identity of this package.
-PACKAGE_NAME=
-PACKAGE_TARNAME=
-PACKAGE_VERSION=
-PACKAGE_STRING=
-PACKAGE_BUGREPORT=
-
-ac_unique_file="Makefile.in"
-# Factoring default headers for most tests.
-ac_includes_default="\
-#include <stdio.h>
-#if HAVE_SYS_TYPES_H
-# include <sys/types.h>
-#endif
-#if HAVE_SYS_STAT_H
-# include <sys/stat.h>
-#endif
-#if STDC_HEADERS
-# include <stdlib.h>
-# include <stddef.h>
-#else
-# if HAVE_STDLIB_H
-# include <stdlib.h>
-# endif
-#endif
-#if HAVE_STRING_H
-# if !STDC_HEADERS && HAVE_MEMORY_H
-# include <memory.h>
-# endif
-# include <string.h>
-#endif
-#if HAVE_STRINGS_H
-# include <strings.h>
-#endif
-#if HAVE_INTTYPES_H
-# include <inttypes.h>
-#else
-# if HAVE_STDINT_H
-# include <stdint.h>
-# endif
-#endif
-#if HAVE_UNISTD_H
-# include <unistd.h>
-#endif"
-
-ac_subst_vars='SHELL PATH_SEPARATOR PACKAGE_NAME PACKAGE_TARNAME PACKAGE_VERSION PACKAGE_STRING PACKAGE_BUGREPORT exec_prefix prefix program_transform_name bindir sbindir libexecdir datadir sysconfdir sharedstatedir localstatedir libdir includedir oldincludedir infodir mandir build_alias host_alias target_alias DEFS ECHO_C ECHO_N ECHO_T LIBS sim_environment sim_alignment sim_assert sim_bitsize sim_endian sim_hostendian sim_float sim_scache sim_default_model sim_hw_cflags sim_hw_objs sim_hw sim_inline sim_packages sim_regparm sim_reserved_bits sim_smp sim_stdcall sim_xor_endian WARN_CFLAGS WERROR_CFLAGS build build_cpu build_vendor build_os host host_cpu host_vendor host_os target target_cpu target_vendor target_os CC CFLAGS LDFLAGS CPPFLAGS ac_ct_CC EXEEXT OBJEXT INSTALL_PROGRAM INSTALL_SCRIPT INSTALL_DATA CC_FOR_BUILD HDEFINES AR RANLIB ac_ct_RANLIB SET_MAKE CPP EGREP ALLOCA USE_NLS MSGFMT GMSGFMT XGETTEXT USE_INCLUDED_LIBINTL CATALOGS CATOBJEXT DATADIRNAME GMOFILES INSTOBJEXT INTLDEPS INTLLIBS INTLOBJS POFILES POSUB INCLUDE_LOCALE_H GT_NO GT_YES MKINSTALLDIRS l MAINT sim_bswap sim_cflags sim_debug sim_stdio sim_trace sim_profile CGEN_MAINT cgendir cgen cgen_breaks LIBOBJS LTLIBOBJS'
-ac_subst_files=''
-
-# Initialize some variables set by options.
-ac_init_help=
-ac_init_version=false
-# 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.
-bindir='${exec_prefix}/bin'
-sbindir='${exec_prefix}/sbin'
-libexecdir='${exec_prefix}/libexec'
-datadir='${prefix}/share'
-sysconfdir='${prefix}/etc'
-sharedstatedir='${prefix}/com'
-localstatedir='${prefix}/var'
-libdir='${exec_prefix}/lib'
-includedir='${prefix}/include'
-oldincludedir='/usr/include'
-infodir='${prefix}/info'
-mandir='${prefix}/man'
-
-ac_prev=
-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
-
- ac_optarg=`expr "x$ac_option" : 'x[^=]*=\(.*\)'`
-
- # Accept the important Cygnus configure options, so we can diagnose typos.
-
- case $ac_option in
-
- -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 | --data | --dat | --da)
- ac_prev=datadir ;;
- -datadir=* | --datadir=* | --datadi=* | --datad=* | --data=* | --dat=* \
- | --da=*)
- datadir=$ac_optarg ;;
-
- -disable-* | --disable-*)
- ac_feature=`expr "x$ac_option" : 'x-*disable-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- eval "enable_$ac_feature=no" ;;
-
- -enable-* | --enable-*)
- ac_feature=`expr "x$ac_option" : 'x-*enable-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_feature" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid feature name: $ac_feature" >&2
- { (exit 1); exit 1; }; }
- ac_feature=`echo $ac_feature | sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "enable_$ac_feature='$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 ;;
-
- -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 ;;
-
- -localstatedir | --localstatedir | --localstatedi | --localstated \
- | --localstate | --localstat | --localsta | --localst \
- | --locals | --local | --loca | --loc | --lo)
- ac_prev=localstatedir ;;
- -localstatedir=* | --localstatedir=* | --localstatedi=* | --localstated=* \
- | --localstate=* | --localstat=* | --localsta=* | --localst=* \
- | --locals=* | --local=* | --loca=* | --loc=* | --lo=*)
- 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 ;;
-
- -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_package=`expr "x$ac_option" : 'x-*with-\([^=]*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package| sed 's/-/_/g'`
- case $ac_option in
- *=*) ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`;;
- *) ac_optarg=yes ;;
- esac
- eval "with_$ac_package='$ac_optarg'" ;;
-
- -without-* | --without-*)
- ac_package=`expr "x$ac_option" : 'x-*without-\(.*\)'`
- # Reject names that are not valid shell variable names.
- expr "x$ac_package" : ".*[^-_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid package name: $ac_package" >&2
- { (exit 1); exit 1; }; }
- ac_package=`echo $ac_package | sed 's/-/_/g'`
- eval "with_$ac_package=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 ;;
-
- -*) { echo "$as_me: error: unrecognized option: $ac_option
-Try \`$0 --help' for more information." >&2
- { (exit 1); exit 1; }; }
- ;;
-
- *=*)
- ac_envvar=`expr "x$ac_option" : 'x\([^=]*\)='`
- # Reject names that are not valid shell variable names.
- expr "x$ac_envvar" : ".*[^_$as_cr_alnum]" >/dev/null &&
- { echo "$as_me: error: invalid variable name: $ac_envvar" >&2
- { (exit 1); exit 1; }; }
- ac_optarg=`echo "$ac_optarg" | sed "s/'/'\\\\\\\\''/g"`
- eval "$ac_envvar='$ac_optarg'"
- export $ac_envvar ;;
-
- *)
- # FIXME: should be removed in autoconf 3.0.
- echo "$as_me: WARNING: you should use --build, --host, --target" >&2
- expr "x$ac_option" : ".*[^-._$as_cr_alnum]" >/dev/null &&
- 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'`
- { echo "$as_me: error: missing argument to $ac_option" >&2
- { (exit 1); exit 1; }; }
-fi
-
-# Be sure to have absolute paths.
-for ac_var in exec_prefix prefix
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* | NONE | '' ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-done
-
-# Be sure to have absolute paths.
-for ac_var in bindir sbindir libexecdir datadir sysconfdir sharedstatedir \
- localstatedir libdir includedir oldincludedir infodir mandir
-do
- eval ac_val=$`echo $ac_var`
- case $ac_val in
- [\\/$]* | ?:[\\/]* ) ;;
- *) { echo "$as_me: error: expected an absolute directory name for --$ac_var: $ac_val" >&2
- { (exit 1); exit 1; }; };;
- esac
-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
- echo "$as_me: WARNING: If you wanted to set the --build type, don't use --host.
- If a cross compiler is detected then cross compile mode will be used." >&2
- 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
-
-
-# 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 its parent.
- ac_confdir=`(dirname "$0") 2>/dev/null ||
-$as_expr X"$0" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$0" : 'X\(//\)[^/]' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$0" |
- 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
- if test "$ac_srcdir_defaulted" = yes; then
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $ac_confdir or .." >&2
- { (exit 1); exit 1; }; }
- else
- { echo "$as_me: error: cannot find sources ($ac_unique_file) in $srcdir" >&2
- { (exit 1); exit 1; }; }
- fi
-fi
-(cd $srcdir && test -r ./$ac_unique_file) 2>/dev/null ||
- { echo "$as_me: error: sources are in $srcdir, but \`cd $srcdir' does not work" >&2
- { (exit 1); exit 1; }; }
-srcdir=`echo "$srcdir" | sed 's%\([^\\/]\)[\\/]*$%\1%'`
-ac_env_build_alias_set=${build_alias+set}
-ac_env_build_alias_value=$build_alias
-ac_cv_env_build_alias_set=${build_alias+set}
-ac_cv_env_build_alias_value=$build_alias
-ac_env_host_alias_set=${host_alias+set}
-ac_env_host_alias_value=$host_alias
-ac_cv_env_host_alias_set=${host_alias+set}
-ac_cv_env_host_alias_value=$host_alias
-ac_env_target_alias_set=${target_alias+set}
-ac_env_target_alias_value=$target_alias
-ac_cv_env_target_alias_set=${target_alias+set}
-ac_cv_env_target_alias_value=$target_alias
-ac_env_CC_set=${CC+set}
-ac_env_CC_value=$CC
-ac_cv_env_CC_set=${CC+set}
-ac_cv_env_CC_value=$CC
-ac_env_CFLAGS_set=${CFLAGS+set}
-ac_env_CFLAGS_value=$CFLAGS
-ac_cv_env_CFLAGS_set=${CFLAGS+set}
-ac_cv_env_CFLAGS_value=$CFLAGS
-ac_env_LDFLAGS_set=${LDFLAGS+set}
-ac_env_LDFLAGS_value=$LDFLAGS
-ac_cv_env_LDFLAGS_set=${LDFLAGS+set}
-ac_cv_env_LDFLAGS_value=$LDFLAGS
-ac_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_env_CPPFLAGS_value=$CPPFLAGS
-ac_cv_env_CPPFLAGS_set=${CPPFLAGS+set}
-ac_cv_env_CPPFLAGS_value=$CPPFLAGS
-ac_env_CPP_set=${CPP+set}
-ac_env_CPP_value=$CPP
-ac_cv_env_CPP_set=${CPP+set}
-ac_cv_env_CPP_value=$CPP
-
-#
-# 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 \`..']
-
-_ACEOF
-
- cat <<_ACEOF
-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]
- --datadir=DIR read-only architecture-independent data [PREFIX/share]
- --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]
- --infodir=DIR info documentation [PREFIX/info]
- --mandir=DIR man documentation [PREFIX/man]
-_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-FEATURE do not include FEATURE (same as --enable-FEATURE=no)
- --enable-FEATURE[=ARG] include FEATURE [ARG=yes]
- --disable-nls do not use Native Language Support
- --enable-maintainer-mode Enable developer functionality.
- --enable-sim-bswap Use Host specific BSWAP instruction.
- --enable-sim-cflags=opts Extra CFLAGS for use in building simulator
- --enable-sim-debug=opts Enable debugging flags
- --enable-sim-stdio Specify whether to use stdio for console input/output.
- --enable-sim-trace=opts Enable tracing flags
- --enable-sim-profile=opts Enable profiling flags
- --enable-sim-endian=endian Specify target byte endian orientation.
- --enable-sim-alignment=align Specify strict, nonstrict or forced alignment of memory accesses.
- --enable-sim-hostendian=end Specify host byte endian orientation.
- --enable-sim-scache=size Specify simulator execution cache size.
- --enable-sim-default-model=model Specify default model to simulate.
- --enable-sim-environment=environment Specify mixed, user, virtual or operating environment.
- --enable-sim-inline=inlines Specify which functions should be inlined.
- --enable-cgen-maint=DIR build cgen generated files
-
-Optional Packages:
- --with-PACKAGE[=ARG] use PACKAGE [ARG=yes]
- --without-PACKAGE do not use PACKAGE (same as --with-PACKAGE=no)
- --with-included-gettext use the GNU gettext library included here
-
-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>
- CPPFLAGS 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.
-
-_ACEOF
-fi
-
-if test "$ac_init_help" = "recursive"; then
- # If there are subdirs, report their specific --help.
- ac_popdir=`pwd`
- for ac_dir in : $ac_subdirs_all; do test "x$ac_dir" = x: && continue
- test -d $ac_dir || continue
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
- cd $ac_dir
- # Check for guested configure; otherwise get Cygnus style 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
- elif test -f $ac_srcdir/configure.ac ||
- test -f $ac_srcdir/configure.in; then
- echo
- $ac_configure --help
- else
- echo "$as_me: WARNING: no configuration information is in $ac_dir" >&2
- fi
- cd $ac_popdir
- done
-fi
-
-test -n "$ac_init_help" && exit 0
-if $ac_init_version; then
- cat <<\_ACEOF
-
-Copyright (C) 2003 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 0
-fi
-exec 5>config.log
-cat >&5 <<_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.59. Invocation command line was
-
- $ $0 $@
-
-_ACEOF
-{
-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`
-hostinfo = `(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=.
- echo "PATH: $as_dir"
-done
-
-} >&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_sep=
-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=`echo "$ac_arg" | sed "s/'/'\\\\\\\\''/g"` ;;
- esac
- case $ac_pass in
- 1) ac_configure_args0="$ac_configure_args0 '$ac_arg'" ;;
- 2)
- ac_configure_args1="$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
- ac_configure_args="$ac_configure_args$ac_sep'$ac_arg'"
- # Get rid of the leading space.
- ac_sep=" "
- ;;
- esac
- done
-done
-$as_unset ac_configure_args0 || test "${ac_configure_args0+set}" != set || { ac_configure_args0=; export ac_configure_args0; }
-$as_unset ac_configure_args1 || test "${ac_configure_args1+set}" != set || { ac_configure_args1=; export 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: Be sure not to use single quotes in there, as some shells,
-# such as our DU 5.0 friend, will then `close' the trap.
-trap 'exit_status=$?
- # Save into config.log some information that might help in debugging.
- {
- echo
-
- cat <<\_ASBOX
-## ---------------- ##
-## Cache variables. ##
-## ---------------- ##
-_ASBOX
- echo
- # The following way of writing the cache mishandles newlines in values,
-{
- (set) 2>&1 |
- case `(ac_space='"'"' '"'"'; set | grep ac_space) 2>&1` in
- *ac_space=\ *)
- sed -n \
- "s/'"'"'/'"'"'\\\\'"'"''"'"'/g;
- s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1='"'"'\\2'"'"'/p"
- ;;
- *)
- sed -n \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-}
- echo
-
- cat <<\_ASBOX
-## ----------------- ##
-## Output variables. ##
-## ----------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_vars
- do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
- done | sort
- echo
-
- if test -n "$ac_subst_files"; then
- cat <<\_ASBOX
-## ------------- ##
-## Output files. ##
-## ------------- ##
-_ASBOX
- echo
- for ac_var in $ac_subst_files
- do
- eval ac_val=$`echo $ac_var`
- echo "$ac_var='"'"'$ac_val'"'"'"
- done | sort
- echo
- fi
-
- if test -s confdefs.h; then
- cat <<\_ASBOX
-## ----------- ##
-## confdefs.h. ##
-## ----------- ##
-_ASBOX
- echo
- sed "/^$/d" confdefs.h | sort
- echo
- fi
- test "$ac_signal" != 0 &&
- echo "$as_me: caught signal $ac_signal"
- echo "$as_me: exit $exit_status"
- } >&5
- rm -f core *.core &&
- rm -rf conftest* confdefs* conf$$* $ac_clean_files &&
- exit $exit_status
- ' 0
-for ac_signal in 1 2 13 15; do
- trap 'ac_signal='$ac_signal'; { (exit 1); exit 1; }' $ac_signal
-done
-ac_signal=0
-
-# confdefs.h avoids OS command line length limits that DEFS can exceed.
-rm -rf conftest* confdefs.h
-# AIX cpp loses on an empty file, so make sure it contains at least a newline.
-echo >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
-
-
-# Let the site file select an alternate cache file if it wants to.
-# Prefer explicitly selected file to automatically selected ones.
-if test -z "$CONFIG_SITE"; then
- if test "x$prefix" != xNONE; then
- CONFIG_SITE="$prefix/share/config.site $prefix/etc/config.site"
- else
- CONFIG_SITE="$ac_default_prefix/share/config.site $ac_default_prefix/etc/config.site"
- fi
-fi
-for ac_site_file in $CONFIG_SITE; do
- if test -r "$ac_site_file"; then
- { echo "$as_me:$LINENO: loading site script $ac_site_file" >&5
-echo "$as_me: loading site script $ac_site_file" >&6;}
- sed 's/^/| /' "$ac_site_file" >&5
- . "$ac_site_file"
- 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.
- if test -f "$cache_file"; then
- { echo "$as_me:$LINENO: loading cache $cache_file" >&5
-echo "$as_me: loading cache $cache_file" >&6;}
- case $cache_file in
- [\\/]* | ?:[\\/]* ) . $cache_file;;
- *) . ./$cache_file;;
- esac
- fi
-else
- { echo "$as_me:$LINENO: creating cache $cache_file" >&5
-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 `(set) 2>&1 |
- sed -n 's/^ac_env_\([a-zA-Z_0-9]*\)_set=.*/\1/p'`; 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,)
- { echo "$as_me:$LINENO: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&5
-echo "$as_me: error: \`$ac_var' was set to \`$ac_old_val' in the previous run" >&2;}
- ac_cache_corrupted=: ;;
- ,set)
- { echo "$as_me:$LINENO: error: \`$ac_var' was not set in the previous run" >&5
-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
- { echo "$as_me:$LINENO: error: \`$ac_var' has changed since the previous run:" >&5
-echo "$as_me: error: \`$ac_var' has changed since the previous run:" >&2;}
- { echo "$as_me:$LINENO: former value: $ac_old_val" >&5
-echo "$as_me: former value: $ac_old_val" >&2;}
- { echo "$as_me:$LINENO: current value: $ac_new_val" >&5
-echo "$as_me: current value: $ac_new_val" >&2;}
- ac_cache_corrupted=:
- fi;;
- esac
- # Pass precious variables to config.status.
- if test "$ac_new_set" = set; then
- case $ac_new_val in
- *" "*|*" "*|*[\[\]\~\#\$\^\&\*\(\)\{\}\\\|\;\<\>\?\"\']*)
- ac_arg=$ac_var=`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.
- *) ac_configure_args="$ac_configure_args '$ac_arg'" ;;
- esac
- fi
-done
-if $ac_cache_corrupted; then
- { echo "$as_me:$LINENO: error: changes in the environment can compromise the build" >&5
-echo "$as_me: error: changes in the environment can compromise the build" >&2;}
- { { echo "$as_me:$LINENO: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&5
-echo "$as_me: error: run \`make distclean' and/or \`rm $cache_file' and start over" >&2;}
- { (exit 1); exit 1; }; }
-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_config_headers="$ac_config_headers config.h:config.in"
-
-
-# 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.
-#
-# The simulator's configure.in should look like:
-#
-# dnl Process this file with autoconf to produce a configure script.
-# sinclude(../common/aclocal.m4)
-# AC_PREREQ(2.5)dnl
-# AC_INIT(Makefile.in)
-#
-# SIM_AC_COMMON
-#
-# ... target specific stuff ...
-#
-# SIM_AC_OUTPUT
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-sim_inline="-DDEFAULT_INLINE=0"
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-# This file is derived from `gettext.m4'. The difference is that the
-# included macros assume Cygnus-style source and build trees.
-
-# Macro to add for using GNU gettext.
-# Ulrich Drepper <drepper@cygnus.com>, 1995.
-#
-# This file file be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
-
-# serial 3
-
-
-
-
-
-# Search path for a program which passes the given test.
-# Ulrich Drepper <drepper@cygnus.com>, 1996.
-#
-# This file file be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
-
-# serial 1
-
-
-
-# Check whether LC_MESSAGES is available in <locale.h>.
-# Ulrich Drepper <drepper@cygnus.com>, 1995.
-#
-# This file file be copied and used freely without restrictions. It can
-# be used in projects which are not available under the GNU Public License
-# but which still want to provide support for the GNU gettext functionality.
-# Please note that the actual code is *not* freely available.
-
-# serial 1
-
-
-
-
-
-
-
-# This file contains common code used by all simulators.
-#
-# common.m4 invokes AC macros used by all simulators and by the common
-# directory. It is intended to be included 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.
-#
-# The simulator's configure.in should look like:
-#
-# dnl Process this file with autoconf to produce a configure script.
-# AC_PREREQ(2.5)dnl
-# AC_INIT(Makefile.in)
-# AC_CONFIG_HEADER(config.h:config.in)
-#
-# sinclude(../common/aclocal.m4)
-# sinclude(../common/common.m4)
-#
-# ... target specific stuff ...
-
-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
- { { echo "$as_me:$LINENO: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&5
-echo "$as_me: error: cannot find install-sh or install.sh in $srcdir $srcdir/.. $srcdir/../.." >&2;}
- { (exit 1); exit 1; }; }
-fi
-ac_config_guess="$SHELL $ac_aux_dir/config.guess"
-ac_config_sub="$SHELL $ac_aux_dir/config.sub"
-ac_configure="$SHELL $ac_aux_dir/configure" # This should be Cygnus configure.
-
-# Make sure we can run config.sub.
-$ac_config_sub sun4 >/dev/null 2>&1 ||
- { { echo "$as_me:$LINENO: error: cannot run $ac_config_sub" >&5
-echo "$as_me: error: cannot run $ac_config_sub" >&2;}
- { (exit 1); exit 1; }; }
-
-echo "$as_me:$LINENO: checking build system type" >&5
-echo $ECHO_N "checking build system type... $ECHO_C" >&6
-if test "${ac_cv_build+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_build_alias=$build_alias
-test -z "$ac_cv_build_alias" &&
- ac_cv_build_alias=`$ac_config_guess`
-test -z "$ac_cv_build_alias" &&
- { { echo "$as_me:$LINENO: error: cannot guess build type; you must specify one" >&5
-echo "$as_me: error: cannot guess build type; you must specify one" >&2;}
- { (exit 1); exit 1; }; }
-ac_cv_build=`$ac_config_sub $ac_cv_build_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_build_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_build_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_build" >&5
-echo "${ECHO_T}$ac_cv_build" >&6
-build=$ac_cv_build
-build_cpu=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-build_vendor=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-build_os=`echo $ac_cv_build | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-echo "$as_me:$LINENO: checking host system type" >&5
-echo $ECHO_N "checking host system type... $ECHO_C" >&6
-if test "${ac_cv_host+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_host_alias=$host_alias
-test -z "$ac_cv_host_alias" &&
- ac_cv_host_alias=$ac_cv_build_alias
-ac_cv_host=`$ac_config_sub $ac_cv_host_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_host_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_host_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_host" >&5
-echo "${ECHO_T}$ac_cv_host" >&6
-host=$ac_cv_host
-host_cpu=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-host_vendor=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-host_os=`echo $ac_cv_host | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-echo "$as_me:$LINENO: checking target system type" >&5
-echo $ECHO_N "checking target system type... $ECHO_C" >&6
-if test "${ac_cv_target+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_target_alias=$target_alias
-test "x$ac_cv_target_alias" = "x" &&
- ac_cv_target_alias=$ac_cv_host_alias
-ac_cv_target=`$ac_config_sub $ac_cv_target_alias` ||
- { { echo "$as_me:$LINENO: error: $ac_config_sub $ac_cv_target_alias failed" >&5
-echo "$as_me: error: $ac_config_sub $ac_cv_target_alias failed" >&2;}
- { (exit 1); exit 1; }; }
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_target" >&5
-echo "${ECHO_T}$ac_cv_target" >&6
-target=$ac_cv_target
-target_cpu=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\1/'`
-target_vendor=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\2/'`
-target_os=`echo $ac_cv_target | sed 's/^\([^-]*\)-\([^-]*\)-\(.*\)$/\3/'`
-
-
-# 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}-
-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 $. echo might interpret backslashes.
-# By default was `s,x,x', remove it if useless.
-cat <<\_ACEOF >conftest.sed
-s/[\\$]/&&/g;s/;s,x,x,$//
-_ACEOF
-program_transform_name=`echo $program_transform_name | sed -f conftest.sed`
-rm conftest.sed
-
-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
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}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
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="gcc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- CC=$ac_ct_CC
-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
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="${ac_tool_prefix}cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$ac_cv_prog_CC"; then
- ac_ct_CC=$CC
- # Extract the first word of "cc", so it can be a program name with args.
-set dummy cc; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="cc"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- CC=$ac_ct_CC
-else
- CC="$ac_cv_prog_CC"
-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
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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_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"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-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
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-fi
-if test -z "$CC"; then
- if test -n "$ac_tool_prefix"; then
- for ac_prog in cl
- 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
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_CC="$ac_tool_prefix$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-CC=$ac_cv_prog_CC
-if test -n "$CC"; then
- echo "$as_me:$LINENO: result: $CC" >&5
-echo "${ECHO_T}$CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$CC" && break
- done
-fi
-if test -z "$CC"; then
- ac_ct_CC=$CC
- for ac_prog in cl
-do
- # Extract the first word of "$ac_prog", so it can be a program name with args.
-set dummy $ac_prog; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_CC+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_CC="$ac_prog"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-ac_ct_CC=$ac_cv_prog_ac_ct_CC
-if test -n "$ac_ct_CC"; then
- echo "$as_me:$LINENO: result: $ac_ct_CC" >&5
-echo "${ECHO_T}$ac_ct_CC" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- test -n "$ac_ct_CC" && break
-done
-
- CC=$ac_ct_CC
-fi
-
-fi
-
-
-test -z "$CC" && { { echo "$as_me:$LINENO: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&5
-echo "$as_me: error: no acceptable C compiler found in \$PATH
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-
-# Provide some information about the compiler.
-echo "$as_me:$LINENO:" \
- "checking for C compiler version" >&5
-ac_compiler=`set X $ac_compile; echo $2`
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler --version </dev/null >&5\"") >&5
- (eval $ac_compiler --version </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -v </dev/null >&5\"") >&5
- (eval $ac_compiler -v </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-{ (eval echo "$as_me:$LINENO: \"$ac_compiler -V </dev/null >&5\"") >&5
- (eval $ac_compiler -V </dev/null >&5) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }
-
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files a.out 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.
-echo "$as_me:$LINENO: checking for C compiler default output file name" >&5
-echo $ECHO_N "checking for C compiler default output file name... $ECHO_C" >&6
-ac_link_default=`echo "$ac_link" | sed 's/ -o *conftest[^ ]*//'`
-if { (eval echo "$as_me:$LINENO: \"$ac_link_default\"") >&5
- (eval $ac_link_default) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- # Find the output, starting from the most likely. This scheme is
-# not robust to junk in `.', hence go to wildcards (a.*) only as a last
-# resort.
-
-# Be careful to initialize this variable, since it used to be cached.
-# Otherwise an old cache value of `no' led to `EXEEXT = no' in a Makefile.
-ac_cv_exeext=
-# b.out is created by i960 compilers.
-for ac_file in a_out.exe a.exe conftest.exe a.out conftest a.* conftest.* b.out
-do
- test -f "$ac_file" || continue
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg | *.o | *.obj )
- ;;
- conftest.$ac_ext )
- # This is the source file.
- ;;
- [ab].out )
- # We found the default executable, but exeext='' is most
- # certainly right.
- break;;
- *.* )
- ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- # FIXME: I believe we export ac_cv_exeext for Libtool,
- # but it would be cool to find out if it's true. Does anybody
- # maintain Libtool? --akim.
- export ac_cv_exeext
- break;;
- * )
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: C compiler cannot create executables
-See \`config.log' for more details." >&5
-echo "$as_me: error: C compiler cannot create executables
-See \`config.log' for more details." >&2;}
- { (exit 77); exit 77; }; }
-fi
-
-ac_exeext=$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_file" >&5
-echo "${ECHO_T}$ac_file" >&6
-
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether the C compiler works" >&5
-echo $ECHO_N "checking whether the C compiler works... $ECHO_C" >&6
-# FIXME: These cross compiler hacks should be removed for Autoconf 3.0
-# If not cross compiling, check that we can run a simple program.
-if test "$cross_compiling" != yes; then
- if { ac_try='./$ac_file'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- cross_compiling=no
- else
- if test "$cross_compiling" = maybe; then
- cross_compiling=yes
- else
- { { echo "$as_me:$LINENO: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot run C compiled programs.
-If you meant to cross compile, use \`--host'.
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
- fi
- fi
-fi
-echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
-
-rm -f a.out a.exe conftest$ac_cv_exeext b.out
-ac_clean_files=$ac_clean_files_save
-# Check the compiler produces executables we can run. If not, either
-# the compiler is broken, or we cross compile.
-echo "$as_me:$LINENO: checking whether we are cross compiling" >&5
-echo $ECHO_N "checking whether we are cross compiling... $ECHO_C" >&6
-echo "$as_me:$LINENO: result: $cross_compiling" >&5
-echo "${ECHO_T}$cross_compiling" >&6
-
-echo "$as_me:$LINENO: checking for suffix of executables" >&5
-echo $ECHO_N "checking for suffix of executables... $ECHO_C" >&6
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; 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 | *.o | *.obj ) ;;
- *.* ) ac_cv_exeext=`expr "$ac_file" : '[^.]*\(\..*\)'`
- export ac_cv_exeext
- break;;
- * ) break;;
- esac
-done
-else
- { { echo "$as_me:$LINENO: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of executables: cannot compile and link
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest$ac_cv_exeext
-echo "$as_me:$LINENO: result: $ac_cv_exeext" >&5
-echo "${ECHO_T}$ac_cv_exeext" >&6
-
-rm -f conftest.$ac_ext
-EXEEXT=$ac_cv_exeext
-ac_exeext=$EXEEXT
-echo "$as_me:$LINENO: checking for suffix of object files" >&5
-echo $ECHO_N "checking for suffix of object files... $ECHO_C" >&6
-if test "${ac_cv_objext+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.o conftest.obj
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; then
- for ac_file in `(ls conftest.o conftest.obj; ls conftest.*) 2>/dev/null`; do
- case $ac_file in
- *.$ac_ext | *.xcoff | *.tds | *.d | *.pdb | *.xSYM | *.bb | *.bbg ) ;;
- *) ac_cv_objext=`expr "$ac_file" : '.*\.\(.*\)'`
- break;;
- esac
-done
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-{ { echo "$as_me:$LINENO: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&5
-echo "$as_me: error: cannot compute suffix of object files: cannot compile
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-fi
-
-rm -f conftest.$ac_cv_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_objext" >&5
-echo "${ECHO_T}$ac_cv_objext" >&6
-OBJEXT=$ac_cv_objext
-ac_objext=$OBJEXT
-echo "$as_me:$LINENO: checking whether we are using the GNU C compiler" >&5
-echo $ECHO_N "checking whether we are using the GNU C compiler... $ECHO_C" >&6
-if test "${ac_cv_c_compiler_gnu+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-#ifndef __GNUC__
- choke me
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_compiler_gnu=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_compiler_gnu=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-ac_cv_c_compiler_gnu=$ac_compiler_gnu
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_compiler_gnu" >&5
-echo "${ECHO_T}$ac_cv_c_compiler_gnu" >&6
-GCC=`test $ac_compiler_gnu = yes && echo yes`
-ac_test_CFLAGS=${CFLAGS+set}
-ac_save_CFLAGS=$CFLAGS
-CFLAGS="-g"
-echo "$as_me:$LINENO: checking whether $CC accepts -g" >&5
-echo $ECHO_N "checking whether $CC accepts -g... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_g+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_g=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_prog_cc_g=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_cc_g" >&5
-echo "${ECHO_T}$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
-echo "$as_me:$LINENO: checking for $CC option to accept ANSI C" >&5
-echo $ECHO_N "checking for $CC option to accept ANSI C... $ECHO_C" >&6
-if test "${ac_cv_prog_cc_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_prog_cc_stdc=no
-ac_save_CC=$CC
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdarg.h>
-#include <stdio.h>
-#include <sys/types.h>
-#include <sys/stat.h>
-/* 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 -std1 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 -std1. */
-int osf4_cc_array ['\x00' == 0 ? 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
-# Don't try gcc -ansi; that turns off useful extensions and
-# breaks some systems' header files.
-# AIX -qlanglvl=ansi
-# Ultrix and OSF/1 -std1
-# HP-UX 10.20 and later -Ae
-# HP-UX older versions -Aa -D_HPUX_SOURCE
-# SVR4 -Xc -D__EXTENSIONS__
-for ac_arg in "" -qlanglvl=ansi -std1 -Ae "-Aa -D_HPUX_SOURCE" "-Xc -D__EXTENSIONS__"
-do
- CC="$ac_save_CC $ac_arg"
- rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_prog_cc_stdc=$ac_arg
-break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext
-done
-rm -f conftest.$ac_ext conftest.$ac_objext
-CC=$ac_save_CC
-
-fi
-
-case "x$ac_cv_prog_cc_stdc" in
- x|xno)
- echo "$as_me:$LINENO: result: none needed" >&5
-echo "${ECHO_T}none needed" >&6 ;;
- *)
- echo "$as_me:$LINENO: result: $ac_cv_prog_cc_stdc" >&5
-echo "${ECHO_T}$ac_cv_prog_cc_stdc" >&6
- CC="$CC $ac_cv_prog_cc_stdc" ;;
-esac
-
-# Some people use a C++ compiler to compile C. Since we use `exit',
-# in C++ we need to declare it. In case someone uses the same compiler
-# for both compiling C and C++ we need to have the C++ compiler decide
-# the declaration of exit, since it's the most demanding environment.
-cat >conftest.$ac_ext <<_ACEOF
-#ifndef __cplusplus
- choke me
-#endif
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- for ac_declaration in \
- '' \
- 'extern "C" void std::exit (int) throw (); using std::exit;' \
- 'extern "C" void std::exit (int); using std::exit;' \
- 'extern "C" void exit (int) throw ();' \
- 'extern "C" void exit (int);' \
- 'void exit (int);'
-do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-#include <stdlib.h>
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-continue
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_declaration
-int
-main ()
-{
-exit (42);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-rm -f conftest*
-if test -n "$ac_declaration"; then
- echo '#ifdef __cplusplus' >>confdefs.h
- echo $ac_declaration >>confdefs.h
- echo '#endif' >>confdefs.h
-fi
-
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext 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
-
-# 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.
-echo "$as_me:$LINENO: checking for a BSD-compatible install" >&5
-echo $ECHO_N "checking for a BSD-compatible install... $ECHO_C" >&6
-if test -z "$INSTALL"; then
-if test "${ac_cv_path_install+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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_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
- ac_cv_path_install="$as_dir/$ac_prog$ac_exec_ext -c"
- break 3
- fi
- fi
- done
- done
- ;;
-esac
-done
-
-
-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. We don't cache a
- # path for INSTALL within a source directory, because that will
- # break other packages using the cache if that directory is
- # removed, or if the path is relative.
- INSTALL=$ac_install_sh
- fi
-fi
-echo "$as_me:$LINENO: result: $INSTALL" >&5
-echo "${ECHO_T}$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'
-
-
-# Put a plausible default for CC_FOR_BUILD in Makefile.
-if test "x$cross_compiling" = "xno"; then
- CC_FOR_BUILD='$(CC)'
-else
- CC_FOR_BUILD=gcc
-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
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_RANLIB="${ac_tool_prefix}ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
-fi
-fi
-RANLIB=$ac_cv_prog_RANLIB
-if test -n "$RANLIB"; then
- echo "$as_me:$LINENO: result: $RANLIB" >&5
-echo "${ECHO_T}$RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}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
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_prog_ac_ct_RANLIB+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_prog_ac_ct_RANLIB="ranlib"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_prog_ac_ct_RANLIB" && ac_cv_prog_ac_ct_RANLIB=":"
-fi
-fi
-ac_ct_RANLIB=$ac_cv_prog_ac_ct_RANLIB
-if test -n "$ac_ct_RANLIB"; then
- echo "$as_me:$LINENO: result: $ac_ct_RANLIB" >&5
-echo "${ECHO_T}$ac_ct_RANLIB" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- RANLIB=$ac_ct_RANLIB
-else
- RANLIB="$ac_cv_prog_RANLIB"
-fi
-
-
-ALL_LINGUAS=
-echo "$as_me:$LINENO: checking whether ${MAKE-make} sets \$(MAKE)" >&5
-echo $ECHO_N "checking whether ${MAKE-make} sets \$(MAKE)... $ECHO_C" >&6
-set dummy ${MAKE-make}; ac_make=`echo "$2" | sed 'y,:./+-,___p_,'`
-if eval "test \"\${ac_cv_prog_make_${ac_make}_set+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.make <<\_ACEOF
-all:
- @echo 'ac_maketemp="$(MAKE)"'
-_ACEOF
-# GNU make sometimes prints "make[1]: Entering...", which would confuse us.
-eval `${MAKE-make} -f conftest.make 2>/dev/null | grep temp=`
-if test -n "$ac_maketemp"; then
- eval ac_cv_prog_make_${ac_make}_set=yes
-else
- eval ac_cv_prog_make_${ac_make}_set=no
-fi
-rm -f conftest.make
-fi
-if eval "test \"`echo '$ac_cv_prog_make_'${ac_make}_set`\" = yes"; then
- echo "$as_me:$LINENO: result: yes" >&5
-echo "${ECHO_T}yes" >&6
- SET_MAKE=
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
- SET_MAKE="MAKE=${MAKE-make}"
-fi
-
-
-echo "$as_me:$LINENO: checking for library containing strerror" >&5
-echo $ECHO_N "checking for library containing strerror... $ECHO_C" >&6
-if test "${ac_cv_search_strerror+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_func_search_save_LIBS=$LIBS
-ac_cv_search_strerror=no
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char strerror ();
-int
-main ()
-{
-strerror ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_search_strerror="none required"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-if test "$ac_cv_search_strerror" = no; then
- for ac_lib in cposix; do
- LIBS="-l$ac_lib $ac_func_search_save_LIBS"
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char strerror ();
-int
-main ()
-{
-strerror ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_search_strerror="-l$ac_lib"
-break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- done
-fi
-LIBS=$ac_func_search_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_search_strerror" >&5
-echo "${ECHO_T}$ac_cv_search_strerror" >&6
-if test "$ac_cv_search_strerror" != no; then
- test "$ac_cv_search_strerror" = "none required" || LIBS="$ac_cv_search_strerror $LIBS"
-
-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
-echo "$as_me:$LINENO: checking how to run the C preprocessor" >&5
-echo $ECHO_N "checking how to run the C preprocessor... $ECHO_C" >&6
-# On Suns, sometimes $CPP names a directory.
-if test -n "$CPP" && test -d "$CPP"; then
- CPP=
-fi
-if test -z "$CPP"; then
- if test "${ac_cv_prog_CPP+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&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 >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- break
-fi
-
- done
- ac_cv_prog_CPP=$CPP
-
-fi
- CPP=$ac_cv_prog_CPP
-else
- ac_cv_prog_CPP=$CPP
-fi
-echo "$as_me:$LINENO: result: $CPP" >&5
-echo "${ECHO_T}$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 >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __STDC__
-# include <limits.h>
-#else
-# include <assert.h>
-#endif
- Syntax error
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- :
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Broken: fails on valid input.
-continue
-fi
-rm -f conftest.err conftest.$ac_ext
-
- # OK, works on sane cases. Now check whether non-existent headers
- # can be detected and how.
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ac_nonexistent.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- # Broken: success on invalid input.
-continue
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- # Passes both tests.
-ac_preproc_ok=:
-break
-fi
-rm -f conftest.err conftest.$ac_ext
-
-done
-# Because of `break', _AC_PREPROC_IFELSE's cleaning code was skipped.
-rm -f conftest.err conftest.$ac_ext
-if $ac_preproc_ok; then
- :
-else
- { { echo "$as_me:$LINENO: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&5
-echo "$as_me: error: C preprocessor \"$CPP\" fails sanity check
-See \`config.log' for more details." >&2;}
- { (exit 1); exit 1; }; }
-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
-
-
-echo "$as_me:$LINENO: checking for egrep" >&5
-echo $ECHO_N "checking for egrep... $ECHO_C" >&6
-if test "${ac_cv_prog_egrep+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if echo a | (grep -E '(a|b)') >/dev/null 2>&1
- then ac_cv_prog_egrep='grep -E'
- else ac_cv_prog_egrep='egrep'
- fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_prog_egrep" >&5
-echo "${ECHO_T}$ac_cv_prog_egrep" >&6
- EGREP=$ac_cv_prog_egrep
-
-
-echo "$as_me:$LINENO: checking for ANSI C header files" >&5
-echo $ECHO_N "checking for ANSI C header files... $ECHO_C" >&6
-if test "${ac_cv_header_stdc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <stdlib.h>
-#include <stdarg.h>
-#include <string.h>
-#include <float.h>
-
-int
-main ()
-{
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_header_stdc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_header_stdc=no
-fi
-rm -f 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 >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* 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 >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* 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 >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <ctype.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))
- exit(2);
- exit (0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- :
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_header_stdc=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_stdc" >&5
-echo "${ECHO_T}$ac_cv_header_stdc" >&6
-if test $ac_cv_header_stdc = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define STDC_HEADERS 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for an ANSI C-conforming const" >&5
-echo $ECHO_N "checking for an ANSI C-conforming const... $ECHO_C" >&6
-if test "${ac_cv_c_const+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-/* FIXME: Include the comments suggested by Paul. */
-#ifndef __cplusplus
- /* Ultrix mips cc rejects this. */
- typedef int charset[2];
- const charset x;
- /* SunOS 4.1.1 cc rejects this. */
- char const *const *ccp;
- char **p;
- /* NEC SVR4.0.2 mips cc rejects this. */
- struct point {int x, y;};
- static struct point const zero = {0,0};
- /* AIX XL C 1.02.0.0 rejects this.
- It does not let you subtract one const X* pointer from another in
- an arm of an if-expression whose if-part is not a constant
- expression */
- const char *g = "string";
- ccp = &g + (g ? g-g : 0);
- /* HPUX 7.0 cc rejects these. */
- ++ccp;
- p = (char**) ccp;
- ccp = (char const *const *) p;
- { /* SCO 3.2v4 cc rejects this. */
- char *t;
- char const *s = 0 ? (char *) 0 : (char const *) 0;
-
- *t++ = 0;
- }
- { /* Someone thinks the Sun supposedly-ANSI compiler will reject this. */
- int x[] = {25, 17};
- const int *foo = &x[0];
- ++foo;
- }
- { /* Sun SC1.0 ANSI compiler rejects this -- but not the above. */
- typedef const int *iptr;
- iptr p = 0;
- ++p;
- }
- { /* AIX XL C 1.02.0.0 rejects this saying
- "k.c", line 2.27: 1506-025 (S) Operand must be a modifiable lvalue. */
- struct s { int j; const int *ap[3]; };
- struct s *b; b->j = 5;
- }
- { /* ULTRIX-32 V3.1 (Rev 9) vcc rejects this */
- const int foo = 10;
- }
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_const=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_c_const=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_const" >&5
-echo "${ECHO_T}$ac_cv_c_const" >&6
-if test $ac_cv_c_const = no; then
-
-cat >>confdefs.h <<\_ACEOF
-#define const
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for inline" >&5
-echo $ECHO_N "checking for inline... $ECHO_C" >&6
-if test "${ac_cv_c_inline+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_c_inline=no
-for ac_kw in inline __inline__ __inline; do
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifndef __cplusplus
-typedef int foo_t;
-static $ac_kw foo_t static_foo () {return 0; }
-$ac_kw foo_t foo () {return 0; }
-#endif
-
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_inline=$ac_kw; break
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-done
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_inline" >&5
-echo "${ECHO_T}$ac_cv_c_inline" >&6
-
-
-case $ac_cv_c_inline in
- inline | yes) ;;
- *)
- case $ac_cv_c_inline in
- no) ac_val=;;
- *) ac_val=$ac_cv_c_inline;;
- esac
- cat >>confdefs.h <<_ACEOF
-#ifndef __cplusplus
-#define inline $ac_val
-#endif
-_ACEOF
- ;;
-esac
-
-# 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=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_Header=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_Header=no"
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-echo "$as_me:$LINENO: checking for off_t" >&5
-echo $ECHO_N "checking for off_t... $ECHO_C" >&6
-if test "${ac_cv_type_off_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((off_t *) 0)
- return 0;
-if (sizeof (off_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_off_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_off_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_off_t" >&5
-echo "${ECHO_T}$ac_cv_type_off_t" >&6
-if test $ac_cv_type_off_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define off_t long
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for size_t" >&5
-echo $ECHO_N "checking for size_t... $ECHO_C" >&6
-if test "${ac_cv_type_size_t+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-int
-main ()
-{
-if ((size_t *) 0)
- return 0;
-if (sizeof (size_t))
- return 0;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_size_t=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_size_t=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_size_t" >&5
-echo "${ECHO_T}$ac_cv_type_size_t" >&6
-if test $ac_cv_type_size_t = yes; then
- :
-else
-
-cat >>confdefs.h <<_ACEOF
-#define size_t unsigned
-_ACEOF
-
-fi
-
-# The Ultrix 4.2 mips builtin alloca declared by alloca.h only works
-# for constant arguments. Useless!
-echo "$as_me:$LINENO: checking for working alloca.h" >&5
-echo $ECHO_N "checking for working alloca.h... $ECHO_C" >&6
-if test "${ac_cv_working_alloca_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <alloca.h>
-int
-main ()
-{
-char *p = (char *) alloca (2 * sizeof (int));
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_working_alloca_h=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_working_alloca_h=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_working_alloca_h" >&5
-echo "${ECHO_T}$ac_cv_working_alloca_h" >&6
-if test $ac_cv_working_alloca_h = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ALLOCA_H 1
-_ACEOF
-
-fi
-
-echo "$as_me:$LINENO: checking for alloca" >&5
-echo $ECHO_N "checking for alloca... $ECHO_C" >&6
-if test "${ac_cv_func_alloca_works+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#ifdef __GNUC__
-# define alloca __builtin_alloca
-#else
-# ifdef _MSC_VER
-# include <malloc.h>
-# define alloca _alloca
-# else
-# if HAVE_ALLOCA_H
-# include <alloca.h>
-# else
-# ifdef _AIX
- #pragma alloca
-# else
-# ifndef alloca /* predefined by HP cc +Olibcalls */
-char *alloca ();
-# endif
-# endif
-# endif
-# endif
-#endif
-
-int
-main ()
-{
-char *p = (char *) alloca (1);
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_alloca_works=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_func_alloca_works=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_alloca_works" >&5
-echo "${ECHO_T}$ac_cv_func_alloca_works" >&6
-
-if test $ac_cv_func_alloca_works = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_ALLOCA 1
-_ACEOF
-
-else
- # The SVR3 libPW and SVR4 libucb both contain incompatible functions
-# that cause trouble. Some versions do not even contain alloca or
-# contain a buggy version. If you still want to use their alloca,
-# use ar to extract alloca.o from them instead of compiling alloca.c.
-
-ALLOCA=alloca.$ac_objext
-
-cat >>confdefs.h <<\_ACEOF
-#define C_ALLOCA 1
-_ACEOF
-
-
-echo "$as_me:$LINENO: checking whether \`alloca.c' needs Cray hooks" >&5
-echo $ECHO_N "checking whether \`alloca.c' needs Cray hooks... $ECHO_C" >&6
-if test "${ac_cv_os_cray+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#if defined(CRAY) && ! defined(CRAY2)
-webecray
-#else
-wenotbecray
-#endif
-
-_ACEOF
-if (eval "$ac_cpp conftest.$ac_ext") 2>&5 |
- $EGREP "webecray" >/dev/null 2>&1; then
- ac_cv_os_cray=yes
-else
- ac_cv_os_cray=no
-fi
-rm -f conftest*
-
-fi
-echo "$as_me:$LINENO: result: $ac_cv_os_cray" >&5
-echo "${ECHO_T}$ac_cv_os_cray" >&6
-if test $ac_cv_os_cray = yes; then
- for ac_func in _getb67 GETB67 getb67; do
- as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); 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 $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* 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_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
-
-cat >>confdefs.h <<_ACEOF
-#define CRAY_STACKSEG_END $ac_func
-_ACEOF
-
- break
-fi
-
- done
-fi
-
-echo "$as_me:$LINENO: checking stack direction for C alloca" >&5
-echo $ECHO_N "checking stack direction for C alloca... $ECHO_C" >&6
-if test "${ac_cv_c_stack_direction+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_c_stack_direction=0
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-int
-find_stack_direction ()
-{
- static char *addr = 0;
- auto char dummy;
- if (addr == 0)
- {
- addr = &dummy;
- return find_stack_direction ();
- }
- else
- return (&dummy > addr) ? 1 : -1;
-}
-
-int
-main ()
-{
- exit (find_stack_direction () < 0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_stack_direction=1
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_c_stack_direction=-1
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_stack_direction" >&5
-echo "${ECHO_T}$ac_cv_c_stack_direction" >&6
-
-cat >>confdefs.h <<_ACEOF
-#define STACK_DIRECTION $ac_cv_c_stack_direction
-_ACEOF
-
-
-fi
-
-
-
-for ac_header in stdlib.h unistd.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-for ac_func in getpagesize
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); 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 $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* 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_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-echo "$as_me:$LINENO: checking for working mmap" >&5
-echo $ECHO_N "checking for working mmap... $ECHO_C" >&6
-if test "${ac_cv_func_mmap_fixed_mapped+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- if test "$cross_compiling" = yes; then
- ac_cv_func_mmap_fixed_mapped=no
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-/* malloc might have been renamed as rpl_malloc. */
-#undef malloc
-
-/* Thanks to Mike Haertel and Jim Avera for this test.
- Here is a matrix of mmap possibilities:
- mmap private not fixed
- mmap private fixed at somewhere currently unmapped
- mmap private fixed at somewhere already mapped
- mmap shared not fixed
- mmap shared fixed at somewhere currently unmapped
- mmap shared fixed at somewhere already mapped
- For private mappings, we should verify that changes cannot be read()
- back from the file, nor mmap's back from the file at a different
- address. (There have been systems where private was not correctly
- implemented like the infamous i386 svr4.0, and systems where the
- VM page cache was not coherent with the file system buffer cache
- like early versions of FreeBSD and possibly contemporary NetBSD.)
- For shared mappings, we should conversely verify that changes get
- propagated back to all the places they're supposed to be.
-
- Grep wants private fixed already mapped.
- The main things grep needs to know about mmap are:
- * does it exist and is it safe to write into the mmap'd area
- * how to use it (BSD variants) */
-
-#include <fcntl.h>
-#include <sys/mman.h>
-
-#if !STDC_HEADERS && !HAVE_STDLIB_H
-char *malloc ();
-#endif
-
-/* This mess was copied from the GNU getpagesize.h. */
-#if !HAVE_GETPAGESIZE
-/* Assume that all systems that can run configure have sys/param.h. */
-# if !HAVE_SYS_PARAM_H
-# define HAVE_SYS_PARAM_H 1
-# endif
-
-# ifdef _SC_PAGESIZE
-# define getpagesize() sysconf(_SC_PAGESIZE)
-# else /* no _SC_PAGESIZE */
-# if HAVE_SYS_PARAM_H
-# include <sys/param.h>
-# ifdef EXEC_PAGESIZE
-# define getpagesize() EXEC_PAGESIZE
-# else /* no EXEC_PAGESIZE */
-# ifdef NBPG
-# define getpagesize() NBPG * CLSIZE
-# ifndef CLSIZE
-# define CLSIZE 1
-# endif /* no CLSIZE */
-# else /* no NBPG */
-# ifdef NBPC
-# define getpagesize() NBPC
-# else /* no NBPC */
-# ifdef PAGESIZE
-# define getpagesize() PAGESIZE
-# endif /* PAGESIZE */
-# endif /* no NBPC */
-# endif /* no NBPG */
-# endif /* no EXEC_PAGESIZE */
-# else /* no HAVE_SYS_PARAM_H */
-# define getpagesize() 8192 /* punt totally */
-# endif /* no HAVE_SYS_PARAM_H */
-# endif /* no _SC_PAGESIZE */
-
-#endif /* no HAVE_GETPAGESIZE */
-
-int
-main ()
-{
- char *data, *data2, *data3;
- int i, pagesize;
- int fd;
-
- pagesize = getpagesize ();
-
- /* First, make a file with some known garbage in it. */
- data = (char *) malloc (pagesize);
- if (!data)
- exit (1);
- for (i = 0; i < pagesize; ++i)
- *(data + i) = rand ();
- umask (0);
- fd = creat ("conftest.mmap", 0600);
- if (fd < 0)
- exit (1);
- if (write (fd, data, pagesize) != pagesize)
- exit (1);
- close (fd);
-
- /* Next, try to mmap the file at a fixed address which already has
- something else allocated at it. If we can, also make sure that
- we see the same garbage. */
- fd = open ("conftest.mmap", O_RDWR);
- if (fd < 0)
- exit (1);
- data2 = (char *) malloc (2 * pagesize);
- if (!data2)
- exit (1);
- data2 += (pagesize - ((long) data2 & (pagesize - 1))) & (pagesize - 1);
- if (data2 != mmap (data2, pagesize, PROT_READ | PROT_WRITE,
- MAP_PRIVATE | MAP_FIXED, fd, 0L))
- exit (1);
- for (i = 0; i < pagesize; ++i)
- if (*(data + i) != *(data2 + i))
- exit (1);
-
- /* Finally, make sure that changes to the mapped area do not
- percolate back to the file as seen by read(). (This is a bug on
- some variants of i386 svr4.0.) */
- for (i = 0; i < pagesize; ++i)
- *(data2 + i) = *(data2 + i) + 1;
- data3 = (char *) malloc (pagesize);
- if (!data3)
- exit (1);
- if (read (fd, data3, pagesize) != pagesize)
- exit (1);
- for (i = 0; i < pagesize; ++i)
- if (*(data + i) != *(data3 + i))
- exit (1);
- close (fd);
- exit (0);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_func_mmap_fixed_mapped=yes
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_func_mmap_fixed_mapped=no
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-echo "$as_me:$LINENO: result: $ac_cv_func_mmap_fixed_mapped" >&5
-echo "${ECHO_T}$ac_cv_func_mmap_fixed_mapped" >&6
-if test $ac_cv_func_mmap_fixed_mapped = yes; then
-
-cat >>confdefs.h <<\_ACEOF
-#define HAVE_MMAP 1
-_ACEOF
-
-fi
-rm -f conftest.mmap
-
-
-
-
-
-
-
-
-
-
-
-for ac_header in argz.h limits.h locale.h nl_types.h malloc.h string.h \
-unistd.h values.h sys/param.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-
-
-
-
-
-
-for ac_func in getcwd munmap putenv setenv setlocale strchr strcasecmp \
-__argz_count __argz_stringify __argz_next
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); 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 $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* 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_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
- if test "${ac_cv_func_stpcpy+set}" != "set"; then
-
-for ac_func in stpcpy
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); 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 $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* 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_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- fi
- if test "${ac_cv_func_stpcpy}" = "yes"; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_STPCPY 1
-_ACEOF
-
- fi
-
- if test $ac_cv_header_locale_h = yes; then
- echo "$as_me:$LINENO: checking for LC_MESSAGES" >&5
-echo $ECHO_N "checking for LC_MESSAGES... $ECHO_C" >&6
-if test "${am_cv_val_LC_MESSAGES+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <locale.h>
-int
-main ()
-{
-return LC_MESSAGES
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- am_cv_val_LC_MESSAGES=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-am_cv_val_LC_MESSAGES=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $am_cv_val_LC_MESSAGES" >&5
-echo "${ECHO_T}$am_cv_val_LC_MESSAGES" >&6
- if test $am_cv_val_LC_MESSAGES = yes; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_LC_MESSAGES 1
-_ACEOF
-
- fi
- fi
- echo "$as_me:$LINENO: checking whether NLS is requested" >&5
-echo $ECHO_N "checking whether NLS is requested... $ECHO_C" >&6
- # Check whether --enable-nls or --disable-nls was given.
-if test "${enable_nls+set}" = set; then
- enableval="$enable_nls"
- USE_NLS=$enableval
-else
- USE_NLS=yes
-fi;
- echo "$as_me:$LINENO: result: $USE_NLS" >&5
-echo "${ECHO_T}$USE_NLS" >&6
-
-
- USE_INCLUDED_LIBINTL=no
-
- if test "$USE_NLS" = "yes"; then
- cat >>confdefs.h <<\_ACEOF
-#define ENABLE_NLS 1
-_ACEOF
-
- echo "$as_me:$LINENO: checking whether included gettext is requested" >&5
-echo $ECHO_N "checking whether included gettext is requested... $ECHO_C" >&6
-
-# Check whether --with-included-gettext or --without-included-gettext was given.
-if test "${with_included_gettext+set}" = set; then
- withval="$with_included_gettext"
- nls_cv_force_use_gnu_gettext=$withval
-else
- nls_cv_force_use_gnu_gettext=no
-fi;
- echo "$as_me:$LINENO: result: $nls_cv_force_use_gnu_gettext" >&5
-echo "${ECHO_T}$nls_cv_force_use_gnu_gettext" >&6
-
- nls_cv_use_gnu_gettext="$nls_cv_force_use_gnu_gettext"
- if test "$nls_cv_force_use_gnu_gettext" != "yes"; then
- nls_cv_header_intl=
- nls_cv_header_libgt=
- CATOBJEXT=NONE
-
- if test "${ac_cv_header_libintl_h+set}" = set; then
- echo "$as_me:$LINENO: checking for libintl.h" >&5
-echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6
-if test "${ac_cv_header_libintl_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5
-echo "${ECHO_T}$ac_cv_header_libintl_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking libintl.h usability" >&5
-echo $ECHO_N "checking libintl.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <libintl.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking libintl.h presence" >&5
-echo $ECHO_N "checking libintl.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <libintl.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: libintl.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: libintl.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: libintl.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: libintl.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: libintl.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: libintl.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: libintl.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: libintl.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: libintl.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: libintl.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: libintl.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: libintl.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: libintl.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: libintl.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for libintl.h" >&5
-echo $ECHO_N "checking for libintl.h... $ECHO_C" >&6
-if test "${ac_cv_header_libintl_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_libintl_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_libintl_h" >&5
-echo "${ECHO_T}$ac_cv_header_libintl_h" >&6
-
-fi
-if test $ac_cv_header_libintl_h = yes; then
- echo "$as_me:$LINENO: checking for gettext in libc" >&5
-echo $ECHO_N "checking for gettext in libc... $ECHO_C" >&6
-if test "${gt_cv_func_gettext_libc+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <libintl.h>
-int
-main ()
-{
-return (int) gettext ("")
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- gt_cv_func_gettext_libc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-gt_cv_func_gettext_libc=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $gt_cv_func_gettext_libc" >&5
-echo "${ECHO_T}$gt_cv_func_gettext_libc" >&6
-
- if test "$gt_cv_func_gettext_libc" != "yes"; then
- echo "$as_me:$LINENO: checking for bindtextdomain in -lintl" >&5
-echo $ECHO_N "checking for bindtextdomain in -lintl... $ECHO_C" >&6
-if test "${ac_cv_lib_intl_bindtextdomain+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lintl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char bindtextdomain ();
-int
-main ()
-{
-bindtextdomain ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_intl_bindtextdomain=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_intl_bindtextdomain=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_intl_bindtextdomain" >&5
-echo "${ECHO_T}$ac_cv_lib_intl_bindtextdomain" >&6
-if test $ac_cv_lib_intl_bindtextdomain = yes; then
- echo "$as_me:$LINENO: checking for gettext in libintl" >&5
-echo $ECHO_N "checking for gettext in libintl... $ECHO_C" >&6
-if test "${gt_cv_func_gettext_libintl+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-return (int) gettext ("")
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- gt_cv_func_gettext_libintl=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-gt_cv_func_gettext_libintl=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $gt_cv_func_gettext_libintl" >&5
-echo "${ECHO_T}$gt_cv_func_gettext_libintl" >&6
-fi
-
- fi
-
- if test "$gt_cv_func_gettext_libc" = "yes" \
- || test "$gt_cv_func_gettext_libintl" = "yes"; then
- cat >>confdefs.h <<\_ACEOF
-#define HAVE_GETTEXT 1
-_ACEOF
-
- # Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_MSGFMT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case "$MSGFMT" in
- /*)
- ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then
- ac_cv_path_MSGFMT="$ac_dir/$ac_word"
- break
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="no"
- ;;
-esac
-fi
-MSGFMT="$ac_cv_path_MSGFMT"
-if test -n "$MSGFMT"; then
- echo "$as_me:$LINENO: result: $MSGFMT" >&5
-echo "${ECHO_T}$MSGFMT" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
- if test "$MSGFMT" != "no"; then
-
-for ac_func in dcgettext
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); 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 $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* 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_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
- # Extract the first word of "gmsgfmt", so it can be a program name with args.
-set dummy gmsgfmt; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_GMSGFMT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $GMSGFMT in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
- ;;
- *)
- 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
- ;;
-esac
-fi
-GMSGFMT=$ac_cv_path_GMSGFMT
-
-if test -n "$GMSGFMT"; then
- echo "$as_me:$LINENO: result: $GMSGFMT" >&5
-echo "${ECHO_T}$GMSGFMT" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- # Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_XGETTEXT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case "$XGETTEXT" in
- /*)
- ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then
- ac_cv_path_XGETTEXT="$ac_dir/$ac_word"
- break
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
- ;;
-esac
-fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test -n "$XGETTEXT"; then
- echo "$as_me:$LINENO: result: $XGETTEXT" >&5
-echo "${ECHO_T}$XGETTEXT" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-int
-main ()
-{
-extern int _nl_msg_cat_cntr;
- return _nl_msg_cat_cntr
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- CATOBJEXT=.gmo
- DATADIRNAME=share
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-CATOBJEXT=.mo
- DATADIRNAME=lib
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
- INSTOBJEXT=.mo
- fi
- fi
-
-fi
-
-
-
-
- if test "$CATOBJEXT" = "NONE"; then
- nls_cv_use_gnu_gettext=yes
- fi
- fi
-
- if test "$nls_cv_use_gnu_gettext" = "yes"; then
- INTLOBJS="\$(GETTOBJS)"
- # Extract the first word of "msgfmt", so it can be a program name with args.
-set dummy msgfmt; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_MSGFMT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case "$MSGFMT" in
- /*)
- ac_cv_path_MSGFMT="$MSGFMT" # Let the user override the test with a path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test -z "`$ac_dir/$ac_word -h 2>&1 | grep 'dv '`"; then
- ac_cv_path_MSGFMT="$ac_dir/$ac_word"
- break
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_MSGFMT" && ac_cv_path_MSGFMT="msgfmt"
- ;;
-esac
-fi
-MSGFMT="$ac_cv_path_MSGFMT"
-if test -n "$MSGFMT"; then
- echo "$as_me:$LINENO: result: $MSGFMT" >&5
-echo "${ECHO_T}$MSGFMT" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- # Extract the first word of "gmsgfmt", so it can be a program name with args.
-set dummy gmsgfmt; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_GMSGFMT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case $GMSGFMT in
- [\\/]* | ?:[\\/]*)
- ac_cv_path_GMSGFMT="$GMSGFMT" # Let the user override the test with a path.
- ;;
- *)
- 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_executable_p "$as_dir/$ac_word$ac_exec_ext"; then
- ac_cv_path_GMSGFMT="$as_dir/$ac_word$ac_exec_ext"
- echo "$as_me:$LINENO: found $as_dir/$ac_word$ac_exec_ext" >&5
- break 2
- fi
-done
-done
-
- test -z "$ac_cv_path_GMSGFMT" && ac_cv_path_GMSGFMT="$MSGFMT"
- ;;
-esac
-fi
-GMSGFMT=$ac_cv_path_GMSGFMT
-
-if test -n "$GMSGFMT"; then
- echo "$as_me:$LINENO: result: $GMSGFMT" >&5
-echo "${ECHO_T}$GMSGFMT" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
- # Extract the first word of "xgettext", so it can be a program name with args.
-set dummy xgettext; ac_word=$2
-echo "$as_me:$LINENO: checking for $ac_word" >&5
-echo $ECHO_N "checking for $ac_word... $ECHO_C" >&6
-if test "${ac_cv_path_XGETTEXT+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- case "$XGETTEXT" in
- /*)
- ac_cv_path_XGETTEXT="$XGETTEXT" # Let the user override the test with a path.
- ;;
- *)
- IFS="${IFS= }"; ac_save_ifs="$IFS"; IFS="${IFS}:"
- for ac_dir in $PATH; do
- test -z "$ac_dir" && ac_dir=.
- if test -f $ac_dir/$ac_word; then
- if test -z "`$ac_dir/$ac_word -h 2>&1 | grep '(HELP)'`"; then
- ac_cv_path_XGETTEXT="$ac_dir/$ac_word"
- break
- fi
- fi
- done
- IFS="$ac_save_ifs"
- test -z "$ac_cv_path_XGETTEXT" && ac_cv_path_XGETTEXT=":"
- ;;
-esac
-fi
-XGETTEXT="$ac_cv_path_XGETTEXT"
-if test -n "$XGETTEXT"; then
- echo "$as_me:$LINENO: result: $XGETTEXT" >&5
-echo "${ECHO_T}$XGETTEXT" >&6
-else
- echo "$as_me:$LINENO: result: no" >&5
-echo "${ECHO_T}no" >&6
-fi
-
-
- USE_INCLUDED_LIBINTL=yes
- CATOBJEXT=.gmo
- INSTOBJEXT=.mo
- DATADIRNAME=share
- INTLDEPS='$(top_builddir)/../intl/libintl.a'
- INTLLIBS=$INTLDEPS
- LIBS=`echo $LIBS | sed -e 's/-lintl//'`
- nls_cv_header_intl=libintl.h
- nls_cv_header_libgt=libgettext.h
- fi
-
- if test "$XGETTEXT" != ":"; then
- if $XGETTEXT --omit-header /dev/null 2> /dev/null; then
- : ;
- else
- echo "$as_me:$LINENO: result: found xgettext programs is not GNU xgettext; ignore it" >&5
-echo "${ECHO_T}found xgettext programs is not GNU xgettext; ignore it" >&6
- XGETTEXT=":"
- fi
- fi
-
- # We need to process the po/ directory.
- POSUB=po
- else
- DATADIRNAME=share
- nls_cv_header_intl=libintl.h
- nls_cv_header_libgt=libgettext.h
- fi
-
- # If this is used in GNU gettext we have to set USE_NLS to `yes'
- # because some of the sources are only built for this goal.
- if test "$PACKAGE" = gettext; then
- USE_NLS=yes
- USE_INCLUDED_LIBINTL=yes
- fi
-
- for lang in $ALL_LINGUAS; do
- GMOFILES="$GMOFILES $lang.gmo"
- POFILES="$POFILES $lang.po"
- done
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- if test "x$CATOBJEXT" != "x"; then
- if test "x$ALL_LINGUAS" = "x"; then
- LINGUAS=
- else
- echo "$as_me:$LINENO: checking for catalogs to be installed" >&5
-echo $ECHO_N "checking for catalogs to be installed... $ECHO_C" >&6
- NEW_LINGUAS=
- for lang in ${LINGUAS=$ALL_LINGUAS}; do
- case "$ALL_LINGUAS" in
- *$lang*) NEW_LINGUAS="$NEW_LINGUAS $lang" ;;
- esac
- done
- LINGUAS=$NEW_LINGUAS
- echo "$as_me:$LINENO: result: $LINGUAS" >&5
-echo "${ECHO_T}$LINGUAS" >&6
- fi
-
- if test -n "$LINGUAS"; then
- for lang in $LINGUAS; do CATALOGS="$CATALOGS $lang$CATOBJEXT"; done
- fi
- fi
-
- if test $ac_cv_header_locale_h = yes; then
- INCLUDE_LOCALE_H="#include <locale.h>"
- else
- INCLUDE_LOCALE_H="\
-/* The system does not provide the header <locale.h>. Take care yourself. */"
- fi
-
-
- if test -f $srcdir/po2tbl.sed.in; then
- if test "$CATOBJEXT" = ".cat"; then
- if test "${ac_cv_header_linux_version_h+set}" = set; then
- echo "$as_me:$LINENO: checking for linux/version.h" >&5
-echo $ECHO_N "checking for linux/version.h... $ECHO_C" >&6
-if test "${ac_cv_header_linux_version_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_linux_version_h" >&5
-echo "${ECHO_T}$ac_cv_header_linux_version_h" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking linux/version.h usability" >&5
-echo $ECHO_N "checking linux/version.h usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <linux/version.h>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking linux/version.h presence" >&5
-echo $ECHO_N "checking linux/version.h presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <linux/version.h>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: linux/version.h: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: linux/version.h: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/version.h: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: linux/version.h: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: linux/version.h: present but cannot be compiled" >&5
-echo "$as_me: WARNING: linux/version.h: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/version.h: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: linux/version.h: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/version.h: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: linux/version.h: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/version.h: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: linux/version.h: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/version.h: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: linux/version.h: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: linux/version.h: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: linux/version.h: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for linux/version.h" >&5
-echo $ECHO_N "checking for linux/version.h... $ECHO_C" >&6
-if test "${ac_cv_header_linux_version_h+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_cv_header_linux_version_h=$ac_header_preproc
-fi
-echo "$as_me:$LINENO: result: $ac_cv_header_linux_version_h" >&5
-echo "${ECHO_T}$ac_cv_header_linux_version_h" >&6
-
-fi
-if test $ac_cv_header_linux_version_h = yes; then
- msgformat=linux
-else
- msgformat=xopen
-fi
-
-
-
- sed -e '/^#/d' $srcdir/$msgformat-msg.sed > po2msg.sed
- fi
- sed -e '/^#.*[^\\]$/d' -e '/^#$/d' \
- $srcdir/po2tbl.sed.in > po2tbl.sed
- fi
-
- if test "$PACKAGE" = "gettext"; then
- GT_NO="#NO#"
- GT_YES=
- else
- GT_NO=
- GT_YES="#YES#"
- fi
-
-
-
- MKINSTALLDIRS="\$(srcdir)/../../mkinstalldirs"
-
-
- l=
-
-
- if test -d $srcdir/po; then
- test -d po || mkdir po
- if test "x$srcdir" != "x."; then
- if test "x`echo $srcdir | sed 's@/.*@@'`" = "x"; then
- posrcprefix="$srcdir/"
- else
- posrcprefix="../$srcdir/"
- fi
- else
- posrcprefix="../"
- fi
- rm -f po/POTFILES
- sed -e "/^#/d" -e "/^\$/d" -e "s,.*, $posrcprefix& \\\\," -e "\$s/\(.*\) \\\\/\1/" \
- < $srcdir/po/POTFILES.in > po/POTFILES
- 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=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-for ac_header in sys/time.h sys/resource.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-for ac_header in fcntl.h fpu_control.h
-do
-as_ac_Header=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `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=`echo "ac_cv_header_$ac_header" | $as_tr_sh`
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-else
- # Is the header compilable?
-echo "$as_me:$LINENO: checking $ac_header usability" >&5
-echo $ECHO_N "checking $ac_header usability... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-$ac_includes_default
-#include <$ac_header>
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_header_compiler=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_header_compiler=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_compiler" >&5
-echo "${ECHO_T}$ac_header_compiler" >&6
-
-# Is the header present?
-echo "$as_me:$LINENO: checking $ac_header presence" >&5
-echo $ECHO_N "checking $ac_header presence... $ECHO_C" >&6
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <$ac_header>
-_ACEOF
-if { (eval echo "$as_me:$LINENO: \"$ac_cpp conftest.$ac_ext\"") >&5
- (eval $ac_cpp conftest.$ac_ext) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } >/dev/null; then
- if test -s conftest.err; then
- ac_cpp_err=$ac_c_preproc_warn_flag
- ac_cpp_err=$ac_cpp_err$ac_c_werror_flag
- else
- ac_cpp_err=
- fi
-else
- ac_cpp_err=yes
-fi
-if test -z "$ac_cpp_err"; then
- ac_header_preproc=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
- ac_header_preproc=no
-fi
-rm -f conftest.err conftest.$ac_ext
-echo "$as_me:$LINENO: result: $ac_header_preproc" >&5
-echo "${ECHO_T}$ac_header_preproc" >&6
-
-# So? What about this header?
-case $ac_header_compiler:$ac_header_preproc:$ac_c_preproc_warn_flag in
- yes:no: )
- { echo "$as_me:$LINENO: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&5
-echo "$as_me: WARNING: $ac_header: accepted by the compiler, rejected by the preprocessor!" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the compiler's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the compiler's result" >&2;}
- ac_header_preproc=yes
- ;;
- no:yes:* )
- { echo "$as_me:$LINENO: WARNING: $ac_header: present but cannot be compiled" >&5
-echo "$as_me: WARNING: $ac_header: present but cannot be compiled" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: check for missing prerequisite headers?" >&5
-echo "$as_me: WARNING: $ac_header: check for missing prerequisite headers?" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: see the Autoconf documentation" >&5
-echo "$as_me: WARNING: $ac_header: see the Autoconf documentation" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&5
-echo "$as_me: WARNING: $ac_header: section \"Present But Cannot Be Compiled\"" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: proceeding with the preprocessor's result" >&5
-echo "$as_me: WARNING: $ac_header: proceeding with the preprocessor's result" >&2;}
- { echo "$as_me:$LINENO: WARNING: $ac_header: in the future, the compiler will take precedence" >&5
-echo "$as_me: WARNING: $ac_header: in the future, the compiler will take precedence" >&2;}
- (
- cat <<\_ASBOX
-## ------------------------------------------ ##
-## Report this to the AC_PACKAGE_NAME lists. ##
-## ------------------------------------------ ##
-_ASBOX
- ) |
- sed "s/^/$as_me: WARNING: /" >&2
- ;;
-esac
-echo "$as_me:$LINENO: checking for $ac_header" >&5
-echo $ECHO_N "checking for $ac_header... $ECHO_C" >&6
-if eval "test \"\${$as_ac_Header+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- eval "$as_ac_Header=\$ac_header_preproc"
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_Header'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_Header'}'`" >&6
-
-fi
-if test `eval echo '${'$as_ac_Header'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_header" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-
-done
-
-
-
-
-
-for ac_func in getrusage time sigaction __setfpucw
-do
-as_ac_var=`echo "ac_cv_func_$ac_func" | $as_tr_sh`
-echo "$as_me:$LINENO: checking for $ac_func" >&5
-echo $ECHO_N "checking for $ac_func... $ECHO_C" >&6
-if eval "test \"\${$as_ac_var+set}\" = set"; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-/* Define $ac_func to an innocuous variant, in case <limits.h> declares $ac_func.
- For example, HP-UX 11i <limits.h> declares gettimeofday. */
-#define $ac_func innocuous_$ac_func
-
-/* System header to define __stub macros and hopefully few prototypes,
- which can conflict with char $ac_func (); 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 $ac_func
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-{
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char $ac_func ();
-/* 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_$ac_func) || defined (__stub___$ac_func)
-choke me
-#else
-char (*f) () = $ac_func;
-#endif
-#ifdef __cplusplus
-}
-#endif
-
-int
-main ()
-{
-return f != $ac_func;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- eval "$as_ac_var=yes"
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-eval "$as_ac_var=no"
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: `eval echo '${'$as_ac_var'}'`" >&5
-echo "${ECHO_T}`eval echo '${'$as_ac_var'}'`" >&6
-if test `eval echo '${'$as_ac_var'}'` = yes; then
- cat >>confdefs.h <<_ACEOF
-#define `echo "HAVE_$ac_func" | $as_tr_cpp` 1
-_ACEOF
-
-fi
-done
-
-
-# Check for socket libraries
-
-echo "$as_me:$LINENO: checking for bind in -lsocket" >&5
-echo $ECHO_N "checking for bind in -lsocket... $ECHO_C" >&6
-if test "${ac_cv_lib_socket_bind+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lsocket $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char bind ();
-int
-main ()
-{
-bind ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_socket_bind=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_socket_bind=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_socket_bind" >&5
-echo "${ECHO_T}$ac_cv_lib_socket_bind" >&6
-if test $ac_cv_lib_socket_bind = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBSOCKET 1
-_ACEOF
-
- LIBS="-lsocket $LIBS"
-
-fi
-
-
-echo "$as_me:$LINENO: checking for gethostbyname in -lnsl" >&5
-echo $ECHO_N "checking for gethostbyname in -lnsl... $ECHO_C" >&6
-if test "${ac_cv_lib_nsl_gethostbyname+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- ac_check_lib_save_LIBS=$LIBS
-LIBS="-lnsl $LIBS"
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-
-/* Override any gcc2 internal prototype to avoid an error. */
-#ifdef __cplusplus
-extern "C"
-#endif
-/* We use char because int might match the return type of a gcc2
- builtin and then its argument prototype would still apply. */
-char gethostbyname ();
-int
-main ()
-{
-gethostbyname ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_lib_nsl_gethostbyname=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_lib_nsl_gethostbyname=no
-fi
-rm -f conftest.err conftest.$ac_objext \
- conftest$ac_exeext conftest.$ac_ext
-LIBS=$ac_check_lib_save_LIBS
-fi
-echo "$as_me:$LINENO: result: $ac_cv_lib_nsl_gethostbyname" >&5
-echo "${ECHO_T}$ac_cv_lib_nsl_gethostbyname" >&6
-if test $ac_cv_lib_nsl_gethostbyname = yes; then
- cat >>confdefs.h <<_ACEOF
-#define HAVE_LIBNSL 1
-_ACEOF
-
- LIBS="-lnsl $LIBS"
-
-fi
-
-
-. ${srcdir}/../../bfd/configure.host
-
-
-
-USE_MAINTAINER_MODE=no
-# Check whether --enable-maintainer-mode or --disable-maintainer-mode was given.
-if test "${enable_maintainer_mode+set}" = set; then
- enableval="$enable_maintainer_mode"
- case "${enableval}" in
- yes) MAINT="" USE_MAINTAINER_MODE=yes ;;
- no) MAINT="#" ;;
- *) { { echo "$as_me:$LINENO: error: \"--enable-maintainer-mode does not take a value\"" >&5
-echo "$as_me: error: \"--enable-maintainer-mode does not take a value\"" >&2;}
- { (exit 1); exit 1; }; }; MAINT="#" ;;
-esac
-if test x"$silent" != x"yes" && test x"$MAINT" = x""; then
- echo "Setting maintainer mode" 6>&1
-fi
-else
- MAINT="#"
-fi;
-
-
-# Check whether --enable-sim-bswap or --disable-sim-bswap was given.
-if test "${enable_sim_bswap+set}" = set; then
- enableval="$enable_sim_bswap"
- case "${enableval}" in
- yes) sim_bswap="-DWITH_BSWAP=1 -DUSE_BSWAP=1";;
- no) sim_bswap="-DWITH_BSWAP=0";;
- *) { { echo "$as_me:$LINENO: error: \"--enable-sim-bswap does not take a value\"" >&5
-echo "$as_me: error: \"--enable-sim-bswap does not take a value\"" >&2;}
- { (exit 1); exit 1; }; }; sim_bswap="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_bswap" != x""; then
- echo "Setting bswap flags = $sim_bswap" 6>&1
-fi
-else
- sim_bswap=""
-fi;
-
-
-# Check whether --enable-sim-cflags or --disable-sim-cflags was given.
-if test "${enable_sim_cflags+set}" = set; then
- enableval="$enable_sim_cflags"
- case "${enableval}" in
- yes) sim_cflags="-O2 -fomit-frame-pointer";;
- trace) { { echo "$as_me:$LINENO: error: \"Please use --enable-sim-debug instead.\"" >&5
-echo "$as_me: error: \"Please use --enable-sim-debug instead.\"" >&2;}
- { (exit 1); exit 1; }; }; sim_cflags="";;
- no) sim_cflags="";;
- *) sim_cflags=`echo "${enableval}" | sed -e "s/,/ /g"`;;
-esac
-if test x"$silent" != x"yes" && test x"$sim_cflags" != x""; then
- echo "Setting sim cflags = $sim_cflags" 6>&1
-fi
-else
- sim_cflags=""
-fi;
-
-
-# Check whether --enable-sim-debug or --disable-sim-debug was given.
-if test "${enable_sim_debug+set}" = set; then
- enableval="$enable_sim_debug"
- case "${enableval}" in
- yes) sim_debug="-DDEBUG=7 -DWITH_DEBUG=7";;
- no) sim_debug="-DDEBUG=0 -DWITH_DEBUG=0";;
- *) sim_debug="-DDEBUG='(${enableval})' -DWITH_DEBUG='(${enableval})'";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_debug" != x""; then
- echo "Setting sim debug = $sim_debug" 6>&1
-fi
-else
- sim_debug=""
-fi;
-
-
-# Check whether --enable-sim-stdio or --disable-sim-stdio was given.
-if test "${enable_sim_stdio+set}" = set; then
- enableval="$enable_sim_stdio"
- case "${enableval}" in
- yes) sim_stdio="-DWITH_STDIO=DO_USE_STDIO";;
- no) sim_stdio="-DWITH_STDIO=DONT_USE_STDIO";;
- *) { { echo "$as_me:$LINENO: error: \"Unknown value $enableval passed to --enable-sim-stdio\"" >&5
-echo "$as_me: error: \"Unknown value $enableval passed to --enable-sim-stdio\"" >&2;}
- { (exit 1); exit 1; }; }; sim_stdio="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_stdio" != x""; then
- echo "Setting stdio flags = $sim_stdio" 6>&1
-fi
-else
- sim_stdio=""
-fi;
-
-
-# Check whether --enable-sim-trace or --disable-sim-trace was given.
-if test "${enable_sim_trace+set}" = set; then
- enableval="$enable_sim_trace"
- case "${enableval}" in
- yes) sim_trace="-DTRACE=1 -DWITH_TRACE=-1";;
- no) sim_trace="-DTRACE=0 -DWITH_TRACE=0";;
- [-0-9]*)
- sim_trace="-DTRACE='(${enableval})' -DWITH_TRACE='(${enableval})'";;
- [a-z]*)
- sim_trace=""
- for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
- if test x"$sim_trace" = x; then
- sim_trace="-DWITH_TRACE='(TRACE_$x"
- else
- sim_trace="${sim_trace}|TRACE_$x"
- fi
- done
- sim_trace="$sim_trace)'" ;;
-esac
-if test x"$silent" != x"yes" && test x"$sim_trace" != x""; then
- echo "Setting sim trace = $sim_trace" 6>&1
-fi
-else
- sim_trace=""
-fi;
-
-
-# Check whether --enable-sim-profile or --disable-sim-profile was given.
-if test "${enable_sim_profile+set}" = set; then
- enableval="$enable_sim_profile"
- case "${enableval}" in
- yes) sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1";;
- no) sim_profile="-DPROFILE=0 -DWITH_PROFILE=0";;
- [-0-9]*)
- sim_profile="-DPROFILE='(${enableval})' -DWITH_PROFILE='(${enableval})'";;
- [a-z]*)
- sim_profile=""
- for x in `echo "$enableval" | sed -e "s/,/ /g"`; do
- if test x"$sim_profile" = x; then
- sim_profile="-DWITH_PROFILE='(PROFILE_$x"
- else
- sim_profile="${sim_profile}|PROFILE_$x"
- fi
- done
- sim_profile="$sim_profile)'" ;;
-esac
-if test x"$silent" != x"yes" && test x"$sim_profile" != x""; then
- echo "Setting sim profile = $sim_profile" 6>&1
-fi
-else
- sim_profile="-DPROFILE=1 -DWITH_PROFILE=-1"
-fi;
-
-
-echo "$as_me:$LINENO: checking return type of signal handlers" >&5
-echo $ECHO_N "checking return type of signal handlers... $ECHO_C" >&6
-if test "${ac_cv_type_signal+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <signal.h>
-#ifdef signal
-# undef signal
-#endif
-#ifdef __cplusplus
-extern "C" void (*signal (int, void (*)(int)))(int);
-#else
-void (*signal ()) ();
-#endif
-
-int
-main ()
-{
-int i;
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_type_signal=void
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_type_signal=int
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_type_signal" >&5
-echo "${ECHO_T}$ac_cv_type_signal" >&6
-
-cat >>confdefs.h <<_ACEOF
-#define RETSIGTYPE $ac_cv_type_signal
-_ACEOF
-
-
-
-
-
-sim_link_files=
-sim_link_links=
-
-sim_link_links=tconfig.h
-if test -f ${srcdir}/tconfig.in
-then
- sim_link_files=tconfig.in
-else
- sim_link_files=../common/tconfig.in
-fi
-
-# targ-vals.def points to the libc macro description file.
-case "${target}" in
-*-*-*) TARG_VALS_DEF=../common/nltvals.def ;;
-esac
-sim_link_files="${sim_link_files} ${TARG_VALS_DEF}"
-sim_link_links="${sim_link_links} targ-vals.def"
-
-
-
-wire_endian=""
-default_endian="BIG_ENDIAN"
-# Check whether --enable-sim-endian or --disable-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=BIG_ENDIAN";;
- l*|L*) sim_endian="-DWITH_TARGET_BYTE_ORDER=LITTLE_ENDIAN";;
- yes) if test x"$wire_endian" != x; then
- sim_endian="-DWITH_TARGET_BYTE_ORDER=${wire_endian}"
- else
- if test x"$default_endian" != x; then
- sim_endian="-DWITH_TARGET_BYTE_ORDER=${default_endian}"
- else
- echo "No hard-wired endian for target $target" 1>&6
- sim_endian="-DWITH_TARGET_BYTE_ORDER=0"
- fi
- fi;;
- no) if test x"$default_endian" != x; then
- sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${default_endian}"
- else
- if test x"$wire_endian" != x; then
- sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=${wire_endian}"
- else
- echo "No default endian for target $target" 1>&6
- sim_endian="-DWITH_DEFAULT_TARGET_BYTE_ORDER=0"
- fi
- fi;;
- *) { { echo "$as_me:$LINENO: error: \"Unknown value $enableval for --enable-sim-endian\"" >&5
-echo "$as_me: error: \"Unknown value $enableval for --enable-sim-endian\"" >&2;}
- { (exit 1); exit 1; }; }; 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=${default_endian}"
-else
- if test x"$wire_endian" != x; then
- sim_endian="-DWITH_TARGET_BYTE_ORDER=${wire_endian}"
- else
- sim_endian=
- fi
-fi
-fi;
-wire_alignment="STRICT_ALIGNMENT"
-default_alignment=""
-
-# Check whether --enable-sim-alignment or --disable-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;;
- *) { { echo "$as_me:$LINENO: error: \"Unknown value $enableval passed to --enable-sim-alignment\"" >&5
-echo "$as_me: error: \"Unknown value $enableval passed to --enable-sim-alignment\"" >&2;}
- { (exit 1); exit 1; }; }; 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;
-
-# Check whether --enable-sim-hostendian or --disable-sim-hostendian was given.
-if test "${enable_sim_hostendian+set}" = set; then
- enableval="$enable_sim_hostendian"
- case "${enableval}" in
- no) sim_hostendian="-DWITH_HOST_BYTE_ORDER=0";;
- b*|B*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN";;
- l*|L*) sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN";;
- *) { { echo "$as_me:$LINENO: error: \"Unknown value $enableval for --enable-sim-hostendian\"" >&5
-echo "$as_me: error: \"Unknown value $enableval for --enable-sim-hostendian\"" >&2;}
- { (exit 1); exit 1; }; }; sim_hostendian="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_hostendian" != x""; then
- echo "Setting hostendian flags = $sim_hostendian" 6>&1
-fi
-else
-
-if test "x$cross_compiling" = "xno"; then
- echo "$as_me:$LINENO: checking whether byte ordering is bigendian" >&5
-echo $ECHO_N "checking whether byte ordering is bigendian... $ECHO_C" >&6
-if test "${ac_cv_c_bigendian+set}" = set; then
- echo $ECHO_N "(cached) $ECHO_C" >&6
-else
- # See if sys/param.h defines the BYTE_ORDER macro.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-#include <sys/types.h>
-#include <sys/param.h>
-
-int
-main ()
-{
-#if !BYTE_ORDER || !BIG_ENDIAN || !LITTLE_ENDIAN
- bogus endian macros
-#endif
-
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- # It does; now see whether it defined to BIG_ENDIAN or not.
-cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* 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
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_bigendian=yes
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-ac_cv_c_bigendian=no
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-# It does not; compile a test program.
-if test "$cross_compiling" = yes; then
- # try to guess the endianness by grepping values into an object file
- ac_cv_c_bigendian=unknown
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-short ascii_mm[] = { 0x4249, 0x4765, 0x6E44, 0x6961, 0x6E53, 0x7953, 0 };
-short ascii_ii[] = { 0x694C, 0x5454, 0x656C, 0x6E45, 0x6944, 0x6E61, 0 };
-void _ascii () { char *s = (char *) ascii_mm; s = (char *) ascii_ii; }
-short ebcdic_ii[] = { 0x89D3, 0xE3E3, 0x8593, 0x95C5, 0x89C4, 0x9581, 0 };
-short ebcdic_mm[] = { 0xC2C9, 0xC785, 0x95C4, 0x8981, 0x95E2, 0xA8E2, 0 };
-void _ebcdic () { char *s = (char *) ebcdic_mm; s = (char *) ebcdic_ii; }
-int
-main ()
-{
- _ascii (); _ebcdic ();
- ;
- return 0;
-}
-_ACEOF
-rm -f conftest.$ac_objext
-if { (eval echo "$as_me:$LINENO: \"$ac_compile\"") >&5
- (eval $ac_compile) 2>conftest.er1
- ac_status=$?
- grep -v '^ *+' conftest.er1 >conftest.err
- rm -f conftest.er1
- cat conftest.err >&5
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } &&
- { ac_try='test -z "$ac_c_werror_flag"
- || test ! -s conftest.err'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; } &&
- { ac_try='test -s conftest.$ac_objext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; 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
-else
- echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-else
- cat >conftest.$ac_ext <<_ACEOF
-/* confdefs.h. */
-_ACEOF
-cat confdefs.h >>conftest.$ac_ext
-cat >>conftest.$ac_ext <<_ACEOF
-/* end confdefs.h. */
-int
-main ()
-{
- /* Are we little or big endian? From Harbison&Steele. */
- union
- {
- long l;
- char c[sizeof (long)];
- } u;
- u.l = 1;
- exit (u.c[sizeof (long) - 1] == 1);
-}
-_ACEOF
-rm -f conftest$ac_exeext
-if { (eval echo "$as_me:$LINENO: \"$ac_link\"") >&5
- (eval $ac_link) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); } && { ac_try='./conftest$ac_exeext'
- { (eval echo "$as_me:$LINENO: \"$ac_try\"") >&5
- (eval $ac_try) 2>&5
- ac_status=$?
- echo "$as_me:$LINENO: \$? = $ac_status" >&5
- (exit $ac_status); }; }; then
- ac_cv_c_bigendian=no
-else
- echo "$as_me: program exited with status $ac_status" >&5
-echo "$as_me: failed program was:" >&5
-sed 's/^/| /' conftest.$ac_ext >&5
-
-( exit $ac_status )
-ac_cv_c_bigendian=yes
-fi
-rm -f core *.core gmon.out bb.out conftest$ac_exeext conftest.$ac_objext conftest.$ac_ext
-fi
-fi
-rm -f conftest.err conftest.$ac_objext conftest.$ac_ext
-fi
-echo "$as_me:$LINENO: result: $ac_cv_c_bigendian" >&5
-echo "${ECHO_T}$ac_cv_c_bigendian" >&6
-case $ac_cv_c_bigendian in
- yes)
-
-cat >>confdefs.h <<\_ACEOF
-#define WORDS_BIGENDIAN 1
-_ACEOF
- ;;
- no)
- ;;
- *)
- { { echo "$as_me:$LINENO: error: unknown endianness
-presetting ac_cv_c_bigendian=no (or yes) will help" >&5
-echo "$as_me: error: unknown endianness
-presetting ac_cv_c_bigendian=no (or yes) will help" >&2;}
- { (exit 1); exit 1; }; } ;;
-esac
-
- if test $ac_cv_c_bigendian = yes; then
- sim_hostendian="-DWITH_HOST_BYTE_ORDER=BIG_ENDIAN"
- else
- sim_hostendian="-DWITH_HOST_BYTE_ORDER=LITTLE_ENDIAN"
- fi
-else
- sim_hostendian="-DWITH_HOST_BYTE_ORDER=0"
-fi
-fi;
-
-default_sim_scache="16384"
-# Check whether --enable-sim-scache or --disable-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}";;
- *) { { echo "$as_me:$LINENO: error: \"Bad value $enableval passed to --enable-sim-scache\"" >&5
-echo "$as_me: error: \"Bad value $enableval passed to --enable-sim-scache\"" >&2;}
- { (exit 1); exit 1; }; };
- 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 or --disable-sim-default-model was given.
-if test "${enable_sim_default_model+set}" = set; then
- enableval="$enable_sim_default_model"
- case "${enableval}" in
- yes|no) { { echo "$as_me:$LINENO: error: \"Missing argument to --enable-sim-default-model\"" >&5
-echo "$as_me: error: \"Missing argument to --enable-sim-default-model\"" >&2;}
- { (exit 1); exit 1; }; };;
- *) 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;
-
-
-# Check whether --enable-sim-environment or --disable-sim-environment was given.
-if test "${enable_sim_environment+set}" = set; then
- enableval="$enable_sim_environment"
- case "${enableval}" in
- all | ALL) sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT";;
- user | USER) sim_environment="-DWITH_ENVIRONMENT=USER_ENVIRONMENT";;
- virtual | VIRTUAL) sim_environment="-DWITH_ENVIRONMENT=VIRTUAL_ENVIRONMENT";;
- operating | OPERATING) sim_environment="-DWITH_ENVIRONMENT=OPERATING_ENVIRONMENT";;
- *) { { echo "$as_me:$LINENO: error: \"Unknown value $enableval passed to --enable-sim-environment\"" >&5
-echo "$as_me: error: \"Unknown value $enableval passed to --enable-sim-environment\"" >&2;}
- { (exit 1); exit 1; }; };
- sim_environment="";;
-esac
-if test x"$silent" != x"yes" && test x"$sim_environment" != x""; then
- echo "Setting sim environment = $sim_environment" 6>&1
-fi
-else
- sim_environment="-DWITH_ENVIRONMENT=ALL_ENVIRONMENT"
-fi;
-
-default_sim_inline=""
-# Check whether --enable-sim-inline or --disable-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
-else
-
-if test "x$cross_compiling" = "xno"; then
- if test x"$GCC" != "x" -a x"${default_sim_inline}" != "x" ; then
- sim_inline="${default_sim_inline}"
- if test x"$silent" != x"yes"; then
- echo "Setting inline flags = $sim_inline" 6>&1
- fi
- else
- sim_inline=""
- fi
-else
- sim_inline="-DDEFAULT_INLINE=0"
-fi
-fi;
-
-cgen_maint=no
-cgen=guile
-cgendir='$(srcdir)/../../cgen'
-# Check whether --enable-cgen-maint or --disable-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 cgen install directory (not implemented yet).
- # Having a `share' directory might be more appropriate for the .scm,
- # .cpu, etc. files.
- cgendir=${cgen_maint}/lib/cgen
- cgen=guile
- ;;
-esac
-fi; if test x${cgen_maint} != xno ; then
- CGEN_MAINT=''
-else
- CGEN_MAINT='#'
-fi
-
-
-
-
-
-
-ac_sources="$sim_link_files"
-ac_dests="$sim_link_links"
-while test -n "$ac_sources"; do
- set $ac_dests; ac_dest=$1; shift; ac_dests=$*
- set $ac_sources; ac_source=$1; shift; ac_sources=$*
- ac_config_links_1="$ac_config_links_1 $ac_dest:$ac_source"
-done
- ac_config_links="$ac_config_links $ac_config_links_1"
-
-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, don't put newlines in cache variables' values.
-# 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.
-{
- (set) 2>&1 |
- case `(ac_space=' '; set | grep ac_space) 2>&1` in
- *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 \
- "s/^\\([_$as_cr_alnum]*_cv_[_$as_cr_alnum]*\\)=\\(.*\\)/\\1=\\2/p"
- ;;
- esac;
-} |
- sed '
- t clear
- : clear
- s/^\([^=]*\)=\(.*[{}].*\)$/test "${\1+set}" = set || &/
- t end
- /^ac_cv_env/!s/^\([^=]*\)=\(.*\)$/\1=${\1=\2}/
- : end' >>confcache
-if diff $cache_file confcache >/dev/null 2>&1; then :; else
- if test -w $cache_file; then
- test "x$cache_file" != "x/dev/null" && echo "updating cache $cache_file"
- cat confcache >$cache_file
- else
- echo "not updating unwritable cache $cache_file"
- 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}'
-
-# VPATH may cause trouble with some makes, so we remove $(srcdir),
-# ${srcdir} and @srcdir@ 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[ ]*=/{
-s/:*\$(srcdir):*/:/;
-s/:*\${srcdir}:*/:/;
-s/:*@srcdir@:*/:/;
-s/^\([^=]*=[ ]*\):*/\1/;
-s/:*$//;
-s/^[^=]*=[ ]*$//;
-}'
-fi
-
-DEFS=-DHAVE_CONFIG_H
-
-ac_libobjs=
-ac_ltlibobjs=
-for ac_i in : $LIBOBJS; do test "x$ac_i" = x: && continue
- # 1. Remove the extension, and $U if already installed.
- ac_i=`echo "$ac_i" |
- sed 's/\$U\././;s/\.o$//;s/\.obj$//'`
- # 2. Add them.
- ac_libobjs="$ac_libobjs $ac_i\$U.$ac_objext"
- ac_ltlibobjs="$ac_ltlibobjs $ac_i"'$U.lo'
-done
-LIBOBJS=$ac_libobjs
-
-LTLIBOBJS=$ac_ltlibobjs
-
-
-
-: ${CONFIG_STATUS=./config.status}
-ac_clean_files_save=$ac_clean_files
-ac_clean_files="$ac_clean_files $CONFIG_STATUS"
-{ echo "$as_me:$LINENO: creating $CONFIG_STATUS" >&5
-echo "$as_me: creating $CONFIG_STATUS" >&6;}
-cat >$CONFIG_STATUS <<_ACEOF
-#! $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}
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-## --------------------- ##
-## M4sh Initialization. ##
-## --------------------- ##
-
-# Be Bourne compatible
-if test -n "${ZSH_VERSION+set}" && (emulate sh) >/dev/null 2>&1; then
- emulate sh
- NULLCMD=:
- # Zsh 3.x and 4.x performs word splitting on ${1+"$@"}, which
- # is contrary to our usage. Disable this feature.
- alias -g '${1+"$@"}'='"$@"'
-elif test -n "${BASH_VERSION+set}" && (set -o posix) >/dev/null 2>&1; then
- set -o posix
-fi
-DUALCASE=1; export DUALCASE # for MKS sh
-
-# Support unset when possible.
-if ( (MAIL=60; unset MAIL) || exit) >/dev/null 2>&1; then
- as_unset=unset
-else
- as_unset=false
-fi
-
-
-# Work around bugs in pre-3.0 UWIN ksh.
-$as_unset ENV MAIL MAILPATH
-PS1='$ '
-PS2='> '
-PS4='+ '
-
-# NLS nuisances.
-for as_var in \
- LANG LANGUAGE LC_ADDRESS LC_ALL LC_COLLATE LC_CTYPE LC_IDENTIFICATION \
- LC_MEASUREMENT LC_MESSAGES LC_MONETARY LC_NAME LC_NUMERIC LC_PAPER \
- LC_TELEPHONE LC_TIME
-do
- if (set +x; test -z "`(eval $as_var=C; export $as_var) 2>&1`"); then
- eval $as_var=C; export $as_var
- else
- $as_unset $as_var
- fi
-done
-
-# Required to use basename.
-if expr a : '\(a\)' >/dev/null 2>&1; 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
-
-
-# Name of the executable.
-as_me=`$as_basename "$0" ||
-$as_expr X/"$0" : '.*/\([^/][^/]*\)/*$' \| \
- X"$0" : 'X\(//\)$' \| \
- X"$0" : 'X\(/\)$' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X/"$0" |
- sed '/^.*\/\([^/][^/]*\)\/*$/{ s//\1/; q; }
- /^X\/\(\/\/\)$/{ s//\1/; q; }
- /^X\/\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
-
-
-# PATH needs CR, and LINENO needs CR and PATH.
-# 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
-
-# The user is always right.
-if test "${PATH_SEPARATOR+set}" != set; then
- echo "#! /bin/sh" >conf$$.sh
- echo "exit 0" >>conf$$.sh
- chmod +x conf$$.sh
- if (PATH="/nonexistent;."; conf$$.sh) >/dev/null 2>&1; then
- PATH_SEPARATOR=';'
- else
- PATH_SEPARATOR=:
- fi
- rm -f conf$$.sh
-fi
-
-
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" || {
- # Find who we are. Look in the path if we contain no path at all
- # relative or not.
- 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
-
- ;;
- 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
- { { echo "$as_me:$LINENO: error: cannot find myself; rerun with an absolute path" >&5
-echo "$as_me: error: cannot find myself; rerun with an absolute path" >&2;}
- { (exit 1); exit 1; }; }
- fi
- case $CONFIG_SHELL in
- '')
- as_save_IFS=$IFS; IFS=$PATH_SEPARATOR
-for as_dir in /bin$PATH_SEPARATOR/usr/bin$PATH_SEPARATOR$PATH
-do
- IFS=$as_save_IFS
- test -z "$as_dir" && as_dir=.
- for as_base in sh bash ksh sh5; do
- case $as_dir in
- /*)
- if ("$as_dir/$as_base" -c '
- as_lineno_1=$LINENO
- as_lineno_2=$LINENO
- as_lineno_3=`(expr $as_lineno_1 + 1) 2>/dev/null`
- test "x$as_lineno_1" != "x$as_lineno_2" &&
- test "x$as_lineno_3" = "x$as_lineno_2" ') 2>/dev/null; then
- $as_unset BASH_ENV || test "${BASH_ENV+set}" != set || { BASH_ENV=; export BASH_ENV; }
- $as_unset ENV || test "${ENV+set}" != set || { ENV=; export ENV; }
- CONFIG_SHELL=$as_dir/$as_base
- export CONFIG_SHELL
- exec "$CONFIG_SHELL" "$0" ${1+"$@"}
- fi;;
- esac
- done
-done
-;;
- esac
-
- # Create $as_me.lineno as a copy of $as_myself, but with $LINENO
- # uniformly replaced by the line number. The first 'sed' inserts a
- # line-number line before each line; the second 'sed' does the real
- # work. The second script uses 'N' to pair each line-number line
- # with the numbered line, and appends trailing '-' during
- # substitution so that $LINENO is not a special case at line end.
- # (Raja R Harinath suggested sed '=', and Paul Eggert wrote the
- # second 'sed' script. Blame Lee E. McMahon for sed's syntax. :-)
- sed '=' <$as_myself |
- sed '
- N
- s,$,-,
- : loop
- s,^\(['$as_cr_digits']*\)\(.*\)[$]LINENO\([^'$as_cr_alnum'_]\),\1\2\1\3,
- t loop
- s,-$,,
- s,^['$as_cr_digits']*\n,,
- ' >$as_me.lineno &&
- chmod +x $as_me.lineno ||
- { { echo "$as_me:$LINENO: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&5
-echo "$as_me: error: cannot create $as_me.lineno; rerun with a POSIX shell" >&2;}
- { (exit 1); exit 1; }; }
-
- # 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 sensible to this).
- . ./$as_me.lineno
- # Exit status is that of the last command.
- exit
-}
-
-
-case `echo "testing\c"; echo 1,2,3`,`echo -n testing; echo 1,2,3` in
- *c*,-n*) ECHO_N= ECHO_C='
-' ECHO_T=' ' ;;
- *c*,* ) ECHO_N=-n ECHO_C= ECHO_T= ;;
- *) ECHO_N= ECHO_C='\c' ECHO_T= ;;
-esac
-
-if expr a : '\(a\)' >/dev/null 2>&1; then
- as_expr=expr
-else
- as_expr=false
-fi
-
-rm -f conf$$ conf$$.exe conf$$.file
-echo >conf$$.file
-if ln -s conf$$.file conf$$ 2>/dev/null; then
- # We could just check for DJGPP; but this test a) works b) is more generic
- # and c) will remain valid once DJGPP supports symlinks (DJGPP 2.04).
- if test -f conf$$.exe; then
- # Don't use ln at all; we don't have any links
- as_ln_s='cp -p'
- else
- as_ln_s='ln -s'
- fi
-elif ln conf$$.file conf$$ 2>/dev/null; then
- as_ln_s=ln
-else
- as_ln_s='cp -p'
-fi
-rm -f conf$$ conf$$.exe conf$$.file
-
-if mkdir -p . 2>/dev/null; then
- as_mkdir_p=:
-else
- test -d ./-p && rmdir ./-p
- as_mkdir_p=false
-fi
-
-as_executable_p="test -f"
-
-# 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'"
-
-
-# IFS
-# We need space, tab and new line, in precisely that order.
-as_nl='
-'
-IFS=" $as_nl"
-
-# CDPATH.
-$as_unset CDPATH
-
-exec 6>&1
-
-# Open the log real soon, to keep \$[0] and so on meaningful, and to
-# report actual input values of CONFIG_FILES etc. instead of their
-# values after options handling. Logging --version etc. is OK.
-exec 5>>config.log
-{
- echo
- sed 'h;s/./-/g;s/^.../## /;s/...$/ ##/;p;x;p;x' <<_ASBOX
-## Running $as_me. ##
-_ASBOX
-} >&5
-cat >&5 <<_CSEOF
-
-This file was extended by $as_me, which was
-generated by GNU Autoconf 2.59. Invocation command line was
-
- CONFIG_FILES = $CONFIG_FILES
- CONFIG_HEADERS = $CONFIG_HEADERS
- CONFIG_LINKS = $CONFIG_LINKS
- CONFIG_COMMANDS = $CONFIG_COMMANDS
- $ $0 $@
-
-_CSEOF
-echo "on `(hostname || uname -n) 2>/dev/null | sed 1q`" >&5
-echo >&5
-_ACEOF
-
-# Files that config.status was made for.
-if test -n "$ac_config_files"; then
- echo "config_files=\"$ac_config_files\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_headers"; then
- echo "config_headers=\"$ac_config_headers\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_links"; then
- echo "config_links=\"$ac_config_links\"" >>$CONFIG_STATUS
-fi
-
-if test -n "$ac_config_commands"; then
- echo "config_commands=\"$ac_config_commands\"" >>$CONFIG_STATUS
-fi
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-ac_cs_usage="\
-\`$as_me' instantiates files from templates according to the
-current configuration.
-
-Usage: $0 [OPTIONS] [FILE]...
-
- -h, --help print this help, then exit
- -V, --version print version number, then exit
- -q, --quiet 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 links:
-$config_links
-
-Configuration commands:
-$config_commands
-
-Report bugs to <bug-autoconf@gnu.org>."
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-ac_cs_version="\\
-config.status
-configured by $0, generated by GNU Autoconf 2.59,
- with options \\"`echo "$ac_configure_args" | sed 's/[\\""\`\$]/\\\\&/g'`\\"
-
-Copyright (C) 2003 Free Software Foundation, Inc.
-This config.status script is free software; the Free Software Foundation
-gives unlimited permission to copy, distribute and modify it."
-srcdir=$srcdir
-INSTALL="$INSTALL"
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-# If no file are specified by the user, then we need to provide default
-# value. By we need to know if files were specified by the user.
-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=$1
- ac_optarg=$2
- ac_shift=shift
- ;;
- *) # This is not an option, so the user has probably given explicit
- # arguments.
- ac_option=$1
- ac_need_defaults=false;;
- esac
-
- case $ac_option in
- # Handling of the options.
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
- -recheck | --recheck | --rechec | --reche | --rech | --rec | --re | --r)
- ac_cs_recheck=: ;;
- --version | --vers* | -V )
- echo "$ac_cs_version"; exit 0 ;;
- --he | --h)
- # Conflict between --help and --header
- { { echo "$as_me:$LINENO: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: ambiguous option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; };;
- --help | --hel | -h )
- echo "$ac_cs_usage"; exit 0 ;;
- --debug | --d* | -d )
- debug=: ;;
- --file | --fil | --fi | --f )
- $ac_shift
- CONFIG_FILES="$CONFIG_FILES $ac_optarg"
- ac_need_defaults=false;;
- --header | --heade | --head | --hea )
- $ac_shift
- CONFIG_HEADERS="$CONFIG_HEADERS $ac_optarg"
- ac_need_defaults=false;;
- -q | -quiet | --quiet | --quie | --qui | --qu | --q \
- | -silent | --silent | --silen | --sile | --sil | --si | --s)
- ac_cs_silent=: ;;
-
- # This is an error.
- -*) { { echo "$as_me:$LINENO: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&5
-echo "$as_me: error: unrecognized option: $1
-Try \`$0 --help' for more information." >&2;}
- { (exit 1); exit 1; }; } ;;
-
- *) ac_config_targets="$ac_config_targets $1" ;;
-
- 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
-if \$ac_cs_recheck; then
- echo "running $SHELL $0 " $ac_configure_args \$ac_configure_extra_args " --no-create --no-recursion" >&6
- exec $SHELL $0 $ac_configure_args \$ac_configure_extra_args --no-create --no-recursion
-fi
-
-_ACEOF
-
-
-
-
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_config_target in $ac_config_targets
-do
- case "$ac_config_target" in
- # Handling of arguments.
- "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" ;;
- "$ac_config_links_1" ) CONFIG_LINKS="$CONFIG_LINKS $ac_config_links_1" ;;
- "Makefile" ) CONFIG_COMMANDS="$CONFIG_COMMANDS Makefile" ;;
- "stamp-h" ) CONFIG_COMMANDS="$CONFIG_COMMANDS stamp-h" ;;
- "config.h" ) CONFIG_HEADERS="$CONFIG_HEADERS config.h:config.in" ;;
- *) { { echo "$as_me:$LINENO: error: invalid argument: $ac_config_target" >&5
-echo "$as_me: error: invalid argument: $ac_config_target" >&2;}
- { (exit 1); exit 1; }; };;
- 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_LINKS+set}" = set || CONFIG_LINKS=$config_links
- 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 to put it here, and in addition,
-# creating and moving files from /tmp can sometimes cause problems.
-# Create a temporary directory, and hook for its removal unless debugging.
-$debug ||
-{
- trap 'exit_status=$?; rm -rf $tmp && exit $exit_status' 0
- trap '{ (exit 1); exit 1; }' 1 2 13 15
-}
-
-# Create a (secure) tmp directory for tmp files.
-
-{
- tmp=`(umask 077 && mktemp -d -q "./confstatXXXXXX") 2>/dev/null` &&
- test -n "$tmp" && test -d "$tmp"
-} ||
-{
- tmp=./confstat$$-$RANDOM
- (umask 077 && mkdir $tmp)
-} ||
-{
- echo "$me: cannot create a temporary directory in ." >&2
- { (exit 1); exit 1; }
-}
-
-_ACEOF
-
-cat >>$CONFIG_STATUS <<_ACEOF
-
-#
-# CONFIG_FILES section.
-#
-
-# No need to generate the scripts if there are no CONFIG_FILES.
-# This happens for instance when ./config.status config.h
-if test -n "\$CONFIG_FILES"; then
- # Protect against being on the right side of a sed subst in config.status.
- sed 's/,@/@@/; s/@,/@@/; s/,;t t\$/@;t t/; /@;t t\$/s/[\\\\&,]/\\\\&/g;
- s/@@/,@/; s/@@/@,/; s/@;t t\$/,;t t/' >\$tmp/subs.sed <<\\CEOF
-s,@SHELL@,$SHELL,;t t
-s,@PATH_SEPARATOR@,$PATH_SEPARATOR,;t t
-s,@PACKAGE_NAME@,$PACKAGE_NAME,;t t
-s,@PACKAGE_TARNAME@,$PACKAGE_TARNAME,;t t
-s,@PACKAGE_VERSION@,$PACKAGE_VERSION,;t t
-s,@PACKAGE_STRING@,$PACKAGE_STRING,;t t
-s,@PACKAGE_BUGREPORT@,$PACKAGE_BUGREPORT,;t t
-s,@exec_prefix@,$exec_prefix,;t t
-s,@prefix@,$prefix,;t t
-s,@program_transform_name@,$program_transform_name,;t t
-s,@bindir@,$bindir,;t t
-s,@sbindir@,$sbindir,;t t
-s,@libexecdir@,$libexecdir,;t t
-s,@datadir@,$datadir,;t t
-s,@sysconfdir@,$sysconfdir,;t t
-s,@sharedstatedir@,$sharedstatedir,;t t
-s,@localstatedir@,$localstatedir,;t t
-s,@libdir@,$libdir,;t t
-s,@includedir@,$includedir,;t t
-s,@oldincludedir@,$oldincludedir,;t t
-s,@infodir@,$infodir,;t t
-s,@mandir@,$mandir,;t t
-s,@build_alias@,$build_alias,;t t
-s,@host_alias@,$host_alias,;t t
-s,@target_alias@,$target_alias,;t t
-s,@DEFS@,$DEFS,;t t
-s,@ECHO_C@,$ECHO_C,;t t
-s,@ECHO_N@,$ECHO_N,;t t
-s,@ECHO_T@,$ECHO_T,;t t
-s,@LIBS@,$LIBS,;t t
-s,@sim_environment@,$sim_environment,;t t
-s,@sim_alignment@,$sim_alignment,;t t
-s,@sim_assert@,$sim_assert,;t t
-s,@sim_bitsize@,$sim_bitsize,;t t
-s,@sim_endian@,$sim_endian,;t t
-s,@sim_hostendian@,$sim_hostendian,;t t
-s,@sim_float@,$sim_float,;t t
-s,@sim_scache@,$sim_scache,;t t
-s,@sim_default_model@,$sim_default_model,;t t
-s,@sim_hw_cflags@,$sim_hw_cflags,;t t
-s,@sim_hw_objs@,$sim_hw_objs,;t t
-s,@sim_hw@,$sim_hw,;t t
-s,@sim_inline@,$sim_inline,;t t
-s,@sim_packages@,$sim_packages,;t t
-s,@sim_regparm@,$sim_regparm,;t t
-s,@sim_reserved_bits@,$sim_reserved_bits,;t t
-s,@sim_smp@,$sim_smp,;t t
-s,@sim_stdcall@,$sim_stdcall,;t t
-s,@sim_xor_endian@,$sim_xor_endian,;t t
-s,@WARN_CFLAGS@,$WARN_CFLAGS,;t t
-s,@WERROR_CFLAGS@,$WERROR_CFLAGS,;t t
-s,@build@,$build,;t t
-s,@build_cpu@,$build_cpu,;t t
-s,@build_vendor@,$build_vendor,;t t
-s,@build_os@,$build_os,;t t
-s,@host@,$host,;t t
-s,@host_cpu@,$host_cpu,;t t
-s,@host_vendor@,$host_vendor,;t t
-s,@host_os@,$host_os,;t t
-s,@target@,$target,;t t
-s,@target_cpu@,$target_cpu,;t t
-s,@target_vendor@,$target_vendor,;t t
-s,@target_os@,$target_os,;t t
-s,@CC@,$CC,;t t
-s,@CFLAGS@,$CFLAGS,;t t
-s,@LDFLAGS@,$LDFLAGS,;t t
-s,@CPPFLAGS@,$CPPFLAGS,;t t
-s,@ac_ct_CC@,$ac_ct_CC,;t t
-s,@EXEEXT@,$EXEEXT,;t t
-s,@OBJEXT@,$OBJEXT,;t t
-s,@INSTALL_PROGRAM@,$INSTALL_PROGRAM,;t t
-s,@INSTALL_SCRIPT@,$INSTALL_SCRIPT,;t t
-s,@INSTALL_DATA@,$INSTALL_DATA,;t t
-s,@CC_FOR_BUILD@,$CC_FOR_BUILD,;t t
-s,@HDEFINES@,$HDEFINES,;t t
-s,@AR@,$AR,;t t
-s,@RANLIB@,$RANLIB,;t t
-s,@ac_ct_RANLIB@,$ac_ct_RANLIB,;t t
-s,@SET_MAKE@,$SET_MAKE,;t t
-s,@CPP@,$CPP,;t t
-s,@EGREP@,$EGREP,;t t
-s,@ALLOCA@,$ALLOCA,;t t
-s,@USE_NLS@,$USE_NLS,;t t
-s,@MSGFMT@,$MSGFMT,;t t
-s,@GMSGFMT@,$GMSGFMT,;t t
-s,@XGETTEXT@,$XGETTEXT,;t t
-s,@USE_INCLUDED_LIBINTL@,$USE_INCLUDED_LIBINTL,;t t
-s,@CATALOGS@,$CATALOGS,;t t
-s,@CATOBJEXT@,$CATOBJEXT,;t t
-s,@DATADIRNAME@,$DATADIRNAME,;t t
-s,@GMOFILES@,$GMOFILES,;t t
-s,@INSTOBJEXT@,$INSTOBJEXT,;t t
-s,@INTLDEPS@,$INTLDEPS,;t t
-s,@INTLLIBS@,$INTLLIBS,;t t
-s,@INTLOBJS@,$INTLOBJS,;t t
-s,@POFILES@,$POFILES,;t t
-s,@POSUB@,$POSUB,;t t
-s,@INCLUDE_LOCALE_H@,$INCLUDE_LOCALE_H,;t t
-s,@GT_NO@,$GT_NO,;t t
-s,@GT_YES@,$GT_YES,;t t
-s,@MKINSTALLDIRS@,$MKINSTALLDIRS,;t t
-s,@l@,$l,;t t
-s,@MAINT@,$MAINT,;t t
-s,@sim_bswap@,$sim_bswap,;t t
-s,@sim_cflags@,$sim_cflags,;t t
-s,@sim_debug@,$sim_debug,;t t
-s,@sim_stdio@,$sim_stdio,;t t
-s,@sim_trace@,$sim_trace,;t t
-s,@sim_profile@,$sim_profile,;t t
-s,@CGEN_MAINT@,$CGEN_MAINT,;t t
-s,@cgendir@,$cgendir,;t t
-s,@cgen@,$cgen,;t t
-s,@cgen_breaks@,$cgen_breaks,;t t
-s,@LIBOBJS@,$LIBOBJS,;t t
-s,@LTLIBOBJS@,$LTLIBOBJS,;t t
-CEOF
-
-_ACEOF
-
- cat >>$CONFIG_STATUS <<\_ACEOF
- # Split the substitutions into bite-sized pieces for seds with
- # small command number limits, like on Digital OSF/1 and HP-UX.
- ac_max_sed_lines=48
- ac_sed_frag=1 # Number of current file.
- ac_beg=1 # First line for current file.
- ac_end=$ac_max_sed_lines # Line after last line for current file.
- ac_more_lines=:
- ac_sed_cmds=
- while $ac_more_lines; do
- if test $ac_beg -gt 1; then
- sed "1,${ac_beg}d; ${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- else
- sed "${ac_end}q" $tmp/subs.sed >$tmp/subs.frag
- fi
- if test ! -s $tmp/subs.frag; then
- ac_more_lines=false
- else
- # The purpose of the label and of the branching condition is to
- # speed up the sed processing (if there are no `@' at all, there
- # is no need to browse any of the substitutions).
- # These are the two extra sed commands mentioned above.
- (echo ':t
- /@[a-zA-Z_][a-zA-Z_0-9]*@/!b' && cat $tmp/subs.frag) >$tmp/subs-$ac_sed_frag.sed
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds="sed -f $tmp/subs-$ac_sed_frag.sed"
- else
- ac_sed_cmds="$ac_sed_cmds | sed -f $tmp/subs-$ac_sed_frag.sed"
- fi
- ac_sed_frag=`expr $ac_sed_frag + 1`
- ac_beg=$ac_end
- ac_end=`expr $ac_end + $ac_max_sed_lines`
- fi
- done
- if test -z "$ac_sed_cmds"; then
- ac_sed_cmds=cat
- fi
-fi # test -n "$CONFIG_FILES"
-
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-for ac_file in : $CONFIG_FILES; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- # Compute @srcdir@, @top_srcdir@, and @INSTALL@ for subdirectories.
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
- case $INSTALL in
- [\\/$]* | ?:[\\/]* ) ac_INSTALL=$INSTALL ;;
- *) ac_INSTALL=$ac_top_builddir$INSTALL ;;
- esac
-
- if test x"$ac_file" != x-; then
- { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
- rm -f "$ac_file"
- fi
- # 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. */
- if test x"$ac_file" = x-; then
- configure_input=
- else
- configure_input="$ac_file. "
- fi
- configure_input=$configure_input"Generated from `echo $ac_file_in |
- sed 's,.*/,,'` by configure."
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
-_ACEOF
-cat >>$CONFIG_STATUS <<_ACEOF
- sed "$ac_vpsub
-$extrasub
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-:t
-/@[a-zA-Z_][a-zA-Z_0-9]*@/!b
-s,@configure_input@,$configure_input,;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,@top_builddir@,$ac_top_builddir,;t t
-s,@abs_top_builddir@,$ac_abs_top_builddir,;t t
-s,@INSTALL@,$ac_INSTALL,;t t
-" $ac_file_inputs | (eval "$ac_sed_cmds") >$tmp/out
- rm -f $tmp/stdin
- if test x"$ac_file" != x-; then
- mv $tmp/out $ac_file
- else
- cat $tmp/out
- rm -f $tmp/out
- fi
-
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_HEADER section.
-#
-
-# These sed commands are passed to sed as "A NAME B NAME C VALUE D", where
-# NAME is the cpp macro being defined and VALUE is the value it is being given.
-#
-# ac_d sets the value in "#define NAME VALUE" lines.
-ac_dA='s,^\([ ]*\)#\([ ]*define[ ][ ]*\)'
-ac_dB='[ ].*$,\1#\2'
-ac_dC=' '
-ac_dD=',;t'
-# ac_u turns "#undef NAME" without trailing blanks into "#define NAME VALUE".
-ac_uA='s,^\([ ]*\)#\([ ]*\)undef\([ ][ ]*\)'
-ac_uB='$,\1#\2define\3'
-ac_uC=' '
-ac_uD=',;t'
-
-for ac_file in : $CONFIG_HEADERS; do test "x$ac_file" = x: && continue
- # Support "outfile[:infile[:infile...]]", defaulting infile="outfile.in".
- case $ac_file in
- - | *:- | *:-:* ) # input from stdin
- cat >$tmp/stdin
- ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- *:* ) ac_file_in=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_file=`echo "$ac_file" | sed 's,:.*,,'` ;;
- * ) ac_file_in=$ac_file.in ;;
- esac
-
- test x"$ac_file" != x- && { echo "$as_me:$LINENO: creating $ac_file" >&5
-echo "$as_me: creating $ac_file" >&6;}
-
- # First look for the input files in the build tree, otherwise in the
- # src tree.
- ac_file_inputs=`IFS=:
- for f in $ac_file_in; do
- case $f in
- -) echo $tmp/stdin ;;
- [\\/$]*)
- # Absolute (can't be DOS-style, as IFS=:)
- test -f "$f" || { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- # Do quote $f, to prevent DOS paths from being IFS'd.
- echo "$f";;
- *) # Relative
- if test -f "$f"; then
- # Build tree
- echo "$f"
- elif test -f "$srcdir/$f"; then
- # Source tree
- echo "$srcdir/$f"
- else
- # /dev/null tree
- { { echo "$as_me:$LINENO: error: cannot find input file: $f" >&5
-echo "$as_me: error: cannot find input file: $f" >&2;}
- { (exit 1); exit 1; }; }
- fi;;
- esac
- done` || { (exit 1); exit 1; }
- # Remove the trailing spaces.
- sed 's/[ ]*$//' $ac_file_inputs >$tmp/in
-
-_ACEOF
-
-# Transform confdefs.h into two sed scripts, `conftest.defines' and
-# `conftest.undefs', that substitutes the proper values into
-# config.h.in to produce config.h. The first handles `#define'
-# templates, and the second `#undef' templates.
-# And first: Protect against being on the right side of a sed subst in
-# config.status. Protect against being in an unquoted here document
-# in config.status.
-rm -f conftest.defines conftest.undefs
-# Using a here document instead of a string reduces the quoting nightmare.
-# Putting comments in sed scripts is not portable.
-#
-# `end' is used to avoid that the second main sed command (meant for
-# 0-ary CPP macros) applies to n-ary macro definitions.
-# See the Autoconf documentation for `clear'.
-cat >confdef2sed.sed <<\_ACEOF
-s/[\\&,]/\\&/g
-s,[\\$`],\\&,g
-t clear
-: clear
-s,^[ ]*#[ ]*define[ ][ ]*\([^ (][^ (]*\)\(([^)]*)\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1\2${ac_dC}\3${ac_dD},gp
-t end
-s,^[ ]*#[ ]*define[ ][ ]*\([^ ][^ ]*\)[ ]*\(.*\)$,${ac_dA}\1${ac_dB}\1${ac_dC}\2${ac_dD},gp
-: end
-_ACEOF
-# If some macros were called several times there might be several times
-# the same #defines, which is useless. Nevertheless, we may not want to
-# sort them, since we want the *last* AC-DEFINE to be honored.
-uniq confdefs.h | sed -n -f confdef2sed.sed >conftest.defines
-sed 's/ac_d/ac_u/g' conftest.defines >conftest.undefs
-rm -f confdef2sed.sed
-
-# This sed command replaces #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.
-cat >>conftest.undefs <<\_ACEOF
-s,^[ ]*#[ ]*undef[ ][ ]*[a-zA-Z_][a-zA-Z_0-9]*,/* & */,
-_ACEOF
-
-# Break up conftest.defines because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #define templates only if necessary.' >>$CONFIG_STATUS
-echo ' if grep "^[ ]*#[ ]*define" $tmp/in >/dev/null; then' >>$CONFIG_STATUS
-echo ' # If there are no defines, we may have an empty if/fi' >>$CONFIG_STATUS
-echo ' :' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.defines >/dev/null
-do
- # Write a limited-size here document to $tmp/defines.sed.
- echo ' cat >$tmp/defines.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#define' lines.
- echo '/^[ ]*#[ ]*define/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.defines >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/defines.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.defines >conftest.tail
- rm -f conftest.defines
- mv conftest.tail conftest.defines
-done
-rm -f conftest.defines
-echo ' fi # grep' >>$CONFIG_STATUS
-echo >>$CONFIG_STATUS
-
-# Break up conftest.undefs because some shells have a limit on the size
-# of here documents, and old seds have small limits too (100 cmds).
-echo ' # Handle all the #undef templates' >>$CONFIG_STATUS
-rm -f conftest.tail
-while grep . conftest.undefs >/dev/null
-do
- # Write a limited-size here document to $tmp/undefs.sed.
- echo ' cat >$tmp/undefs.sed <<CEOF' >>$CONFIG_STATUS
- # Speed up: don't consider the non `#undef'
- echo '/^[ ]*#[ ]*undef/!b' >>$CONFIG_STATUS
- # Work around the forget-to-reset-the-flag bug.
- echo 't clr' >>$CONFIG_STATUS
- echo ': clr' >>$CONFIG_STATUS
- sed ${ac_max_here_lines}q conftest.undefs >>$CONFIG_STATUS
- echo 'CEOF
- sed -f $tmp/undefs.sed $tmp/in >$tmp/out
- rm -f $tmp/in
- mv $tmp/out $tmp/in
-' >>$CONFIG_STATUS
- sed 1,${ac_max_here_lines}d conftest.undefs >conftest.tail
- rm -f conftest.undefs
- mv conftest.tail conftest.undefs
-done
-rm -f conftest.undefs
-
-cat >>$CONFIG_STATUS <<\_ACEOF
- # 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. */
- if test x"$ac_file" = x-; then
- echo "/* Generated by configure. */" >$tmp/config.h
- else
- echo "/* $ac_file. Generated by configure. */" >$tmp/config.h
- fi
- cat $tmp/in >>$tmp/config.h
- rm -f $tmp/in
- if test x"$ac_file" != x-; then
- if diff $ac_file $tmp/config.h >/dev/null 2>&1; then
- { echo "$as_me:$LINENO: $ac_file is unchanged" >&5
-echo "$as_me: $ac_file is unchanged" >&6;}
- else
- ac_dir=`(dirname "$ac_file") 2>/dev/null ||
-$as_expr X"$ac_file" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_file" : 'X\(//\)[^/]' \| \
- X"$ac_file" : 'X\(//\)$' \| \
- X"$ac_file" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_file" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- rm -f $ac_file
- mv $tmp/config.h $ac_file
- fi
- else
- cat $tmp/config.h
- rm -f $tmp/config.h
- fi
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_LINKS section.
-#
-
-for ac_file in : $CONFIG_LINKS; do test "x$ac_file" = x: && continue
- ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
-
- { echo "$as_me:$LINENO: linking $srcdir/$ac_source to $ac_dest" >&5
-echo "$as_me: linking $srcdir/$ac_source to $ac_dest" >&6;}
-
- if test ! -r $srcdir/$ac_source; then
- { { echo "$as_me:$LINENO: error: $srcdir/$ac_source: file not found" >&5
-echo "$as_me: error: $srcdir/$ac_source: file not found" >&2;}
- { (exit 1); exit 1; }; }
- fi
- rm -f $ac_dest
-
- # Make relative symlinks.
- ac_dest_dir=`(dirname "$ac_dest") 2>/dev/null ||
-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_dest" : 'X\(//\)[^/]' \| \
- X"$ac_dest" : 'X\(//\)$' \| \
- X"$ac_dest" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_dest" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dest_dir"
- else
- as_dir="$ac_dest_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dest_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dest_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dest_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dest_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dest_dir";;
-*)
- case "$ac_dest_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dest_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dest_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
- case $srcdir in
- [\\/$]* | ?:[\\/]* ) ac_rel_source=$srcdir/$ac_source ;;
- *) ac_rel_source=$ac_top_builddir$srcdir/$ac_source ;;
- esac
-
- # Try a symlink, then a hard link, then a copy.
- ln -s $ac_rel_source $ac_dest 2>/dev/null ||
- ln $srcdir/$ac_source $ac_dest 2>/dev/null ||
- cp -p $srcdir/$ac_source $ac_dest ||
- { { echo "$as_me:$LINENO: error: cannot link or copy $srcdir/$ac_source to $ac_dest" >&5
-echo "$as_me: error: cannot link or copy $srcdir/$ac_source to $ac_dest" >&2;}
- { (exit 1); exit 1; }; }
-done
-_ACEOF
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-#
-# CONFIG_COMMANDS section.
-#
-for ac_file in : $CONFIG_COMMANDS; do test "x$ac_file" = x: && continue
- ac_dest=`echo "$ac_file" | sed 's,:.*,,'`
- ac_source=`echo "$ac_file" | sed 's,[^:]*:,,'`
- ac_dir=`(dirname "$ac_dest") 2>/dev/null ||
-$as_expr X"$ac_dest" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$ac_dest" : 'X\(//\)[^/]' \| \
- X"$ac_dest" : 'X\(//\)$' \| \
- X"$ac_dest" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$ac_dest" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- { if $as_mkdir_p; then
- mkdir -p "$ac_dir"
- else
- as_dir="$ac_dir"
- as_dirs=
- while test ! -d "$as_dir"; do
- as_dirs="$as_dir $as_dirs"
- as_dir=`(dirname "$as_dir") 2>/dev/null ||
-$as_expr X"$as_dir" : 'X\(.*[^/]\)//*[^/][^/]*/*$' \| \
- X"$as_dir" : 'X\(//\)[^/]' \| \
- X"$as_dir" : 'X\(//\)$' \| \
- X"$as_dir" : 'X\(/\)' \| \
- . : '\(.\)' 2>/dev/null ||
-echo X"$as_dir" |
- sed '/^X\(.*[^/]\)\/\/*[^/][^/]*\/*$/{ s//\1/; q; }
- /^X\(\/\/\)[^/].*/{ s//\1/; q; }
- /^X\(\/\/\)$/{ s//\1/; q; }
- /^X\(\/\).*/{ s//\1/; q; }
- s/.*/./; q'`
- done
- test ! -n "$as_dirs" || mkdir $as_dirs
- fi || { { echo "$as_me:$LINENO: error: cannot create directory \"$ac_dir\"" >&5
-echo "$as_me: error: cannot create directory \"$ac_dir\"" >&2;}
- { (exit 1); exit 1; }; }; }
-
- ac_builddir=.
-
-if test "$ac_dir" != .; then
- ac_dir_suffix=/`echo "$ac_dir" | sed 's,^\.[\\/],,'`
- # A "../" for each directory in $ac_dir_suffix.
- ac_top_builddir=`echo "$ac_dir_suffix" | sed 's,/[^\\/]*,../,g'`
-else
- ac_dir_suffix= ac_top_builddir=
-fi
-
-case $srcdir in
- .) # No --srcdir option. We are building in place.
- ac_srcdir=.
- if test -z "$ac_top_builddir"; then
- ac_top_srcdir=.
- else
- ac_top_srcdir=`echo $ac_top_builddir | sed 's,/$,,'`
- fi ;;
- [\\/]* | ?:[\\/]* ) # Absolute path.
- ac_srcdir=$srcdir$ac_dir_suffix;
- ac_top_srcdir=$srcdir ;;
- *) # Relative path.
- ac_srcdir=$ac_top_builddir$srcdir$ac_dir_suffix
- ac_top_srcdir=$ac_top_builddir$srcdir ;;
-esac
-
-# Do not use `cd foo && pwd` to compute absolute paths, because
-# the directories may not exist.
-case `pwd` in
-.) ac_abs_builddir="$ac_dir";;
-*)
- case "$ac_dir" in
- .) ac_abs_builddir=`pwd`;;
- [\\/]* | ?:[\\/]* ) ac_abs_builddir="$ac_dir";;
- *) ac_abs_builddir=`pwd`/"$ac_dir";;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_builddir=${ac_top_builddir}.;;
-*)
- case ${ac_top_builddir}. in
- .) ac_abs_top_builddir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_builddir=${ac_top_builddir}.;;
- *) ac_abs_top_builddir=$ac_abs_builddir/${ac_top_builddir}.;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_srcdir=$ac_srcdir;;
-*)
- case $ac_srcdir in
- .) ac_abs_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_srcdir=$ac_srcdir;;
- *) ac_abs_srcdir=$ac_abs_builddir/$ac_srcdir;;
- esac;;
-esac
-case $ac_abs_builddir in
-.) ac_abs_top_srcdir=$ac_top_srcdir;;
-*)
- case $ac_top_srcdir in
- .) ac_abs_top_srcdir=$ac_abs_builddir;;
- [\\/]* | ?:[\\/]* ) ac_abs_top_srcdir=$ac_top_srcdir;;
- *) ac_abs_top_srcdir=$ac_abs_builddir/$ac_top_srcdir;;
- esac;;
-esac
-
-
- { echo "$as_me:$LINENO: executing $ac_dest commands" >&5
-echo "$as_me: executing $ac_dest commands" >&6;}
- case $ac_dest in
- Makefile ) 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 ) echo > stamp-h ;;
- esac
-done
-_ACEOF
-
-cat >>$CONFIG_STATUS <<\_ACEOF
-
-{ (exit 0); exit 0; }
-_ACEOF
-chmod +x $CONFIG_STATUS
-ac_clean_files=$ac_clean_files_save
-
-
-# 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 || { (exit 1); exit 1; }
-fi
-
-
diff --git a/sim/sh64/configure.ac b/sim/sh64/configure.ac
deleted file mode 100644
index 91102086eaf..00000000000
--- a/sim/sh64/configure.ac
+++ /dev/null
@@ -1,19 +0,0 @@
-dnl Process this file with autoconf to produce a configure script.
-AC_PREREQ(2.59)dnl
-AC_INIT(Makefile.in)
-AC_CONFIG_HEADER(config.h:config.in)
-
-sinclude(../common/aclocal.m4)
-
-sinclude(../common/common.m4)
-
-SIM_AC_OPTION_ENDIAN([], BIG_ENDIAN)
-SIM_AC_OPTION_ALIGNMENT(STRICT_ALIGNMENT)
-SIM_AC_OPTION_HOSTENDIAN
-SIM_AC_OPTION_SCACHE(16384)
-SIM_AC_OPTION_DEFAULT_MODEL(sh5)
-SIM_AC_OPTION_ENVIRONMENT
-SIM_AC_OPTION_INLINE()
-SIM_AC_OPTION_CGEN_MAINT
-
-SIM_AC_OUTPUT
diff --git a/sim/sh64/cpu.c b/sim/sh64/cpu.c
deleted file mode 100644
index bf3e2b2f7c3..00000000000
--- a/sim/sh64/cpu.c
+++ /dev/null
@@ -1,533 +0,0 @@
-/* Misc. support for CPU family sh64.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#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. */
-
-DF
-sh64_h_fp_get (SIM_CPU *current_cpu, UINT regno)
-{
- return CPU (h_fp[regno]);
-}
-
-/* Set a value for h-fp. */
-
-void
-sh64_h_fp_set (SIM_CPU *current_cpu, UINT regno, DF newval)
-{
- CPU (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-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-fpccr. */
-
-SI
-sh64_h_fpccr_get (SIM_CPU *current_cpu)
-{
- return GET_H_FPCCR ();
-}
-
-/* Set a value for h-fpccr. */
-
-void
-sh64_h_fpccr_set (SIM_CPU *current_cpu, SI newval)
-{
- SET_H_FPCCR (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-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
index 6e0d35880f9..00000000000
--- a/sim/sh64/cpu.h
+++ /dev/null
@@ -1,302 +0,0 @@
-/* CPU family header for sh64.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#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
-
-/* 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))) ? (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 precision floating point register pairs */
- DF h_fp[32];
-#define GET_H_FP(a1) CPU (h_fp)[a1]
-#define SET_H_FP(a1, x) (CPU (h_fp)[a1] = (x))
- /* 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_sr), 14), 1)
-#define SET_H_FRBIT(x) \
-do { \
-CPU (h_sr) = ORSI (ANDSI (CPU (h_sr), (~ (((1) << (14))))), SLLSI ((x), 14));\
-;} while (0)
-#define GET_H_SZBIT() ANDSI (SRLSI (CPU (h_sr), 13), 1)
-#define SET_H_SZBIT(x) \
-do { \
-CPU (h_sr) = ORSI (ANDSI (CPU (h_sr), (~ (((1) << (13))))), SLLSI ((x), 13));\
-;} while (0)
-#define GET_H_PRBIT() ANDSI (SRLSI (CPU (h_sr), 12), 1)
-#define SET_H_PRBIT(x) \
-do { \
-CPU (h_sr) = ORSI (ANDSI (CPU (h_sr), (~ (((1) << (12))))), SLLSI ((x), 12));\
-;} 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_FV(index) CPU (h_fr[MULQI (ANDQI (index, 15), 4)])
-#define SET_H_FV(index, x) \
-do { \
-CPU (h_fr[MULQI (ANDQI ((index), 15), 4)]) = (x);\
-;} while (0)
-#define GET_H_FMTX(index) CPU (h_fr[MULQI (ANDQI (index, 3), 16)])
-#define SET_H_FMTX(index, x) \
-do { \
-CPU (h_fr[MULQI (ANDQI ((index), 3), 16)]) = (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_FPCCR() ORSI (ORSI (ORSI (CPU (h_fpscr), SLLSI (GET_H_PRBIT (), 19)), SLLSI (GET_H_SZBIT (), 20)), SLLSI (GET_H_FRBIT (), 21))
-#define SET_H_FPCCR(x) \
-do { \
-{\
-CPU (h_fpscr) = (x);\
-SET_H_PRBIT (ANDSI (SRLSI ((x), 19), 1));\
-SET_H_SZBIT (ANDSI (SRLSI ((x), 20), 1));\
-SET_H_FRBIT (ANDSI (SRLSI ((x), 21), 1));\
-}\
-;} 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_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);
-DF sh64_h_fp_get (SIM_CPU *, UINT);
-void sh64_h_fp_set (SIM_CPU *, UINT, DF);
-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);
-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_fpccr_get (SIM_CPU *);
-void sh64_h_fpccr_set (SIM_CPU *, SI);
-SI sh64_h_gbr_get (SIM_CPU *);
-void sh64_h_gbr_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_SH5_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
index ba6a1e5d714..00000000000
--- a/sim/sh64/cpuall.h
+++ /dev/null
@@ -1,70 +0,0 @@
-/* Simulator CPU header for sh.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#ifndef SH_CPUALL_H
-#define SH_CPUALL_H
-
-/* Include files for each cpu family. */
-
-#ifdef WANT_CPU_SH64
-#include "eng.h"
-#include "cgen-engine.h"
-#include "cpu.h"
-#include "decode.h"
-#endif
-
-extern const MACH sh2_mach;
-extern const MACH sh3_mach;
-extern const MACH sh3e_mach;
-extern const MACH sh4_mach;
-extern const 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
index ce85438323c..00000000000
--- a/sim/sh64/decode-compact.c
+++ /dev/null
@@ -1,2640 +0,0 @@
-/* Simulator instruction decoder for sh64_compact.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#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_BF_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_BF_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_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_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_JMP_COMPACT },
- { SH_INSN_JSR_COMPACT, SH64_COMPACT_INSN_JSR_COMPACT, SH64_COMPACT_SFMT_BSRF_COMPACT },
- { SH_INSN_LDC_COMPACT, SH64_COMPACT_INSN_LDC_COMPACT, SH64_COMPACT_SFMT_LDC_COMPACT },
- { SH_INSN_LDCL_COMPACT, SH64_COMPACT_INSN_LDCL_COMPACT, SH64_COMPACT_SFMT_LDCL_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_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_MOVB1_COMPACT },
- { SH_INSN_MOVL2_COMPACT, SH64_COMPACT_INSN_MOVL2_COMPACT, SH64_COMPACT_SFMT_MOVB2_COMPACT },
- { SH_INSN_MOVL3_COMPACT, SH64_COMPACT_INSN_MOVL3_COMPACT, SH64_COMPACT_SFMT_MOVB3_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_MOVB6_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_MOVB8_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_MOVW1_COMPACT, SH64_COMPACT_INSN_MOVW1_COMPACT, SH64_COMPACT_SFMT_MOVB1_COMPACT },
- { SH_INSN_MOVW2_COMPACT, SH64_COMPACT_INSN_MOVW2_COMPACT, SH64_COMPACT_SFMT_MOVB2_COMPACT },
- { SH_INSN_MOVW3_COMPACT, SH64_COMPACT_INSN_MOVW3_COMPACT, SH64_COMPACT_SFMT_MOVB3_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_MOVB6_COMPACT },
- { SH_INSN_MOVW7_COMPACT, SH64_COMPACT_INSN_MOVW7_COMPACT, SH64_COMPACT_SFMT_MOVB7_COMPACT },
- { SH_INSN_MOVW8_COMPACT, SH64_COMPACT_INSN_MOVW8_COMPACT, SH64_COMPACT_SFMT_MOVB8_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_MOVT_COMPACT, SH64_COMPACT_INSN_MOVT_COMPACT, SH64_COMPACT_SFMT_MOVT_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_NOP_COMPACT },
- { SH_INSN_OCBP_COMPACT, SH64_COMPACT_INSN_OCBP_COMPACT, SH64_COMPACT_SFMT_NOP_COMPACT },
- { SH_INSN_OCBWB_COMPACT, SH64_COMPACT_INSN_OCBWB_COMPACT, SH64_COMPACT_SFMT_NOP_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_NOP_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_SHLL2_COMPACT },
- { SH_INSN_SHLL8_COMPACT, SH64_COMPACT_INSN_SHLL8_COMPACT, SH64_COMPACT_SFMT_SHLL2_COMPACT },
- { SH_INSN_SHLL16_COMPACT, SH64_COMPACT_INSN_SHLL16_COMPACT, SH64_COMPACT_SFMT_SHLL2_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_SHLL2_COMPACT },
- { SH_INSN_SHLR8_COMPACT, SH64_COMPACT_INSN_SHLR8_COMPACT, SH64_COMPACT_SFMT_SHLL2_COMPACT },
- { SH_INSN_SHLR16_COMPACT, SH64_COMPACT_INSN_SHLR16_COMPACT, SH64_COMPACT_SFMT_SHLL2_COMPACT },
- { SH_INSN_STC_GBR_COMPACT, SH64_COMPACT_INSN_STC_GBR_COMPACT, SH64_COMPACT_SFMT_STC_GBR_COMPACT },
- { SH_INSN_STCL_GBR_COMPACT, SH64_COMPACT_INSN_STCL_GBR_COMPACT, SH64_COMPACT_SFMT_STCL_GBR_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_XORI_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 + sizeof (sh64_compact_insn_sem) / sizeof (*t);
- 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_INT base_insn, CGEN_INSN_INT entire_insn,
- ARGBUF *abuf)
-{
- /* Result of decoder. */
- SH64_COMPACT_INSN_TYPE itype;
-
- {
- CGEN_INSN_INT insn = base_insn;
-
- {
- unsigned int val = (((insn >> 8) & (15 << 4)) | ((insn >> 0) & (15 << 0)));
- switch (val)
- {
- case 2 : itype = SH64_COMPACT_INSN_STC_GBR_COMPACT; goto extract_sfmt_stc_gbr_compact; case 3 :
- {
- unsigned int val = (((insn >> 4) & (15 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_BSRF_COMPACT; goto extract_sfmt_bsrf_compact; case 2 : itype = SH64_COMPACT_INSN_BRAF_COMPACT; goto extract_sfmt_braf_compact; case 8 : itype = SH64_COMPACT_INSN_PREF_COMPACT; goto extract_sfmt_nop_compact; case 9 : itype = SH64_COMPACT_INSN_OCBI_COMPACT; goto extract_sfmt_nop_compact; case 10 : itype = SH64_COMPACT_INSN_OCBP_COMPACT; goto extract_sfmt_nop_compact; case 11 : itype = SH64_COMPACT_INSN_OCBWB_COMPACT; goto extract_sfmt_nop_compact; case 12 : itype = SH64_COMPACT_INSN_MOVCAL_COMPACT; goto extract_sfmt_movcal_compact; default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 4 : itype = SH64_COMPACT_INSN_MOVB3_COMPACT; goto extract_sfmt_movb3_compact; case 5 : itype = SH64_COMPACT_INSN_MOVW3_COMPACT; goto extract_sfmt_movb3_compact; case 6 : itype = SH64_COMPACT_INSN_MOVL3_COMPACT; goto extract_sfmt_movb3_compact; case 7 : itype = SH64_COMPACT_INSN_MULL_COMPACT; goto extract_sfmt_mull_compact; case 8 :
- {
- unsigned int val = (((insn >> 4) & (7 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_CLRT_COMPACT; goto extract_sfmt_clrt_compact; case 1 : itype = SH64_COMPACT_INSN_SETT_COMPACT; goto extract_sfmt_clrt_compact; case 2 : itype = SH64_COMPACT_INSN_CLRMAC_COMPACT; goto extract_sfmt_clrmac_compact; case 4 : itype = SH64_COMPACT_INSN_CLRS_COMPACT; goto extract_sfmt_clrs_compact; case 5 : itype = SH64_COMPACT_INSN_SETS_COMPACT; goto extract_sfmt_clrs_compact; default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 9 :
- {
- unsigned int val = (((insn >> 4) & (3 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_NOP_COMPACT; goto extract_sfmt_nop_compact; case 1 : itype = SH64_COMPACT_INSN_DIV0U_COMPACT; goto extract_sfmt_div0u_compact; case 2 : itype = SH64_COMPACT_INSN_MOVT_COMPACT; goto extract_sfmt_movt_compact; default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 10 :
- {
- unsigned int val = (((insn >> 4) & (7 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_STS_MACH_COMPACT; goto extract_sfmt_sts_mach_compact; case 1 : itype = SH64_COMPACT_INSN_STS_MACL_COMPACT; goto extract_sfmt_sts_macl_compact; case 2 : itype = SH64_COMPACT_INSN_STS_PR_COMPACT; goto extract_sfmt_sts_pr_compact; case 5 : itype = SH64_COMPACT_INSN_STS_FPUL_COMPACT; goto extract_sfmt_sts_fpul_compact; case 6 : itype = SH64_COMPACT_INSN_STS_FPSCR_COMPACT; goto extract_sfmt_sts_fpscr_compact; default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 11 :
- {
- unsigned int val = (((insn >> 4) & (3 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_RTS_COMPACT; goto extract_sfmt_rts_compact; case 3 : itype = SH64_COMPACT_INSN_BRK_COMPACT; goto extract_sfmt_brk_compact; default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 12 : itype = SH64_COMPACT_INSN_MOVB8_COMPACT; goto extract_sfmt_movb8_compact; case 13 : itype = SH64_COMPACT_INSN_MOVW8_COMPACT; goto extract_sfmt_movb8_compact; case 14 : itype = SH64_COMPACT_INSN_MOVL8_COMPACT; goto extract_sfmt_movb8_compact; case 15 : itype = SH64_COMPACT_INSN_MACL_COMPACT; goto extract_sfmt_macl_compact; case 16 : /* fall through */
- case 17 : /* fall through */
- case 18 : /* fall through */
- case 19 : /* fall through */
- case 20 : /* fall through */
- case 21 : /* fall through */
- case 22 : /* fall through */
- case 23 : /* fall through */
- case 24 : /* fall through */
- case 25 : /* fall through */
- case 26 : /* fall through */
- case 27 : /* fall through */
- case 28 : /* fall through */
- case 29 : /* fall through */
- case 30 : /* fall through */
- case 31 : itype = SH64_COMPACT_INSN_MOVL5_COMPACT; goto extract_sfmt_movl5_compact; case 32 : itype = SH64_COMPACT_INSN_MOVB1_COMPACT; goto extract_sfmt_movb1_compact; case 33 : itype = SH64_COMPACT_INSN_MOVW1_COMPACT; goto extract_sfmt_movb1_compact; case 34 : itype = SH64_COMPACT_INSN_MOVL1_COMPACT; goto extract_sfmt_movb1_compact; case 36 : itype = SH64_COMPACT_INSN_MOVB2_COMPACT; goto extract_sfmt_movb2_compact; case 37 : itype = SH64_COMPACT_INSN_MOVW2_COMPACT; goto extract_sfmt_movb2_compact; case 38 : itype = SH64_COMPACT_INSN_MOVL2_COMPACT; goto extract_sfmt_movb2_compact; case 39 : itype = SH64_COMPACT_INSN_DIV0S_COMPACT; goto extract_sfmt_div0s_compact; case 40 : itype = SH64_COMPACT_INSN_TST_COMPACT; goto extract_sfmt_cmpeq_compact; case 41 : itype = SH64_COMPACT_INSN_AND_COMPACT; goto extract_sfmt_and_compact; case 42 : itype = SH64_COMPACT_INSN_XOR_COMPACT; goto extract_sfmt_and_compact; case 43 : itype = SH64_COMPACT_INSN_OR_COMPACT; goto extract_sfmt_and_compact; case 44 : itype = SH64_COMPACT_INSN_CMPSTR_COMPACT; goto extract_sfmt_cmpeq_compact; case 45 : itype = SH64_COMPACT_INSN_XTRCT_COMPACT; goto extract_sfmt_add_compact; case 46 : itype = SH64_COMPACT_INSN_MULUW_COMPACT; goto extract_sfmt_mull_compact; case 47 : itype = SH64_COMPACT_INSN_MULSW_COMPACT; goto extract_sfmt_mull_compact; case 48 : itype = SH64_COMPACT_INSN_CMPEQ_COMPACT; goto extract_sfmt_cmpeq_compact; case 50 : itype = SH64_COMPACT_INSN_CMPHS_COMPACT; goto extract_sfmt_cmpeq_compact; case 51 : itype = SH64_COMPACT_INSN_CMPGE_COMPACT; goto extract_sfmt_cmpeq_compact; case 52 : itype = SH64_COMPACT_INSN_DIV1_COMPACT; goto extract_sfmt_div1_compact; case 53 : itype = SH64_COMPACT_INSN_DMULUL_COMPACT; goto extract_sfmt_dmulsl_compact; case 54 : itype = SH64_COMPACT_INSN_CMPHI_COMPACT; goto extract_sfmt_cmpeq_compact; case 55 : itype = SH64_COMPACT_INSN_CMPGT_COMPACT; goto extract_sfmt_cmpeq_compact; case 56 : itype = SH64_COMPACT_INSN_SUB_COMPACT; goto extract_sfmt_add_compact; case 58 : itype = SH64_COMPACT_INSN_SUBC_COMPACT; goto extract_sfmt_addc_compact; case 59 : itype = SH64_COMPACT_INSN_SUBV_COMPACT; goto extract_sfmt_addv_compact; case 60 : itype = SH64_COMPACT_INSN_ADD_COMPACT; goto extract_sfmt_add_compact; case 61 : itype = SH64_COMPACT_INSN_DMULSL_COMPACT; goto extract_sfmt_dmulsl_compact; case 62 : itype = SH64_COMPACT_INSN_ADDC_COMPACT; goto extract_sfmt_addc_compact; case 63 : itype = SH64_COMPACT_INSN_ADDV_COMPACT; goto extract_sfmt_addv_compact; case 64 :
- {
- unsigned int val = (((insn >> 4) & (3 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_SHLL_COMPACT; goto extract_sfmt_dt_compact; case 1 : itype = SH64_COMPACT_INSN_DT_COMPACT; goto extract_sfmt_dt_compact; case 2 : itype = SH64_COMPACT_INSN_SHAL_COMPACT; goto extract_sfmt_dt_compact; default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 65 :
- {
- unsigned int val = (((insn >> 4) & (3 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_SHLR_COMPACT; goto extract_sfmt_dt_compact; case 1 : itype = SH64_COMPACT_INSN_CMPPZ_COMPACT; goto extract_sfmt_cmppl_compact; case 2 : itype = SH64_COMPACT_INSN_SHAR_COMPACT; goto extract_sfmt_dt_compact; default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 66 :
- {
- unsigned int val = (((insn >> 4) & (7 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_STSL_MACH_COMPACT; goto extract_sfmt_stsl_mach_compact; case 1 : itype = SH64_COMPACT_INSN_STSL_MACL_COMPACT; goto extract_sfmt_stsl_macl_compact; case 2 : itype = SH64_COMPACT_INSN_STSL_PR_COMPACT; goto extract_sfmt_stsl_pr_compact; case 5 : itype = SH64_COMPACT_INSN_STSL_FPUL_COMPACT; goto extract_sfmt_stsl_fpul_compact; case 6 : itype = SH64_COMPACT_INSN_STSL_FPSCR_COMPACT; goto extract_sfmt_stsl_fpscr_compact; default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 67 : itype = SH64_COMPACT_INSN_STCL_GBR_COMPACT; goto extract_sfmt_stcl_gbr_compact; case 68 :
- {
- unsigned int val = (((insn >> 5) & (1 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_ROTL_COMPACT; goto extract_sfmt_dt_compact; case 1 : itype = SH64_COMPACT_INSN_ROTCL_COMPACT; goto extract_sfmt_rotcl_compact; default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 69 :
- {
- unsigned int val = (((insn >> 4) & (3 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_ROTR_COMPACT; goto extract_sfmt_dt_compact; case 1 : itype = SH64_COMPACT_INSN_CMPPL_COMPACT; goto extract_sfmt_cmppl_compact; case 2 : itype = SH64_COMPACT_INSN_ROTCR_COMPACT; goto extract_sfmt_rotcl_compact; default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 70 :
- {
- unsigned int val = (((insn >> 4) & (7 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_LDSL_MACH_COMPACT; goto extract_sfmt_ldsl_mach_compact; case 1 : itype = SH64_COMPACT_INSN_LDSL_MACL_COMPACT; goto extract_sfmt_ldsl_macl_compact; case 2 : itype = SH64_COMPACT_INSN_LDSL_PR_COMPACT; goto extract_sfmt_ldsl_pr_compact; case 5 : itype = SH64_COMPACT_INSN_LDSL_FPUL_COMPACT; goto extract_sfmt_ldsl_fpul_compact; case 6 : itype = SH64_COMPACT_INSN_LDSL_FPSCR_COMPACT; goto extract_sfmt_ldsl_fpscr_compact; default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 71 : itype = SH64_COMPACT_INSN_LDCL_COMPACT; goto extract_sfmt_ldcl_compact; case 72 :
- {
- unsigned int val = (((insn >> 4) & (3 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_SHLL2_COMPACT; goto extract_sfmt_shll2_compact; case 1 : itype = SH64_COMPACT_INSN_SHLL8_COMPACT; goto extract_sfmt_shll2_compact; case 2 : itype = SH64_COMPACT_INSN_SHLL16_COMPACT; goto extract_sfmt_shll2_compact; default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 73 :
- {
- unsigned int val = (((insn >> 4) & (3 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_SHLR2_COMPACT; goto extract_sfmt_shll2_compact; case 1 : itype = SH64_COMPACT_INSN_SHLR8_COMPACT; goto extract_sfmt_shll2_compact; case 2 : itype = SH64_COMPACT_INSN_SHLR16_COMPACT; goto extract_sfmt_shll2_compact; default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 74 :
- {
- unsigned int val = (((insn >> 4) & (7 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_LDS_MACH_COMPACT; goto extract_sfmt_lds_mach_compact; case 1 : itype = SH64_COMPACT_INSN_LDS_MACL_COMPACT; goto extract_sfmt_lds_macl_compact; case 2 : itype = SH64_COMPACT_INSN_LDS_PR_COMPACT; goto extract_sfmt_lds_pr_compact; case 5 : itype = SH64_COMPACT_INSN_LDS_FPUL_COMPACT; goto extract_sfmt_lds_fpul_compact; case 6 : itype = SH64_COMPACT_INSN_LDS_FPSCR_COMPACT; goto extract_sfmt_lds_fpscr_compact; default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 75 :
- {
- unsigned int val = (((insn >> 4) & (3 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_JSR_COMPACT; goto extract_sfmt_bsrf_compact; case 1 : itype = SH64_COMPACT_INSN_TASB_COMPACT; goto extract_sfmt_tasb_compact; case 2 : itype = SH64_COMPACT_INSN_JMP_COMPACT; goto extract_sfmt_jmp_compact; default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- case 76 : itype = SH64_COMPACT_INSN_SHAD_COMPACT; goto extract_sfmt_shad_compact; case 77 : itype = SH64_COMPACT_INSN_SHLD_COMPACT; goto extract_sfmt_shad_compact; case 78 : itype = SH64_COMPACT_INSN_LDC_COMPACT; goto extract_sfmt_ldc_compact; case 79 : itype = SH64_COMPACT_INSN_MACW_COMPACT; goto extract_sfmt_macw_compact; case 80 : /* fall through */
- case 81 : /* fall through */
- case 82 : /* fall through */
- case 83 : /* fall through */
- case 84 : /* fall through */
- case 85 : /* fall through */
- case 86 : /* fall through */
- case 87 : /* fall through */
- case 88 : /* fall through */
- case 89 : /* fall through */
- case 90 : /* fall through */
- case 91 : /* fall through */
- case 92 : /* fall through */
- case 93 : /* fall through */
- case 94 : /* fall through */
- case 95 : itype = SH64_COMPACT_INSN_MOVL11_COMPACT; goto extract_sfmt_movl11_compact; case 96 : itype = SH64_COMPACT_INSN_MOVB6_COMPACT; goto extract_sfmt_movb6_compact; case 97 : itype = SH64_COMPACT_INSN_MOVW6_COMPACT; goto extract_sfmt_movb6_compact; case 98 : itype = SH64_COMPACT_INSN_MOVL6_COMPACT; goto extract_sfmt_movb6_compact; case 99 : itype = SH64_COMPACT_INSN_MOV_COMPACT; goto extract_sfmt_mov_compact; case 100 : itype = SH64_COMPACT_INSN_MOVB7_COMPACT; goto extract_sfmt_movb7_compact; case 101 : itype = SH64_COMPACT_INSN_MOVW7_COMPACT; goto extract_sfmt_movb7_compact; case 102 : itype = SH64_COMPACT_INSN_MOVL7_COMPACT; goto extract_sfmt_movl7_compact; case 103 : itype = SH64_COMPACT_INSN_NOT_COMPACT; goto extract_sfmt_mov_compact; case 104 : itype = SH64_COMPACT_INSN_SWAPB_COMPACT; goto extract_sfmt_extsb_compact; case 105 : itype = SH64_COMPACT_INSN_SWAPW_COMPACT; goto extract_sfmt_extsb_compact; case 106 : itype = SH64_COMPACT_INSN_NEGC_COMPACT; goto extract_sfmt_negc_compact; case 107 : itype = SH64_COMPACT_INSN_NEG_COMPACT; goto extract_sfmt_extsb_compact; case 108 : itype = SH64_COMPACT_INSN_EXTUB_COMPACT; goto extract_sfmt_extsb_compact; case 109 : itype = SH64_COMPACT_INSN_EXTUW_COMPACT; goto extract_sfmt_extsb_compact; case 110 : itype = SH64_COMPACT_INSN_EXTSB_COMPACT; goto extract_sfmt_extsb_compact; case 111 : itype = SH64_COMPACT_INSN_EXTSW_COMPACT; goto extract_sfmt_extsb_compact; case 112 : /* fall through */
- case 113 : /* fall through */
- case 114 : /* fall through */
- case 115 : /* fall through */
- case 116 : /* fall through */
- case 117 : /* fall through */
- case 118 : /* fall through */
- case 119 : /* fall through */
- case 120 : /* fall through */
- case 121 : /* fall through */
- case 122 : /* fall through */
- case 123 : /* fall through */
- case 124 : /* fall through */
- case 125 : /* fall through */
- case 126 : /* fall through */
- case 127 : itype = SH64_COMPACT_INSN_ADDI_COMPACT; goto extract_sfmt_addi_compact; 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 :
- {
- 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_bf_compact; case 15 : itype = SH64_COMPACT_INSN_BFS_COMPACT; goto extract_sfmt_bf_compact; default : itype = SH64_COMPACT_INSN_X_INVALID; goto extract_sfmt_empty;
- }
- }
- 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 : itype = SH64_COMPACT_INSN_MOVW10_COMPACT; goto extract_sfmt_movw10_compact; 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 : itype = SH64_COMPACT_INSN_BRA_COMPACT; goto extract_sfmt_bra_compact; 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 : itype = SH64_COMPACT_INSN_BSR_COMPACT; goto extract_sfmt_bsr_compact; 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 :
- {
- 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_xori_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 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 : itype = SH64_COMPACT_INSN_MOVL10_COMPACT; goto extract_sfmt_movl10_compact; 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 : itype = SH64_COMPACT_INSN_MOVI_COMPACT; goto extract_sfmt_movi_compact; case 240 : itype = SH64_COMPACT_INSN_FADD_COMPACT; goto extract_sfmt_fadd_compact; case 241 : itype = SH64_COMPACT_INSN_FSUB_COMPACT; goto extract_sfmt_fadd_compact; case 242 : itype = SH64_COMPACT_INSN_FMUL_COMPACT; goto extract_sfmt_fadd_compact; case 243 : itype = SH64_COMPACT_INSN_FDIV_COMPACT; goto extract_sfmt_fadd_compact; case 244 : itype = SH64_COMPACT_INSN_FCMPEQ_COMPACT; goto extract_sfmt_fcmpeq_compact; case 245 : itype = SH64_COMPACT_INSN_FCMPGT_COMPACT; goto extract_sfmt_fcmpeq_compact; case 246 : itype = SH64_COMPACT_INSN_FMOV4_COMPACT; goto extract_sfmt_fmov4_compact; case 247 : itype = SH64_COMPACT_INSN_FMOV7_COMPACT; goto extract_sfmt_fmov7_compact; case 248 : itype = SH64_COMPACT_INSN_FMOV2_COMPACT; goto extract_sfmt_fmov2_compact; case 249 : itype = SH64_COMPACT_INSN_FMOV3_COMPACT; goto extract_sfmt_fmov3_compact; case 250 : itype = SH64_COMPACT_INSN_FMOV5_COMPACT; goto extract_sfmt_fmov5_compact; case 251 : itype = SH64_COMPACT_INSN_FMOV6_COMPACT; goto extract_sfmt_fmov6_compact; case 252 : itype = SH64_COMPACT_INSN_FMOV1_COMPACT; goto extract_sfmt_fmov1_compact; case 253 :
- {
- unsigned int val = (((insn >> 4) & (15 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_FSTS_COMPACT; goto extract_sfmt_fsts_compact; case 1 : itype = SH64_COMPACT_INSN_FLDS_COMPACT; goto extract_sfmt_flds_compact; case 2 : itype = SH64_COMPACT_INSN_FLOAT_COMPACT; goto extract_sfmt_float_compact; case 3 : itype = SH64_COMPACT_INSN_FTRC_COMPACT; goto extract_sfmt_ftrc_compact; case 4 : itype = SH64_COMPACT_INSN_FNEG_COMPACT; goto extract_sfmt_fabs_compact; case 5 : itype = SH64_COMPACT_INSN_FABS_COMPACT; goto extract_sfmt_fabs_compact; case 6 : itype = SH64_COMPACT_INSN_FSQRT_COMPACT; goto extract_sfmt_fabs_compact; case 8 : itype = SH64_COMPACT_INSN_FLDI0_COMPACT; goto extract_sfmt_fldi0_compact; case 9 : itype = SH64_COMPACT_INSN_FLDI1_COMPACT; goto extract_sfmt_fldi0_compact; case 10 : itype = SH64_COMPACT_INSN_FCNVSD_COMPACT; goto extract_sfmt_fcnvsd_compact; case 11 : itype = SH64_COMPACT_INSN_FCNVDS_COMPACT; goto extract_sfmt_fcnvds_compact; case 14 : itype = SH64_COMPACT_INSN_FIPR_COMPACT; goto extract_sfmt_fipr_compact; case 15 :
- {
- unsigned int val = (((insn >> 9) & (1 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_FTRV_COMPACT; goto extract_sfmt_ftrv_compact; case 1 :
- {
- unsigned int val = (((insn >> 11) & (1 << 0)));
- switch (val)
- {
- case 0 : itype = SH64_COMPACT_INSN_FSCHG_COMPACT; goto extract_sfmt_fschg_compact; case 1 : itype = SH64_COMPACT_INSN_FRCHG_COMPACT; goto extract_sfmt_frchg_compact; default : 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;
- }
- }
- case 254 : itype = SH64_COMPACT_INSN_FMAC_COMPACT; goto extract_sfmt_fmac_compact; 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.fmt_empty.f
-
-
- /* Record the fields for the semantic handler. */
- 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_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_addi_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_rn;
- UINT f_imm8;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_imm8 = EXTRACT_LSB0_UINT (insn, 16, 7, 8);
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi_compact", "f_imm8 0x%x", 'x', f_imm8, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_addc_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addc_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_addv_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addv_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_and_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_and_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_andi_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_imm8;
-
- f_imm8 = EXTRACT_LSB0_UINT (insn, 16, 7, 8);
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andi_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_andb_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_imm8;
-
- f_imm8 = EXTRACT_LSB0_UINT (insn, 16, 7, 8);
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_andb_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_bf_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_bf_compact.f
- SI f_disp8;
-
- f_disp8 = ((((EXTRACT_LSB0_INT (insn, 16, 7, 8)) << (1))) + (((pc) + (4))));
-
- /* Record the fields for the semantic handler. */
- FLD (i_disp8) = f_disp8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bf_compact", "disp8 0x%x", 'x', f_disp8, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_bra_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_bra_compact.f
- SI f_disp12;
-
- f_disp12 = ((((EXTRACT_LSB0_INT (insn, 16, 11, 12)) << (1))) + (((pc) + (4))));
-
- /* Record the fields for the semantic handler. */
- FLD (i_disp12) = f_disp12;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bra_compact", "disp12 0x%x", 'x', f_disp12, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_braf_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_braf_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_brk_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
-
-
- /* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brk_compact", (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_bsr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_bra_compact.f
- SI f_disp12;
-
- f_disp12 = ((((EXTRACT_LSB0_INT (insn, 16, 11, 12)) << (1))) + (((pc) + (4))));
-
- /* Record the fields for the semantic handler. */
- FLD (i_disp12) = f_disp12;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bsr_compact", "disp12 0x%x", 'x', f_disp12, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_bsrf_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_bsrf_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_clrmac_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
-
-
- /* Record the fields for the semantic handler. */
- 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.fmt_empty.f
-
-
- /* Record the fields for the semantic handler. */
- 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.fmt_empty.f
-
-
- /* Record the fields for the semantic handler. */
- 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_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpeq_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_cmpeqi_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_imm8;
-
- f_imm8 = EXTRACT_LSB0_UINT (insn, 16, 7, 8);
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmpeqi_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_cmppl_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmppl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_div0s_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div0s_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_div0u_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
-
-
- /* Record the fields for the semantic handler. */
- 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_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_div1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_dmulsl_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dmulsl_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_dt_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_dt_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_extsb_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_extsb_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fabs_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fabs_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fadd_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fadd_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fcmpeq_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcmpeq_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fcnvds_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fcnvds_compact.f
- SI f_dn;
-
- f_dn = ((EXTRACT_LSB0_UINT (insn, 16, 11, 3)) << (1));
-
- /* Record the fields for the semantic handler. */
- FLD (f_dn) = f_dn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcnvds_compact", "f_dn 0x%x", 'x', f_dn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fcnvsd_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fcnvds_compact.f
- SI f_dn;
-
- f_dn = ((EXTRACT_LSB0_UINT (insn, 16, 11, 3)) << (1));
-
- /* Record the fields for the semantic handler. */
- FLD (f_dn) = f_dn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcnvsd_compact", "f_dn 0x%x", 'x', f_dn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fipr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fipr_compact.f
- SI f_vn;
- SI f_vm;
-
- f_vn = ((EXTRACT_LSB0_UINT (insn, 16, 11, 2)) << (2));
- f_vm = ((EXTRACT_LSB0_UINT (insn, 16, 9, 2)) << (2));
-
- /* Record the fields for the semantic handler. */
- FLD (f_vm) = f_vm;
- FLD (f_vn) = f_vn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fipr_compact", "f_vm 0x%x", 'x', f_vm, "f_vn 0x%x", 'x', f_vn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_flds_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_flds_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fldi0_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldi0_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_float_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_float_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fmac_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmac_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fmov1_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fmov2_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- FLD (f_rm) = f_rm;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov2_compact", "f_rn 0x%x", 'x', f_rn, "f_rm 0x%x", 'x', f_rm, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fmov3_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- FLD (f_rm) = f_rm;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov3_compact", "f_rn 0x%x", 'x', f_rn, "f_rm 0x%x", 'x', f_rm, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fmov4_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- FLD (f_rm) = f_rm;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov4_compact", "f_rn 0x%x", 'x', f_rn, "f_rm 0x%x", 'x', f_rm, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fmov5_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov5_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fmov6_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fmov7_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmov7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_frchg_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
-
-
- /* Record the fields for the semantic handler. */
- 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.fmt_empty.f
-
-
- /* Record the fields for the semantic handler. */
- 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_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fsts_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_ftrc_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftrc_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_ftrv_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fipr_compact.f
- SI f_vn;
-
- f_vn = ((EXTRACT_LSB0_UINT (insn, 16, 11, 2)) << (2));
-
- /* Record the fields for the semantic handler. */
- FLD (f_vn) = f_vn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftrv_compact", "f_vn 0x%x", 'x', f_vn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_jmp_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_jmp_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_ldc_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldc_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_ldcl_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldcl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_lds_fpscr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_ldsl_fpscr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_lds_fpul_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_ldsl_fpul_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_lds_mach_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_ldsl_mach_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_lds_macl_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_ldsl_macl_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_lds_pr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lds_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_ldsl_pr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldsl_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_macl_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_macl_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_macw_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_macw_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_mov_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mov_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movi_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_rn;
- UINT f_imm8;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_imm8 = EXTRACT_LSB0_UINT (insn, 16, 7, 8);
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movi_compact", "f_imm8 0x%x", 'x', f_imm8, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movb1_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb1_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movb2_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb2_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movb3_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb3_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movb4_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_imm8;
-
- f_imm8 = EXTRACT_LSB0_UINT (insn, 16, 7, 8);
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb4_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movb5_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movb5_compact.f
- UINT f_rm;
- UINT f_imm4;
-
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
- f_imm4 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm4) = f_imm4;
- FLD (f_rm) = f_rm;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb5_compact", "f_imm4 0x%x", 'x', f_imm4, "f_rm 0x%x", 'x', f_rm, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movb6_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb6_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movb7_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movb8_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb8_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movb9_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_imm8;
-
- f_imm8 = EXTRACT_LSB0_UINT (insn, 16, 7, 8);
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb9_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movb10_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movb5_compact.f
- UINT f_rm;
- UINT f_imm4;
-
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
- f_imm4 = EXTRACT_LSB0_UINT (insn, 16, 3, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm4) = f_imm4;
- FLD (f_rm) = f_rm;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movb10_compact", "f_imm4 0x%x", 'x', f_imm4, "f_rm 0x%x", 'x', f_rm, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movl4_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl10_compact.f
- SI f_imm8x4;
-
- f_imm8x4 = ((EXTRACT_LSB0_UINT (insn, 16, 7, 8)) << (2));
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm8x4) = f_imm8x4;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl4_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movl5_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
- SI f_imm4x4;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
- f_imm4x4 = ((EXTRACT_LSB0_UINT (insn, 16, 3, 4)) << (2));
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm4x4) = f_imm4x4;
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl5_compact", "f_imm4x4 0x%x", 'x', f_imm4x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movl7_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl7_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movl9_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl10_compact.f
- SI f_imm8x4;
-
- f_imm8x4 = ((EXTRACT_LSB0_UINT (insn, 16, 7, 8)) << (2));
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm8x4) = f_imm8x4;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl9_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movl10_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl10_compact.f
- UINT f_rn;
- SI f_imm8x4;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_imm8x4 = ((EXTRACT_LSB0_UINT (insn, 16, 7, 8)) << (2));
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm8x4) = f_imm8x4;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl10_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movl11_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
- SI f_imm4x4;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
- f_imm4x4 = ((EXTRACT_LSB0_UINT (insn, 16, 3, 4)) << (2));
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm4x4) = f_imm4x4;
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movl11_compact", "f_imm4x4 0x%x", 'x', f_imm4x4, "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movw4_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- SI f_imm8x2;
-
- f_imm8x2 = ((EXTRACT_LSB0_UINT (insn, 16, 7, 8)) << (1));
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm8x2) = f_imm8x2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw4_compact", "f_imm8x2 0x%x", 'x', f_imm8x2, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movw5_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw5_compact.f
- UINT f_rn;
- SI f_imm4x2;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_imm4x2 = ((EXTRACT_LSB0_UINT (insn, 16, 3, 4)) << (1));
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm4x2) = f_imm4x2;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw5_compact", "f_imm4x2 0x%x", 'x', f_imm4x2, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movw9_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- SI f_imm8x2;
-
- f_imm8x2 = ((EXTRACT_LSB0_UINT (insn, 16, 7, 8)) << (1));
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm8x2) = f_imm8x2;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw9_compact", "f_imm8x2 0x%x", 'x', f_imm8x2, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movw10_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
- SI f_imm8x2;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_imm8x2 = ((EXTRACT_LSB0_UINT (insn, 16, 7, 8)) << (1));
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm8x2) = f_imm8x2;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw10_compact", "f_imm8x2 0x%x", 'x', f_imm8x2, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movw11_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw11_compact.f
- UINT f_rm;
- SI f_imm4x2;
-
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
- f_imm4x2 = ((EXTRACT_LSB0_UINT (insn, 16, 3, 4)) << (1));
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm4x2) = f_imm4x2;
- FLD (f_rm) = f_rm;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movw11_compact", "f_imm4x2 0x%x", 'x', f_imm4x2, "f_rm 0x%x", 'x', f_rm, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_mova_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl10_compact.f
- SI f_imm8x4;
-
- f_imm8x4 = ((EXTRACT_LSB0_UINT (insn, 16, 7, 8)) << (2));
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm8x4) = f_imm8x4;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mova_compact", "f_imm8x4 0x%x", 'x', f_imm8x4, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movcal_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movcal_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movt_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movt_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_mull_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mull_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_negc_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_negc_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_nop_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
-
-
- /* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_nop_compact", (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_rotcl_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rotcl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_rts_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
-
-
- /* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_rts_compact", (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_shad_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movl5_compact.f
- UINT f_rn;
- UINT f_rm;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rm) = f_rm;
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_shad_compact", "f_rm 0x%x", 'x', f_rm, "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_shll2_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_shll2_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_stc_gbr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stc_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_stcl_gbr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stcl_gbr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_sts_fpscr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_stsl_fpscr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_fpscr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_sts_fpul_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_stsl_fpul_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_fpul_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_sts_mach_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_stsl_mach_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_mach_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_sts_macl_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_stsl_macl_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_macl_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_sts_pr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sts_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_stsl_pr_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stsl_pr_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_tasb_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movw10_compact.f
- UINT f_rn;
-
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4);
-
- /* Record the fields for the semantic handler. */
- FLD (f_rn) = f_rn;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tasb_compact", "f_rn 0x%x", 'x', f_rn, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_trapa_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_imm8;
-
- f_imm8 = EXTRACT_LSB0_UINT (insn, 16, 7, 8);
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_trapa_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_tsti_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_imm8;
-
- f_imm8 = EXTRACT_LSB0_UINT (insn, 16, 7, 8);
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tsti_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_tstb_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_imm8;
-
- f_imm8 = EXTRACT_LSB0_UINT (insn, 16, 7, 8);
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_tstb_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_xori_compact:
- {
- const IDESC *idesc = &sh64_compact_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi_compact.f
- UINT f_imm8;
-
- f_imm8 = EXTRACT_LSB0_UINT (insn, 16, 7, 8);
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm8) = f_imm8;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_xori_compact", "f_imm8 0x%x", 'x', f_imm8, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
-}
diff --git a/sim/sh64/decode-compact.h b/sim/sh64/decode-compact.h
deleted file mode 100644
index 8ca92a9d05d..00000000000
--- a/sim/sh64/decode-compact.h
+++ /dev/null
@@ -1,128 +0,0 @@
-/* Decode header for sh64_compact.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#ifndef SH64_COMPACT_DECODE_H
-#define SH64_COMPACT_DECODE_H
-
-extern const IDESC *sh64_compact_decode (SIM_CPU *, IADDR,
- CGEN_INSN_INT, CGEN_INSN_INT,
- 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_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_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_COMPACT
- , SH64_COMPACT_INSN_LDCL_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_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_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_MOVT_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_STCL_GBR_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_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_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_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_JMP_COMPACT, SH64_COMPACT_SFMT_LDC_COMPACT, SH64_COMPACT_SFMT_LDCL_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_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_MOVL4_COMPACT
- , SH64_COMPACT_SFMT_MOVL5_COMPACT, SH64_COMPACT_SFMT_MOVL7_COMPACT, SH64_COMPACT_SFMT_MOVL9_COMPACT, SH64_COMPACT_SFMT_MOVL10_COMPACT
- , SH64_COMPACT_SFMT_MOVL11_COMPACT, SH64_COMPACT_SFMT_MOVW4_COMPACT, SH64_COMPACT_SFMT_MOVW5_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_MOVT_COMPACT, SH64_COMPACT_SFMT_MULL_COMPACT, SH64_COMPACT_SFMT_NEGC_COMPACT, SH64_COMPACT_SFMT_NOP_COMPACT
- , SH64_COMPACT_SFMT_ROTCL_COMPACT, SH64_COMPACT_SFMT_RTS_COMPACT, SH64_COMPACT_SFMT_SHAD_COMPACT, SH64_COMPACT_SFMT_SHLL2_COMPACT
- , SH64_COMPACT_SFMT_STC_GBR_COMPACT, SH64_COMPACT_SFMT_STCL_GBR_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_XORI_COMPACT
-} SH64_COMPACT_SFMT_TYPE;
-
-/* Function unit handlers (user written). */
-
-extern int sh64_model_sh5_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
index f1471f332bb..00000000000
--- a/sim/sh64/decode-media.c
+++ /dev/null
@@ -1,2109 +0,0 @@
-/* Simulator instruction decoder for sh64_media.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#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_BEQI },
- { 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_ALLOCO },
- { 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_ALLOCO },
- { 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_FSTP },
- { 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_FSTXP },
- { SH_INSN_FSTXS, SH64_MEDIA_INSN_FSTXS, SH64_MEDIA_SFMT_FSTXS },
- { SH_INSN_FSUBD, SH64_MEDIA_INSN_FSUBD, SH64_MEDIA_SFMT_FADDD },
- { 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_FABSD },
- { 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_ALLOCO },
- { 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_ALLOCO },
- { SH_INSN_LDHIQ, SH64_MEDIA_INSN_LDHIQ, SH64_MEDIA_SFMT_ALLOCO },
- { SH_INSN_LDLOL, SH64_MEDIA_INSN_LDLOL, SH64_MEDIA_SFMT_ALLOCO },
- { SH_INSN_LDLOQ, SH64_MEDIA_INSN_LDLOQ, SH64_MEDIA_SFMT_ALLOCO },
- { SH_INSN_LDXB, SH64_MEDIA_INSN_LDXB, SH64_MEDIA_SFMT_LDXB },
- { SH_INSN_LDXL, SH64_MEDIA_INSN_LDXL, SH64_MEDIA_SFMT_LDXB },
- { SH_INSN_LDXQ, SH64_MEDIA_INSN_LDXQ, SH64_MEDIA_SFMT_LDXB },
- { SH_INSN_LDXUB, SH64_MEDIA_INSN_LDXUB, SH64_MEDIA_SFMT_LDXB },
- { SH_INSN_LDXUW, SH64_MEDIA_INSN_LDXUW, SH64_MEDIA_SFMT_LDXB },
- { SH_INSN_LDXW, SH64_MEDIA_INSN_LDXW, SH64_MEDIA_SFMT_LDXB },
- { 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_MCMV },
- { 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_MPERMW },
- { 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_ALLOCO },
- { 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_ALLOCO },
- { 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_ALLOCO },
- { SH_INSN_PUTCON, SH64_MEDIA_INSN_PUTCON, SH64_MEDIA_SFMT_PUTCON },
- { SH_INSN_RTE, SH64_MEDIA_INSN_RTE, SH64_MEDIA_SFMT_ALLOCO },
- { 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_SHARIL },
- { 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_SHARIL },
- { 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_SHARIL },
- { SH_INSN_SHORI, SH64_MEDIA_INSN_SHORI, SH64_MEDIA_SFMT_SHORI },
- { SH_INSN_SLEEP, SH64_MEDIA_INSN_SLEEP, SH64_MEDIA_SFMT_ALLOCO },
- { 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_STHIL },
- { SH_INSN_STLOL, SH64_MEDIA_INSN_STLOL, SH64_MEDIA_SFMT_ALLOCO },
- { SH_INSN_STLOQ, SH64_MEDIA_INSN_STLOQ, SH64_MEDIA_SFMT_ALLOCO },
- { SH_INSN_STXB, SH64_MEDIA_INSN_STXB, SH64_MEDIA_SFMT_STXB },
- { SH_INSN_STXL, SH64_MEDIA_INSN_STXL, SH64_MEDIA_SFMT_STXB },
- { SH_INSN_STXQ, SH64_MEDIA_INSN_STXQ, SH64_MEDIA_SFMT_STXB },
- { SH_INSN_STXW, SH64_MEDIA_INSN_STXW, SH64_MEDIA_SFMT_STXB },
- { 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_ALLOCO },
- { SH_INSN_SYNCO, SH64_MEDIA_INSN_SYNCO, SH64_MEDIA_SFMT_ALLOCO },
- { 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 + sizeof (sh64_media_insn_sem) / sizeof (*t);
- 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_INT base_insn, CGEN_INSN_INT entire_insn,
- ARGBUF *abuf)
-{
- /* Result of decoder. */
- SH64_MEDIA_INSN_TYPE itype;
-
- {
- CGEN_INSN_INT insn = base_insn;
-
- {
- unsigned int val = (((insn >> 22) & (63 << 4)) | ((insn >> 16) & (15 << 0)));
- switch (val)
- {
- case 1 : itype = SH64_MEDIA_INSN_CMPEQ; goto extract_sfmt_add; case 3 : itype = SH64_MEDIA_INSN_CMPGT; goto extract_sfmt_add; case 7 : itype = SH64_MEDIA_INSN_CMPGTU; goto extract_sfmt_add; case 8 : itype = SH64_MEDIA_INSN_ADDL; goto extract_sfmt_add; case 9 : itype = SH64_MEDIA_INSN_ADD; goto extract_sfmt_add; case 10 : itype = SH64_MEDIA_INSN_SUBL; goto extract_sfmt_add; case 11 : itype = SH64_MEDIA_INSN_SUB; goto extract_sfmt_add; case 12 : itype = SH64_MEDIA_INSN_ADDZL; goto extract_sfmt_add; case 13 : itype = SH64_MEDIA_INSN_NSB; goto extract_sfmt_byterev; case 14 : itype = SH64_MEDIA_INSN_MULUL; goto extract_sfmt_add; case 15 : itype = SH64_MEDIA_INSN_BYTEREV; goto extract_sfmt_byterev; case 16 : itype = SH64_MEDIA_INSN_SHLLDL; goto extract_sfmt_add; case 17 : itype = SH64_MEDIA_INSN_SHLLD; goto extract_sfmt_add; case 18 : itype = SH64_MEDIA_INSN_SHLRDL; goto extract_sfmt_add; case 19 : itype = SH64_MEDIA_INSN_SHLRD; goto extract_sfmt_add; case 22 : itype = SH64_MEDIA_INSN_SHARDL; goto extract_sfmt_add; case 23 : itype = SH64_MEDIA_INSN_SHARD; goto extract_sfmt_add; case 25 : itype = SH64_MEDIA_INSN_OR; goto extract_sfmt_add; case 27 : itype = SH64_MEDIA_INSN_AND; goto extract_sfmt_add; case 29 : itype = SH64_MEDIA_INSN_XOR; goto extract_sfmt_add; case 30 : itype = SH64_MEDIA_INSN_MULSL; goto extract_sfmt_add; case 31 : itype = SH64_MEDIA_INSN_ANDC; goto extract_sfmt_add; case 33 : itype = SH64_MEDIA_INSN_MADDW; goto extract_sfmt_add; case 34 : itype = SH64_MEDIA_INSN_MADDL; goto extract_sfmt_add; case 36 : itype = SH64_MEDIA_INSN_MADDSUB; goto extract_sfmt_add; case 37 : itype = SH64_MEDIA_INSN_MADDSW; goto extract_sfmt_add; case 38 : itype = SH64_MEDIA_INSN_MADDSL; goto extract_sfmt_add; case 41 : itype = SH64_MEDIA_INSN_MSUBW; goto extract_sfmt_add; case 42 : itype = SH64_MEDIA_INSN_MSUBL; goto extract_sfmt_add; case 44 : itype = SH64_MEDIA_INSN_MSUBSUB; goto extract_sfmt_add; case 45 : itype = SH64_MEDIA_INSN_MSUBSW; goto extract_sfmt_add; case 46 : itype = SH64_MEDIA_INSN_MSUBSL; goto extract_sfmt_add; case 49 : itype = SH64_MEDIA_INSN_MSHLLDW; goto extract_sfmt_add; case 50 : itype = SH64_MEDIA_INSN_MSHLLDL; goto extract_sfmt_add; case 53 : itype = SH64_MEDIA_INSN_MSHALDSW; goto extract_sfmt_add; case 54 : itype = SH64_MEDIA_INSN_MSHALDSL; goto extract_sfmt_add; case 57 : itype = SH64_MEDIA_INSN_MSHARDW; goto extract_sfmt_add; case 58 : itype = SH64_MEDIA_INSN_MSHARDL; goto extract_sfmt_add; case 59 : itype = SH64_MEDIA_INSN_MSHARDSQ; goto extract_sfmt_add; case 61 : itype = SH64_MEDIA_INSN_MSHLRDW; goto extract_sfmt_add; case 62 : itype = SH64_MEDIA_INSN_MSHLRDL; goto extract_sfmt_add; case 86 : itype = SH64_MEDIA_INSN_FIPRS; goto extract_sfmt_fiprs; case 94 : itype = SH64_MEDIA_INSN_FTRVS; goto extract_sfmt_ftrvs; case 96 : itype = SH64_MEDIA_INSN_FABSS; goto extract_sfmt_fabss; case 97 : itype = SH64_MEDIA_INSN_FABSD; goto extract_sfmt_fabsd; case 98 : itype = SH64_MEDIA_INSN_FNEGS; goto extract_sfmt_fabss; case 99 : itype = SH64_MEDIA_INSN_FNEGD; goto extract_sfmt_fabsd; case 112 : itype = SH64_MEDIA_INSN_FMOVLS; goto extract_sfmt_fmovls; case 113 : itype = SH64_MEDIA_INSN_FMOVQD; goto extract_sfmt_fmovqd; case 114 : itype = SH64_MEDIA_INSN_FGETSCR; goto extract_sfmt_alloco; case 120 : itype = SH64_MEDIA_INSN_FLDXS; goto extract_sfmt_fldxs; case 121 : itype = SH64_MEDIA_INSN_FLDXD; goto extract_sfmt_fldxd; case 125 : itype = SH64_MEDIA_INSN_FLDXP; goto extract_sfmt_fldxp; case 129 : itype = SH64_MEDIA_INSN_CMVEQ; goto extract_sfmt_cmveq; case 131 : itype = SH64_MEDIA_INSN_SWAPQ; goto extract_sfmt_swapq; case 133 : itype = SH64_MEDIA_INSN_CMVNE; goto extract_sfmt_cmveq; case 159 : itype = SH64_MEDIA_INSN_GETCON; goto extract_sfmt_getcon; case 160 : itype = SH64_MEDIA_INSN_MCMPEQB; goto extract_sfmt_add; case 161 : itype = SH64_MEDIA_INSN_MCMPEQW; goto extract_sfmt_add; case 162 : itype = SH64_MEDIA_INSN_MCMPEQL; goto extract_sfmt_add; case 164 : itype = SH64_MEDIA_INSN_MCMPGTUB; goto extract_sfmt_add; case 165 : itype = SH64_MEDIA_INSN_MCMPGTW; goto extract_sfmt_add; case 166 : itype = SH64_MEDIA_INSN_MCMPGTL; goto extract_sfmt_add; case 167 : itype = SH64_MEDIA_INSN_MEXTR1; goto extract_sfmt_add; case 169 : itype = SH64_MEDIA_INSN_MABSW; goto extract_sfmt_byterev; case 170 : itype = SH64_MEDIA_INSN_MABSL; goto extract_sfmt_byterev; case 171 : itype = SH64_MEDIA_INSN_MEXTR2; goto extract_sfmt_add; case 173 : itype = SH64_MEDIA_INSN_MPERMW; goto extract_sfmt_mpermw; case 175 : itype = SH64_MEDIA_INSN_MEXTR3; goto extract_sfmt_add; case 176 : itype = SH64_MEDIA_INSN_MSHFLOB; goto extract_sfmt_add; case 177 : itype = SH64_MEDIA_INSN_MSHFLOW; goto extract_sfmt_add; case 178 : itype = SH64_MEDIA_INSN_MSHFLOL; goto extract_sfmt_add; case 179 : itype = SH64_MEDIA_INSN_MEXTR4; goto extract_sfmt_add; case 180 : itype = SH64_MEDIA_INSN_MSHFHIB; goto extract_sfmt_add; case 181 : itype = SH64_MEDIA_INSN_MSHFHIW; goto extract_sfmt_add; case 182 : itype = SH64_MEDIA_INSN_MSHFHIL; goto extract_sfmt_add; case 183 : itype = SH64_MEDIA_INSN_MEXTR5; goto extract_sfmt_add; case 187 : itype = SH64_MEDIA_INSN_MEXTR6; goto extract_sfmt_add; case 191 : itype = SH64_MEDIA_INSN_MEXTR7; goto extract_sfmt_add; case 192 : itype = SH64_MEDIA_INSN_FMOVSL; goto extract_sfmt_fmovsl; case 193 : itype = SH64_MEDIA_INSN_FMOVDQ; goto extract_sfmt_fmovdq; case 194 : itype = SH64_MEDIA_INSN_FPUTSCR; goto extract_sfmt_alloco; case 200 : itype = SH64_MEDIA_INSN_FCMPEQS; goto extract_sfmt_fcmpeqs; case 201 : itype = SH64_MEDIA_INSN_FCMPEQD; goto extract_sfmt_fcmpeqd; case 202 : itype = SH64_MEDIA_INSN_FCMPUNS; goto extract_sfmt_fcmpeqs; case 203 : itype = SH64_MEDIA_INSN_FCMPUND; goto extract_sfmt_fcmpeqd; case 204 : itype = SH64_MEDIA_INSN_FCMPGTS; goto extract_sfmt_fcmpeqs; case 205 : itype = SH64_MEDIA_INSN_FCMPGTD; goto extract_sfmt_fcmpeqd; case 206 : itype = SH64_MEDIA_INSN_FCMPGES; goto extract_sfmt_fcmpeqs; case 207 : itype = SH64_MEDIA_INSN_FCMPGED; goto extract_sfmt_fcmpeqd; case 208 : itype = SH64_MEDIA_INSN_FADDS; goto extract_sfmt_fadds; case 209 : itype = SH64_MEDIA_INSN_FADDD; goto extract_sfmt_faddd; case 210 : itype = SH64_MEDIA_INSN_FSUBS; goto extract_sfmt_fadds; case 211 : itype = SH64_MEDIA_INSN_FSUBD; goto extract_sfmt_faddd; case 212 : itype = SH64_MEDIA_INSN_FDIVS; goto extract_sfmt_fadds; case 213 : itype = SH64_MEDIA_INSN_FDIVD; goto extract_sfmt_faddd; case 214 : itype = SH64_MEDIA_INSN_FMULS; goto extract_sfmt_fadds; case 215 : itype = SH64_MEDIA_INSN_FMULD; goto extract_sfmt_faddd; case 222 : itype = SH64_MEDIA_INSN_FMACS; goto extract_sfmt_fmacs; case 224 : itype = SH64_MEDIA_INSN_FMOVS; goto extract_sfmt_fabss; case 225 : itype = SH64_MEDIA_INSN_FMOVD; goto extract_sfmt_fabsd; case 228 : itype = SH64_MEDIA_INSN_FSQRTS; goto extract_sfmt_fabss; case 229 : itype = SH64_MEDIA_INSN_FSQRTD; goto extract_sfmt_fabsd; case 230 : itype = SH64_MEDIA_INSN_FCNVSD; goto extract_sfmt_fcnvsd; case 231 : itype = SH64_MEDIA_INSN_FCNVDS; goto extract_sfmt_fcnvds; case 232 : itype = SH64_MEDIA_INSN_FTRCSL; goto extract_sfmt_fabss; case 233 : itype = SH64_MEDIA_INSN_FTRCDQ; goto extract_sfmt_fabsd; case 234 : itype = SH64_MEDIA_INSN_FTRCSQ; goto extract_sfmt_fcnvsd; case 235 : itype = SH64_MEDIA_INSN_FTRCDL; goto extract_sfmt_fcnvds; case 236 : itype = SH64_MEDIA_INSN_FLOATLS; goto extract_sfmt_fabss; case 237 : itype = SH64_MEDIA_INSN_FLOATQD; goto extract_sfmt_fabsd; case 238 : itype = SH64_MEDIA_INSN_FLOATLD; goto extract_sfmt_fcnvsd; case 239 : itype = SH64_MEDIA_INSN_FLOATQS; goto extract_sfmt_fcnvds; case 248 : itype = SH64_MEDIA_INSN_FSTXS; goto extract_sfmt_fstxs; case 249 : itype = SH64_MEDIA_INSN_FSTXD; goto extract_sfmt_fstxd; case 253 : itype = SH64_MEDIA_INSN_FSTXP; goto extract_sfmt_fstxp; case 256 : itype = SH64_MEDIA_INSN_LDXB; goto extract_sfmt_ldxb; case 257 : itype = SH64_MEDIA_INSN_LDXW; goto extract_sfmt_ldxb; case 258 : itype = SH64_MEDIA_INSN_LDXL; goto extract_sfmt_ldxb; case 259 : itype = SH64_MEDIA_INSN_LDXQ; goto extract_sfmt_ldxb; case 260 : itype = SH64_MEDIA_INSN_LDXUB; goto extract_sfmt_ldxb; case 261 : itype = SH64_MEDIA_INSN_LDXUW; goto extract_sfmt_ldxb; case 273 : itype = SH64_MEDIA_INSN_BLINK; goto extract_sfmt_blink; case 277 : itype = SH64_MEDIA_INSN_GETTR; goto extract_sfmt_gettr; case 288 : itype = SH64_MEDIA_INSN_MSADUBQ; goto extract_sfmt_mcmv; case 289 : itype = SH64_MEDIA_INSN_MMACFXWL; goto extract_sfmt_mcmv; case 291 : itype = SH64_MEDIA_INSN_MCMV; goto extract_sfmt_mcmv; case 293 : itype = SH64_MEDIA_INSN_MMACNFX_WL; goto extract_sfmt_mcmv; case 297 : itype = SH64_MEDIA_INSN_MMULSUMWQ; goto extract_sfmt_mcmv; case 305 : itype = SH64_MEDIA_INSN_MMULW; goto extract_sfmt_add; case 306 : itype = SH64_MEDIA_INSN_MMULL; goto extract_sfmt_add; case 309 : itype = SH64_MEDIA_INSN_MMULFXW; goto extract_sfmt_add; case 310 : itype = SH64_MEDIA_INSN_MMULFXL; goto extract_sfmt_add; case 312 : itype = SH64_MEDIA_INSN_MCNVSWB; goto extract_sfmt_add; case 313 : itype = SH64_MEDIA_INSN_MMULFXRPW; goto extract_sfmt_add; case 314 : itype = SH64_MEDIA_INSN_MMULLOWL; goto extract_sfmt_add; case 316 : itype = SH64_MEDIA_INSN_MCNVSWUB; goto extract_sfmt_add; case 317 : itype = SH64_MEDIA_INSN_MCNVSLW; goto extract_sfmt_add; case 318 : itype = SH64_MEDIA_INSN_MMULHIWL; goto extract_sfmt_add; case 384 : itype = SH64_MEDIA_INSN_STXB; goto extract_sfmt_stxb; case 385 : itype = SH64_MEDIA_INSN_STXW; goto extract_sfmt_stxb; case 386 : itype = SH64_MEDIA_INSN_STXL; goto extract_sfmt_stxb; case 387 : itype = SH64_MEDIA_INSN_STXQ; goto extract_sfmt_stxb; case 401 : itype = SH64_MEDIA_INSN_BEQ; goto extract_sfmt_beq; case 403 : itype = SH64_MEDIA_INSN_BGE; goto extract_sfmt_beq; case 405 : itype = SH64_MEDIA_INSN_BNE; goto extract_sfmt_beq; case 407 : itype = SH64_MEDIA_INSN_BGT; goto extract_sfmt_beq; case 411 : itype = SH64_MEDIA_INSN_BGEU; goto extract_sfmt_beq; case 415 : itype = SH64_MEDIA_INSN_BGTU; goto extract_sfmt_beq; case 417 : itype = SH64_MEDIA_INSN_PTABS; goto extract_sfmt_ptabs; case 421 : itype = SH64_MEDIA_INSN_PTREL; goto extract_sfmt_ptrel; case 432 : itype = SH64_MEDIA_INSN_NOP; goto extract_sfmt_alloco; case 433 : itype = SH64_MEDIA_INSN_TRAPA; goto extract_sfmt_trapa; case 434 : itype = SH64_MEDIA_INSN_SYNCI; goto extract_sfmt_alloco; case 435 : itype = SH64_MEDIA_INSN_RTE; goto extract_sfmt_alloco; case 437 : itype = SH64_MEDIA_INSN_BRK; goto extract_sfmt_brk; case 438 : itype = SH64_MEDIA_INSN_SYNCO; goto extract_sfmt_alloco; case 439 : itype = SH64_MEDIA_INSN_SLEEP; goto extract_sfmt_alloco; case 447 : itype = SH64_MEDIA_INSN_PUTCON; goto extract_sfmt_putcon; 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 : itype = SH64_MEDIA_INSN_LDB; goto extract_sfmt_ldb; 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 : itype = SH64_MEDIA_INSN_LDW; goto extract_sfmt_lduw; 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 : itype = SH64_MEDIA_INSN_LDL; goto extract_sfmt_ldl; 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 : itype = SH64_MEDIA_INSN_LDQ; goto extract_sfmt_ldq; 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 : itype = SH64_MEDIA_INSN_LDUB; goto extract_sfmt_ldb; 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 : itype = SH64_MEDIA_INSN_FLDS; goto extract_sfmt_flds; 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 : itype = SH64_MEDIA_INSN_FLDP; goto extract_sfmt_fldp; 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 : itype = SH64_MEDIA_INSN_FLDD; goto extract_sfmt_fldd; 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 : itype = SH64_MEDIA_INSN_STB; goto extract_sfmt_stb; 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 : itype = SH64_MEDIA_INSN_STW; goto extract_sfmt_stw; 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 : itype = SH64_MEDIA_INSN_STL; goto extract_sfmt_stl; 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 : itype = SH64_MEDIA_INSN_STQ; goto extract_sfmt_stq; 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 : itype = SH64_MEDIA_INSN_LDUW; goto extract_sfmt_lduw; 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 : itype = SH64_MEDIA_INSN_FSTS; goto extract_sfmt_fsts; 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 : itype = SH64_MEDIA_INSN_FSTP; goto extract_sfmt_fstp; 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_MEDIA_INSN_FSTD; goto extract_sfmt_fstd; case 770 : itype = SH64_MEDIA_INSN_LDLOL; goto extract_sfmt_alloco; case 771 : itype = SH64_MEDIA_INSN_LDLOQ; goto extract_sfmt_alloco; case 774 : itype = SH64_MEDIA_INSN_LDHIL; goto extract_sfmt_alloco; case 775 : itype = SH64_MEDIA_INSN_LDHIQ; goto extract_sfmt_alloco; case 783 : itype = SH64_MEDIA_INSN_GETCFG; goto extract_sfmt_alloco; case 784 : itype = SH64_MEDIA_INSN_SHLLIL; goto extract_sfmt_sharil; case 785 : itype = SH64_MEDIA_INSN_SHLLI; goto extract_sfmt_shari; case 786 : itype = SH64_MEDIA_INSN_SHLRIL; goto extract_sfmt_sharil; case 787 : itype = SH64_MEDIA_INSN_SHLRI; goto extract_sfmt_shari; case 790 : itype = SH64_MEDIA_INSN_SHARIL; goto extract_sfmt_sharil; case 791 : itype = SH64_MEDIA_INSN_SHARI; goto extract_sfmt_shari; case 797 : itype = SH64_MEDIA_INSN_XORI; goto extract_sfmt_xori; 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 : itype = SH64_MEDIA_INSN_SHORI; goto extract_sfmt_shori; 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 : itype = SH64_MEDIA_INSN_MOVI; goto extract_sfmt_movi; 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 : itype = SH64_MEDIA_INSN_ADDI; goto extract_sfmt_addi; 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 : itype = SH64_MEDIA_INSN_ADDIL; goto extract_sfmt_addi; 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 : itype = SH64_MEDIA_INSN_ANDI; goto extract_sfmt_addi; 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 : itype = SH64_MEDIA_INSN_ORI; goto extract_sfmt_ori; case 897 : itype = SH64_MEDIA_INSN_PREFI; goto extract_sfmt_alloco; case 898 : itype = SH64_MEDIA_INSN_STLOL; goto extract_sfmt_alloco; case 899 : itype = SH64_MEDIA_INSN_STLOQ; goto extract_sfmt_alloco; case 900 : itype = SH64_MEDIA_INSN_ALLOCO; goto extract_sfmt_alloco; case 901 : itype = SH64_MEDIA_INSN_ICBI; goto extract_sfmt_alloco; case 902 : itype = SH64_MEDIA_INSN_STHIL; goto extract_sfmt_sthil; case 903 : itype = SH64_MEDIA_INSN_STHIQ; goto extract_sfmt_sthil; case 904 : itype = SH64_MEDIA_INSN_OCBP; goto extract_sfmt_alloco; case 905 : itype = SH64_MEDIA_INSN_OCBI; goto extract_sfmt_alloco; case 908 : itype = SH64_MEDIA_INSN_OCBWB; goto extract_sfmt_alloco; case 911 : itype = SH64_MEDIA_INSN_PUTCFG; goto extract_sfmt_alloco; case 913 : itype = SH64_MEDIA_INSN_BEQI; goto extract_sfmt_beqi; case 917 : itype = SH64_MEDIA_INSN_BNEI; goto extract_sfmt_beqi; 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 : itype = SH64_MEDIA_INSN_PTA; goto extract_sfmt_pta; 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 : itype = SH64_MEDIA_INSN_PTB; goto extract_sfmt_pta; 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.fmt_empty.f
-
-
- /* Record the fields for the semantic handler. */
- 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_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_add", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_addi:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi.f
- UINT f_left;
- INT f_disp10;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_disp10 = EXTRACT_LSB0_INT (insn, 32, 19, 10);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_disp10) = f_disp10;
- FLD (f_left) = f_left;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_addi", "f_disp10 0x%x", 'x', f_disp10, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_alloco:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
-
-
- /* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_alloco", (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_beq:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_beq.f
- UINT f_left;
- UINT f_right;
- UINT f_tra;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_tra = EXTRACT_LSB0_UINT (insn, 32, 6, 3);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- FLD (f_tra) = f_tra;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beq", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_tra 0x%x", 'x', f_tra, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_beqi:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_beqi.f
- UINT f_left;
- INT f_imm6;
- UINT f_tra;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_imm6 = EXTRACT_LSB0_INT (insn, 32, 15, 6);
- f_tra = EXTRACT_LSB0_UINT (insn, 32, 6, 3);
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm6) = f_imm6;
- FLD (f_left) = f_left;
- FLD (f_tra) = f_tra;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_beqi", "f_imm6 0x%x", 'x', f_imm6, "f_left 0x%x", 'x', f_left, "f_tra 0x%x", 'x', f_tra, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_blink:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_blink.f
- UINT f_trb;
- UINT f_dest;
-
- f_trb = EXTRACT_LSB0_UINT (insn, 32, 22, 3);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_trb) = f_trb;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_blink", "f_trb 0x%x", 'x', f_trb, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_brk:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
-#define FLD(f) abuf->fields.fmt_empty.f
-
-
- /* Record the fields for the semantic handler. */
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_brk", (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_byterev:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_xori.f
- UINT f_left;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_byterev", "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_cmveq:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_cmveq", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fabsd:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT 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_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 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;
- 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));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fabss:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT 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_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 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;
- 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));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_faddd:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_faddd", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fadds:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fadds", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fcmpeqd:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcmpeqd", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fcmpeqs:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fcmpeqs", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fcnvds:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT 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_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 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;
- 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));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fcnvsd:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT 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_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 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;
- 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));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fiprs:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fiprs", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fldd:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fldd.f
- UINT f_left;
- SI f_disp10x8;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_disp10x8 = ((EXTRACT_LSB0_INT (insn, 32, 19, 10)) << (3));
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_disp10x8) = f_disp10x8;
- FLD (f_left) = f_left;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldd", "f_disp10x8 0x%x", 'x', f_disp10x8, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fldp:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fldd.f
- UINT f_left;
- SI f_disp10x8;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_disp10x8 = ((EXTRACT_LSB0_INT (insn, 32, 19, 10)) << (3));
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_disp10x8) = f_disp10x8;
- FLD (f_dest) = f_dest;
- FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldp", "f_disp10x8 0x%x", 'x', f_disp10x8, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_flds:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_flds.f
- UINT f_left;
- SI f_disp10x4;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_disp10x4 = ((EXTRACT_LSB0_INT (insn, 32, 19, 10)) << (2));
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_disp10x4) = f_disp10x4;
- FLD (f_left) = f_left;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_flds", "f_disp10x4 0x%x", 'x', f_disp10x4, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fldxd:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldxd", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fldxp:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_dest) = f_dest;
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldxp", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fldxs:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fldxs", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fmacs:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_dest) = f_dest;
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmacs", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fmovdq:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT 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_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 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;
- 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));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fmovls:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_xori.f
- UINT f_left;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmovls", "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fmovqd:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_xori.f
- UINT f_left;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fmovqd", "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fmovsl:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT 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_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 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;
- 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));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fstd:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fldd.f
- UINT f_left;
- SI f_disp10x8;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_disp10x8 = ((EXTRACT_LSB0_INT (insn, 32, 19, 10)) << (3));
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_disp10x8) = f_disp10x8;
- FLD (f_dest) = f_dest;
- FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fstd", "f_disp10x8 0x%x", 'x', f_disp10x8, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fstp:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fldd.f
- UINT f_left;
- SI f_disp10x8;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_disp10x8 = ((EXTRACT_LSB0_INT (insn, 32, 19, 10)) << (3));
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_disp10x8) = f_disp10x8;
- FLD (f_dest) = f_dest;
- FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fstp", "f_disp10x8 0x%x", 'x', f_disp10x8, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fsts:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_flds.f
- UINT f_left;
- SI f_disp10x4;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_disp10x4 = ((EXTRACT_LSB0_INT (insn, 32, 19, 10)) << (2));
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_disp10x4) = f_disp10x4;
- FLD (f_dest) = f_dest;
- FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fsts", "f_disp10x4 0x%x", 'x', f_disp10x4, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fstxd:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_dest) = f_dest;
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fstxd", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fstxp:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_dest) = f_dest;
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fstxp", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_fstxs:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_dest) = f_dest;
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_fstxs", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_ftrvs:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_dest) = f_dest;
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ftrvs", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_getcon:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_xori.f
- UINT f_left;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_getcon", "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_gettr:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_blink.f
- UINT f_trb;
- UINT f_dest;
-
- f_trb = EXTRACT_LSB0_UINT (insn, 32, 22, 3);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_trb) = f_trb;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_gettr", "f_trb 0x%x", 'x', f_trb, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_ldb:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi.f
- UINT f_left;
- INT f_disp10;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_disp10 = EXTRACT_LSB0_INT (insn, 32, 19, 10);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_disp10) = f_disp10;
- FLD (f_left) = f_left;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldb", "f_disp10 0x%x", 'x', f_disp10, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_ldl:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_flds.f
- UINT f_left;
- SI f_disp10x4;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_disp10x4 = ((EXTRACT_LSB0_INT (insn, 32, 19, 10)) << (2));
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_disp10x4) = f_disp10x4;
- FLD (f_left) = f_left;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldl", "f_disp10x4 0x%x", 'x', f_disp10x4, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_ldq:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fldd.f
- UINT f_left;
- SI f_disp10x8;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_disp10x8 = ((EXTRACT_LSB0_INT (insn, 32, 19, 10)) << (3));
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_disp10x8) = f_disp10x8;
- FLD (f_left) = f_left;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldq", "f_disp10x8 0x%x", 'x', f_disp10x8, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_lduw:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_lduw.f
- UINT f_left;
- SI f_disp10x2;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_disp10x2 = ((EXTRACT_LSB0_INT (insn, 32, 19, 10)) << (1));
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_disp10x2) = f_disp10x2;
- FLD (f_left) = f_left;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_lduw", "f_disp10x2 0x%x", 'x', f_disp10x2, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_ldxb:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ldxb", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_mcmv:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_dest) = f_dest;
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mcmv", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_movi:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_movi.f
- INT f_imm16;
- UINT f_dest;
-
- f_imm16 = EXTRACT_LSB0_INT (insn, 32, 25, 16);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm16) = f_imm16;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_movi", "f_imm16 0x%x", 'x', f_imm16, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_mpermw:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_mpermw", "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_ori:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_ori.f
- UINT f_left;
- INT f_imm10;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_imm10 = EXTRACT_LSB0_INT (insn, 32, 19, 10);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm10) = f_imm10;
- FLD (f_left) = f_left;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ori", "f_imm10 0x%x", 'x', f_imm10, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_pta:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_pta.f
- DI f_disp16;
- UINT f_tra;
-
- f_disp16 = ((((EXTRACT_LSB0_INT (insn, 32, 25, 16)) << (2))) + (pc));
- f_tra = EXTRACT_LSB0_UINT (insn, 32, 6, 3);
-
- /* Record the fields for the semantic handler. */
- FLD (f_disp16) = f_disp16;
- FLD (f_tra) = f_tra;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_pta", "f_disp16 0x%x", 'x', f_disp16, "f_tra 0x%x", 'x', f_tra, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_ptabs:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_beq.f
- UINT f_right;
- UINT f_tra;
-
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_tra = EXTRACT_LSB0_UINT (insn, 32, 6, 3);
-
- /* Record the fields for the semantic handler. */
- FLD (f_right) = f_right;
- FLD (f_tra) = f_tra;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ptabs", "f_right 0x%x", 'x', f_right, "f_tra 0x%x", 'x', f_tra, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_ptrel:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_beq.f
- UINT f_right;
- UINT f_tra;
-
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_tra = EXTRACT_LSB0_UINT (insn, 32, 6, 3);
-
- /* Record the fields for the semantic handler. */
- FLD (f_right) = f_right;
- FLD (f_tra) = f_tra;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_ptrel", "f_right 0x%x", 'x', f_right, "f_tra 0x%x", 'x', f_tra, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_putcon:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_xori.f
- UINT f_left;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_putcon", "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_shari:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_shari.f
- UINT f_left;
- UINT f_uimm6;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_uimm6 = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_uimm6) = f_uimm6;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_shari", "f_left 0x%x", 'x', f_left, "f_uimm6 0x%x", 'x', f_uimm6, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_sharil:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_shari.f
- UINT f_left;
- UINT f_uimm6;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_uimm6 = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- FLD (f_uimm6) = f_uimm6;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sharil", "f_left 0x%x", 'x', f_left, "f_uimm6 0x%x", 'x', f_uimm6, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_shori:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_shori.f
- UINT f_uimm16;
- UINT f_dest;
-
- f_uimm16 = EXTRACT_LSB0_UINT (insn, 32, 25, 16);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_dest) = f_dest;
- FLD (f_uimm16) = f_uimm16;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_shori", "f_dest 0x%x", 'x', f_dest, "f_uimm16 0x%x", 'x', f_uimm16, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_stb:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_addi.f
- UINT f_left;
- INT f_disp10;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_disp10 = EXTRACT_LSB0_INT (insn, 32, 19, 10);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_disp10) = f_disp10;
- FLD (f_dest) = f_dest;
- FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stb", "f_disp10 0x%x", 'x', f_disp10, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_stl:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_flds.f
- UINT f_left;
- SI f_disp10x4;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_disp10x4 = ((EXTRACT_LSB0_INT (insn, 32, 19, 10)) << (2));
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_disp10x4) = f_disp10x4;
- FLD (f_dest) = f_dest;
- FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stl", "f_disp10x4 0x%x", 'x', f_disp10x4, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_stq:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_fldd.f
- UINT f_left;
- SI f_disp10x8;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_disp10x8 = ((EXTRACT_LSB0_INT (insn, 32, 19, 10)) << (3));
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_disp10x8) = f_disp10x8;
- FLD (f_dest) = f_dest;
- FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stq", "f_disp10x8 0x%x", 'x', f_disp10x8, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_stw:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_lduw.f
- UINT f_left;
- SI f_disp10x2;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_disp10x2 = ((EXTRACT_LSB0_INT (insn, 32, 19, 10)) << (1));
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_disp10x2) = f_disp10x2;
- FLD (f_dest) = f_dest;
- FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stw", "f_disp10x2 0x%x", 'x', f_disp10x2, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_sthil:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_sthil.f
- UINT f_left;
- INT f_disp6;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_disp6 = EXTRACT_LSB0_INT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_disp6) = f_disp6;
- FLD (f_dest) = f_dest;
- FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_sthil", "f_disp6 0x%x", 'x', f_disp6, "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_stxb:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_dest) = f_dest;
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_stxb", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_swapq:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_add.f
- UINT f_left;
- UINT f_right;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_dest) = f_dest;
- FLD (f_left) = f_left;
- FLD (f_right) = f_right;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_swapq", "f_dest 0x%x", 'x', f_dest, "f_left 0x%x", 'x', f_left, "f_right 0x%x", 'x', f_right, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_trapa:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_xori.f
- UINT f_left;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_left) = f_left;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_trapa", "f_left 0x%x", 'x', f_left, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
- extract_sfmt_xori:
- {
- const IDESC *idesc = &sh64_media_insn_data[itype];
- CGEN_INSN_INT insn = entire_insn;
-#define FLD(f) abuf->fields.sfmt_xori.f
- UINT f_left;
- INT f_imm6;
- UINT f_dest;
-
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6);
- f_imm6 = EXTRACT_LSB0_INT (insn, 32, 15, 6);
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6);
-
- /* Record the fields for the semantic handler. */
- FLD (f_imm6) = f_imm6;
- FLD (f_left) = f_left;
- FLD (f_dest) = f_dest;
- TRACE_EXTRACT (current_cpu, abuf, (current_cpu, pc, "sfmt_xori", "f_imm6 0x%x", 'x', f_imm6, "f_left 0x%x", 'x', f_left, "f_dest 0x%x", 'x', f_dest, (char *) 0));
-
-#undef FLD
- return idesc;
- }
-
-}
diff --git a/sim/sh64/decode-media.h b/sim/sh64/decode-media.h
deleted file mode 100644
index 8a84d4e6fe1..00000000000
--- a/sim/sh64/decode-media.h
+++ /dev/null
@@ -1,122 +0,0 @@
-/* Decode header for sh64_media.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#ifndef SH64_MEDIA_DECODE_H
-#define SH64_MEDIA_DECODE_H
-
-extern const IDESC *sh64_media_decode (SIM_CPU *, IADDR,
- CGEN_INSN_INT, CGEN_INSN_INT,
- 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_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_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_FSTD, SH64_MEDIA_SFMT_FSTP
- , SH64_MEDIA_SFMT_FSTS, SH64_MEDIA_SFMT_FSTXD, SH64_MEDIA_SFMT_FSTXP, SH64_MEDIA_SFMT_FSTXS
- , SH64_MEDIA_SFMT_FTRVS, 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_LDXB
- , SH64_MEDIA_SFMT_MCMV, SH64_MEDIA_SFMT_MOVI, SH64_MEDIA_SFMT_MPERMW, SH64_MEDIA_SFMT_ORI
- , SH64_MEDIA_SFMT_PTA, SH64_MEDIA_SFMT_PTABS, SH64_MEDIA_SFMT_PTREL, SH64_MEDIA_SFMT_PUTCON
- , SH64_MEDIA_SFMT_SHARI, SH64_MEDIA_SFMT_SHARIL, 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_STXB, 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_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
index 2582807d8d1..00000000000
--- a/sim/sh64/decode.h
+++ /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
index fb0b7e41640..00000000000
--- a/sim/sh64/defs-compact.h
+++ /dev/null
@@ -1,424 +0,0 @@
-/* ISA definitions header for compact.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#ifndef DEFS_SH64_COMPACT_H
-#define DEFS_SH64_COMPACT_H
-
-/* Instruction argument buffer. */
-
-union sem_fields {
- struct { /* no operands */
- int empty;
- } fmt_empty;
- struct { /* */
- SI f_dn;
- } sfmt_fcnvds_compact;
- struct { /* */
- IADDR i_disp12;
- } sfmt_bra_compact;
- struct { /* */
- IADDR i_disp8;
- } sfmt_bf_compact;
- struct { /* */
- SI f_imm4x2;
- UINT f_rm;
- } sfmt_movw11_compact;
- struct { /* */
- SI f_imm8x2;
- UINT f_rn;
- } sfmt_movw10_compact;
- struct { /* */
- SI f_imm4x2;
- UINT f_rn;
- } sfmt_movw5_compact;
- struct { /* */
- SI f_imm8x4;
- UINT f_rn;
- } sfmt_movl10_compact;
- struct { /* */
- UINT f_imm4;
- UINT f_rm;
- } sfmt_movb5_compact;
- struct { /* */
- SI f_vm;
- SI f_vn;
- } sfmt_fipr_compact;
- struct { /* */
- UINT f_imm8;
- UINT f_rn;
- } sfmt_addi_compact;
- struct { /* */
- SI f_imm4x4;
- UINT f_rm;
- UINT f_rn;
- } sfmt_movl5_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_LSB0_UINT (insn, 16, 15, 4); \
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4); \
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4); \
- f_sub4 = EXTRACT_LSB0_UINT (insn, 16, 3, 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_LSB0_UINT (insn, 16, 15, 4); \
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4); \
- f_imm8 = EXTRACT_LSB0_UINT (insn, 16, 7, 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_LSB0_UINT (insn, 16, 15, 4); \
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4); \
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4); \
- f_sub4 = EXTRACT_LSB0_UINT (insn, 16, 3, 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_LSB0_UINT (insn, 16, 15, 8); \
- f_imm8 = EXTRACT_LSB0_UINT (insn, 16, 7, 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_LSB0_UINT (insn, 16, 15, 8); \
- f_imm8 = EXTRACT_LSB0_UINT (insn, 16, 7, 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_LSB0_UINT (insn, 16, 15, 8); \
- f_disp8 = ((((EXTRACT_LSB0_INT (insn, 16, 7, 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_LSB0_UINT (insn, 16, 15, 4); \
- f_disp12 = ((((EXTRACT_LSB0_INT (insn, 16, 11, 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_LSB0_UINT (insn, 16, 15, 4); \
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4); \
- f_sub8 = EXTRACT_LSB0_UINT (insn, 16, 7, 8); \
-
-#define EXTRACT_IFMT_BRK_COMPACT_VARS \
- UINT f_op16; \
- unsigned int length;
-#define EXTRACT_IFMT_BRK_COMPACT_CODE \
- length = 2; \
- f_op16 = EXTRACT_LSB0_UINT (insn, 16, 15, 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_LSB0_UINT (insn, 16, 15, 4); \
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4); \
- f_sub8 = EXTRACT_LSB0_UINT (insn, 16, 7, 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_LSB0_UINT (insn, 16, 15, 4); \
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4); \
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4); \
- f_sub4 = EXTRACT_LSB0_UINT (insn, 16, 3, 4); \
-
-#define EXTRACT_IFMT_FCNVDS_COMPACT_VARS \
- UINT f_op4; \
- SI f_dn; \
- UINT f_8_1; \
- UINT f_sub8; \
- unsigned int length;
-#define EXTRACT_IFMT_FCNVDS_COMPACT_CODE \
- length = 2; \
- f_op4 = EXTRACT_LSB0_UINT (insn, 16, 15, 4); \
- f_dn = ((EXTRACT_LSB0_UINT (insn, 16, 11, 3)) << (1)); \
- f_8_1 = EXTRACT_LSB0_UINT (insn, 16, 8, 1); \
- f_sub8 = EXTRACT_LSB0_UINT (insn, 16, 7, 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_LSB0_UINT (insn, 16, 15, 4); \
- f_vn = ((EXTRACT_LSB0_UINT (insn, 16, 11, 2)) << (2)); \
- f_vm = ((EXTRACT_LSB0_UINT (insn, 16, 9, 2)) << (2)); \
- f_sub8 = EXTRACT_LSB0_UINT (insn, 16, 7, 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_LSB0_UINT (insn, 16, 15, 4); \
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4); \
- f_sub8 = EXTRACT_LSB0_UINT (insn, 16, 7, 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_LSB0_UINT (insn, 16, 15, 4); \
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4); \
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4); \
- f_sub4 = EXTRACT_LSB0_UINT (insn, 16, 3, 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_LSB0_UINT (insn, 16, 15, 4); \
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4); \
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4); \
- f_sub4 = EXTRACT_LSB0_UINT (insn, 16, 3, 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_LSB0_UINT (insn, 16, 15, 4); \
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4); \
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4); \
- f_sub4 = EXTRACT_LSB0_UINT (insn, 16, 3, 4); \
-
-#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_LSB0_UINT (insn, 16, 15, 4); \
- f_vn = ((EXTRACT_LSB0_UINT (insn, 16, 11, 2)) << (2)); \
- f_sub10 = EXTRACT_LSB0_UINT (insn, 16, 9, 10); \
-
-#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_LSB0_UINT (insn, 16, 15, 8); \
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4); \
- f_imm4 = EXTRACT_LSB0_UINT (insn, 16, 3, 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_LSB0_UINT (insn, 16, 15, 8); \
- f_imm8x4 = ((EXTRACT_LSB0_UINT (insn, 16, 7, 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_LSB0_UINT (insn, 16, 15, 4); \
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4); \
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4); \
- f_imm4x4 = ((EXTRACT_LSB0_UINT (insn, 16, 3, 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_LSB0_UINT (insn, 16, 15, 4); \
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4); \
- f_imm8x4 = ((EXTRACT_LSB0_UINT (insn, 16, 7, 8)) << (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_LSB0_UINT (insn, 16, 15, 8); \
- f_imm8x2 = ((EXTRACT_LSB0_UINT (insn, 16, 7, 8)) << (1)); \
-
-#define EXTRACT_IFMT_MOVW5_COMPACT_VARS \
- UINT f_op8; \
- UINT f_rn; \
- SI f_imm4x2; \
- unsigned int length;
-#define EXTRACT_IFMT_MOVW5_COMPACT_CODE \
- length = 2; \
- f_op8 = EXTRACT_LSB0_UINT (insn, 16, 15, 8); \
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4); \
- f_imm4x2 = ((EXTRACT_LSB0_UINT (insn, 16, 3, 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_LSB0_UINT (insn, 16, 15, 4); \
- f_rn = EXTRACT_LSB0_UINT (insn, 16, 11, 4); \
- f_imm8x2 = ((EXTRACT_LSB0_UINT (insn, 16, 7, 8)) << (1)); \
-
-#define EXTRACT_IFMT_MOVW11_COMPACT_VARS \
- UINT f_op8; \
- UINT f_rm; \
- SI f_imm4x2; \
- unsigned int length;
-#define EXTRACT_IFMT_MOVW11_COMPACT_CODE \
- length = 2; \
- f_op8 = EXTRACT_LSB0_UINT (insn, 16, 15, 8); \
- f_rm = EXTRACT_LSB0_UINT (insn, 16, 7, 4); \
- f_imm4x2 = ((EXTRACT_LSB0_UINT (insn, 16, 3, 4)) << (1)); \
-
-#endif /* DEFS_SH64_COMPACT_H */
diff --git a/sim/sh64/defs-media.h b/sim/sh64/defs-media.h
deleted file mode 100644
index 7e749f9d5b5..00000000000
--- a/sim/sh64/defs-media.h
+++ /dev/null
@@ -1,926 +0,0 @@
-/* ISA definitions header for media.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#ifndef DEFS_SH64_MEDIA_H
-#define DEFS_SH64_MEDIA_H
-
-/* Instruction argument buffer. */
-
-union sem_fields {
- struct { /* no operands */
- int empty;
- } fmt_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 { /* */
- INT f_disp6;
- UINT f_dest;
- UINT f_left;
- } sfmt_sthil;
- 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 { /* */
- 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;
- struct {
- INT f_disp6;
- UINT f_dest;
- UINT f_left;
- } sfmt_ldhil;
-#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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_disp10 = EXTRACT_LSB0_INT (insn, 32, 19, 10); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_disp6x32 = ((EXTRACT_LSB0_INT (insn, 32, 15, 6)) << (5)); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 4); \
-
-#define EXTRACT_IFMT_BEQ_VARS \
- UINT f_op; \
- UINT f_left; \
- UINT f_ext; \
- UINT f_right; \
- UINT f_likely; \
- UINT f_8_2; \
- UINT f_tra; \
- UINT f_rsvd; \
- unsigned int length;
-#define EXTRACT_IFMT_BEQ_CODE \
- length = 4; \
- f_op = EXTRACT_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_likely = EXTRACT_LSB0_UINT (insn, 32, 9, 1); \
- f_8_2 = EXTRACT_LSB0_UINT (insn, 32, 8, 2); \
- f_tra = EXTRACT_LSB0_UINT (insn, 32, 6, 3); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 4); \
-
-#define EXTRACT_IFMT_BEQI_VARS \
- UINT f_op; \
- UINT f_left; \
- UINT f_ext; \
- INT f_imm6; \
- UINT f_likely; \
- UINT f_8_2; \
- UINT f_tra; \
- UINT f_rsvd; \
- unsigned int length;
-#define EXTRACT_IFMT_BEQI_CODE \
- length = 4; \
- f_op = EXTRACT_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_imm6 = EXTRACT_LSB0_INT (insn, 32, 15, 6); \
- f_likely = EXTRACT_LSB0_UINT (insn, 32, 9, 1); \
- f_8_2 = EXTRACT_LSB0_UINT (insn, 32, 8, 2); \
- f_tra = EXTRACT_LSB0_UINT (insn, 32, 6, 3); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 4); \
-
-#define EXTRACT_IFMT_BLINK_VARS \
- UINT f_op; \
- UINT f_25; \
- 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_LSB0_UINT (insn, 32, 31, 6); \
- f_25 = EXTRACT_LSB0_UINT (insn, 32, 25, 3); \
- f_trb = EXTRACT_LSB0_UINT (insn, 32, 22, 3); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 4); \
-
-#define EXTRACT_IFMT_FABSD_VARS \
- UINT f_op; \
- UINT f_ext; \
- UINT f_left; \
- UINT f_right; \
- UINT f_left_right; \
- UINT f_dest; \
- UINT f_rsvd; \
- unsigned int length;
-#define EXTRACT_IFMT_FABSD_CODE \
- length = 4; \
- f_op = EXTRACT_LSB0_UINT (insn, 32, 31, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_left_right = f_left;\
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 4); \
-
-#define EXTRACT_IFMT_FABSS_VARS \
- UINT f_op; \
- UINT f_ext; \
- UINT f_left; \
- UINT f_right; \
- UINT f_left_right; \
- UINT f_dest; \
- UINT f_rsvd; \
- unsigned int length;
-#define EXTRACT_IFMT_FABSS_CODE \
- length = 4; \
- f_op = EXTRACT_LSB0_UINT (insn, 32, 31, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_left_right = f_left;\
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 4); \
-
-#define EXTRACT_IFMT_FCNVDS_VARS \
- UINT f_op; \
- UINT f_ext; \
- UINT f_left; \
- UINT f_right; \
- UINT f_left_right; \
- UINT f_dest; \
- UINT f_rsvd; \
- unsigned int length;
-#define EXTRACT_IFMT_FCNVDS_CODE \
- length = 4; \
- f_op = EXTRACT_LSB0_UINT (insn, 32, 31, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_left_right = f_left;\
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 4); \
-
-#define EXTRACT_IFMT_FCNVSD_VARS \
- UINT f_op; \
- UINT f_ext; \
- UINT f_left; \
- UINT f_right; \
- UINT f_left_right; \
- UINT f_dest; \
- UINT f_rsvd; \
- unsigned int length;
-#define EXTRACT_IFMT_FCNVSD_CODE \
- length = 4; \
- f_op = EXTRACT_LSB0_UINT (insn, 32, 31, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_left_right = f_left;\
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_disp10x8 = ((EXTRACT_LSB0_INT (insn, 32, 19, 10)) << (3)); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_disp10x8 = ((EXTRACT_LSB0_INT (insn, 32, 19, 10)) << (3)); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_disp10x4 = ((EXTRACT_LSB0_INT (insn, 32, 19, 10)) << (2)); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 4); \
-
-#define EXTRACT_IFMT_FMOVDQ_VARS \
- UINT f_op; \
- UINT f_ext; \
- UINT f_left; \
- UINT f_right; \
- UINT f_left_right; \
- UINT f_dest; \
- UINT f_rsvd; \
- unsigned int length;
-#define EXTRACT_IFMT_FMOVDQ_CODE \
- length = 4; \
- f_op = EXTRACT_LSB0_UINT (insn, 32, 31, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_left_right = f_left;\
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 4); \
-
-#define EXTRACT_IFMT_FMOVSL_VARS \
- UINT f_op; \
- UINT f_ext; \
- UINT f_left; \
- UINT f_right; \
- UINT f_left_right; \
- UINT f_dest; \
- UINT f_rsvd; \
- unsigned int length;
-#define EXTRACT_IFMT_FMOVSL_CODE \
- length = 4; \
- f_op = EXTRACT_LSB0_UINT (insn, 32, 31, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_left_right = f_left;\
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 4); \
-
-#define EXTRACT_IFMT_FPUTSCR_VARS \
- UINT f_op; \
- UINT f_ext; \
- UINT f_left; \
- UINT f_right; \
- UINT f_left_right; \
- UINT f_dest; \
- UINT f_rsvd; \
- unsigned int length;
-#define EXTRACT_IFMT_FPUTSCR_CODE \
- length = 4; \
- f_op = EXTRACT_LSB0_UINT (insn, 32, 31, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_left_right = f_left;\
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_disp6 = EXTRACT_LSB0_INT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_disp10x4 = ((EXTRACT_LSB0_INT (insn, 32, 19, 10)) << (2)); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_disp10x8 = ((EXTRACT_LSB0_INT (insn, 32, 19, 10)) << (3)); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_imm16 = EXTRACT_LSB0_INT (insn, 32, 25, 16); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_imm10 = EXTRACT_LSB0_INT (insn, 32, 19, 10); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_disp6x32 = ((EXTRACT_LSB0_INT (insn, 32, 15, 6)) << (5)); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 4); \
-
-#define EXTRACT_IFMT_PTA_VARS \
- UINT f_op; \
- DI f_disp16; \
- UINT f_likely; \
- UINT f_8_2; \
- UINT f_tra; \
- UINT f_rsvd; \
- unsigned int length;
-#define EXTRACT_IFMT_PTA_CODE \
- length = 4; \
- f_op = EXTRACT_LSB0_UINT (insn, 32, 31, 6); \
- f_disp16 = ((((EXTRACT_LSB0_INT (insn, 32, 25, 16)) << (2))) + (pc)); \
- f_likely = EXTRACT_LSB0_UINT (insn, 32, 9, 1); \
- f_8_2 = EXTRACT_LSB0_UINT (insn, 32, 8, 2); \
- f_tra = EXTRACT_LSB0_UINT (insn, 32, 6, 3); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 4); \
-
-#define EXTRACT_IFMT_PTABS_VARS \
- UINT f_op; \
- UINT f_left; \
- UINT f_ext; \
- UINT f_right; \
- UINT f_likely; \
- UINT f_8_2; \
- UINT f_tra; \
- UINT f_rsvd; \
- unsigned int length;
-#define EXTRACT_IFMT_PTABS_CODE \
- length = 4; \
- f_op = EXTRACT_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_likely = EXTRACT_LSB0_UINT (insn, 32, 9, 1); \
- f_8_2 = EXTRACT_LSB0_UINT (insn, 32, 8, 2); \
- f_tra = EXTRACT_LSB0_UINT (insn, 32, 6, 3); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_uimm6 = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_uimm16 = EXTRACT_LSB0_UINT (insn, 32, 25, 16); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_disp10x2 = ((EXTRACT_LSB0_INT (insn, 32, 19, 10)) << (1)); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 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_LSB0_UINT (insn, 32, 31, 6); \
- f_left = EXTRACT_LSB0_UINT (insn, 32, 25, 6); \
- f_ext = EXTRACT_LSB0_UINT (insn, 32, 19, 4); \
- f_right = EXTRACT_LSB0_UINT (insn, 32, 15, 6); \
- f_dest = EXTRACT_LSB0_UINT (insn, 32, 9, 6); \
- f_rsvd = EXTRACT_LSB0_UINT (insn, 32, 3, 4); \
-
-#endif /* DEFS_SH64_MEDIA_H */
diff --git a/sim/sh64/eng-compact.h b/sim/sh64/eng-compact.h
deleted file mode 100644
index 521b2f8a977..00000000000
--- a/sim/sh64/eng-compact.h
+++ /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
index db1c21da640..00000000000
--- a/sim/sh64/eng-media.h
+++ /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
index fb9d8c566b1..00000000000
--- a/sim/sh64/eng.h
+++ /dev/null
@@ -1,24 +0,0 @@
-/* Engine declarations.
- Copyright (C) 2000 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-/* 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
index fb6b55202cf..00000000000
--- a/sim/sh64/mloop-compact.c
+++ /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*/);
- TRACE_INSN_INIT (current_cpu, abuf, 1);
- 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);
- }
- 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);
- }
- }
-
- 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);
-
- TRACE_INSN_INIT (current_cpu, cur_abuf, first_p);
- 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);
- }
- 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
index 03c5df534c5..00000000000
--- a/sim/sh64/mloop-media.c
+++ /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*/);
- TRACE_INSN_INIT (current_cpu, abuf, 1);
- 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);
- }
- 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);
- }
- }
-
- 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);
-
- TRACE_INSN_INIT (current_cpu, cur_abuf, first_p);
- 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);
- }
- 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
index 59270e83905..00000000000
--- a/sim/sh64/sem-compact-switch.c
+++ /dev/null
@@ -1,4941 +0,0 @@
-/* Simulator instruction semantics for sh64.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#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_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_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_COMPACT, && case_sem_INSN_LDC_COMPACT },
- { SH64_COMPACT_INSN_LDCL_COMPACT, && case_sem_INSN_LDCL_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_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_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_MOVT_COMPACT, && case_sem_INSN_MOVT_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_STCL_GBR_COMPACT, && case_sem_INSN_STCL_GBR_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 TRACE_RESULT check for something
- that can cause it to be optimized out. Another way would be to emit
- special handlers into the instruction "stream". */
-
-#if FAST_P
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
-#endif
-
-#undef GET_ATTR
-#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
-#define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_##attr)
-#else
-#define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_/**/attr)
-#endif
-
-{
-
-#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.fmt_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.fmt_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.fmt_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.fmt_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.fmt_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.fmt_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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = tmp_flag;
- SET_H_TBIT (opval);
- 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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = tmp_t;
- SET_H_TBIT (opval);
- 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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn64", '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);
- TRACE_RESULT (current_cpu, abuf, "r0", '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);
- 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);
- 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 = FLD (i_disp8);
- SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 2);
- 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 = FLD (i_disp12);
- SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- 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 (EXTSIDI (GET_H_GRC (FLD (f_rn))), ADDDI (pc, 4));
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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.fmt_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);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
- }
- {
- UDI opval = FLD (i_disp12);
- SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- 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);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
- }
- {
- UDI opval = ADDDI (EXTSIDI (GET_H_GRC (FLD (f_rn))), ADDDI (pc, 4));
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-}
-
- 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);
- 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 = FLD (i_disp8);
- SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 2);
- 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.fmt_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);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
- }
- {
- SI opval = 0;
- SET_H_MACH (opval);
- 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.fmt_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);
- 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.fmt_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);
- 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_movl5_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);
- 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);
- 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_movl5_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);
- 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_movl5_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);
- 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_movl5_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);
- 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_movl5_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);
- 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);
- 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);
- 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_movl5_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);
- 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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
- }
- {
- BI opval = SRLSI (GET_H_GRC (FLD (f_rm)), 31);
- SET_H_MBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
- }
- {
- BI opval = ((EQSI (SRLSI (GET_H_GRC (FLD (f_rm)), 31), SRLSI (GET_H_GRC (FLD (f_rn)), 31))) ? (0) : (1));
- SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
- }
-}
-
-#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.fmt_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);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
- }
- {
- BI opval = 0;
- SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
- }
- {
- BI opval = 0;
- SET_H_MBIT (opval);
- 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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
- }
- {
- SI opval = ORSI (SLLSI (GET_H_GRC (FLD (f_rn)), 1), ZEXTBISI (GET_H_TBIT ()));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- tmp_tmp1 = GTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
-if (NOTBI (GET_H_QBIT ())) {
- {
- BI opval = ((tmp_tmp1) ? (1) : (0));
- SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
- }
-} else {
- {
- BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
- SET_H_QBIT (opval);
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- tmp_tmp1 = LTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
-if (NOTBI (GET_H_QBIT ())) {
- {
- BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
- SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
- }
-} else {
- {
- BI opval = ((tmp_tmp1) ? (1) : (0));
- SET_H_QBIT (opval);
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- tmp_tmp1 = LTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
-if (NOTBI (GET_H_QBIT ())) {
- {
- BI opval = ((tmp_tmp1) ? (1) : (0));
- SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
- }
-} else {
- {
- BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
- SET_H_QBIT (opval);
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- tmp_tmp1 = GTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
-if (NOTBI (GET_H_QBIT ())) {
- {
- BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
- SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
- }
-} else {
- {
- BI opval = ((tmp_tmp1) ? (1) : (0));
- SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
- }
-}
-}
-}
-}
- {
- BI opval = ((EQBI (GET_H_QBIT (), GET_H_MBIT ())) ? (1) : (0));
- SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", '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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
- }
- {
- SI opval = SUBWORDDISI (tmp_result, 1);
- SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
- }
-}
-
-#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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
- }
- {
- SI opval = SUBWORDDISI (tmp_result, 1);
- SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
- }
-}
-
-#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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = EQSI (GET_H_GRC (FLD (f_rn)), 0);
- SET_H_TBIT (opval);
- 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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_DR (FLD (f_rn)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
- }
-} else {
- {
- SF opval = sh64_fabss (current_cpu, GET_H_FRC (FLD (f_rn)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fsdn", '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_movl5_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_DR (FLD (f_rm)), GET_H_DR (FLD (f_rn)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
- }
-} else {
- {
- SF opval = sh64_fadds (current_cpu, GET_H_FRC (FLD (f_rm)), GET_H_FRC (FLD (f_rn)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fsdn", '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_movl5_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_DR (FLD (f_rm)), GET_H_DR (FLD (f_rn)));
- SET_H_TBIT (opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
- }
-} else {
- {
- BI opval = sh64_fcmpeqs (current_cpu, GET_H_FRC (FLD (f_rm)), GET_H_FRC (FLD (f_rn)));
- SET_H_TBIT (opval);
- written |= (1 << 7);
- 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_movl5_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_DR (FLD (f_rn)), GET_H_DR (FLD (f_rm)));
- SET_H_TBIT (opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
- }
-} else {
- {
- BI opval = sh64_fcmpgts (current_cpu, GET_H_FRC (FLD (f_rn)), GET_H_FRC (FLD (f_rm)));
- SET_H_TBIT (opval);
- written |= (1 << 7);
- 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_fcnvds_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;
- TRACE_RESULT (current_cpu, abuf, "fpul", '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_fcnvds_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);
- TRACE_RESULT (current_cpu, abuf, "drn", '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_movl5_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_DR (FLD (f_rn)), GET_H_DR (FLD (f_rm)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
- }
-} else {
- {
- SF opval = sh64_fdivs (current_cpu, GET_H_FRC (FLD (f_rn)), GET_H_FRC (FLD (f_rm)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fsdn", '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);
-
-{
- QI tmp_m;
- QI tmp_n;
- SF tmp_res;
- tmp_m = FLD (f_vm);
- tmp_n = FLD (f_vn);
- tmp_res = sh64_fmuls (current_cpu, GET_H_FVC (FLD (f_vm)), GET_H_FVC (FLD (f_vn)));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_FRC (ADDQI (tmp_m, 1)), GET_H_FRC (ADDQI (tmp_n, 1))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_FRC (ADDQI (tmp_m, 2)), GET_H_FRC (ADDQI (tmp_n, 2))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_FRC (ADDQI (tmp_m, 3)), GET_H_FRC (ADDQI (tmp_n, 3))));
- {
- SF opval = tmp_res;
- SET_H_FRC (ADDQI (tmp_n, 3), opval);
- TRACE_RESULT (current_cpu, abuf, "frc-add--DFLT-n-3", 'f', opval);
- }
-}
-
-#undef FLD
-}
- NEXT (vpc);
-
- CASE (sem, INSN_FLDS_COMPACT) : /* flds $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 = GET_H_FRC (FLD (f_rn));
- CPU (h_fr[((UINT) 32)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fpul", '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);
- TRACE_RESULT (current_cpu, abuf, "frn", '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);
- TRACE_RESULT (current_cpu, abuf, "frn", '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_DR (FLD (f_rn), opval);
- written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
- }
-} else {
- {
- SF opval = sh64_floatls (current_cpu, CPU (h_fr[((UINT) 32)]));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsdn", '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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "frn", 'f', opval);
- }
-
-#undef FLD
-}
- NEXT (vpc);
-
- CASE (sem, INSN_FMOV1_COMPACT) : /* fmov $frm, $frn */
-{
- 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);
-
-if (NOTBI (GET_H_SZBIT ())) {
- {
- SF opval = GET_H_FRC (FLD (f_rm));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "frn", 'f', opval);
- }
-} else {
-if (EQSI (ANDSI (FLD (f_rm), 1), 1)) {
-if (EQSI (ANDSI (FLD (f_rn), 1), 1)) {
- {
- DF opval = GET_H_XD (((FLD (f_rm)) & (INVQI (1))));
- SET_H_XD (((FLD (f_rn)) & (INVQI (1))), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "xd-and--DFLT-index-of--DFLT-frn-inv--QI-1", 'f', opval);
- }
-} else {
- {
- DF opval = GET_H_XD (((FLD (f_rm)) & (INVQI (1))));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-frn", 'f', opval);
- }
-}
-} else {
-if (EQSI (ANDSI (FLD (f_rn), 1), 1)) {
- {
- DF opval = GET_H_DR (FLD (f_rm));
- SET_H_XD (((FLD (f_rn)) & (INVQI (1))), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "xd-and--DFLT-index-of--DFLT-frn-inv--QI-1", 'f', opval);
- }
-} else {
- {
- DF opval = GET_H_DR (FLD (f_rm));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-frn", 'f', opval);
- }
-}
-}
-}
-
- abuf->written = written;
-#undef FLD
-}
- NEXT (vpc);
-
- CASE (sem, INSN_FMOV2_COMPACT) : /* fmov @$rm, $frn */
-{
- 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);
-
-if (NOTBI (GET_H_SZBIT ())) {
- {
- SF opval = GETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "frn", 'f', opval);
- }
-} else {
-if (EQSI (ANDSI (FLD (f_rn), 1), 1)) {
- {
- DF opval = GETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
- SET_H_XD (((FLD (f_rn)) & (INVQI (1))), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "xd-and--DFLT-index-of--DFLT-frn-inv--QI-1", 'f', opval);
- }
-} else {
- {
- DF opval = GETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-frn", 'f', opval);
- }
-}
-}
-
- abuf->written = written;
-#undef FLD
-}
- NEXT (vpc);
-
- CASE (sem, INSN_FMOV3_COMPACT) : /* fmov @${rm}+, frn */
-{
- 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);
-
-if (NOTBI (GET_H_SZBIT ())) {
-{
- {
- SF opval = GETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "frn", 'f', opval);
- }
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
- SET_H_GRC (FLD (f_rm), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
- }
-}
-} else {
-{
-if (EQSI (ANDSI (FLD (f_rn), 1), 1)) {
- {
- DF opval = GETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
- SET_H_XD (((FLD (f_rn)) & (INVQI (1))), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "xd-and--DFLT-index-of--DFLT-frn-inv--QI-1", 'f', opval);
- }
-} else {
- {
- DF opval = GETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-frn", 'f', opval);
- }
-}
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 8);
- SET_H_GRC (FLD (f_rm), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
- }
-}
-}
-
- abuf->written = written;
-#undef FLD
-}
- NEXT (vpc);
-
- CASE (sem, INSN_FMOV4_COMPACT) : /* fmov @(r0, $rm), $frn */
-{
- 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);
-
-if (NOTBI (GET_H_SZBIT ())) {
- {
- SF opval = GETMEMSF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "frn", 'f', opval);
- }
-} else {
-if (EQSI (ANDSI (FLD (f_rn), 1), 1)) {
- {
- DF opval = GETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
- SET_H_XD (((FLD (f_rn)) & (INVQI (1))), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "xd-and--DFLT-index-of--DFLT-frn-inv--QI-1", 'f', opval);
- }
-} else {
- {
- DF opval = GETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-frn", 'f', opval);
- }
-}
-}
-
- abuf->written = written;
-#undef FLD
-}
- NEXT (vpc);
-
- CASE (sem, INSN_FMOV5_COMPACT) : /* fmov $frm, @$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);
-
-if (NOTBI (GET_H_SZBIT ())) {
- {
- SF opval = GET_H_FRC (FLD (f_rm));
- SETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-} else {
-if (EQSI (ANDSI (FLD (f_rm), 1), 1)) {
- {
- DF opval = GET_H_XD (((FLD (f_rm)) & (INVQI (1))));
- SETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-} else {
- {
- DF opval = GET_H_DR (FLD (f_rm));
- SETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-}
-}
-
- abuf->written = written;
-#undef FLD
-}
- NEXT (vpc);
-
- CASE (sem, INSN_FMOV6_COMPACT) : /* fmov $frm, @-$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);
-
-if (NOTBI (GET_H_SZBIT ())) {
-{
- {
- SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
- SET_H_GRC (FLD (f_rn), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- SF opval = GET_H_FRC (FLD (f_rm));
- SETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- written |= (1 << 6);
- 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 << 8);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
-if (EQSI (ANDSI (FLD (f_rm), 1), 1)) {
- {
- DF opval = GET_H_XD (((FLD (f_rm)) & (INVQI (1))));
- SETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-} else {
- {
- DF opval = GET_H_DR (FLD (f_rm));
- SETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-}
-}
-}
-
- abuf->written = written;
-#undef FLD
-}
- NEXT (vpc);
-
- CASE (sem, INSN_FMOV7_COMPACT) : /* fmov $frm, @(r0, $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);
-
-if (NOTBI (GET_H_SZBIT ())) {
- {
- SF opval = GET_H_FRC (FLD (f_rm));
- SETMEMSF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-} else {
-if (EQSI (ANDSI (FLD (f_rm), 1), 1)) {
- {
- DF opval = GET_H_XD (((FLD (f_rm)) & (INVQI (1))));
- SETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-} else {
- {
- DF opval = GET_H_DR (FLD (f_rm));
- SETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-}
-}
-
- abuf->written = written;
-#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_movl5_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_DR (FLD (f_rm)), GET_H_DR (FLD (f_rn)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
- }
-} else {
- {
- SF opval = sh64_fmuls (current_cpu, GET_H_FRC (FLD (f_rm)), GET_H_FRC (FLD (f_rn)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fsdn", '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_DR (FLD (f_rn)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
- }
-} else {
- {
- SF opval = sh64_fnegs (current_cpu, GET_H_FRC (FLD (f_rn)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fsdn", '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.fmt_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);
- 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.fmt_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);
- 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_DR (FLD (f_rn)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
- }
-} else {
- {
- SF opval = sh64_fsqrts (current_cpu, GET_H_FRC (FLD (f_rn)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fsdn", '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);
- TRACE_RESULT (current_cpu, abuf, "frn", '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_movl5_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_DR (FLD (f_rn)), GET_H_DR (FLD (f_rm)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
- }
-} else {
- {
- SF opval = sh64_fsubs (current_cpu, GET_H_FRC (FLD (f_rn)), GET_H_FRC (FLD (f_rm)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fsdn", '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_DR (FLD (f_rn)))) : (sh64_ftrcsl (current_cpu, GET_H_FRC (FLD (f_rn)))));
- CPU (h_fr[((UINT) 32)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fpul", '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);
-
-{
- QI tmp_n;
- SF tmp_res;
- tmp_n = FLD (f_vn);
- tmp_res = sh64_fmuls (current_cpu, GET_H_XF (((UINT) 0)), GET_H_FRC (tmp_n));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 4)), GET_H_FRC (ADDQI (tmp_n, 1))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 8)), GET_H_FRC (ADDQI (tmp_n, 2))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 12)), GET_H_FRC (ADDQI (tmp_n, 3))));
- {
- SF opval = tmp_res;
- SET_H_FRC (tmp_n, opval);
- TRACE_RESULT (current_cpu, abuf, "frc-n", 'f', opval);
- }
- tmp_res = sh64_fmuls (current_cpu, GET_H_XF (((UINT) 1)), GET_H_FRC (tmp_n));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 5)), GET_H_FRC (ADDQI (tmp_n, 1))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 9)), GET_H_FRC (ADDQI (tmp_n, 2))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 13)), GET_H_FRC (ADDQI (tmp_n, 3))));
- {
- SF opval = tmp_res;
- SET_H_FRC (ADDQI (tmp_n, 1), opval);
- TRACE_RESULT (current_cpu, abuf, "frc-add--DFLT-n-1", 'f', opval);
- }
- tmp_res = sh64_fmuls (current_cpu, GET_H_XF (((UINT) 2)), GET_H_FRC (tmp_n));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 6)), GET_H_FRC (ADDQI (tmp_n, 1))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 10)), GET_H_FRC (ADDQI (tmp_n, 2))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 14)), GET_H_FRC (ADDQI (tmp_n, 3))));
- {
- SF opval = tmp_res;
- SET_H_FRC (ADDQI (tmp_n, 2), opval);
- TRACE_RESULT (current_cpu, abuf, "frc-add--DFLT-n-2", 'f', opval);
- }
- tmp_res = sh64_fmuls (current_cpu, GET_H_XF (((UINT) 3)), GET_H_FRC (tmp_n));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 7)), GET_H_FRC (ADDQI (tmp_n, 1))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 11)), GET_H_FRC (ADDQI (tmp_n, 2))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 15)), GET_H_FRC (ADDQI (tmp_n, 3))));
- {
- SF opval = tmp_res;
- SET_H_FRC (ADDQI (tmp_n, 3), opval);
- TRACE_RESULT (current_cpu, abuf, "frc-add--DFLT-n-3", 'f', opval);
- }
-}
-
-#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 = GET_H_GRC (FLD (f_rn));
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
- }
- {
- UDI opval = GET_H_GRC (FLD (f_rn));
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-}
-
- SEM_BRANCH_FINI (vpc);
-#undef FLD
-}
- NEXT (vpc);
-
- CASE (sem, INSN_LDC_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);
- TRACE_RESULT (current_cpu, abuf, "gbr", 'x', opval);
- }
-
-#undef FLD
-}
- NEXT (vpc);
-
- CASE (sem, INSN_LDCL_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);
- TRACE_RESULT (current_cpu, abuf, "gbr", 'x', opval);
- }
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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));
- SET_H_FPCCR (opval);
- 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)));
- SET_H_FPCCR (opval);
- TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
- }
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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;
- TRACE_RESULT (current_cpu, abuf, "fpul", '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;
- TRACE_RESULT (current_cpu, abuf, "fpul", 'f', opval);
- }
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- 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);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
- }
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- 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);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
- }
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- 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);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
- }
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
-if (EQSI (FLD (f_rn), FLD (f_rm))) {
-{
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
- SET_H_GRC (FLD (f_rm), opval);
- written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "rm", '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);
- TRACE_RESULT (current_cpu, abuf, "rm", '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);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
- }
- {
- SI opval = SUBWORDDISI (tmp_result, 1);
- SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
- }
-}
-}
-
- 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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
-if (EQSI (FLD (f_rn), FLD (f_rm))) {
-{
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 2);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 2);
- SET_H_GRC (FLD (f_rm), opval);
- written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "rm", '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);
- TRACE_RESULT (current_cpu, abuf, "rm", '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);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
- }
-}
- {
- SI opval = ADDSI (tmp_tmpry, GET_H_MACL ());
- SET_H_MACL (opval);
- written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
- }
-}
-} 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);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
- }
- {
- SI opval = SUBWORDDISI (tmp_result, 1);
- SET_H_MACL (opval);
- written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
- }
-}
-}
-}
-
- 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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn64", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movl5_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);
- 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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
- {
- SI opval = tmp_addr;
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movl5_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);
- 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);
- 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);
- 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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
- }
-} else {
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 1);
- SET_H_GRC (FLD (f_rm), opval);
- written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
- }
-}
- {
- SI opval = EXTQISI (tmp_data);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "r0", '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);
- TRACE_RESULT (current_cpu, abuf, "r0", '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_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, GET_H_GRC (FLD (f_rn)), opval);
- 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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
- {
- SI opval = tmp_addr;
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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 (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- 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);
- 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);
- 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_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, GET_H_GRC (FLD (f_rm)));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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, GET_H_GRC (FLD (f_rm)));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
-if (EQSI (FLD (f_rm), FLD (f_rn))) {
- {
- SI opval = GET_H_GRC (FLD (f_rn));
- SET_H_GRC (FLD (f_rm), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
- }
-} else {
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
- SET_H_GRC (FLD (f_rm), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "rm", '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_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 (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "r0", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movl5_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);
- 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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
- {
- SI opval = tmp_addr;
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movl5_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);
- 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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
-
-#undef FLD
-}
- NEXT (vpc);
-
- CASE (sem, INSN_MOVW5_COMPACT) : /* mov.w r0, @($imm4x2, $rn) */
-{
- 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_rn)), FLD (f_imm4x2)), opval);
- 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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
- }
-} else {
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 2);
- SET_H_GRC (FLD (f_rm), opval);
- written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
- }
-}
- {
- SI opval = EXTHISI (tmp_data);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "r0", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movw11_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);
- TRACE_RESULT (current_cpu, abuf, "r0", '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);
- TRACE_RESULT (current_cpu, abuf, "r0", '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);
- TRACE_RESULT (current_cpu, abuf, "memory", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movl5_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);
- 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_movl5_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);
- 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_movl5_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);
- 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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = tmp_flag;
- SET_H_TBIT (opval);
- 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.fmt_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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn64", '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.fmt_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_OCBP_COMPACT) : /* ocbp @$rn */
-{
- SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
- ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_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_OCBWB_COMPACT) : /* ocbwb @$rn */
-{
- SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
- ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_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_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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn64", '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);
- TRACE_RESULT (current_cpu, abuf, "r0", '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);
- 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.fmt_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_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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = ((tmp_temp) ? (1) : (0));
- SET_H_TBIT (opval);
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = ((tmp_lsbit) ? (1) : (0));
- SET_H_TBIT (opval);
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = ((tmp_temp) ? (1) : (0));
- SET_H_TBIT (opval);
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = ((tmp_lsbit) ? (1) : (0));
- SET_H_TBIT (opval);
- 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.fmt_empty.f
- int UNUSED written = 0;
- IADDR UNUSED pc = abuf->addr;
- SEM_BRANCH_INIT
- vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
- {
- UDI opval = GET_H_PR ();
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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.fmt_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);
- 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.fmt_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);
- 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_movl5_compact.f
- int UNUSED written = 0;
- IADDR UNUSED pc = abuf->addr;
- vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
- QI tmp_shamt;
- tmp_shamt = ANDQI (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 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
-} else {
-if (NEQI (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 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", '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 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
-} else {
- {
- SI opval = 0;
- SET_H_GRC (FLD (f_rn), opval);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = ((tmp_t) ? (1) : (0));
- SET_H_TBIT (opval);
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = ((tmp_t) ? (1) : (0));
- SET_H_TBIT (opval);
- 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_movl5_compact.f
- int UNUSED written = 0;
- IADDR UNUSED pc = abuf->addr;
- vpc = SEM_NEXT_VPC (sem_arg, pc, 2);
-
-{
- QI tmp_shamt;
- tmp_shamt = ANDQI (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 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
-} else {
-if (NEQI (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 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
-} else {
- {
- SI opval = 0;
- SET_H_GRC (FLD (f_rn), opval);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = ((tmp_t) ? (1) : (0));
- SET_H_TBIT (opval);
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = ((tmp_t) ? (1) : (0));
- SET_H_TBIT (opval);
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
- {
- SI opval = tmp_addr;
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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 = GET_H_FPCCR ();
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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 = GET_H_FPCCR ();
- SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
- {
- SI opval = tmp_addr;
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
- {
- SI opval = tmp_addr;
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
- {
- SI opval = tmp_addr;
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
- {
- SI opval = tmp_addr;
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
- {
- SI opval = tmp_addr;
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = tmp_flag;
- SET_H_TBIT (opval);
- 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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = ((tmp_t) ? (1) : (0));
- SET_H_TBIT (opval);
- 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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
- }
- tmp_byte = ORQI (tmp_byte, 128);
- {
- UQI opval = tmp_byte;
- SETMEMUQI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
-}
-
-#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_movl5_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);
- 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);
- 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);
- 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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn64", '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);
-
- {
- DI opval = XORDI (GET_H_GR (((UINT) 0)), ZEXTSIDI (FLD (f_imm8)));
- SET_H_GR (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "gr-0", 'D', 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);
- 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_movl5_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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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
index fae6877772a..00000000000
--- a/sim/sh64/sem-compact.c
+++ /dev/null
@@ -1,5290 +0,0 @@
-/* Simulator instruction semantics for sh64.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#define WANT_CPU sh64
-#define WANT_CPU_SH64
-
-#include "sim-main.h"
-#include "cgen-mem.h"
-#include "cgen-ops.h"
-
-#undef GET_ATTR
-#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
-#define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_##attr)
-#else
-#define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_/**/attr)
-#endif
-
-/* 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 TRACE_RESULT
-#define 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.fmt_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.fmt_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.fmt_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.fmt_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.fmt_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.fmt_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_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 = ADDSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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);
-
-{
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = tmp_flag;
- SET_H_TBIT (opval);
- 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_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);
-
-{
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = tmp_t;
- SET_H_TBIT (opval);
- 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_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);
-
- {
- DI opval = ANDDI (GET_H_GR (FLD (f_rm)), GET_H_GR (FLD (f_rn)));
- SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn64", '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);
- TRACE_RESULT (current_cpu, abuf, "r0", '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);
- 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);
- 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 = FLD (i_disp8);
- SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 2);
- 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 = FLD (i_disp12);
- SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- 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 (EXTSIDI (GET_H_GRC (FLD (f_rn))), ADDDI (pc, 4));
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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.fmt_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);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
- }
- {
- UDI opval = FLD (i_disp12);
- SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- 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);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
- }
- {
- UDI opval = ADDDI (EXTSIDI (GET_H_GRC (FLD (f_rn))), ADDDI (pc, 4));
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-}
-
- 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);
- 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 = FLD (i_disp8);
- SEM_BRANCH_VIA_CACHE (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 2);
- 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.fmt_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);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
- }
- {
- SI opval = 0;
- SET_H_MACH (opval);
- 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.fmt_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);
- 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.fmt_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);
- 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_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);
-
- {
- BI opval = EQSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
- SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
- }
-
- 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);
- 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_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);
-
- {
- BI opval = GESI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
- SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
- }
-
- 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_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);
-
- {
- BI opval = GTSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
- SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
- }
-
- 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_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);
-
- {
- BI opval = GTUSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
- SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
- }
-
- 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_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);
-
- {
- BI opval = GEUSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
- SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
- }
-
- 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);
- 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);
- 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_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);
-
-{
- 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);
- 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_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);
-
-{
- {
- BI opval = SRLSI (GET_H_GRC (FLD (f_rn)), 31);
- SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
- }
- {
- BI opval = SRLSI (GET_H_GRC (FLD (f_rm)), 31);
- SET_H_MBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "mbit", 'x', opval);
- }
- {
- BI opval = ((EQSI (SRLSI (GET_H_GRC (FLD (f_rm)), 31), SRLSI (GET_H_GRC (FLD (f_rn)), 31))) ? (0) : (1));
- SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
- }
-}
-
- 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.fmt_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);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
- }
- {
- BI opval = 0;
- SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
- }
- {
- BI opval = 0;
- SET_H_MBIT (opval);
- 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_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);
-
-{
- 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);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
- }
- {
- SI opval = ORSI (SLLSI (GET_H_GRC (FLD (f_rn)), 1), ZEXTBISI (GET_H_TBIT ()));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- tmp_tmp1 = GTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
-if (NOTBI (GET_H_QBIT ())) {
- {
- BI opval = ((tmp_tmp1) ? (1) : (0));
- SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
- }
-} else {
- {
- BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
- SET_H_QBIT (opval);
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- tmp_tmp1 = LTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
-if (NOTBI (GET_H_QBIT ())) {
- {
- BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
- SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
- }
-} else {
- {
- BI opval = ((tmp_tmp1) ? (1) : (0));
- SET_H_QBIT (opval);
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- tmp_tmp1 = LTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
-if (NOTBI (GET_H_QBIT ())) {
- {
- BI opval = ((tmp_tmp1) ? (1) : (0));
- SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
- }
-} else {
- {
- BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
- SET_H_QBIT (opval);
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- tmp_tmp1 = GTUSI (GET_H_GRC (FLD (f_rn)), tmp_tmp0);
-if (NOTBI (GET_H_QBIT ())) {
- {
- BI opval = ((EQQI (tmp_tmp1, 0)) ? (1) : (0));
- SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
- }
-} else {
- {
- BI opval = ((tmp_tmp1) ? (1) : (0));
- SET_H_QBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "qbit", 'x', opval);
- }
-}
-}
-}
-}
- {
- BI opval = ((EQBI (GET_H_QBIT (), GET_H_MBIT ())) ? (1) : (0));
- SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", '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_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);
-
-{
- 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);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
- }
- {
- SI opval = SUBWORDDISI (tmp_result, 1);
- SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
- }
-}
-
- 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_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);
-
-{
- 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);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
- }
- {
- SI opval = SUBWORDDISI (tmp_result, 1);
- SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
- }
-}
-
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = EQSI (GET_H_GRC (FLD (f_rn)), 0);
- SET_H_TBIT (opval);
- 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_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 = EXTQISI (SUBWORDSIQI (GET_H_GRC (FLD (f_rm)), 3));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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 = EXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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 = ZEXTQISI (SUBWORDSIQI (GET_H_GRC (FLD (f_rm)), 3));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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 = ZEXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_DR (FLD (f_rn)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
- }
-} else {
- {
- SF opval = sh64_fabss (current_cpu, GET_H_FRC (FLD (f_rn)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fsdn", '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_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);
-
-if (GET_H_PRBIT ()) {
- {
- DF opval = sh64_faddd (current_cpu, GET_H_DR (FLD (f_rm)), GET_H_DR (FLD (f_rn)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
- }
-} else {
- {
- SF opval = sh64_fadds (current_cpu, GET_H_FRC (FLD (f_rm)), GET_H_FRC (FLD (f_rn)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fsdn", '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_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);
-
-if (GET_H_PRBIT ()) {
- {
- BI opval = sh64_fcmpeqd (current_cpu, GET_H_DR (FLD (f_rm)), GET_H_DR (FLD (f_rn)));
- SET_H_TBIT (opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
- }
-} else {
- {
- BI opval = sh64_fcmpeqs (current_cpu, GET_H_FRC (FLD (f_rm)), GET_H_FRC (FLD (f_rn)));
- SET_H_TBIT (opval);
- written |= (1 << 7);
- 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_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);
-
-if (GET_H_PRBIT ()) {
- {
- BI opval = sh64_fcmpgtd (current_cpu, GET_H_DR (FLD (f_rn)), GET_H_DR (FLD (f_rm)));
- SET_H_TBIT (opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
- }
-} else {
- {
- BI opval = sh64_fcmpgts (current_cpu, GET_H_FRC (FLD (f_rn)), GET_H_FRC (FLD (f_rm)));
- SET_H_TBIT (opval);
- written |= (1 << 7);
- 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_fcnvds_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;
- TRACE_RESULT (current_cpu, abuf, "fpul", '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_fcnvds_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);
- TRACE_RESULT (current_cpu, abuf, "drn", '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_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);
-
-if (GET_H_PRBIT ()) {
- {
- DF opval = sh64_fdivd (current_cpu, GET_H_DR (FLD (f_rn)), GET_H_DR (FLD (f_rm)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
- }
-} else {
- {
- SF opval = sh64_fdivs (current_cpu, GET_H_FRC (FLD (f_rn)), GET_H_FRC (FLD (f_rm)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fsdn", '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);
-
-{
- QI tmp_m;
- QI tmp_n;
- SF tmp_res;
- tmp_m = FLD (f_vm);
- tmp_n = FLD (f_vn);
- tmp_res = sh64_fmuls (current_cpu, GET_H_FVC (FLD (f_vm)), GET_H_FVC (FLD (f_vn)));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_FRC (ADDQI (tmp_m, 1)), GET_H_FRC (ADDQI (tmp_n, 1))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_FRC (ADDQI (tmp_m, 2)), GET_H_FRC (ADDQI (tmp_n, 2))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_FRC (ADDQI (tmp_m, 3)), GET_H_FRC (ADDQI (tmp_n, 3))));
- {
- SF opval = tmp_res;
- SET_H_FRC (ADDQI (tmp_n, 3), opval);
- TRACE_RESULT (current_cpu, abuf, "frc-add--DFLT-n-3", 'f', opval);
- }
-}
-
- return vpc;
-#undef FLD
-}
-
-/* flds-compact: flds $frn */
-
-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;
- TRACE_RESULT (current_cpu, abuf, "fpul", '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);
- TRACE_RESULT (current_cpu, abuf, "frn", '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);
- TRACE_RESULT (current_cpu, abuf, "frn", '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_DR (FLD (f_rn), opval);
- written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
- }
-} else {
- {
- SF opval = sh64_floatls (current_cpu, CPU (h_fr[((UINT) 32)]));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "fsdn", '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_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);
-
- {
- SF opval = sh64_fmacs (current_cpu, GET_H_FRC (((UINT) 0)), GET_H_FRC (FLD (f_rm)), GET_H_FRC (FLD (f_rn)));
- SET_H_FRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "frn", 'f', opval);
- }
-
- return vpc;
-#undef FLD
-}
-
-/* fmov1-compact: fmov $frm, $frn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fmov1_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);
-
-if (NOTBI (GET_H_SZBIT ())) {
- {
- SF opval = GET_H_FRC (FLD (f_rm));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "frn", 'f', opval);
- }
-} else {
-if (EQSI (ANDSI (FLD (f_rm), 1), 1)) {
-if (EQSI (ANDSI (FLD (f_rn), 1), 1)) {
- {
- DF opval = GET_H_XD (((FLD (f_rm)) & (INVQI (1))));
- SET_H_XD (((FLD (f_rn)) & (INVQI (1))), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "xd-and--DFLT-index-of--DFLT-frn-inv--QI-1", 'f', opval);
- }
-} else {
- {
- DF opval = GET_H_XD (((FLD (f_rm)) & (INVQI (1))));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-frn", 'f', opval);
- }
-}
-} else {
-if (EQSI (ANDSI (FLD (f_rn), 1), 1)) {
- {
- DF opval = GET_H_DR (FLD (f_rm));
- SET_H_XD (((FLD (f_rn)) & (INVQI (1))), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "xd-and--DFLT-index-of--DFLT-frn-inv--QI-1", 'f', opval);
- }
-} else {
- {
- DF opval = GET_H_DR (FLD (f_rm));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-frn", 'f', opval);
- }
-}
-}
-}
-
- abuf->written = written;
- return vpc;
-#undef FLD
-}
-
-/* fmov2-compact: fmov @$rm, $frn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fmov2_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);
-
-if (NOTBI (GET_H_SZBIT ())) {
- {
- SF opval = GETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "frn", 'f', opval);
- }
-} else {
-if (EQSI (ANDSI (FLD (f_rn), 1), 1)) {
- {
- DF opval = GETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
- SET_H_XD (((FLD (f_rn)) & (INVQI (1))), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "xd-and--DFLT-index-of--DFLT-frn-inv--QI-1", 'f', opval);
- }
-} else {
- {
- DF opval = GETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-frn", 'f', opval);
- }
-}
-}
-
- abuf->written = written;
- return vpc;
-#undef FLD
-}
-
-/* fmov3-compact: fmov @${rm}+, frn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fmov3_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);
-
-if (NOTBI (GET_H_SZBIT ())) {
-{
- {
- SF opval = GETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "frn", 'f', opval);
- }
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
- SET_H_GRC (FLD (f_rm), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
- }
-}
-} else {
-{
-if (EQSI (ANDSI (FLD (f_rn), 1), 1)) {
- {
- DF opval = GETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
- SET_H_XD (((FLD (f_rn)) & (INVQI (1))), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "xd-and--DFLT-index-of--DFLT-frn-inv--QI-1", 'f', opval);
- }
-} else {
- {
- DF opval = GETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rm)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-frn", 'f', opval);
- }
-}
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 8);
- SET_H_GRC (FLD (f_rm), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
- }
-}
-}
-
- abuf->written = written;
- return vpc;
-#undef FLD
-}
-
-/* fmov4-compact: fmov @(r0, $rm), $frn */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,fmov4_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);
-
-if (NOTBI (GET_H_SZBIT ())) {
- {
- SF opval = GETMEMSF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "frn", 'f', opval);
- }
-} else {
-if (EQSI (ANDSI (FLD (f_rn), 1), 1)) {
- {
- DF opval = GETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
- SET_H_XD (((FLD (f_rn)) & (INVQI (1))), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "xd-and--DFLT-index-of--DFLT-frn-inv--QI-1", 'f', opval);
- }
-} else {
- {
- DF opval = GETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-frn", 'f', opval);
- }
-}
-}
-
- abuf->written = written;
- return vpc;
-#undef FLD
-}
-
-/* fmov5-compact: fmov $frm, @$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_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);
-
-if (NOTBI (GET_H_SZBIT ())) {
- {
- SF opval = GET_H_FRC (FLD (f_rm));
- SETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- written |= (1 << 6);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-} else {
-if (EQSI (ANDSI (FLD (f_rm), 1), 1)) {
- {
- DF opval = GET_H_XD (((FLD (f_rm)) & (INVQI (1))));
- SETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-} else {
- {
- DF opval = GET_H_DR (FLD (f_rm));
- SETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-}
-}
-
- abuf->written = written;
- return vpc;
-#undef FLD
-}
-
-/* fmov6-compact: fmov $frm, @-$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_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);
-
-if (NOTBI (GET_H_SZBIT ())) {
-{
- {
- SI opval = SUBSI (GET_H_GRC (FLD (f_rn)), 4);
- SET_H_GRC (FLD (f_rn), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- SF opval = GET_H_FRC (FLD (f_rm));
- SETMEMSF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- written |= (1 << 6);
- 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 << 8);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
-if (EQSI (ANDSI (FLD (f_rm), 1), 1)) {
- {
- DF opval = GET_H_XD (((FLD (f_rm)) & (INVQI (1))));
- SETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-} else {
- {
- DF opval = GET_H_DR (FLD (f_rm));
- SETMEMDF (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-}
-}
-}
-
- abuf->written = written;
- return vpc;
-#undef FLD
-}
-
-/* fmov7-compact: fmov $frm, @(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_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);
-
-if (NOTBI (GET_H_SZBIT ())) {
- {
- SF opval = GET_H_FRC (FLD (f_rm));
- SETMEMSF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-} else {
-if (EQSI (ANDSI (FLD (f_rm), 1), 1)) {
- {
- DF opval = GET_H_XD (((FLD (f_rm)) & (INVQI (1))));
- SETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-} else {
- {
- DF opval = GET_H_DR (FLD (f_rm));
- SETMEMDF (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-}
-}
-
- abuf->written = written;
- 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_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);
-
-if (GET_H_PRBIT ()) {
- {
- DF opval = sh64_fmuld (current_cpu, GET_H_DR (FLD (f_rm)), GET_H_DR (FLD (f_rn)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
- }
-} else {
- {
- SF opval = sh64_fmuls (current_cpu, GET_H_FRC (FLD (f_rm)), GET_H_FRC (FLD (f_rn)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fsdn", '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_DR (FLD (f_rn)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
- }
-} else {
- {
- SF opval = sh64_fnegs (current_cpu, GET_H_FRC (FLD (f_rn)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fsdn", '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.fmt_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);
- 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.fmt_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);
- 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_DR (FLD (f_rn)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
- }
-} else {
- {
- SF opval = sh64_fsqrts (current_cpu, GET_H_FRC (FLD (f_rn)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "fsdn", '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);
- TRACE_RESULT (current_cpu, abuf, "frn", '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_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);
-
-if (GET_H_PRBIT ()) {
- {
- DF opval = sh64_fsubd (current_cpu, GET_H_DR (FLD (f_rn)), GET_H_DR (FLD (f_rm)));
- SET_H_DR (FLD (f_rn), opval);
- written |= (1 << 8);
- TRACE_RESULT (current_cpu, abuf, "dr-index-of--DFLT-fsdn", 'f', opval);
- }
-} else {
- {
- SF opval = sh64_fsubs (current_cpu, GET_H_FRC (FLD (f_rn)), GET_H_FRC (FLD (f_rm)));
- SET_H_FRC (FLD (f_rn), opval);
- written |= (1 << 7);
- TRACE_RESULT (current_cpu, abuf, "fsdn", '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_DR (FLD (f_rn)))) : (sh64_ftrcsl (current_cpu, GET_H_FRC (FLD (f_rn)))));
- CPU (h_fr[((UINT) 32)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fpul", '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);
-
-{
- QI tmp_n;
- SF tmp_res;
- tmp_n = FLD (f_vn);
- tmp_res = sh64_fmuls (current_cpu, GET_H_XF (((UINT) 0)), GET_H_FRC (tmp_n));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 4)), GET_H_FRC (ADDQI (tmp_n, 1))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 8)), GET_H_FRC (ADDQI (tmp_n, 2))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 12)), GET_H_FRC (ADDQI (tmp_n, 3))));
- {
- SF opval = tmp_res;
- SET_H_FRC (tmp_n, opval);
- TRACE_RESULT (current_cpu, abuf, "frc-n", 'f', opval);
- }
- tmp_res = sh64_fmuls (current_cpu, GET_H_XF (((UINT) 1)), GET_H_FRC (tmp_n));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 5)), GET_H_FRC (ADDQI (tmp_n, 1))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 9)), GET_H_FRC (ADDQI (tmp_n, 2))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 13)), GET_H_FRC (ADDQI (tmp_n, 3))));
- {
- SF opval = tmp_res;
- SET_H_FRC (ADDQI (tmp_n, 1), opval);
- TRACE_RESULT (current_cpu, abuf, "frc-add--DFLT-n-1", 'f', opval);
- }
- tmp_res = sh64_fmuls (current_cpu, GET_H_XF (((UINT) 2)), GET_H_FRC (tmp_n));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 6)), GET_H_FRC (ADDQI (tmp_n, 1))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 10)), GET_H_FRC (ADDQI (tmp_n, 2))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 14)), GET_H_FRC (ADDQI (tmp_n, 3))));
- {
- SF opval = tmp_res;
- SET_H_FRC (ADDQI (tmp_n, 2), opval);
- TRACE_RESULT (current_cpu, abuf, "frc-add--DFLT-n-2", 'f', opval);
- }
- tmp_res = sh64_fmuls (current_cpu, GET_H_XF (((UINT) 3)), GET_H_FRC (tmp_n));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 7)), GET_H_FRC (ADDQI (tmp_n, 1))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 11)), GET_H_FRC (ADDQI (tmp_n, 2))));
- tmp_res = sh64_fadds (current_cpu, tmp_res, sh64_fmuls (current_cpu, GET_H_XF (((UINT) 15)), GET_H_FRC (ADDQI (tmp_n, 3))));
- {
- SF opval = tmp_res;
- SET_H_FRC (ADDQI (tmp_n, 3), opval);
- TRACE_RESULT (current_cpu, abuf, "frc-add--DFLT-n-3", 'f', opval);
- }
-}
-
- 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 = GET_H_GRC (FLD (f_rn));
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
- }
- {
- UDI opval = GET_H_GRC (FLD (f_rn));
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-}
-
- SEM_BRANCH_FINI (vpc);
- return vpc;
-#undef FLD
-}
-
-/* ldc-compact: ldc $rn, gbr */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,ldc_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);
- TRACE_RESULT (current_cpu, abuf, "gbr", 'x', opval);
- }
-
- return vpc;
-#undef FLD
-}
-
-/* ldcl-compact: ldc.l @${rn}+, gbr */
-
-static SEM_PC
-SEM_FN_NAME (sh64_compact,ldcl_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);
- TRACE_RESULT (current_cpu, abuf, "gbr", 'x', opval);
- }
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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));
- SET_H_FPCCR (opval);
- 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)));
- SET_H_FPCCR (opval);
- TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval);
- }
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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;
- TRACE_RESULT (current_cpu, abuf, "fpul", '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;
- TRACE_RESULT (current_cpu, abuf, "fpul", 'f', opval);
- }
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- 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);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
- }
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- 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);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
- }
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- 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);
- TRACE_RESULT (current_cpu, abuf, "pr", 'x', opval);
- }
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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);
-
-{
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
-if (EQSI (FLD (f_rn), FLD (f_rm))) {
-{
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 4);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
- SET_H_GRC (FLD (f_rm), opval);
- written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "rm", '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);
- TRACE_RESULT (current_cpu, abuf, "rm", '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);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
- }
- {
- SI opval = SUBWORDDISI (tmp_result, 1);
- SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
- }
-}
-}
-
- 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_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 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
-if (EQSI (FLD (f_rn), FLD (f_rm))) {
-{
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rn)), 2);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 2);
- SET_H_GRC (FLD (f_rm), opval);
- written |= (1 << 11);
- TRACE_RESULT (current_cpu, abuf, "rm", '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);
- TRACE_RESULT (current_cpu, abuf, "rm", '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);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
- }
-}
- {
- SI opval = ADDSI (tmp_tmpry, GET_H_MACL ());
- SET_H_MACL (opval);
- written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
- }
-}
-} 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);
- TRACE_RESULT (current_cpu, abuf, "mach", 'x', opval);
- }
- {
- SI opval = SUBWORDDISI (tmp_result, 1);
- SET_H_MACL (opval);
- written |= (1 << 10);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
- }
-}
-}
-}
-
- 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_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);
-
- {
- DI opval = GET_H_GR (FLD (f_rm));
- SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn64", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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);
-
- {
- UQI opval = SUBWORDSIUQI (GET_H_GRC (FLD (f_rm)), 3);
- SETMEMUQI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
-
- 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_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);
-
-{
- 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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
- {
- SI opval = tmp_addr;
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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);
-
- {
- UQI opval = SUBWORDSIUQI (GET_H_GRC (FLD (f_rm)), 3);
- SETMEMUQI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
-
- 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);
- 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);
- 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_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 = EXTQISI (GETMEMQI (current_cpu, pc, GET_H_GRC (FLD (f_rm))));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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);
-
-{
- 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);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
- }
-} else {
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 1);
- SET_H_GRC (FLD (f_rm), opval);
- written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
- }
-}
- {
- SI opval = EXTQISI (tmp_data);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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 = EXTQISI (GETMEMQI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm)))));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "r0", '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);
- TRACE_RESULT (current_cpu, abuf, "r0", '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_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, GET_H_GRC (FLD (f_rn)), opval);
- 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_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 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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
- {
- SI opval = tmp_addr;
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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 (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- 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);
- 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);
- 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_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, GET_H_GRC (FLD (f_rm)));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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, GET_H_GRC (FLD (f_rm)));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
-if (EQSI (FLD (f_rm), FLD (f_rn))) {
- {
- SI opval = GET_H_GRC (FLD (f_rn));
- SET_H_GRC (FLD (f_rm), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
- }
-} else {
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 4);
- SET_H_GRC (FLD (f_rm), opval);
- written |= (1 << 5);
- TRACE_RESULT (current_cpu, abuf, "rm", '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_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 (((UINT) 0)), GET_H_GRC (FLD (f_rm))));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "r0", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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);
-
- {
- HI opval = SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1);
- SETMEMHI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
-
- 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_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);
-
-{
- 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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
- {
- SI opval = tmp_addr;
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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);
-
- {
- HI opval = SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1);
- SETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rn))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
-
- 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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
-
- return vpc;
-#undef FLD
-}
-
-/* movw5-compact: mov.w r0, @($imm4x2, $rn) */
-
-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_rn)), FLD (f_imm4x2)), opval);
- 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_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 = EXTHISI (GETMEMHI (current_cpu, pc, GET_H_GRC (FLD (f_rm))));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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);
-
-{
- 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);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
- }
-} else {
- {
- SI opval = ADDSI (GET_H_GRC (FLD (f_rm)), 2);
- SET_H_GRC (FLD (f_rm), opval);
- written |= (1 << 4);
- TRACE_RESULT (current_cpu, abuf, "rm", 'x', opval);
- }
-}
- {
- SI opval = EXTHISI (tmp_data);
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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 = EXTHISI (GETMEMHI (current_cpu, pc, ADDSI (GET_H_GRC (((UINT) 0)), GET_H_GRC (FLD (f_rm)))));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "r0", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_movw11_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);
- TRACE_RESULT (current_cpu, abuf, "r0", '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);
- TRACE_RESULT (current_cpu, abuf, "r0", '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);
- TRACE_RESULT (current_cpu, abuf, "memory", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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 = MULSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn)));
- SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
- }
-
- 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_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 = MULSI (EXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1)), EXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rn)), 1)));
- SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
- }
-
- 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_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 = MULSI (ZEXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rm)), 1)), ZEXTHISI (SUBWORDSIHI (GET_H_GRC (FLD (f_rn)), 1)));
- SET_H_MACL (opval);
- TRACE_RESULT (current_cpu, abuf, "macl", 'x', opval);
- }
-
- 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_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 = NEGSI (GET_H_GRC (FLD (f_rm)));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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);
-
-{
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = tmp_flag;
- SET_H_TBIT (opval);
- 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.fmt_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_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);
-
- {
- DI opval = INVDI (GET_H_GR (FLD (f_rm)));
- SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn64", '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.fmt_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
-}
-
-/* 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.fmt_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
-}
-
-/* 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.fmt_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
-}
-
-/* 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_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);
-
- {
- DI opval = ORDI (GET_H_GR (FLD (f_rm)), GET_H_GR (FLD (f_rn)));
- SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn64", '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);
- TRACE_RESULT (current_cpu, abuf, "r0", '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);
- 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.fmt_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
-}
-
-/* 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = ((tmp_temp) ? (1) : (0));
- SET_H_TBIT (opval);
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = ((tmp_lsbit) ? (1) : (0));
- SET_H_TBIT (opval);
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = ((tmp_temp) ? (1) : (0));
- SET_H_TBIT (opval);
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = ((tmp_lsbit) ? (1) : (0));
- SET_H_TBIT (opval);
- 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.fmt_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 = GET_H_PR ();
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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.fmt_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);
- 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.fmt_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);
- 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_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);
-
-{
- QI tmp_shamt;
- tmp_shamt = ANDQI (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 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
-} else {
-if (NEQI (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 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", '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 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
-} else {
- {
- SI opval = 0;
- SET_H_GRC (FLD (f_rn), opval);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = ((tmp_t) ? (1) : (0));
- SET_H_TBIT (opval);
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = ((tmp_t) ? (1) : (0));
- SET_H_TBIT (opval);
- 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_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);
-
-{
- QI tmp_shamt;
- tmp_shamt = ANDQI (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 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
-} else {
-if (NEQI (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 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
-} else {
- {
- SI opval = 0;
- SET_H_GRC (FLD (f_rn), opval);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = ((tmp_t) ? (1) : (0));
- SET_H_TBIT (opval);
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = ((tmp_t) ? (1) : (0));
- SET_H_TBIT (opval);
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
- {
- SI opval = tmp_addr;
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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 = GET_H_FPCCR ();
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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 = GET_H_FPCCR ();
- SETMEMSI (current_cpu, pc, tmp_addr, opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
- {
- SI opval = tmp_addr;
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
- {
- SI opval = tmp_addr;
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
- {
- SI opval = tmp_addr;
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
- {
- SI opval = tmp_addr;
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
- {
- SI opval = tmp_addr;
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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 = SUBSI (GET_H_GRC (FLD (f_rn)), GET_H_GRC (FLD (f_rm)));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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);
-
-{
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = tmp_flag;
- SET_H_TBIT (opval);
- 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_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);
-
-{
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", 'x', opval);
- }
- {
- BI opval = ((tmp_t) ? (1) : (0));
- SET_H_TBIT (opval);
- 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_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);
-
-{
- 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);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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 = ORSI (SRLSI (GET_H_GRC (FLD (f_rm)), 16), SLLSI (GET_H_GRC (FLD (f_rm)), 16));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
- }
- tmp_byte = ORQI (tmp_byte, 128);
- {
- UQI opval = tmp_byte;
- SETMEMUQI (current_cpu, pc, GET_H_GRC (FLD (f_rn)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval);
- }
-}
-
- 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_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);
-
- {
- BI opval = ((EQSI (ANDSI (GET_H_GRC (FLD (f_rm)), GET_H_GRC (FLD (f_rn))), 0)) ? (1) : (0));
- SET_H_TBIT (opval);
- TRACE_RESULT (current_cpu, abuf, "tbit", 'x', opval);
- }
-
- 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);
- 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);
- 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_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);
-
- {
- DI opval = XORDI (GET_H_GR (FLD (f_rn)), GET_H_GR (FLD (f_rm)));
- SET_H_GR (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn64", '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);
-
- {
- DI opval = XORDI (GET_H_GR (((UINT) 0)), ZEXTSIDI (FLD (f_imm8)));
- SET_H_GR (((UINT) 0), opval);
- TRACE_RESULT (current_cpu, abuf, "gr-0", 'D', 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);
- 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_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 = ORSI (SLLSI (GET_H_GRC (FLD (f_rm)), 16), SRLSI (GET_H_GRC (FLD (f_rn)), 16));
- SET_H_GRC (FLD (f_rn), opval);
- TRACE_RESULT (current_cpu, abuf, "rn", '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_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_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_COMPACT, SEM_FN_NAME (sh64_compact,ldc_compact) },
- { SH64_COMPACT_INSN_LDCL_COMPACT, SEM_FN_NAME (sh64_compact,ldcl_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_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_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_MOVT_COMPACT, SEM_FN_NAME (sh64_compact,movt_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_STCL_GBR_COMPACT, SEM_FN_NAME (sh64_compact,stcl_gbr_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
index 075738ae0ef..00000000000
--- a/sim/sh64/sem-media-switch.c
+++ /dev/null
@@ -1,5558 +0,0 @@
-/* Simulator instruction semantics for sh64.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#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 TRACE_RESULT check for something
- that can cause it to be optimized out. Another way would be to emit
- special handlers into the instruction "stream". */
-
-#if FAST_P
-#undef TRACE_RESULT
-#define TRACE_RESULT(cpu, abuf, name, type, val)
-#endif
-
-#undef GET_ATTR
-#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
-#define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_##attr)
-#else
-#define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_/**/attr)
-#endif
-
-{
-
-#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.fmt_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.fmt_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.fmt_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.fmt_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.fmt_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.fmt_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);
- 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);
- 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);
- 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);
- 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);
- 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.fmt_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_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);
- 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);
- 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);
- 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);
-
-if (EQDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
- {
- UDI opval = CPU (h_tr[FLD (f_tra)]);
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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);
-
-if (EQDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm6)))) {
- {
- UDI opval = CPU (h_tr[FLD (f_tra)]);
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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);
-
-if (GEDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
- {
- UDI opval = CPU (h_tr[FLD (f_tra)]);
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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);
-
-if (GEUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
- {
- UDI opval = CPU (h_tr[FLD (f_tra)]);
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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);
-
-if (GTDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
- {
- UDI opval = CPU (h_tr[FLD (f_tra)]);
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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);
-
-if (GTUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
- {
- UDI opval = CPU (h_tr[FLD (f_tra)]);
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
- }
- {
- UDI opval = CPU (h_tr[FLD (f_trb)]);
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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);
-
-if (NEDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
- {
- UDI opval = CPU (h_tr[FLD (f_tra)]);
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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);
-
-if (NEDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm6)))) {
- {
- UDI opval = CPU (h_tr[FLD (f_tra)]);
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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.fmt_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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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;
- 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);
- 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;
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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;
- 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);
- 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);
- 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;
- 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.fmt_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_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);
-
-{
- UQI tmp_g;
- UQI tmp_h;
- SF tmp_temp;
- tmp_g = FLD (f_left);
- tmp_h = FLD (f_right);
- tmp_temp = sh64_fmuls (current_cpu, CPU (h_fr[tmp_g]), CPU (h_fr[tmp_h]));
- tmp_temp = sh64_fadds (current_cpu, tmp_temp, sh64_fmuls (current_cpu, CPU (h_fr[ADDQI (tmp_g, 1)]), CPU (h_fr[ADDQI (tmp_h, 1)])));
- tmp_temp = sh64_fadds (current_cpu, tmp_temp, sh64_fmuls (current_cpu, CPU (h_fr[ADDQI (tmp_g, 2)]), CPU (h_fr[ADDQI (tmp_h, 2)])));
- tmp_temp = sh64_fadds (current_cpu, tmp_temp, sh64_fmuls (current_cpu, CPU (h_fr[ADDQI (tmp_g, 3)]), CPU (h_fr[ADDQI (tmp_h, 3)])));
- {
- SF opval = tmp_temp;
- CPU (h_fr[FLD (f_dest)]) = opval;
- 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);
- 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);
-
-{
- QI tmp_f;
- tmp_f = FLD (f_dest);
- {
- SF opval = GETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x8)));
- CPU (h_fr[tmp_f]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
- }
- {
- SF opval = GETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), ADDSI (FLD (f_disp10x8), 4)));
- CPU (h_fr[ADDQI (tmp_f, 1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
- }
-}
-
-#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;
- 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);
- 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);
-
-{
- QI tmp_f;
- tmp_f = FLD (f_dest);
- {
- SF opval = GETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))));
- CPU (h_fr[tmp_f]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
- }
- {
- SF opval = GETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), ADDDI (GET_H_GR (FLD (f_right)), 4)));
- CPU (h_fr[ADDQI (tmp_f, 1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
- }
-}
-
-#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;
- 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);
- 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;
- 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);
- 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;
- 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;
- 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);
- 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);
- 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;
- 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);
- 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;
- 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);
- 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);
- 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;
- 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);
- 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;
- 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.fmt_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_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);
- 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;
- 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);
- 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);
-
-{
- QI tmp_f;
- tmp_f = FLD (f_dest);
- {
- SF opval = CPU (h_fr[tmp_f]);
- SETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x8)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
- {
- SF opval = CPU (h_fr[ADDQI (tmp_f, 1)]);
- SETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), ADDSI (FLD (f_disp10x8), 4)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-}
-
-#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);
- 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);
- 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);
-
-{
- QI tmp_f;
- tmp_f = FLD (f_dest);
- {
- SF opval = CPU (h_fr[tmp_f]);
- SETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
- {
- SF opval = CPU (h_fr[ADDQI (tmp_f, 1)]);
- SETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), ADDDI (GET_H_GR (FLD (f_right)), 4)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-}
-
-#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);
- 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);
- 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;
- 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;
- 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;
- 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);
- 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);
- 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);
-
-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.fmt_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_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);
- 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);
- 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.fmt_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_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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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_ldhil.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);
- 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);
- 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);
- 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_ldhil.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);
- 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);
- 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);
- 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_ldhil.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);
- 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);
- 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);
- 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_ldhil.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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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.fmt_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);
- 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.fmt_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_OCBP) : /* ocbp $rm, $disp6x32 */
-{
- SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
- ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_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_OCBWB) : /* ocbwb $rm, $disp6x32 */
-{
- SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc);
- ARGBUF *abuf = SEM_ARGBUF (sem_arg);
-#define FLD(f) abuf->fields.fmt_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_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);
- 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);
- 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.fmt_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_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);
-
- {
- DI opval = ADDSI (FLD (f_disp16), 1);
- CPU (h_tr[FLD (f_tra)]) = opval;
- 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);
-
- {
- DI opval = GET_H_GR (FLD (f_right));
- CPU (h_tr[FLD (f_tra)]) = opval;
- 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);
-
- {
- DI opval = FLD (f_disp16);
- CPU (h_tr[FLD (f_tra)]) = opval;
- 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);
-
- {
- DI opval = ADDDI (pc, GET_H_GR (FLD (f_right)));
- CPU (h_tr[FLD (f_tra)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
- }
-
-#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.fmt_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_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);
- 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.fmt_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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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.fmt_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);
- 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);
- 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);
- 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);
- 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_ldhil.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);
- 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);
- 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);
- 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);
- 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);
- 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_ldhil.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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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_ldhil.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);
- 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);
- 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);
- 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);
- 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);
- 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_ldhil.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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
- }
- {
- DI opval = tmp_temp;
- SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
- }
-}
-
-#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.fmt_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.fmt_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);
- 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);
- 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
index aee11ccf174..00000000000
--- a/sim/sh64/sem-media.c
+++ /dev/null
@@ -1,5965 +0,0 @@
-/* Simulator instruction semantics for sh64.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#define WANT_CPU sh64
-#define WANT_CPU_SH64
-
-#include "sim-main.h"
-#include "cgen-mem.h"
-#include "cgen-ops.h"
-
-#undef GET_ATTR
-#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
-#define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_##attr)
-#else
-#define GET_ATTR(cpu, num, attr) CGEN_ATTR_VALUE (NULL, abuf->idesc->attrs, CGEN_INSN_/**/attr)
-#endif
-
-/* 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 TRACE_RESULT
-#define 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.fmt_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.fmt_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.fmt_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.fmt_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.fmt_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.fmt_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);
- 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);
- 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);
- 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);
- 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);
- 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.fmt_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
-}
-
-/* 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);
- 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);
- 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);
- 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);
-
-if (EQDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
- {
- UDI opval = CPU (h_tr[FLD (f_tra)]);
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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);
-
-if (EQDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm6)))) {
- {
- UDI opval = CPU (h_tr[FLD (f_tra)]);
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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);
-
-if (GEDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
- {
- UDI opval = CPU (h_tr[FLD (f_tra)]);
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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);
-
-if (GEUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
- {
- UDI opval = CPU (h_tr[FLD (f_tra)]);
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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);
-
-if (GTDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
- {
- UDI opval = CPU (h_tr[FLD (f_tra)]);
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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);
-
-if (GTUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
- {
- UDI opval = CPU (h_tr[FLD (f_tra)]);
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
- }
- {
- UDI opval = CPU (h_tr[FLD (f_trb)]);
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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);
-
-if (NEDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) {
- {
- UDI opval = CPU (h_tr[FLD (f_tra)]);
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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);
-
-if (NEDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm6)))) {
- {
- UDI opval = CPU (h_tr[FLD (f_tra)]);
- SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc);
- written |= (1 << 3);
- TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval);
- }
-}
-
- 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.fmt_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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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;
- 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);
- 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;
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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;
- 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);
- 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);
- 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;
- 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.fmt_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
-}
-
-/* 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);
-
-{
- UQI tmp_g;
- UQI tmp_h;
- SF tmp_temp;
- tmp_g = FLD (f_left);
- tmp_h = FLD (f_right);
- tmp_temp = sh64_fmuls (current_cpu, CPU (h_fr[tmp_g]), CPU (h_fr[tmp_h]));
- tmp_temp = sh64_fadds (current_cpu, tmp_temp, sh64_fmuls (current_cpu, CPU (h_fr[ADDQI (tmp_g, 1)]), CPU (h_fr[ADDQI (tmp_h, 1)])));
- tmp_temp = sh64_fadds (current_cpu, tmp_temp, sh64_fmuls (current_cpu, CPU (h_fr[ADDQI (tmp_g, 2)]), CPU (h_fr[ADDQI (tmp_h, 2)])));
- tmp_temp = sh64_fadds (current_cpu, tmp_temp, sh64_fmuls (current_cpu, CPU (h_fr[ADDQI (tmp_g, 3)]), CPU (h_fr[ADDQI (tmp_h, 3)])));
- {
- SF opval = tmp_temp;
- CPU (h_fr[FLD (f_dest)]) = opval;
- 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);
- 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);
-
-{
- QI tmp_f;
- tmp_f = FLD (f_dest);
- {
- SF opval = GETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x8)));
- CPU (h_fr[tmp_f]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
- }
- {
- SF opval = GETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), ADDSI (FLD (f_disp10x8), 4)));
- CPU (h_fr[ADDQI (tmp_f, 1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
- }
-}
-
- 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;
- 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);
- 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);
-
-{
- QI tmp_f;
- tmp_f = FLD (f_dest);
- {
- SF opval = GETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))));
- CPU (h_fr[tmp_f]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
- }
- {
- SF opval = GETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), ADDDI (GET_H_GR (FLD (f_right)), 4)));
- CPU (h_fr[ADDQI (tmp_f, 1)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval);
- }
-}
-
- 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;
- 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);
- 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;
- 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);
- 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;
- 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;
- 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);
- 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);
- 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;
- 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);
- 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;
- 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);
- 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);
- 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;
- 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);
- 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;
- 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.fmt_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
-}
-
-/* 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);
- 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;
- 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);
- 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);
-
-{
- QI tmp_f;
- tmp_f = FLD (f_dest);
- {
- SF opval = CPU (h_fr[tmp_f]);
- SETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp10x8)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
- {
- SF opval = CPU (h_fr[ADDQI (tmp_f, 1)]);
- SETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), ADDSI (FLD (f_disp10x8), 4)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-}
-
- 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);
- 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);
- 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);
-
-{
- QI tmp_f;
- tmp_f = FLD (f_dest);
- {
- SF opval = CPU (h_fr[tmp_f]);
- SETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right))), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
- {
- SF opval = CPU (h_fr[ADDQI (tmp_f, 1)]);
- SETMEMSF (current_cpu, pc, ADDDI (GET_H_GR (FLD (f_left)), ADDDI (GET_H_GR (FLD (f_right)), 4)), opval);
- TRACE_RESULT (current_cpu, abuf, "memory", 'f', opval);
- }
-}
-
- 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);
- 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);
- 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;
- 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;
- 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;
- 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);
- 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);
- 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);
-
-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.fmt_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
-}
-
-/* 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);
- 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);
- 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.fmt_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
-}
-
-/* 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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_ldhil.f
- 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);
- 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);
- 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);
- 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_ldhil.f
- 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);
- 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);
- 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);
- 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_ldhil.f
- 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);
- 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);
- 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);
- 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_ldhil.f
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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.fmt_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);
- 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.fmt_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
-}
-
-/* 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.fmt_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
-}
-
-/* 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.fmt_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
-}
-
-/* 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);
- 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);
- 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.fmt_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
-}
-
-/* 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);
-
- {
- DI opval = ADDSI (FLD (f_disp16), 1);
- CPU (h_tr[FLD (f_tra)]) = opval;
- 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);
-
- {
- DI opval = GET_H_GR (FLD (f_right));
- CPU (h_tr[FLD (f_tra)]) = opval;
- 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);
-
- {
- DI opval = FLD (f_disp16);
- CPU (h_tr[FLD (f_tra)]) = opval;
- 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);
-
- {
- DI opval = ADDDI (pc, GET_H_GR (FLD (f_right)));
- CPU (h_tr[FLD (f_tra)]) = opval;
- TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval);
- }
-
- 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.fmt_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
-}
-
-/* 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);
- 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.fmt_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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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.fmt_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);
- 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);
- 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);
- 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);
- 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_ldhil.f
- 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);
- 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);
- 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);
- 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);
- 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);
- 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_ldhil.f
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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_ldhil.f
- 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);
- 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);
- 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);
- 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);
- 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);
- 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_ldhil.f
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- 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);
- TRACE_RESULT (current_cpu, abuf, "memory", 'D', opval);
- }
- {
- DI opval = tmp_temp;
- SET_H_GR (FLD (f_dest), opval);
- TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval);
- }
-}
-
- 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.fmt_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.fmt_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);
- 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);
- 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
index e95ab8782f5..00000000000
--- a/sim/sh64/sh-desc.c
+++ /dev/null
@@ -1,3287 +0,0 @@
-/* CPU data for sh.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
-
-This file is part of the GNU Binutils and/or GDB, the GNU debugger.
-
-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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#include "sysdep.h"
-#include <ctype.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"
-
-/* Attributes. */
-
-static const CGEN_ATTR_ENTRY bool_attr[] =
-{
- { "#f", 0 },
- { "#t", 1 },
- { 0, 0 }
-};
-
-static const CGEN_ATTR_ENTRY MACH_attr[] =
-{
- { "base", MACH_BASE },
- { "sh2", MACH_SH2 },
- { "sh3", MACH_SH3 },
- { "sh3e", MACH_SH3E },
- { "sh4", MACH_SH4 },
- { "sh5", MACH_SH5 },
- { "max", MACH_MAX },
- { 0, 0 }
-};
-
-static const CGEN_ATTR_ENTRY ISA_attr[] =
-{
- { "compact", ISA_COMPACT },
- { "media", ISA_MEDIA },
- { "max", ISA_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] },
- { "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] },
- { "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] },
- { "RELAX", &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] },
- { 0, 0, 0 }
-};
-
-/* Instruction set variants. */
-
-static const CGEN_ISA sh_cgen_isa_table[] = {
- { "media", 32, 32, 32, 32 },
- { "compact", 16, 16, 16, 16 },
- { 0, 0, 0, 0, 0 }
-};
-
-/* Machine variants. */
-
-static const CGEN_MACH sh_cgen_mach_table[] = {
- { "sh2", "sh2", MACH_SH2 },
- { "sh3", "sh3", MACH_SH3 },
- { "sh3e", "sh3e", MACH_SH3E },
- { "sh4", "sh4", MACH_SH4 },
- { "sh5", "sh5", MACH_SH5 },
- { 0, 0, 0 }
-};
-
-static CGEN_KEYWORD_ENTRY sh_cgen_opval_frc_names_entries[] =
-{
- { "fr0", 0, {0, {0}}, 0, 0 },
- { "fr1", 1, {0, {0}}, 0, 0 },
- { "fr2", 2, {0, {0}}, 0, 0 },
- { "fr3", 3, {0, {0}}, 0, 0 },
- { "fr4", 4, {0, {0}}, 0, 0 },
- { "fr5", 5, {0, {0}}, 0, 0 },
- { "fr6", 6, {0, {0}}, 0, 0 },
- { "fr7", 7, {0, {0}}, 0, 0 },
- { "fr8", 8, {0, {0}}, 0, 0 },
- { "fr9", 9, {0, {0}}, 0, 0 },
- { "fr10", 10, {0, {0}}, 0, 0 },
- { "fr11", 11, {0, {0}}, 0, 0 },
- { "fr12", 12, {0, {0}}, 0, 0 },
- { "fr13", 13, {0, {0}}, 0, 0 },
- { "fr14", 14, {0, {0}}, 0, 0 },
- { "fr15", 15, {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 },
- { "dr2", 2, {0, {0}}, 0, 0 },
- { "dr4", 4, {0, {0}}, 0, 0 },
- { "dr6", 6, {0, {0}}, 0, 0 },
- { "dr8", 8, {0, {0}}, 0, 0 },
- { "dr10", 10, {0, {0}}, 0, 0 },
- { "dr12", 12, {0, {0}}, 0, 0 },
- { "dr14", 14, {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 },
- { "xf1", 1, {0, {0}}, 0, 0 },
- { "xf2", 2, {0, {0}}, 0, 0 },
- { "xf3", 3, {0, {0}}, 0, 0 },
- { "xf4", 4, {0, {0}}, 0, 0 },
- { "xf5", 5, {0, {0}}, 0, 0 },
- { "xf6", 6, {0, {0}}, 0, 0 },
- { "xf7", 7, {0, {0}}, 0, 0 },
- { "xf8", 8, {0, {0}}, 0, 0 },
- { "xf9", 9, {0, {0}}, 0, 0 },
- { "xf10", 10, {0, {0}}, 0, 0 },
- { "xf11", 11, {0, {0}}, 0, 0 },
- { "xf12", 12, {0, {0}}, 0, 0 },
- { "xf13", 13, {0, {0}}, 0, 0 },
- { "xf14", 14, {0, {0}}, 0, 0 },
- { "xf15", 15, {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 },
- { "r1", 1, {0, {0}}, 0, 0 },
- { "r2", 2, {0, {0}}, 0, 0 },
- { "r3", 3, {0, {0}}, 0, 0 },
- { "r4", 4, {0, {0}}, 0, 0 },
- { "r5", 5, {0, {0}}, 0, 0 },
- { "r6", 6, {0, {0}}, 0, 0 },
- { "r7", 7, {0, {0}}, 0, 0 },
- { "r8", 8, {0, {0}}, 0, 0 },
- { "r9", 9, {0, {0}}, 0, 0 },
- { "r10", 10, {0, {0}}, 0, 0 },
- { "r11", 11, {0, {0}}, 0, 0 },
- { "r12", 12, {0, {0}}, 0, 0 },
- { "r13", 13, {0, {0}}, 0, 0 },
- { "r14", 14, {0, {0}}, 0, 0 },
- { "r15", 15, {0, {0}}, 0, 0 },
- { "r16", 16, {0, {0}}, 0, 0 },
- { "r17", 17, {0, {0}}, 0, 0 },
- { "r18", 18, {0, {0}}, 0, 0 },
- { "r19", 19, {0, {0}}, 0, 0 },
- { "r20", 20, {0, {0}}, 0, 0 },
- { "r21", 21, {0, {0}}, 0, 0 },
- { "r22", 22, {0, {0}}, 0, 0 },
- { "r23", 23, {0, {0}}, 0, 0 },
- { "r24", 24, {0, {0}}, 0, 0 },
- { "r25", 25, {0, {0}}, 0, 0 },
- { "r26", 26, {0, {0}}, 0, 0 },
- { "r27", 27, {0, {0}}, 0, 0 },
- { "r28", 28, {0, {0}}, 0, 0 },
- { "r29", 29, {0, {0}}, 0, 0 },
- { "r30", 30, {0, {0}}, 0, 0 },
- { "r31", 31, {0, {0}}, 0, 0 },
- { "r32", 32, {0, {0}}, 0, 0 },
- { "r33", 33, {0, {0}}, 0, 0 },
- { "r34", 34, {0, {0}}, 0, 0 },
- { "r35", 35, {0, {0}}, 0, 0 },
- { "r36", 36, {0, {0}}, 0, 0 },
- { "r37", 37, {0, {0}}, 0, 0 },
- { "r38", 38, {0, {0}}, 0, 0 },
- { "r39", 39, {0, {0}}, 0, 0 },
- { "r40", 40, {0, {0}}, 0, 0 },
- { "r41", 41, {0, {0}}, 0, 0 },
- { "r42", 42, {0, {0}}, 0, 0 },
- { "r43", 43, {0, {0}}, 0, 0 },
- { "r44", 44, {0, {0}}, 0, 0 },
- { "r45", 45, {0, {0}}, 0, 0 },
- { "r46", 46, {0, {0}}, 0, 0 },
- { "r47", 47, {0, {0}}, 0, 0 },
- { "r48", 48, {0, {0}}, 0, 0 },
- { "r49", 49, {0, {0}}, 0, 0 },
- { "r50", 50, {0, {0}}, 0, 0 },
- { "r51", 51, {0, {0}}, 0, 0 },
- { "r52", 52, {0, {0}}, 0, 0 },
- { "r53", 53, {0, {0}}, 0, 0 },
- { "r54", 54, {0, {0}}, 0, 0 },
- { "r55", 55, {0, {0}}, 0, 0 },
- { "r56", 56, {0, {0}}, 0, 0 },
- { "r57", 57, {0, {0}}, 0, 0 },
- { "r58", 58, {0, {0}}, 0, 0 },
- { "r59", 59, {0, {0}}, 0, 0 },
- { "r60", 60, {0, {0}}, 0, 0 },
- { "r61", 61, {0, {0}}, 0, 0 },
- { "r62", 62, {0, {0}}, 0, 0 },
- { "r63", 63, {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 },
- { "r1", 1, {0, {0}}, 0, 0 },
- { "r2", 2, {0, {0}}, 0, 0 },
- { "r3", 3, {0, {0}}, 0, 0 },
- { "r4", 4, {0, {0}}, 0, 0 },
- { "r5", 5, {0, {0}}, 0, 0 },
- { "r6", 6, {0, {0}}, 0, 0 },
- { "r7", 7, {0, {0}}, 0, 0 },
- { "r8", 8, {0, {0}}, 0, 0 },
- { "r9", 9, {0, {0}}, 0, 0 },
- { "r10", 10, {0, {0}}, 0, 0 },
- { "r11", 11, {0, {0}}, 0, 0 },
- { "r12", 12, {0, {0}}, 0, 0 },
- { "r13", 13, {0, {0}}, 0, 0 },
- { "r14", 14, {0, {0}}, 0, 0 },
- { "r15", 15, {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 },
- { "cr1", 1, {0, {0}}, 0, 0 },
- { "cr2", 2, {0, {0}}, 0, 0 },
- { "cr3", 3, {0, {0}}, 0, 0 },
- { "cr4", 4, {0, {0}}, 0, 0 },
- { "cr5", 5, {0, {0}}, 0, 0 },
- { "cr6", 6, {0, {0}}, 0, 0 },
- { "cr7", 7, {0, {0}}, 0, 0 },
- { "cr8", 8, {0, {0}}, 0, 0 },
- { "cr9", 9, {0, {0}}, 0, 0 },
- { "cr10", 10, {0, {0}}, 0, 0 },
- { "cr11", 11, {0, {0}}, 0, 0 },
- { "cr12", 12, {0, {0}}, 0, 0 },
- { "cr13", 13, {0, {0}}, 0, 0 },
- { "cr14", 14, {0, {0}}, 0, 0 },
- { "cr15", 15, {0, {0}}, 0, 0 },
- { "cr16", 16, {0, {0}}, 0, 0 },
- { "cr17", 17, {0, {0}}, 0, 0 },
- { "cr18", 18, {0, {0}}, 0, 0 },
- { "cr19", 19, {0, {0}}, 0, 0 },
- { "cr20", 20, {0, {0}}, 0, 0 },
- { "cr21", 21, {0, {0}}, 0, 0 },
- { "cr22", 22, {0, {0}}, 0, 0 },
- { "cr23", 23, {0, {0}}, 0, 0 },
- { "cr24", 24, {0, {0}}, 0, 0 },
- { "cr25", 25, {0, {0}}, 0, 0 },
- { "cr26", 26, {0, {0}}, 0, 0 },
- { "cr27", 27, {0, {0}}, 0, 0 },
- { "cr28", 28, {0, {0}}, 0, 0 },
- { "cr29", 29, {0, {0}}, 0, 0 },
- { "cr30", 30, {0, {0}}, 0, 0 },
- { "cr31", 31, {0, {0}}, 0, 0 },
- { "cr32", 32, {0, {0}}, 0, 0 },
- { "cr33", 33, {0, {0}}, 0, 0 },
- { "cr34", 34, {0, {0}}, 0, 0 },
- { "cr35", 35, {0, {0}}, 0, 0 },
- { "cr36", 36, {0, {0}}, 0, 0 },
- { "cr37", 37, {0, {0}}, 0, 0 },
- { "cr38", 38, {0, {0}}, 0, 0 },
- { "cr39", 39, {0, {0}}, 0, 0 },
- { "cr40", 40, {0, {0}}, 0, 0 },
- { "cr41", 41, {0, {0}}, 0, 0 },
- { "cr42", 42, {0, {0}}, 0, 0 },
- { "cr43", 43, {0, {0}}, 0, 0 },
- { "cr44", 44, {0, {0}}, 0, 0 },
- { "cr45", 45, {0, {0}}, 0, 0 },
- { "cr46", 46, {0, {0}}, 0, 0 },
- { "cr47", 47, {0, {0}}, 0, 0 },
- { "cr48", 48, {0, {0}}, 0, 0 },
- { "cr49", 49, {0, {0}}, 0, 0 },
- { "cr50", 50, {0, {0}}, 0, 0 },
- { "cr51", 51, {0, {0}}, 0, 0 },
- { "cr52", 52, {0, {0}}, 0, 0 },
- { "cr53", 53, {0, {0}}, 0, 0 },
- { "cr54", 54, {0, {0}}, 0, 0 },
- { "cr55", 55, {0, {0}}, 0, 0 },
- { "cr56", 56, {0, {0}}, 0, 0 },
- { "cr57", 57, {0, {0}}, 0, 0 },
- { "cr58", 58, {0, {0}}, 0, 0 },
- { "cr59", 59, {0, {0}}, 0, 0 },
- { "cr60", 60, {0, {0}}, 0, 0 },
- { "cr61", 61, {0, {0}}, 0, 0 },
- { "cr62", 62, {0, {0}}, 0, 0 },
- { "cr63", 63, {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 },
- { "fr1", 1, {0, {0}}, 0, 0 },
- { "fr2", 2, {0, {0}}, 0, 0 },
- { "fr3", 3, {0, {0}}, 0, 0 },
- { "fr4", 4, {0, {0}}, 0, 0 },
- { "fr5", 5, {0, {0}}, 0, 0 },
- { "fr6", 6, {0, {0}}, 0, 0 },
- { "fr7", 7, {0, {0}}, 0, 0 },
- { "fr8", 8, {0, {0}}, 0, 0 },
- { "fr9", 9, {0, {0}}, 0, 0 },
- { "fr10", 10, {0, {0}}, 0, 0 },
- { "fr11", 11, {0, {0}}, 0, 0 },
- { "fr12", 12, {0, {0}}, 0, 0 },
- { "fr13", 13, {0, {0}}, 0, 0 },
- { "fr14", 14, {0, {0}}, 0, 0 },
- { "fr15", 15, {0, {0}}, 0, 0 },
- { "fr16", 16, {0, {0}}, 0, 0 },
- { "fr17", 17, {0, {0}}, 0, 0 },
- { "fr18", 18, {0, {0}}, 0, 0 },
- { "fr19", 19, {0, {0}}, 0, 0 },
- { "fr20", 20, {0, {0}}, 0, 0 },
- { "fr21", 21, {0, {0}}, 0, 0 },
- { "fr22", 22, {0, {0}}, 0, 0 },
- { "fr23", 23, {0, {0}}, 0, 0 },
- { "fr24", 24, {0, {0}}, 0, 0 },
- { "fr25", 25, {0, {0}}, 0, 0 },
- { "fr26", 26, {0, {0}}, 0, 0 },
- { "fr27", 27, {0, {0}}, 0, 0 },
- { "fr28", 28, {0, {0}}, 0, 0 },
- { "fr29", 29, {0, {0}}, 0, 0 },
- { "fr30", 30, {0, {0}}, 0, 0 },
- { "fr31", 31, {0, {0}}, 0, 0 },
- { "fr32", 32, {0, {0}}, 0, 0 },
- { "fr33", 33, {0, {0}}, 0, 0 },
- { "fr34", 34, {0, {0}}, 0, 0 },
- { "fr35", 35, {0, {0}}, 0, 0 },
- { "fr36", 36, {0, {0}}, 0, 0 },
- { "fr37", 37, {0, {0}}, 0, 0 },
- { "fr38", 38, {0, {0}}, 0, 0 },
- { "fr39", 39, {0, {0}}, 0, 0 },
- { "fr40", 40, {0, {0}}, 0, 0 },
- { "fr41", 41, {0, {0}}, 0, 0 },
- { "fr42", 42, {0, {0}}, 0, 0 },
- { "fr43", 43, {0, {0}}, 0, 0 },
- { "fr44", 44, {0, {0}}, 0, 0 },
- { "fr45", 45, {0, {0}}, 0, 0 },
- { "fr46", 46, {0, {0}}, 0, 0 },
- { "fr47", 47, {0, {0}}, 0, 0 },
- { "fr48", 48, {0, {0}}, 0, 0 },
- { "fr49", 49, {0, {0}}, 0, 0 },
- { "fr50", 50, {0, {0}}, 0, 0 },
- { "fr51", 51, {0, {0}}, 0, 0 },
- { "fr52", 52, {0, {0}}, 0, 0 },
- { "fr53", 53, {0, {0}}, 0, 0 },
- { "fr54", 54, {0, {0}}, 0, 0 },
- { "fr55", 55, {0, {0}}, 0, 0 },
- { "fr56", 56, {0, {0}}, 0, 0 },
- { "fr57", 57, {0, {0}}, 0, 0 },
- { "fr58", 58, {0, {0}}, 0, 0 },
- { "fr59", 59, {0, {0}}, 0, 0 },
- { "fr60", 60, {0, {0}}, 0, 0 },
- { "fr61", 61, {0, {0}}, 0, 0 },
- { "fr62", 62, {0, {0}}, 0, 0 },
- { "fr63", 63, {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 },
- { "fp1", 1, {0, {0}}, 0, 0 },
- { "fp2", 2, {0, {0}}, 0, 0 },
- { "fp3", 3, {0, {0}}, 0, 0 },
- { "fp4", 4, {0, {0}}, 0, 0 },
- { "fp5", 5, {0, {0}}, 0, 0 },
- { "fp6", 6, {0, {0}}, 0, 0 },
- { "fp7", 7, {0, {0}}, 0, 0 },
- { "fp8", 8, {0, {0}}, 0, 0 },
- { "fp9", 9, {0, {0}}, 0, 0 },
- { "fp10", 10, {0, {0}}, 0, 0 },
- { "fp11", 11, {0, {0}}, 0, 0 },
- { "fp12", 12, {0, {0}}, 0, 0 },
- { "fp13", 13, {0, {0}}, 0, 0 },
- { "fp14", 14, {0, {0}}, 0, 0 },
- { "fp15", 15, {0, {0}}, 0, 0 },
- { "fp16", 16, {0, {0}}, 0, 0 },
- { "fp17", 17, {0, {0}}, 0, 0 },
- { "fp18", 18, {0, {0}}, 0, 0 },
- { "fp19", 19, {0, {0}}, 0, 0 },
- { "fp20", 20, {0, {0}}, 0, 0 },
- { "fp21", 21, {0, {0}}, 0, 0 },
- { "fp22", 22, {0, {0}}, 0, 0 },
- { "fp23", 23, {0, {0}}, 0, 0 },
- { "fp24", 24, {0, {0}}, 0, 0 },
- { "fp25", 25, {0, {0}}, 0, 0 },
- { "fp26", 26, {0, {0}}, 0, 0 },
- { "fp27", 27, {0, {0}}, 0, 0 },
- { "fp28", 28, {0, {0}}, 0, 0 },
- { "fp29", 29, {0, {0}}, 0, 0 },
- { "fp30", 30, {0, {0}}, 0, 0 },
- { "fp31", 31, {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 },
- { "fv1", 1, {0, {0}}, 0, 0 },
- { "fv2", 2, {0, {0}}, 0, 0 },
- { "fv3", 3, {0, {0}}, 0, 0 },
- { "fv4", 4, {0, {0}}, 0, 0 },
- { "fv5", 5, {0, {0}}, 0, 0 },
- { "fv6", 6, {0, {0}}, 0, 0 },
- { "fv7", 7, {0, {0}}, 0, 0 },
- { "fv8", 8, {0, {0}}, 0, 0 },
- { "fv9", 9, {0, {0}}, 0, 0 },
- { "fv10", 10, {0, {0}}, 0, 0 },
- { "fv11", 11, {0, {0}}, 0, 0 },
- { "fv12", 12, {0, {0}}, 0, 0 },
- { "fv13", 13, {0, {0}}, 0, 0 },
- { "fv14", 14, {0, {0}}, 0, 0 },
- { "fv15", 15, {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 },
- { "mtrx1", 1, {0, {0}}, 0, 0 },
- { "mtrx2", 2, {0, {0}}, 0, 0 },
- { "mtrx3", 3, {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 },
- { "dr1", 1, {0, {0}}, 0, 0 },
- { "dr2", 2, {0, {0}}, 0, 0 },
- { "dr3", 3, {0, {0}}, 0, 0 },
- { "dr4", 4, {0, {0}}, 0, 0 },
- { "dr5", 5, {0, {0}}, 0, 0 },
- { "dr6", 6, {0, {0}}, 0, 0 },
- { "dr7", 7, {0, {0}}, 0, 0 },
- { "dr8", 8, {0, {0}}, 0, 0 },
- { "dr9", 9, {0, {0}}, 0, 0 },
- { "dr10", 10, {0, {0}}, 0, 0 },
- { "dr11", 11, {0, {0}}, 0, 0 },
- { "dr12", 12, {0, {0}}, 0, 0 },
- { "dr13", 13, {0, {0}}, 0, 0 },
- { "dr14", 14, {0, {0}}, 0, 0 },
- { "dr15", 15, {0, {0}}, 0, 0 },
- { "dr16", 16, {0, {0}}, 0, 0 },
- { "dr17", 17, {0, {0}}, 0, 0 },
- { "dr18", 18, {0, {0}}, 0, 0 },
- { "dr19", 19, {0, {0}}, 0, 0 },
- { "dr20", 20, {0, {0}}, 0, 0 },
- { "dr21", 21, {0, {0}}, 0, 0 },
- { "dr22", 22, {0, {0}}, 0, 0 },
- { "dr23", 23, {0, {0}}, 0, 0 },
- { "dr24", 24, {0, {0}}, 0, 0 },
- { "dr25", 25, {0, {0}}, 0, 0 },
- { "dr26", 26, {0, {0}}, 0, 0 },
- { "dr27", 27, {0, {0}}, 0, 0 },
- { "dr28", 28, {0, {0}}, 0, 0 },
- { "dr29", 29, {0, {0}}, 0, 0 },
- { "dr30", 30, {0, {0}}, 0, 0 },
- { "dr31", 31, {0, {0}}, 0, 0 },
- { "dr32", 32, {0, {0}}, 0, 0 },
- { "dr33", 33, {0, {0}}, 0, 0 },
- { "dr34", 34, {0, {0}}, 0, 0 },
- { "dr35", 35, {0, {0}}, 0, 0 },
- { "dr36", 36, {0, {0}}, 0, 0 },
- { "dr37", 37, {0, {0}}, 0, 0 },
- { "dr38", 38, {0, {0}}, 0, 0 },
- { "dr39", 39, {0, {0}}, 0, 0 },
- { "dr40", 40, {0, {0}}, 0, 0 },
- { "dr41", 41, {0, {0}}, 0, 0 },
- { "dr42", 42, {0, {0}}, 0, 0 },
- { "dr43", 43, {0, {0}}, 0, 0 },
- { "dr44", 44, {0, {0}}, 0, 0 },
- { "dr45", 45, {0, {0}}, 0, 0 },
- { "dr46", 46, {0, {0}}, 0, 0 },
- { "dr47", 47, {0, {0}}, 0, 0 },
- { "dr48", 48, {0, {0}}, 0, 0 },
- { "dr49", 49, {0, {0}}, 0, 0 },
- { "dr50", 50, {0, {0}}, 0, 0 },
- { "dr51", 51, {0, {0}}, 0, 0 },
- { "dr52", 52, {0, {0}}, 0, 0 },
- { "dr53", 53, {0, {0}}, 0, 0 },
- { "dr54", 54, {0, {0}}, 0, 0 },
- { "dr55", 55, {0, {0}}, 0, 0 },
- { "dr56", 56, {0, {0}}, 0, 0 },
- { "dr57", 57, {0, {0}}, 0, 0 },
- { "dr58", 58, {0, {0}}, 0, 0 },
- { "dr59", 59, {0, {0}}, 0, 0 },
- { "dr60", 60, {0, {0}}, 0, 0 },
- { "dr61", 61, {0, {0}}, 0, 0 },
- { "dr62", 62, {0, {0}}, 0, 0 },
- { "dr63", 63, {0, {0}}, 0, 0 }
-};
-
-CGEN_KEYWORD sh_cgen_opval_h_dr =
-{
- & sh_cgen_opval_h_dr_entries[0],
- 64,
- 0, 0, 0, 0
-};
-
-static CGEN_KEYWORD_ENTRY sh_cgen_opval_h_tr_entries[] =
-{
- { "tr0", 0, {0, {0}}, 0, 0 },
- { "tr1", 1, {0, {0}}, 0, 0 },
- { "tr2", 2, {0, {0}}, 0, 0 },
- { "tr3", 3, {0, {0}}, 0, 0 },
- { "tr4", 4, {0, {0}}, 0, 0 },
- { "tr5", 5, {0, {0}}, 0, 0 },
- { "tr6", 6, {0, {0}}, 0, 0 },
- { "tr7", 7, {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 },
- { "fv4", 4, {0, {0}}, 0, 0 },
- { "fv8", 8, {0, {0}}, 0, 0 },
- { "fv12", 12, {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. */
-
-#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
-#define A(a) (1 << CGEN_HW_##a)
-#else
-#define A(a) (1 << CGEN_HW_/**/a)
-#endif
-
-const CGEN_HW_ENTRY sh_cgen_hw_table[] =
-{
- { "h-memory", HW_H_MEMORY, CGEN_ASM_NONE, 0, { 0, { (1<<MACH_BASE) } } },
- { "h-sint", HW_H_SINT, CGEN_ASM_NONE, 0, { 0, { (1<<MACH_BASE) } } },
- { "h-uint", HW_H_UINT, CGEN_ASM_NONE, 0, { 0, { (1<<MACH_BASE) } } },
- { "h-addr", HW_H_ADDR, CGEN_ASM_NONE, 0, { 0, { (1<<MACH_BASE) } } },
- { "h-iaddr", HW_H_IADDR, CGEN_ASM_NONE, 0, { 0, { (1<<MACH_BASE) } } },
- { "h-pc", HW_H_PC, CGEN_ASM_NONE, 0, { 0|A(PC), { (1<<MACH_BASE) } } },
- { "h-gr", HW_H_GR, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_gr, { 0, { (1<<MACH_BASE) } } },
- { "h-grc", HW_H_GRC, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_grc, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-cr", HW_H_CR, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_cr, { 0, { (1<<MACH_BASE) } } },
- { "h-sr", HW_H_SR, CGEN_ASM_NONE, 0, { 0, { (1<<MACH_BASE) } } },
- { "h-fpscr", HW_H_FPSCR, CGEN_ASM_NONE, 0, { 0, { (1<<MACH_BASE) } } },
- { "h-frbit", HW_H_FRBIT, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-szbit", HW_H_SZBIT, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-prbit", HW_H_PRBIT, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-sbit", HW_H_SBIT, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-mbit", HW_H_MBIT, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-qbit", HW_H_QBIT, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-fr", HW_H_FR, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_fr, { 0, { (1<<MACH_BASE) } } },
- { "h-fp", HW_H_FP, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_fp, { 0, { (1<<MACH_BASE) } } },
- { "h-fv", HW_H_FV, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_fv, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-fmtx", HW_H_FMTX, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_fmtx, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-dr", HW_H_DR, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_dr, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-tr", HW_H_TR, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_tr, { 0, { (1<<MACH_BASE) } } },
- { "h-endian", HW_H_ENDIAN, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-ism", HW_H_ISM, CGEN_ASM_NONE, 0, { 0, { (1<<MACH_BASE) } } },
- { "h-frc", HW_H_FRC, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_frc_names, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-drc", HW_H_DRC, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_drc_names, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-xf", HW_H_XF, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_xf_names, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-xd", HW_H_XD, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_frc_names, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-fvc", HW_H_FVC, CGEN_ASM_KEYWORD, (PTR) & sh_cgen_opval_h_fvc, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-fpccr", HW_H_FPCCR, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-gbr", HW_H_GBR, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-pr", HW_H_PR, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-macl", HW_H_MACL, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-mach", HW_H_MACH, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { "h-tbit", HW_H_TBIT, CGEN_ASM_NONE, 0, { 0|A(VIRTUAL), { (1<<MACH_BASE) } } },
- { 0, 0, CGEN_ASM_NONE, 0, {0, {0}} }
-};
-
-#undef A
-
-
-/* The instruction field table. */
-
-#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
-#define A(a) (1 << CGEN_IFLD_##a)
-#else
-#define A(a) (1 << CGEN_IFLD_/**/a)
-#endif
-
-const CGEN_IFLD sh_cgen_ifld_table[] =
-{
- { SH_F_NIL, "f-nil", 0, 0, 0, 0, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_ANYOF, "f-anyof", 0, 0, 0, 0, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_OP4, "f-op4", 0, 16, 15, 4, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_OP8, "f-op8", 0, 16, 15, 8, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_OP16, "f-op16", 0, 16, 15, 16, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_SUB4, "f-sub4", 0, 16, 3, 4, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_SUB8, "f-sub8", 0, 16, 7, 8, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_SUB10, "f-sub10", 0, 16, 9, 10, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_RN, "f-rn", 0, 16, 11, 4, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_RM, "f-rm", 0, 16, 7, 4, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_8_1, "f-8-1", 0, 16, 8, 1, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_DISP8, "f-disp8", 0, 16, 7, 8, { 0|A(PCREL_ADDR), { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_DISP12, "f-disp12", 0, 16, 11, 12, { 0|A(PCREL_ADDR), { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_IMM8, "f-imm8", 0, 16, 7, 8, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_IMM4, "f-imm4", 0, 16, 3, 4, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_IMM4X2, "f-imm4x2", 0, 16, 3, 4, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_IMM4X4, "f-imm4x4", 0, 16, 3, 4, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_IMM8X2, "f-imm8x2", 0, 16, 7, 8, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_IMM8X4, "f-imm8x4", 0, 16, 7, 8, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_DN, "f-dn", 0, 16, 11, 3, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_DM, "f-dm", 0, 16, 7, 3, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_VN, "f-vn", 0, 16, 11, 2, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_VM, "f-vm", 0, 16, 9, 2, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_XN, "f-xn", 0, 16, 11, 3, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_XM, "f-xm", 0, 16, 7, 3, { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
- { SH_F_OP, "f-op", 0, 32, 31, 6, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_EXT, "f-ext", 0, 32, 19, 4, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_RSVD, "f-rsvd", 0, 32, 3, 4, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_LEFT, "f-left", 0, 32, 25, 6, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_RIGHT, "f-right", 0, 32, 15, 6, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_DEST, "f-dest", 0, 32, 9, 6, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_TRA, "f-tra", 0, 32, 6, 3, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_TRB, "f-trb", 0, 32, 22, 3, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_LIKELY, "f-likely", 0, 32, 9, 1, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_25, "f-25", 0, 32, 25, 3, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_8_2, "f-8-2", 0, 32, 8, 2, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_IMM6, "f-imm6", 0, 32, 15, 6, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_IMM10, "f-imm10", 0, 32, 19, 10, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_IMM16, "f-imm16", 0, 32, 25, 16, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_UIMM6, "f-uimm6", 0, 32, 15, 6, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_UIMM16, "f-uimm16", 0, 32, 25, 16, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_DISP6, "f-disp6", 0, 32, 15, 6, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_DISP6X32, "f-disp6x32", 0, 32, 15, 6, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_DISP10, "f-disp10", 0, 32, 19, 10, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_DISP10X8, "f-disp10x8", 0, 32, 19, 10, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_DISP10X4, "f-disp10x4", 0, 32, 19, 10, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_DISP10X2, "f-disp10x2", 0, 32, 19, 10, { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { SH_F_DISP16, "f-disp16", 0, 32, 25, 16, { 0|A(PCREL_ADDR), { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { 0, 0, 0, 0, 0, 0, {0, {0}} }
-};
-
-#undef A
-
-
-/* The operand table. */
-
-#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
-#define A(a) (1 << CGEN_OPERAND_##a)
-#else
-#define A(a) (1 << CGEN_OPERAND_/**/a)
-#endif
-#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
-#define OPERAND(op) SH_OPERAND_##op
-#else
-#define OPERAND(op) SH_OPERAND_/**/op
-#endif
-
-const CGEN_OPERAND sh_cgen_operand_table[] =
-{
-/* pc: program counter */
- { "pc", SH_OPERAND_PC, HW_H_PC, 0, 0,
- { 0|A(SEM_ONLY), { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* endian: Endian mode */
- { "endian", SH_OPERAND_ENDIAN, HW_H_ENDIAN, 0, 0,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT)|(1<<ISA_MEDIA) } } },
-/* ism: Instruction set mode */
- { "ism", SH_OPERAND_ISM, HW_H_ISM, 0, 0,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT)|(1<<ISA_MEDIA) } } },
-/* rm: Left general purpose register */
- { "rm", SH_OPERAND_RM, HW_H_GRC, 7, 4,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* rn: Right general purpose register */
- { "rn", SH_OPERAND_RN, HW_H_GRC, 11, 4,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* r0: Register 0 */
- { "r0", SH_OPERAND_R0, HW_H_GRC, 0, 0,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* frn: Single precision register */
- { "frn", SH_OPERAND_FRN, HW_H_FRC, 11, 4,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* frm: Single precision register */
- { "frm", SH_OPERAND_FRM, HW_H_FRC, 7, 4,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* fvn: Left floating point vector */
- { "fvn", SH_OPERAND_FVN, HW_H_FVC, 11, 2,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* fvm: Right floating point vector */
- { "fvm", SH_OPERAND_FVM, HW_H_FVC, 9, 2,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* drn: Left double precision register */
- { "drn", SH_OPERAND_DRN, HW_H_DRC, 11, 3,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* drm: Right double precision register */
- { "drm", SH_OPERAND_DRM, HW_H_DRC, 7, 3,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* imm4: Immediate value (4 bits) */
- { "imm4", SH_OPERAND_IMM4, HW_H_SINT, 3, 4,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* imm8: Immediate value (8 bits) */
- { "imm8", SH_OPERAND_IMM8, HW_H_SINT, 7, 8,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* uimm8: Immediate value (8 bits unsigned) */
- { "uimm8", SH_OPERAND_UIMM8, HW_H_UINT, 7, 8,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* imm4x2: Immediate value (4 bits, 2x scale) */
- { "imm4x2", SH_OPERAND_IMM4X2, HW_H_UINT, 3, 4,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* imm4x4: Immediate value (4 bits, 4x scale) */
- { "imm4x4", SH_OPERAND_IMM4X4, HW_H_UINT, 3, 4,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* imm8x2: Immediate value (8 bits, 2x scale) */
- { "imm8x2", SH_OPERAND_IMM8X2, HW_H_UINT, 7, 8,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* imm8x4: Immediate value (8 bits, 4x scale) */
- { "imm8x4", SH_OPERAND_IMM8X4, HW_H_UINT, 7, 8,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* disp8: Displacement (8 bits) */
- { "disp8", SH_OPERAND_DISP8, HW_H_IADDR, 7, 8,
- { 0|A(PCREL_ADDR), { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* disp12: Displacement (12 bits) */
- { "disp12", SH_OPERAND_DISP12, HW_H_IADDR, 11, 12,
- { 0|A(PCREL_ADDR), { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* rm64: Register m (64 bits) */
- { "rm64", SH_OPERAND_RM64, HW_H_GR, 7, 4,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* rn64: Register n (64 bits) */
- { "rn64", SH_OPERAND_RN64, HW_H_GR, 11, 4,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* gbr: Global base register */
- { "gbr", SH_OPERAND_GBR, HW_H_GBR, 0, 0,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* pr: Procedure link register */
- { "pr", SH_OPERAND_PR, HW_H_PR, 0, 0,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* fpscr: Floating point status/control register */
- { "fpscr", SH_OPERAND_FPSCR, HW_H_FPCCR, 0, 0,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* tbit: Condition code flag */
- { "tbit", SH_OPERAND_TBIT, HW_H_TBIT, 0, 0,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* sbit: Multiply-accumulate saturation flag */
- { "sbit", SH_OPERAND_SBIT, HW_H_SBIT, 0, 0,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* mbit: Divide-step M flag */
- { "mbit", SH_OPERAND_MBIT, HW_H_MBIT, 0, 0,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* qbit: Divide-step Q flag */
- { "qbit", SH_OPERAND_QBIT, HW_H_QBIT, 0, 0,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* fpul: Floating point ??? */
- { "fpul", SH_OPERAND_FPUL, HW_H_FR, 0, 0,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* frbit: Floating point register bank bit */
- { "frbit", SH_OPERAND_FRBIT, HW_H_FRBIT, 0, 0,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* szbit: Floating point transfer size bit */
- { "szbit", SH_OPERAND_SZBIT, HW_H_SZBIT, 0, 0,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* prbit: Floating point precision bit */
- { "prbit", SH_OPERAND_PRBIT, HW_H_PRBIT, 0, 0,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* macl: Multiply-accumulate low register */
- { "macl", SH_OPERAND_MACL, HW_H_MACL, 0, 0,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* mach: Multiply-accumulate high register */
- { "mach", SH_OPERAND_MACH, HW_H_MACH, 0, 0,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* fsdm: bar */
- { "fsdm", SH_OPERAND_FSDM, HW_H_FRC, 7, 4,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* fsdn: bar */
- { "fsdn", SH_OPERAND_FSDN, HW_H_FRC, 11, 4,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } } },
-/* rm: Left general purpose reg */
- { "rm", SH_OPERAND_RM, HW_H_GR, 25, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* rn: Right general purpose reg */
- { "rn", SH_OPERAND_RN, HW_H_GR, 15, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* rd: Destination general purpose reg */
- { "rd", SH_OPERAND_RD, HW_H_GR, 9, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* frg: Left single precision register */
- { "frg", SH_OPERAND_FRG, HW_H_FR, 25, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* frh: Right single precision register */
- { "frh", SH_OPERAND_FRH, HW_H_FR, 15, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* frf: Destination single precision reg */
- { "frf", SH_OPERAND_FRF, HW_H_FR, 9, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* frgh: Single precision register pair */
- { "frgh", SH_OPERAND_FRGH, HW_H_FR, 15, 12,
- { 0|A(VIRTUAL), { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* fpf: Pair of single precision registers */
- { "fpf", SH_OPERAND_FPF, HW_H_FP, 9, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* fvg: Left single precision vector */
- { "fvg", SH_OPERAND_FVG, HW_H_FV, 25, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* fvh: Right single precision vector */
- { "fvh", SH_OPERAND_FVH, HW_H_FV, 15, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* fvf: Destination single precision vector */
- { "fvf", SH_OPERAND_FVF, HW_H_FV, 9, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* mtrxg: Left single precision matrix */
- { "mtrxg", SH_OPERAND_MTRXG, HW_H_FMTX, 25, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* drg: Left double precision register */
- { "drg", SH_OPERAND_DRG, HW_H_DR, 25, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* drh: Right double precision register */
- { "drh", SH_OPERAND_DRH, HW_H_DR, 15, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* drf: Destination double precision reg */
- { "drf", SH_OPERAND_DRF, HW_H_DR, 9, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* drgh: Double precision register pair */
- { "drgh", SH_OPERAND_DRGH, HW_H_DR, 15, 12,
- { 0|A(VIRTUAL), { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* fpscr: Floating point status register */
- { "fpscr", SH_OPERAND_FPSCR, HW_H_FPSCR, 0, 0,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* crj: Control register j */
- { "crj", SH_OPERAND_CRJ, HW_H_CR, 9, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* crk: Control register k */
- { "crk", SH_OPERAND_CRK, HW_H_CR, 25, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* tra: Target register a */
- { "tra", SH_OPERAND_TRA, HW_H_TR, 6, 3,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* trb: Target register b */
- { "trb", SH_OPERAND_TRB, HW_H_TR, 22, 3,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* disp6: Displacement (6 bits) */
- { "disp6", SH_OPERAND_DISP6, HW_H_SINT, 15, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* disp6x32: Displacement (6 bits, scale 32) */
- { "disp6x32", SH_OPERAND_DISP6X32, HW_H_SINT, 15, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* disp10: Displacement (10 bits) */
- { "disp10", SH_OPERAND_DISP10, HW_H_SINT, 19, 10,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* disp10x2: Displacement (10 bits, scale 2) */
- { "disp10x2", SH_OPERAND_DISP10X2, HW_H_SINT, 19, 10,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* disp10x4: Displacement (10 bits, scale 4) */
- { "disp10x4", SH_OPERAND_DISP10X4, HW_H_SINT, 19, 10,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* disp10x8: Displacement (10 bits, scale 8) */
- { "disp10x8", SH_OPERAND_DISP10X8, HW_H_SINT, 19, 10,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* disp16: Displacement (16 bits) */
- { "disp16", SH_OPERAND_DISP16, HW_H_SINT, 25, 16,
- { 0|A(PCREL_ADDR), { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* imm6: Immediate (6 bits) */
- { "imm6", SH_OPERAND_IMM6, HW_H_SINT, 15, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* imm10: Immediate (10 bits) */
- { "imm10", SH_OPERAND_IMM10, HW_H_SINT, 19, 10,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* imm16: Immediate (16 bits) */
- { "imm16", SH_OPERAND_IMM16, HW_H_SINT, 25, 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* uimm6: Immediate (6 bits) */
- { "uimm6", SH_OPERAND_UIMM6, HW_H_UINT, 15, 6,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* uimm16: Unsigned immediate (16 bits) */
- { "uimm16", SH_OPERAND_UIMM16, HW_H_UINT, 25, 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
-/* likely: Likely branch? */
- { "likely", SH_OPERAND_LIKELY, HW_H_UINT, 9, 1,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } } },
- { 0, 0, 0, 0, 0, {0, {0}} }
-};
-
-#undef A
-
-
-/* The instruction table. */
-
-#define OP(field) CGEN_SYNTAX_MAKE_FIELD (OPERAND (field))
-#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
-#define A(a) (1 << CGEN_INSN_##a)
-#else
-#define A(a) (1 << CGEN_INSN_/**/a)
-#endif
-
-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, {0}} },
-/* add $rm, $rn */
- {
- SH_INSN_ADD_COMPACT, "add-compact", "add", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* add #$imm8, $rn */
- {
- SH_INSN_ADDI_COMPACT, "addi-compact", "add", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* addc $rm, $rn */
- {
- SH_INSN_ADDC_COMPACT, "addc-compact", "addc", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* addv $rm, $rn */
- {
- SH_INSN_ADDV_COMPACT, "addv-compact", "addv", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* and $rm64, $rn64 */
- {
- SH_INSN_AND_COMPACT, "and-compact", "and", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* and #$uimm8, r0 */
- {
- SH_INSN_ANDI_COMPACT, "andi-compact", "and", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* and.b #$imm8, @(r0, gbr) */
- {
- SH_INSN_ANDB_COMPACT, "andb-compact", "and.b", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* bf $disp8 */
- {
- SH_INSN_BF_COMPACT, "bf-compact", "bf", 16,
- { 0|A(COND_CTI), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* bf/s $disp8 */
- {
- SH_INSN_BFS_COMPACT, "bfs-compact", "bf/s", 16,
- { 0|A(COND_CTI)|A(DELAY_SLOT), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* bra $disp12 */
- {
- SH_INSN_BRA_COMPACT, "bra-compact", "bra", 16,
- { 0|A(UNCOND_CTI)|A(DELAY_SLOT), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* braf $rn */
- {
- SH_INSN_BRAF_COMPACT, "braf-compact", "braf", 16,
- { 0|A(UNCOND_CTI)|A(DELAY_SLOT), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* brk */
- {
- SH_INSN_BRK_COMPACT, "brk-compact", "brk", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* bsr $disp12 */
- {
- SH_INSN_BSR_COMPACT, "bsr-compact", "bsr", 16,
- { 0|A(UNCOND_CTI)|A(DELAY_SLOT), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* bsrf $rn */
- {
- SH_INSN_BSRF_COMPACT, "bsrf-compact", "bsrf", 16,
- { 0|A(UNCOND_CTI)|A(DELAY_SLOT), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* bt $disp8 */
- {
- SH_INSN_BT_COMPACT, "bt-compact", "bt", 16,
- { 0|A(COND_CTI), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* bt/s $disp8 */
- {
- SH_INSN_BTS_COMPACT, "bts-compact", "bt/s", 16,
- { 0|A(COND_CTI)|A(DELAY_SLOT), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* clrmac */
- {
- SH_INSN_CLRMAC_COMPACT, "clrmac-compact", "clrmac", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* clrs */
- {
- SH_INSN_CLRS_COMPACT, "clrs-compact", "clrs", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* clrt */
- {
- SH_INSN_CLRT_COMPACT, "clrt-compact", "clrt", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* cmp/eq $rm, $rn */
- {
- SH_INSN_CMPEQ_COMPACT, "cmpeq-compact", "cmp/eq", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* cmp/eq #$imm8, r0 */
- {
- SH_INSN_CMPEQI_COMPACT, "cmpeqi-compact", "cmp/eq", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* cmp/ge $rm, $rn */
- {
- SH_INSN_CMPGE_COMPACT, "cmpge-compact", "cmp/ge", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* cmp/gt $rm, $rn */
- {
- SH_INSN_CMPGT_COMPACT, "cmpgt-compact", "cmp/gt", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* cmp/hi $rm, $rn */
- {
- SH_INSN_CMPHI_COMPACT, "cmphi-compact", "cmp/hi", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* cmp/hs $rm, $rn */
- {
- SH_INSN_CMPHS_COMPACT, "cmphs-compact", "cmp/hs", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* cmp/pl $rn */
- {
- SH_INSN_CMPPL_COMPACT, "cmppl-compact", "cmp/pl", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* cmp/pz $rn */
- {
- SH_INSN_CMPPZ_COMPACT, "cmppz-compact", "cmp/pz", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* cmp/str $rm, $rn */
- {
- SH_INSN_CMPSTR_COMPACT, "cmpstr-compact", "cmp/str", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* div0s $rm, $rn */
- {
- SH_INSN_DIV0S_COMPACT, "div0s-compact", "div0s", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* div0u */
- {
- SH_INSN_DIV0U_COMPACT, "div0u-compact", "div0u", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* div1 $rm, $rn */
- {
- SH_INSN_DIV1_COMPACT, "div1-compact", "div1", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* dmuls.l $rm, $rn */
- {
- SH_INSN_DMULSL_COMPACT, "dmulsl-compact", "dmuls.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* dmulu.l $rm, $rn */
- {
- SH_INSN_DMULUL_COMPACT, "dmulul-compact", "dmulu.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* dt $rn */
- {
- SH_INSN_DT_COMPACT, "dt-compact", "dt", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* exts.b $rm, $rn */
- {
- SH_INSN_EXTSB_COMPACT, "extsb-compact", "exts.b", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* exts.w $rm, $rn */
- {
- SH_INSN_EXTSW_COMPACT, "extsw-compact", "exts.w", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* extu.b $rm, $rn */
- {
- SH_INSN_EXTUB_COMPACT, "extub-compact", "extu.b", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* extu.w $rm, $rn */
- {
- SH_INSN_EXTUW_COMPACT, "extuw-compact", "extu.w", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fabs $fsdn */
- {
- SH_INSN_FABS_COMPACT, "fabs-compact", "fabs", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fadd $fsdm, $fsdn */
- {
- SH_INSN_FADD_COMPACT, "fadd-compact", "fadd", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fcmp/eq $fsdm, $fsdn */
- {
- SH_INSN_FCMPEQ_COMPACT, "fcmpeq-compact", "fcmp/eq", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fcmp/gt $fsdm, $fsdn */
- {
- SH_INSN_FCMPGT_COMPACT, "fcmpgt-compact", "fcmp/gt", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fcnvds $drn, fpul */
- {
- SH_INSN_FCNVDS_COMPACT, "fcnvds-compact", "fcnvds", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fcnvsd fpul, $drn */
- {
- SH_INSN_FCNVSD_COMPACT, "fcnvsd-compact", "fcnvsd", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fdiv $fsdm, $fsdn */
- {
- SH_INSN_FDIV_COMPACT, "fdiv-compact", "fdiv", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fipr $fvm, $fvn */
- {
- SH_INSN_FIPR_COMPACT, "fipr-compact", "fipr", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* flds $frn */
- {
- SH_INSN_FLDS_COMPACT, "flds-compact", "flds", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fldi0 $frn */
- {
- SH_INSN_FLDI0_COMPACT, "fldi0-compact", "fldi0", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fldi1 $frn */
- {
- SH_INSN_FLDI1_COMPACT, "fldi1-compact", "fldi1", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* float fpul, $fsdn */
- {
- SH_INSN_FLOAT_COMPACT, "float-compact", "float", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fmac fr0, $frm, $frn */
- {
- SH_INSN_FMAC_COMPACT, "fmac-compact", "fmac", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fmov $frm, $frn */
- {
- SH_INSN_FMOV1_COMPACT, "fmov1-compact", "fmov", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fmov @$rm, $frn */
- {
- SH_INSN_FMOV2_COMPACT, "fmov2-compact", "fmov", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fmov @${rm}+, frn */
- {
- SH_INSN_FMOV3_COMPACT, "fmov3-compact", "fmov", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fmov @(r0, $rm), $frn */
- {
- SH_INSN_FMOV4_COMPACT, "fmov4-compact", "fmov", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fmov $frm, @$rn */
- {
- SH_INSN_FMOV5_COMPACT, "fmov5-compact", "fmov", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fmov $frm, @-$rn */
- {
- SH_INSN_FMOV6_COMPACT, "fmov6-compact", "fmov", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fmov $frm, @(r0, $rn) */
- {
- SH_INSN_FMOV7_COMPACT, "fmov7-compact", "fmov", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fmul $fsdm, $fsdn */
- {
- SH_INSN_FMUL_COMPACT, "fmul-compact", "fmul", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fneg $fsdn */
- {
- SH_INSN_FNEG_COMPACT, "fneg-compact", "fneg", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* frchg */
- {
- SH_INSN_FRCHG_COMPACT, "frchg-compact", "frchg", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fschg */
- {
- SH_INSN_FSCHG_COMPACT, "fschg-compact", "fschg", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fsqrt $fsdn */
- {
- SH_INSN_FSQRT_COMPACT, "fsqrt-compact", "fsqrt", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fsts fpul, $frn */
- {
- SH_INSN_FSTS_COMPACT, "fsts-compact", "fsts", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* fsub $fsdm, $fsdn */
- {
- SH_INSN_FSUB_COMPACT, "fsub-compact", "fsub", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* ftrc $fsdn, fpul */
- {
- SH_INSN_FTRC_COMPACT, "ftrc-compact", "ftrc", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* ftrv xmtrx, $fvn */
- {
- SH_INSN_FTRV_COMPACT, "ftrv-compact", "ftrv", 16,
- { 0|A(FP_INSN), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* jmp @$rn */
- {
- SH_INSN_JMP_COMPACT, "jmp-compact", "jmp", 16,
- { 0|A(UNCOND_CTI)|A(DELAY_SLOT), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* jsr @$rn */
- {
- SH_INSN_JSR_COMPACT, "jsr-compact", "jsr", 16,
- { 0|A(UNCOND_CTI)|A(DELAY_SLOT), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* ldc $rn, gbr */
- {
- SH_INSN_LDC_COMPACT, "ldc-compact", "ldc", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* ldc.l @${rn}+, gbr */
- {
- SH_INSN_LDCL_COMPACT, "ldcl-compact", "ldc.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* lds $rn, fpscr */
- {
- SH_INSN_LDS_FPSCR_COMPACT, "lds-fpscr-compact", "lds", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* lds.l @${rn}+, fpscr */
- {
- SH_INSN_LDSL_FPSCR_COMPACT, "ldsl-fpscr-compact", "lds.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* lds $rn, fpul */
- {
- SH_INSN_LDS_FPUL_COMPACT, "lds-fpul-compact", "lds", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* lds.l @${rn}+, fpul */
- {
- SH_INSN_LDSL_FPUL_COMPACT, "ldsl-fpul-compact", "lds.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* lds $rn, mach */
- {
- SH_INSN_LDS_MACH_COMPACT, "lds-mach-compact", "lds", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* lds.l @${rn}+, mach */
- {
- SH_INSN_LDSL_MACH_COMPACT, "ldsl-mach-compact", "lds.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* lds $rn, macl */
- {
- SH_INSN_LDS_MACL_COMPACT, "lds-macl-compact", "lds", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* lds.l @${rn}+, macl */
- {
- SH_INSN_LDSL_MACL_COMPACT, "ldsl-macl-compact", "lds.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* lds $rn, pr */
- {
- SH_INSN_LDS_PR_COMPACT, "lds-pr-compact", "lds", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* lds.l @${rn}+, pr */
- {
- SH_INSN_LDSL_PR_COMPACT, "ldsl-pr-compact", "lds.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mac.l @${rm}+, @${rn}+ */
- {
- SH_INSN_MACL_COMPACT, "macl-compact", "mac.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mac.w @${rm}+, @${rn}+ */
- {
- SH_INSN_MACW_COMPACT, "macw-compact", "mac.w", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov $rm64, $rn64 */
- {
- SH_INSN_MOV_COMPACT, "mov-compact", "mov", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov #$imm8, $rn */
- {
- SH_INSN_MOVI_COMPACT, "movi-compact", "mov", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.b $rm, @$rn */
- {
- SH_INSN_MOVB1_COMPACT, "movb1-compact", "mov.b", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.b $rm, @-$rn */
- {
- SH_INSN_MOVB2_COMPACT, "movb2-compact", "mov.b", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.b $rm, @(r0,$rn) */
- {
- SH_INSN_MOVB3_COMPACT, "movb3-compact", "mov.b", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.b r0, @($imm8, gbr) */
- {
- SH_INSN_MOVB4_COMPACT, "movb4-compact", "mov.b", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.b r0, @($imm4, $rm) */
- {
- SH_INSN_MOVB5_COMPACT, "movb5-compact", "mov.b", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.b @$rm, $rn */
- {
- SH_INSN_MOVB6_COMPACT, "movb6-compact", "mov.b", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.b @${rm}+, $rn */
- {
- SH_INSN_MOVB7_COMPACT, "movb7-compact", "mov.b", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.b @(r0, $rm), $rn */
- {
- SH_INSN_MOVB8_COMPACT, "movb8-compact", "mov.b", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.b @($imm8, gbr), r0 */
- {
- SH_INSN_MOVB9_COMPACT, "movb9-compact", "mov.b", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.b @($imm4, $rm), r0 */
- {
- SH_INSN_MOVB10_COMPACT, "movb10-compact", "mov.b", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.l $rm, @$rn */
- {
- SH_INSN_MOVL1_COMPACT, "movl1-compact", "mov.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.l $rm, @-$rn */
- {
- SH_INSN_MOVL2_COMPACT, "movl2-compact", "mov.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.l $rm, @(r0, $rn) */
- {
- SH_INSN_MOVL3_COMPACT, "movl3-compact", "mov.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.l r0, @($imm8x4, gbr) */
- {
- SH_INSN_MOVL4_COMPACT, "movl4-compact", "mov.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.l $rm, @($imm4x4, $rn) */
- {
- SH_INSN_MOVL5_COMPACT, "movl5-compact", "mov.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.l @$rm, $rn */
- {
- SH_INSN_MOVL6_COMPACT, "movl6-compact", "mov.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.l @${rm}+, $rn */
- {
- SH_INSN_MOVL7_COMPACT, "movl7-compact", "mov.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.l @(r0, $rm), $rn */
- {
- SH_INSN_MOVL8_COMPACT, "movl8-compact", "mov.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.l @($imm8x4, gbr), r0 */
- {
- SH_INSN_MOVL9_COMPACT, "movl9-compact", "mov.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.l @($imm8x4, pc), $rn */
- {
- SH_INSN_MOVL10_COMPACT, "movl10-compact", "mov.l", 16,
- { 0|A(ILLSLOT), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.l @($imm4x4, $rm), $rn */
- {
- SH_INSN_MOVL11_COMPACT, "movl11-compact", "mov.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.w $rm, @$rn */
- {
- SH_INSN_MOVW1_COMPACT, "movw1-compact", "mov.w", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.w $rm, @-$rn */
- {
- SH_INSN_MOVW2_COMPACT, "movw2-compact", "mov.w", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.w $rm, @(r0, $rn) */
- {
- SH_INSN_MOVW3_COMPACT, "movw3-compact", "mov.w", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.w r0, @($imm8x2, gbr) */
- {
- SH_INSN_MOVW4_COMPACT, "movw4-compact", "mov.w", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.w r0, @($imm4x2, $rn) */
- {
- SH_INSN_MOVW5_COMPACT, "movw5-compact", "mov.w", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.w @$rm, $rn */
- {
- SH_INSN_MOVW6_COMPACT, "movw6-compact", "mov.w", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.w @${rm}+, $rn */
- {
- SH_INSN_MOVW7_COMPACT, "movw7-compact", "mov.w", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.w @(r0, $rm), $rn */
- {
- SH_INSN_MOVW8_COMPACT, "movw8-compact", "mov.w", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.w @($imm8x2, gbr), r0 */
- {
- SH_INSN_MOVW9_COMPACT, "movw9-compact", "mov.w", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.w @($imm8x2, pc), $rn */
- {
- SH_INSN_MOVW10_COMPACT, "movw10-compact", "mov.w", 16,
- { 0|A(ILLSLOT), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mov.w @($imm4x2, $rm), r0 */
- {
- SH_INSN_MOVW11_COMPACT, "movw11-compact", "mov.w", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mova @($imm8x4, pc), r0 */
- {
- SH_INSN_MOVA_COMPACT, "mova-compact", "mova", 16,
- { 0|A(ILLSLOT), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* movca.l r0, @$rn */
- {
- SH_INSN_MOVCAL_COMPACT, "movcal-compact", "movca.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* movt $rn */
- {
- SH_INSN_MOVT_COMPACT, "movt-compact", "movt", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mul.l $rm, $rn */
- {
- SH_INSN_MULL_COMPACT, "mull-compact", "mul.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* muls.w $rm, $rn */
- {
- SH_INSN_MULSW_COMPACT, "mulsw-compact", "muls.w", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* mulu.w $rm, $rn */
- {
- SH_INSN_MULUW_COMPACT, "muluw-compact", "mulu.w", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* neg $rm, $rn */
- {
- SH_INSN_NEG_COMPACT, "neg-compact", "neg", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* negc $rm, $rn */
- {
- SH_INSN_NEGC_COMPACT, "negc-compact", "negc", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* nop */
- {
- SH_INSN_NOP_COMPACT, "nop-compact", "nop", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* not $rm64, $rn64 */
- {
- SH_INSN_NOT_COMPACT, "not-compact", "not", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* ocbi @$rn */
- {
- SH_INSN_OCBI_COMPACT, "ocbi-compact", "ocbi", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* ocbp @$rn */
- {
- SH_INSN_OCBP_COMPACT, "ocbp-compact", "ocbp", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* ocbwb @$rn */
- {
- SH_INSN_OCBWB_COMPACT, "ocbwb-compact", "ocbwb", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* or $rm64, $rn64 */
- {
- SH_INSN_OR_COMPACT, "or-compact", "or", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* or #$uimm8, r0 */
- {
- SH_INSN_ORI_COMPACT, "ori-compact", "or", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* or.b #$imm8, @(r0, gbr) */
- {
- SH_INSN_ORB_COMPACT, "orb-compact", "or.b", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* pref @$rn */
- {
- SH_INSN_PREF_COMPACT, "pref-compact", "pref", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* rotcl $rn */
- {
- SH_INSN_ROTCL_COMPACT, "rotcl-compact", "rotcl", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* rotcr $rn */
- {
- SH_INSN_ROTCR_COMPACT, "rotcr-compact", "rotcr", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* rotl $rn */
- {
- SH_INSN_ROTL_COMPACT, "rotl-compact", "rotl", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* rotr $rn */
- {
- SH_INSN_ROTR_COMPACT, "rotr-compact", "rotr", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* rts */
- {
- SH_INSN_RTS_COMPACT, "rts-compact", "rts", 16,
- { 0|A(UNCOND_CTI)|A(DELAY_SLOT), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* sets */
- {
- SH_INSN_SETS_COMPACT, "sets-compact", "sets", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* sett */
- {
- SH_INSN_SETT_COMPACT, "sett-compact", "sett", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* shad $rm, $rn */
- {
- SH_INSN_SHAD_COMPACT, "shad-compact", "shad", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* shal $rn */
- {
- SH_INSN_SHAL_COMPACT, "shal-compact", "shal", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* shar $rn */
- {
- SH_INSN_SHAR_COMPACT, "shar-compact", "shar", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* shld $rm, $rn */
- {
- SH_INSN_SHLD_COMPACT, "shld-compact", "shld", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* shll $rn */
- {
- SH_INSN_SHLL_COMPACT, "shll-compact", "shll", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* shll2 $rn */
- {
- SH_INSN_SHLL2_COMPACT, "shll2-compact", "shll2", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* shll8 $rn */
- {
- SH_INSN_SHLL8_COMPACT, "shll8-compact", "shll8", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* shll16 $rn */
- {
- SH_INSN_SHLL16_COMPACT, "shll16-compact", "shll16", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* shlr $rn */
- {
- SH_INSN_SHLR_COMPACT, "shlr-compact", "shlr", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* shlr2 $rn */
- {
- SH_INSN_SHLR2_COMPACT, "shlr2-compact", "shlr2", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* shlr8 $rn */
- {
- SH_INSN_SHLR8_COMPACT, "shlr8-compact", "shlr8", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* shlr16 $rn */
- {
- SH_INSN_SHLR16_COMPACT, "shlr16-compact", "shlr16", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* stc gbr, $rn */
- {
- SH_INSN_STC_GBR_COMPACT, "stc-gbr-compact", "stc", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* stc.l gbr, @-$rn */
- {
- SH_INSN_STCL_GBR_COMPACT, "stcl-gbr-compact", "stc.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* sts fpscr, $rn */
- {
- SH_INSN_STS_FPSCR_COMPACT, "sts-fpscr-compact", "sts", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* sts.l fpscr, @-$rn */
- {
- SH_INSN_STSL_FPSCR_COMPACT, "stsl-fpscr-compact", "sts.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* sts fpul, $rn */
- {
- SH_INSN_STS_FPUL_COMPACT, "sts-fpul-compact", "sts", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* sts.l fpul, @-$rn */
- {
- SH_INSN_STSL_FPUL_COMPACT, "stsl-fpul-compact", "sts.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* sts mach, $rn */
- {
- SH_INSN_STS_MACH_COMPACT, "sts-mach-compact", "sts", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* sts.l mach, @-$rn */
- {
- SH_INSN_STSL_MACH_COMPACT, "stsl-mach-compact", "sts.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* sts macl, $rn */
- {
- SH_INSN_STS_MACL_COMPACT, "sts-macl-compact", "sts", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* sts.l macl, @-$rn */
- {
- SH_INSN_STSL_MACL_COMPACT, "stsl-macl-compact", "sts.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* sts pr, $rn */
- {
- SH_INSN_STS_PR_COMPACT, "sts-pr-compact", "sts", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* sts.l pr, @-$rn */
- {
- SH_INSN_STSL_PR_COMPACT, "stsl-pr-compact", "sts.l", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* sub $rm, $rn */
- {
- SH_INSN_SUB_COMPACT, "sub-compact", "sub", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* subc $rm, $rn */
- {
- SH_INSN_SUBC_COMPACT, "subc-compact", "subc", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* subv $rm, $rn */
- {
- SH_INSN_SUBV_COMPACT, "subv-compact", "subv", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* swap.b $rm, $rn */
- {
- SH_INSN_SWAPB_COMPACT, "swapb-compact", "swap.b", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* swap.w $rm, $rn */
- {
- SH_INSN_SWAPW_COMPACT, "swapw-compact", "swap.w", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* tas.b @$rn */
- {
- SH_INSN_TASB_COMPACT, "tasb-compact", "tas.b", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* trapa #$uimm8 */
- {
- SH_INSN_TRAPA_COMPACT, "trapa-compact", "trapa", 16,
- { 0|A(ILLSLOT), { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* tst $rm, $rn */
- {
- SH_INSN_TST_COMPACT, "tst-compact", "tst", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* tst #$uimm8, r0 */
- {
- SH_INSN_TSTI_COMPACT, "tsti-compact", "tst", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* tst.b #$imm8, @(r0, gbr) */
- {
- SH_INSN_TSTB_COMPACT, "tstb-compact", "tst.b", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* xor $rm64, $rn64 */
- {
- SH_INSN_XOR_COMPACT, "xor-compact", "xor", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* xor #$uimm8, r0 */
- {
- SH_INSN_XORI_COMPACT, "xori-compact", "xor", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* xor.b #$imm8, @(r0, gbr) */
- {
- SH_INSN_XORB_COMPACT, "xorb-compact", "xor.b", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* xtrct $rm, $rn */
- {
- SH_INSN_XTRCT_COMPACT, "xtrct-compact", "xtrct", 16,
- { 0, { (1<<MACH_BASE), (1<<ISA_COMPACT) } }
- },
-/* add $rm, $rn, $rd */
- {
- SH_INSN_ADD, "add", "add", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* add.l $rm, $rn, $rd */
- {
- SH_INSN_ADDL, "addl", "add.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* addi $rm, $disp10, $rd */
- {
- SH_INSN_ADDI, "addi", "addi", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* addi.l $rm, $disp10, $rd */
- {
- SH_INSN_ADDIL, "addil", "addi.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* addz.l $rm, $rn, $rd */
- {
- SH_INSN_ADDZL, "addzl", "addz.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* alloco $rm, $disp6x32 */
- {
- SH_INSN_ALLOCO, "alloco", "alloco", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* and $rm, $rn, $rd */
- {
- SH_INSN_AND, "and", "and", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* andc $rm, $rn, $rd */
- {
- SH_INSN_ANDC, "andc", "andc", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* andi $rm, $disp10, $rd */
- {
- SH_INSN_ANDI, "andi", "andi", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* beq$likely $rm, $rn, $tra */
- {
- SH_INSN_BEQ, "beq", "beq", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* beqi$likely $rm, $imm6, $tra */
- {
- SH_INSN_BEQI, "beqi", "beqi", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* bge$likely $rm, $rn, $tra */
- {
- SH_INSN_BGE, "bge", "bge", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* bgeu$likely $rm, $rn, $tra */
- {
- SH_INSN_BGEU, "bgeu", "bgeu", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* bgt$likely $rm, $rn, $tra */
- {
- SH_INSN_BGT, "bgt", "bgt", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* bgtu$likely $rm, $rn, $tra */
- {
- SH_INSN_BGTU, "bgtu", "bgtu", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* blink $trb, $rd */
- {
- SH_INSN_BLINK, "blink", "blink", 32,
- { 0|A(UNCOND_CTI), { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* bne$likely $rm, $rn, $tra */
- {
- SH_INSN_BNE, "bne", "bne", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* bnei$likely $rm, $imm6, $tra */
- {
- SH_INSN_BNEI, "bnei", "bnei", 32,
- { 0|A(COND_CTI), { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* brk */
- {
- SH_INSN_BRK, "brk", "brk", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* byterev $rm, $rd */
- {
- SH_INSN_BYTEREV, "byterev", "byterev", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* cmpeq $rm, $rn, $rd */
- {
- SH_INSN_CMPEQ, "cmpeq", "cmpeq", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* cmpgt $rm, $rn, $rd */
- {
- SH_INSN_CMPGT, "cmpgt", "cmpgt", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* cmpgtu $rm,$rn, $rd */
- {
- SH_INSN_CMPGTU, "cmpgtu", "cmpgtu", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* cmveq $rm, $rn, $rd */
- {
- SH_INSN_CMVEQ, "cmveq", "cmveq", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* cmvne $rm, $rn, $rd */
- {
- SH_INSN_CMVNE, "cmvne", "cmvne", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fabs.d $drgh, $drf */
- {
- SH_INSN_FABSD, "fabsd", "fabs.d", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fabs.s $frgh, $frf */
- {
- SH_INSN_FABSS, "fabss", "fabs.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fadd.d $drg, $drh, $drf */
- {
- SH_INSN_FADDD, "faddd", "fadd.d", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fadd.s $frg, $frh, $frf */
- {
- SH_INSN_FADDS, "fadds", "fadd.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fcmpeq.d $drg, $drh, $rd */
- {
- SH_INSN_FCMPEQD, "fcmpeqd", "fcmpeq.d", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fcmpeq.s $frg, $frh, $rd */
- {
- SH_INSN_FCMPEQS, "fcmpeqs", "fcmpeq.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fcmpge.d $drg, $drh, $rd */
- {
- SH_INSN_FCMPGED, "fcmpged", "fcmpge.d", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fcmpge.s $frg, $frh, $rd */
- {
- SH_INSN_FCMPGES, "fcmpges", "fcmpge.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fcmpgt.d $drg, $drh, $rd */
- {
- SH_INSN_FCMPGTD, "fcmpgtd", "fcmpgt.d", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fcmpgt.s $frg, $frh, $rd */
- {
- SH_INSN_FCMPGTS, "fcmpgts", "fcmpgt.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fcmpun.d $drg, $drh, $rd */
- {
- SH_INSN_FCMPUND, "fcmpund", "fcmpun.d", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fcmpun.s $frg, $frh, $rd */
- {
- SH_INSN_FCMPUNS, "fcmpuns", "fcmpun.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fcnv.ds $drgh, $frf */
- {
- SH_INSN_FCNVDS, "fcnvds", "fcnv.ds", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fcnv.sd $frgh, $drf */
- {
- SH_INSN_FCNVSD, "fcnvsd", "fcnv.sd", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fdiv.d $drg, $drh, $drf */
- {
- SH_INSN_FDIVD, "fdivd", "fdiv.d", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fdiv.s $frg, $frh, $frf */
- {
- SH_INSN_FDIVS, "fdivs", "fdiv.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fgetscr $frf */
- {
- SH_INSN_FGETSCR, "fgetscr", "fgetscr", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fipr.s $fvg, $fvh, $frf */
- {
- SH_INSN_FIPRS, "fiprs", "fipr.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fld.d $rm, $disp10x8, $drf */
- {
- SH_INSN_FLDD, "fldd", "fld.d", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fld.p $rm, $disp10x8, $fpf */
- {
- SH_INSN_FLDP, "fldp", "fld.p", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fld.s $rm, $disp10x4, $frf */
- {
- SH_INSN_FLDS, "flds", "fld.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fldx.d $rm, $rn, $drf */
- {
- SH_INSN_FLDXD, "fldxd", "fldx.d", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fldx.p $rm, $rn, $fpf */
- {
- SH_INSN_FLDXP, "fldxp", "fldx.p", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fldx.s $rm, $rn, $frf */
- {
- SH_INSN_FLDXS, "fldxs", "fldx.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* float.ld $frgh, $drf */
- {
- SH_INSN_FLOATLD, "floatld", "float.ld", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* float.ls $frgh, $frf */
- {
- SH_INSN_FLOATLS, "floatls", "float.ls", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* float.qd $drgh, $drf */
- {
- SH_INSN_FLOATQD, "floatqd", "float.qd", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* float.qs $drgh, $frf */
- {
- SH_INSN_FLOATQS, "floatqs", "float.qs", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fmac.s $frg, $frh, $frf */
- {
- SH_INSN_FMACS, "fmacs", "fmac.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fmov.d $drgh, $drf */
- {
- SH_INSN_FMOVD, "fmovd", "fmov.d", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fmov.dq $drgh, $rd */
- {
- SH_INSN_FMOVDQ, "fmovdq", "fmov.dq", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fmov.ls $rm, $frf */
- {
- SH_INSN_FMOVLS, "fmovls", "fmov.ls", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fmov.qd $rm, $drf */
- {
- SH_INSN_FMOVQD, "fmovqd", "fmov.qd", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fmov.s $frgh, $frf */
- {
- SH_INSN_FMOVS, "fmovs", "fmov.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fmov.sl $frgh, $rd */
- {
- SH_INSN_FMOVSL, "fmovsl", "fmov.sl", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fmul.d $drg, $drh, $drf */
- {
- SH_INSN_FMULD, "fmuld", "fmul.d", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fmul.s $frg, $frh, $frf */
- {
- SH_INSN_FMULS, "fmuls", "fmul.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fneg.d $drgh, $drf */
- {
- SH_INSN_FNEGD, "fnegd", "fneg.d", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fneg.s $frgh, $frf */
- {
- SH_INSN_FNEGS, "fnegs", "fneg.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fputscr $frgh */
- {
- SH_INSN_FPUTSCR, "fputscr", "fputscr", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fsqrt.d $drgh, $drf */
- {
- SH_INSN_FSQRTD, "fsqrtd", "fsqrt.d", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fsqrt.s $frgh, $frf */
- {
- SH_INSN_FSQRTS, "fsqrts", "fsqrt.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fst.d $rm, $disp10x8, $drf */
- {
- SH_INSN_FSTD, "fstd", "fst.d", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fst.p $rm, $disp10x8, $fpf */
- {
- SH_INSN_FSTP, "fstp", "fst.p", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fst.s $rm, $disp10x4, $frf */
- {
- SH_INSN_FSTS, "fsts", "fst.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fstx.d $rm, $rn, $drf */
- {
- SH_INSN_FSTXD, "fstxd", "fstx.d", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fstx.p $rm, $rn, $fpf */
- {
- SH_INSN_FSTXP, "fstxp", "fstx.p", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fstx.s $rm, $rn, $frf */
- {
- SH_INSN_FSTXS, "fstxs", "fstx.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fsub.d $drg, $drh, $drf */
- {
- SH_INSN_FSUBD, "fsubd", "fsub.d", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* fsub.s $frg, $frh, $frf */
- {
- SH_INSN_FSUBS, "fsubs", "fsub.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ftrc.dl $drgh, $frf */
- {
- SH_INSN_FTRCDL, "ftrcdl", "ftrc.dl", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ftrc.sl $frgh, $frf */
- {
- SH_INSN_FTRCSL, "ftrcsl", "ftrc.sl", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ftrc.dq $drgh, $drf */
- {
- SH_INSN_FTRCDQ, "ftrcdq", "ftrc.dq", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ftrc.sq $frgh, $drf */
- {
- SH_INSN_FTRCSQ, "ftrcsq", "ftrc.sq", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ftrv.s $mtrxg, $fvh, $fvf */
- {
- SH_INSN_FTRVS, "ftrvs", "ftrv.s", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* getcfg $rm, $disp6, $rd */
- {
- SH_INSN_GETCFG, "getcfg", "getcfg", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* getcon $crk, $rd */
- {
- SH_INSN_GETCON, "getcon", "getcon", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* gettr $trb, $rd */
- {
- SH_INSN_GETTR, "gettr", "gettr", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* icbi $rm, $disp6x32 */
- {
- SH_INSN_ICBI, "icbi", "icbi", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ld.b $rm, $disp10, $rd */
- {
- SH_INSN_LDB, "ldb", "ld.b", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ld.l $rm, $disp10x4, $rd */
- {
- SH_INSN_LDL, "ldl", "ld.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ld.q $rm, $disp10x8, $rd */
- {
- SH_INSN_LDQ, "ldq", "ld.q", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ld.ub $rm, $disp10, $rd */
- {
- SH_INSN_LDUB, "ldub", "ld.ub", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ld.uw $rm, $disp10x2, $rd */
- {
- SH_INSN_LDUW, "lduw", "ld.uw", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ld.w $rm, $disp10x2, $rd */
- {
- SH_INSN_LDW, "ldw", "ld.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ldhi.l $rm, $disp6, $rd */
- {
- SH_INSN_LDHIL, "ldhil", "ldhi.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ldhi.q $rm, $disp6, $rd */
- {
- SH_INSN_LDHIQ, "ldhiq", "ldhi.q", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ldlo.l $rm, $disp6, $rd */
- {
- SH_INSN_LDLOL, "ldlol", "ldlo.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ldlo.q $rm, $disp6, $rd */
- {
- SH_INSN_LDLOQ, "ldloq", "ldlo.q", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ldx.b $rm, $rn, $rd */
- {
- SH_INSN_LDXB, "ldxb", "ldx.b", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ldx.l $rm, $rn, $rd */
- {
- SH_INSN_LDXL, "ldxl", "ldx.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ldx.q $rm, $rn, $rd */
- {
- SH_INSN_LDXQ, "ldxq", "ldx.q", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ldx.ub $rm, $rn, $rd */
- {
- SH_INSN_LDXUB, "ldxub", "ldx.ub", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ldx.uw $rm, $rn, $rd */
- {
- SH_INSN_LDXUW, "ldxuw", "ldx.uw", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ldx.w $rm, $rn, $rd */
- {
- SH_INSN_LDXW, "ldxw", "ldx.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mabs.l $rm, $rd */
- {
- SH_INSN_MABSL, "mabsl", "mabs.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mabs.w $rm, $rd */
- {
- SH_INSN_MABSW, "mabsw", "mabs.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* madd.l $rm, $rn, $rd */
- {
- SH_INSN_MADDL, "maddl", "madd.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* madd.w $rm, $rn, $rd */
- {
- SH_INSN_MADDW, "maddw", "madd.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* madds.l $rm, $rn, $rd */
- {
- SH_INSN_MADDSL, "maddsl", "madds.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* madds.ub $rm, $rn, $rd */
- {
- SH_INSN_MADDSUB, "maddsub", "madds.ub", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* madds.w $rm, $rn, $rd */
- {
- SH_INSN_MADDSW, "maddsw", "madds.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mcmpeq.b $rm, $rn, $rd */
- {
- SH_INSN_MCMPEQB, "mcmpeqb", "mcmpeq.b", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mcmpeq.l $rm, $rn, $rd */
- {
- SH_INSN_MCMPEQL, "mcmpeql", "mcmpeq.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mcmpeq.w $rm, $rn, $rd */
- {
- SH_INSN_MCMPEQW, "mcmpeqw", "mcmpeq.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mcmpgt.l $rm, $rn, $rd */
- {
- SH_INSN_MCMPGTL, "mcmpgtl", "mcmpgt.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mcmpgt.ub $rm, $rn, $rd */
- {
- SH_INSN_MCMPGTUB, "mcmpgtub", "mcmpgt.ub", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mcmpgt.w $rm, $rn, $rd */
- {
- SH_INSN_MCMPGTW, "mcmpgtw", "mcmpgt.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mcmv $rm, $rn, $rd */
- {
- SH_INSN_MCMV, "mcmv", "mcmv", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mcnvs.lw $rm, $rn, $rd */
- {
- SH_INSN_MCNVSLW, "mcnvslw", "mcnvs.lw", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mcnvs.wb $rm, $rn, $rd */
- {
- SH_INSN_MCNVSWB, "mcnvswb", "mcnvs.wb", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mcnvs.wub $rm, $rn, $rd */
- {
- SH_INSN_MCNVSWUB, "mcnvswub", "mcnvs.wub", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mextr1 $rm, $rn, $rd */
- {
- SH_INSN_MEXTR1, "mextr1", "mextr1", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mextr2 $rm, $rn, $rd */
- {
- SH_INSN_MEXTR2, "mextr2", "mextr2", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mextr3 $rm, $rn, $rd */
- {
- SH_INSN_MEXTR3, "mextr3", "mextr3", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mextr4 $rm, $rn, $rd */
- {
- SH_INSN_MEXTR4, "mextr4", "mextr4", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mextr5 $rm, $rn, $rd */
- {
- SH_INSN_MEXTR5, "mextr5", "mextr5", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mextr6 $rm, $rn, $rd */
- {
- SH_INSN_MEXTR6, "mextr6", "mextr6", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mextr7 $rm, $rn, $rd */
- {
- SH_INSN_MEXTR7, "mextr7", "mextr7", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mmacfx.wl $rm, $rn, $rd */
- {
- SH_INSN_MMACFXWL, "mmacfxwl", "mmacfx.wl", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mmacnfx.wl $rm, $rn, $rd */
- {
- SH_INSN_MMACNFX_WL, "mmacnfx.wl", "mmacnfx.wl", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mmul.l $rm, $rn, $rd */
- {
- SH_INSN_MMULL, "mmull", "mmul.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mmul.w $rm, $rn, $rd */
- {
- SH_INSN_MMULW, "mmulw", "mmul.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mmulfx.l $rm, $rn, $rd */
- {
- SH_INSN_MMULFXL, "mmulfxl", "mmulfx.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mmulfx.w $rm, $rn, $rd */
- {
- SH_INSN_MMULFXW, "mmulfxw", "mmulfx.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mmulfxrp.w $rm, $rn, $rd */
- {
- SH_INSN_MMULFXRPW, "mmulfxrpw", "mmulfxrp.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mmulhi.wl $rm, $rn, $rd */
- {
- SH_INSN_MMULHIWL, "mmulhiwl", "mmulhi.wl", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mmullo.wl $rm, $rn, $rd */
- {
- SH_INSN_MMULLOWL, "mmullowl", "mmullo.wl", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mmulsum.wq $rm, $rn, $rd */
- {
- SH_INSN_MMULSUMWQ, "mmulsumwq", "mmulsum.wq", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* movi $imm16, $rd */
- {
- SH_INSN_MOVI, "movi", "movi", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mperm.w $rm, $rn, $rd */
- {
- SH_INSN_MPERMW, "mpermw", "mperm.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* msad.ubq $rm, $rn, $rd */
- {
- SH_INSN_MSADUBQ, "msadubq", "msad.ubq", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mshalds.l $rm, $rn, $rd */
- {
- SH_INSN_MSHALDSL, "mshaldsl", "mshalds.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mshalds.w $rm, $rn, $rd */
- {
- SH_INSN_MSHALDSW, "mshaldsw", "mshalds.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mshard.l $rm, $rn, $rd */
- {
- SH_INSN_MSHARDL, "mshardl", "mshard.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mshard.w $rm, $rn, $rd */
- {
- SH_INSN_MSHARDW, "mshardw", "mshard.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mshards.q $rm, $rn, $rd */
- {
- SH_INSN_MSHARDSQ, "mshardsq", "mshards.q", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mshfhi.b $rm, $rn, $rd */
- {
- SH_INSN_MSHFHIB, "mshfhib", "mshfhi.b", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mshfhi.l $rm, $rn, $rd */
- {
- SH_INSN_MSHFHIL, "mshfhil", "mshfhi.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mshfhi.w $rm, $rn, $rd */
- {
- SH_INSN_MSHFHIW, "mshfhiw", "mshfhi.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mshflo.b $rm, $rn, $rd */
- {
- SH_INSN_MSHFLOB, "mshflob", "mshflo.b", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mshflo.l $rm, $rn, $rd */
- {
- SH_INSN_MSHFLOL, "mshflol", "mshflo.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mshflo.w $rm, $rn, $rd */
- {
- SH_INSN_MSHFLOW, "mshflow", "mshflo.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mshlld.l $rm, $rn, $rd */
- {
- SH_INSN_MSHLLDL, "mshlldl", "mshlld.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mshlld.w $rm, $rn, $rd */
- {
- SH_INSN_MSHLLDW, "mshlldw", "mshlld.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mshlrd.l $rm, $rn, $rd */
- {
- SH_INSN_MSHLRDL, "mshlrdl", "mshlrd.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mshlrd.w $rm, $rn, $rd */
- {
- SH_INSN_MSHLRDW, "mshlrdw", "mshlrd.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* msub.l $rm, $rn, $rd */
- {
- SH_INSN_MSUBL, "msubl", "msub.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* msub.w $rm, $rn, $rd */
- {
- SH_INSN_MSUBW, "msubw", "msub.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* msubs.l $rm, $rn, $rd */
- {
- SH_INSN_MSUBSL, "msubsl", "msubs.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* msubs.ub $rm, $rn, $rd */
- {
- SH_INSN_MSUBSUB, "msubsub", "msubs.ub", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* msubs.w $rm, $rn, $rd */
- {
- SH_INSN_MSUBSW, "msubsw", "msubs.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* muls.l $rm, $rn, $rd */
- {
- SH_INSN_MULSL, "mulsl", "muls.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* mulu.l $rm, $rn, $rd */
- {
- SH_INSN_MULUL, "mulul", "mulu.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* nop */
- {
- SH_INSN_NOP, "nop", "nop", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* nsb $rm, $rd */
- {
- SH_INSN_NSB, "nsb", "nsb", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ocbi $rm, $disp6x32 */
- {
- SH_INSN_OCBI, "ocbi", "ocbi", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ocbp $rm, $disp6x32 */
- {
- SH_INSN_OCBP, "ocbp", "ocbp", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ocbwb $rm, $disp6x32 */
- {
- SH_INSN_OCBWB, "ocbwb", "ocbwb", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* or $rm, $rn, $rd */
- {
- SH_INSN_OR, "or", "or", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ori $rm, $imm10, $rd */
- {
- SH_INSN_ORI, "ori", "ori", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* prefi $rm, $disp6x32 */
- {
- SH_INSN_PREFI, "prefi", "prefi", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* pta$likely $disp16, $tra */
- {
- SH_INSN_PTA, "pta", "pta", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ptabs$likely $rn, $tra */
- {
- SH_INSN_PTABS, "ptabs", "ptabs", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ptb$likely $disp16, $tra */
- {
- SH_INSN_PTB, "ptb", "ptb", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* ptrel$likely $rn, $tra */
- {
- SH_INSN_PTREL, "ptrel", "ptrel", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* putcfg $rm, $disp6, $rd */
- {
- SH_INSN_PUTCFG, "putcfg", "putcfg", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* putcon $rm, $crj */
- {
- SH_INSN_PUTCON, "putcon", "putcon", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* rte */
- {
- SH_INSN_RTE, "rte", "rte", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* shard $rm, $rn, $rd */
- {
- SH_INSN_SHARD, "shard", "shard", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* shard.l $rm, $rn, $rd */
- {
- SH_INSN_SHARDL, "shardl", "shard.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* shari $rm, $uimm6, $rd */
- {
- SH_INSN_SHARI, "shari", "shari", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* shari.l $rm, $uimm6, $rd */
- {
- SH_INSN_SHARIL, "sharil", "shari.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* shlld $rm, $rn, $rd */
- {
- SH_INSN_SHLLD, "shlld", "shlld", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* shlld.l $rm, $rn, $rd */
- {
- SH_INSN_SHLLDL, "shlldl", "shlld.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* shlli $rm, $uimm6, $rd */
- {
- SH_INSN_SHLLI, "shlli", "shlli", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* shlli.l $rm, $uimm6, $rd */
- {
- SH_INSN_SHLLIL, "shllil", "shlli.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* shlrd $rm, $rn, $rd */
- {
- SH_INSN_SHLRD, "shlrd", "shlrd", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* shlrd.l $rm, $rn, $rd */
- {
- SH_INSN_SHLRDL, "shlrdl", "shlrd.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* shlri $rm, $uimm6, $rd */
- {
- SH_INSN_SHLRI, "shlri", "shlri", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* shlri.l $rm, $uimm6, $rd */
- {
- SH_INSN_SHLRIL, "shlril", "shlri.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* shori $uimm16, $rd */
- {
- SH_INSN_SHORI, "shori", "shori", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* sleep */
- {
- SH_INSN_SLEEP, "sleep", "sleep", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* st.b $rm, $disp10, $rd */
- {
- SH_INSN_STB, "stb", "st.b", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* st.l $rm, $disp10x4, $rd */
- {
- SH_INSN_STL, "stl", "st.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* st.q $rm, $disp10x8, $rd */
- {
- SH_INSN_STQ, "stq", "st.q", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* st.w $rm, $disp10x2, $rd */
- {
- SH_INSN_STW, "stw", "st.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* sthi.l $rm, $disp6, $rd */
- {
- SH_INSN_STHIL, "sthil", "sthi.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* sthi.q $rm, $disp6, $rd */
- {
- SH_INSN_STHIQ, "sthiq", "sthi.q", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* stlo.l $rm, $disp6, $rd */
- {
- SH_INSN_STLOL, "stlol", "stlo.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* stlo.q $rm, $disp6, $rd */
- {
- SH_INSN_STLOQ, "stloq", "stlo.q", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* stx.b $rm, $rn, $rd */
- {
- SH_INSN_STXB, "stxb", "stx.b", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* stx.l $rm, $rn, $rd */
- {
- SH_INSN_STXL, "stxl", "stx.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* stx.q $rm, $rn, $rd */
- {
- SH_INSN_STXQ, "stxq", "stx.q", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* stx.w $rm, $rn, $rd */
- {
- SH_INSN_STXW, "stxw", "stx.w", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* sub $rm, $rn, $rd */
- {
- SH_INSN_SUB, "sub", "sub", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* sub.l $rm, $rn, $rd */
- {
- SH_INSN_SUBL, "subl", "sub.l", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* swap.q $rm, $rn, $rd */
- {
- SH_INSN_SWAPQ, "swapq", "swap.q", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* synci */
- {
- SH_INSN_SYNCI, "synci", "synci", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* synco */
- {
- SH_INSN_SYNCO, "synco", "synco", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* trapa $rm */
- {
- SH_INSN_TRAPA, "trapa", "trapa", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* xor $rm, $rn, $rd */
- {
- SH_INSN_XOR, "xor", "xor", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-/* xori $rm, $imm6, $rd */
- {
- SH_INSN_XORI, "xori", "xori", 32,
- { 0, { (1<<MACH_BASE), (1<<ISA_MEDIA) } }
- },
-};
-
-#undef OP
-#undef A
-
-/* Initialize anything needed to be done once, before any cpu_open call. */
-
-static void
-init_tables ()
-{
-}
-
-/* Subroutine of sh_cgen_cpu_open to look up a mach via its bfd name. */
-
-static const CGEN_MACH *
-lookup_mach_via_bfd_name (table, 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 (cd)
- 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 (cd)
- 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 (cd)
- 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 =
- (const CGEN_OPERAND **) xmalloc (MAX_OPERANDS * sizeof (CGEN_OPERAND *));
-
- 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 (cd)
- CGEN_CPU_TABLE *cd;
-{
- int i;
- const CGEN_IBASE *ib = & sh_cgen_insn_table[0];
- CGEN_INSN *insns = (CGEN_INSN *) 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 (cd)
- CGEN_CPU_TABLE *cd;
-{
- int i,n_isas;
- unsigned int isas = cd->isas;
-#if 0
- unsigned int machs = cd->machs;
-#endif
-
- 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 (((1 << i) & isas) != 0)
- {
- 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;
-
- ++n_isas;
- }
-
-#if 0 /* Does nothing?? */
- /* 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];
-
- ++n_machs;
- }
-#endif
-
- /* 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.
-
- ??? We only support ISO C stdargs here, not K&R.
- Laziness, plus experiment to see if anything requires K&R - eventually
- K&R will no longer be supported - e.g. GDB is currently trying this. */
-
-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;
- unsigned int 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, unsigned int);
- 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 |= mach->num << 1;
- 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;
- /* isa unspecified means "all" */
- if (isas == 0)
- isas = (1 << MAX_ISAS) - 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 = 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 (mach_name, endian)
- 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 (cd)
- CGEN_CPU_DESC cd;
-{
- 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);
- free (cd);
-}
-
diff --git a/sim/sh64/sh-desc.h b/sim/sh64/sh-desc.h
deleted file mode 100644
index 30402cc53fa..00000000000
--- a/sim/sh64/sh-desc.h
+++ /dev/null
@@ -1,249 +0,0 @@
-/* CPU data header for sh.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
-
-This file is part of the GNU Binutils and/or GDB, the GNU debugger.
-
-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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#ifndef SH_CPU_H
-#define SH_CPU_H
-
-#define CGEN_ARCH sh
-
-/* Given symbol S, return sh_cgen_<S>. */
-#if defined (__STDC__) || defined (ALMOST_STDC) || defined (HAVE_STRINGIZE)
-#define CGEN_SYM(s) sh##_cgen_##s
-#else
-#define CGEN_SYM(s) sh/**/_cgen_/**/s
-#endif
-
-
-/* Selected cpu families. */
-#define HAVE_CPU_SH64
-
-#define CGEN_INSN_LSB0_P 1
-
-/* 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 nymber of syntax bytes in an instruction. */
-#define CGEN_ACTUAL_MAX_SYNTAX_BYTES 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_SH3, MACH_SH3E
- , MACH_SH4, MACH_SH5, MACH_MAX
-} MACH_ATTR;
-
-/* Enum declaration for instruction set selection. */
-typedef enum isa_attr {
- ISA_COMPACT, ISA_MEDIA, ISA_MAX
-} ISA_ATTR;
-
-/* Number of architecture variants. */
-#define MAX_ISAS ((int) ISA_MAX)
-#define MAX_MACHS ((int) MACH_MAX)
-
-/* 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)
-
-/* 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_8_1, 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_DN
- , SH_F_DM, SH_F_VN, SH_F_VM, SH_F_XN
- , SH_F_XM, 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_25
- , SH_F_8_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_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)
-
-/* 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_TR, HW_H_ENDIAN
- , HW_H_ISM, HW_H_FRC, HW_H_DRC, HW_H_XF
- , HW_H_XD, HW_H_FVC, HW_H_FPCCR, HW_H_GBR
- , 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)
-
-/* 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_FVN, SH_OPERAND_FVM, SH_OPERAND_DRN, SH_OPERAND_DRM
- , SH_OPERAND_IMM4, SH_OPERAND_IMM8, SH_OPERAND_UIMM8, SH_OPERAND_IMM4X2
- , SH_OPERAND_IMM4X4, SH_OPERAND_IMM8X2, SH_OPERAND_IMM8X4, SH_OPERAND_DISP8
- , SH_OPERAND_DISP12, SH_OPERAND_RM64, SH_OPERAND_RN64, SH_OPERAND_GBR
- , 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 72
-
-/* 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_RELAX
- , CGEN_INSN_NO_DIS, CGEN_INSN_PBB, CGEN_INSN_ILLSLOT, CGEN_INSN_FP_INSN
- , CGEN_INSN_END_BOOLS, CGEN_INSN_START_NBOOLS = 31, CGEN_INSN_MACH, CGEN_INSN_ISA
- , 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.h uses things we just defined. */
-#include "opcode/cgen.h"
-
-/* 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_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;
-
-/* Ifield support. */
-
-extern const struct cgen_ifld sh_cgen_ifld_table[];
-
-
-
-
-#endif /* SH_CPU_H */
diff --git a/sim/sh64/sh-opc.h b/sim/sh64/sh-opc.h
deleted file mode 100644
index 3e0b8e25ec5..00000000000
--- a/sim/sh64/sh-opc.h
+++ /dev/null
@@ -1,216 +0,0 @@
-/* Instruction opcode header for sh.
-
-THIS FILE IS MACHINE GENERATED WITH CGEN.
-
-Copyright (C) 1996, 1997, 1998, 1999, 2000 Free Software Foundation, Inc.
-
-This file is part of the GNU Binutils and/or GDB, the GNU debugger.
-
-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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA.
-
-*/
-
-#ifndef SH_OPC_H
-#define SH_OPC_H
-
-/* -- opc.h */
-
-/* Allows reason codes to be output when assembler errors occur. */
-#define CGEN_VERBOSE_ASSEMBLER_ERRORS
-
-/* Override disassembly hashing - there are variable bits in the top
- byte of these instructions. */
-#define CGEN_DIS_HASH_SIZE 8
-#define CGEN_DIS_HASH(buf,value) (((* (unsigned char*) (buf)) >> 6) % CGEN_DIS_HASH_SIZE)
-
-/* -- asm.c */
-/* 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_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_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_COMPACT, SH_INSN_LDCL_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_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_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_MOVT_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_STCL_GBR_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
- , SH_INSN_MAX
-} 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_MAX)
-
-/* 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_8_1;
- 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_dn;
- long f_dm;
- long f_vn;
- long f_vm;
- long f_xn;
- long f_xm;
- 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_25;
- long f_8_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
index fc3ed7add09..00000000000
--- a/sim/sh64/sh64-sim.h
+++ /dev/null
@@ -1,89 +0,0 @@
-/* collection of junk waiting time to sort out
- Copyright (C) 2000 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#ifndef SH64_SIM_H
-#define SH64_SIM_H
-
-#define GETTWI GETTSI
-#define SETTWI SETTSI
-
-
-enum {
- ISM_COMPACT, ISM_MEDIA
-};
-
-/* Hardware/device support. */
-extern device sh5_devices;
-
-/* FIXME: Temporary, until device support ready. */
-struct _device { int foo; };
-
-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);
-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);
-
-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
index 12ce3f69a66..00000000000
--- a/sim/sh64/sh64.c
+++ /dev/null
@@ -1,1030 +0,0 @@
-/* SH5 simulator support code
- Copyright (C) 2000, 2001 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#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);
- }
-}
-
-/* Count the number of arguments. */
-static int
-count_argc (cpu)
- SIM_CPU *cpu;
-{
- int i = 0;
-
- if (! STATE_PROG_ARGV (CPU_STATE (cpu)))
- return -1;
-
- while (STATE_PROG_ARGV (CPU_STATE (cpu)) [i] != NULL)
- ++i;
-
- return i;
-}
-
-/* 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));
- zfree (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);
- zfree (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));
- zfree (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, count_argc (current_cpu));
- break;
-
- case SYS_argnlen:
- if (PARM1 < count_argc (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 < count_argc (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);
-}
-
-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 MODEL sh_models [] =
-{
- { "sh2", & sh2_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 },
- { "sh5", & sh5_mach, MODEL_SH5, NULL, sh64_model_init },
- { 0 }
-};
-
-static const MACH_IMP_PROPERTIES sh5_imp_properties =
-{
- sizeof (SIM_CPU),
-#if WITH_SCACHE
- sizeof (SCACHE)
-#else
- 0
-#endif
-};
-
-const MACH sh2_mach =
-{
- "sh2", "sh2", MACH_SH5,
- 16, 16, &sh_models[0], &sh5_imp_properties,
- shcompact_init_cpu,
- sh64_prepare_run
-};
-
-const MACH sh3_mach =
-{
- "sh3", "sh3", MACH_SH5,
- 16, 16, &sh_models[1], &sh5_imp_properties,
- shcompact_init_cpu,
- sh64_prepare_run
-};
-
-const MACH sh3e_mach =
-{
- "sh3e", "sh3e", MACH_SH5,
- 16, 16, &sh_models[2], &sh5_imp_properties,
- shcompact_init_cpu,
- sh64_prepare_run
-};
-
-const MACH sh4_mach =
-{
- "sh4", "sh4", MACH_SH5,
- 16, 16, &sh_models[3], &sh5_imp_properties,
- shcompact_init_cpu,
- sh64_prepare_run
-};
-
-const MACH sh5_mach =
-{
- "sh5", "sh5", MACH_SH5,
- 32, 32, &sh_models[4], &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
index f34ff29065e..00000000000
--- a/sim/sh64/sim-if.c
+++ /dev/null
@@ -1,236 +0,0 @@
-/* Main simulator entry points specific to the SH5.
- Copyright (C) 2000 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 2, or (at your option)
-any later version.
-
-This program is distributed in the hope that it will be useful,
-but WITHOUT ANY WARRANTY; without even the implied warranty of
-MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
-GNU General Public License for more details.
-
-You should have received a copy of the GNU General Public License along
-with this program; if not, write to the Free Software Foundation, Inc.,
-59 Temple Place - Suite 330, Boston, MA 02111-1307, USA. */
-
-#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;
-
-/* Records simulator descriptor so utilities like sh5_dump_regs can be
- called from gdb. */
-SIM_DESC current_state;
-
-/* 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 **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;
- }
-
-#if 0 /* FIXME: 'twould be nice if we could do this */
- /* These options override any module options.
- Obviously ambiguity should be avoided, however the caller may wish to
- augment the meaning of an option. */
- if (extra_options != NULL)
- sim_add_option_table (sd, extra_options);
-#endif
-
- /* getopt will print the error message so we just have to exit if this fails.
- FIXME: Hmmm... in the case of gdb we need getopt to call
- print_filtered. */
- 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);
-
- /* Store in a global so things like sparc32_dump_regs can be invoked
- from the gdb command line. */
- current_state = sd;
-
- return sd;
-}
-
-void
-sim_close (sd, quitting)
- SIM_DESC sd;
- int quitting;
-{
- sh_cgen_cpu_close (CPU_CPU_DESC (STATE_CPU (sd, 0)));
- sim_module_uninstall (sd);
-}
-
-SIM_RC
-sim_create_inferior (sd, abfd, argv, envp)
- SIM_DESC sd;
- struct bfd *abfd;
- char **argv;
- char **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);
-
-#if 0
- STATE_ARGV (sd) = sim_copy_argv (argv);
- STATE_ENVP (sd) = sim_copy_argv (envp);
-#endif
-
- return SIM_RC_OK;
-}
-
-void
-sim_do_command (sd, cmd)
- SIM_DESC sd;
- char *cmd;
-{
- if (sim_args_command (sd, cmd) != SIM_RC_OK)
- sim_io_eprintf (sd, "Unknown command `%s'\n", cmd);
-}
-
-
-/* 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
index e7cbe99217a..00000000000
--- a/sim/sh64/sim-main.h
+++ /dev/null
@@ -1,75 +0,0 @@
-/* Main header for the Hitachi SH64 architecture. */
-
-#ifndef SIM_MAIN_H
-#define SIM_MAIN_H
-
-#define USING_SIM_BASE_H /* FIXME: quick hack */
-
-struct _sim_cpu; /* FIXME: should be in sim-basics.h */
-typedef struct _sim_cpu SIM_CPU;
-
-/* 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"
-
-#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_GET(cpu) CPU_PC_GET (cpu)
-#define CIA_SET(cpu,val) CPU_PC_SET ((cpu), (val) | (sh64_h_ism_get (cpu)))
-
-#include "sim-base.h"
-#include "cgen-sim.h"
-#include "sh64-sim.h"
-
-/* 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
-};
-
-/* The sim_state struct. */
-
-struct sim_state {
- sim_cpu *cpu;
-#define STATE_CPU(sd, n) (/*&*/ (sd)->cpu)
-
- CGEN_STATE cgen_state;
-
- sim_state_base base;
-};
-
-/* 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 */
diff --git a/sim/sh64/tconfig.in b/sim/sh64/tconfig.in
deleted file mode 100644
index bab3f1ce7ed..00000000000
--- a/sim/sh64/tconfig.in
+++ /dev/null
@@ -1,45 +0,0 @@
-/* SH64 target configuration file. -*- C -*- */
-
-/* Define this if the simulator can vary the size of memory.
- See the xxx simulator for an example.
- This enables the `-m size' option.
- The memory size is stored in STATE_MEM_SIZE. */
-/* Not used for SH64 since we use the memory module. TODO -- check this */
-/* #define SIM_HAVE_MEM_SIZE */
-
-/* See sim-hload.c. We properly handle LMA. -- TODO: check this */
-#define SIM_HANDLES_LMA 1
-
-/* For MSPR support. FIXME: revisit. */
-#define WITH_DEVICES 0
-
-/* FIXME: Revisit. */
-#ifdef HAVE_DV_SOCKSER
-MODULE_INSTALL_FN dv_sockser_install;
-#define MODULE_LIST dv_sockser_install,
-#endif
-
-#if 0
-/* Enable watchpoints. */
-#define WITH_WATCHPOINTS 1
-#endif
-
-/* ??? Temporary hack until model support unified. */
-#define SIM_HAVE_MODEL
-
-/* Define this to enable the intrinsic breakpoint mechanism. */
-/* FIXME: may be able to remove SIM_HAVE_BREAKPOINTS since it essentially
- duplicates ifdef SIM_BREAKPOINT (right?) */
-#if 1
-#define SIM_HAVE_BREAKPOINTS
-#define SIM_BREAKPOINT { 0, 0, 0, 0xD }
-#define SIM_BREAKPOINT_SIZE 4
-#endif
-
-/* 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
-
-/* Define this if the target cpu is bi-endian and the simulator supports it. */
-#define SIM_HAVE_BIENDIAN
diff --git a/sim/testsuite/sim/sh64/ChangeLog b/sim/testsuite/sim/sh64/ChangeLog
deleted file mode 100644
index 8bb2f764ae6..00000000000
--- a/sim/testsuite/sim/sh64/ChangeLog
+++ /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
index d3d482acf0f..00000000000
--- a/sim/testsuite/sim/sh64/compact.exp
+++ /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
index 99aaec1ff02..00000000000
--- a/sim/testsuite/sim/sh64/compact/ChangeLog
+++ /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
index 105e4849069..00000000000
--- a/sim/testsuite/sim/sh64/compact/add.cgs
+++ /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
index f6e46e1a969..00000000000
--- a/sim/testsuite/sim/sh64/compact/addc.cgs
+++ /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
index 7c96ddf76d5..00000000000
--- a/sim/testsuite/sim/sh64/compact/addi.cgs
+++ /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
index 0267e5dfa00..00000000000
--- a/sim/testsuite/sim/sh64/compact/addv.cgs
+++ /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
index e1452752ae0..00000000000
--- a/sim/testsuite/sim/sh64/compact/and.cgs
+++ /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
index 77e628598b1..00000000000
--- a/sim/testsuite/sim/sh64/compact/andb.cgs
+++ /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
index 32d71c5b477..00000000000
--- a/sim/testsuite/sim/sh64/compact/andi.cgs
+++ /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
index 5c361f94b89..00000000000
--- a/sim/testsuite/sim/sh64/compact/bf.cgs
+++ /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
index 3cad5f6fc73..00000000000
--- a/sim/testsuite/sim/sh64/compact/bfs.cgs
+++ /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
index 77c6da9bdde..00000000000
--- a/sim/testsuite/sim/sh64/compact/bra.cgs
+++ /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
index e761f6d0a6d..00000000000
--- a/sim/testsuite/sim/sh64/compact/braf.cgs
+++ /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
index 99080724565..00000000000
--- a/sim/testsuite/sim/sh64/compact/brk.cgs
+++ /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
index 75a1a2b275e..00000000000
--- a/sim/testsuite/sim/sh64/compact/bsr.cgs
+++ /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
index 9360eaa88b0..00000000000
--- a/sim/testsuite/sim/sh64/compact/bsrf.cgs
+++ /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
index 65b9d61b885..00000000000
--- a/sim/testsuite/sim/sh64/compact/bt.cgs
+++ /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
index 3d62e4d822c..00000000000
--- a/sim/testsuite/sim/sh64/compact/bts.cgs
+++ /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
index 482dc804d62..00000000000
--- a/sim/testsuite/sim/sh64/compact/clrmac.cgs
+++ /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
index bed5fd5178e..00000000000
--- a/sim/testsuite/sim/sh64/compact/clrs.cgs
+++ /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
index 281c2f4243d..00000000000
--- a/sim/testsuite/sim/sh64/compact/clrt.cgs
+++ /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
index 3cc744cf7f7..00000000000
--- a/sim/testsuite/sim/sh64/compact/cmpeq.cgs
+++ /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
index 79900a0cecc..00000000000
--- a/sim/testsuite/sim/sh64/compact/cmpeqi.cgs
+++ /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
index 9d4327e35cc..00000000000
--- a/sim/testsuite/sim/sh64/compact/cmpge.cgs
+++ /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
index 460ca65ae68..00000000000
--- a/sim/testsuite/sim/sh64/compact/cmpgt.cgs
+++ /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
index efbcaa328cd..00000000000
--- a/sim/testsuite/sim/sh64/compact/cmphi.cgs
+++ /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
index 957f80c0245..00000000000
--- a/sim/testsuite/sim/sh64/compact/cmphs.cgs
+++ /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
index 1c11377f34b..00000000000
--- a/sim/testsuite/sim/sh64/compact/cmppl.cgs
+++ /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
index 2e0bf48e827..00000000000
--- a/sim/testsuite/sim/sh64/compact/cmppz.cgs
+++ /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
index 70d90d33c20..00000000000
--- a/sim/testsuite/sim/sh64/compact/cmpstr.cgs
+++ /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
index 8cd6422bea8..00000000000
--- a/sim/testsuite/sim/sh64/compact/div0s.cgs
+++ /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
index 02f8534d4c4..00000000000
--- a/sim/testsuite/sim/sh64/compact/div0u.cgs
+++ /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
index 63a0e81cb12..00000000000
--- a/sim/testsuite/sim/sh64/compact/div1.cgs
+++ /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
index 081ce169955..00000000000
--- a/sim/testsuite/sim/sh64/compact/dmulsl.cgs
+++ /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
index b34b870269d..00000000000
--- a/sim/testsuite/sim/sh64/compact/dmulul.cgs
+++ /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
index 38e91638bd9..00000000000
--- a/sim/testsuite/sim/sh64/compact/dt.cgs
+++ /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
index 90878020a28..00000000000
--- a/sim/testsuite/sim/sh64/compact/extsb.cgs
+++ /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
index d6257747df7..00000000000
--- a/sim/testsuite/sim/sh64/compact/extsw.cgs
+++ /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
index 51c14ac4359..00000000000
--- a/sim/testsuite/sim/sh64/compact/extub.cgs
+++ /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
index 057afe7d949..00000000000
--- a/sim/testsuite/sim/sh64/compact/extuw.cgs
+++ /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
index 6955fa2aa16..00000000000
--- a/sim/testsuite/sim/sh64/compact/fabs.cgs
+++ /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
index b00035308f8..00000000000
--- a/sim/testsuite/sim/sh64/compact/fadd.cgs
+++ /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
index 151d5e5647a..00000000000
--- a/sim/testsuite/sim/sh64/compact/fcmpeq.cgs
+++ /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
index 931ae3e2e6c..00000000000
--- a/sim/testsuite/sim/sh64/compact/fcmpgt.cgs
+++ /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
index abf9e704ffb..00000000000
--- a/sim/testsuite/sim/sh64/compact/fcnvds.cgs
+++ /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
index 699bde55c6e..00000000000
--- a/sim/testsuite/sim/sh64/compact/fcnvsd.cgs
+++ /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
index 06d1e93a014..00000000000
--- a/sim/testsuite/sim/sh64/compact/fdiv.cgs
+++ /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
index 092f0f6c066..00000000000
--- a/sim/testsuite/sim/sh64/compact/fipr.cgs
+++ /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
index b0d35e4fb09..00000000000
--- a/sim/testsuite/sim/sh64/compact/fldi0.cgs
+++ /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
index 8bd5c521be2..00000000000
--- a/sim/testsuite/sim/sh64/compact/fldi1.cgs
+++ /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
index 797e7cba9ab..00000000000
--- a/sim/testsuite/sim/sh64/compact/flds.cgs
+++ /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
index 8532d7fd651..00000000000
--- a/sim/testsuite/sim/sh64/compact/float.cgs
+++ /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
index dbf36ab78c8..00000000000
--- a/sim/testsuite/sim/sh64/compact/fmac.cgs
+++ /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
index f4e1fde3c11..00000000000
--- a/sim/testsuite/sim/sh64/compact/fmov.cgs
+++ /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
index a1325d6395b..00000000000
--- a/sim/testsuite/sim/sh64/compact/fmul.cgs
+++ /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
index 71fc901fb6d..00000000000
--- a/sim/testsuite/sim/sh64/compact/fneg.cgs
+++ /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
index 6f2e743fc37..00000000000
--- a/sim/testsuite/sim/sh64/compact/frchg.cgs
+++ /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
index 54a1491962b..00000000000
--- a/sim/testsuite/sim/sh64/compact/fschg.cgs
+++ /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
index 933e112c903..00000000000
--- a/sim/testsuite/sim/sh64/compact/fsqrt.cgs
+++ /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
index 518533db094..00000000000
--- a/sim/testsuite/sim/sh64/compact/fsts.cgs
+++ /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
index 346d01ffcaa..00000000000
--- a/sim/testsuite/sim/sh64/compact/fsub.cgs
+++ /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
index 6a89744b33e..00000000000
--- a/sim/testsuite/sim/sh64/compact/ftrc.cgs
+++ /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
index 9bdf806ba13..00000000000
--- a/sim/testsuite/sim/sh64/compact/ftrv.cgs
+++ /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
index e9e99401545..00000000000
--- a/sim/testsuite/sim/sh64/compact/jmp.cgs
+++ /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
index 5ad7aefc931..00000000000
--- a/sim/testsuite/sim/sh64/compact/jsr.cgs
+++ /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
index b19a3c194fe..00000000000
--- a/sim/testsuite/sim/sh64/compact/ldc-gbr.cgs
+++ /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
index 613e58e722c..00000000000
--- a/sim/testsuite/sim/sh64/compact/ldcl-gbr.cgs
+++ /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
index 2dce253375d..00000000000
--- a/sim/testsuite/sim/sh64/compact/lds-fpscr.cgs
+++ /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
index 1a80a7032ea..00000000000
--- a/sim/testsuite/sim/sh64/compact/lds-fpul.cgs
+++ /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
index 1ffd6566c9a..00000000000
--- a/sim/testsuite/sim/sh64/compact/lds-mach.cgs
+++ /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
index f09315abbb6..00000000000
--- a/sim/testsuite/sim/sh64/compact/lds-macl.cgs
+++ /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
index 97e3a650767..00000000000
--- a/sim/testsuite/sim/sh64/compact/lds-pr.cgs
+++ /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
index 642f15dc527..00000000000
--- a/sim/testsuite/sim/sh64/compact/ldsl-fpscr.cgs
+++ /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
index 428a5b71816..00000000000
--- a/sim/testsuite/sim/sh64/compact/ldsl-fpul.cgs
+++ /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
index f5ffdec8dce..00000000000
--- a/sim/testsuite/sim/sh64/compact/ldsl-mach.cgs
+++ /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
index 4e21bf1942f..00000000000
--- a/sim/testsuite/sim/sh64/compact/ldsl-macl.cgs
+++ /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
index eb8ee531bd3..00000000000
--- a/sim/testsuite/sim/sh64/compact/ldsl-pr.cgs
+++ /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
index ef2dfa6e929..00000000000
--- a/sim/testsuite/sim/sh64/compact/macl.cgs
+++ /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
index f5935f7054d..00000000000
--- a/sim/testsuite/sim/sh64/compact/macw.cgs
+++ /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
index 9442388384e..00000000000
--- a/sim/testsuite/sim/sh64/compact/mov.cgs
+++ /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
index f555d66e093..00000000000
--- a/sim/testsuite/sim/sh64/compact/mova.cgs
+++ /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
index 8278e1bbeaa..00000000000
--- a/sim/testsuite/sim/sh64/compact/movb1.cgs
+++ /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
index 0ddb736f868..00000000000
--- a/sim/testsuite/sim/sh64/compact/movb10.cgs
+++ /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
index 692c34fb648..00000000000
--- a/sim/testsuite/sim/sh64/compact/movb2.cgs
+++ /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
index 6143562b8c1..00000000000
--- a/sim/testsuite/sim/sh64/compact/movb3.cgs
+++ /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
index d30a7a8641f..00000000000
--- a/sim/testsuite/sim/sh64/compact/movb4.cgs
+++ /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
index 4f6795a8860..00000000000
--- a/sim/testsuite/sim/sh64/compact/movb5.cgs
+++ /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
index 9ddebde5ce4..00000000000
--- a/sim/testsuite/sim/sh64/compact/movb6.cgs
+++ /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
index f55a223436b..00000000000
--- a/sim/testsuite/sim/sh64/compact/movb7.cgs
+++ /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
index 883e4b357ed..00000000000
--- a/sim/testsuite/sim/sh64/compact/movb8.cgs
+++ /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
index 3ad1b46f2c0..00000000000
--- a/sim/testsuite/sim/sh64/compact/movb9.cgs
+++ /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
index 7aac57e7f43..00000000000
--- a/sim/testsuite/sim/sh64/compact/movcal.cgs
+++ /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
index bc72c1b8e63..00000000000
--- a/sim/testsuite/sim/sh64/compact/movi.cgs
+++ /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
index 7d85c380f3e..00000000000
--- a/sim/testsuite/sim/sh64/compact/movl1.cgs
+++ /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
index 5e9cf2d2fbd..00000000000
--- a/sim/testsuite/sim/sh64/compact/movl10.cgs
+++ /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
index 32c763d8a2e..00000000000
--- a/sim/testsuite/sim/sh64/compact/movl11.cgs
+++ /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
index bb550612cce..00000000000
--- a/sim/testsuite/sim/sh64/compact/movl2.cgs
+++ /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
index 6205de7558d..00000000000
--- a/sim/testsuite/sim/sh64/compact/movl3.cgs
+++ /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
index 44440946365..00000000000
--- a/sim/testsuite/sim/sh64/compact/movl4.cgs
+++ /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
index 897ebef2367..00000000000
--- a/sim/testsuite/sim/sh64/compact/movl5.cgs
+++ /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
index 42f63b2a9ac..00000000000
--- a/sim/testsuite/sim/sh64/compact/movl6.cgs
+++ /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
index b6c12fc5515..00000000000
--- a/sim/testsuite/sim/sh64/compact/movl7.cgs
+++ /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
index a6cd932d0a2..00000000000
--- a/sim/testsuite/sim/sh64/compact/movl8.cgs
+++ /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
index 4fa07b069d8..00000000000
--- a/sim/testsuite/sim/sh64/compact/movl9.cgs
+++ /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
index 45539810beb..00000000000
--- a/sim/testsuite/sim/sh64/compact/movt.cgs
+++ /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
index 5d55a581ffd..00000000000
--- a/sim/testsuite/sim/sh64/compact/movw1.cgs
+++ /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
index 5bab9117e9e..00000000000
--- a/sim/testsuite/sim/sh64/compact/movw10.cgs
+++ /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
index df739fa783d..00000000000
--- a/sim/testsuite/sim/sh64/compact/movw11.cgs
+++ /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
index 27c29dc0292..00000000000
--- a/sim/testsuite/sim/sh64/compact/movw2.cgs
+++ /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
index d7b39c81506..00000000000
--- a/sim/testsuite/sim/sh64/compact/movw3.cgs
+++ /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
index 4853b5019bc..00000000000
--- a/sim/testsuite/sim/sh64/compact/movw4.cgs
+++ /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
index 9b4f84f6516..00000000000
--- a/sim/testsuite/sim/sh64/compact/movw5.cgs
+++ /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
index 758497c13e7..00000000000
--- a/sim/testsuite/sim/sh64/compact/movw6.cgs
+++ /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
index 45f5c098e4e..00000000000
--- a/sim/testsuite/sim/sh64/compact/movw7.cgs
+++ /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
index 0a7ce3f346c..00000000000
--- a/sim/testsuite/sim/sh64/compact/movw8.cgs
+++ /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
index 1872f06afb6..00000000000
--- a/sim/testsuite/sim/sh64/compact/movw9.cgs
+++ /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
index 921141aafd6..00000000000
--- a/sim/testsuite/sim/sh64/compact/mull.cgs
+++ /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
index 05c8a3d384c..00000000000
--- a/sim/testsuite/sim/sh64/compact/mulsw.cgs
+++ /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
index fa0a3343332..00000000000
--- a/sim/testsuite/sim/sh64/compact/muluw.cgs
+++ /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
index b6f98d74060..00000000000
--- a/sim/testsuite/sim/sh64/compact/neg.cgs
+++ /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
index 1f5547d9bab..00000000000
--- a/sim/testsuite/sim/sh64/compact/negc.cgs
+++ /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
index 8ce910c5abd..00000000000
--- a/sim/testsuite/sim/sh64/compact/nop.cgs
+++ /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
index 380808ddb57..00000000000
--- a/sim/testsuite/sim/sh64/compact/not.cgs
+++ /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
index 12fb2a116c4..00000000000
--- a/sim/testsuite/sim/sh64/compact/ocbi.cgs
+++ /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
index 153aff2eade..00000000000
--- a/sim/testsuite/sim/sh64/compact/ocbp.cgs
+++ /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
index 6b0a741cbca..00000000000
--- a/sim/testsuite/sim/sh64/compact/ocbwb.cgs
+++ /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
index a02eee39aaf..00000000000
--- a/sim/testsuite/sim/sh64/compact/or.cgs
+++ /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
index 7e962f6fe69..00000000000
--- a/sim/testsuite/sim/sh64/compact/orb.cgs
+++ /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
index 63a5fb58740..00000000000
--- a/sim/testsuite/sim/sh64/compact/ori.cgs
+++ /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
index 065e0932e6c..00000000000
--- a/sim/testsuite/sim/sh64/compact/pref.cgs
+++ /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
index 5e1a3b91137..00000000000
--- a/sim/testsuite/sim/sh64/compact/rotcl.cgs
+++ /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
index b53300ec54f..00000000000
--- a/sim/testsuite/sim/sh64/compact/rotcr.cgs
+++ /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
index e292de7e437..00000000000
--- a/sim/testsuite/sim/sh64/compact/rotl.cgs
+++ /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
index 7f80f993aea..00000000000
--- a/sim/testsuite/sim/sh64/compact/rotr.cgs
+++ /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
index eeb8dce9332..00000000000
--- a/sim/testsuite/sim/sh64/compact/rts.cgs
+++ /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
index f031701d6ee..00000000000
--- a/sim/testsuite/sim/sh64/compact/sets.cgs
+++ /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
index 9ae8af536e7..00000000000
--- a/sim/testsuite/sim/sh64/compact/sett.cgs
+++ /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
index 340743d8f1f..00000000000
--- a/sim/testsuite/sim/sh64/compact/shad.cgs
+++ /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
index dfea947e856..00000000000
--- a/sim/testsuite/sim/sh64/compact/shal.cgs
+++ /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
index e3e92fca080..00000000000
--- a/sim/testsuite/sim/sh64/compact/shar.cgs
+++ /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
index 32e4100259d..00000000000
--- a/sim/testsuite/sim/sh64/compact/shld.cgs
+++ /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
index 882f2c2e1ef..00000000000
--- a/sim/testsuite/sim/sh64/compact/shll.cgs
+++ /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
index 0637c3de706..00000000000
--- a/sim/testsuite/sim/sh64/compact/shll16.cgs
+++ /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
index 6e28c664307..00000000000
--- a/sim/testsuite/sim/sh64/compact/shll2.cgs
+++ /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
index fe455ec753d..00000000000
--- a/sim/testsuite/sim/sh64/compact/shll8.cgs
+++ /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
index 9d86461b959..00000000000
--- a/sim/testsuite/sim/sh64/compact/shlr.cgs
+++ /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
index 7bfc62788f3..00000000000
--- a/sim/testsuite/sim/sh64/compact/shlr16.cgs
+++ /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
index 6f085979443..00000000000
--- a/sim/testsuite/sim/sh64/compact/shlr2.cgs
+++ /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
index 82040b581b8..00000000000
--- a/sim/testsuite/sim/sh64/compact/shlr8.cgs
+++ /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
index 1b84008c9d2..00000000000
--- a/sim/testsuite/sim/sh64/compact/stc-gbr.cgs
+++ /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
index 3e74cc551de..00000000000
--- a/sim/testsuite/sim/sh64/compact/stcl-gbr.cgs
+++ /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
index 42724b44fff..00000000000
--- a/sim/testsuite/sim/sh64/compact/sts-fpscr.cgs
+++ /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
index ddbdaf15fb2..00000000000
--- a/sim/testsuite/sim/sh64/compact/sts-fpul.cgs
+++ /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
index 4d34bc17aa8..00000000000
--- a/sim/testsuite/sim/sh64/compact/sts-mach.cgs
+++ /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
index b805f796e44..00000000000
--- a/sim/testsuite/sim/sh64/compact/sts-macl.cgs
+++ /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
index 3e4f6ee880a..00000000000
--- a/sim/testsuite/sim/sh64/compact/sts-pr.cgs
+++ /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
index 032870dc189..00000000000
--- a/sim/testsuite/sim/sh64/compact/stsl-fpscr.cgs
+++ /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
index 89bd9e73849..00000000000
--- a/sim/testsuite/sim/sh64/compact/stsl-fpul.cgs
+++ /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
index e15bddece29..00000000000
--- a/sim/testsuite/sim/sh64/compact/stsl-mach.cgs
+++ /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
index 854ef341552..00000000000
--- a/sim/testsuite/sim/sh64/compact/stsl-macl.cgs
+++ /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
index b519c9bb5bd..00000000000
--- a/sim/testsuite/sim/sh64/compact/stsl-pr.cgs
+++ /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
index 3ba29f872aa..00000000000
--- a/sim/testsuite/sim/sh64/compact/sub.cgs
+++ /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
index cda1e84ae9d..00000000000
--- a/sim/testsuite/sim/sh64/compact/subc.cgs
+++ /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
index ceb8c64e7fd..00000000000
--- a/sim/testsuite/sim/sh64/compact/subv.cgs
+++ /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
index 22f6f16a2e1..00000000000
--- a/sim/testsuite/sim/sh64/compact/swapb.cgs
+++ /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
index fa1ab697f27..00000000000
--- a/sim/testsuite/sim/sh64/compact/swapw.cgs
+++ /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
index cb7f61870d2..00000000000
--- a/sim/testsuite/sim/sh64/compact/tasb.cgs
+++ /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
index b1ad830578b..00000000000
--- a/sim/testsuite/sim/sh64/compact/testutils.inc
+++ /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
index 24f8a6b13ba..00000000000
--- a/sim/testsuite/sim/sh64/compact/trapa.cgs
+++ /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
index a72b8a9a743..00000000000
--- a/sim/testsuite/sim/sh64/compact/tst.cgs
+++ /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
index 1b3829b1d30..00000000000
--- a/sim/testsuite/sim/sh64/compact/tstb.cgs
+++ /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
index e088029b470..00000000000
--- a/sim/testsuite/sim/sh64/compact/tsti.cgs
+++ /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
index d158aaf3713..00000000000
--- a/sim/testsuite/sim/sh64/compact/xor.cgs
+++ /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
index b31464b3c13..00000000000
--- a/sim/testsuite/sim/sh64/compact/xorb.cgs
+++ /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
index 732b9ec5c48..00000000000
--- a/sim/testsuite/sim/sh64/compact/xori.cgs
+++ /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
index 11dae7cbdec..00000000000
--- a/sim/testsuite/sim/sh64/compact/xtrct.cgs
+++ /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
index acd19b3c90c..00000000000
--- a/sim/testsuite/sim/sh64/interwork.exp
+++ /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
index 1a3d9f4c961..00000000000
--- a/sim/testsuite/sim/sh64/media.exp
+++ /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
index e435dbe5278..00000000000
--- a/sim/testsuite/sim/sh64/media/ChangeLog
+++ /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
index 9778e8fd62c..00000000000
--- a/sim/testsuite/sim/sh64/media/add.cgs
+++ /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
index 3d4b49f5995..00000000000
--- a/sim/testsuite/sim/sh64/media/addi.cgs
+++ /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
index 5c92e2733a6..00000000000
--- a/sim/testsuite/sim/sh64/media/addil.cgs
+++ /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
index 7f94b616206..00000000000
--- a/sim/testsuite/sim/sh64/media/addl.cgs
+++ /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
index b7917d377a6..00000000000
--- a/sim/testsuite/sim/sh64/media/addzl.cgs
+++ /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
index 5f27359c3b6..00000000000
--- a/sim/testsuite/sim/sh64/media/alloco.cgs
+++ /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
index c2d42339bcf..00000000000
--- a/sim/testsuite/sim/sh64/media/and.cgs
+++ /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
index 60b50ace465..00000000000
--- a/sim/testsuite/sim/sh64/media/andc.cgs
+++ /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
index decfc2fc2ec..00000000000
--- a/sim/testsuite/sim/sh64/media/andi.cgs
+++ /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
index 6f96ffdf00f..00000000000
--- a/sim/testsuite/sim/sh64/media/beq.cgs
+++ /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
index c2b4ea8acf5..00000000000
--- a/sim/testsuite/sim/sh64/media/beqi.cgs
+++ /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
index 832ff06ac21..00000000000
--- a/sim/testsuite/sim/sh64/media/bge.cgs
+++ /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
index da469d0e4ae..00000000000
--- a/sim/testsuite/sim/sh64/media/bgeu.cgs
+++ /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
index 8866635b818..00000000000
--- a/sim/testsuite/sim/sh64/media/bgt.cgs
+++ /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
index 3cc02696e75..00000000000
--- a/sim/testsuite/sim/sh64/media/bgtu.cgs
+++ /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
index 000d1f597f2..00000000000
--- a/sim/testsuite/sim/sh64/media/blink.cgs
+++ /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
index f574147e3de..00000000000
--- a/sim/testsuite/sim/sh64/media/bne.cgs
+++ /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
index 5ce33991c0d..00000000000
--- a/sim/testsuite/sim/sh64/media/bnei.cgs
+++ /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
index 073641443ec..00000000000
--- a/sim/testsuite/sim/sh64/media/brk.cgs
+++ /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
index d97c3adb7b0..00000000000
--- a/sim/testsuite/sim/sh64/media/byterev.cgs
+++ /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
index 78f51f4a65d..00000000000
--- a/sim/testsuite/sim/sh64/media/cmpeq.cgs
+++ /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
index e4a971bd5ee..00000000000
--- a/sim/testsuite/sim/sh64/media/cmpgt.cgs
+++ /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
index b896dfcb9fd..00000000000
--- a/sim/testsuite/sim/sh64/media/cmpgtu.cgs
+++ /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
index 0f49733de36..00000000000
--- a/sim/testsuite/sim/sh64/media/cmveq.cgs
+++ /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
index 909179afc76..00000000000
--- a/sim/testsuite/sim/sh64/media/cmvne.cgs
+++ /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
index 47060fcc44b..00000000000
--- a/sim/testsuite/sim/sh64/media/fabsd.cgs
+++ /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
index dd9aec7e640..00000000000
--- a/sim/testsuite/sim/sh64/media/fabss.cgs
+++ /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
index 096f8528946..00000000000
--- a/sim/testsuite/sim/sh64/media/faddd.cgs
+++ /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
index fb93979c737..00000000000
--- a/sim/testsuite/sim/sh64/media/fadds.cgs
+++ /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
index c19356476f9..00000000000
--- a/sim/testsuite/sim/sh64/media/fcmpeqd.cgs
+++ /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
index 216894d7d20..00000000000
--- a/sim/testsuite/sim/sh64/media/fcmpeqs.cgs
+++ /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
index 52496cc6b14..00000000000
--- a/sim/testsuite/sim/sh64/media/fcmpged.cgs
+++ /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
index 2dd0a35fd27..00000000000
--- a/sim/testsuite/sim/sh64/media/fcmpges.cgs
+++ /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
index aec952097de..00000000000
--- a/sim/testsuite/sim/sh64/media/fcmpgtd.cgs
+++ /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
index 893bbcbf60b..00000000000
--- a/sim/testsuite/sim/sh64/media/fcmpgts.cgs
+++ /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
index b87fb8d9fb6..00000000000
--- a/sim/testsuite/sim/sh64/media/fcmpund.cgs
+++ /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
index 6c2ed96b4a3..00000000000
--- a/sim/testsuite/sim/sh64/media/fcmpuns.cgs
+++ /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
index aa6c993fb85..00000000000
--- a/sim/testsuite/sim/sh64/media/fcnvds.cgs
+++ /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
index 6c2396fe815..00000000000
--- a/sim/testsuite/sim/sh64/media/fcnvsd.cgs
+++ /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
index 62401c6b47e..00000000000
--- a/sim/testsuite/sim/sh64/media/fdivd.cgs
+++ /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
index 9b20f686b92..00000000000
--- a/sim/testsuite/sim/sh64/media/fdivs.cgs
+++ /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
index 6aa227480ce..00000000000
--- a/sim/testsuite/sim/sh64/media/fgetscr.cgs
+++ /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
index fef62d11c7c..00000000000
--- a/sim/testsuite/sim/sh64/media/fiprs.cgs
+++ /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
index ded2a9fe8f5..00000000000
--- a/sim/testsuite/sim/sh64/media/fldd.cgs
+++ /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
index 8727110378c..00000000000
--- a/sim/testsuite/sim/sh64/media/fldp.cgs
+++ /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
index 75d5e961e26..00000000000
--- a/sim/testsuite/sim/sh64/media/flds.cgs
+++ /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
index 63cb56bb06f..00000000000
--- a/sim/testsuite/sim/sh64/media/fldxd.cgs
+++ /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
index 3d929c6fef8..00000000000
--- a/sim/testsuite/sim/sh64/media/fldxp.cgs
+++ /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
index 10feb3e54a9..00000000000
--- a/sim/testsuite/sim/sh64/media/fldxs.cgs
+++ /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
index 31f6111061b..00000000000
--- a/sim/testsuite/sim/sh64/media/floatld.cgs
+++ /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
index 4c8fb992798..00000000000
--- a/sim/testsuite/sim/sh64/media/floatls.cgs
+++ /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
index ea5ddd9e49a..00000000000
--- a/sim/testsuite/sim/sh64/media/floatqd.cgs
+++ /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
index fcf35e29548..00000000000
--- a/sim/testsuite/sim/sh64/media/floatqs.cgs
+++ /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
index 62219c5fafd..00000000000
--- a/sim/testsuite/sim/sh64/media/fmacs.cgs
+++ /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
index 03c05ad1776..00000000000
--- a/sim/testsuite/sim/sh64/media/fmovd.cgs
+++ /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
index ff5c3fe9302..00000000000
--- a/sim/testsuite/sim/sh64/media/fmovdq.cgs
+++ /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
index 850ec33d160..00000000000
--- a/sim/testsuite/sim/sh64/media/fmovls.cgs
+++ /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
index 64eac72b3df..00000000000
--- a/sim/testsuite/sim/sh64/media/fmovqd.cgs
+++ /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
index f126aa5a41c..00000000000
--- a/sim/testsuite/sim/sh64/media/fmovs.cgs
+++ /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
index 7dfdab1d145..00000000000
--- a/sim/testsuite/sim/sh64/media/fmovsl.cgs
+++ /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
index 2ad67cdc532..00000000000
--- a/sim/testsuite/sim/sh64/media/fmuld.cgs
+++ /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
index 4b8875f0c59..00000000000
--- a/sim/testsuite/sim/sh64/media/fmuls.cgs
+++ /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
index 67b381345b6..00000000000
--- a/sim/testsuite/sim/sh64/media/fnegd.cgs
+++ /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
index 9ad625a1f1f..00000000000
--- a/sim/testsuite/sim/sh64/media/fnegs.cgs
+++ /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
index 28d2e7230ee..00000000000
--- a/sim/testsuite/sim/sh64/media/fputscr.cgs
+++ /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
index ae6120002e0..00000000000
--- a/sim/testsuite/sim/sh64/media/fsqrtd.cgs
+++ /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
index f1183933159..00000000000
--- a/sim/testsuite/sim/sh64/media/fsqrts.cgs
+++ /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
index 16ab5b6672c..00000000000
--- a/sim/testsuite/sim/sh64/media/fstd.cgs
+++ /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
index e0c396ac59a..00000000000
--- a/sim/testsuite/sim/sh64/media/fstp.cgs
+++ /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
index fb692cf274c..00000000000
--- a/sim/testsuite/sim/sh64/media/fsts.cgs
+++ /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
index 10f6c1436b5..00000000000
--- a/sim/testsuite/sim/sh64/media/fstxd.cgs
+++ /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
index 1829f58eb25..00000000000
--- a/sim/testsuite/sim/sh64/media/fstxp.cgs
+++ /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
index 0b4ff96dba9..00000000000
--- a/sim/testsuite/sim/sh64/media/fstxs.cgs
+++ /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
index 93dc421b01f..00000000000
--- a/sim/testsuite/sim/sh64/media/fsubd.cgs
+++ /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
index b009f094054..00000000000
--- a/sim/testsuite/sim/sh64/media/fsubs.cgs
+++ /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
index 3aafb83dca3..00000000000
--- a/sim/testsuite/sim/sh64/media/ftrcdl.cgs
+++ /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
index 6cd63fb029e..00000000000
--- a/sim/testsuite/sim/sh64/media/ftrcdq.cgs
+++ /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
index 9fd7faebd1a..00000000000
--- a/sim/testsuite/sim/sh64/media/ftrcsl.cgs
+++ /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
index 8f19d595e10..00000000000
--- a/sim/testsuite/sim/sh64/media/ftrcsq.cgs
+++ /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
index be7a75ad885..00000000000
--- a/sim/testsuite/sim/sh64/media/ftrvs.cgs
+++ /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
index d151739846e..00000000000
--- a/sim/testsuite/sim/sh64/media/getcfg.cgs
+++ /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
index 8eeb43cd5b0..00000000000
--- a/sim/testsuite/sim/sh64/media/getcon.cgs
+++ /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
index 8840a361bb0..00000000000
--- a/sim/testsuite/sim/sh64/media/gettr.cgs
+++ /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
index 9ba18452ef6..00000000000
--- a/sim/testsuite/sim/sh64/media/icbi.cgs
+++ /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
index fad1e6e15ee..00000000000
--- a/sim/testsuite/sim/sh64/media/ldb.cgs
+++ /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
index 4323985ea49..00000000000
--- a/sim/testsuite/sim/sh64/media/ldhil.cgs
+++ /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
index c34a952bba7..00000000000
--- a/sim/testsuite/sim/sh64/media/ldhiq.cgs
+++ /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
index b8b8725dee1..00000000000
--- a/sim/testsuite/sim/sh64/media/ldl.cgs
+++ /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
index 8204f40ebf4..00000000000
--- a/sim/testsuite/sim/sh64/media/ldlol.cgs
+++ /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
index 0cf128e2013..00000000000
--- a/sim/testsuite/sim/sh64/media/ldloq.cgs
+++ /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
index cacc076bb90..00000000000
--- a/sim/testsuite/sim/sh64/media/ldq.cgs
+++ /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
index 825ce642e31..00000000000
--- a/sim/testsuite/sim/sh64/media/ldub.cgs
+++ /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
index a329802e22b..00000000000
--- a/sim/testsuite/sim/sh64/media/lduw.cgs
+++ /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
index d39405515a9..00000000000
--- a/sim/testsuite/sim/sh64/media/ldw.cgs
+++ /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
index 36038df8da4..00000000000
--- a/sim/testsuite/sim/sh64/media/ldxb.cgs
+++ /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
index 0596e9f325b..00000000000
--- a/sim/testsuite/sim/sh64/media/ldxl.cgs
+++ /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
index 1247f220562..00000000000
--- a/sim/testsuite/sim/sh64/media/ldxq.cgs
+++ /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
index e863a3bfccf..00000000000
--- a/sim/testsuite/sim/sh64/media/ldxub.cgs
+++ /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
index 282812db895..00000000000
--- a/sim/testsuite/sim/sh64/media/ldxuw.cgs
+++ /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
index d377fef6177..00000000000
--- a/sim/testsuite/sim/sh64/media/ldxw.cgs
+++ /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
index a8af663ea12..00000000000
--- a/sim/testsuite/sim/sh64/media/mabsl.cgs
+++ /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
index f4e980a19c6..00000000000
--- a/sim/testsuite/sim/sh64/media/mabsw.cgs
+++ /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
index 4bdf5463866..00000000000
--- a/sim/testsuite/sim/sh64/media/maddl.cgs
+++ /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
index 3977275dc89..00000000000
--- a/sim/testsuite/sim/sh64/media/maddsl.cgs
+++ /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
index a55f927a3e1..00000000000
--- a/sim/testsuite/sim/sh64/media/maddsub.cgs
+++ /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
index 45a774ed2fc..00000000000
--- a/sim/testsuite/sim/sh64/media/maddsw.cgs
+++ /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
index b220ef4aee6..00000000000
--- a/sim/testsuite/sim/sh64/media/maddw.cgs
+++ /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
index d7af6fa5f58..00000000000
--- a/sim/testsuite/sim/sh64/media/mcmpeqb.cgs
+++ /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
index 2851e80fc5e..00000000000
--- a/sim/testsuite/sim/sh64/media/mcmpeql.cgs
+++ /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
index 085df84eeb9..00000000000
--- a/sim/testsuite/sim/sh64/media/mcmpeqw.cgs
+++ /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
index 2ace0480506..00000000000
--- a/sim/testsuite/sim/sh64/media/mcmpgtl.cgs
+++ /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
index 540ce966092..00000000000
--- a/sim/testsuite/sim/sh64/media/mcmpgtub.cgs
+++ /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
index 83274512d5e..00000000000
--- a/sim/testsuite/sim/sh64/media/mcmpgtw.cgs
+++ /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
index c1f59aa4f88..00000000000
--- a/sim/testsuite/sim/sh64/media/mcmv.cgs
+++ /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
index 005108b7669..00000000000
--- a/sim/testsuite/sim/sh64/media/mcnvslw.cgs
+++ /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
index 0d25920f310..00000000000
--- a/sim/testsuite/sim/sh64/media/mcnvswb.cgs
+++ /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
index 2fc74466dd0..00000000000
--- a/sim/testsuite/sim/sh64/media/mcnvswub.cgs
+++ /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
index b2cb3c3ff29..00000000000
--- a/sim/testsuite/sim/sh64/media/mextr1.cgs
+++ /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
index cf136be8176..00000000000
--- a/sim/testsuite/sim/sh64/media/mextr2.cgs
+++ /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
index b8d60a447bc..00000000000
--- a/sim/testsuite/sim/sh64/media/mextr3.cgs
+++ /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
index e9ebff9be7b..00000000000
--- a/sim/testsuite/sim/sh64/media/mextr4.cgs
+++ /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
index c61a0c89f52..00000000000
--- a/sim/testsuite/sim/sh64/media/mextr5.cgs
+++ /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
index 5c6c7f60c79..00000000000
--- a/sim/testsuite/sim/sh64/media/mextr6.cgs
+++ /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
index e05ec7f9ab3..00000000000
--- a/sim/testsuite/sim/sh64/media/mextr7.cgs
+++ /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
index dd2d9a41ae7..00000000000
--- a/sim/testsuite/sim/sh64/media/mmacfxwl.cgs
+++ /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
index ba634d207a3..00000000000
--- a/sim/testsuite/sim/sh64/media/mmacnfx-wl.cgs
+++ /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
index 7d2d1a63268..00000000000
--- a/sim/testsuite/sim/sh64/media/mmulfxl.cgs
+++ /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
index 13fdcc71d0e..00000000000
--- a/sim/testsuite/sim/sh64/media/mmulfxrpw.cgs
+++ /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
index e2a66a7c11d..00000000000
--- a/sim/testsuite/sim/sh64/media/mmulfxw.cgs
+++ /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
index 1a41ac59286..00000000000
--- a/sim/testsuite/sim/sh64/media/mmulhiwl.cgs
+++ /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
index b3ed9df3f35..00000000000
--- a/sim/testsuite/sim/sh64/media/mmull.cgs
+++ /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
index b50ccfcb5dd..00000000000
--- a/sim/testsuite/sim/sh64/media/mmullowl.cgs
+++ /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
index 344710b0e98..00000000000
--- a/sim/testsuite/sim/sh64/media/mmulsumwq.cgs
+++ /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
index 675c620fadc..00000000000
--- a/sim/testsuite/sim/sh64/media/mmulw.cgs
+++ /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
index a01bcae84df..00000000000
--- a/sim/testsuite/sim/sh64/media/movi.cgs
+++ /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
index 3b6741e8107..00000000000
--- a/sim/testsuite/sim/sh64/media/mpermw.cgs
+++ /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
index 4361883b870..00000000000
--- a/sim/testsuite/sim/sh64/media/msadubq.cgs
+++ /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
index 1dd86ec6bb6..00000000000
--- a/sim/testsuite/sim/sh64/media/mshaldsl.cgs
+++ /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
index 7ab6797e9a6..00000000000
--- a/sim/testsuite/sim/sh64/media/mshaldsw.cgs
+++ /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
index 0dc102e337a..00000000000
--- a/sim/testsuite/sim/sh64/media/mshardl.cgs
+++ /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
index 5f29afb8b1b..00000000000
--- a/sim/testsuite/sim/sh64/media/mshardsq.cgs
+++ /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
index ecc7004febd..00000000000
--- a/sim/testsuite/sim/sh64/media/mshardw.cgs
+++ /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
index b7b245e79ae..00000000000
--- a/sim/testsuite/sim/sh64/media/mshfhib.cgs
+++ /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
index 2fab7ae1fd9..00000000000
--- a/sim/testsuite/sim/sh64/media/mshfhil.cgs
+++ /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
index 03111413cf1..00000000000
--- a/sim/testsuite/sim/sh64/media/mshfhiw.cgs
+++ /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
index 400e81a0598..00000000000
--- a/sim/testsuite/sim/sh64/media/mshflob.cgs
+++ /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
index 2fbdf894e60..00000000000
--- a/sim/testsuite/sim/sh64/media/mshflol.cgs
+++ /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
index 542eb042c52..00000000000
--- a/sim/testsuite/sim/sh64/media/mshflow.cgs
+++ /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
index 2a17c33002e..00000000000
--- a/sim/testsuite/sim/sh64/media/mshlldl.cgs
+++ /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
index e4afe3d732a..00000000000
--- a/sim/testsuite/sim/sh64/media/mshlldw.cgs
+++ /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
index 89e70772b7f..00000000000
--- a/sim/testsuite/sim/sh64/media/mshlrdl.cgs
+++ /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
index 4cbf2807f9c..00000000000
--- a/sim/testsuite/sim/sh64/media/mshlrdw.cgs
+++ /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
index 87151fad728..00000000000
--- a/sim/testsuite/sim/sh64/media/msubl.cgs
+++ /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
index 014422ed8f3..00000000000
--- a/sim/testsuite/sim/sh64/media/msubsl.cgs
+++ /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
index c92c77ee72e..00000000000
--- a/sim/testsuite/sim/sh64/media/msubsub.cgs
+++ /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
index 83b76a1b4b3..00000000000
--- a/sim/testsuite/sim/sh64/media/msubsw.cgs
+++ /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
index 9d5e639f240..00000000000
--- a/sim/testsuite/sim/sh64/media/msubw.cgs
+++ /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
index d65c80cadf2..00000000000
--- a/sim/testsuite/sim/sh64/media/mulsl.cgs
+++ /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
index b795cf79ec0..00000000000
--- a/sim/testsuite/sim/sh64/media/mulul.cgs
+++ /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
index a0e57530542..00000000000
--- a/sim/testsuite/sim/sh64/media/nop.cgs
+++ /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
index 8b3cffef4a8..00000000000
--- a/sim/testsuite/sim/sh64/media/nsb.cgs
+++ /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
index b210216e3db..00000000000
--- a/sim/testsuite/sim/sh64/media/ocbi.cgs
+++ /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
index 9158c6f4518..00000000000
--- a/sim/testsuite/sim/sh64/media/ocbp.cgs
+++ /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
index 6addabcf461..00000000000
--- a/sim/testsuite/sim/sh64/media/ocbwb.cgs
+++ /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
index e06759225ba..00000000000
--- a/sim/testsuite/sim/sh64/media/or.cgs
+++ /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
index 7b2554227da..00000000000
--- a/sim/testsuite/sim/sh64/media/ori.cgs
+++ /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
index 68d7bfe29a4..00000000000
--- a/sim/testsuite/sim/sh64/media/prefi.cgs
+++ /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
index 9f6484a8d4c..00000000000
--- a/sim/testsuite/sim/sh64/media/pta.cgs
+++ /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
index 0c01f838eb8..00000000000
--- a/sim/testsuite/sim/sh64/media/ptabs.cgs
+++ /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
index 129d6260439..00000000000
--- a/sim/testsuite/sim/sh64/media/ptb.cgs
+++ /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
index 7e5f19b1b9c..00000000000
--- a/sim/testsuite/sim/sh64/media/ptrel.cgs
+++ /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
index 85385754a48..00000000000
--- a/sim/testsuite/sim/sh64/media/putcfg.cgs
+++ /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
index 39dfc036280..00000000000
--- a/sim/testsuite/sim/sh64/media/putcon.cgs
+++ /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
index e80f08541cc..00000000000
--- a/sim/testsuite/sim/sh64/media/rte.cgs
+++ /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
index 029e52902a2..00000000000
--- a/sim/testsuite/sim/sh64/media/shard.cgs
+++ /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
index d9acaa54f69..00000000000
--- a/sim/testsuite/sim/sh64/media/shardl.cgs
+++ /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
index 3d3a650fb0c..00000000000
--- a/sim/testsuite/sim/sh64/media/shari.cgs
+++ /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
index be946e0c84d..00000000000
--- a/sim/testsuite/sim/sh64/media/sharil.cgs
+++ /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
index 05d2da4cd68..00000000000
--- a/sim/testsuite/sim/sh64/media/shlld.cgs
+++ /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
index 3d37f53a76b..00000000000
--- a/sim/testsuite/sim/sh64/media/shlldl.cgs
+++ /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
index 9ab331c0930..00000000000
--- a/sim/testsuite/sim/sh64/media/shlli.cgs
+++ /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
index 347acd64084..00000000000
--- a/sim/testsuite/sim/sh64/media/shllil.cgs
+++ /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
index 56f10bf1c0e..00000000000
--- a/sim/testsuite/sim/sh64/media/shlrd.cgs
+++ /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
index 32b20c0a3cd..00000000000
--- a/sim/testsuite/sim/sh64/media/shlrdl.cgs
+++ /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
index 488cac9aec8..00000000000
--- a/sim/testsuite/sim/sh64/media/shlri.cgs
+++ /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
index bb1b2a6eaf0..00000000000
--- a/sim/testsuite/sim/sh64/media/shlril.cgs
+++ /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
index 5f02b7d2c5f..00000000000
--- a/sim/testsuite/sim/sh64/media/shori.cgs
+++ /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
index b4c35ee8f96..00000000000
--- a/sim/testsuite/sim/sh64/media/sleep.cgs
+++ /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
index 09de47b14a9..00000000000
--- a/sim/testsuite/sim/sh64/media/stb.cgs
+++ /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
index cfee28444f8..00000000000
--- a/sim/testsuite/sim/sh64/media/sthil.cgs
+++ /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
index 6310d43e5ad..00000000000
--- a/sim/testsuite/sim/sh64/media/sthiq.cgs
+++ /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
index 8737e354c5b..00000000000
--- a/sim/testsuite/sim/sh64/media/stl.cgs
+++ /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
index f2d90552509..00000000000
--- a/sim/testsuite/sim/sh64/media/stlol.cgs
+++ /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
index 35c84c255cc..00000000000
--- a/sim/testsuite/sim/sh64/media/stloq.cgs
+++ /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
index e1af7956b84..00000000000
--- a/sim/testsuite/sim/sh64/media/stq.cgs
+++ /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
index 2446aa62795..00000000000
--- a/sim/testsuite/sim/sh64/media/stw.cgs
+++ /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
index 8ab2ae31d23..00000000000
--- a/sim/testsuite/sim/sh64/media/stxb.cgs
+++ /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
index 8ed2e366ab3..00000000000
--- a/sim/testsuite/sim/sh64/media/stxl.cgs
+++ /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
index 10759fd4414..00000000000
--- a/sim/testsuite/sim/sh64/media/stxq.cgs
+++ /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
index d03981146a2..00000000000
--- a/sim/testsuite/sim/sh64/media/stxw.cgs
+++ /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
index e5e7530100b..00000000000
--- a/sim/testsuite/sim/sh64/media/sub.cgs
+++ /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
index 98abe59f666..00000000000
--- a/sim/testsuite/sim/sh64/media/subl.cgs
+++ /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
index 6f168b1ff48..00000000000
--- a/sim/testsuite/sim/sh64/media/swapq.cgs
+++ /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
index 65e06213a50..00000000000
--- a/sim/testsuite/sim/sh64/media/synci.cgs
+++ /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
index 2db6df343d4..00000000000
--- a/sim/testsuite/sim/sh64/media/synco.cgs
+++ /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
index d3b383a1efb..00000000000
--- a/sim/testsuite/sim/sh64/media/testutils.inc
+++ /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
index c961bac73ba..00000000000
--- a/sim/testsuite/sim/sh64/media/trapa.cgs
+++ /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
index 80278f0a3e0..00000000000
--- a/sim/testsuite/sim/sh64/media/xor.cgs
+++ /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
index 0d4d96a779d..00000000000
--- a/sim/testsuite/sim/sh64/media/xori.cgs
+++ /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
index 52f0e136638..00000000000
--- a/sim/testsuite/sim/sh64/misc/fr-dr.s
+++ /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