rspcor1.c 17.5 KB
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159 160 161 162 163 164 165 166 167 168 169 170 171 172 173 174 175 176 177 178 179 180 181 182 183 184 185 186 187 188 189 190 191 192 193 194 195 196 197 198 199 200 201 202 203 204 205 206 207 208 209 210 211 212 213 214 215 216 217 218 219 220 221 222 223 224 225 226 227 228 229 230 231 232 233 234 235 236 237 238 239 240 241 242 243 244 245 246 247 248 249 250 251 252 253 254 255 256 257 258 259 260 261 262 263 264 265 266 267 268 269 270 271 272 273 274 275 276 277 278 279 280 281 282 283 284 285 286 287 288 289 290 291 292 293 294 295 296 297 298 299 300 301 302 303 304 305 306 307 308 309 310 311 312 313 314 315 316 317 318 319 320 321 322 323 324 325 326 327 328 329 330 331 332 333 334 335 336 337 338 339 340 341 342 343 344 345 346 347 348 349 350 351 352 353 354 355 356 357 358 359 360 361 362 363 364 365 366 367 368 369 370 371 372 373 374 375 376 377 378 379 380 381 382 383 384 385 386 387 388 389 390 391 392 393 394 395 396 397 398 399 400 401 402 403 404 405 406 407 408 409 410 411 412 413 414 415 416 417 418 419 420 421 422 423 424 425 426 427 428 429 430 431 432 433 434 435 436 437 438 439 440 441 442 443 444 445 446 447 448 449 450 451 452 453 454 455 456 457 458 459 460 461 462 463 464 465 466 467 468 469 470 471 472 473 474 475 476 477 478 479 480 481 482 483 484 485 486 487 488 489 490 491 492 493 494 495 496 497 498 499 500 501 502 503 504 505 506 507 508 509 510 511 512 513 514 515 516 517 518 519 520 521 522 523 524 525 526 527 528 529 530 531 532 533 534 535 536 537 538 539 540 541 542 543 544 545 546 547 548 549 550 551 552 553 554 555 556 557 558 559 560 561 562 563 564 565 566 567 568 569 570 571 572 573 574 575 576 577 578
#include <sys/types.h>
#ifdef __sgi__
#include <sys/sbd.h>
#endif
#include <sys/stat.h>
#include <sys/mman.h>
#ifdef __sgi__
#include <sys/sema.h>
#endif
#include <netinet/in.h>

#include <errno.h>
#include <stdio.h>
#include <fcntl.h>
#include <stdlib.h>
#include <getopt.h>

#include <rcp.h>
#include <rsp.h>

/* From $ROOT/usr/include/ide, which is installed from PR/diags/include */
#include "diag.h"
#include "dbg_comm.h"

#define RSP_TEST_BASE	0

static int NumFailures = 0;

/* From rsp_regr_common.c: */
extern int generic_rsp_regression (const char *file_name);
extern void imem_init(FILE *file_p);
extern int rsp_Init();
extern int rsp_Do(TEST_REF *test_ref);
extern int rsp_regr(TEST_REF TestRefs[]);

