binutils-gdb/sim
Nick Clifton 5ab6d79e70 More AArch64 simulator improvements.
* cpustate.c (aarch64_get_FP_half): New function.  Read a vector
	register as a half precision floating point number.
	(aarch64_set_FP_half): New function.  Similar, but for setting
	a half precision register.
	(aarch64_get_thread_id): New function.  Returns the value of the
	CPU's TPIDR register.
	(aarch64_get_FPCR): New function.  Returns the value of the CPU's
	floating point control register.
	(aarch64_set_FPCR): New function.  Set the value of the CPU's FPCR
	register.
	* cpustate.h: Add prototypes for new functions.
	* sim-main.h (struct _sim_cpu): Add FPCR and tpidr fields.
	* memory.c: Use unaligned core access functions for all memory
	reads and writes.
	* simulator.c (HALT_NYI): Generate an error message if tracing
	will not tell the user why the simulator is halting.
	(HALT_UNREACHABLE): Delete.  Delete (unneeded) uses of the macro.
	(INSTR): New time-saver macro.
	(fldrb_abs): New function.  Loads an 8-bit value using a scaled
	offset.
	(fldrh_abs): New function.  Likewise for 16-bit values.
	(do_vec_SSHL): Allow for negative shift values.
	(do_vec_USHL): Likewise.
	(do_vec_SHL): Correct computation of shift amount.
	(do_vec_SSHR_USHR): Correct decision of signed vs unsigned
	shifts and computation of shift value.
	(clz): New function.  Counts leading zero bits.
	(do_vec_CLZ): New function.  Implements CLZ (vector).
	(do_vec_MOV_element): Call do_vec_CLZ.
	(dexSimpleFPCondCompare): Implement.
	(do_FCVT_half_to_single): New function.  Implements one of the
	FCVT operations.
	(do_FCVT_half_to_double): New function.  Likewise.
	(do_FCVT_single_to_half): New function.  Likewise.
	(do_FCVT_double_to_half): New function.  Likewise.
	(dexSimpleFPDataProc1Source): Call new FCVT functions.
	(do_scalar_SHL): Handle negative shifts.
	(do_scalar_shift): Handle SSHR.
	(do_scalar_USHL): New function.
	(do_double_add): Simplify to just performing a double precision
	add operation.  Move remaining code into...
	(do_scalar_vec): ... New function.
	(dexLoadUnsignedImmediate): Call new fldrb_abs and fldrh_abs
	functions.
	(system_get): Add support for TPIDR, CTR, FPCR, FPSR and CPSR
	registers.
	(system_set): New function.
	(do_MSR_immediate): New function.  Stub for now.
	(do_MSR_reg): New function.  Likewise. Partially implements MSR
	instruction.
	(do_SYS): New function.  Stub for now,
	(dexSystem): Call new functions.
2016-03-23 17:37:30 +00:00
..
aarch64 More AArch64 simulator improvements. 2016-03-23 17:37:30 +00:00
arm sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
avr sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
bfin sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
common Prevent possible undefined behaviour computing the size of the scache by usingunsigned integers instead of signed integers. 2016-02-04 16:27:06 +00:00
cr16 sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
cris sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
d10v sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
erc32 sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
frv sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
ft32 sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
h8300 sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
igen sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
iq2000 sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
lm32 sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
m32c sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
m32r sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
m68hc11 sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
mcore sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
microblaze sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
mips sim: mips: fix prog_bfd usage 2016-02-05 20:27:25 -05:00
mn10300 sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
moxie sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
msp430 sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
ppc sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
rl78 sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
rx sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
sh sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
sh64 sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
testsuite sim: drop --enable-sim-cflags option 2016-01-10 02:54:59 -05:00
v850 sim: move many common settings from CPPFLAGS to config.h 2016-01-10 18:54:41 -05:00
.gitignore sim: drop common/cconfig.h in favor of a single config.h 2016-01-09 03:52:30 -05:00
ChangeLog MAINTAINERS: Add Thiemo Seufer back, as a past maintainer 2016-02-03 18:26:50 +00:00
MAINTAINERS MAINTAINERS: Add Thiemo Seufer back, as a past maintainer 2016-02-03 18:26:50 +00:00
Makefile.in GDB copyright headers update after running GDB's copyright.py script. 2016-01-01 08:43:22 +04:00
README-HACKING sim: punt WITH_DEVICES & tconfig.h support 2015-12-26 20:38:31 -05:00
configure sim: stop configuring common subdir 2016-01-09 03:52:30 -05:00
configure.ac sim: stop configuring common subdir 2016-01-09 03:52:30 -05:00
configure.tgt sim: stop configuring common subdir 2016-01-09 03:52:30 -05:00