Add ldn/stn single support, fix ldnr support.
authorJim Wilson <jim.wilson@linaro.org>
Tue, 14 Feb 2017 22:31:03 +0000 (14:31 -0800)
committerJim Wilson <jim.wilson@linaro.org>
Tue, 14 Feb 2017 22:31:03 +0000 (14:31 -0800)
commite8f42b5e36b2083e36855007442aff110291b6aa
treec63168635ffd18671dcb6532902cbbfcf7f69a59
parent3f77c7691fc5ff92eef90f39bb972f25c7422fb0
Add ldn/stn single support, fix ldnr support.

sim/aarch64/
* simulator.c: (LDn_STn_SINGLE_LANE_AND_SIZE): New.
(do_vec_LDn_single, do_vec_STn_single): New.
(do_vec_LDnR): Add and set new nregs var.  Replace switch on nregs with
loop over nregs using new var n.  Add n times size to address in loop.
Add n to vd in loop.
(do_vec_load_store): Add comment for instruction bit 24.  New var
single to hold instruction bit 24.  Add new code to use single.  Move
ldnr support inside single if statements.  Fix ldnr register counts
inside post if statement.  Change HALT_NYI calls to HALT_UNALLOC.

sim/testsuite/sim/aarch64/
* ldn_single.s: New.
* ldnr.s: New.
* stn_single.s: New.
sim/aarch64/ChangeLog
sim/aarch64/simulator.c
sim/testsuite/sim/aarch64/ChangeLog
sim/testsuite/sim/aarch64/ldn_single.s [new file with mode: 0644]
sim/testsuite/sim/aarch64/ldnr.s [new file with mode: 0644]
sim/testsuite/sim/aarch64/stn_single.s [new file with mode: 0644]