extern int beq1();
extern int bgez1();
extern int bgezal1();
extern int bgezal2();
extern int bgtz1();
extern int blez1();
extern int bltz1();
extern int bltzal1();
extern int bltzal2();
extern int bne1();
extern int j1();
extern int jal1();
extern int jalr1();
extern int jr1();
extern int cfc21();
extern int cfc22();
extern int ctc21();
extern int ctc22();
extern int mfc21();
extern int mfc22();
extern int mfc23();
extern int mfc24();
extern int mfc25();
extern int mfc26();
extern int mtc21();
extern int mtc22();
extern int mtc23();
extern int mtc24();
extern int mtc25();
extern int mtc26();
extern int lb1();
extern int lbu1();
extern int lh1();
extern int lhu1();
extern int lw1();
extern int sll1();
extern int sra1();
extern int srl1();
extern int sb1();
extern int sh1();
extern int sw1();
extern int vabs_v();
extern int veq_dbl_v();
extern int veq_v();
extern int vge_dbl_v();
extern int vge_v();
extern int vlt_dbl_v();
extern int vlt_v();
extern int vne_dbl_v();
extern int vne_v();
extern int dp_recp_chain_mix();
extern int dp_recp_mix();
extern int dp_sqrt_chain_mix();
extern int dp_sqrt_mix();
extern int lbv1();
extern int lbv2();
extern int lbv3();
extern int lfv1();
extern int lfv2();
extern int lhv1();
extern int lhv2();
extern int llv1();
extern int llv2();
extern int llv3();
extern int lpv1();
extern int lpv2();
extern int lpv3();
extern int lqv1();
extern int lqv2();
extern int lqv3();
extern int lrv1();
extern int lrv2();
extern int lrv3();
extern int lsv1();
extern int lsv2();
extern int lsv3();
extern int ltv1();
extern int luv1();
extern int luv2();
extern int luv3();
extern int vmacf_clamp();
extern int vmacf_v();
extern int vmacq_v();
extern int vmacq_v1();
extern int vmacq_v2();
extern int vmacu_clamp();
extern int vmacu_v();
extern int vmadh1_v();
extern int vmadh_clamp();
extern int vmadh_v();
extern int vmadh_v1();
extern int vmadl_clamp();
extern int vmadl_v();
extern int vmadm_clamp();
extern int vmadm_v();
extern int vmadm_v1();
extern int vmadn_clamp();
extern int vmadn_v();
extern int vmadn_v1();
extern int vmov();
extern int vmrg_v();
extern int vmudh1_v();
extern int vmudh_v();
extern int vmudh_v1();
extern int vmudl_v();
extern int vmudl_v1();
extern int vmudm_v();
extern int vmudm_v1();
extern int vmudn_v();
extern int vmudn_v1();
extern int vmulf_h();
extern int vmulf_q();
extern int vmulf_v();
extern int vmulf_v1();
extern int vmulf_w();
extern int vmulq_v();
extern int vmulu_v();
extern int vmulu_v1();
extern int vrndn_v();
extern int vrndn_v1();
extern int vrndp_v();
extern int vrndp_v1();
extern int vsaw();
extern int sp_recp_mix();
extern int sp_sqrt_mix();
extern int sbv1();
extern int sbv2();
extern int sbv3();
extern int sbv4();
extern int sfv1();
extern int sfv2();
extern int shv1();
extern int shv2();
extern int slv1();
extern int slv2();
extern int slv3();
extern int slv4();
extern int spv1();
extern int spv2();
extern int spv3();
extern int spv4();
extern int sqv1();
extern int sqv2();
extern int sqv3();
extern int sqv4();
extern int srv1();
extern int srv2();
extern int srv3();
extern int srv4();
extern int ssv1();
extern int ssv2();
extern int ssv3();
extern int ssv4();
extern int stv1();
extern int suv1();
extern int suv2();
extern int suv3();
extern int suv4();
extern int swv1();
extern int vsub_v();
extern int vsubc_v();
extern int vch_v();
extern int vcl_v();
extern int vcr_v();
extern int iltest1();
extern int iltest2();
extern int iltest3();
extern int iltest4();
extern int iltest5();
extern int iltest6();
extern int iltest7();
extern int iltest8();
extern int iltest9();
extern int iltest10();
extern int iltest11();
extern int iltest12();
extern int iltest13();
extern int iltest14();
extern int iltest15();
extern int iltest16();
extern int iltest17();
extern int iltest18();
extern int iltest19();
extern int iltest20();
extern int iltest21();
extern int iltest22();
extern int iltest23();
extern int iltest24();
extern int iltest25();
extern int di_ctlhz000();
extern int di_ctlhz001();
extern int di_ctlhz002();
extern int di_ctlhz010();
extern int di_ctlhz011();
extern int di_ctlhz012();
extern int di_ctlhz100();
extern int di_ctlhz101();
extern int di_ctlhz102();
extern int di_ctlhz110();
extern int di_ctlhz111();
extern int di_ctlhz112();
extern int di_ldst00();
extern int di_ldst01();
extern int di_ldst02();
extern int di_ldst03();
extern int di_ldst10();
extern int di_ldst11();
extern int di_ldst12();
extern int di_ldst13();
extern int di_ldst20();
extern int di_ldst21();
extern int di_ldst22();
extern int di_ldst23();
extern int di_ldst30();
extern int di_ldst31();
extern int di_ldst32();
extern int di_ldst33();
extern int di_norm00();
extern int di_norm01();
extern int di_norm02();
extern int di_norm03();
extern int di_norm10();
extern int di_norm11();
extern int di_norm12();
extern int di_norm13();
extern int di_norm20();
extern int di_norm21();
extern int di_norm22();
extern int di_norm23();
extern int di_norm30();
extern int di_norm31();
extern int di_norm32();
extern int di_norm33();
extern int di_reghz0();
extern int di_reghz1();
extern int di_reghz2();
extern int di_reghz3();
extern int bpmult();
extern int bptest0();
extern int bptest1();
extern int bptest2();
extern int bptest3();
extern int bptest4();
extern int dma00();
extern int dma01();
extern int dma02();
extern int dma10();
extern int dma11();
extern int dma12();
extern int dma13();
extern int dma14();
extern int dma20();
extern int dma21();
extern int dma22();
extern int dma30();
extern int dma31();
extern int dma32();
extern int dma33();
extern int dma34();
extern int dma35();
extern int dma36();
extern int dma40();
extern int dma50();
/*
extern int dma60();
extern int dma70();
*/

