//Original:/proj/frio/dv/testcases/core/c_ccflag_pr_pr_uu/c_ccflag_pr_pr_uu.dsp // Spec Reference: ccflag pr-pr (uu) # mach: bfin .include "testutils.inc" start INIT_R_REGS 0; //imm32 p0, 0x00110022; imm32 p1, 0x00110022; imm32 p2, 0x00330044; imm32 p3, 0x00550066; imm32 p4, 0x00770088; imm32 p5, 0x009900aa; imm32 fp, 0x00bb00cc; imm32 sp, 0x00000000; ASTAT = R0; R4 = ASTAT; // positive preg-1 EQUAL to positive preg-2 CC = P2 < P1 (IU); R6 = ASTAT; CC = P2 <= P1 (IU); R7 = ASTAT; CHECKREG r4, 0x00000000; CHECKREG r5, 0x00000000; CHECKREG r6, 0x00000000; CHECKREG r7, 0x00000000; // positive preg-1 GREATER than positive preg-2 CC = P3 < P2 (IU); R6 = ASTAT; CC = P3 <= P2 (IU); R7 = ASTAT; CHECKREG r6, 0x00000000; CHECKREG r7, 0x00000000; // positive preg-1 LESS than positive preg-2 CC = P2 < P3 (IU); R6 = ASTAT; CC = P2 <= P3 (IU); R7 = ASTAT; CHECKREG r6, 0x00000020; CHECKREG r7, 0x00000020; //imm32 p0, 0x01230123; imm32 p1, 0x81230123; imm32 p2, 0x04560456; imm32 p3, 0x87890789; // operate on negative number R0 = 0; ASTAT = R0; R4 = ASTAT; // positive preg-1 GREATER than negative preg-2 CC = P2 < P1 (IU); R6 = ASTAT; CC = P2 <= P1 (IU); R7 = ASTAT; CHECKREG r4, 0x00000000; CHECKREG r6, 0x00000020; CHECKREG r7, 0x00000020; // negative preg-1 LESS than POSITIVE preg-2 small CC = P3 < P2 (IU); R6 = ASTAT; CC = P3 <= P2 (IU); R7 = ASTAT; CHECKREG r6, 0x00000000; CHECKREG r7, 0x00000000; // negative preg-1 GREATER than negative preg-2 CC = P1 < P3 (IU); R6 = ASTAT; CC = P1 <= P3 (IU); R7 = ASTAT; CHECKREG r6, 0x00000020; CHECKREG r7, 0x00000020; // negative preg-1 LESS than negative preg-2 CC = P3 < P1 (IU); R6 = ASTAT; CC = P3 <= P1 (IU); R7 = ASTAT; CHECKREG r6, 0x00000000; CHECKREG r7, 0x00000000; //imm32 p0, 0x80230123; imm32 p1, 0x00230123; imm32 p2, 0x80560056; imm32 p3, 0x00890089; // operate on negative number R0 = 0; ASTAT = R0; R4 = ASTAT; // negative preg-1 LESS than POSITIVE preg-2 CC = P2 < P3 (IU); R6 = ASTAT; CC = P2 <= P3 (IU); R7 = ASTAT; CHECKREG r4, 0x00000000; // overflow and carry but not negative CHECKREG r6, 0x00000000; // cc overflow, carry and negative CHECKREG r7, 0x00000000; imm32 p4, 0x44444444; imm32 p5, 0x55555555; imm32 fp, 0x66666666; imm32 sp, 0x77777777; //imm32 p0, 0x00000000; imm32 p1, 0x11111111; imm32 p2, 0x00000000; imm32 p3, 0x33333333; ASTAT = R0; R3 = ASTAT; CHECKREG r3, 0x00000000; // positive preg-1 EQUAL to positive preg-2 CC = P4 < P5; R1 = ASTAT; CC = P4 <= P5; R2 = ASTAT; CHECKREG r1, 0x00000020; CHECKREG r2, 0x00000020; // positive preg-1 GREATER than positive preg-2 CC = SP < FP (IU); R1 = ASTAT; CC = SP <= FP (IU); R2 = ASTAT; CHECKREG r1, 0x00000000; CHECKREG r2, 0x00000000; // positive preg-1 LESS than positive preg-2 CC = FP < SP (IU); R1 = ASTAT; CC = FP <= SP (IU); R2 = ASTAT; CHECKREG r1, 0x00000020; CHECKREG r2, 0x00000020; imm32 p4, 0x01230123; imm32 p5, 0x81230123; imm32 fp, 0x04560456; imm32 sp, 0x87890789; // operate on negative number R0 = 0; ASTAT = R0; R3 = ASTAT; // nop; CHECKREG r3, 0x00000000; // positive preg-1 GREATER than negative preg-2 CC = P4 < P5 (IU); R2 = ASTAT; CC = P4 <= P5 (IU); R3 = ASTAT; CHECKREG r2, 0x00000020; CHECKREG r3, 0x00000020; // negative preg-1 LESS than POSITIVE preg-2 small CC = SP < FP (IU); R1 = ASTAT; CC = SP <= FP (IU); R2 = ASTAT; CHECKREG r1, 0x00000000; CHECKREG r2, 0x00000000; // negative preg-1 GREATER than negative preg-2 CC = P5 < SP (IU); R1 = ASTAT; CC = P5 <= SP (IU); R2 = ASTAT; CHECKREG r1, 0x00000020; CHECKREG r2, 0x00000020; // negative preg-1 LESS than negative preg-2 CC = SP < P5 (IU); R2 = ASTAT; CC = SP <= P5 (IU); R3 = ASTAT; CHECKREG r1, 0x00000020; CHECKREG r2, 0x00000000; CHECKREG r3, 0x00000000; imm32 p4, 0x80230123; imm32 p5, 0x00230123; imm32 fp, 0x80560056; imm32 sp, 0x00890089; // operate on negative number R0 = 0; ASTAT = R0; R0 = ASTAT; // negative preg-1 LESS than POSITIVE preg-2 CC = R6 < R7 (IU); R2 = ASTAT; CC = R6 <= R7 (IU); R3 = ASTAT; CHECKREG r0, 0x00000000; // overflow and carry but not negative CHECKREG r2, 0x00001005; // cc overflow, carry and negative CHECKREG r3, 0x00001025; pass;