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