/*
 * An array of tests, each of which corresponds to a separate menu
 * item callable from the master ide menu.
 */
static TEST_REF TestRefs[] = {
  {"beq1",		RSP_TEST_BASE+1, beq1},
  {"bgez1",		RSP_TEST_BASE+2, bgez1},
  {"bgezal1",		RSP_TEST_BASE+3, bgezal1},
  {"bgezal2",		RSP_TEST_BASE+4, bgezal2},
  {"bgtz1",		RSP_TEST_BASE+5, bgtz1},
  {"blez1",		RSP_TEST_BASE+6, blez1},
  {"bltz1",		RSP_TEST_BASE+7, bltz1},
  {"bltzal1",		RSP_TEST_BASE+8, bltzal1},
  {"bltzal2",		RSP_TEST_BASE+9, bltzal2},
  {"bne1",		RSP_TEST_BASE+10, bne1},
  {"j1",		RSP_TEST_BASE+11, j1},
  {"jal1",		RSP_TEST_BASE+12, jal1},
  {"jalr1",		RSP_TEST_BASE+13, jalr1},
  {"jr1",		RSP_TEST_BASE+14, jr1},
  {"cfc21",		RSP_TEST_BASE+15, cfc21},
  {"cfc22",		RSP_TEST_BASE+16, cfc22},
  {"ctc21",		RSP_TEST_BASE+17, ctc21},
  {"ctc22",		RSP_TEST_BASE+18, ctc22},
  {"mfc21",		RSP_TEST_BASE+19, mfc21},
  {"mfc22",		RSP_TEST_BASE+20, mfc22},
  {"mfc23",		RSP_TEST_BASE+21, mfc23},
  {"mfc24",		RSP_TEST_BASE+22, mfc24},
  {"mfc25",		RSP_TEST_BASE+23, mfc25},
  {"mfc26",		RSP_TEST_BASE+24, mfc26},
  {"mtc21",		RSP_TEST_BASE+25, mtc21},
  {"mtc22",		RSP_TEST_BASE+26, mtc22},
  {"mtc23",		RSP_TEST_BASE+27, mtc23},
  {"mtc24",		RSP_TEST_BASE+28, mtc24},
  {"mtc25",		RSP_TEST_BASE+29, mtc25},
  {"mtc26",		RSP_TEST_BASE+30, mtc26},
  {"lb1",		RSP_TEST_BASE+31, lb1},
  {"lbu1",		RSP_TEST_BASE+32, lbu1},
  {"lh1",		RSP_TEST_BASE+33, lh1},
  {"lhu1",		RSP_TEST_BASE+34, lhu1},
  {"lw1",		RSP_TEST_BASE+35, lw1},
  {"sll1",		RSP_TEST_BASE+36, sll1},
  {"sra1",		RSP_TEST_BASE+37, sra1},
  {"srl1",		RSP_TEST_BASE+38, srl1},
  {"sb1",		RSP_TEST_BASE+39, sb1},
  {"sh1",		RSP_TEST_BASE+40, sh1},
  {"sw1",		RSP_TEST_BASE+41, sw1},
  {"vabs_v",		RSP_TEST_BASE+42, vabs_v},
  {"veq_dbl_v",		RSP_TEST_BASE+43, veq_dbl_v},
  {"veq_v",		RSP_TEST_BASE+44, veq_v},
  {"vge_dbl_v",		RSP_TEST_BASE+45, vge_dbl_v},
  {"vge_v",		RSP_TEST_BASE+46, vge_v},
  {"vlt_dbl_v",		RSP_TEST_BASE+47, vlt_dbl_v},
  {"vlt_v",		RSP_TEST_BASE+48, vlt_v},
  {"vne_dbl_v",		RSP_TEST_BASE+49, vne_dbl_v},
  {"vne_v",		RSP_TEST_BASE+50, vne_v},
  {"dp_recp_chain_mix",	RSP_TEST_BASE+51, dp_recp_chain_mix},
  {"dp_recp_mix",	RSP_TEST_BASE+54, dp_recp_mix},
  {"dp_sqrt_chain_mix",	RSP_TEST_BASE+57, dp_sqrt_chain_mix},
  {"dp_sqrt_mix",	RSP_TEST_BASE+60, dp_sqrt_mix},
  {"lbv1",		RSP_TEST_BASE+63, lbv1},
  {"lbv2",		RSP_TEST_BASE+64, lbv2},
  {"lbv3",		RSP_TEST_BASE+65, lbv3},
  {"lfv1",		RSP_TEST_BASE+66, lfv1},
  {"lfv2",		RSP_TEST_BASE+67, lfv2},
  {"lhv1",		RSP_TEST_BASE+68, lhv1},
  {"lhv2",		RSP_TEST_BASE+69, lhv2},
  {"llv1",		RSP_TEST_BASE+70, llv1},
  {"llv2",		RSP_TEST_BASE+71, llv2},
  {"llv3",		RSP_TEST_BASE+72, llv3},
  {"lpv1",		RSP_TEST_BASE+73, lpv1},
  {"lpv2",		RSP_TEST_BASE+74, lpv2},
  {"lpv3",		RSP_TEST_BASE+75, lpv3},
  {"lqv1",		RSP_TEST_BASE+76, lqv1},
  {"lqv2",		RSP_TEST_BASE+77, lqv2},
  {"lqv3",		RSP_TEST_BASE+78, lqv3},
  {"lrv1",		RSP_TEST_BASE+79, lrv1},
  {"lrv2",		RSP_TEST_BASE+80, lrv2},
  {"lrv3",		RSP_TEST_BASE+81, lrv3},
  {"lsv1",		RSP_TEST_BASE+82, lsv1},
  {"lsv2",		RSP_TEST_BASE+83, lsv2},
  {"lsv3",		RSP_TEST_BASE+84, lsv3},
  {"ltv1",		RSP_TEST_BASE+85, ltv1},
  {"luv1",		RSP_TEST_BASE+86, luv1},
  {"luv2",		RSP_TEST_BASE+87, luv2},
  {"luv3",		RSP_TEST_BASE+88, luv3},
  {"vmacf_clamp",	RSP_TEST_BASE+89, vmacf_clamp},
  {"vmacf_v",		RSP_TEST_BASE+90, vmacf_v},
  {"vmacq_v",		RSP_TEST_BASE+91, vmacq_v},
  {"vmacq_v1",		RSP_TEST_BASE+92, vmacq_v1},
  {"vmacq_v2",		RSP_TEST_BASE+93, vmacq_v2},
  {"vmacu_clamp",	RSP_TEST_BASE+94, vmacu_clamp},
  {"vmacu_v",		RSP_TEST_BASE+95, vmacu_v},
  {"vmadh1_v",		RSP_TEST_BASE+96, vmadh1_v},
  {"vmadh_clamp",	RSP_TEST_BASE+97, vmadh_clamp},
  {"vmadh_v",		RSP_TEST_BASE+98, vmadh_v},
  {"vmadh_v1",		RSP_TEST_BASE+99, vmadh_v1},
  {"vmadl_clamp",	RSP_TEST_BASE+100, vmadl_clamp},
  {"vmadl_v",		RSP_TEST_BASE+101, vmadl_v},
  {"vmadm_clamp",	RSP_TEST_BASE+102, vmadm_clamp},
  {"vmadm_v",		RSP_TEST_BASE+103, vmadm_v},
  {"vmadm_v1",		RSP_TEST_BASE+104, vmadm_v1},
  {"vmadn_clamp",	RSP_TEST_BASE+105, vmadn_clamp},
  {"vmadn_v",		RSP_TEST_BASE+106, vmadn_v},
  {"vmadn_v1",		RSP_TEST_BASE+107, vmadn_v1},
  {"vmov",		RSP_TEST_BASE+108, vmov},
  {"vmrg_v",		RSP_TEST_BASE+109, vmrg_v},
  {"vmudh1_v",		RSP_TEST_BASE+110, vmudh1_v},
  {"vmudh_v",		RSP_TEST_BASE+111, vmudh_v},
  {"vmudh_v1",		RSP_TEST_BASE+112, vmudh_v1},
  {"vmudl_v",		RSP_TEST_BASE+113, vmudl_v},
  {"vmudl_v1",		RSP_TEST_BASE+114, vmudl_v1},
  {"vmudm_v",		RSP_TEST_BASE+115, vmudm_v},
  {"vmudm_v1",		RSP_TEST_BASE+116, vmudm_v1},
  {"vmudn_v",		RSP_TEST_BASE+117, vmudn_v},
  {"vmudn_v1",		RSP_TEST_BASE+118, vmudn_v1},
  {"vmulf_h",		RSP_TEST_BASE+119, vmulf_h},
  {"vmulf_q",		RSP_TEST_BASE+120, vmulf_q},
  {"vmulf_v",		RSP_TEST_BASE+121, vmulf_v},
  {"vmulf_v1",		RSP_TEST_BASE+122, vmulf_v1},
  {"vmulf_w",		RSP_TEST_BASE+123, vmulf_w},
  {"vmulq_v",		RSP_TEST_BASE+124, vmulq_v},
  {"vmulu_v",		RSP_TEST_BASE+125, vmulu_v},
  {"vmulu_v1",		RSP_TEST_BASE+126, vmulu_v1},
  {"vrndn_v",		RSP_TEST_BASE+127, vrndn_v},
  {"vrndn_v1",		RSP_TEST_BASE+128, vrndn_v1},
  {"vrndp_v",		RSP_TEST_BASE+129, vrndp_v},
  {"vrndp_v1",		RSP_TEST_BASE+130, vrndp_v1},
  {"vsaw",		RSP_TEST_BASE+131, vsaw},
  {"sp_recp_mix",	RSP_TEST_BASE+132, sp_recp_mix},
  {"sp_sqrt_mix",	RSP_TEST_BASE+135, sp_sqrt_mix},
  {"sbv1",		RSP_TEST_BASE+138, sbv2},
  {"sbv2",		RSP_TEST_BASE+139, sbv2},
  {"sbv3",		RSP_TEST_BASE+140, sbv3},
  {"sbv4",		RSP_TEST_BASE+141, sbv4},
  {"sfv1",		RSP_TEST_BASE+142, sfv1},
  {"sfv2",		RSP_TEST_BASE+143, sfv2},
  {"shv1",		RSP_TEST_BASE+144, shv1},
  {"shv2",		RSP_TEST_BASE+145, shv2},
  {"slv1",		RSP_TEST_BASE+146, slv1},
  {"slv2",		RSP_TEST_BASE+147, slv2},
  {"slv3",		RSP_TEST_BASE+148, slv3},
  {"slv4",		RSP_TEST_BASE+149, slv4},
  {"spv1",		RSP_TEST_BASE+150, spv1},
  {"spv2",		RSP_TEST_BASE+151, spv2},
  {"spv3",		RSP_TEST_BASE+152, spv3},
  {"spv4",		RSP_TEST_BASE+153, spv4},
  {"sqv1",		RSP_TEST_BASE+154, sqv1},
  {"sqv2",		RSP_TEST_BASE+155, sqv2},
  {"sqv3",		RSP_TEST_BASE+156, sqv3},
  {"sqv4",		RSP_TEST_BASE+157, sqv4},
  {"srv1",		RSP_TEST_BASE+158, srv1},
  {"srv2",		RSP_TEST_BASE+159, srv2},
  {"srv3",		RSP_TEST_BASE+160, srv3},
  {"srv4",		RSP_TEST_BASE+161, srv4},
  {"ssv1",		RSP_TEST_BASE+162, ssv1},
  {"ssv2",		RSP_TEST_BASE+163, ssv2},
  {"ssv3",		RSP_TEST_BASE+164, ssv3},
  {"ssv4",		RSP_TEST_BASE+165, ssv4},
  {"stv1",		RSP_TEST_BASE+166, stv1},
  {"suv1",		RSP_TEST_BASE+167, suv1},
  {"suv2",		RSP_TEST_BASE+168, suv2},
  {"suv3",		RSP_TEST_BASE+169, suv3},
  {"suv4",		RSP_TEST_BASE+170, suv4},
  {"swv1",		RSP_TEST_BASE+171, swv1},
  {"vsub_v",		RSP_TEST_BASE+172, vsub_v},
  {"vsubc_v",		RSP_TEST_BASE+173, vsubc_v},
  {"vch_v",		RSP_TEST_BASE+174, vch_v},
  {"vcl_v",		RSP_TEST_BASE+175, vcl_v},
  {"vcr_v",		RSP_TEST_BASE+176, vcr_v},
  {"iltest1", 		RSP_TEST_BASE+177, iltest1},
  {"iltest2", 		RSP_TEST_BASE+178, iltest2},
  {"iltest3", 		RSP_TEST_BASE+179, iltest3},
  {"iltest4", 		RSP_TEST_BASE+180, iltest4},
  {"iltest5", 		RSP_TEST_BASE+181, iltest5},
  {"iltest6", 		RSP_TEST_BASE+182, iltest6},
  {"iltest7", 		RSP_TEST_BASE+183, iltest7},
  {"iltest8", 		RSP_TEST_BASE+184, iltest8},
  {"iltest9", 		RSP_TEST_BASE+185, iltest9},
  {"iltest10", 		RSP_TEST_BASE+186, iltest10},
  {"iltest11", 		RSP_TEST_BASE+187, iltest11},
  {"iltest12", 		RSP_TEST_BASE+188, iltest12},
  {"iltest13", 		RSP_TEST_BASE+189, iltest13},
  {"iltest14", 		RSP_TEST_BASE+190, iltest14},
  {"iltest15", 		RSP_TEST_BASE+191, iltest15},
  {"iltest16", 		RSP_TEST_BASE+192, iltest16},
  {"iltest17", 		RSP_TEST_BASE+193, iltest17},
  {"iltest18", 		RSP_TEST_BASE+194, iltest18},
  {"iltest19", 		RSP_TEST_BASE+195, iltest19},
  {"iltest20", 		RSP_TEST_BASE+196, iltest20},
  {"iltest21", 		RSP_TEST_BASE+197, iltest21},
  {"iltest22", 		RSP_TEST_BASE+198, iltest22},
  {"iltest23", 		RSP_TEST_BASE+199, iltest23},
  {"iltest24", 		RSP_TEST_BASE+200, iltest24},
  {"iltest25", 		RSP_TEST_BASE+201, iltest25},
  {"di_ctlhz000", 	RSP_TEST_BASE+202, di_ctlhz000},
  {"di_ctlhz001", 	RSP_TEST_BASE+203, di_ctlhz000},
  {"di_ctlhz002", 	RSP_TEST_BASE+204, di_ctlhz002},
  {"di_ctlhz010", 	RSP_TEST_BASE+205, di_ctlhz010},
  {"di_ctlhz011", 	RSP_TEST_BASE+206, di_ctlhz011},
  {"di_ctlhz012", 	RSP_TEST_BASE+207, di_ctlhz012},
  {"di_ctlhz100", 	RSP_TEST_BASE+208, di_ctlhz100},
  {"di_ctlhz101", 	RSP_TEST_BASE+209, di_ctlhz101},
  {"di_ctlhz102", 	RSP_TEST_BASE+210, di_ctlhz102},
  {"di_ctlhz110", 	RSP_TEST_BASE+211, di_ctlhz110},
  {"di_ctlhz111", 	RSP_TEST_BASE+212, di_ctlhz111},
  {"di_ctlhz112", 	RSP_TEST_BASE+213, di_ctlhz112},
  {"di_ldst00", 	RSP_TEST_BASE+214, di_ldst00},
  {"di_ldst01", 	RSP_TEST_BASE+215, di_ldst01},
  {"di_ldst02", 	RSP_TEST_BASE+216, di_ldst02},
  {"di_ldst03", 	RSP_TEST_BASE+217, di_ldst03},
  {"di_ldst10", 	RSP_TEST_BASE+218, di_ldst10},
  {"di_ldst11", 	RSP_TEST_BASE+219, di_ldst11},
  {"di_ldst12", 	RSP_TEST_BASE+220, di_ldst12},
  {"di_ldst13", 	RSP_TEST_BASE+221, di_ldst13},
  {"di_ldst20", 	RSP_TEST_BASE+222, di_ldst20},
  {"di_ldst21", 	RSP_TEST_BASE+223, di_ldst21},
  {"di_ldst22", 	RSP_TEST_BASE+224, di_ldst22},
  {"di_ldst23", 	RSP_TEST_BASE+225, di_ldst23},
  {"di_ldst30", 	RSP_TEST_BASE+226, di_ldst30},
  {"di_ldst31", 	RSP_TEST_BASE+227, di_ldst31},
  {"di_ldst32", 	RSP_TEST_BASE+228, di_ldst32},
  {"di_ldst33", 	RSP_TEST_BASE+229, di_ldst33},
  {"di_norm00", 	RSP_TEST_BASE+230, di_norm00},
  {"di_norm01", 	RSP_TEST_BASE+231, di_norm01},
  {"di_norm02", 	RSP_TEST_BASE+232, di_norm02},
  {"di_norm03", 	RSP_TEST_BASE+233, di_norm03},
  {"di_norm10", 	RSP_TEST_BASE+234, di_norm10},
  {"di_norm11", 	RSP_TEST_BASE+235, di_norm11},
  {"di_norm12", 	RSP_TEST_BASE+236, di_norm12},
  {"di_norm13", 	RSP_TEST_BASE+237, di_norm13},
  {"di_norm20", 	RSP_TEST_BASE+238, di_norm20},
  {"di_norm21", 	RSP_TEST_BASE+239, di_norm21},
  {"di_norm22", 	RSP_TEST_BASE+240, di_norm22},
  {"di_norm23", 	RSP_TEST_BASE+241, di_norm23},
  {"di_norm30", 	RSP_TEST_BASE+242, di_norm30},
  {"di_norm31", 	RSP_TEST_BASE+243, di_norm31},
  {"di_norm32", 	RSP_TEST_BASE+244, di_norm32},
  {"di_norm33", 	RSP_TEST_BASE+245, di_norm33},
  {"di_reghz0", 	RSP_TEST_BASE+246, di_reghz0},
  {"di_reghz1", 	RSP_TEST_BASE+247, di_reghz1},
  {"di_reghz2", 	RSP_TEST_BASE+248, di_reghz2},
  {"di_reghz3", 	RSP_TEST_BASE+249, di_reghz3},
  {"bpmult", 		RSP_TEST_BASE+250, bpmult},
  {"bptest0", 		RSP_TEST_BASE+251, bptest0},
  {"bptest1", 		RSP_TEST_BASE+252, bptest1},
  {"bptest2", 		RSP_TEST_BASE+253, bptest2},
  {"bptest3", 		RSP_TEST_BASE+254, bptest3},
  {"bptest4", 		RSP_TEST_BASE+255, bptest4},
  {"dma00", 		RSP_TEST_BASE+256, dma00},
  {"dma01", 		RSP_TEST_BASE+257, dma01},
  {"dma02", 		RSP_TEST_BASE+258, dma02},
  {"dma10", 		RSP_TEST_BASE+259, dma10},
  {"dma11", 		RSP_TEST_BASE+260, dma11},
  {"dma12", 		RSP_TEST_BASE+261, dma12},
  {"dma13", 		RSP_TEST_BASE+262, dma13},
  {"dma14", 		RSP_TEST_BASE+263, dma14},
  {"dma20", 		RSP_TEST_BASE+264, dma20},
  {"dma21", 		RSP_TEST_BASE+265, dma21},
  {"dma22", 		RSP_TEST_BASE+266, dma22},
  {"dma30", 		RSP_TEST_BASE+267, dma30},
  {"dma31", 		RSP_TEST_BASE+268, dma31},
  {"dma32", 		RSP_TEST_BASE+269, dma32},
  {"dma33", 		RSP_TEST_BASE+270, dma33},
  {"dma34", 		RSP_TEST_BASE+271, dma34},
  {"dma35", 		RSP_TEST_BASE+272, dma35},
  {"dma36", 		RSP_TEST_BASE+273, dma36},
  {"dma40", 		RSP_TEST_BASE+274, dma40},
  {"dma50", 		RSP_TEST_BASE+275, dma50},
    {"",0,0}
};

static int failed_tests[512];

int rspcor1(void) {rsp_regr(TestRefs);}