//Original:/testcases/core/c_ccflag_pr_imm3_uu/c_ccflag_pr_imm3_uu.dsp // Spec Reference: ccflag pr-imm3 (uu) # mach: bfin .include "testutils.inc" start INIT_R_REGS 0; //imm32 p0, 0x00000001; imm32 p1, 0x00000001; imm32 p2, 0x00000002; imm32 p3, 0x00000003; imm32 p4, 0x00000004; imm32 p5, 0x00000005; imm32 sp, 0x00000006; imm32 fp, 0x00000007; R0 = 0; ASTAT = R0; // positive preg EQUAL to positive imm3 CC = P1 == 1; R0 = ASTAT; CC = P1 < 1 (IU); R1 = ASTAT; CC = P1 <= 1 (IU); R2 = ASTAT; CC = P2 == 2; R3 = ASTAT; CC = P2 < 2 (IU); R4 = ASTAT; CC = P2 <= 2 (IU); R5 = ASTAT; CHECKREG r0, 0x00000020; CHECKREG r1, 0x00000000; CHECKREG r2, 0x00000020; CHECKREG r3, 0x00000020; CHECKREG r4, 0x00000000; CHECKREG r5, 0x00000020; CC = P3 == 3; R0 = ASTAT; CC = P3 < 3 (IU); R1 = ASTAT; CC = P3 <= 3 (IU); R2 = ASTAT; CC = P4 == 3; R3 = ASTAT; CC = P4 < 4 (IU); R4 = ASTAT; CC = P4 <= 4 (IU); R5 = ASTAT; CHECKREG r0, 0x00000020; CHECKREG r1, 0x00000000; CHECKREG r2, 0x00000020; CHECKREG r3, 0x00000000; CHECKREG r4, 0x00000000; CHECKREG r5, 0x00000020; CC = P5 == 3; R0 = ASTAT; CC = P5 < 5 (IU); R1 = ASTAT; CC = P5 <= 5 (IU); R2 = ASTAT; CC = SP == 3; R3 = ASTAT; CC = SP < 6 (IU); R4 = ASTAT; CC = SP <= 6 (IU); R5 = ASTAT; CHECKREG r0, 0x00000000; CHECKREG r1, 0x00000000; CHECKREG r2, 0x00000020; CHECKREG r3, 0x00000000; CHECKREG r4, 0x00000000; CHECKREG r5, 0x00000020; CC = FP == 3; R5 = ASTAT; CC = FP < 7 (IU); R6 = ASTAT; CC = FP <= 7 (IU); R7 = ASTAT; CHECKREG r5, 0x00000000; CHECKREG r6, 0x00000000; CHECKREG r7, 0x00000020; // positive preg GREATER than positive imm3 CC = P1 == 0; R0 = ASTAT; CC = P1 < 0 (IU); R1 = ASTAT; CC = P1 <= 0 (IU); R2 = ASTAT; CC = P2 == 1; R3 = ASTAT; CC = P2 < 1 (IU); R4 = ASTAT; CC = P2 <= 1 (IU); R5 = ASTAT; CHECKREG r0, 0x00000000; CHECKREG r1, 0x00000000; CHECKREG r2, 0x00000000; CHECKREG r3, 0x00000000; CHECKREG r4, 0x00000000; CHECKREG r5, 0x00000000; CC = P3 == 2; R0 = ASTAT; CC = P3 < 2 (IU); R1 = ASTAT; CC = P3 <= 2 (IU); R2 = ASTAT; CC = P4 == 3; R3 = ASTAT; CC = P4 < 3 (IU); R4 = ASTAT; CC = P4 <= 3 (IU); R5 = ASTAT; CHECKREG r0, 0x00000000; CHECKREG r1, 0x00000000; CHECKREG r2, 0x00000000; CHECKREG r3, 0x00000000; CHECKREG r4, 0x00000000; CHECKREG r5, 0x00000000; CC = P5 == 3; R0 = ASTAT; CC = P5 < 4 (IU); R1 = ASTAT; CC = P5 <= 4 (IU); R2 = ASTAT; CC = SP == 3; R3 = ASTAT; CC = SP < 5 (IU); R4 = ASTAT; CC = SP <= 5 (IU); R5 = ASTAT; CHECKREG r0, 0x00000000; CHECKREG r1, 0x00000000; CHECKREG r2, 0x00000000; CHECKREG r3, 0x00000000; CHECKREG r4, 0x00000000; CHECKREG r5, 0x00000000; CC = FP == 3; R5 = ASTAT; CC = FP < 6 (IU); R6 = ASTAT; CC = FP <= 6 (IU); R7 = ASTAT; CHECKREG r5, 0x00000000; CHECKREG r6, 0x00000000; CHECKREG r7, 0x00000000; // positive preg LESS than positive imm3 imm32 p1, 0x00000000; imm32 p2, 0x00000001; imm32 p3, 0x00000002; imm32 p4, 0x00000003; imm32 p5, 0x00000004; imm32 sp, 0x00000005; imm32 fp, 0x00000006; CC = P1 == 2; R0 = ASTAT; CC = P1 < 2 (IU); R1 = ASTAT; CC = P1 <= 2 (IU); R2 = ASTAT; CC = P2 == 3; R3 = ASTAT; CC = P2 < 3 (IU); R4 = ASTAT; CC = P2 <= 3 (IU); R5 = ASTAT; CHECKREG r0, 0x00000000; CHECKREG r1, 0x00000020; CHECKREG r2, 0x00000020; CHECKREG r3, 0x00000000; CHECKREG r4, 0x00000020; CHECKREG r5, 0x00000020; CC = P3 == 3; R0 = ASTAT; CC = P3 < 4 (IU); R1 = ASTAT; CC = P3 <= 4 (IU); R2 = ASTAT; CC = P4 == 3; R3 = ASTAT; CC = P4 < 5 (IU); R4 = ASTAT; CC = P4 <= 5 (IU); R5 = ASTAT; CHECKREG r0, 0x00000000; CHECKREG r1, 0x00000020; CHECKREG r2, 0x00000020; CHECKREG r3, 0x00000020; CHECKREG r4, 0x00000020; CHECKREG r5, 0x00000020; CC = P5 == 3; R0 = ASTAT; CC = P5 < 6 (IU); R1 = ASTAT; CC = P5 <= 6 (IU); R2 = ASTAT; CC = SP == 3; R3 = ASTAT; CC = SP < 7 (IU); R4 = ASTAT; CC = SP <= 7 (IU); R5 = ASTAT; CHECKREG r0, 0x00000000; CHECKREG r1, 0x00000020; CHECKREG r2, 0x00000020; CHECKREG r3, 0x00000000; CHECKREG r4, 0x00000020; CHECKREG r5, 0x00000020; CC = FP == 3; R5 = ASTAT; CC = FP < 7 (IU); R6 = ASTAT; CC = FP <= 7 (IU); R7 = ASTAT; CHECKREG r5, 0x00000000; CHECKREG r6, 0x00000020; CHECKREG r7, 0x00000020; pass