1# Copyright (C) 2003, 2007, 2008, 2009, 2010, 2011 2# Free Software Foundation, Inc. 3 4# This program is free software; you can redistribute it and/or modify 5# it under the terms of the GNU General Public License as published by 6# the Free Software Foundation; either version 3 of the License, or 7# (at your option) any later version. 8# 9# This program is distributed in the hope that it will be useful, 10# but WITHOUT ANY WARRANTY; without even the implied warranty of 11# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the 12# GNU General Public License for more details. 13# 14# You should have received a copy of the GNU General Public License 15# along with this program. If not, see <http://www.gnu.org/licenses/>. 16 17# This file was written by Michael Snyder (msnyder@redhat.com) 18 19if $tracelevel then { 20 strace $tracelevel 21} 22 23if ![istarget "h8300*-*-*"] { 24 verbose "Tests ignored for all but h8300s based targets." 25 return 26} 27 28 29set testfile "t06_ari2" 30set srcfile ${srcdir}/${subdir}/${testfile}.s 31set objfile ${objdir}/${subdir}/${testfile}.o 32set binfile ${objdir}/${subdir}/${testfile}.x 33 34set asm-flags ""; 35set link-flags "-m h8300sxelf"; 36 37 38if {[target_assemble $srcfile $objfile "${asm-flags}"] != ""} then { 39 untested t06_ari2.exp 40 return -1 41} 42 43if {[target_link $objfile $binfile "${link-flags}"] != ""} then { 44 untested t06_ari2.exp 45 return -1 46} 47 48gdb_start 49gdb_reinitialize_dir $srcdir/$subdir 50gdb_load $binfile 51 52gdb_test "x /i start" "addx(.b|)\t#0x12(:8|),r1h" \ 53 "addx.b #0x12:8,r1h" 54gdb_test "x" "addx(.b|)\t#0x12(:8|),@er1" \ 55 "addx.b #0x12:8,@er1" 56gdb_test "x" "addx(.b|)\t#0x12(:8|),@er1-" \ 57 "addx.b #0x12:8,@er1-" 58gdb_test "x" "addx(.b|)\tr3h,r1h" \ 59 "addx.b r3h,r1h" 60gdb_test "x" "addx(.b|)\tr3h,@er1" \ 61 "addx.b r3h,@er1" 62gdb_test "x" "addx(.b|)\tr3h,@er1-" \ 63 "addx.b r3h,@er1-" 64gdb_test "x" "addx(.b|)\t@er3,r1h" \ 65 "addx.b @er3,r1h" 66gdb_test "x" "addx(.b|)\t@er3,@er1" \ 67 "addx.b @er3,@er1" 68gdb_test "x" "addx(.b|)\t@er3-,r1h" \ 69 "addx.b @er3-,r1h" 70gdb_test "x" "addx(.b|)\t@er3-,@er1-" \ 71 "addx.b @er3-,@er1-" 72gdb_test "x" "addx.w\t#0x1234(:16|),r1" \ 73 "addx.w #0x1234:16,r1" 74gdb_test "x" "addx.w\t#0x1234(:16|),@er1" \ 75 "addx.w #0x1234:16,@er1" 76gdb_test "x" "addx.w\t#0x1234(:16|),@er1-" \ 77 "addx.w #0x1234:16,@er1-" 78gdb_test "x" "addx.w\tr3,r1" \ 79 "addx.w r3,r1" 80gdb_test "x" "addx.w\tr3,@er1" \ 81 "addx.w r3,@er1" 82gdb_test "x" "addx.w\tr3,@er1-" \ 83 "addx.w r3,@er1-" 84gdb_test "x" "addx.w\t@er3,r1" \ 85 "addx.w @er3,r1" 86gdb_test "x" "addx.w\t@er3,@er1" \ 87 "addx.w @er3,@er1" 88gdb_test "x" "addx.w\t@er3-,r1" \ 89 "addx.w @er3-,r1" 90gdb_test "x" "addx.w\t@er3-,@er1-" \ 91 "addx.w @er3-,@er1-" 92gdb_test "x" "addx.l\t#0x12345678(:32|),er1" \ 93 "addx.l #0x12345678:32,er1" 94gdb_test "x" "addx.l\t#0x12345678(:32|),@er1" \ 95 "addx.l #0x12345678:32,@er1" 96gdb_test "x" "addx.l\t#0x12345678(:32|),@er1-" \ 97 "addx.l #0x12345678:32,@er1-" 98gdb_test "x" "addx.l\ter3,er1" \ 99 "addx.l er3,er1" 100gdb_test "x" "addx.l\ter3,@er1" \ 101 "addx.l er3,@er1" 102gdb_test "x" "addx.l\ter3,@er1-" \ 103 "addx.l er3,@er1-" 104gdb_test "x" "addx.l\t@er3,er1" \ 105 "addx.l @er3,er1" 106gdb_test "x" "addx.l\t@er3,@er1" \ 107 "addx.l @er3,@er1" 108gdb_test "x" "addx.l\t@er3-,er1" \ 109 "addx.l @er3-,er1" 110gdb_test "x" "addx.l\t@er3-,@er1-" \ 111 "addx.l @er3-,@er1-" 112gdb_test "x" "subx(.b|)\t#0x12(:8|),r1h" \ 113 "subx.b #0x12:8,r1h" 114gdb_test "x" "subx(.b|)\t#0x12(:8|),@er1" \ 115 "subx.b #0x12:8,@er1" 116gdb_test "x" "subx(.b|)\t#0x12(:8|),@er1-" \ 117 "subx.b #0x12:8,@er1-" 118gdb_test "x" "subx(.b|)\tr3h,r1h" \ 119 "subx.b r3h,r1h" 120gdb_test "x" "subx(.b|)\tr3h,@er1" \ 121 "subx.b r3h,@er1" 122gdb_test "x" "subx(.b|)\tr3h,@er1-" \ 123 "subx.b r3h,@er1-" 124gdb_test "x" "subx(.b|)\t@er3,r1h" \ 125 "subx.b @er3,r1h" 126gdb_test "x" "subx(.b|)\t@er3,@er1" \ 127 "subx.b @er3,@er1" 128gdb_test "x" "subx(.b|)\t@er3-,r1h" \ 129 "subx.b @er3-,r1h" 130gdb_test "x" "subx(.b|)\t@er3-,@er1-" \ 131 "subx.b @er3-,@er1-" 132gdb_test "x" "subx.w\t#0x1234(:16|),r1" \ 133 "subx.w #0x1234:16,r1" 134gdb_test "x" "subx.w\t#0x1234(:16|),@er1" \ 135 "subx.w #0x1234:16,@er1" 136gdb_test "x" "subx.w\t#0x1234(:16|),@er1-" \ 137 "subx.w #0x1234:16,@er1-" 138gdb_test "x" "subx.w\tr3,r1" \ 139 "subx.w r3,r1" 140gdb_test "x" "subx.w\tr3,@er1" \ 141 "subx.w r3,@er1" 142gdb_test "x" "subx.w\tr3,@er1-" \ 143 "subx.w r3,@er1-" 144gdb_test "x" "subx.w\t@er3,r1" \ 145 "subx.w @er3,r1" 146gdb_test "x" "subx.w\t@er3,@er1" \ 147 "subx.w @er3,@er1" 148gdb_test "x" "subx.w\t@er3-,r1" \ 149 "subx.w @er3-,r1" 150gdb_test "x" "subx.w\t@er3-,@er1-" \ 151 "subx.w @er3-,@er1-" 152gdb_test "x" "subx.l\t#0x12345678(:32|),er1" \ 153 "subx.l #0x12345678:32,er1" 154gdb_test "x" "subx.l\t#0x12345678(:32|),@er1" \ 155 "subx.l #0x12345678:32,@er1" 156gdb_test "x" "subx.l\t#0x12345678(:32|),@er1-" \ 157 "subx.l #0x12345678:32,@er1-" 158gdb_test "x" "subx.l\ter3,er1" \ 159 "subx.l er3,er1" 160gdb_test "x" "subx.l\ter3,@er1" \ 161 "subx.l er3,@er1" 162gdb_test "x" "subx.l\ter3,@er1-" \ 163 "subx.l er3,@er1-" 164gdb_test "x" "subx.l\t@er3,er1" \ 165 "subx.l @er3,er1" 166gdb_test "x" "subx.l\t@er3,@er1" \ 167 "subx.l @er3,@er1" 168gdb_test "x" "subx.l\t@er3-,er1" \ 169 "subx.l @er3-,er1" 170gdb_test "x" "subx.l\t@er3-,@er1-" \ 171 "subx.l @er3-,@er1-" 172gdb_test "x" "inc(.b|)\tr1h" \ 173 "inc.b r1h" 174gdb_test "x" "inc(.w|)\t#1,r1" \ 175 "inc.w #1,r1" 176gdb_test "x" "inc(.w|)\t#2,r1" \ 177 "inc.w #2,r1" 178gdb_test "x" "inc(.l|)\t#1,er1" \ 179 "inc.l #1,er1" 180gdb_test "x" "inc(.l|)\t#2,er1" \ 181 "inc.l #2,er1" 182gdb_test "x" "dec(.b|)\tr1h" \ 183 "dec.b r1h" 184gdb_test "x" "dec(.w|)\t#1,r1" \ 185 "dec.w #1,r1" 186gdb_test "x" "dec(.w|)\t#2,r1" \ 187 "dec.w #2,r1" 188gdb_test "x" "dec(.l|)\t#1,er1" \ 189 "dec.l #1,er1" 190gdb_test "x" "dec(.l|)\t#2,er1" \ 191 "dec.l #2,er1" 192gdb_test "x" "adds(.l|)\t#1,er1" \ 193 "adds.l #1,er1" 194gdb_test "x" "adds(.l|)\t#2,er1" \ 195 "adds.l #2,er1" 196gdb_test "x" "adds(.l|)\t#4,er1" \ 197 "adds.l #4,er1" 198gdb_test "x" "subs(.l|)\t#1,er1" \ 199 "subs.l #1,er1" 200gdb_test "x" "subs(.l|)\t#2,er1" \ 201 "subs.l #2,er1" 202gdb_test "x" "subs(.l|)\t#4,er1" \ 203 "subs.l #4,er1" 204gdb_test "x" "daa(.b|)\tr1h" \ 205 "daa.b r1h" 206gdb_test "x" "das(.b|)\tr1h" \ 207 "das.b r1h" 208gdb_test "x" "mulxu.b\t#0xf(:4|),r1" \ 209 "mulxu.b #0xf:4,r1" 210gdb_test "x" "mulxu.b\tr3h,r1" \ 211 "mulxu.b r3h,r1" 212gdb_test "x" "mulxu.w\t#0xf(:4|),er1" \ 213 "mulxu.w #0xf:4,er1" 214gdb_test "x" "mulxu.w\tr3,er1" \ 215 "mulxu.w r3,er1" 216gdb_test "x" "divxu.b\t#0xf(:4|),r1" \ 217 "divxu.b #0xf:4,r1" 218gdb_test "x" "divxu.b\tr3h,r1" \ 219 "divxu.b r3h,r1" 220gdb_test "x" "divxu.w\t#0xf(:4|),er1" \ 221 "divxu.w #0xf:4,er1" 222gdb_test "x" "divxu.w\tr3,er1" \ 223 "divxu.w r3,er1" 224gdb_test "x" "mulxs.b\t#0xf(:4|),r1" \ 225 "mulxs.b #0xf:4,r1" 226gdb_test "x" "mulxs.b\tr3h,r1" \ 227 "mulxs.b r3h,r1" 228gdb_test "x" "mulxs.w\t#0xf(:4|),er1" \ 229 "mulxs.w #0xf:4,er1" 230gdb_test "x" "mulxs.w\tr3,er1" \ 231 "mulxs.w r3,er1" 232gdb_test "x" "divxs.b\t#0xf(:4|),r1" \ 233 "divxs.b #0xf:4,r1" 234gdb_test "x" "divxs.b\tr3h,r1" \ 235 "divxs.b r3h,r1" 236gdb_test "x" "divxs.w\t#0xf(:4|),er1" \ 237 "divxs.w #0xf:4,er1" 238gdb_test "x" "divxs.w\tr3,er1" \ 239 "divxs.w r3,er1" 240gdb_test "x" "mulu.w\t#0xf(:4|),r1" \ 241 "mulu.w #0xf:4,r1" 242gdb_test "x" "mulu.w\tr3,r1" \ 243 "mulu.w r3,r1" 244gdb_test "x" "mulu.l\t#0xf(:4|),er1" \ 245 "mulu.l #0xf:4,er1" 246gdb_test "x" "mulu.l\ter3,er1" \ 247 "mulu.l er3,er1" 248gdb_test "x" "mulu/u.l\t#0xf(:4|),er1" \ 249 "mulu/u.l #0xf:4,er1" 250gdb_test "x" "mulu/u.l\ter3,er1" \ 251 "mulu/u.l er3,er1" 252gdb_test "x" "muls.w\t#0xf(:4|),r1" \ 253 "muls.w #0xf:4,r1" 254gdb_test "x" "muls.w\tr3,r1" \ 255 "muls.w r3,r1" 256gdb_test "x" "muls.l\t#0xf(:4|),er1" \ 257 "muls.l #0xf:4,er1" 258gdb_test "x" "muls.l\ter3,er1" \ 259 "muls.l er3,er1" 260gdb_test "x" "muls/u.l\t#0xf(:4|),er1" \ 261 "muls/u.l #0xf:4,er1" 262gdb_test "x" "muls/u.l\ter3,er1" \ 263 "muls/u.l er3,er1" 264gdb_test "x" "divu.w\t#0xf(:4|),r1" \ 265 "divu.w #0xf:4,r1" 266gdb_test "x" "divu.w\tr3,r1" \ 267 "divu.w r3,r1" 268gdb_test "x" "divu.l\t#0xf(:4|),er1" \ 269 "divu.l #0xf:4,er1" 270gdb_test "x" "divu.l\ter3,er1" \ 271 "divu.l er3,er1" 272gdb_test "x" "divs.w\t#0xf(:4|),r1" \ 273 "divs.w #0xf:4,r1" 274gdb_test "x" "divs.w\tr3,r1" \ 275 "divs.w r3,r1" 276gdb_test "x" "divs.l\t#0xf(:4|),er1" \ 277 "divs.l #0xf:4,er1" 278gdb_test "x" "divs.l\ter3,er1" \ 279 "divs.l er3,er1" 280