blob: 5438e91d4a84f56277be5848583045811405777c [file] [log] [blame]
//Original:/proj/frio/dv/testcases/core/c_compi2opd_flags/c_compi2opd_flags.dsp
// Spec Reference: compi2opd dregs += imm7 flags (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, (_VS|_V|_V_COPY|_AC0|_AC0_COPY); //C
CHECKREG r7, (_VS|_V|_V_COPY|_AN); // A
// 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|_V_COPY|_AN);
CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
// AZ for R0
R1 = 0;
ASTAT = R1;
imm32 r1, 0x00000000;
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
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 += 1; // az = 0 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R2 += -1; // az = 1 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
R1 = R2;
R2 += -1; // az = 0 an = 1 ac = 0 av0 = 0
R4 = ASTAT;
R2 += 1; // 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
imm32 r2, 0xffffffff;
R2 += 1; // 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 += -1; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r2, 0xFFFFFFFF;
CHECKREG r1, 0x00000000;
CHECKREG r5, (_AN);
CHECKREG r6, (_AZ);
CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
// AC, AV0 for R2
imm32 r2, 0x7fffffff;
R2 += 1; // az = 0 an = 1 ac = 0 av0 = 1
R7 = ASTAT;
R0 = R2;
R2 += -1; // az = 0 an = 0 ac = 1 av0 = 1
R6 = ASTAT;
R1 = R2;
R2 += -1; // az = 0 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x80000000;
CHECKREG r1, 0x7FFFFFFF;
CHECKREG r2, 0x7FFFFFFE;
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 R2
R2 = 0;
ASTAT = R2;
imm32 r2, 0x80000000;
R2 += -1; // az = 0 an = 0 ac = 1 av0 = 1
R7 = ASTAT;
R0 = R2;
R2 += 1; // az = 1 an = 1 ac = 0 av0 = 1
R6 = ASTAT;
R1 = R2;
R2 += 1; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x7FFFFFFF;
CHECKREG r1, 0x80000000;
CHECKREG r2, 0x80000001;
CHECKREG r5, (_VS|_AN);
CHECKREG r6, (_VS|_V|_V_COPY|_AN);
CHECKREG r7, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
// AZ for R3
imm32 r3, 0x00000000;
ASTAT = R3;
R3 += 0; // az = 1 an = 0 ac = 0 av0 = 0
R7 = ASTAT;
R3 += 1; // az = 0 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R3 += -1; // az = 1 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
R0 = R3;
R3 += -1; // az = 0 an = 1 ac = 0 av0 = 0
R4 = ASTAT;
R3 += 1; // 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 += 1; // 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 += -1; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x00000000;
CHECKREG r3, 0xFFFFFFFF;
CHECKREG r5, (_AN);
CHECKREG r6, (_AZ);
CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
// AC, AV0 for R3
imm32 r3, 0x7fffffff;
R3 += 1; // az = 0 an = 1 ac = 0 av0 = 1
R7 = ASTAT;
R0 = R3;
R3 += -1; // az = 0 an = 0 ac = 1 av0 = 1
R6 = ASTAT;
R1 = R3;
R3 += -1; // az = 0 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x80000000;
CHECKREG r1, 0x7FFFFFFF;
CHECKREG r3, 0x7FFFFFFE;
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 R3
R3 = 0;
ASTAT = R3;
imm32 r3, 0x80000000;
R3 += -1; // az = 0 an = 0 ac = 1 av0 = 1
R7 = ASTAT;
R0 = R3;
R3 += 1; // az = 1 an = 1 ac = 0 av0 = 1
R6 = ASTAT;
R1 = R3;
R3 += 1; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x7FFFFFFF;
CHECKREG r1, 0x80000000;
CHECKREG r3, 0x80000001;
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 += 1; // az = 0 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R4 += -1; // az = 1 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
R1 = R4;
R4 += -1; // az = 0 an = 1 ac = 0 av0 = 0
R3 = ASTAT;
R4 += 1; // 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 += 1; // 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 += -1; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r1, 0x00000000;
CHECKREG r4, 0xFFFFFFFF;
CHECKREG r5, (_AN);
CHECKREG r6, (_AZ);
CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
// AC, AV0 for R4
imm32 r4, 0x7fffffff;
R4 += 1; // az = 0 an = 1 ac = 0 av0 = 1
R7 = ASTAT;
R1 = R4;
R4 += -1; // az = 0 an = 0 ac = 1 av0 = 1
R6 = ASTAT;
R2 = R4;
R4 += -1; // az = 0 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
CHECKREG r1, 0x80000000;
CHECKREG r2, 0x7FFFFFFF;
CHECKREG r4, 0x7FFFFFFE;
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 += -1; // az = 0 an = 0 ac = 1 av0 = 1
R7 = ASTAT;
R1 = R4;
R4 += 1; // az = 1 an = 1 ac = 0 av0 = 1
R6 = ASTAT;
R2 = R4;
R4 += 1; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r1, 0x7FFFFFFF;
CHECKREG r2, 0x80000000;
CHECKREG r4, 0x80000001;
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 += 1; // az = 0 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R5 += -1; // az = 1 an = 0 ac = 1 av0 = 0
R2 = ASTAT;
R0 = R5;
R5 += -1; // az = 0 an = 1 ac = 0 av0 = 0
R4 = ASTAT;
R5 += 1; // 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 += 1; // 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 += -1; // az = 0 an = 1 ac = 0 av0 = 0
R4 = ASTAT;
CHECKREG r0, 0x00000000;
CHECKREG r4, (_AN);
CHECKREG r5, 0xFFFFFFFF;
CHECKREG r6, (_AZ);
CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
// AC, AV0 for R5
imm32 r5, 0x7fffffff;
R5 += 1; // az = 0 an = 1 ac = 0 av0 = 1
R7 = ASTAT;
R0 = R5;
R5 += -1; // az = 0 an = 0 ac = 1 av0 = 1
R6 = ASTAT;
R2 = R5;
R5 += -1; // az = 0 an = 0 ac = 1 av0 = 0
R4 = ASTAT;
CHECKREG r0, 0x80000000;
CHECKREG r2, 0x7FFFFFFF;
CHECKREG r4, (_VS|_AC0|_AC0_COPY);
CHECKREG r5, 0x7FFFFFFE;
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 += -1; // az = 0 an = 0 ac = 1 av0 = 1
R7 = ASTAT;
R0 = R5;
R5 += 1; // az = 1 an = 1 ac = 0 av0 = 1
R6 = ASTAT;
R2 = R5;
R5 += 1; // az = 0 an = 1 ac = 0 av0 = 0
R4 = ASTAT;
CHECKREG r0, 0x7FFFFFFF;
CHECKREG r2, 0x80000000;
CHECKREG r4, (_VS|_AN);
CHECKREG r5, 0x80000001;
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 += 1; // az = 0 an = 0 ac = 0 av0 = 0
R0 = ASTAT;
R6 += -1; // az = 1 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
R1 = R6;
R6 += -1; // az = 0 an = 1 ac = 0 av0 = 0
R4 = ASTAT;
R6 += 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 R6
imm32 r6, 0xffffffff;
R6 += 1; // 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 += -1; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r1, 0x00000000;
CHECKREG r4, (_AZ);
CHECKREG r5, (_AN);
CHECKREG r6, 0xFFFFFFFF;
CHECKREG r7, (_AC0|_AC0_COPY|_AZ);
// AC, AV0 for R6
R6 = 0;
ASTAT = R6;
imm32 r6, 0x7fffffff;
R6 += 1; // az = 0 an = 1 ac = 0 av0 = 1
R7 = ASTAT;
R0 = R6;
R6 += -1; // az = 0 an = 0 ac = 1 av0 = 1
R4 = ASTAT;
R1 = R6;
R6 += -1; // az = 0 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x80000000;
CHECKREG r1, 0x7FFFFFFF;
CHECKREG r4, (_VS|_V|_V_COPY|_AC0|_AC0_COPY);
CHECKREG r5, (_VS|_AC0|_AC0_COPY);
CHECKREG r6, 0x7FFFFFFE;
CHECKREG r7, (_VS|_V|_V_COPY|_AN);
// AZ, AN, AC, AV0 for R6
R6 = 0;
ASTAT = R6;
imm32 r6, 0x80000000;
R6 += -1; // az = 0 an = 0 ac = 1 av0 = 1
R7 = ASTAT;
R0 = R6;
R6 += 1; // az = 1 an = 1 ac = 0 av0 = 1
R4 = ASTAT;
R1 = R6;
R6 += 1; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x7FFFFFFF;
CHECKREG r1, 0x80000000;
CHECKREG r4, (_VS|_V|_V_COPY|_AN);
CHECKREG r5, (_VS|_AN);
CHECKREG r6, 0x80000001;
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 += 1; // az = 0 an = 0 ac = 0 av0 = 0
R6 = ASTAT;
R7 += -1; // az = 1 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
R0 = R7;
R7 += -1; // az = 0 an = 1 ac = 0 av0 = 0
R4 = ASTAT;
R7 += 1; // 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 += 1; // 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 += -1; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x00000000;
CHECKREG r4, (_AC0|_AC0_COPY|_AZ);
CHECKREG r5, (_AN);
CHECKREG r6, (_AZ);
CHECKREG r7, 0xFFFFFFFF;
// AC, AV0 for R7
R7 = 0;
ASTAT = R7;
imm32 r7, 0x7fffffff;
R7 += 1; // az = 0 an = 1 ac = 0 av0 = 1
R4 = ASTAT;
R0 = R7;
R7 += -1; // az = 0 an = 0 ac = 1 av0 = 1
R6 = ASTAT;
R1 = R7;
R7 += -1; // az = 0 an = 0 ac = 1 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x80000000;
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, 0x7FFFFFFE;
// AZ, AN, AC, AV0 for R7
R7 = 0;
ASTAT = R7;
imm32 r7, 0x80000000;
R7 += -1; // az = 0 an = 0 ac = 1 av0 = 1
R4 = ASTAT;
R0 = R7;
R7 += 1; // az = 1 an = 1 ac = 0 av0 = 1
R6 = ASTAT;
R1 = R7;
R7 += 1; // az = 0 an = 1 ac = 0 av0 = 0
R5 = ASTAT;
CHECKREG r0, 0x7FFFFFFF;
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, 0x80000001;
pass