| 1 | # Copyright (C) 2012-2019 Free Software Foundation, Inc. |
| 2 | |
| 3 | # This program is free software; you can redistribute it and/or modify |
| 4 | # it under the terms of the GNU General Public License as published by |
| 5 | # the Free Software Foundation; either version 3 of the License, or |
| 6 | # (at your option) any later version. |
| 7 | # |
| 8 | # This program is distributed in the hope that it will be useful, |
| 9 | # but WITHOUT ANY WARRANTY; without even the implied warranty of |
| 10 | # MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the |
| 11 | # GNU General Public License for more details. |
| 12 | # |
| 13 | # You should have received a copy of the GNU General Public License |
| 14 | # along with this program; if not, write to the Free Software |
| 15 | # Foundation, Inc., 51 Franklin Street - Fifth Floor, Boston, MA 02110-1301, USA. |
| 16 | |
| 17 | # |
| 18 | # Some h8300sx tests -- t12_bit |
| 19 | # |
| 20 | |
| 21 | proc do_t12_bit_test {} { |
| 22 | set testname "t12_bit.s -- h8sx bit tests" |
| 23 | |
| 24 | gas_start "t12_bit.s" "-al" |
| 25 | |
| 26 | # Check each instruction bit pattern to verify it got assembled correctly. |
| 27 | |
| 28 | set x 0 |
| 29 | expect { |
| 30 | -re ".* 7 0000 7071" { set x [expr $x+1]; exp_continue; } |
| 31 | -re ".* 8 0002 7D107070" { set x [expr $x+1]; exp_continue; } |
| 32 | -re ".* 9 0006 7F127070" { set x [expr $x+1]; exp_continue; } |
| 33 | -re ".* 10 000a 6A181234" { set x [expr $x+1]; exp_continue; } |
| 34 | -re ".* 10 7070" { set x [expr $x+1]; exp_continue; } |
| 35 | -re ".* 11 0010 6A381234" { set x [expr $x+1]; exp_continue; } |
| 36 | -re ".* 11 56787070" { set x [expr $x+1]; exp_continue; } |
| 37 | -re ".* 12 " { |
| 38 | if [expr $x == 7] then { |
| 39 | pass "$testname: bset #0x7, ..." |
| 40 | } else { |
| 41 | fail "$testname: bset #0x7, ... ($x)" |
| 42 | } |
| 43 | } |
| 44 | default { fail "$testname: bset #0x7, ... ($x)" } |
| 45 | } |
| 46 | |
| 47 | set x 0 |
| 48 | expect { |
| 49 | -re ".* 13 0018 6031" { set x [expr $x+1]; exp_continue; } |
| 50 | -re ".* 14 001a 7D106030" { set x [expr $x+1]; exp_continue; } |
| 51 | -re ".* 15 001e 7F126030" { set x [expr $x+1]; exp_continue; } |
| 52 | -re ".* 16 0022 6A181234" { set x [expr $x+1]; exp_continue; } |
| 53 | -re ".* 16 6030" { set x [expr $x+1]; exp_continue; } |
| 54 | -re ".* 17 0028 6A381234" { set x [expr $x+1]; exp_continue; } |
| 55 | -re ".* 17 56786030" { set x [expr $x+1]; exp_continue; } |
| 56 | -re ".* 18 " { |
| 57 | if [expr $x == 7] then { |
| 58 | pass "$testname: bset r3h, ..." |
| 59 | } else { |
| 60 | fail "$testname: bset r3h, ... ($x)" |
| 61 | } |
| 62 | } |
| 63 | default { fail "$testname: bset r3h, ... ($x)" } |
| 64 | } |
| 65 | |
| 66 | set x 0 |
| 67 | expect { |
| 68 | -re ".* 19 0030 7D107077" { set x [expr $x+1]; exp_continue; } |
| 69 | -re ".* 20 0034 7F127077" { set x [expr $x+1]; exp_continue; } |
| 70 | -re ".* 21 0038 6A181234" { set x [expr $x+1]; exp_continue; } |
| 71 | -re ".* 21 7077" { set x [expr $x+1]; exp_continue; } |
| 72 | -re ".* 22 003e 6A381234" { set x [expr $x+1]; exp_continue; } |
| 73 | -re ".* 22 56787077" { set x [expr $x+1]; exp_continue; } |
| 74 | -re ".* 23 " { |
| 75 | if [expr $x == 6] then { |
| 76 | pass "$testname: bset/eq #0x7, ..." |
| 77 | } else { |
| 78 | fail "$testname: bset/eq #0x7, ... ($x)" |
| 79 | } |
| 80 | } |
| 81 | default { fail "$testname: bset/eq #0x7, ... ($x)" } |
| 82 | } |
| 83 | |
| 84 | set x 0 |
| 85 | expect { |
| 86 | -re ".* 24 0046 7D106037" { set x [expr $x+1]; exp_continue; } |
| 87 | -re ".* 25 004a 7F126037" { set x [expr $x+1]; exp_continue; } |
| 88 | -re ".* 26 004e 6A181234" { set x [expr $x+1]; exp_continue; } |
| 89 | -re ".* 26 6037" { set x [expr $x+1]; exp_continue; } |
| 90 | -re ".* 27 0054 6A381234" { set x [expr $x+1]; exp_continue; } |
| 91 | -re ".* 27 56786037" { set x [expr $x+1]; exp_continue; } |
| 92 | -re ".* 28 " { |
| 93 | if [expr $x == 6] then { |
| 94 | pass "$testname: bset/eq r3h, ..." |
| 95 | } else { |
| 96 | fail "$testname: bset/eq r3h, ... ($x)" |
| 97 | } |
| 98 | } |
| 99 | default { fail "$testname: bset/eq r3h, ... ($x)" } |
| 100 | } |
| 101 | |
| 102 | set x 0 |
| 103 | expect { |
| 104 | -re ".* 29 005c 7D107076" { set x [expr $x+1]; exp_continue; } |
| 105 | -re ".* 30 0060 7F127076" { set x [expr $x+1]; exp_continue; } |
| 106 | -re ".* 31 0064 6A181234" { set x [expr $x+1]; exp_continue; } |
| 107 | -re ".* 31 7076" { set x [expr $x+1]; exp_continue; } |
| 108 | -re ".* 32 006a 6A381234" { set x [expr $x+1]; exp_continue; } |
| 109 | -re ".* 32 56787076" { set x [expr $x+1]; exp_continue; } |
| 110 | -re ".* 33 " { |
| 111 | if [expr $x == 6] then { |
| 112 | pass "$testname: bset/ne #0x7, ..." |
| 113 | } else { |
| 114 | fail "$testname: bset/ne #0x7, ... ($x)" |
| 115 | } |
| 116 | } |
| 117 | default { fail "$testname: bset/ne #0x7, ... ($x)" } |
| 118 | } |
| 119 | |
| 120 | set x 0 |
| 121 | expect { |
| 122 | -re ".* 34 0072 7D106036" { set x [expr $x+1]; exp_continue; } |
| 123 | -re ".* 35 0076 7F126036" { set x [expr $x+1]; exp_continue; } |
| 124 | -re ".* 36 007a 6A181234" { set x [expr $x+1]; exp_continue; } |
| 125 | -re ".* 36 6036" { set x [expr $x+1]; exp_continue; } |
| 126 | -re ".* 37 0080 6A381234" { set x [expr $x+1]; exp_continue; } |
| 127 | -re ".* 37 56786036" { set x [expr $x+1]; exp_continue; } |
| 128 | -re ".* 38 " { |
| 129 | if [expr $x == 6] then { |
| 130 | pass "$testname: bset/ne r3h, ..." |
| 131 | } else { |
| 132 | fail "$testname: bset/ne r3h, ... ($x)" |
| 133 | } |
| 134 | } |
| 135 | default { fail "$testname: bset/ne r3h, ... ($x)" } |
| 136 | } |
| 137 | |
| 138 | set x 0 |
| 139 | expect { |
| 140 | -re ".* 39 0088 7171" { set x [expr $x+1]; exp_continue; } |
| 141 | -re ".* 40 008a 7D107170" { set x [expr $x+1]; exp_continue; } |
| 142 | -re ".* 41 008e 7F127170" { set x [expr $x+1]; exp_continue; } |
| 143 | -re ".* 42 0092 6A181234" { set x [expr $x+1]; exp_continue; } |
| 144 | -re ".* 42 7170" { set x [expr $x+1]; exp_continue; } |
| 145 | -re ".* 43 0098 6A381234" { set x [expr $x+1]; exp_continue; } |
| 146 | -re ".* 43 56787170" { set x [expr $x+1]; exp_continue; } |
| 147 | -re ".* 44 " { |
| 148 | if [expr $x == 7] then { |
| 149 | pass "$testname: bnot #0x7, ..." |
| 150 | } else { |
| 151 | fail "$testname: bnot #0x7, ... ($x)" |
| 152 | } |
| 153 | } |
| 154 | default { fail "$testname: bnot #0x7, ... ($x)" } |
| 155 | } |
| 156 | |
| 157 | set x 0 |
| 158 | expect { |
| 159 | -re ".* 45 00a0 6131" { set x [expr $x+1]; exp_continue; } |
| 160 | -re ".* 46 00a2 7D106130" { set x [expr $x+1]; exp_continue; } |
| 161 | -re ".* 47 00a6 7F126130" { set x [expr $x+1]; exp_continue; } |
| 162 | -re ".* 48 00aa 6A181234" { set x [expr $x+1]; exp_continue; } |
| 163 | -re ".* 48 6130" { set x [expr $x+1]; exp_continue; } |
| 164 | -re ".* 49 00b0 6A381234" { set x [expr $x+1]; exp_continue; } |
| 165 | -re ".* 49 56786130" { set x [expr $x+1]; exp_continue; } |
| 166 | -re ".* 50 " { |
| 167 | if [expr $x == 7] then { |
| 168 | pass "$testname: bnot r3h, ..." |
| 169 | } else { |
| 170 | fail "$testname: bnot r3h, ... ($x)" |
| 171 | } |
| 172 | } |
| 173 | default { fail "$testname: bnot r3h, ... ($x)" } |
| 174 | } |
| 175 | |
| 176 | set x 0 |
| 177 | expect { |
| 178 | -re ".* 51 00b8 7271" { set x [expr $x+1]; exp_continue; } |
| 179 | -re ".* 52 00ba 7D107270" { set x [expr $x+1]; exp_continue; } |
| 180 | -re ".* 53 00be 7F127270" { set x [expr $x+1]; exp_continue; } |
| 181 | -re ".* 54 00c2 6A181234" { set x [expr $x+1]; exp_continue; } |
| 182 | -re ".* 54 7270" { set x [expr $x+1]; exp_continue; } |
| 183 | -re ".* 55 00c8 6A381234" { set x [expr $x+1]; exp_continue; } |
| 184 | -re ".* 55 56787270" { set x [expr $x+1]; exp_continue; } |
| 185 | -re ".* 56 " { |
| 186 | if [expr $x == 7] then { |
| 187 | pass "$testname: bclr #0x7, ..." |
| 188 | } else { |
| 189 | fail "$testname: bclr #0x7, ... ($x)" |
| 190 | } |
| 191 | } |
| 192 | default { fail "$testname: bclr #0x7, ... ($x)" } |
| 193 | } |
| 194 | |
| 195 | set x 0 |
| 196 | expect { |
| 197 | -re ".* 57 00d0 6231" { set x [expr $x+1]; exp_continue; } |
| 198 | -re ".* 58 00d2 7D106230" { set x [expr $x+1]; exp_continue; } |
| 199 | -re ".* 59 00d6 7F126230" { set x [expr $x+1]; exp_continue; } |
| 200 | -re ".* 60 00da 6A181234" { set x [expr $x+1]; exp_continue; } |
| 201 | -re ".* 60 6230" { set x [expr $x+1]; exp_continue; } |
| 202 | -re ".* 61 00e0 6A381234" { set x [expr $x+1]; exp_continue; } |
| 203 | -re ".* 61 56786230" { set x [expr $x+1]; exp_continue; } |
| 204 | -re ".* 62 " { |
| 205 | if [expr $x == 7] then { |
| 206 | pass "$testname: bclr r3h, ..." |
| 207 | } else { |
| 208 | fail "$testname: bclr r3h, ... ($x)" |
| 209 | } |
| 210 | } |
| 211 | default { fail "$testname: bclr r3h, ... ($x)" } |
| 212 | } |
| 213 | |
| 214 | set x 0 |
| 215 | expect { |
| 216 | -re ".* 63 00e8 7D107277" { set x [expr $x+1]; exp_continue; } |
| 217 | -re ".* 64 00ec 7F127277" { set x [expr $x+1]; exp_continue; } |
| 218 | -re ".* 65 00f0 6A181234" { set x [expr $x+1]; exp_continue; } |
| 219 | -re ".* 65 7277" { set x [expr $x+1]; exp_continue; } |
| 220 | -re ".* 66 00f6 6A381234" { set x [expr $x+1]; exp_continue; } |
| 221 | -re ".* 66 56787277" { set x [expr $x+1]; exp_continue; } |
| 222 | -re ".* 67 " { |
| 223 | if [expr $x == 6] then { |
| 224 | pass "$testname: bclr/eq #0x7, ..." |
| 225 | } else { |
| 226 | fail "$testname: bclr/eq #0x7, ... ($x)" |
| 227 | } |
| 228 | } |
| 229 | default { fail "$testname: bclr/eq #0x7, ... ($x)" } |
| 230 | } |
| 231 | |
| 232 | set x 0 |
| 233 | expect { |
| 234 | -re ".* 68 00fe 7D106237" { set x [expr $x+1]; exp_continue; } |
| 235 | -re ".* 69 0102 7F126237" { set x [expr $x+1]; exp_continue; } |
| 236 | -re ".* 70 0106 6A181234" { set x [expr $x+1]; exp_continue; } |
| 237 | -re ".* 70 6237" { set x [expr $x+1]; exp_continue; } |
| 238 | -re ".* 71 010c 6A381234" { set x [expr $x+1]; exp_continue; } |
| 239 | -re ".* 71 56786237" { set x [expr $x+1]; exp_continue; } |
| 240 | -re ".* 72 " { |
| 241 | if [expr $x == 6] then { |
| 242 | pass "$testname: bclr/eq r3h, ..." |
| 243 | } else { |
| 244 | fail "$testname: bclr/eq r3h, ... ($x)" |
| 245 | } |
| 246 | } |
| 247 | default { fail "$testname: bclr/eq r3h, ... ($x)" } |
| 248 | } |
| 249 | |
| 250 | set x 0 |
| 251 | expect { |
| 252 | -re ".* 73 0114 7D107276" { set x [expr $x+1]; exp_continue; } |
| 253 | -re ".* 74 0118 7F127276" { set x [expr $x+1]; exp_continue; } |
| 254 | -re ".* 75 011c 6A181234" { set x [expr $x+1]; exp_continue; } |
| 255 | -re ".* 75 7276" { set x [expr $x+1]; exp_continue; } |
| 256 | -re ".* 76 0122 6A381234" { set x [expr $x+1]; exp_continue; } |
| 257 | -re ".* 76 56787276" { set x [expr $x+1]; exp_continue; } |
| 258 | -re ".* 77 " { |
| 259 | if [expr $x == 6] then { |
| 260 | pass "$testname: bclr/ne #0x7, ..." |
| 261 | } else { |
| 262 | fail "$testname: bclr/ne #0x7, ... ($x)" |
| 263 | } |
| 264 | } |
| 265 | default { fail "$testname: bclr/ne #0x7, ... ($x)" } |
| 266 | } |
| 267 | |
| 268 | set x 0 |
| 269 | expect { |
| 270 | -re ".* 78 012a 7D106236" { set x [expr $x+1]; exp_continue; } |
| 271 | -re ".* 79 012e 7F126236" { set x [expr $x+1]; exp_continue; } |
| 272 | -re ".* 80 0132 6A181234" { set x [expr $x+1]; exp_continue; } |
| 273 | -re ".* 80 6236" { set x [expr $x+1]; exp_continue; } |
| 274 | -re ".* 81 0138 6A381234" { set x [expr $x+1]; exp_continue; } |
| 275 | -re ".* 81 56786236" { set x [expr $x+1]; exp_continue; } |
| 276 | -re ".* 82 " { |
| 277 | if [expr $x == 6] then { |
| 278 | pass "$testname: bclr/ne r3h, ..." |
| 279 | } else { |
| 280 | fail "$testname: bclr/ne r3h, ... ($x)" |
| 281 | } |
| 282 | } |
| 283 | default { fail "$testname: bclr/ne r3h, ... ($x)" } |
| 284 | } |
| 285 | |
| 286 | set x 0 |
| 287 | expect { |
| 288 | -re ".* 83 0140 7371" { set x [expr $x+1]; exp_continue; } |
| 289 | -re ".* 84 0142 7C107370" { set x [expr $x+1]; exp_continue; } |
| 290 | -re ".* 85 0146 7E127370" { set x [expr $x+1]; exp_continue; } |
| 291 | -re ".* 86 014a 6A101234" { set x [expr $x+1]; exp_continue; } |
| 292 | -re ".* 86 7370" { set x [expr $x+1]; exp_continue; } |
| 293 | -re ".* 87 0150 6A301234" { set x [expr $x+1]; exp_continue; } |
| 294 | -re ".* 87 56787370" { set x [expr $x+1]; exp_continue; } |
| 295 | -re ".* 88 " { |
| 296 | if [expr $x == 7] then { |
| 297 | pass "$testname: btst #0x7, ..." |
| 298 | } else { |
| 299 | fail "$testname: btst #0x7, ... ($x)" |
| 300 | } |
| 301 | } |
| 302 | default { fail "$testname: btst #0x7, ... ($x)" } |
| 303 | } |
| 304 | |
| 305 | set x 0 |
| 306 | expect { |
| 307 | -re ".* 89 0158 6331" { set x [expr $x+1]; exp_continue; } |
| 308 | -re ".* 90 015a 7C106330" { set x [expr $x+1]; exp_continue; } |
| 309 | -re ".* 91 015e 7E126330" { set x [expr $x+1]; exp_continue; } |
| 310 | -re ".* 92 0162 6A101234" { set x [expr $x+1]; exp_continue; } |
| 311 | -re ".* 92 6330" { set x [expr $x+1]; exp_continue; } |
| 312 | -re ".* 93 0168 6A301234" { set x [expr $x+1]; exp_continue; } |
| 313 | -re ".* 93 56786330" { set x [expr $x+1]; exp_continue; } |
| 314 | -re ".* 94 " { |
| 315 | if [expr $x == 7] then { |
| 316 | pass "$testname: btst r3h, ..." |
| 317 | } else { |
| 318 | fail "$testname: btst r3h, ... ($x)" |
| 319 | } |
| 320 | } |
| 321 | default { fail "$testname: btst r3h, ... ($x)" } |
| 322 | } |
| 323 | |
| 324 | set x 0 |
| 325 | expect { |
| 326 | -re ".* 95 0170 7471" { set x [expr $x+1]; exp_continue; } |
| 327 | -re ".* 96 0172 7C107470" { set x [expr $x+1]; exp_continue; } |
| 328 | -re ".* 97 0176 7E127470" { set x [expr $x+1]; exp_continue; } |
| 329 | -re ".* 98 017a 6A101234" { set x [expr $x+1]; exp_continue; } |
| 330 | -re ".* 98 7470" { set x [expr $x+1]; exp_continue; } |
| 331 | -re ".* 99 0180 6A301234" { set x [expr $x+1]; exp_continue; } |
| 332 | -re ".* 99 56787470" { set x [expr $x+1]; exp_continue; } |
| 333 | -re ".* 100 " { |
| 334 | if [expr $x == 7] then { |
| 335 | pass "$testname: bor #0x7, ..." |
| 336 | } else { |
| 337 | fail "$testname: bor #0x7, ... ($x)" |
| 338 | } |
| 339 | } |
| 340 | default { fail "$testname: bor #0x7, ... ($x)" } |
| 341 | } |
| 342 | |
| 343 | set x 0 |
| 344 | expect { |
| 345 | -re ".* 101 0188 74F1" { set x [expr $x+1]; exp_continue; } |
| 346 | -re ".* 102 018a 7C1074F0" { set x [expr $x+1]; exp_continue; } |
| 347 | -re ".* 103 018e 7E1274F0" { set x [expr $x+1]; exp_continue; } |
| 348 | -re ".* 104 0192 6A101234" { set x [expr $x+1]; exp_continue; } |
| 349 | -re ".* 104 74F0" { set x [expr $x+1]; exp_continue; } |
| 350 | -re ".* 105 0198 6A301234" { set x [expr $x+1]; exp_continue; } |
| 351 | -re ".* 105 567874F0" { set x [expr $x+1]; exp_continue; } |
| 352 | -re ".* 106 " { |
| 353 | if [expr $x == 7] then { |
| 354 | pass "$testname: bior #0x7, ..." |
| 355 | } else { |
| 356 | fail "$testname: bior #0x7, ... ($x)" |
| 357 | } |
| 358 | } |
| 359 | default { fail "$testname: bior #0x7, ... ($x)" } |
| 360 | } |
| 361 | |
| 362 | set x 0 |
| 363 | expect { |
| 364 | -re ".* 107 01a0 7571" { set x [expr $x+1]; exp_continue; } |
| 365 | -re ".* 108 01a2 7C107570" { set x [expr $x+1]; exp_continue; } |
| 366 | -re ".* 109 01a6 7E127570" { set x [expr $x+1]; exp_continue; } |
| 367 | -re ".* 110 01aa 6A101234" { set x [expr $x+1]; exp_continue; } |
| 368 | -re ".* 110 7570" { set x [expr $x+1]; exp_continue; } |
| 369 | -re ".* 111 01b0 6A301234" { set x [expr $x+1]; exp_continue; } |
| 370 | -re ".* 111 56787570" { set x [expr $x+1]; exp_continue; } |
| 371 | -re ".* 112 " { |
| 372 | if [expr $x == 7] then { |
| 373 | pass "$testname: bxor #0x7, ..." |
| 374 | } else { |
| 375 | fail "$testname: bxor #0x7, ... ($x)" |
| 376 | } |
| 377 | } |
| 378 | default { fail "$testname: bxor #0x7, ... ($x)" } |
| 379 | } |
| 380 | |
| 381 | set x 0 |
| 382 | expect { |
| 383 | -re ".* 113 01b8 75F1" { set x [expr $x+1]; exp_continue; } |
| 384 | -re ".* 114 01ba 7C1075F0" { set x [expr $x+1]; exp_continue; } |
| 385 | -re ".* 115 01be 7E1275F0" { set x [expr $x+1]; exp_continue; } |
| 386 | -re ".* 116 01c2 6A101234" { set x [expr $x+1]; exp_continue; } |
| 387 | -re ".* 116 75F0" { set x [expr $x+1]; exp_continue; } |
| 388 | -re ".* 117 01c8 6A301234" { set x [expr $x+1]; exp_continue; } |
| 389 | -re ".* 117 567875F0" { set x [expr $x+1]; exp_continue; } |
| 390 | -re ".* 118 " { |
| 391 | if [expr $x == 7] then { |
| 392 | pass "$testname: bixor #0x7, ..." |
| 393 | } else { |
| 394 | fail "$testname: bixor #0x7, ... ($x)" |
| 395 | } |
| 396 | } |
| 397 | default { fail "$testname: bixor #0x7, ... ($x)" } |
| 398 | } |
| 399 | |
| 400 | set x 0 |
| 401 | expect { |
| 402 | -re ".* 119 01d0 7671" { set x [expr $x+1]; exp_continue; } |
| 403 | -re ".* 120 01d2 7C107670" { set x [expr $x+1]; exp_continue; } |
| 404 | -re ".* 121 01d6 7E127670" { set x [expr $x+1]; exp_continue; } |
| 405 | -re ".* 122 01da 6A101234" { set x [expr $x+1]; exp_continue; } |
| 406 | -re ".* 122 7670" { set x [expr $x+1]; exp_continue; } |
| 407 | -re ".* 123 01e0 6A301234" { set x [expr $x+1]; exp_continue; } |
| 408 | -re ".* 123 56787670" { set x [expr $x+1]; exp_continue; } |
| 409 | -re ".* 124 " { |
| 410 | if [expr $x == 7] then { |
| 411 | pass "$testname: band #0x7, ..." |
| 412 | } else { |
| 413 | fail "$testname: band #0x7, ... ($x)" |
| 414 | } |
| 415 | } |
| 416 | default { fail "$testname: band #0x7, ... ($x)" } |
| 417 | } |
| 418 | |
| 419 | set x 0 |
| 420 | expect { |
| 421 | -re ".* 125 01e8 76F1" { set x [expr $x+1]; exp_continue; } |
| 422 | -re ".* 126 01ea 7C1076F0" { set x [expr $x+1]; exp_continue; } |
| 423 | -re ".* 127 01ee 7E1276F0" { set x [expr $x+1]; exp_continue; } |
| 424 | -re ".* 128 01f2 6A101234" { set x [expr $x+1]; exp_continue; } |
| 425 | -re ".* 128 76F0" { set x [expr $x+1]; exp_continue; } |
| 426 | -re ".* 129 01f8 6A301234" { set x [expr $x+1]; exp_continue; } |
| 427 | -re ".* 129 567876F0" { set x [expr $x+1]; exp_continue; } |
| 428 | -re ".* 130 " { |
| 429 | if [expr $x == 7] then { |
| 430 | pass "$testname: biand #0x7, ..." |
| 431 | } else { |
| 432 | fail "$testname: biand #0x7, ... ($x)" |
| 433 | } |
| 434 | } |
| 435 | default { fail "$testname: biand #0x7, ... ($x)" } |
| 436 | } |
| 437 | |
| 438 | set x 0 |
| 439 | expect { |
| 440 | -re ".* 131 0200 7771" { set x [expr $x+1]; exp_continue; } |
| 441 | -re ".* 132 0202 7C107770" { set x [expr $x+1]; exp_continue; } |
| 442 | -re ".* 133 0206 7E127770" { set x [expr $x+1]; exp_continue; } |
| 443 | -re ".* 134 020a 6A101234" { set x [expr $x+1]; exp_continue; } |
| 444 | -re ".* 134 7770" { set x [expr $x+1]; exp_continue; } |
| 445 | -re ".* 135 0210 6A301234" { set x [expr $x+1]; exp_continue; } |
| 446 | -re ".* 135 56787770" { set x [expr $x+1]; exp_continue; } |
| 447 | -re ".* 136 " { |
| 448 | if [expr $x == 7] then { |
| 449 | pass "$testname: bld #0x7, ..." |
| 450 | } else { |
| 451 | fail "$testname: bld #0x7, ... ($x)" |
| 452 | } |
| 453 | } |
| 454 | default { fail "$testname: bld #0x7, ... ($x)" } |
| 455 | } |
| 456 | |
| 457 | set x 0 |
| 458 | expect { |
| 459 | -re ".* 137 0218 77F1" { set x [expr $x+1]; exp_continue; } |
| 460 | -re ".* 138 021a 7C1077F0" { set x [expr $x+1]; exp_continue; } |
| 461 | -re ".* 139 021e 7E1277F0" { set x [expr $x+1]; exp_continue; } |
| 462 | -re ".* 140 0222 6A101234" { set x [expr $x+1]; exp_continue; } |
| 463 | -re ".* 140 77F0" { set x [expr $x+1]; exp_continue; } |
| 464 | -re ".* 141 0228 6A301234" { set x [expr $x+1]; exp_continue; } |
| 465 | -re ".* 141 567877F0" { set x [expr $x+1]; exp_continue; } |
| 466 | -re ".* 142 " { |
| 467 | if [expr $x == 7] then { |
| 468 | pass "$testname: bild #0x7, ..." |
| 469 | } else { |
| 470 | fail "$testname: bild #0x7, ... ($x)" |
| 471 | } |
| 472 | } |
| 473 | default { fail "$testname: bild #0x7, ... ($x)" } |
| 474 | } |
| 475 | |
| 476 | set x 0 |
| 477 | expect { |
| 478 | -re ".* 143 0230 6771" { set x [expr $x+1]; exp_continue; } |
| 479 | -re ".* 144 0232 7D106770" { set x [expr $x+1]; exp_continue; } |
| 480 | -re ".* 145 0236 7F126770" { set x [expr $x+1]; exp_continue; } |
| 481 | -re ".* 146 023a 6A181234" { set x [expr $x+1]; exp_continue; } |
| 482 | -re ".* 146 6770" { set x [expr $x+1]; exp_continue; } |
| 483 | -re ".* 147 0240 6A381234" { set x [expr $x+1]; exp_continue; } |
| 484 | -re ".* 147 56786770" { set x [expr $x+1]; exp_continue; } |
| 485 | -re ".* 148 " { |
| 486 | if [expr $x == 7] then { |
| 487 | pass "$testname: bst #0x7, ..." |
| 488 | } else { |
| 489 | fail "$testname: bst #0x7, ... ($x)" |
| 490 | } |
| 491 | } |
| 492 | default { fail "$testname: bst #0x7, ... ($x)" } |
| 493 | } |
| 494 | |
| 495 | set x 0 |
| 496 | expect { |
| 497 | -re ".* 149 0248 7D106777" { set x [expr $x+1]; exp_continue; } |
| 498 | -re ".* 150 024c 7F126777" { set x [expr $x+1]; exp_continue; } |
| 499 | -re ".* 151 0250 6A181234" { set x [expr $x+1]; exp_continue; } |
| 500 | -re ".* 151 6777" { set x [expr $x+1]; exp_continue; } |
| 501 | -re ".* 152 0256 6A381234" { set x [expr $x+1]; exp_continue; } |
| 502 | -re ".* 152 56786777" { set x [expr $x+1]; exp_continue; } |
| 503 | -re ".* 153 " { |
| 504 | if [expr $x == 6] then { |
| 505 | pass "$testname: bstz #0x7, ..." |
| 506 | } else { |
| 507 | fail "$testname: bstz #0x7, ... ($x)" |
| 508 | } |
| 509 | } |
| 510 | default { fail "$testname: bstz #0x7, ... ($x)" } |
| 511 | } |
| 512 | |
| 513 | set x 0 |
| 514 | expect { |
| 515 | -re ".* 154 025e 67F1" { set x [expr $x+1]; exp_continue; } |
| 516 | -re ".* 155 0260 7D1067F0" { set x [expr $x+1]; exp_continue; } |
| 517 | -re ".* 156 0264 7F1267F0" { set x [expr $x+1]; exp_continue; } |
| 518 | -re ".* 157 0268 6A181234" { set x [expr $x+1]; exp_continue; } |
| 519 | -re ".* 157 67F0" { set x [expr $x+1]; exp_continue; } |
| 520 | -re ".* 158 026e 6A381234" { set x [expr $x+1]; exp_continue; } |
| 521 | -re ".* 158 567867F0" { set x [expr $x+1]; exp_continue; } |
| 522 | -re ".* 159 " { |
| 523 | if [expr $x == 7] then { |
| 524 | pass "$testname: bist #0x7, ..." |
| 525 | } else { |
| 526 | fail "$testname: bist #0x7, ... ($x)" |
| 527 | } |
| 528 | } |
| 529 | default { fail "$testname: bist #0x7, ... ($x)" } |
| 530 | } |
| 531 | |
| 532 | set x 0 |
| 533 | expect { |
| 534 | -re ".* 160 0276 7D1067F7" { set x [expr $x+1]; exp_continue; } |
| 535 | -re ".* 161 027a 7F1267F7" { set x [expr $x+1]; exp_continue; } |
| 536 | -re ".* 162 027e 6A181234" { set x [expr $x+1]; exp_continue; } |
| 537 | -re ".* 162 67F7" { set x [expr $x+1]; exp_continue; } |
| 538 | -re ".* 163 0284 6A381234" { set x [expr $x+1]; exp_continue; } |
| 539 | -re ".* 163 567867F7" { set x [expr $x+1]; exp_continue; } |
| 540 | -re ".* 164 " { |
| 541 | if [expr $x == 6] then { |
| 542 | pass "$testname: bistz #0x7, ..." |
| 543 | } else { |
| 544 | fail "$testname: bistz #0x7, ... ($x)" |
| 545 | } |
| 546 | } |
| 547 | default { fail "$testname: bistz #0x7, ... ($x)" } |
| 548 | } |
| 549 | |
| 550 | set x 0 |
| 551 | expect { |
| 552 | -re ".* 165 028c 7C10F334" { set x [expr $x+1]; exp_continue; } |
| 553 | -re ".* 166 0290 7E12F334" { set x [expr $x+1]; exp_continue; } |
| 554 | -re ".* 167 0294 6A101234" { set x [expr $x+1]; exp_continue; } |
| 555 | -re ".* 167 F334" { set x [expr $x+1]; exp_continue; } |
| 556 | -re ".* 168 029a 6A301234" { set x [expr $x+1]; exp_continue; } |
| 557 | -re ".* 168 5678F334" { set x [expr $x+1]; exp_continue; } |
| 558 | -re ".* 169 " { |
| 559 | if [expr $x == 6] then { |
| 560 | pass "$testname: bfld #0x34:8, ..., r3h" |
| 561 | } else { |
| 562 | fail "$testname: bfld #0x34:8, ..., r3h ($x)" |
| 563 | } |
| 564 | } |
| 565 | default { fail "$testname: bfld #0x34:8, ..., r3h ($x)" } |
| 566 | } |
| 567 | |
| 568 | set x 0 |
| 569 | expect { |
| 570 | -re ".* 170 02a2 7D10F334" { set x [expr $x+1]; exp_continue; } |
| 571 | -re ".* 171 02a6 7F12F334" { set x [expr $x+1]; exp_continue; } |
| 572 | -re ".* 172 02aa 6A181234" { set x [expr $x+1]; exp_continue; } |
| 573 | -re ".* 172 F334" { set x [expr $x+1]; exp_continue; } |
| 574 | -re ".* 173 02b0 6A381234" { set x [expr $x+1]; exp_continue; } |
| 575 | -re ".* 173 5678F334" { set x [expr $x+1]; exp_continue; } |
| 576 | -re ".* 174 " { |
| 577 | if [expr $x == 6] then { |
| 578 | pass "$testname: bfst r3h, #0x34:8, ..." |
| 579 | } else { |
| 580 | fail "$testname: bfst r3h, #0x34:8, ... ($x)" |
| 581 | } |
| 582 | } |
| 583 | default { fail "$testname: bfst r3h, #0x34:8, ... ($x)" } |
| 584 | } |
| 585 | |
| 586 | # This was intended to do any cleanup necessary. |
| 587 | # It kinda looks like it isn't needed, but just |
| 588 | # in case, please keep it in for now. |
| 589 | |
| 590 | gas_finish |
| 591 | |
| 592 | } |
| 593 | |
| 594 | if [istarget h8300*-*-elf] then { |
| 595 | # Test advanced h8300sx instructions. |
| 596 | do_t12_bit_test |
| 597 | } |
| 598 | |