| # Copyright (C) 2003, 2007, 2008, 2009, 2010 Free Software Foundation, Inc. |
| |
| # This program is free software; you can redistribute it and/or modify |
| # it under the terms of the GNU General Public License as published by |
| # the Free Software Foundation; either version 3 of the License, or |
| # (at your option) any later version. |
| # |
| # This program is distributed in the hope that it will be useful, |
| # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| # GNU General Public License for more details. |
| # |
| # You should have received a copy of the GNU General Public License |
| # along with this program. If not, see <http://www.gnu.org/licenses/>. |
| |
| # This file was written by Michael Snyder (msnyder@redhat.com) |
| |
| if $tracelevel then { |
| strace $tracelevel |
| } |
| |
| if ![istarget "h8300*-*-*"] { |
| verbose "Tests ignored for all but h8300s based targets." |
| return |
| } |
| |
| |
| set testfile "t07_ari3" |
| set srcfile ${srcdir}/${subdir}/${testfile}.s |
| set objfile ${objdir}/${subdir}/${testfile}.o |
| set binfile ${objdir}/${subdir}/${testfile}.x |
| |
| set asm-flags ""; |
| set link-flags "-m h8300sxelf"; |
| |
| |
| if {[target_assemble $srcfile $objfile "${asm-flags}"] != ""} then { |
| untested t07_ari3.exp |
| return -1 |
| } |
| |
| if {[target_link $objfile $binfile "${link-flags}"] != ""} then { |
| untested t07_ari3.exp |
| return -1 |
| } |
| |
| gdb_start |
| gdb_reinitialize_dir $srcdir/$subdir |
| gdb_load $binfile |
| |
| gdb_test "x /i start" "neg.b\tr1h" \ |
| "neg.b r1h" |
| gdb_test "x" "neg.b\t@er1" \ |
| "neg.b @er1" |
| gdb_test "x" "neg.b\t@\\(0x3(:2|),er1\\)" \ |
| "neg.b @(0x3:2,er1)" |
| gdb_test "x" "neg.b\t@er1\\+" \ |
| "neg.b @er1+" |
| gdb_test "x" "neg.b\t@-er1" \ |
| "neg.b @-er1" |
| gdb_test "x" "neg.b\t@\\+er1" \ |
| "neg.b @+er1" |
| gdb_test "x" "neg.b\t@er1-" \ |
| "neg.b @er1-" |
| gdb_test "x" "neg.b\t@\\(0x1234(:16|),er1\\)" \ |
| "neg.b @(0x1234:16,er1)" |
| gdb_test "x" "neg.b\t@\\(0x12345678(:32|),er1\\)" \ |
| "neg.b @(0x12345678:32,er1)" |
| gdb_test "x" "neg.b\t@\\(0x1234(:16|),r2l.b\\)" \ |
| "neg.b @(0x1234:16,r2l.b)" |
| gdb_test "x" "neg.b\t@\\(0x1234(:16|),r2.w\\)" \ |
| "neg.b @(0x1234:16,r2.w)" |
| gdb_test "x" "neg.b\t@\\(0x1234(:16|),er2.l\\)" \ |
| "neg.b @(0x1234:16,er2.l)" |
| gdb_test "x" "neg.b\t@\\(0x12345678(:32|),r2l.b\\)" \ |
| "neg.b @(0x12345678:32,r2l.b)" |
| gdb_test "x" "neg.b\t@\\(0x12345678(:32|),r2.w\\)" \ |
| "neg.b @(0x12345678:32,r2.w)" |
| gdb_test "x" "neg.b\t@\\(0x12345678(:32|),er2.l\\)" \ |
| "neg.b @(0x12345678:32,er2.l)" |
| gdb_test "x" "neg.b\t@0x12(:8|)" \ |
| "neg.b @0x12:8" |
| gdb_test "x" "neg.b\t@0x1234(:16|)" \ |
| "neg.b @0x1234:16" |
| gdb_test "x" "neg.b\t@0x12345678(:32|)" \ |
| "neg.b @0x12345678:32" |
| gdb_test "x" "neg.w\tr1" \ |
| "neg.w r1" |
| gdb_test "x" "neg.w\t@er1" \ |
| "neg.w @er1" |
| gdb_test "x" "neg.w\t@\\(0x6(:2|),er1\\)" \ |
| "neg.w @(0x6:2,er1)" |
| gdb_test "x" "neg.w\t@er1\\+" \ |
| "neg.w @er1+" |
| gdb_test "x" "neg.w\t@-er1" \ |
| "neg.w @-er1" |
| gdb_test "x" "neg.w\t@\\+er1" \ |
| "neg.w @+er1" |
| gdb_test "x" "neg.w\t@er1-" \ |
| "neg.w @er1-" |
| gdb_test "x" "neg.w\t@\\(0x1234(:16|),er1\\)" \ |
| "neg.w @(0x1234:16,er1)" |
| gdb_test "x" "neg.w\t@\\(0x12345678(:32|),er1\\)" \ |
| "neg.w @(0x12345678:32,er1)" |
| gdb_test "x" "neg.w\t@\\(0x1234(:16|),r2l.b\\)" \ |
| "neg.w @(0x1234:16,r2l.b)" |
| gdb_test "x" "neg.w\t@\\(0x1234(:16|),r2.w\\)" \ |
| "neg.w @(0x1234:16,r2.w)" |
| gdb_test "x" "neg.w\t@\\(0x1234(:16|),er2.l\\)" \ |
| "neg.w @(0x1234:16,er2.l)" |
| gdb_test "x" "neg.w\t@\\(0x12345678(:32|),r2l.b\\)" \ |
| "neg.w @(0x12345678:32,r2l.b)" |
| gdb_test "x" "neg.w\t@\\(0x12345678(:32|),r2.w\\)" \ |
| "neg.w @(0x12345678:32,r2.w)" |
| gdb_test "x" "neg.w\t@\\(0x12345678(:32|),er2.l\\)" \ |
| "neg.w @(0x12345678:32,er2.l)" |
| gdb_test "x" "neg.w\t@0x1234(:16|)" \ |
| "neg.w @0x1234:16" |
| gdb_test "x" "neg.w\t@0x12345678(:32|)" \ |
| "neg.w @0x12345678:32" |
| gdb_test "x" "neg.l\ter1" \ |
| "neg.l er1" |
| gdb_test "x" "neg.l\t@er1" \ |
| "neg.l @er1" |
| gdb_test "x" "neg.l\t@\\(0xc(:2|),er1\\)" \ |
| "neg.l @(0xc:2,er1)" |
| gdb_test "x" "neg.l\t@er1\\+" \ |
| "neg.l @er1+" |
| gdb_test "x" "neg.l\t@-er1" \ |
| "neg.l @-er1" |
| gdb_test "x" "neg.l\t@\\+er1" \ |
| "neg.l @+er1" |
| gdb_test "x" "neg.l\t@er1-" \ |
| "neg.l @er1-" |
| gdb_test "x" "neg.l\t@\\(0x1234(:16|),er1\\)" \ |
| "neg.l @(0x1234:16,er1)" |
| gdb_test "x" "neg.l\t@\\(0x12345678(:32|),er1\\)" \ |
| "neg.l @(0x12345678:32,er1)" |
| gdb_test "x" "neg.l\t@\\(0x1234(:16|),r2l.b\\)" \ |
| "neg.l @(0x1234:16,r2l.b)" |
| gdb_test "x" "neg.l\t@\\(0x1234(:16|),r2.w\\)" \ |
| "neg.l @(0x1234:16,r2.w)" |
| gdb_test "x" "neg.l\t@\\(0x1234(:16|),er2.l\\)" \ |
| "neg.l @(0x1234:16,er2.l)" |
| gdb_test "x" "neg.l\t@\\(0x12345678(:32|),r2l.b\\)" \ |
| "neg.l @(0x12345678:32,r2l.b)" |
| gdb_test "x" "neg.l\t@\\(0x12345678(:32|),r2.w\\)" \ |
| "neg.l @(0x12345678:32,r2.w)" |
| gdb_test "x" "neg.l\t@\\(0x12345678(:32|),er2.l\\)" \ |
| "neg.l @(0x12345678:32,er2.l)" |
| gdb_test "x" "neg.l\t@0x1234(:16|)" \ |
| "neg.l @0x1234:16" |
| gdb_test "x" "neg.l\t@0x12345678(:32|)" \ |
| "neg.l @0x12345678:32" |
| gdb_test "x" "tas\t@er1" \ |
| "tas @er1" |
| gdb_test "x" "extu.w\tr1" \ |
| "extu.w r1" |
| gdb_test "x" "extu.w\t@er1" \ |
| "extu.w @er1" |
| gdb_test "x" "extu.w\t@\\(0x6(:2|),er1\\)" \ |
| "extu.w @(0x6:2,er1)" |
| gdb_test "x" "extu.w\t@er1\\+" \ |
| "extu.w @er1+" |
| gdb_test "x" "extu.w\t@-er1" \ |
| "extu.w @-er1" |
| gdb_test "x" "extu.w\t@\\+er1" \ |
| "extu.w @+er1" |
| gdb_test "x" "extu.w\t@er1-" \ |
| "extu.w @er1-" |
| gdb_test "x" "extu.w\t@\\(0x1234(:16|),er1\\)" \ |
| "extu.w @(0x1234:16,er1)" |
| gdb_test "x" "extu.w\t@\\(0x12345678(:32|),er1\\)" \ |
| "extu.w @(0x12345678:32,er1)" |
| gdb_test "x" "extu.w\t@\\(0x1234(:16|),r2l.b\\)" \ |
| "extu.w @(0x1234:16,r2l.b)" |
| gdb_test "x" "extu.w\t@\\(0x1234(:16|),r2.w\\)" \ |
| "extu.w @(0x1234:16,r2.w)" |
| gdb_test "x" "extu.w\t@\\(0x1234(:16|),er2.l\\)" \ |
| "extu.w @(0x1234:16,er2.l)" |
| gdb_test "x" "extu.w\t@\\(0x12345678(:32|),r2l.b\\)" \ |
| "extu.w @(0x12345678:32,r2l.b)" |
| gdb_test "x" "extu.w\t@\\(0x12345678(:32|),r2.w\\)" \ |
| "extu.w @(0x12345678:32,r2.w)" |
| gdb_test "x" "extu.w\t@\\(0x12345678(:32|),er2.l\\)" \ |
| "extu.w @(0x12345678:32,er2.l)" |
| gdb_test "x" "extu.w\t@0x1234(:16|)" \ |
| "extu.w @0x1234:16" |
| gdb_test "x" "extu.w\t@0x12345678(:32|)" \ |
| "extu.w @0x12345678:32" |
| gdb_test "x" "extu.l\ter1" \ |
| "extu.l er1" |
| gdb_test "x" "extu.l\t@er1" \ |
| "extu.l @er1" |
| gdb_test "x" "extu.l\t@\\(0xc(:2|),er1\\)" \ |
| "extu.l @(0xc:2,er1)" |
| gdb_test "x" "extu.l\t@er1\\+" \ |
| "extu.l @er1+" |
| gdb_test "x" "extu.l\t@-er1" \ |
| "extu.l @-er1" |
| gdb_test "x" "extu.l\t@\\+er1" \ |
| "extu.l @+er1" |
| gdb_test "x" "extu.l\t@er1-" \ |
| "extu.l @er1-" |
| gdb_test "x" "extu.l\t@\\(0x1234(:16|),er1\\)" \ |
| "extu.l @(0x1234:16,er1)" |
| gdb_test "x" "extu.l\t@\\(0x12345678(:32|),er1\\)" \ |
| "extu.l @(0x12345678:32,er1)" |
| gdb_test "x" "extu.l\t@\\(0x1234(:16|),r2l.b\\)" \ |
| "extu.l @(0x1234:16,r2l.b)" |
| gdb_test "x" "extu.l\t@\\(0x1234(:16|),r2.w\\)" \ |
| "extu.l @(0x1234:16,r2.w)" |
| gdb_test "x" "extu.l\t@\\(0x1234(:16|),er2.l\\)" \ |
| "extu.l @(0x1234:16,er2.l)" |
| gdb_test "x" "extu.l\t@\\(0x12345678(:32|),r2l.b\\)" \ |
| "extu.l @(0x12345678:32,r2l.b)" |
| gdb_test "x" "extu.l\t@\\(0x12345678(:32|),r2.w\\)" \ |
| "extu.l @(0x12345678:32,r2.w)" |
| gdb_test "x" "extu.l\t@\\(0x12345678(:32|),er2.l\\)" \ |
| "extu.l @(0x12345678:32,er2.l)" |
| gdb_test "x" "extu.l\t@0x1234(:16|)" \ |
| "extu.l @0x1234:16" |
| gdb_test "x" "extu.l\t@0x12345678(:32|)" \ |
| "extu.l @0x12345678:32" |
| gdb_test "x" "extu.l\t#2,er1" \ |
| "extu.l #2,er1" |
| gdb_test "x" "extu.l\t#2,@er1" \ |
| "extu.l #2,@er1" |
| gdb_test "x" "extu.l\t#2,@\\(0xc(:2|),er1\\)" \ |
| "extu.l #2,@(0xc:2,er1)" |
| gdb_test "x" "extu.l\t#2,@er1\\+" \ |
| "extu.l #2,@er1+" |
| gdb_test "x" "extu.l\t#2,@-er1" \ |
| "extu.l #2,@-er1" |
| gdb_test "x" "extu.l\t#2,@\\+er1" \ |
| "extu.l #2,@+er1" |
| gdb_test "x" "extu.l\t#2,@er1-" \ |
| "extu.l #2,@er1-" |
| gdb_test "x" "extu.l\t#2,@\\(0x1234(:16|),er1\\)" \ |
| "extu.l #2,@(0x1234:16,er1)" |
| gdb_test "x" "extu.l\t#2,@\\(0x12345678(:32|),er1\\)" \ |
| "extu.l #2,@(0x12345678:32,er1)" |
| gdb_test "x" "extu.l\t#2,@\\(0x1234(:16|),r2l.b\\)" \ |
| "extu.l #2,@(0x1234:16,r2l.b)" |
| gdb_test "x" "extu.l\t#2,@\\(0x1234(:16|),r2.w\\)" \ |
| "extu.l #2,@(0x1234:16,r2.w)" |
| gdb_test "x" "extu.l\t#2,@\\(0x1234(:16|),er2.l\\)" \ |
| "extu.l #2,@(0x1234:16,er2.l)" |
| gdb_test "x" "extu.l\t#2,@\\(0x12345678(:32|),r2l.b\\)" \ |
| "extu.l #2,@(0x12345678:32,r2l.b)" |
| gdb_test "x" "extu.l\t#2,@\\(0x12345678(:32|),r2.w\\)" \ |
| "extu.l #2,@(0x12345678:32,r2.w)" |
| gdb_test "x" "extu.l\t#2,@\\(0x12345678(:32|),er2.l\\)" \ |
| "extu.l #2,@(0x12345678:32,er2.l)" |
| gdb_test "x" "extu.l\t#2,@0x1234(:16|)" \ |
| "extu.l #2,@0x1234:16" |
| gdb_test "x" "extu.l\t#2,@0x12345678(:32|)" \ |
| "extu.l #2,@0x12345678:32" |
| gdb_test "x" "exts.w\tr1" \ |
| "exts.w r1" |
| gdb_test "x" "exts.w\t@er1" \ |
| "exts.w @er1" |
| gdb_test "x" "exts.w\t@\\(0x6(:2|),er1\\)" \ |
| "exts.w @(0x6:2,er1)" |
| gdb_test "x" "exts.w\t@er1\\+" \ |
| "exts.w @er1+" |
| gdb_test "x" "exts.w\t@-er1" \ |
| "exts.w @-er1" |
| gdb_test "x" "exts.w\t@\\+er1" \ |
| "exts.w @+er1" |
| gdb_test "x" "exts.w\t@er1-" \ |
| "exts.w @er1-" |
| gdb_test "x" "exts.w\t@\\(0x1234(:16|),er1\\)" \ |
| "exts.w @(0x1234:16,er1)" |
| gdb_test "x" "exts.w\t@\\(0x12345678(:32|),er1\\)" \ |
| "exts.w @(0x12345678:32,er1)" |
| gdb_test "x" "exts.w\t@\\(0x1234(:16|),r2l.b\\)" \ |
| "exts.w @(0x1234:16,r2l.b)" |
| gdb_test "x" "exts.w\t@\\(0x1234(:16|),r2.w\\)" \ |
| "exts.w @(0x1234:16,r2.w)" |
| gdb_test "x" "exts.w\t@\\(0x1234(:16|),er2.l\\)" \ |
| "exts.w @(0x1234:16,er2.l)" |
| gdb_test "x" "exts.w\t@\\(0x12345678(:32|),r2l.b\\)" \ |
| "exts.w @(0x12345678:32,r2l.b)" |
| gdb_test "x" "exts.w\t@\\(0x12345678(:32|),r2.w\\)" \ |
| "exts.w @(0x12345678:32,r2.w)" |
| gdb_test "x" "exts.w\t@\\(0x12345678(:32|),er2.l\\)" \ |
| "exts.w @(0x12345678:32,er2.l)" |
| gdb_test "x" "exts.w\t@0x1234(:16|)" \ |
| "exts.w @0x1234:16" |
| gdb_test "x" "exts.w\t@0x12345678(:32|)" \ |
| "exts.w @0x12345678:32" |
| gdb_test "x" "exts.l\ter1" \ |
| "exts.l er1" |
| gdb_test "x" "exts.l\t@er1" \ |
| "exts.l @er1" |
| gdb_test "x" "exts.l\t@\\(0xc(:2|),er1\\)" \ |
| "exts.l @(0xc:2,er1)" |
| gdb_test "x" "exts.l\t@er1\\+" \ |
| "exts.l @er1+" |
| gdb_test "x" "exts.l\t@-er1" \ |
| "exts.l @-er1" |
| gdb_test "x" "exts.l\t@\\+er1" \ |
| "exts.l @+er1" |
| gdb_test "x" "exts.l\t@er1-" \ |
| "exts.l @er1-" |
| gdb_test "x" "exts.l\t@\\(0x1234(:16|),er1\\)" \ |
| "exts.l @(0x1234:16,er1)" |
| gdb_test "x" "exts.l\t@\\(0x12345678(:32|),er1\\)" \ |
| "exts.l @(0x12345678:32,er1)" |
| gdb_test "x" "exts.l\t@\\(0x1234(:16|),r2l.b\\)" \ |
| "exts.l @(0x1234:16,r2l.b)" |
| gdb_test "x" "exts.l\t@\\(0x1234(:16|),r2.w\\)" \ |
| "exts.l @(0x1234:16,r2.w)" |
| gdb_test "x" "exts.l\t@\\(0x1234(:16|),er2.l\\)" \ |
| "exts.l @(0x1234:16,er2.l)" |
| gdb_test "x" "exts.l\t@\\(0x12345678(:32|),r2l.b\\)" \ |
| "exts.l @(0x12345678:32,r2l.b)" |
| gdb_test "x" "exts.l\t@\\(0x12345678(:32|),r2.w\\)" \ |
| "exts.l @(0x12345678:32,r2.w)" |
| gdb_test "x" "exts.l\t@\\(0x12345678(:32|),er2.l\\)" \ |
| "exts.l @(0x12345678:32,er2.l)" |
| gdb_test "x" "exts.l\t@0x1234(:16|)" \ |
| "exts.l @0x1234:16" |
| gdb_test "x" "exts.l\t@0x12345678(:32|)" \ |
| "exts.l @0x12345678:32" |
| gdb_test "x" "exts.l\t#2,er1" \ |
| "exts.l #2,er1" |
| gdb_test "x" "exts.l\t#2,@er1" \ |
| "exts.l #2,@er1" |
| gdb_test "x" "exts.l\t#2,@\\(0xc(:2|),er1\\)" \ |
| "exts.l #2,@(0xc:2,er1)" |
| gdb_test "x" "exts.l\t#2,@er1\\+" \ |
| "exts.l #2,@er1+" |
| gdb_test "x" "exts.l\t#2,@-er1" \ |
| "exts.l #2,@-er1" |
| gdb_test "x" "exts.l\t#2,@\\+er1" \ |
| "exts.l #2,@+er1" |
| gdb_test "x" "exts.l\t#2,@er1-" \ |
| "exts.l #2,@er1-" |
| gdb_test "x" "exts.l\t#2,@\\(0x1234(:16|),er1\\)" \ |
| "exts.l #2,@(0x1234:16,er1)" |
| gdb_test "x" "exts.l\t#2,@\\(0x12345678(:32|),er1\\)" \ |
| "exts.l #2,@(0x12345678:32,er1)" |
| gdb_test "x" "exts.l\t#2,@\\(0x1234(:16|),r2l.b\\)" \ |
| "exts.l #2,@(0x1234:16,r2l.b)" |
| gdb_test "x" "exts.l\t#2,@\\(0x1234(:16|),r2.w\\)" \ |
| "exts.l #2,@(0x1234:16,r2.w)" |
| gdb_test "x" "exts.l\t#2,@\\(0x1234(:16|),er2.l\\)" \ |
| "exts.l #2,@(0x1234:16,er2.l)" |
| gdb_test "x" "exts.l\t#2,@\\(0x12345678(:32|),r2l.b\\)" \ |
| "exts.l #2,@(0x12345678:32,r2l.b)" |
| gdb_test "x" "exts.l\t#2,@\\(0x12345678(:32|),r2.w\\)" \ |
| "exts.l #2,@(0x12345678:32,r2.w)" |
| gdb_test "x" "exts.l\t#2,@\\(0x12345678(:32|),er2.l\\)" \ |
| "exts.l #2,@(0x12345678:32,er2.l)" |
| gdb_test "x" "exts.l\t#2,@0x1234(:16|)" \ |
| "exts.l #2,@0x1234:16" |
| gdb_test "x" "exts.l\t#2,@0x12345678(:32|)" \ |
| "exts.l #2,@0x12345678:32" |