Addition of new test case to check rx generation with adds and subs instruction
for plain H8/300 target.
This commit is contained in:
parent
dd90efdb05
commit
92868b6eba
|
@ -1,3 +1,9 @@
|
||||||
|
2004-08-05 Nitin Yewale <nitiny@kpitcummins.com>
|
||||||
|
|
||||||
|
* h8300/h8300.exp: Addition of new test case to check rx
|
||||||
|
generation with adds and subs instruction for plain H8/300 target.
|
||||||
|
* h8300/addsubrxcheck.s: New test source file.
|
||||||
|
|
||||||
2004-08-01 Stephane Carrez <stcarrez@nerim.fr>
|
2004-08-01 Stephane Carrez <stcarrez@nerim.fr>
|
||||||
|
|
||||||
* gas/m68hc11/m68hc11.exp: Fix tests for 2.15
|
* gas/m68hc11/m68hc11.exp: Fix tests for 2.15
|
||||||
|
|
|
@ -0,0 +1,16 @@
|
||||||
|
.section .text
|
||||||
|
.global _main
|
||||||
|
_main:
|
||||||
|
mov.w r6,@-r7
|
||||||
|
mov.w r7,r6
|
||||||
|
subs #2,r7
|
||||||
|
mov.w @(-2,r6),r2
|
||||||
|
subs #2,r2
|
||||||
|
mov.w r2,@(-2,r6)
|
||||||
|
sub.w r2,r2
|
||||||
|
mov.w r2,r0
|
||||||
|
adds #2,r7
|
||||||
|
mov.w @r7+,r6
|
||||||
|
rts
|
||||||
|
.size _main, .-_main
|
||||||
|
.end
|
|
@ -2143,6 +2143,38 @@ proc do_h8300hn_addressgen {} {
|
||||||
if [expr $x == 8] then { pass $testname } else { fail $testname }
|
if [expr $x == 8] then { pass $testname } else { fail $testname }
|
||||||
}
|
}
|
||||||
|
|
||||||
|
proc do_h8300_addsubrxcheck {} {
|
||||||
|
set testname "addsubrxcheck.s: h8300 check rx generation for adds subs instructions"
|
||||||
|
set x 0
|
||||||
|
|
||||||
|
gas_start "addsubrxcheck.s" "-al"
|
||||||
|
|
||||||
|
# Check each instruction bit pattern to verify it got
|
||||||
|
# assembled correctly.
|
||||||
|
while 1 {
|
||||||
|
expect {
|
||||||
|
-re " +\[0-9\]+ .* 6DF6\[^\n\]*\n" { set x [expr $x+1] }
|
||||||
|
-re " +\[0-9\]+ .* 0D76\[^\n\]*\n" { set x [expr $x+1] }
|
||||||
|
-re " +\[0-9\]+ .* 1B87\[^\n\]*\n" { set x [expr $x+1] }
|
||||||
|
-re " +\[0-9\]+ .* 6F62FFFE\[^\n\]*\n" { set x [expr $x+1] }
|
||||||
|
-re " +\[0-9\]+ .* 1B82\[^\n\]*\n" { set x [expr $x+1] }
|
||||||
|
-re " +\[0-9\]+ .* 6FE2FFFE\[^\n\]*\n" { set x [expr $x+1] }
|
||||||
|
-re " +\[0-9\]+ .* 1922\[^\n\]*\n" { set x [expr $x+1] }
|
||||||
|
-re " +\[0-9\]+ .* 0D20\[^\n\]*\n" { set x [expr $x+1] }
|
||||||
|
-re " +\[0-9\]+ .* 0B87\[^\n\]*\n" { set x [expr $x+1] }
|
||||||
|
-re " +\[0-9\]+ .* 6D76\[^\n\]*\n" { set x [expr $x+1] }
|
||||||
|
-re " +\[0-9\]+ .* 5470\[^\n\]*\n" { set x [expr $x+1] }
|
||||||
|
|
||||||
|
eof { break }
|
||||||
|
}
|
||||||
|
}
|
||||||
|
# This was intended to do any cleanup necessary. It kinda looks like it
|
||||||
|
# isn't needed, but just in case, please keep it in for now.
|
||||||
|
gas_finish
|
||||||
|
# Did we find what we were looking for? If not, flunk it.
|
||||||
|
if [expr $x == 11] then { pass $testname } else { fail $testname }
|
||||||
|
}
|
||||||
|
|
||||||
if [istarget h8300*-*-*] then {
|
if [istarget h8300*-*-*] then {
|
||||||
# Test the basic h8300 instruction parser
|
# Test the basic h8300 instruction parser
|
||||||
do_h8300_add_sub
|
do_h8300_add_sub
|
||||||
|
@ -2162,6 +2194,8 @@ if [istarget h8300*-*-*] then {
|
||||||
do_h8300_rotate_shift
|
do_h8300_rotate_shift
|
||||||
do_h8300hn_addressgen
|
do_h8300hn_addressgen
|
||||||
|
|
||||||
|
do_h8300_addsubrxcheck
|
||||||
|
|
||||||
# Now test the h8300h instruction parser
|
# Now test the h8300h instruction parser
|
||||||
do_h8300h_add_sub
|
do_h8300h_add_sub
|
||||||
do_h8300h_logical
|
do_h8300h_logical
|
||||||
|
|
Loading…
Reference in New Issue