831f59a218
* gencode.c (inst_type): Add mips16 instruction encoding types. (GETDATASIZEINSN): Define. (MIPS_DECODE): Add REG flag to dsllv, dsrav, and dsrlv. Add jalx. Add LEFT flag to mfhi and mflo. Add RIGHT flag to mthi and mtlo. (MIPS16_DECODE): New table, for mips16 instructions. (bitmap_val): New static function. (struct mips16_op): Define. (mips16_op_table): New table, for mips16 operands. (build_mips16_operands): New static function. (process_instructions): If PC is odd, decode a mips16 instruction. Break out instruction handling into new build_instruction function. (build_instruction): New static function, broken out of process_instructions. Check modifiers rather than flags for SHIFT bit count and m[ft]{hi,lo} direction. (usage): Pass program name to fprintf. (main): Remove unused variable this_option_optind. Change ``*loptarg++'' to ``loptarg++''. (my_strtoul): Parenthesize && within ||. * interp.c (sim_trace): If tracefh is NULL, set it to stderr. (LoadMemory): Accept a halfword pAddr if vAddr is odd. (simulate): If PC is odd, fetch a 16 bit instruction, and increment PC by 2 rather than 4. * configure.in: Add case for mips16*-*-*. * configure: Rebuild.
21 lines
553 B
Plaintext
21 lines
553 B
Plaintext
dnl Process this file with autoconf to produce a configure script.
|
|
AC_PREREQ(2.5)dnl
|
|
AC_INIT(Makefile.in)
|
|
|
|
SIM_AC_COMMON
|
|
|
|
# Ensure a reasonable default simulator is constructed:
|
|
case "${target}" in
|
|
mips64*-*-*) SIMCONF="-mips0 --warnings";;
|
|
mips16*-*-*) SIMCONF="-mips0 --warnings";;
|
|
mips*-*-*) SIMCONF="-mips2 --warnings";;
|
|
*) SIMCONF="-mips0 --warnings";;
|
|
esac
|
|
AC_SUBST(SIMCONF)
|
|
|
|
AC_CHECK_HEADERS(string.h strings.h stdlib.h)
|
|
AC_CHECK_LIB(m, fabs)
|
|
AC_CHECK_FUNCS(aint anint sqrt)
|
|
|
|
SIM_AC_OUTPUT
|