diff options
author | Dave Brolley <brolley@redhat.com> | 2006-10-18 18:13:22 +0000 |
---|---|---|
committer | Dave Brolley <brolley@redhat.com> | 2006-10-18 18:13:22 +0000 |
commit | c7e628df2ea65e93345a60bab86af1428213f94d (patch) | |
tree | 53fbbd6ae5ad2d04d4b4db43b7022bd97ce75308 /sim/sh64/sem-media-switch.c | |
parent | 4ce7dc156114d9acd1243857ea79e4b24ac6af32 (diff) | |
download | gdb-c7e628df2ea65e93345a60bab86af1428213f94d.zip gdb-c7e628df2ea65e93345a60bab86af1428213f94d.tar.gz gdb-c7e628df2ea65e93345a60bab86af1428213f94d.tar.bz2 |
2006-10-18 Dave Brolley <brolley@redhat.com>
* Contribute the following changes:
2006-06-14 Dave Brolley <brolley@redhat.com>
* sh64-sim.h (sh64_fipr,sh64_fiprs,sh64_fldp,sh64_fstp,sh64_ftrv)
(sh64_fpref): New functions.
* sh64.c (sh64_fipr,sh64_fiprs,sh64_fldp,sh64_fstp,sh64_ftrv)
(sh64_fpref): New functions.
(sh_models): Add sh2e, sh2a, sh2a_nofpu, sh4_nofpu, sh4a,
sh4a_nofpu and sh4al.
(sh2e_mach): New MACH.
(sh2a_fpu_mach): New MACH.
(sh2a_nofpu_mach): New MACH.
(sh4_nofpu): New MACH.
(sh4a_mach): New MACH.
(sh4a_nofpu_mach): New MACH.
(sh4al_mach): New MACH.
* Makefile.in (stamp-*): Depend on $(CGEN_CPU_DIR)/sh-sim.cpu. Pass
archfile to CGEN script.
* arch.c: Regenerated.
* arch.h: Regenerated.
* cpu.c: Regenerated.
* cpu.h: Regenerated.
* cpuall.h: Regenerated.
* decode-compact.c: Regenerated.
* decode-compact.h: Regenerated.
* decode-media.c: Regenerated.
* decode-media.h: Regenerated.
* defs-compact.h: Regenerated.
* defs-media.h: Regenerated.
* sem-compact-switch.c: Regenerated.
* sem-compact.c: Regenerated.
* sem-media-switch.c: Regenerated.
* sem-media.c: Regenerated.
* sh-desc.c: Regenerated.
* sh-desc.h: Regenerated.
* sh-opc.h: Regenerated.
Diffstat (limited to 'sim/sh64/sem-media-switch.c')
-rw-r--r-- | sim/sh64/sem-media-switch.c | 247 |
1 files changed, 175 insertions, 72 deletions
diff --git a/sim/sh64/sem-media-switch.c b/sim/sh64/sem-media-switch.c index 075738a..cbbf524 100644 --- a/sim/sh64/sem-media-switch.c +++ b/sim/sh64/sem-media-switch.c @@ -2,7 +2,7 @@ THIS FILE IS MACHINE GENERATED WITH CGEN. -Copyright 1996, 1997, 1998, 1999, 2000, 2001, 2002 Free Software Foundation, Inc. +Copyright 1996-2005 Free Software Foundation, Inc. This file is part of the GNU simulators. @@ -18,7 +18,7 @@ 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. +51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. */ @@ -548,12 +548,19 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case) { SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); ARGBUF *abuf = SEM_ARGBUF (sem_arg); -#define FLD(f) abuf->fields.fmt_empty.f +#define FLD(f) abuf->fields.sfmt_xori.f int UNUSED written = 0; IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ + { + DI opval = GET_H_GR (FLD (f_left)); + SET_H_GR (FLD (f_left), opval); + TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval); + } ((void) 0); /*nop*/ +} #undef FLD } @@ -626,6 +633,8 @@ SWITCH (sem, SEM_ARGBUF (vpc) -> semantic.sem_case) SEM_BRANCH_INIT vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ +((void) 0); /*nop*/ if (EQDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { { UDI opval = CPU (h_tr[FLD (f_tra)]); @@ -634,6 +643,7 @@ if (EQDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval); } } +} abuf->written = written; SEM_BRANCH_FINI (vpc); @@ -651,6 +661,8 @@ if (EQDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { SEM_BRANCH_INIT vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ +((void) 0); /*nop*/ if (EQDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm6)))) { { UDI opval = CPU (h_tr[FLD (f_tra)]); @@ -659,6 +671,7 @@ if (EQDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm6)))) { TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval); } } +} abuf->written = written; SEM_BRANCH_FINI (vpc); @@ -676,6 +689,8 @@ if (EQDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm6)))) { SEM_BRANCH_INIT vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ +((void) 0); /*nop*/ if (GEDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { { UDI opval = CPU (h_tr[FLD (f_tra)]); @@ -684,6 +699,7 @@ if (GEDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval); } } +} abuf->written = written; SEM_BRANCH_FINI (vpc); @@ -701,6 +717,8 @@ if (GEDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { SEM_BRANCH_INIT vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ +((void) 0); /*nop*/ if (GEUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { { UDI opval = CPU (h_tr[FLD (f_tra)]); @@ -709,6 +727,7 @@ if (GEUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval); } } +} abuf->written = written; SEM_BRANCH_FINI (vpc); @@ -726,6 +745,8 @@ if (GEUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { SEM_BRANCH_INIT vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ +((void) 0); /*nop*/ if (GTDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { { UDI opval = CPU (h_tr[FLD (f_tra)]); @@ -734,6 +755,7 @@ if (GTDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval); } } +} abuf->written = written; SEM_BRANCH_FINI (vpc); @@ -751,6 +773,8 @@ if (GTDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { SEM_BRANCH_INIT vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ +((void) 0); /*nop*/ if (GTUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { { UDI opval = CPU (h_tr[FLD (f_tra)]); @@ -759,6 +783,7 @@ if (GTUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval); } } +} abuf->written = written; SEM_BRANCH_FINI (vpc); @@ -787,6 +812,11 @@ if (GTUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { SEM_BRANCH_VIA_ADDR (current_cpu, sem_arg, opval, vpc); TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval); } +if (EQSI (FLD (f_dest), 63)) { +((void) 0); /*nop*/ +} else { +((void) 0); /*nop*/ +} } SEM_BRANCH_FINI (vpc); @@ -804,6 +834,8 @@ if (GTUDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { SEM_BRANCH_INIT vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ +((void) 0); /*nop*/ if (NEDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { { UDI opval = CPU (h_tr[FLD (f_tra)]); @@ -812,6 +844,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval); } } +} abuf->written = written; SEM_BRANCH_FINI (vpc); @@ -829,6 +862,8 @@ if (NEDI (GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)))) { SEM_BRANCH_INIT vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ +((void) 0); /*nop*/ if (NEDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm6)))) { { UDI opval = CPU (h_tr[FLD (f_tra)]); @@ -837,6 +872,7 @@ if (NEDI (GET_H_GR (FLD (f_left)), EXTSIDI (FLD (f_imm6)))) { TRACE_RESULT (current_cpu, abuf, "pc", 'D', opval); } } +} abuf->written = written; SEM_BRANCH_FINI (vpc); @@ -1327,12 +1363,16 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) { { SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); ARGBUF *abuf = SEM_ARGBUF (sem_arg); -#define FLD(f) abuf->fields.fmt_empty.f +#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); -((void) 0); /*nop*/ + { + SF opval = SUBWORDSISF (CPU (h_fpscr)); + CPU (h_fr[FLD (f_dest)]) = opval; + TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval); + } #undef FLD } @@ -1348,17 +1388,18 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) { 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; + SF opval = GET_H_FV (FLD (f_left)); + SET_H_FV (FLD (f_left), opval); + TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval); + } + { + SF opval = GET_H_FV (FLD (f_right)); + SET_H_FV (FLD (f_right), opval); + TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval); + } + { + SF opval = sh64_fiprs (current_cpu, FLD (f_left), FLD (f_right)); CPU (h_fr[FLD (f_dest)]) = opval; TRACE_RESULT (current_cpu, abuf, "fr", 'f', opval); } @@ -1397,18 +1438,12 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) { 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); + SF opval = GET_H_FP (FLD (f_dest)); + SET_H_FP (FLD (f_dest), opval); + TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval); } +sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), FLD (f_disp10x8), FLD (f_dest)); } #undef FLD @@ -1463,18 +1498,12 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) { 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); + SF opval = GET_H_FP (FLD (f_dest)); + SET_H_FP (FLD (f_dest), opval); + TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval); } +sh64_fldp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), FLD (f_dest)); } #undef FLD @@ -1789,12 +1818,16 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) { { SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); ARGBUF *abuf = SEM_ARGBUF (sem_arg); -#define FLD(f) abuf->fields.fmt_empty.f +#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); -((void) 0); /*nop*/ + { + SI opval = SUBWORDSFSI (CPU (h_fr[FLD (f_left_right)])); + CPU (h_fpscr) = opval; + TRACE_RESULT (current_cpu, abuf, "fpscr", 'x', opval); + } #undef FLD } @@ -1867,18 +1900,12 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) { 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); + SF opval = GET_H_FP (FLD (f_dest)); + SET_H_FP (FLD (f_dest), opval); + TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval); } +sh64_fstp (current_cpu, pc, GET_H_GR (FLD (f_left)), FLD (f_disp10x8), FLD (f_dest)); } #undef FLD @@ -1933,18 +1960,12 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) { 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); + SF opval = GET_H_FP (FLD (f_dest)); + SET_H_FP (FLD (f_dest), opval); + TRACE_RESULT (current_cpu, abuf, "fp", 'f', opval); } +sh64_fstp (current_cpu, pc, GET_H_GR (FLD (f_left)), GET_H_GR (FLD (f_right)), FLD (f_dest)); } #undef FLD @@ -2093,7 +2114,24 @@ if (NEDI (GET_H_GR (FLD (f_left)), 0)) { IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ + { + SF opval = GET_H_FMTX (FLD (f_left)); + SET_H_FMTX (FLD (f_left), opval); + TRACE_RESULT (current_cpu, abuf, "fmtx", 'f', opval); + } + { + SF opval = GET_H_FV (FLD (f_right)); + SET_H_FV (FLD (f_right), opval); + TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval); + } + { + SF opval = GET_H_FV (FLD (f_dest)); + SET_H_FV (FLD (f_dest), opval); + TRACE_RESULT (current_cpu, abuf, "fv", 'f', opval); + } sh64_ftrvs (current_cpu, FLD (f_left), FLD (f_right), FLD (f_dest)); +} #undef FLD } @@ -2103,12 +2141,21 @@ sh64_ftrvs (current_cpu, FLD (f_left), FLD (f_right), FLD (f_dest)); { SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); ARGBUF *abuf = SEM_ARGBUF (sem_arg); -#define FLD(f) abuf->fields.fmt_empty.f +#define FLD(f) abuf->fields.sfmt_getcfg.f int UNUSED written = 0; IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ + SI tmp_address; + tmp_address = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6)); ((void) 0); /*nop*/ + { + DI opval = GETMEMSI (current_cpu, pc, tmp_address); + SET_H_GR (FLD (f_dest), opval); + TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval); + } +} #undef FLD } @@ -2156,12 +2203,19 @@ sh64_ftrvs (current_cpu, FLD (f_left), FLD (f_right), FLD (f_dest)); { SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); ARGBUF *abuf = SEM_ARGBUF (sem_arg); -#define FLD(f) abuf->fields.fmt_empty.f +#define FLD(f) abuf->fields.sfmt_xori.f int UNUSED written = 0; IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ + { + DI opval = GET_H_GR (FLD (f_left)); + SET_H_GR (FLD (f_left), opval); + TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval); + } ((void) 0); /*nop*/ +} #undef FLD } @@ -2285,7 +2339,7 @@ sh64_ftrvs (current_cpu, FLD (f_left), FLD (f_right), FLD (f_dest)); { SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); ARGBUF *abuf = SEM_ARGBUF (sem_arg); -#define FLD(f) abuf->fields.sfmt_ldhil.f +#define FLD(f) abuf->fields.sfmt_getcfg.f int UNUSED written = 0; IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); @@ -2348,7 +2402,7 @@ if (ANDQI (tmp_bytecount, 2)) { { SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); ARGBUF *abuf = SEM_ARGBUF (sem_arg); -#define FLD(f) abuf->fields.sfmt_ldhil.f +#define FLD(f) abuf->fields.sfmt_getcfg.f int UNUSED written = 0; IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); @@ -2417,7 +2471,7 @@ if (ANDQI (tmp_bytecount, 4)) { { SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); ARGBUF *abuf = SEM_ARGBUF (sem_arg); -#define FLD(f) abuf->fields.sfmt_ldhil.f +#define FLD(f) abuf->fields.sfmt_getcfg.f int UNUSED written = 0; IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); @@ -2480,7 +2534,7 @@ if (ANDQI (tmp_bytecount, 1)) { { SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); ARGBUF *abuf = SEM_ARGBUF (sem_arg); -#define FLD(f) abuf->fields.sfmt_ldhil.f +#define FLD(f) abuf->fields.sfmt_getcfg.f int UNUSED written = 0; IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); @@ -4383,12 +4437,19 @@ if (ANDQI (tmp_bytecount, 1)) { { SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); ARGBUF *abuf = SEM_ARGBUF (sem_arg); -#define FLD(f) abuf->fields.fmt_empty.f +#define FLD(f) abuf->fields.sfmt_xori.f int UNUSED written = 0; IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ + { + DI opval = GET_H_GR (FLD (f_left)); + SET_H_GR (FLD (f_left), opval); + TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval); + } ((void) 0); /*nop*/ +} #undef FLD } @@ -4398,12 +4459,19 @@ if (ANDQI (tmp_bytecount, 1)) { { SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); ARGBUF *abuf = SEM_ARGBUF (sem_arg); -#define FLD(f) abuf->fields.fmt_empty.f +#define FLD(f) abuf->fields.sfmt_xori.f int UNUSED written = 0; IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ + { + DI opval = GET_H_GR (FLD (f_left)); + SET_H_GR (FLD (f_left), opval); + TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval); + } ((void) 0); /*nop*/ +} #undef FLD } @@ -4413,12 +4481,19 @@ if (ANDQI (tmp_bytecount, 1)) { { SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); ARGBUF *abuf = SEM_ARGBUF (sem_arg); -#define FLD(f) abuf->fields.fmt_empty.f +#define FLD(f) abuf->fields.sfmt_xori.f int UNUSED written = 0; IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ + { + DI opval = GET_H_GR (FLD (f_left)); + SET_H_GR (FLD (f_left), opval); + TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval); + } ((void) 0); /*nop*/ +} #undef FLD } @@ -4466,12 +4541,19 @@ if (ANDQI (tmp_bytecount, 1)) { { SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); ARGBUF *abuf = SEM_ARGBUF (sem_arg); -#define FLD(f) abuf->fields.fmt_empty.f +#define FLD(f) abuf->fields.sfmt_xori.f int UNUSED written = 0; IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ + { + DI opval = GET_H_GR (FLD (f_left)); + SET_H_GR (FLD (f_left), opval); + TRACE_RESULT (current_cpu, abuf, "gr", 'D', opval); + } ((void) 0); /*nop*/ +} #undef FLD } @@ -4486,11 +4568,14 @@ if (ANDQI (tmp_bytecount, 1)) { IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ +((void) 0); /*nop*/ { DI opval = ADDSI (FLD (f_disp16), 1); CPU (h_tr[FLD (f_tra)]) = opval; TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval); } +} #undef FLD } @@ -4505,11 +4590,14 @@ if (ANDQI (tmp_bytecount, 1)) { IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ +((void) 0); /*nop*/ { DI opval = GET_H_GR (FLD (f_right)); CPU (h_tr[FLD (f_tra)]) = opval; TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval); } +} #undef FLD } @@ -4524,11 +4612,14 @@ if (ANDQI (tmp_bytecount, 1)) { IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ +((void) 0); /*nop*/ { DI opval = FLD (f_disp16); CPU (h_tr[FLD (f_tra)]) = opval; TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval); } +} #undef FLD } @@ -4543,11 +4634,14 @@ if (ANDQI (tmp_bytecount, 1)) { IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ +((void) 0); /*nop*/ { DI opval = ADDDI (pc, GET_H_GR (FLD (f_right))); CPU (h_tr[FLD (f_tra)]) = opval; TRACE_RESULT (current_cpu, abuf, "tr", 'D', opval); } +} #undef FLD } @@ -4557,12 +4651,21 @@ if (ANDQI (tmp_bytecount, 1)) { { SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); ARGBUF *abuf = SEM_ARGBUF (sem_arg); -#define FLD(f) abuf->fields.fmt_empty.f +#define FLD(f) abuf->fields.sfmt_getcfg.f int UNUSED written = 0; IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); +{ + SI tmp_address; + tmp_address = ADDDI (GET_H_GR (FLD (f_left)), FLD (f_disp6)); ((void) 0); /*nop*/ + { + SI opval = GET_H_GR (FLD (f_dest)); + SETMEMSI (current_cpu, pc, tmp_address, opval); + TRACE_RESULT (current_cpu, abuf, "memory", 'x', opval); + } +} #undef FLD } @@ -4944,7 +5047,7 @@ if (ANDQI (tmp_bytecount, 1)) { { SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); ARGBUF *abuf = SEM_ARGBUF (sem_arg); -#define FLD(f) abuf->fields.sfmt_ldhil.f +#define FLD(f) abuf->fields.sfmt_getcfg.f int UNUSED written = 0; IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); @@ -5028,7 +5131,7 @@ if (ANDQI (tmp_bytecount, 1)) { { SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); ARGBUF *abuf = SEM_ARGBUF (sem_arg); -#define FLD(f) abuf->fields.sfmt_ldhil.f +#define FLD(f) abuf->fields.sfmt_getcfg.f int UNUSED written = 0; IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); @@ -5134,7 +5237,7 @@ if (ANDQI (tmp_bytecount, 1)) { { SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); ARGBUF *abuf = SEM_ARGBUF (sem_arg); -#define FLD(f) abuf->fields.sfmt_ldhil.f +#define FLD(f) abuf->fields.sfmt_getcfg.f int UNUSED written = 0; IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); @@ -5218,7 +5321,7 @@ if (ANDQI (tmp_bytecount, 2)) { { SEM_ARG sem_arg = SEM_SEM_ARG (vpc, sc); ARGBUF *abuf = SEM_ARGBUF (sem_arg); -#define FLD(f) abuf->fields.sfmt_ldhil.f +#define FLD(f) abuf->fields.sfmt_getcfg.f int UNUSED written = 0; IADDR UNUSED pc = abuf->addr; vpc = SEM_NEXT_VPC (sem_arg, pc, 4); |