diff options
Diffstat (limited to 'gas')
-rw-r--r-- | gas/testsuite/ChangeLog | 6 | ||||
-rw-r--r-- | gas/testsuite/gas/mn10300/.Sanitize | 2 | ||||
-rwxr-xr-x | gas/testsuite/gas/mn10300/basic.exp | 511 |
3 files changed, 384 insertions, 135 deletions
diff --git a/gas/testsuite/ChangeLog b/gas/testsuite/ChangeLog index b8bc580..4c5df09 100644 --- a/gas/testsuite/ChangeLog +++ b/gas/testsuite/ChangeLog @@ -1,4 +1,10 @@ start-sanitize-am33 +Fri Jun 19 09:45:17 1998 Jeffrey A Law (law@cygnus.com) + + * gas/mn10300/am33_2.s: New test. + * gas/mn10300/am33_3.s: New test. + * gas/mn10300/basic.exp: Run them. + Wed Jun 17 18:14:33 1998 Jeffrey A Law (law@cygnus.com) * gas/mn10300/am33.s: New test. diff --git a/gas/testsuite/gas/mn10300/.Sanitize b/gas/testsuite/gas/mn10300/.Sanitize index 152e6e4..0d4e237 100644 --- a/gas/testsuite/gas/mn10300/.Sanitize +++ b/gas/testsuite/gas/mn10300/.Sanitize @@ -17,7 +17,7 @@ Do-first: -am33_files="am33.s" +am33_files="am33.s am33_2.s am33_3.s" if ( echo $* | grep keep\-am33 > /dev/null ) ; then keep_these_too="${am33_files} ${keep_these_too}" diff --git a/gas/testsuite/gas/mn10300/basic.exp b/gas/testsuite/gas/mn10300/basic.exp index 914aaa1..0c266a2 100755 --- a/gas/testsuite/gas/mn10300/basic.exp +++ b/gas/testsuite/gas/mn10300/basic.exp @@ -35,17 +35,17 @@ proc do_add {} { -re "^ +\[0-9\]+ 0003 F17E\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0005 F159\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0007 2910\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0009 FAC20100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 000d FCC30001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +8 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0009 FAC20001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 000d FCC3FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +8 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0013 2110\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0015 FAD20100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0019 FCD30001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +11 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0015 FAD20001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0019 FCD3FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +11 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 001f F8FE10\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0022 FAFE0100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0026 FCFE0001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +14 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0022 FAFE0001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0026 FCFEFFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +14 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 002c F146\[^\n\]*\n" { set x [expr $x+1] } -re "\[^\n\]*\n" { } timeout { perror "timeout\n"; break } @@ -113,20 +113,20 @@ proc do_bit {} { while 1 { expect { -re "^ +\[0-9\]+ 0000 F8ED40\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0003 FAEE2000\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0007 FCEF0001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +4 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0003 FAEE0020\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0007 FCEFFFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +4 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 000d FAF90840\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0011 FE020001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +6 +FFFF40\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0011 FE02FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +6 +010040\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0018 F086\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 001a FAF10840\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 001e FE000001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +9 +FFFF40\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 001e FE00FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +9 +010040\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0025 F096\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0027 FAF50840\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 002b FE010001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +12 +FFFF40\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 002b FE01FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +12 +010040\[^\n\]*\n" { set x [expr $x+1] } -re "\[^\n\]*\n" { } timeout { perror "timeout\n"; break } eof { break } @@ -157,13 +157,13 @@ proc do_cmp {} { -re "^ +\[0-9\]+ 0003 F19F\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0005 BE\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0006 AF10\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0008 FACA0100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 000c FCC90001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +8 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0008 FACA0001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 000c FCC9FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +8 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0012 BF10\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0014 FADA0100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0018 FCD90001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +11 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0014 FADA0001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0018 FCD9FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +11 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "\[^\n\]*\n" { } timeout { perror "timeout\n"; break } eof { break } @@ -223,14 +223,14 @@ proc do_extend {} { -re "^ +\[0-9\]+ 0002 F6FA\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0004 F606\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0006 F90210\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0009 FB030100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 000d FD030001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +7 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0009 FB030001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 000d FD03FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +7 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0013 F616\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0015 F91610\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0018 FB170100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 001c FD170001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +11 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0018 FB170001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 001c FD17FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +11 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0022 F64B\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0024 F65E\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0026 F676\[^\n\]*\n" { set x [expr $x+1] } @@ -261,20 +261,20 @@ proc do_logical {} { expect { -re "^ +\[0-9\]+ 0000 F206\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0002 F8E27F\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0005 FAE37FFF\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0009 FCE30001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +5 +FFFF\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 000f FAFC7FFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0005 FAE3FF7F\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0009 FCE3FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +5 +0100\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 000f FAFCFF7F\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0013 F216\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0015 F8E67F\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0018 FAE77FFF\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 001c FCE70001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +10 +FFFF\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0022 FAFD7FFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0018 FAE7FF7F\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 001c FCE7FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +10 +0100\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0022 FAFDFF7F\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0026 F226\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0028 FAEB7FFF\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 002c FCEB0001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +14 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0028 FAEBFF7F\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 002c FCEBFFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +14 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0032 F233\[^\n\]*\n" { set x [expr $x+1] } -re "^\[^\n\]*\n" { } timeout { perror "timeout\n"; break } @@ -349,11 +349,11 @@ proc do_mov1 {} { -re "^ +\[0-9\]+ 000d F2FA\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 000f 76\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0010 F80608\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0013 FA060100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0017 FC060001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +14 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0013 FA060001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0017 FC06FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +14 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 001d 5908\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 001f FAB50100\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 001f FAB50001\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0023 F2E7\[^\n\]*\n" { set x [expr $x+1] } -re "\[^\n\]*\n" { } timeout { perror "timeout\n"; break } @@ -380,25 +380,25 @@ proc do_mov2 {} { # of instructions (as these tests to). while 1 { expect { - -re "^ +\[0-9\]+ 0000 FCB50001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +2 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0000 FCB5FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +2 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0006 F325\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0008 318000\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 000b FCA50001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +5 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0008 310080\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 000b FCA5FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +5 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0011 F006\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0013 F82608\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0016 FA260100 \[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 001a FC260001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +9 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0016 FA260001 \[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 001a FC26FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +9 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0020 5D08\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0022 FAB10100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0026 FCB10001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +12 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0022 FAB10001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0026 FCB1FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +12 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 002c F3A5\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 002e FAA18000\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0032 FCA10001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +15 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 002e FAA10080\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0032 FCA1FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +15 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0038 F8F120\[^\n\]*\n" { set x [expr $x+1] } -re "\[^\n\]*\n" { } timeout { perror "timeout\n"; break } @@ -427,22 +427,22 @@ proc do_mov3 {} { expect { -re "^ +\[0-9\]+ 0000 66\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0001 F81620\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0004 FA160100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0008 FC160001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +5 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0004 FA160001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0008 FC16FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +5 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 000e 4620\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0010 FA958000\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0014 FC950001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +8 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0010 FA950080\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0014 FC95FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +8 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 001a F35A\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 001c 050080\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 001f FC850001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +11 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 001c 058000\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 001f FC85FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +11 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0025 F016\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0027 F83620\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 002a FA360100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 002e FC360001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +15 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 002a FA360001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 002e FC36FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +15 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0034 4720\[^\n\]*\n" { set x [expr $x+1] } -re "\[^\n\]*\n" { } timeout { perror "timeout\n"; break } @@ -469,22 +469,22 @@ proc do_mov4 {} { # of instructions (as these tests to). while 1 { expect { - -re "^ +\[0-9\]+ 0000 FA948000\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0004 FC940001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +3 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0000 FA940080\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0004 FC94FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +3 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 000a F3DA\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 000c FA840080\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0010 FC840001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +6 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 000c FA848000\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0010 FC84FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +6 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0016 F8F520\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0019 8508\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 001b 2D0100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 001e FCCD0001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +10 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 001b 2D0001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 001e FCCDFFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +10 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0024 9508\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0026 250100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0029 FCDD0001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +13 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0026 250001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0029 FCDDFFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +13 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "\[^\n\]*\n" { } timeout { perror "timeout\n"; break } eof { break } @@ -512,30 +512,30 @@ proc do_movbu {} { expect { -re "^ +\[0-9\]+ 0000 F046\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0002 F84608\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0005 FA460100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0009 FC460001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +5 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0005 FA460001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0009 FC46FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +5 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 000f F8B908\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0012 FAB90100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0016 FCB90001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +8 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0012 FAB90001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0016 FCB9FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +8 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 001c F425\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 001e 358000\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0021 FCA90001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +11 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 001e 350080\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0021 FCA9FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +11 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0027 F056\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0029 F85620\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 002c FA560100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0030 FC560001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +15 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 002c FA560001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0030 FC56FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +15 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0036 F89620\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0039 FA968000\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 003d FC960001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +18 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0039 FA960080\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 003d FC96FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +18 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0043 F45A\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0045 060080\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0048 FC860001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +21 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0045 068000\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0048 FC86FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +21 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "\[^\n\]*\n" { } timeout { perror "timeout\n"; break } eof { break } @@ -563,30 +563,30 @@ proc do_movhu {} { expect { -re "^ +\[0-9\]+ 0000 F066\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0002 F86608\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0005 FA660100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0009 FC660001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +5 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0005 FA660001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0009 FC66FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +5 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 000f F8BD08\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0012 FABD0100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0016 FCBD0001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +8 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0012 FABD0001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0016 FCBDFFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +8 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 001c F4A5\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 001e 398000\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0021 FCAD0001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +11 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 001e 390080\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0021 FCADFFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +11 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0027 F076\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0029 F87620\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 002c FA760100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0030 FC760001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +15 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 002c FA760001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0030 FC76FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +15 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0036 F89720\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0039 FA978000\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 003d FC970001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +18 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0039 FA970080\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 003d FC97FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +18 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0043 F4DA\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0045 070080\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0048 FC870001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +21 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0045 078000\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0048 FC87FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +21 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "\[^\n\]*\n" { } timeout { perror "timeout\n"; break } eof { break } @@ -675,19 +675,19 @@ proc do_other {} { -re "^ +\[0-9\]+ 0002 49\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0003 53\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0004 F0F6\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0006 CC0100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0009 DC0001FF\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +8 +FF\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 000e CD010005\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0006 CC0001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0009 DCFFFF01\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +8 +00\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 000e CD000130\[^\n\]*\n" { set x [expr $x+1] } -re "^ +9 +09\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0013 DD0001FF\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +10 +FF0920\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0013 DDFFFF01\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +10 +003020\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 001a F0F2\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 001c FAFF0100\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0020 FCFF0001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +13 +FFFF\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0026 DF0F07\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0029 DE0905\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 001c FAFF0001\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0020 FCFFFFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +13 +0100\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0026 DF3007\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0029 DE3005\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 002c F0FC\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 002e F0FD\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0030 F0FE\[^\n\]*\n" { set x [expr $x+1] } @@ -756,10 +756,10 @@ proc do_sub {} { -re "^ +\[0-9\]+ 0002 F12B\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0004 F11F\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0006 F13E\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 0008 FCC60001 \[^\n\]*\n" { set x [expr $x+1] } - -re "^ +6 +FFFF\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +\[0-9\]+ 000e FCD50001\[^\n\]*\n" { set x [expr $x+1] } - -re "^ +7 +FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0008 FCC6FFFF \[^\n\]*\n" { set x [expr $x+1] } + -re "^ +6 +0100\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 000e FCD5FFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +7 +0100\[^\n\]*\n" { set x [expr $x+1] } -re "^ +\[0-9\]+ 0014 F186\[^\n\]*\n" { set x [expr $x+1] } -re "\[^\n\]*\n" { } timeout { perror "timeout\n"; break } @@ -775,6 +775,244 @@ proc do_sub {} { if [expr $x==9] then { pass $testname } else { fail $testname } } +# start-sanitize-am33 +proc do_am33_1 {} { + set testname "am33.s: am33 tests part 1" + set x 0 + + gas_start "am33.s" "-al" + + # Instead of having a variable for each match string just increment the + # total number of matches seen. That's simpler when testing large numbers + # of instructions (as these tests to). + while 1 { + expect { + -re "^ +\[0-9\]+ 0000 CD000134\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +3 +09\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0005 CD000132\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +4 +09\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 000a CD000131\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +5 +09\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 000f CD0001FF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +6 +09\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0014 DDFFFF01\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +7 +003409\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 001b DDFFFF01\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +8 +003209\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0022 DDFFFF01\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +9 +003109\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0029 DDFFFF01\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +10 +00FF09\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0030 CE34\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0032 CE32\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0034 CE31\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0036 CEFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0038 CF34\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 003a CF32\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 003c CF31\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 003e CFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0040 F8CE34\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0043 F8CE32\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0046 F8CE31\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0049 F8CEFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 004c F8CF34\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 004f F8CF32\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0052 F8CF31\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0055 F8CFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0058 F020\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 005a F025\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 005c F02A\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 005e F02F\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0060 F030\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0062 F035\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0064 F03A\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0066 F0E4\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0068 F2EC\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 006a F2F5\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 006c F501\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 006e F563\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0070 F595\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0072 F5DF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0074 F630\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0076 F665\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0078 F6C0\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 007a F6D5\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 007c FCFC0000\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +45 +0200\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0082 FCFDFFFF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +46 +0000\[^\n\]*\n" { set x [expr $x+1] } + -re "\[^\n\]*\n" { } + timeout { perror "timeout\n"; break } + 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==54] then { pass $testname } else { fail $testname } +} + +proc do_am33_2 {} { + set testname "am33_2.s: am33 tests part 2" + set x 0 + + gas_start "am33_2.s" "-al" + + # Instead of having a variable for each match string just increment the + # total number of matches seen. That's simpler when testing large numbers + # of instructions (as these tests to). + while 1 { + expect { + -re "^ +\[0-9\]+ 0000 F90801\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0003 F91822\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0006 F92834\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0009 F93845\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 000c F94867\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 000f F95878\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0012 F96899\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0015 F978AB\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0018 F988CD\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 001b F998EF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 001e F9A8FE\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0021 F9B8DD\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0024 F9C8CC\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0027 F9D8BA\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 002a F9E801\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 002d F9F812\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0030 F90901\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0033 F91923\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0036 F92945\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0039 F93966\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 003c F94978\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 003f F9599A\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0042 F969BC\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0045 F979DD\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0048 F989EE\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 004b F999FF\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 004e F9A912\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0051 F9B934\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0054 F9C956\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0057 F9D978\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 005a F90A21\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 005d F91A34\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0060 F92A65\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0063 F93A78\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0066 F94AA9\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0069 F95ABC\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 006c CB\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 006d CB\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 006e CB\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 006f CB\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0070 CB\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0071 CB\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0072 F98A50\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0075 F99A60\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0078 F9AA70\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 007b F9BA80\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 007e F9CA90\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0081 F9DAA0\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0084 CB\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0085 CB\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0086 CB\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0087 CB\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0088 CB\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0089 CB\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 008a F90B12\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 008d F91B34\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0090 F92B56\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0093 F93B78\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0096 F94B9A\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0099 F95BBC\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 009c F96BDE\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 009f F97BFE\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 00a2 F98BDC\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 00a5 F99BBA\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 00a8 F9AB98\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 00ab F9BB76\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 00ae F9CB54\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 00b1 F9DB32\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 00b4 F9EB10\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 00b7 F9FB12\[^\n\]*\n" { set x [expr $x+1] } + -re "\[^\n\]*\n" { } + timeout { perror "timeout\n"; break } + 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==70] then { pass $testname } else { fail $testname } +} + +proc do_am33_3 {} { + set testname "am33_3.s: am33 tests part 3" + set x 0 + + gas_start "am33_3.s" "-al" + + # Instead of having a variable for each match string just increment the + # total number of matches seen. That's simpler when testing large numbers + # of instructions (as these tests to). + while 1 { + expect { + -re "^ +\[0-9\]+ 0000 FB081110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0004 FB181110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0008 FB781110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 000c FB881110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0010 FB981110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0014 FBA81110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0018 FBD81110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 001c FBF81110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0020 FB091110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0024 FB191110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0028 FB291110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 002c FB491110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0030 FB591110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0034 FB691110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0038 FBA91110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 003c FBB91110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0040 FBE91110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0044 FB0A2110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0048 FB1A2110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 004c FB2A2110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0050 FB3A2110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0054 FB4A2110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0058 FB5A2110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 005c FB8A2010\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0060 FB9A2010\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0064 FBAA2010\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0068 FBBA2010\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 006c FBCA2010\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0070 FBDA2010\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0074 FB0B1110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0078 FB1B1110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 007c FB2B1110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0080 FB3B1110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0084 FB4B1110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0088 FB5B1110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 008c FBBB1110\[^\n\]*\n" { set x [expr $x+1] } + -re "^ +\[0-9\]+ 0090 FB7C1230\[^\n\]*\n" { set x [expr $x+1] } + -re "\[^\n\]*\n" { } + timeout { perror "timeout\n"; break } + 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==36] then { pass $testname } else { fail $testname } +} +# end-sanitize-am33 + if [istarget mn10300*-*-*] then { # Test the basic instruction parser. do_add @@ -796,4 +1034,9 @@ if [istarget mn10300*-*-*] then { do_other do_shift do_sub +# start-sanitize-am33 + do_am33_1 + do_am33_2 + do_am33_3 +# end-sanitize-am33 } |