blob: 83bf1b05eeb774ce6f76adfe8f888dc0e96c7715 [file] [log] [blame]
//Original:/proj/frio/dv/testcases/core/c_compi2opd_flags_2/c_compi2opd_flags_2.dsp
// Spec Reference: compi2opd dregs += imm7 flags_2 (az, an, ac, av0)
# mach: bfin
#include "test.h"
.include "testutils.inc"
start
INIT_R_REGS 0;
ASTAT = R0; // initialize astat
// AZ for R0
imm32 r0, 0x00000000;
R0 += 0; // az = 1 an = 0 ac = 0 av0 = 0
R7 = ASTAT;
R0 += 1; // az = 0 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R0 += -1; // az = 1 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
R1 = R0;
R0 += -1; // az = 0 an = 1 ac = 0 av0 = 0
R4 = ASTAT;
R0 += 1; // az = 1 an = 0 ac = 1 av0 = 0
R3 = ASTAT;
CHECKREG r0, 0x00000000;
CHECKREG r1, 0x00000000;
CHECKREG r3, (_AC0|_AC0_COPY|_AZ);
CHECKREG r4, (_AN);
CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
CHECKREG r6, 0x00000000;
CHECKREG r7, (_AZ);
// AN, AC for R0
imm32 r0, 0xffffffff;
R0 += 1; // az = 1 an = 0 ac = 1 av0 = 0
R7 = ASTAT;
R1 = R0;
R0 += 0; // az = 1 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R0 += -1; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0xFFFFFFFF;
CHECKREG r1, 0x00000000;
CHECKREG r5, (_AN);
CHECKREG r6, (_AZ);
CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
// AC, AV0 for R0
imm32 r0, 0x7fffffff;
R0 += 1; // az = 0 an = 1 ac = 0 av0 = 1
R7 = ASTAT;
R1 = R0;
R0 += -1; // az = 0 an = 0 ac = 1 av0 = 1
R6 = ASTAT;
R2 = R0;
R0 += -1; // az = 0 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x7FFFFFFE;
CHECKREG r1, 0x80000000;
CHECKREG r2, 0x7FFFFFFF;
CHECKREG r5, (_VS|_AC0|_AC0_COPY);
CHECKREG r6, (_AC0|_AC0_COPY|_V|_V_COPY|_VS);
CHECKREG r7, (_VS|_V|_V_COPY|_AN);
// AZ, AN, AC, AV0 for R0
R0 = 0;
ASTAT = R0;
imm32 r0, 0x80000000;
R0 += -1; // az = 0 an = 0 ac = 1 av0 = 1
R7 = ASTAT;
R1 = R0;
R0 += 1; // az = 1 an = 1 ac = 0 av0 = 1
R6 = ASTAT;
R2 = R0;
R0 += 1; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x80000001;
CHECKREG r1, 0x7FFFFFFF;
CHECKREG r2, 0x80000000;
CHECKREG r5, (_VS|_AN);
CHECKREG r6, (_VS|_V_COPY|_V|_AN);
CHECKREG r7, (_VS|_V_COPY|_V|_AC0|_AC0_COPY);
// AZ for R0
imm32 r1, 0x00000000;
ASTAT = R1;
R1 += 0; // az = 1 an = 0 ac = 0 av0 = 0
R7 = ASTAT;
R1 += 1; // az = 0 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R1 += -1; // az = 1 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
R0 = R1;
R1 += -1; // az = 0 an = 1 ac = 0 av0 = 0
R4 = ASTAT;
R1 += 1; // az = 1 an = 0 ac = 1 av0 = 0
R3 = ASTAT;
CHECKREG r0, 0x00000000;
CHECKREG r1, 0x00000000;
CHECKREG r3, (_AC0|_AC0_COPY|_AZ);
CHECKREG r4, (_AN);
CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
CHECKREG r6, 0x00000000;
CHECKREG r7, (_AZ);
// AN, AC for R1
r1 = 0;
ASTAT = r1;
imm32 r1, 0xffffffff;
R1 += 1; // az = 1 an = 0 ac = 1 av0 = 0
R7 = ASTAT;
R0 = R1;
R1 += 0; // az = 1 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R1 += -1; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x00000000;
CHECKREG r1, 0xFFFFFFFF;
CHECKREG r5, (_AN);
CHECKREG r6, (_AZ);
CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
// AC, AV0 for R1
imm32 r1, 0x7fffffff;
R1 += 1; // az = 0 an = 1 ac = 0 av0 = 1
R7 = ASTAT;
R0 = R1;
R1 += -1; // az = 0 an = 0 ac = 1 av0 = 1
R6 = ASTAT;
R2 = R1;
R1 += -1; // az = 0 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x80000000;
CHECKREG r1, 0x7FFFFFFE;
CHECKREG r2, 0x7FFFFFFF;
CHECKREG r5, (_VS|_AC0|_AC0_COPY);
CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
CHECKREG r7, (_VS|_V|_V_COPY|_AN);
// AZ, AN, AC, AV0 for R1
R1 = 0;
ASTAT = R1;
imm32 r1, 0x80000000;
R1 += -1; // az = 0 an = 0 ac = 1 av0 = 1
R7 = ASTAT;
R0 = R1;
R1 += 1; // az = 1 an = 1 ac = 0 av0 = 1
R6 = ASTAT;
R2 = R1;
R1 += 1; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x7FFFFFFF;
CHECKREG r1, 0x80000001;
CHECKREG r2, 0x80000000;
CHECKREG r5, (_VS|_AN);
CHECKREG r6, (_VS|_V|_V_COPY|_AN);
CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
// AZ for R2
imm32 r2, 0x00000000;
ASTAT = R2;
R2 += 0; // az = 1 an = 0 ac = 0 av0 = 0
R7 = ASTAT;
R2 += 2; // az = 0 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R2 += -2; // az = 1 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
R1 = R2;
R2 += -2; // az = 0 an = 1 ac = 0 av0 = 0
R4 = ASTAT;
R2 += 2; // az = 1 an = 0 ac = 1 av0 = 0
R3 = ASTAT;
CHECKREG r1, 0x00000000;
CHECKREG r2, 0x00000000;
CHECKREG r3, (_AC0|_AC0_COPY|_AZ);
CHECKREG r4, (_AN);
CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
CHECKREG r6, 0x00000000;
CHECKREG r7, (_AZ);
// AN, AC for R2
R2 = 0;
ASTAT = R2;
imm32 r2, 0xffffffff;
R2 += 2; // az = 1 an = 0 ac = 1 av0 = 0
R7 = ASTAT;
R1 = R2;
R2 += 0; // az = 1 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R2 += -2; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r2, 0xFFFFFFFF;
CHECKREG r1, (_AZ);
CHECKREG r5, (_AN);
CHECKREG r6, 0x00000000;
CHECKREG r7, (_AC0|_AC0_COPY);
// AC, AV0 for R2
imm32 r2, 0x7fffffff;
R2 += 2; // az = 0 an = 1 ac = 0 av0 = 1
R7 = ASTAT;
R0 = R2;
R2 += -2; // az = 0 an = 0 ac = 1 av0 = 1
R6 = ASTAT;
R1 = R2;
R2 += -2; // az = 0 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x80000001;
CHECKREG r1, 0x7FFFFFFF;
CHECKREG r2, 0x7FFFFFFD;
CHECKREG r5, (_AC0|_AC0_COPY|_VS);
CHECKREG r6, (_AC0|_AC0_COPY|_VS|_V|_V_COPY);
CHECKREG r7, (_VS|_V|_V_COPY|_AN);
// AZ, AN, AC, AV0 for R2
R2 = 0;
ASTAT = R2;
imm32 r2, 0x80000000;
R2 += -2; // az = 0 an = 0 ac = 1 av0 = 1
R7 = ASTAT;
R0 = R2;
R2 += 2; // az = 1 an = 1 ac = 0 av0 = 1
R6 = ASTAT;
R1 = R2;
R2 += 2; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x7FFFFFFE;
CHECKREG r1, 0x80000000;
CHECKREG r2, 0x80000002;
CHECKREG r5, (_VS|_AN);
CHECKREG r6, (_VS|_V|_V_COPY|_AN);
CHECKREG r7, (_AC0|_AC0_COPY|_VS|_V|_V_COPY);
// AZ for R3
imm32 r3, 0x00000000;
ASTAT = R3;
R3 += 0; // az = 1 an = 0 ac = 0 av0 = 0
R7 = ASTAT;
R3 += 3; // az = 0 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R3 += -3; // az = 1 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
R0 = R3;
R3 += -3; // az = 0 an = 1 ac = 0 av0 = 0
R4 = ASTAT;
R3 += 3; // az = 1 an = 0 ac = 1 av0 = 0
R2 = ASTAT;
CHECKREG r0, 0x00000000;
CHECKREG r2, (_AC0|_AC0_COPY|_AZ);
CHECKREG r3, 0x00000000;
CHECKREG r4, (_AN);
CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
CHECKREG r6, 0x00000000;
CHECKREG r7, (_AZ);
// AN, AC for R3
imm32 r3, 0xffffffff;
R3 += 3; // az = 1 an = 0 ac = 1 av0 = 0
R7 = ASTAT;
R0 = R3;
R3 += 0; // az = 1 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R3 += -3; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x00000002;
CHECKREG r3, 0xFFFFFFFF;
CHECKREG r5, (_AN);
CHECKREG r6, 0x00000000;
CHECKREG r7, (_AC0|_AC0_COPY);
// AC, AV0 for R3
imm32 r3, 0x7fffffff;
R3 += 3; // az = 0 an = 1 ac = 0 av0 = 1
R7 = ASTAT;
R0 = R3;
R3 += -3; // az = 0 an = 0 ac = 1 av0 = 1
R6 = ASTAT;
R1 = R3;
R3 += -3; // az = 0 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x80000002;
CHECKREG r1, 0x7FFFFFFF;
CHECKREG r3, 0x7FFFFFFC;
CHECKREG r5, (_VS|_AC0|_AC0_COPY);
CHECKREG r6, (_AC0|_AC0_COPY|_VS|_V|_V_COPY);
CHECKREG r7, (_VS|_V|_V_COPY|_AN);
// AZ, AN, AC, AV0 for R3
R3 = 0;
ASTAT = R3;
imm32 r3, 0x80000000;
R3 += -3; // az = 0 an = 0 ac = 1 av0 = 1
R7 = ASTAT;
R0 = R3;
R3 += 3; // az = 1 an = 1 ac = 0 av0 = 1
R6 = ASTAT;
R1 = R3;
R3 += 3; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x7FFFFFFD;
CHECKREG r1, 0x80000000;
CHECKREG r3, 0x80000003;
CHECKREG r5, (_VS|_AN);
CHECKREG r6, (_VS|_V|_V_COPY|_AN);
CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
// AZ for R4
imm32 r4, 0x00000000;
ASTAT = R4;
R4 += 0; // az = 1 an = 0 ac = 0 av0 = 0
R7 = ASTAT;
R4 += 4; // az = 0 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R4 += -4; // az = 1 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
R1 = R4;
R4 += -4; // az = 0 an = 1 ac = 0 av0 = 0
R3 = ASTAT;
R4 += 4; // az = 1 an = 0 ac = 1 av0 = 0
R2 = ASTAT;
CHECKREG r1, 0x00000000;
CHECKREG r2, (_AC0|_AC0_COPY|_AZ);
CHECKREG r3, (_AN);
CHECKREG r4, 0x00000000;
CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
CHECKREG r6, 0x00000000;
CHECKREG r7, (_AZ);
// AN, AC for R4
imm32 r4, 0xffffffff;
R4 += 4; // az = 1 an = 0 ac = 1 av0 = 0
R7 = ASTAT;
R1 = R4;
R4 += 0; // az = 1 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R4 += -4; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r1, 0x00000003;
CHECKREG r4, 0xFFFFFFFF;
CHECKREG r5, (_AN);
CHECKREG r6, 0x00000000;
CHECKREG r7, (_AC0|_AC0_COPY);
// AC, AV0 for R4
imm32 r4, 0x7fffffff;
R4 += 4; // az = 0 an = 1 ac = 0 av0 = 1
R7 = ASTAT;
R1 = R4;
R4 += -4; // az = 0 an = 0 ac = 1 av0 = 1
R6 = ASTAT;
R2 = R4;
R4 += -4; // az = 0 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
CHECKREG r1, 0x80000003;
CHECKREG r2, 0x7FFFFFFF;
CHECKREG r4, 0x7FFFFFFB;
CHECKREG r5, (_VS|_AC0|_AC0_COPY);
CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
CHECKREG r7, (_VS|_V|_V_COPY|_AN);
// AZ, AN, AC, AV0 for R4
R4 = 0;
ASTAT = R4;
imm32 r4, 0x80000000;
R4 += -4; // az = 0 an = 0 ac = 1 av0 = 1
R7 = ASTAT;
R1 = R4;
R4 += 4; // az = 1 an = 1 ac = 0 av0 = 1
R6 = ASTAT;
R2 = R4;
R4 += 4; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r1, 0x7FFFFFFC;
CHECKREG r2, 0x80000000;
CHECKREG r4, 0x80000004;
CHECKREG r5, (_VS|_AN);
CHECKREG r6, (_VS|_V|_V_COPY|_AN);
CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
// AZ for R5
imm32 r5, 0x00000000;
ASTAT = R5;
R5 += 0; // az = 1 an = 0 ac = 0 av0 = 0
R7 = ASTAT;
R5 += 5; // az = 0 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R5 += -5; // az = 1 an = 0 ac = 1 av0 = 0
R2 = ASTAT;
R0 = R5;
R5 += -5; // az = 0 an = 1 ac = 0 av0 = 0
R4 = ASTAT;
R5 += 5; // az = 1 an = 0 ac = 1 av0 = 0
R3 = ASTAT;
CHECKREG r0, 0x00000000;
CHECKREG r2, (_AC0|_AC0_COPY|_AZ);
CHECKREG r3, (_AC0|_AC0_COPY|_AZ);
CHECKREG r4, (_AN);
CHECKREG r5, 0x00000000;
CHECKREG r6, 0x00000000;
CHECKREG r7, (_AZ);
// AN, AC for R5
imm32 r5, 0xffffffff;
R5 += 5; // az = 1 an = 0 ac = 1 av0 = 0
R7 = ASTAT;
R0 = R5;
R5 += 0; // az = 1 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R5 += -5; // az = 0 an = 1 ac = 0 av0 = 0
R4 = ASTAT;
CHECKREG r0, 0x00000004;
CHECKREG r4, (_AN);
CHECKREG r5, 0xFFFFFFFF;
CHECKREG r6, 0x00000000;
CHECKREG r7, (_AC0|_AC0_COPY);
// AC, AV0 for R5
imm32 r5, 0x7fffffff;
R5 += 5; // az = 0 an = 1 ac = 0 av0 = 1
R7 = ASTAT;
R0 = R5;
R5 += -5; // az = 0 an = 0 ac = 1 av0 = 1
R6 = ASTAT;
R2 = R5;
R5 += -5; // az = 0 an = 0 ac = 1 av0 = 0
R4 = ASTAT;
CHECKREG r0, 0x80000004;
CHECKREG r2, 0x7FFFFFFF;
CHECKREG r4, (_VS|_AC0|_AC0_COPY);
CHECKREG r5, 0x7FFFFFFA;
CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
CHECKREG r7, (_VS|_V|_V_COPY|_AN);
// AZ, AN, AC, AV0 for R5
R5 = 0;
ASTAT = R5;
imm32 r5, 0x80000000;
R5 += -5; // az = 0 an = 0 ac = 1 av0 = 1
R7 = ASTAT;
R0 = R5;
R5 += 5; // az = 1 an = 1 ac = 0 av0 = 1
R6 = ASTAT;
R2 = R5;
R5 += 5; // az = 0 an = 1 ac = 0 av0 = 0
R4 = ASTAT;
CHECKREG r0, 0x7FFFFFFB;
CHECKREG r2, 0x80000000;
CHECKREG r4, (_VS|_AN);
CHECKREG r5, 0x80000005;
CHECKREG r6, (_VS|_V|_V_COPY|_AN);
CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
// AZ for R6
imm32 r6, 0x00000000;
ASTAT = R6;
R6 += 0; // az = 1 an = 0 ac = 0 av0 = 0
R7 = ASTAT;
R6 += 6; // az = 0 an = 0 ac = 0 av0 = 0
R0 = ASTAT;
R6 += -6; // az = 1 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
R1 = R6;
R6 += -6; // az = 0 an = 1 ac = 0 av0 = 0
R4 = ASTAT;
R6 += 6; // az = 1 an = 0 ac = 1 av0 = 0
R3 = ASTAT;
CHECKREG r0, 0x00000000;
CHECKREG r1, 0x00000000;
CHECKREG r3, (_AC0|_AC0_COPY|_AZ);
CHECKREG r4, (_AN);
CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
CHECKREG r6, 0x00000000;
CHECKREG r7, (_AZ);
// AN, AC for R6
imm32 r6, 0xffffffff;
R6 += 6; // az = 1 an = 0 ac = 1 av0 = 0
R7 = ASTAT;
R1 = R6;
R6 += 0; // az = 1 an = 0 ac = 0 av0 = 0
R4 = ASTAT;
R6 += -6; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r1, 0x00000005;
CHECKREG r4, 0x00000000;
CHECKREG r5, (_AN);
CHECKREG r6, 0xFFFFFFFF;
CHECKREG r7, (_AC0|_AC0_COPY);
// AC, AV0 for R6
imm32 r6, 0x7fffffff;
R6 += 6; // az = 0 an = 1 ac = 0 av0 = 1
R7 = ASTAT;
R0 = R6;
R6 += -6; // az = 0 an = 0 ac = 1 av0 = 1
R4 = ASTAT;
R1 = R6;
R6 += -6; // az = 0 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x80000005;
CHECKREG r1, 0x7FFFFFFF;
CHECKREG r4, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
CHECKREG r5, (_VS|_AC0|_AC0_COPY);
CHECKREG r6, 0x7FFFFFF9;
CHECKREG r7, (_VS|_V|_V_COPY|_AN);
// AZ, AN, AC, AV0 for R6
R6 = 0;
ASTAT = R6;
imm32 r6, 0x80000000;
R6 += -6; // az = 0 an = 0 ac = 1 av0 = 1
R7 = ASTAT;
R0 = R6;
R6 += 6; // az = 1 an = 1 ac = 0 av0 = 1
R4 = ASTAT;
R1 = R6;
R6 += 6; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x7FFFFFFA;
CHECKREG r1, 0x80000000;
CHECKREG r4, (_VS|_V|_V_COPY|_AN);
CHECKREG r5, (_VS|_AN);
CHECKREG r6, 0x80000006;
CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
// AZ for R7
imm32 r7, 0x00000000;
ASTAT = R7;
R7 += 0; // az = 1 an = 0 ac = 0 av0 = 0
R1 = ASTAT;
R7 += 7; // az = 0 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R7 += -7; // az = 1 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
R0 = R7;
R7 += -7; // az = 0 an = 1 ac = 0 av0 = 0
R4 = ASTAT;
R7 += 7; // az = 1 an = 0 ac = 1 av0 = 0
R2 = ASTAT;
CHECKREG r0, 0x00000000;
CHECKREG r1, (_AZ);
CHECKREG r2, (_AC0|_AC0_COPY|_AZ);
CHECKREG r4, (_AN);
CHECKREG r5, (_AC0|_AC0_COPY|_AZ);
CHECKREG r6, 0x00000000;
CHECKREG r7, 0x00000000;
// AN, AC for R7
imm32 r7, 0xffffffff;
R7 += 7; // az = 1 an = 0 ac = 1 av0 = 0
R4 = ASTAT;
R0 = R7;
R7 += 0; // az = 1 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R7 += -7; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x00000006;
CHECKREG r4, (_AC0|_AC0_COPY);
CHECKREG r5, (_AN);
CHECKREG r6, 0x00000000;
CHECKREG r7, 0xFFFFFFFF;
// AC, AV0 for R7
imm32 r7, 0x7fffffff;
R7 += 7; // az = 0 an = 1 ac = 0 av0 = 1
R4 = ASTAT;
R0 = R7;
R7 += -7; // az = 0 an = 0 ac = 1 av0 = 1
R6 = ASTAT;
R1 = R7;
R7 += -7; // az = 0 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x80000006;
CHECKREG r1, 0x7FFFFFFF;
CHECKREG r4, (_VS|_V|_V_COPY|_AN);
CHECKREG r5, (_VS|_AC0|_AC0_COPY);
CHECKREG r6, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
CHECKREG r7, 0x7FFFFFF8;
// AZ, AN, AC, AV0 for R7
R7 = 0;
ASTAT = R7;
imm32 r7, 0x80000000;
R7 += -7; // az = 0 an = 0 ac = 1 av0 = 1
R4 = ASTAT;
R0 = R7;
R7 += 7; // az = 1 an = 1 ac = 0 av0 = 1
R6 = ASTAT;
R1 = R7;
R7 += 7; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x7FFFFFF9;
CHECKREG r1, 0x80000000;
CHECKREG r4, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
CHECKREG r5, (_VS|_AN);
CHECKREG r6, (_VS|_V|_V_COPY|_AN);
CHECKREG r7, 0x80000007;
pass