| //Original:/testcases/core/c_ccflag_pr_imm3/c_ccflag_pr_imm3.dsp |
| // Spec Reference: ccflag pr-imm3 |
| # mach: bfin |
| |
| .include "testutils.inc" |
| start |
| |
| |
| INIT_R_REGS 0; |
| |
| //imm32 p0, 0x00000001; |
| imm32 p1, 0x00000001; |
| imm32 p2, 0x00000002; |
| imm32 p3, 0x00000003; |
| imm32 p4, 0x00000001; |
| imm32 p5, 0x00000002; |
| imm32 sp, 0x00000003; |
| imm32 fp, 0x00000003; |
| |
| R0 = 0; |
| ASTAT = R0; |
| // positive dreg EQUAL to positive imm3 |
| CC = P1 == 1; |
| R0 = ASTAT; |
| CC = P1 < 1; |
| R1 = ASTAT; |
| CC = P1 <= 1; |
| R2 = ASTAT; |
| CC = P2 == 2; |
| R3 = ASTAT; |
| CC = P2 < 2; |
| R4 = ASTAT; |
| CC = P2 <= 2; |
| 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; |
| R1 = ASTAT; |
| CC = P3 <= 3; |
| R2 = ASTAT; |
| CC = P4 == 1; |
| R3 = ASTAT; |
| CC = P4 < 1; |
| R4 = ASTAT; |
| CC = P4 <= 1; |
| R5 = ASTAT; |
| CHECKREG r0, 0x00000020; |
| CHECKREG r1, 0x00000000; |
| CHECKREG r2, 0x00000020; |
| CHECKREG r3, 0x00000020; |
| CHECKREG r4, 0x00000000; |
| CHECKREG r5, 0x00000020; |
| |
| CC = P5 == 2; |
| R0 = ASTAT; |
| CC = P5 < 2; |
| R1 = ASTAT; |
| CC = P5 <= 2; |
| R2 = ASTAT; |
| CC = SP == 3; |
| R3 = ASTAT; |
| CC = SP < 3; |
| R4 = ASTAT; |
| CC = SP <= 3; |
| R5 = ASTAT; |
| CHECKREG r0, 0x00000020; |
| CHECKREG r1, 0x00000000; |
| CHECKREG r2, 0x00000020; |
| CHECKREG r3, 0x00000020; |
| CHECKREG r4, 0x00000000; |
| CHECKREG r5, 0x00000020; |
| |
| CC = FP == 3; |
| R5 = ASTAT; |
| CC = FP < 3; |
| R6 = ASTAT; |
| CC = FP <= 3; |
| R7 = ASTAT; |
| CHECKREG r5, 0x00000020; |
| CHECKREG r6, 0x00000000; |
| CHECKREG r7, 0x00000020; |
| |
| // positive dreg GREATER than positive imm3 |
| imm32 p1, 0x00000002; |
| imm32 p2, 0x00000002; |
| imm32 p3, 0x00000003; |
| imm32 p4, 0x00000002; |
| imm32 p5, 0x00000002; |
| imm32 sp, 0x00000003; |
| imm32 fp, 0x00000003; |
| CC = P1 == 0; |
| R0 = ASTAT; |
| CC = P1 < 0; |
| R1 = ASTAT; |
| CC = P1 <= 0; |
| R2 = ASTAT; |
| CC = P2 == 1; |
| R3 = ASTAT; |
| CC = P2 < 1; |
| R4 = ASTAT; |
| CC = P2 <= 1; |
| 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; |
| R1 = ASTAT; |
| CC = P3 <= 2; |
| R2 = ASTAT; |
| CC = P4 == 0; |
| R3 = ASTAT; |
| CC = P4 < 0; |
| R4 = ASTAT; |
| CC = P4 <= 0; |
| R5 = ASTAT; |
| CHECKREG r0, 0x00000000; |
| CHECKREG r1, 0x00000000; |
| CHECKREG r2, 0x00000000; |
| CHECKREG r3, 0x00000000; |
| CHECKREG r4, 0x00000000; |
| CHECKREG r5, 0x00000000; |
| |
| CC = P5 == 1; |
| R0 = ASTAT; |
| CC = P5 < 1; |
| R1 = ASTAT; |
| CC = P5 <= 1; |
| R2 = ASTAT; |
| CC = SP == 2; |
| R3 = ASTAT; |
| CC = SP < 2; |
| R4 = ASTAT; |
| CC = SP <= 2; |
| R5 = ASTAT; |
| CHECKREG r0, 0x00000000; |
| CHECKREG r1, 0x00000000; |
| CHECKREG r2, 0x00000000; |
| CHECKREG r3, 0x00000000; |
| CHECKREG r4, 0x00000000; |
| CHECKREG r5, 0x00000000; |
| |
| CC = FP == 2; |
| R5 = ASTAT; |
| CC = FP < 2; |
| R6 = ASTAT; |
| CC = FP <= 2; |
| R7 = ASTAT; |
| CHECKREG r5, 0x00000000; |
| CHECKREG r6, 0x00000000; |
| CHECKREG r7, 0x00000000; |
| |
| // positive dreg LESS than positive imm3 |
| imm32 p1, 0x00000001; |
| imm32 p2, 0x00000002; |
| imm32 p3, 0x00000002; |
| imm32 p4, 0x00000001; |
| imm32 p5, 0x00000001; |
| imm32 sp, 0x00000002; |
| imm32 fp, 0x00000002; |
| CC = P1 == 2; |
| R0 = ASTAT; |
| CC = P1 < 2; |
| R1 = ASTAT; |
| CC = P1 <= 2; |
| R2 = ASTAT; |
| CC = P2 == 3; |
| R3 = ASTAT; |
| CC = P2 < 3; |
| R4 = ASTAT; |
| CC = P2 <= 3; |
| 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 < 3; |
| R1 = ASTAT; |
| CC = P3 <= 3; |
| R2 = ASTAT; |
| CC = P4 == 3; |
| R3 = ASTAT; |
| CC = P4 < 3; |
| R4 = ASTAT; |
| CC = P4 <= 3; |
| R5 = ASTAT; |
| CHECKREG r0, 0x00000000; |
| CHECKREG r1, 0x00000020; |
| CHECKREG r2, 0x00000020; |
| CHECKREG r3, 0x00000000; |
| CHECKREG r4, 0x00000020; |
| CHECKREG r5, 0x00000020; |
| |
| CC = P5 == 3; |
| R0 = ASTAT; |
| CC = P5 < 3; |
| R1 = ASTAT; |
| CC = P5 <= 3; |
| R2 = ASTAT; |
| CC = SP == 3; |
| R3 = ASTAT; |
| CC = SP < 3; |
| R4 = ASTAT; |
| CC = SP <= 3; |
| 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 < 3; |
| R6 = ASTAT; |
| CC = FP <= 3; |
| R7 = ASTAT; |
| CHECKREG r5, 0x00000000; |
| CHECKREG r6, 0x00000020; |
| CHECKREG r7, 0x00000020; |
| |
| |
| // positive dreg GREATER than neg imm3 |
| CC = P1 == -1; |
| R0 = ASTAT; |
| CC = P1 < -1; |
| R1 = ASTAT; |
| CC = P1 <= -1; |
| R2 = ASTAT; |
| CC = P2 == -2; |
| R3 = ASTAT; |
| CC = P2 < -2; |
| R4 = ASTAT; |
| CC = P2 <= -2; |
| R5 = ASTAT; |
| CHECKREG r0, 0x00000000; |
| CHECKREG r1, 0x00000000; |
| CHECKREG r2, 0x00000000; |
| CHECKREG r3, 0x00000000; |
| CHECKREG r4, 0x00000000; |
| CHECKREG r5, 0x00000000; |
| |
| CC = P3 == -3; |
| R0 = ASTAT; |
| CC = P3 < -3; |
| R1 = ASTAT; |
| CC = P3 <= -3; |
| R2 = ASTAT; |
| CC = P4 == -4; |
| R3 = ASTAT; |
| CC = P4 < -4; |
| R4 = ASTAT; |
| CC = P4 <= -4; |
| R5 = ASTAT; |
| CHECKREG r0, 0x00000000; |
| CHECKREG r1, 0x00000000; |
| CHECKREG r2, 0x00000000; |
| CHECKREG r3, 0x00000000; |
| CHECKREG r4, 0x00000000; |
| CHECKREG r5, 0x00000000; |
| |
| CC = P5 == -1; |
| R0 = ASTAT; |
| CC = P5 < -1; |
| R1 = ASTAT; |
| CC = P5 <= -1; |
| R2 = ASTAT; |
| CC = SP == -2; |
| R3 = ASTAT; |
| CC = SP < -2; |
| R4 = ASTAT; |
| CC = SP <= -2; |
| R5 = ASTAT; |
| CHECKREG r0, 0x00000000; |
| CHECKREG r1, 0x00000000; |
| CHECKREG r2, 0x00000000; |
| CHECKREG r3, 0x00000000; |
| CHECKREG r4, 0x00000000; |
| CHECKREG r5, 0x00000000; |
| |
| CC = FP == -4; |
| R5 = ASTAT; |
| CC = FP < -4; |
| R6 = ASTAT; |
| CC = FP <= -4; |
| R7 = ASTAT; |
| CHECKREG r5, 0x00000000; |
| CHECKREG r6, 0x00000000; |
| CHECKREG r7, 0x00000000; |
| |
| |
| |
| imm32 p1, -1; |
| imm32 p2, -2; |
| imm32 p3, -3; |
| imm32 p4, -4; |
| imm32 p5, -1; |
| imm32 sp, -2; |
| imm32 fp, -3; |
| // negative dreg equal negative imm3 |
| CC = P1 == -1; |
| R0 = ASTAT; |
| CC = P1 < -1; |
| R1 = ASTAT; |
| CC = P1 <= -1; |
| R2 = ASTAT; |
| CC = P2 == -2; |
| R3 = ASTAT; |
| CC = P2 < -2; |
| R4 = ASTAT; |
| CC = P2 <= -2; |
| 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; |
| R1 = ASTAT; |
| CC = P3 <= -3; |
| R2 = ASTAT; |
| CC = P4 == -4; |
| R3 = ASTAT; |
| CC = P4 < -4; |
| R4 = ASTAT; |
| CC = P4 <= -4; |
| R5 = ASTAT; |
| CHECKREG r0, 0x00000020; |
| CHECKREG r1, 0x00000000; |
| CHECKREG r2, 0x00000020; |
| CHECKREG r3, 0x00000020; |
| CHECKREG r4, 0x00000000; |
| CHECKREG r5, 0x00000020; |
| |
| CC = P5 == -1; |
| R0 = ASTAT; |
| CC = P5 < -1; |
| R1 = ASTAT; |
| CC = P5 <= -1; |
| R2 = ASTAT; |
| CC = SP == -2; |
| R3 = ASTAT; |
| CC = SP < -2; |
| R4 = ASTAT; |
| CC = SP <= -2; |
| R5 = ASTAT; |
| CHECKREG r0, 0x00000020; |
| CHECKREG r1, 0x00000000; |
| CHECKREG r2, 0x00000020; |
| CHECKREG r3, 0x00000020; |
| CHECKREG r4, 0x00000000; |
| CHECKREG r5, 0x00000020; |
| |
| CC = FP == -3; |
| R5 = ASTAT; |
| CC = FP < -3; |
| R6 = ASTAT; |
| CC = FP <= -3; |
| R7 = ASTAT; |
| CHECKREG r5, 0x00000020; |
| CHECKREG r6, 0x00000000; |
| CHECKREG r7, 0x00000020; |
| |
| |
| // negative dreg GREATER neg imm3 |
| imm32 p1, -1; |
| imm32 p2, -1; |
| imm32 p3, -2; |
| imm32 p4, -3; |
| imm32 p5, -1; |
| imm32 sp, -2; |
| imm32 fp, -3; |
| CC = P1 == -2; |
| R0 = ASTAT; |
| CC = P1 < -2; |
| R1 = ASTAT; |
| CC = P1 <= -2; |
| R2 = ASTAT; |
| CC = P2 == -3; |
| R3 = ASTAT; |
| CC = P2 < -3; |
| R4 = ASTAT; |
| CC = P2 <= -3; |
| R5 = ASTAT; |
| CHECKREG r0, 0x00000000; |
| CHECKREG r1, 0x00000000; |
| CHECKREG r2, 0x00000000; |
| CHECKREG r3, 0x00000000; |
| CHECKREG r4, 0x00000000; |
| CHECKREG r5, 0x00000000; |
| |
| CC = P3 == -4; |
| R0 = ASTAT; |
| CC = P3 < -4; |
| R1 = ASTAT; |
| CC = P3 <= -4; |
| R2 = ASTAT; |
| CC = P4 == -4; |
| R3 = ASTAT; |
| CC = P4 < -4; |
| R4 = ASTAT; |
| CC = P4 <= -4; |
| R5 = ASTAT; |
| CHECKREG r0, 0x00000000; |
| CHECKREG r1, 0x00000000; |
| CHECKREG r2, 0x00000000; |
| CHECKREG r3, 0x00000000; |
| CHECKREG r4, 0x00000000; |
| CHECKREG r5, 0x00000000; |
| |
| CC = P5 == -2; |
| R0 = ASTAT; |
| CC = P5 < -2; |
| R1 = ASTAT; |
| CC = P5 <= -2; |
| R2 = ASTAT; |
| CC = SP == -3; |
| R3 = ASTAT; |
| CC = SP < -3; |
| R4 = ASTAT; |
| CC = SP <= -3; |
| R5 = ASTAT; |
| CHECKREG r0, 0x00000000; |
| CHECKREG r1, 0x00000000; |
| CHECKREG r2, 0x00000000; |
| CHECKREG r3, 0x00000000; |
| CHECKREG r4, 0x00000000; |
| CHECKREG r5, 0x00000000; |
| |
| CC = FP == -4; |
| R5 = ASTAT; |
| CC = FP < -4; |
| R6 = ASTAT; |
| CC = FP <= -4; |
| R7 = ASTAT; |
| CHECKREG r5, 0x00000000; |
| CHECKREG r6, 0x00000000; |
| CHECKREG r7, 0x00000000; |
| |
| // negative dreg LESS than neg imm3 |
| imm32 p1, -2; |
| imm32 p2, -2; |
| imm32 p3, -3; |
| imm32 p4, -3; |
| imm32 p5, -4; |
| imm32 sp, -4; |
| imm32 fp, -4; |
| imm32 p4, -4; |
| CC = P1 == -1; |
| R0 = ASTAT; |
| CC = P1 < -1; |
| R1 = ASTAT; |
| CC = P1 <= -1; |
| R2 = ASTAT; |
| CC = P2 == -1; |
| R3 = ASTAT; |
| CC = P2 < -1; |
| R4 = ASTAT; |
| CC = P2 <= -1; |
| R5 = ASTAT; |
| CHECKREG r0, 0x00000000; |
| CHECKREG r1, 0x00000020; |
| CHECKREG r2, 0x00000020; |
| CHECKREG r3, 0x00000000; |
| CHECKREG r4, 0x00000020; |
| CHECKREG r5, 0x00000020; |
| |
| CC = P3 == -2; |
| R0 = ASTAT; |
| CC = P3 < -2; |
| R1 = ASTAT; |
| CC = P3 <= -2; |
| R2 = ASTAT; |
| CC = P4 == -2; |
| R3 = ASTAT; |
| CC = P4 < -2; |
| R4 = ASTAT; |
| CC = P4 <= -2; |
| R5 = ASTAT; |
| CHECKREG r0, 0x00000000; |
| CHECKREG r1, 0x00000020; |
| CHECKREG r2, 0x00000020; |
| CHECKREG r3, 0x00000000; |
| CHECKREG r4, 0x00000020; |
| CHECKREG r5, 0x00000020; |
| |
| CC = P5 == -3; |
| R0 = ASTAT; |
| CC = P5 < -3; |
| R1 = ASTAT; |
| CC = P5 <= -3; |
| R2 = ASTAT; |
| CC = SP == -3; |
| R3 = ASTAT; |
| CC = SP < -3; |
| R4 = ASTAT; |
| CC = SP <= -3; |
| 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 < -3; |
| R6 = ASTAT; |
| CC = FP <= -3; |
| R7 = ASTAT; |
| CHECKREG r5, 0x00000000; |
| CHECKREG r6, 0x00000020; |
| CHECKREG r7, 0x00000020; |
| |
| |
| pass |