diff options
-rw-r--r-- | gas/ChangeLog | 5 | ||||
-rw-r--r-- | gas/config/tc-h8300.c | 1 | ||||
-rw-r--r-- | gas/testsuite/ChangeLog | 5 | ||||
-rw-r--r-- | gas/testsuite/gas/h8300/t01_mov.exp | 16 | ||||
-rw-r--r-- | gas/testsuite/gas/h8300/t01_mov.s | 4 |
5 files changed, 21 insertions, 10 deletions
diff --git a/gas/ChangeLog b/gas/ChangeLog index b17f38b..d1979e3 100644 --- a/gas/ChangeLog +++ b/gas/ChangeLog @@ -1,3 +1,8 @@ +2003-11-26 Nick Clifton <nickc@redhat.com> + + * config/tc-h8300.c (get_operand): Allow er4-er7 for ldm/stm + instructions on the H8SX. + 2003-11-25 Kazu Hirata <kazu@cs.umass.edu> * config/tc-h8300.c (h8_exp): Remove. diff --git a/gas/config/tc-h8300.c b/gas/config/tc-h8300.c index b8813c9..3906b62 100644 --- a/gas/config/tc-h8300.c +++ b/gas/config/tc-h8300.c @@ -598,6 +598,7 @@ get_operand (char **ptr, struct h8_op *op, int direction) && !(low == 2 && (high == 3 || ((high == 4 || high == 5) && SXmode))) && !(low == 3 && (high == 4 || high == 5 || high == 6) && SXmode) && !(low == 4 && (high == 5 || high == 6)) + && !(low == 4 && high == 7 && SXmode) && !(low == 5 && (high == 6 || high == 7) && SXmode) && !(low == 6 && high == 7 && SXmode)) as_bad (_("Invalid register list for ldm/stm\n")); diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index 5b013e9..ed4ec02 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,3 +1,8 @@ +2003-11-26 Nick Clifton <nickc@redhat.com> + + * gas/h8300/t01_mov.s: Revert changes. + * gas/h8300/t01_mov.exp: Revert changes. + 2003-11-25 Asgari Jinia <asgarij@kpitcummins.com> * gas/h8300/multiples.s : Add instructions for H8s. diff --git a/gas/testsuite/gas/h8300/t01_mov.exp b/gas/testsuite/gas/h8300/t01_mov.exp index 40a943d..802fde3 100644 --- a/gas/testsuite/gas/h8300/t01_mov.exp +++ b/gas/testsuite/gas/h8300/t01_mov.exp @@ -11,7 +11,7 @@ proc do_t01_mov_test {} { set x 0 expect { - -re ".* 7 0000 F312" { set x [expr $x+1]; exp_continue; } + -re ".* 7 0000 F312" { set x [expr $x+1]; exp_continue; } -re ".* 8 0002 017D0312" { set x [expr $x+1]; exp_continue; } -re ".* 9 0006 017D1312" { set x [expr $x+1]; exp_continue; } -re ".* 10 000a 017DB312" { set x [expr $x+1]; exp_continue; } @@ -19,15 +19,15 @@ proc do_t01_mov_test {} { -re ".* 12 0012 017DA312" { set x [expr $x+1]; exp_continue; } -re ".* 13 0016 017D9312" { set x [expr $x+1]; exp_continue; } -re ".* 14 001a 017DC312" { set x [expr $x+1]; exp_continue; } - -re ".* 14 1234" { set x [expr $x+1]; exp_continue; } + -re ".* 14 1234" { set x [expr $x+1]; exp_continue; } -re ".* 15 0020 017DCB12" { set x [expr $x+1]; exp_continue; } -re ".* 15 12345678" { set x [expr $x+1]; exp_continue; } -re ".* 16 0028 017DD312" { set x [expr $x+1]; exp_continue; } - -re ".* 16 1234" { set x [expr $x+1]; exp_continue; } + -re ".* 16 1234" { set x [expr $x+1]; exp_continue; } -re ".* 17 002e 017DE312" { set x [expr $x+1]; exp_continue; } - -re ".* 17 1234" { set x [expr $x+1]; exp_continue; } + -re ".* 17 1234" { set x [expr $x+1]; exp_continue; } -re ".* 18 0034 017DF312" { set x [expr $x+1]; exp_continue; } - -re ".* 18 1234" { set x [expr $x+1]; exp_continue; } + -re ".* 18 1234" { set x [expr $x+1]; exp_continue; } -re ".* 19 003a 017DDB12" { set x [expr $x+1]; exp_continue; } -re ".* 19 12345678" { set x [expr $x+1]; exp_continue; } -re ".* 20 0042 017DEB12" { set x [expr $x+1]; exp_continue; } @@ -35,7 +35,7 @@ proc do_t01_mov_test {} { -re ".* 21 004a 017DFB12" { set x [expr $x+1]; exp_continue; } -re ".* 21 12345678" { set x [expr $x+1]; exp_continue; } -re ".* 22 0052 017D4012" { set x [expr $x+1]; exp_continue; } - -re ".* 22 1234" { set x [expr $x+1]; exp_continue; } + -re ".* 22 1234" { set x [expr $x+1]; exp_continue; } -re ".* 23 0058 017D4812" { set x [expr $x+1]; exp_continue; } -re ".* 23 12345678" { set x [expr $x+1]; exp_continue; } -re ".* 24 " { @@ -2890,7 +2890,7 @@ proc do_t01_mov_test {} { -re ".* 1067 1c60 01306D74" { set x [expr $x+1]; exp_continue; } -re ".* 1068 1c64 01306D75" { set x [expr $x+1]; exp_continue; } -re ".* 1069 1c68 01306D76" { set x [expr $x+1]; exp_continue; } - -re ".* 1070 1c6c 01206D77" { set x [expr $x+1]; exp_continue; } + -re ".* 1070 1c6c 01306D77" { set x [expr $x+1]; exp_continue; } -re ".* 1071 " { if [expr $x == 5] then { pass "$testname: ldm @sp+,(er0-er3)" @@ -2944,7 +2944,7 @@ proc do_t01_mov_test {} { -re ".* 1088 1ca8 01306DF1" { set x [expr $x+1]; exp_continue; } -re ".* 1089 1cac 01306DF2" { set x [expr $x+1]; exp_continue; } -re ".* 1090 1cb0 01306DF3" { set x [expr $x+1]; exp_continue; } - -re ".* 1091 1cb4 01206DF5" { set x [expr $x+1]; exp_continue; } + -re ".* 1091 1cb4 01306DF4" { set x [expr $x+1]; exp_continue; } -re ".* 1092 " { if [expr $x == 5] then { pass "$testname: stm (er0-er3),@-sp" diff --git a/gas/testsuite/gas/h8300/t01_mov.s b/gas/testsuite/gas/h8300/t01_mov.s index 606fee7..c8d35de 100644 --- a/gas/testsuite/gas/h8300/t01_mov.s +++ b/gas/testsuite/gas/h8300/t01_mov.s @@ -1067,7 +1067,7 @@ _start: ldm @sp+,(er1-er4) ;01306d74
ldm @sp+,(er2-er5) ;01306d75
ldm @sp+,(er3-er6) ;01306d76
- ldm @sp+,(er5-er7) ;01206d77
+ ldm @sp+,(er4-er7) ;01306d77
stm (er0-er1),@-sp ;01106df0
stm (er1-er2),@-sp ;01106df1
@@ -1088,7 +1088,7 @@ _start: stm (er1-er4),@-sp ;01306df1
stm (er2-er5),@-sp ;01306df2
stm (er3-er6),@-sp ;01306df3
- stm (er5-er7),@-sp ;01206df5
+ stm (er4-er7),@-sp ;01306df4
eepmov.b ;7b5c598f
|